qymljy 3 jaren geleden
bovenliggende
commit
81e96e5b8f

+ 0 - 267
src/Form/salerPrivatecustomer/detail/edit.vue

@@ -1,267 +0,0 @@
-<template>
-  <div class="inline-16">
-    <el-button size="mini" :disabled="dataToForm.datastatus === 2" :type="btnType?btnType:'text'"   @click="show" >编 辑</el-button>
-    <el-dialog title="编 辑" :visible.sync="dialogFormVisible" width="600px">
-      <div slot="title" style="font-size: 15px">
-        编辑客户
-      </div>
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
-          <el-col :span="20">
-            <el-form-item label="客户名称" prop="enterprisename">
-              <el-input v-model="form.enterprisename" placeholder="请输入客户名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="客户类型" >
-              <el-select v-model="form.type" placeholder="请选择客户类型" style="width: 345px">
-                <el-option
-                    v-for="item in options.type"
-                    :key="item.value"
-                    :label="item.value"
-                    :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="客户来源" >
-              <el-input v-model="form.source" placeholder="请输入客户来源"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="上级客户" >
-              <el-select v-model="form.parentid" placeholder="请选择上级客户" style="width: 345px">
-                <el-option
-                    v-for="item in options.parentCustomers"
-                    :key="item.sa_customersid"
-                    :label="item.enterprisename"
-                    :value="item.sa_customersid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="15">
-            <el-form-item label="省市县" >
-              <el-cascader
-                  style="width: 345px"
-                  v-model="form.value"
-                  :options="basicData.data().areaData"
-                  @change="cascaderChange" clearable>
-              </el-cascader>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="企业地址" >
-              <el-input v-model="form.address" placeholder="请输入企业简称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="企业简称" >
-              <el-input v-model="form.abbreviation" placeholder="请输入企业简称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="企业税号" >
-              <el-input v-model="form.taxno" placeholder="请输入企业税号"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="客户等级" >
-              <el-select v-model="form.grade" placeholder="请选择客户等级" style="width: 345px">
-                <el-option
-                    v-for="item in options.gradeData"
-                    :key="item.rowindex"
-                    :label="item.value"
-                    :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="所属行业" >
-              <el-select v-model="form.industry" placeholder="请选择所属行业" style="width: 345px">
-                <el-option
-                    v-for="item in options.industryData"
-                    :key="item.value"
-                    :label="item.value"
-                    :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="联系方式" >
-              <el-input v-model="form.phonenumber" placeholder="请输入联系方式"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
-      <div class="dialog-footer">
-        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import {mapGetters} from 'vuex'
-export default {
-  name: "edit",
-  props:['data','btnType'],
-  data(){
-    return {
-      dialogFormVisible:false,
-      form:{
-        value:[],
-        sa_customersid:0,
-        sys_enterpriseid:0,
-        enterprisename:'',
-        type:'',
-        source:'',
-        parentid:'',
-        abbreviation:'',
-        taxno:'',
-        grade:'',
-        industry:'',
-        phonenumber:'',
-        province:'',
-        city:'',
-        county:'',
-        address:'',
-        datastatus:''
-      },
-      value:'',
-      options:{
-        type:[],
-        parentCustomers:[],
-        gradeData:[],
-        industryData:[]
-      },
-      rules:{
-        enterprisename: [
-          { required: true, message: '输入客户', trigger: 'blur' },
-        ],
-      }
-    }
-  },
-  computed:{
-    ...mapGetters ({
-      dataToForm:'dataToForm'
-    })
-  },
-  methods:{
-    show(){
-      this.dialogFormVisible = true
-      this.typeList()
-      this.parentCustomer()
-      this.gradeList()
-      this.industryList()
-      let arr = ['province','city','county']
-      arr.forEach(e=>{
-        this.data[e] !== '' ?this.form.value.push(this.data[e]):''
-      })
-      this.form = Object.assign({},this.form,this.data)
-      if (this.form.parentid === 0){
-        this.form.parentid = '未选择'
-      }
-    },
-    onSubmit(){
-      if (this.form.parentid === '未选择'){
-        this.form.parentid = 0
-      }
-      console.log(this.form)
-      this.$refs['form'].validate(async (valid) => {
-        if (!valid) return false
-        const res = await this.$api.requested({
-          "id": 20221012163902,
-          "content": this.form
-        })
-        this.tool.showMessage(res, ()=>{
-          this.$emit('onSuccess')
-          this.$refs['form'].resetFields();
-          this.dialogFormVisible = false
-        })
-      })
-
-    },
-    /*客户类型列表*/
-    async typeList(){
-      const res = await this.$api.requested({
-        "classname": "sysmanage.develop.optiontype.optiontype",
-        "method": "optiontypeselect",
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 20,
-          "typename": "customertypemx",
-          "parameter": {
-            "siteid": "YOSTEST2"
-          }
-        }
-      })
-      this.options.type = res.data
-    },
-
-    /*上级客户*/
-    async parentCustomer(){
-      const res = await this.$api.requested({
-        "id": 20221014101002,
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 20,
-          "where": {
-            "condition": ""
-          }
-        }
-      })
-      console.log(res)
-      this.options.parentCustomers = res.data
-    },
-    /*省市县*/
-    cascaderChange (val) {
-      if (val.length === 1)
-        return this.form = Object.assign({},this.form,{province:val[0],city:'',county:''})
-
-      this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
-
-    },
-    /*客户等级*/
-    async gradeList(){
-      const res = await this.$api.requested({
-        "classname": "sysmanage.develop.optiontype.optiontype",
-        "method": "optiontypeselect",
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 20,
-          "typename": "customergrade",
-          "parameter": {
-            "siteid": "YOSTEST2"
-          }
-        }
-      })
-      this.options.gradeData = res.data
-    },
-    /*行业列表*/
-    async industryList(){
-      const res = await this.$api.requested({
-        "classname": "sysmanage.develop.optiontype.optiontype",
-        "method": "optiontypeselect",
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 20,
-          "typename": "industry",
-          "parameter": {
-            "siteid": "YOSTEST2"
-          }
-        }
-      })
-      this.options.industryData = res.data
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 1 - 7
src/Form/salerPrivatecustomer/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-button size="mini" :disabled="dataToForm.datastatus === 2" :type="btnType?btnType:'text'"   @click="show" >编 辑</el-button>
+    <el-button size="mini" :disabled="data.datastatus === 2" :type="btnType?btnType:'text'"   @click="show" >编 辑</el-button>
     <el-dialog title="编 辑" :visible.sync="dialogFormVisible" width="600px">
       <div slot="title" style="font-size: 15px">
         编辑客户
@@ -106,7 +106,6 @@
 </template>
 
 <script>
-import {mapGetters} from 'vuex'
 export default {
   name: "edit",
   props:['data','btnType'],
@@ -146,11 +145,6 @@ export default {
       }
     }
   },
-  computed:{
-    ...mapGetters ({
-      dataToForm:'dataToForm'
-    })
-  },
   methods:{
     show(){
       this.dialogFormVisible = true

+ 91 - 0
src/SDrpManagement/salerPrivatecustomer/detail/components/scopeOfAuthority/index.vue

@@ -0,0 +1,91 @@
+<template>
+  <div class="container normal-panel ">
+    <div class="tab flex-align-center">
+      <p :class="activeName === '组织架构'?'tab-act':''" @click="tabChange('组织架构')">组织架构</p>
+      <p :class="activeName === '营销组织'?'tab-act':''" @click="tabChange('营销组织')">营销组织</p>
+    </div>
+    <div style="padding:16px 0;">
+      <dep v-show="activeName === '组织架构'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" :obiectId="obiectId" @onParams="onParams"></dep>
+      <mar v-show="activeName === '营销组织'" ></mar>
+    </div>
+  </div>
+</template>
+
+<script>
+import dep from './modules/dep_auth'
+import mar from './modules/mar_auth'
+export default {
+  name: "index",
+  props:['defaultData','scrollHeight','appidname','dataid','obiectName','obiectId'],
+  data(){
+    return {
+      activeName:'组织架构',
+      param:{
+        "isonlymanager_dept":false,
+        "isonlymanager_agent":false,
+        "departmentid":[],
+        "hrid":[],
+        "sa_saleareaid":[],
+        "sa_agentsid":[]
+      }
+    }
+  },
+  components:{
+    dep,
+    mar
+  },
+  methods:{
+    onParams (dep,men,isonlymanager) {
+      console.log(dep,men,isonlymanager)
+      this.param.isonlymanager_dept = isonlymanager
+      this.param.hrid = men
+      this.param.departmentid = dep
+      this.param[this.appidname] = this.dataid
+      this.$emit('onChecked',this.param)
+    },
+    onAgentParams (area,agent,isonlymanager) {
+      console.log(area,agent,isonlymanager)
+      this.param.isonlymanager_agent = isonlymanager
+      this.param.sa_agentsid = agent
+      this.param.sa_saleareaid = area
+      this.$emit('onChecked',this.param)
+    },
+    tabChange (val) {
+      this.activeName = val
+      this.$emit('tabChange')
+    },
+  },
+  watch:{
+    defaultData (val) {
+      this.param = Object.assign({},this.param,val)
+      this.$emit('onChecked',this.param)
+    }
+  }
+}
+</script>
+<style>
+.panel .el-checkbox__input.is-checked+.el-checkbox__label{
+  color:#777 !important;
+}
+</style>
+<style scoped>
+.panel{
+  border:1px solid #CCCCCC;
+  border-radius: 4px;
+}
+.tab p{
+  flex:1;
+  height: 39px;
+  line-height: 39px;
+  text-align: center;
+  font-weight: 500;
+  font-size: 14px;
+  color:#999;
+  border-bottom: 2px solid #eeeeee;
+  cursor:pointer;
+}
+.tab-act{
+  color:#3874F6 !important;
+  border-bottom: 2px solid #3874F6 !important;
+}
+</style>

+ 266 - 0
src/SDrpManagement/salerPrivatecustomer/detail/components/scopeOfAuthority/modules/dep_auth.vue

@@ -0,0 +1,266 @@
+<template>
+  <div>
+    <el-row :gutter="20">
+      <el-col :span="12">
+        <div class="tree-panel">
+          <el-tree
+              ref="tree"
+              :data="deplist"
+              node-key="departmentid"
+              default-expand-all
+              highlight-current
+              :check-strictly="true"
+              :check-on-click-node="false"
+              :expand-on-click-node="false"
+              :show-checkbox="false"
+              @node-click="nodeClick"
+              @check="nodeCheck"
+              @check-change="checkChange">
+            <span class="custom-tree-node" slot-scope="{ node, data }">
+              <span>{{ node.label }} &nbsp;<i v-if="data.status === 1" class="el-icon-user-solid"></i></span>
+              <span>
+                <slot name="operation" :data="data"></slot>
+              </span>
+            </span>
+          </el-tree>
+        </div>
+      </el-col>
+      <el-col :span="12">
+<!--        <div class="flex-align-center flex-between normal-margin">-->
+<!--          <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>-->
+<!--          <el-checkbox v-model="isonlymanager_dept" @change="$emit('onParams',departmentids,checkedMenbers,isonlymanager_dept)">仅组织负责人可见</el-checkbox>-->
+<!--        </div>-->
+        <div>
+          <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
+          <div :style="{ height: scrollHeight?scrollHeight:'400px'}"  style="overflow-y:scroll">
+            <el-radio-group :disabled="pageOnlyRead" v-model="checkedMenbers" @change="handleCheckedChange">
+              <div style="margin-bottom:10px" v-for="item in menberData" :key="item.index">
+                <el-radio v-if="searchValue" v-show="item.name === searchValue" :label="item.hrid">{{item.name}}</el-radio>
+                <el-radio v-else :label="item.hrid">{{item.name}}</el-radio>
+              </div>
+            </el-radio-group>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+export default {
+  name: "dep_auth",
+  props:["defaultData",'scrollHeight','obiectName','obiectId'],
+  components:{
+  },
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
+  data () {
+    return {
+      deplist:[], // 部门树状结构数据
+      responseData:[], // 部门信息
+      menberData:[], // 人员信息
+      checkedMenbers:[], // 授权人员信息
+      departmentids:[], // 选中的部门
+      onCheckedMenber:[], // 当前查询人员列表选中的人员
+      searchValue:'', // 搜索人员
+      clickdepid:'', // 点击的部门id
+      isonlymanager_dept:false,
+      checkAll:false,
+      isIndeterminate:false,
+    }
+  },
+  methods:{
+    // 查询部门
+    async department () {
+      console.log(this.$route.query.id,this.obiectId)
+      const res = await this.$api.requested({
+        "classname": "webmanage.department.department",
+        "method": "querydepartment_auth",
+        "content": {
+          "obiectId":this.$route.query.id?this.$route.query.id:this.obiectId,
+          "obiectName": this.obiectName
+        },
+
+      })
+      // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
+      this.deplist = this.createMenu(res.data)
+      this.$emit('onClick',{data:this.deplist[0],parent:[]})
+
+      // 如果存在默认组织数据就执行
+    },
+
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        var elNode = {
+          label: node["depname"],
+          parentid:node['parentid'],
+          departmentid:node["departmentid"],
+          value:node["departmentid"],
+          remarks:node["remarks"],
+          isused:node["isused"],
+          changedate:node['changedate'],
+          changeby:node['changeby'],
+          createdate:node['createdate'],
+          createby:node['createby'],
+          depno:node['depno'],
+          status:node['status'],
+          disabled:that.pageOnlyRead,
+          children: []
+        }
+
+        if (node.subdep && node.subdep.length > 0) {
+          // 如果存在子节点
+          for (var index = 0; index < node.subdep.length; index++) {
+            // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+            elNode.children.push(convertToElementTree(node.subdep[index]));
+          }
+        }
+        return elNode;
+      }
+      array.forEach((element) => {
+        arr.push(convertToElementTree(element))
+      });
+      return arr
+    },
+
+    // 根据组织架构范围查询人员
+    async menberList (val) {
+      let param = {
+        "classname": "webmanage.hr.hr",
+        "method": "query_hrList",
+        "content": {
+          "nocahe":true,
+          "pageNumber": 1,
+          "pageSize": 10000,
+          "departmentids":val,
+          "containssub":0,
+          "where": {
+            "condition": ""
+          }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.menberData = res.data
+      console.log(this.menberData)
+      this.checkedmenber()
+    },
+    // 获取当前查询的人员范围选中的人员
+    checkedmenber () {
+      let hrid = this.defaultData.hrid
+      let arr = []
+      hrid.filter(e=>{
+        this.menberData.forEach(m=>{
+          if (e === m.hrid) {
+            arr.push(e)
+          }
+        })
+      })
+      this.onCheckedMenber = arr
+    },
+    // 点击部门
+    nodeClick (row,node,comp) {
+      this.checkAll = false
+      this.clickdepid = row.departmentid
+      this.menberList([row.departmentid])
+      console.log(this.clickdepid)
+      // this.onCheckedMenber.length === this.menberData.length?this.checkAll = true:this.checkAll = false
+    },
+    // 勾选部门
+    nodeCheck (checkedNodes,checkedKeys,halfCheckedNodes,halfCheckedKeys) {
+    },
+    // 监听部门勾选变化
+    checkChange (a,b,c) {
+      let arr = this.departmentids.filter((e)=>{
+        if (e !== a.departmentid) return e
+      })
+      if (b) {
+        if (this.clickdepid === a.departmentid) {
+          let Adata = this.checkedMenbers.filter(itemF=>!this.onCheckedMenber.some(ele=>ele===itemF))
+          this.checkedMenbers = Adata
+        }
+
+        this.menberData = []
+        this.departmentids.push(a.departmentid)
+      } else {
+        this.departmentids = arr
+      }
+      this.departmentids = [...new Set(this.departmentids)]
+      this.$refs.tree.setCheckedKeys(this.departmentids)
+      this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+    },
+    // 勾选人员
+    handleCheckedChange (val) {
+      let arr = this.departmentids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr)
+
+      this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+    },
+    // 执行全选
+    handleCheckAllChange(val) {
+      let arr = this.menberData.map(e=>{
+        return e.hrid
+      })
+      let arr1 = this.departmentids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr1)
+      this.isIndeterminate = false;
+      if (this.checkAll) {
+        this.checkedMenbers = this.checkedMenbers.concat(arr)
+        this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+      } else {
+        let Adata = this.checkedMenbers.filter(itemF=>!arr.some(ele=>ele===itemF))
+        this.checkedMenbers = Adata
+        this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+      }
+    },
+  },
+  mounted () {
+    setTimeout(() => {
+      this.department()
+    }, 1000);
+  },
+  watch:{
+    defaultData (val) {
+      this.departmentids = val.departmentid
+      this.checkedMenbers = val.hrid
+      this.isonlymanager_dept = val.isonlymanager_dept
+      this.$refs.tree.setCheckedKeys(val.departmentid)
+      this.department()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.tree-panel .el-tree {
+  background: none;
+}
+.custom-tree-node {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 14px;
+  padding-right: 8px;
+  background: none;
+}
+</style>
+  <style scoped>
+  .tree-panel{
+    padding: 16px;
+    font-size: 14px;
+    /* width:300px; */
+    background: #FAFAFA;
+  }
+</style>

+ 13 - 0
src/SDrpManagement/salerPrivatecustomer/detail/components/scopeOfAuthority/modules/mar_auth.vue

@@ -0,0 +1,13 @@
+<template>
+  <div>营销组织</div>
+</template>
+
+<script>
+export default {
+  name: "mar_auth"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 38 - 165
src/SDrpManagement/salerPrivatecustomer/detail/customerDetail.vue

@@ -3,7 +3,7 @@
     <basicDetails
         ref="details"
         :titleText="mainData.enterprisename"
-        formPath="salerPrivatecustomer/detail"
+        formPath="salerPrivatecustomer"
         :editData="mainData"
         :mainAreaData="mainAreaData"
         turnPageId="20221012164402"
@@ -22,29 +22,32 @@
         <!-- 此区域提供了自定义操作按钮 -->
         <el-popover
             placement="bottom"
-            width="50">
+            width="50"
+            trigger="focus"
+            v-model="visible"
+        >
           <div class="normal-margin">
-            <transactionUser></transactionUser>
+            <transactionUser @onshow="show"></transactionUser>
           </div>
           <div class="normal-margin">
-            <el-button style="width:100%" size="mini" block @click="transactionStatusShow">更改成交状态</el-button>
+            <transaction_status :id="mainData.sa_customersid" @onshow="onSuccess" @shareSuccess="onSuccess"></transaction_status>
           </div>
           <div class="normal-margin" v-show="mainData.datastatus === 0">
-            <el-button style="width:100%" size="mini" block @click="dataStatus(2)">锁定</el-button>
+            <lock  :id="mainData.sa_customersid" @onshow="onSuccess"></lock>
           </div>
           <div class="normal-margin" v-show="mainData.datastatus === 2">
-            <el-button style="width:100%" size="mini" block @click="dataStatus(0)">解锁</el-button>
+            <unlock :id="mainData.sa_customersid" @onshow="onSuccess"></unlock>
           </div>
           <div class="normal-margin">
-            <el-button style="width:100%" size="mini" block @click="handleClose(1)">转移</el-button>
+            <share :id="mainData.sa_customersid" @onshow="onSuccess" @shareSuccess="onSuccess"></share>
           </div>
           <div class="normal-margin">
-            <el-button style="width:100%" size="mini" block @click="handleClose(2)">退回</el-button>
+            <send_back :id="mainData.sa_customersid" @onshow="onSuccess" @backSuccess="onSuccess"></send_back>
           </div>
           <div class="normal-margin" v-show="mainData.datastatus !== 1">
-            <el-button style="width:100%" size="mini" block @click="handleClose(3)">作废</el-button>
+            <to_void :id="mainData.sa_customersid" @onshow="onSuccess" @toVoidSuccess="onSuccess"></to_void>
           </div>
-          <el-button size="mini" slot="reference" icon="el-icon-more"></el-button>
+          <el-button size="mini" slot="reference" icon="el-icon-more" @click="visible = !visible"></el-button>
         </el-popover>
       </div>
       <div slot="slot0" >
@@ -57,31 +60,6 @@
         <address_manage :data="this.$route.query.data"></address_manage>
       </div>
     </basicDetails>
-    <el-dialog title="更改成交状态" :visible.sync="dialogFormVisible" width="500px">
-      <div slot="title" style="font-size: 15px">
-        更改成交状态
-      </div>
-      <el-row :gutter="20">
-        <el-form :model="form"  ref="form" label-width="120px" label-position="left" size="mini">
-          <el-col :span="20">
-            <el-form-item label="成交状态" >
-              <el-select v-model="form.status" placeholder="请选择成交状态">
-                <el-option
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.value"
-                    :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
-      <div class="dialog-footer">
-        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="transactionStatus" class="normal-btn-width btn-warning">确 定</el-button>
-      </div>
-    </el-dialog>
   </div>
 </template>
 
@@ -89,7 +67,13 @@
 import detailed from './modules/detailedData'
 import contacts from './modules/contacts/list'
 import address_manage from './modules/addressManage/list'
-import transactionUser from "./components/transactionUser";
+import transactionUser from "./modules/operation/transactionUser";
+import lock from './modules/operation/lock'
+import unlock from './modules/operation/unlock'
+import share from './modules/operation/share'
+import send_back from './modules/operation/sendBack'
+import to_void from './modules/operation/toVoid'
+import transaction_status from './modules/operation/transactionStatus'
 export default {
   name: "detail",
   data() {
@@ -97,6 +81,7 @@ export default {
       mainData:{},
       mainAreaData:[],
       tags:{},
+      visible:false,
       dialogFormVisible:false,
       dialogFormLeader:false,
       form:{
@@ -104,24 +89,19 @@ export default {
         userid:''
       },
       users:[],
-      options:[
-        {
-          label:'未成交',
-          value:'未成交'
-        },
-        {
-          label:'已成交',
-          value:'已成交'
-        },
-        {
-          label:'多次成交',
-          value:'多次成交'
-        }
-      ]
     }
   },
   components:{
-    detailed,contacts,address_manage,transactionUser
+    detailed,
+    contacts,
+    address_manage
+    ,transactionUser,
+    lock,
+    unlock,
+    share,
+    send_back,
+    to_void,
+    transaction_status
   },
   methods:{
     async queryMainData(id) {
@@ -135,10 +115,12 @@ export default {
       this.$refs['details'].param.content.type = this.$route.query.tabIndex
       this.$refs['details'].param.content.isExport = false
       this.$refs['details'].param.content.sa_customersid = [this.mainData.sa_customersid]
-      this.$store.dispatch('sendDataToForm',this.mainData)
       this.changeDataStructure()
       this.queryTags(this.mainData.sa_customersid)
     },
+    show(){
+      this.visible = false
+    },
     changeDataStructure() {
       this.mainAreaData = [
         {
@@ -190,119 +172,10 @@ export default {
       })
       this.tags = res.data
     },
-    /*负责人列表*/
-    async userList(){
-      this.dialogFormLeader = true
-      const res = await this.$api.requested({
-        "id": 20221020083902,
-        "content": {
-          "pageNumber": 1,
-          "pageSize": 20,
-          "where": {
-            "condition": ""
-          }
-        },
-      })
-      console.log(res)
-      this.users = res.data
-    },
-    /*更换负责人*/
-    async transactionUser(){
-      console.log(this.form.userid)
-      const res = await this.$api.requested({
-        "id": 20220930103701,
-        "content": {
-          "ownertable":this.$route.query.tag[0].ownertable,
-          "ownerid":this.$route.query.tag[0].ownerid,
-          "userid":this.form.userid
-        }
-      })
-      console.log(res)
-      this.tool.showMessage(res,()=>{
-        this.$emit('onSuccess')
-        this.dialogFormLeader = false
-      })
-
-    },
-    handleClose(id) {
-      if (id === 1){
-        this.$confirm('确认进行转移操作嘛?')
-            .then(_ => {
-              this.transfer()
-            })
-            .catch(_ => {});
-      }else if(id === 2){
-        this.$confirm('确认进行退回操作嘛?')
-            .then(_ => {
-              this.goBack()
-            })
-            .catch(_ => {});
-      }else if(id === 3){
-        this.$confirm('确认进行作废操作嘛?')
-            .then(_ => {
-              this.dataStatus(1)
-            })
-            .catch(_ => {});
-      }
-
-    },
-    /*转移*/
-    async transfer(){
-      const res = await this.$api.requested({
-        "id": 20221014102502,
-        "content": {
-          "sa_customerpoolid":this.mainData.sa_customerpoolid,//公海池id
-          "sa_customersids":this.mainData.sa_customersids//客户id
-        },
-      })
-      this.tool.showMessage(res,()=>{
-        this.$emit('onSuccess')
-      })
-    },
-    /*退回*/
-    async goBack(){
-      const res = await this.$api.requested({
-        "id": 20221014102602,
-        "content": {
-          "sa_customerpoolid": [this.mainData.sa_customerpoolid],
-          "sa_customersids": this.mainData.sa_customersids
-        },
-      })
-      this.tool.showMessage(res,()=>{
-        this.$emit('onSuccess')
-      })
-    },
-    transactionStatusShow(){
-      this.dialogFormVisible = true
-    },
-    /*更改成交状态*/
-    async transactionStatus(){
-      const res = await this.$api.requested({
-        "id": 20221012164102,
-        "content": {
-          "sa_customersids": [this.mainData.sa_customersid],
-          "tradingstatus": this.form.status//(未成交、已成交、多次成交)
-        },
-      })
-      this.tool.showMessage(res,()=>{
-        this.dialogFormVisible = false
-        this.$emit('onSuccess')
-      })
-    },
-    /*数据状态变更*/
-    async dataStatus(status){
-      const res = await this.$api.requested({
-        "id": 20221012164002,
-        "content": {
-          "sa_customersids": [this.mainData.sa_customersid],
-          "datastatus": status//(0:正常;1:作废;2:锁定)
-        },
-      })
-      this.tool.showMessage(res,()=>{
-        this.dialogFormVisible = false
-        this.queryMainData(this.$route.query.id)
-        this.$emit('onSuccess')
-      })
+    onSuccess(){
+      this.visible = false
+      this.queryMainData(this.$route.query.id)
+      this.$emit('onSuccess')
     }
   },
   mounted () {

+ 35 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/lock.vue

@@ -0,0 +1,35 @@
+<template>
+  <div>
+    <el-popconfirm
+        title="确定锁定该客户吗?"
+        @confirm="onLock()">
+      <el-button style="width:100%" slot="reference" block size="small" >锁定</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "lock",
+  props:["id"],
+  methods:{
+    async onLock(){
+      const res = await this.$api.requested({
+        "id": 20221012164002,
+        "content": {
+          "sa_customersids": [this.id],
+          "datastatus": 2//(0:正常;1:作废;2:锁定)
+        },
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit("onshow")
+      })
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 97 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/sendBack.vue

@@ -0,0 +1,97 @@
+<template>
+  <div>
+    <el-button style="width:100%" size="mini"  block @click="onshow">退回至公海</el-button>
+    <el-dialog title="" :visible.sync="dialogForm" width="900px" append-to-body>
+      <div slot="title" style="font-size: 15px">
+        退回至公海
+      </div>
+      <div>
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
+            <el-col :span="20">
+              <el-form-item prop="sa_customerpoolid"  label="公海池:" >
+                <el-select v-model="form.sa_customerpoolid" placeholder="请选择公海池" style="width: 100%">
+                  <el-option
+                      v-for="item in pool"
+                      :key="item.sa_customerpoolid"
+                      :label="item.poolname"
+                      :value="item.sa_customerpoolid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogForm = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "sendBack",
+  props:["id"],
+  data() {
+    return {
+      dialogForm: false,
+      form: {
+        sa_customerpoolid: "",
+        sa_customersid: ""
+      },
+      pool: [],
+      rules: {
+        sa_customerpoolid: [
+          {required: true, message: '未选择公海池', trigger: 'change'},
+        ],
+      }
+    }
+  },
+  methods:{
+    onshow(){
+      this.dialogForm = true
+      this.poolList()
+      this.$emit("onshow")
+    },
+    onSubmit(){
+      console.log(this.form)
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221014102602,
+          "content": {
+            "sa_customerpoolid":this.form.sa_customerpoolid,//公海池id
+            "sa_customersids":[this.id]//客户id
+          },
+        })
+        this.tool.showMessage(res, ()=>{
+          this.dialogForm = false
+          this.$emit("backSuccess")
+        })
+      })
+    },
+    /*公海池列表*/
+    async poolList(){
+      const res = await this.$api.requested({
+        "id": 20221009100702,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 90,
+          "where": {
+            "condition": "",
+          }
+        },
+      })
+      console.log(res)
+      this.pool = res.data
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 100 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/share.vue

@@ -0,0 +1,100 @@
+<template>
+  <div>
+    <el-button style="width:100%" size="mini"  block @click="onshow">分享至公海</el-button>
+    <el-dialog title="" :visible.sync="dialogForm" width="900px" append-to-body>
+      <div slot="title" style="font-size: 15px">
+        分享至公海
+      </div>
+      <div>
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
+            <el-col :span="20">
+              <el-form-item prop="sa_customerpoolid"  label="公海池:" >
+                <el-select v-model="form.sa_customerpoolid" placeholder="请选择公海池" style="width: 100%">
+                  <el-option
+                      v-for="item in pool"
+                      :key="item.sa_customerpoolid"
+                      :label="item.poolname"
+                      :value="item.sa_customerpoolid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogForm = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "share",
+  props:["id"],
+  data(){
+    return {
+      dialogForm:false,
+      form:{
+        sa_customerpoolid:"",
+        sa_customersid:""
+      },
+      pool:[],
+      rules:{
+        sa_customerpoolid: [
+          { required: true, message: '未选择公海池', trigger: 'change' },
+        ],
+      }
+    }
+  },
+  methods:{
+    onshow(){
+      this.dialogForm = true
+      this.poolList()
+      this.$emit("onshow")
+    },
+    onSubmit(){
+      console.log(this.form)
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221014102502,
+          "content": {
+            "sa_customerpoolid":this.form.sa_customerpoolid,//公海池id
+            "sa_customersids":[this.id]//客户id
+          },
+        })
+        this.tool.showMessage(res, ()=>{
+          this.dialogForm = false
+          this.$emit("shareSuccess")
+        })
+      })
+    },
+    /*公海池列表*/
+    async poolList(){
+      const res = await this.$api.requested({
+        "id": 20221009100702,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 90,
+          "where": {
+            "condition": "",
+          }
+        },
+      })
+      console.log(res)
+      this.pool = res.data
+    }
+  },
+  mounted() {
+
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 73 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/toVoid.vue

@@ -0,0 +1,73 @@
+<template>
+  <div>
+    <el-button style="width:100%" size="mini"  block @click="onshow">作废</el-button>
+    <el-dialog title="" :visible.sync="dialogForm" width="900px" append-to-body>
+      <div slot="title" style="font-size: 15px">
+        作废
+      </div>
+      <div>
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
+            <el-col :span="20">
+              <el-form-item  label="作废原因:" prop="deletereason">
+                <el-input type="textarea" autosize v-model="form.deletereason" placeholder="输入作废原因"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogForm = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "toVoid",
+  props:["id"],
+  data(){
+    return {
+      dialogForm:false,
+      form:{
+        deletereason:""
+      },
+      rules:{
+        deletereason: [
+          { required: true, message: '未填写作废原因', trigger: 'change' },
+        ],
+      }
+    }
+  },
+  methods:{
+    onshow(){
+      this.dialogForm = true
+      this.$emit("onshow")
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221012164002,
+          "content": {
+            "sa_customersids": [this.id],
+            "datastatus": 1,//(0:正常;1:作废;2:锁定),
+            "deletereason":this.form.deletereason//作废时传,可选
+          },
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogForm = false
+          this.$emit("toVoidSuccess")
+          this.goBack(-1)
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 92 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/transactionStatus.vue

@@ -0,0 +1,92 @@
+<template>
+  <div>
+    <el-button style="width:100%" size="mini"  block @click="onshow">更改成交状态</el-button>
+    <el-dialog title="" :visible.sync="dialogForm" width="900px" append-to-body>
+      <div slot="title" style="font-size: 15px">
+        更改成交状态
+      </div>
+      <div>
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
+            <el-col :span="20">
+              <el-form-item prop="tradingstatus"  label="成交状态:" >
+                <el-select v-model="form.tradingstatus" placeholder="请选择成交状态" style="width: 100%">
+                  <el-option
+                      v-for="item in status"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogForm = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "transactionStatus",
+  props:["id"],
+  data(){
+    return {
+      dialogForm:false,
+      form:{
+        tradingstatus:""
+      },
+      rules:{
+        tradingstatus: [
+          { required: true, message: '未选择成交状态', trigger: 'change' },
+        ],
+      },
+      status:[
+        {
+          label:'未成交',
+          value:'未成交'
+        },
+        {
+          label:'已成交',
+          value:'已成交'
+        },
+        {
+          label:'多次成交',
+          value:'多次成交'
+        }
+      ]
+    }
+  },
+  methods:{
+    onshow(){
+      this.dialogForm = true
+      this.$emit("onshow")
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221012164102,
+          "content": {
+            "sa_customersids": [this.id],
+            "tradingstatus": this.form.tradingstatus//(未成交、已成交、多次成交)
+          },
+        })
+        this.tool.showMessage(res, ()=>{
+          this.dialogForm = false
+          this.$emit("shareSuccess")
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 10 - 5
src/SDrpManagement/salerPrivatecustomer/detail/components/transactionUser.vue → src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/transactionUser.vue

@@ -1,11 +1,11 @@
 <template>
   <div>
-    <el-button style="width:100%" size="mini"  block @click="dialogFormLeader = true">更换负责人</el-button>
-    <el-dialog title="更换负责人" :visible.sync="dialogFormLeader" width="500px">
+    <el-button style="width:100%" size="mini"  block @click="onshow">更换负责人</el-button>
+    <el-dialog title="更换负责人" :visible.sync="dialogFormLeader" width="900px" append-to-body>
       <div slot="title" style="font-size: 15px">
         更换负责人
       </div>
-<!--      <scope_of_authority></scope_of_authority>-->
+<!--      <scope_of_authority obiect-name="2" ></scope_of_authority>-->
       <div class="dialog-footer">
         <el-button size="small" @click="dialogFormLeader = false" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="warning" @click="transactionUser" class="normal-btn-width btn-warning">确 定</el-button>
@@ -15,18 +15,23 @@
 </template>
 
 <script>
-import scope_of_authority from '@/components/scopeOfAuthority/index'
+import scope_of_authority from '../../components/scopeOfAuthority/index'
 export default {
   name: "transactionUser",
   data(){
     return {
-      dialogFormLeader:false
+      dialogFormLeader:false,
+      visible:false
     }
   },
   components:{
     scope_of_authority
   },
   methods:{
+    onshow(){
+      this.dialogFormLeader = true
+      this.$emit("onshow")
+    },
     transactionUser(){}
   }
 }

+ 34 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/operation/unlock.vue

@@ -0,0 +1,34 @@
+<template>
+  <div>
+    <el-popconfirm
+        title="确定解锁该客户吗?"
+        @confirm="onUnLock()">
+      <el-button style="width:100%" slot="reference" block size="small" >解锁</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "unlock",
+  props:["id"],
+  methods:{
+    async onUnLock(){
+      const res = await this.$api.requested({
+        "id": 20221012164002,
+        "content": {
+          "sa_customersids": [this.id],
+          "datastatus": 0//(0:正常;1:作废;2:锁定)
+        },
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit("onshow")
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 40 - 34
src/SDrpManagement/salerPrivatecustomer/index.vue

@@ -1,41 +1,37 @@
 <template>
-  <div >
-    <basicLayout style="margin-top:-16px" ref="list" formPath="salerPrivatecustomer" tableName="salerPrivatecustomerTable" idName="sa_customersid" :apiId="{query:20221012164402,del:''}" :options="options" :autoQuery="false">
-      <template v-slot:titleRight="scope">
-        <el-divider direction="vertical"></el-divider>
-        <el-dropdown size="medium" @command="handleCommand">
+  <div>
+      <basicLayout  ref="list" formPath="salerPrivatecustomer" tableName="salerPrivatecustomerTable" idName="sa_customersid" :apiId="{query:20221012164402,del:''}" :options="options" :autoQuery="false">
+        <template v-slot:titleRight="scope">
+          <el-divider direction="vertical"></el-divider>
+          <el-dropdown size="medium" @command="handleCommand">
           <span class="el-dropdown-link">
             {{editableTabsValue}}<i class="el-icon-arrow-down el-icon--right"></i>
           </span>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item v-for="(item,index) in editableTabs" :key="index" :command="item">{{item.title}}</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </template>
-      <template v-slot:tbList="scope">
-        <div v-if="scope.data.column.columnname === 'isleader'">
-          <span>已分配</span>
-        </div>
-        <div v-else-if="scope.data.column.columnname === 'contact'">
-          <span>{{scope.data.column.data['leader'][0]?scope.data.column.data['leader'][0].name:''}}</span>
-        </div>
-        <div v-else-if="scope.data.column.columnname === 'leader'">
-          <span>{{scope.data.column.data['leader'][0]?scope.data.column.data['leader'][0].changedate:''}}</span>
-        </div>
-        <div v-else-if="scope.data.column.columnname === 'grade'">
-          <p v-if="scope.data.column.data.grade === 2">B级</p>
-          <p v-if="scope.data.column.data.grade === 1">A级</p>
-          <p v-if="scope.data.column.data.grade === 3">C级</p>
-        </div>
-        <div v-else>
-          {{scope.data.column.data[[scope.data.column.columnname]]}}
-        </div>
-      </template>
-      <template v-slot:tbOpreation="scope">
-        <el-button size="mini" type="text" @click="$router.push({path:'/customerDetail',query:{id:scope.data.data.sa_customersid,rowindex:scope.data.data.rowindex,tabIndex:tabIndex,enterpriseid:scope.data.data.sys_enterpriseid,data:scope.data.data}})">详 情</el-button>
-      </template>
-    </basicLayout>
-
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item v-for="(item,index) in editableTabs" :key="index" :command="item">{{item.title}}</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+        <template v-slot:tbList="scope">
+          <div v-if="scope.data.column.columnname === 'isleader'">
+            <span>已分配</span>
+          </div>
+          <div v-else-if="scope.data.column.columnname === 'contact'">
+            <span>{{scope.data.column.data['leader'][0]?scope.data.column.data['leader'][0].name:''}}</span>
+          </div>
+          <div v-else-if="scope.data.column.columnname === 'grade'">
+            <p v-if="scope.data.column.data.grade === 2">B级</p>
+            <p v-if="scope.data.column.data.grade === 1">A级</p>
+            <p v-if="scope.data.column.data.grade === 3">C级</p>
+          </div>
+          <div v-else>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </div>
+        </template>
+        <template v-slot:tbOpreation="scope">
+          <el-button size="mini" type="text" @click="$router.push({path:'/customerDetail',query:{id:scope.data.data.sa_customersid,rowindex:scope.data.data.rowindex,tabIndex:tabIndex,enterpriseid:scope.data.data.sys_enterpriseid,data:scope.data.data}})">详 情</el-button>
+        </template>
+      </basicLayout>
   </div>
 </template>
 
@@ -84,6 +80,16 @@ export default {
       this.$refs['list'].listData()
       // this.$store.dispatch('sendDataToForm',)
     }
+  },
+  created() {
+    this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'toVoid')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'responsible')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'transaction')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'lock')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'unlock')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'share')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name,'back')?'':this.$router.go(-1)
   }
 }
 </script>