Browse Source

2022-12-20

codeMan 2 years ago
parent
commit
f1b4bfd378

+ 6 - 4
src/Form/marketing2/saler/add.vue

@@ -14,7 +14,7 @@
           <el-form :model="form"  :rules="rules" ref="form" label-position="right" label-width="75px" size="small">
             <el-col :span="12">
               <el-form-item label="业务员:" prop="hrid">
-                <selectMenber  @selectMenber="selectMenber"></selectMenber>
+                <selectMenber ref="selectMenber"  @selectMenber="selectMenber"></selectMenber>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -111,8 +111,7 @@ export default {
     },
     onSubmit () {
       console.log(this.dataToForm)
-      this.form.sa_saleareaid = this.dataToForm.sa_saleareaid
-      this.form.discountrate = (this.form.discountrate /100).toFixed(4)
+      
       console.log(this.form)
       this.$refs['form'].validate((valid) => {
         if (!valid) return false
@@ -121,13 +120,16 @@ export default {
           cancelButtonText: '取消',
           type: 'warning'
         }).then(async () => {
+          this.form.sa_saleareaid = this.dataToForm.sa_saleareaid
+        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
           const res = await this.$api.requested({
             "id":20221011144703,
             "content": this.form
           })
           this.tool.showMessage(res,()=>{
             this.dialogVisible = false
-            
+            this.$refs.selectMenber.value.name = ''
+            this.$refs.selectMenber.value.hrid = ''
             this.$emit('onSuccess')
             this.form = {
               "sa_saleareaid":'',

+ 92 - 48
src/HDrpManagement/contractManage/components/addContract.vue

@@ -169,6 +169,12 @@
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
@@ -179,12 +185,6 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="合同有效期:" prop="begdate">
-                <input type="text" style="display:none" v-model="form.begdate">
-              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
-              </el-form-item>
-            </el-col>
             <el-col :span="24">
               <el-form-item label="签约金额(元):" prop="signamount">
                 <el-input type="text" placeholder="系统自动计算" disabled size="small" v-model="form.signamount"></el-input>
@@ -227,6 +227,12 @@
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
@@ -237,12 +243,6 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="合同有效期:" prop="begdate">
-                <input type="text" style="display:none" v-model="form.begdate">
-              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
-              </el-form-item>
-            </el-col>
             <el-col :span="24">
               <el-form-item label="单套价格(元)">
                 <el-input type="text" disabled size="small" placeholder="系统自动计算" v-model="form.signamount"></el-input>
@@ -294,14 +294,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="项目名称:" prop="projectname">
-                <el-popover
-                  placement="bottom"
-                  trigger="manual"
-                  v-model="projectVisible"
-                  width="600">
-                  <seleteProject ref="project" type="3" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('projectVisible')" v-model="form.projectname"></el-input>
-                </el-popover>
+                <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -309,6 +302,12 @@
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="合同有效期:" prop="begdate">
+                <input type="text" style="display:none" v-model="form.begdate">
+              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
@@ -337,12 +336,6 @@
                 <el-input type="text" size="small" v-model.number="form.productdiscount"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="合同有效期:" prop="begdate">
-                <input type="text" style="display:none" v-model="form.begdate">
-              <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
-              </el-form-item>
-            </el-col>
             <el-col :span="24">
               <el-form-item label="打印模板:">
                 <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
@@ -405,6 +398,8 @@ export default {
       modelVisible:false,
       concratVisible:false,
       modelList:[],
+      /* 新建居间项目时 所关联的居间商 */
+      centerEnterpriseList:[],
       form: {
         "sa_contractid": 0,
         "sys_enterpriseid": "",
@@ -454,8 +449,7 @@ export default {
           { required: true, message: '请选择', trigger: 'change' },
         ],
         signdate: [
-          { required: true, message: '请填写签约金额', trigger: 'change' },
-          { validator:checkTimer, trigger:'change'}
+          { required: true, message: '请填写签约时间', trigger: 'change' },
         ],
         productdiscount: [
           { message: '必须为数字', type:'number', trigger: 'change' },
@@ -537,28 +531,77 @@ export default {
     async onSubmit () {
       this.$refs.form.validate(async val => {
         if (val) {
-          if (this.$route.query.type == '直销项目') {
-            this.form.type = '项目'
-            this.form.typemx = '直销'
-          } else if (this.$route.query.type == '经销项目') {
-            this.form.type = '项目'
-            this.form.typemx = '经销'
+          /* 居间新建 */
+          if (this.$route.query.type == '居间') {
+            let is = this.centerEnterpriseList.some(item => item.sys_enterpriseid == this.form.sys_enterpriseid)
+            if (is) {
+              this.$confirm('当前项目已存在此居间商,请前往项目商机维护','提示',{
+                confirmButtonText:'确定',
+                cancelButtonText:'取消'
+              }).then(() => {
+                JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
+                  item1.modules.forEach(item2 => {
+                    if(item2.systemmodulename == "项目管理") {
+                      sessionStorage.setItem('active_modules',JSON.stringify(item2))
+                      this.$store.dispatch('changeDetailDrawer',true)
+                      this.$store.dispatch('DrawerShowChange',false)
+                      this.$router.push({path:'/projectChangeDetail',query:{id:this.centerEnterpriseList[0].sa_projectid}})
+                      return
+                    }
+                  })
+                })
+                
+              })
+            } else {
+              if (this.$route.query.type == '直销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '直销'
+              } else if (this.$route.query.type == '经销项目') {
+                this.form.type = '项目'
+                this.form.typemx = '经销'
+              } else {
+                this.form.type = this.$route.query.type
+              }
+              this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
+              this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
+              this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
+              let res = await this.$api.requested({
+                "id":20221121185302,
+                "content": this.form
+              })
+              this.tool.showMessage(res,() => {
+                console.log(res.data);
+                this.$store.dispatch('DrawerShowChange',false)
+                this.$store.dispatch('changeDetailDrawer',true)
+                this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
+              })
+            }
           } else {
-            this.form.type = this.$route.query.type
+            /* 其它新建 */
+            if (this.$route.query.type == '直销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '直销'
+            } else if (this.$route.query.type == '经销项目') {
+              this.form.type = '项目'
+              this.form.typemx = '经销'
+            } else {
+              this.form.type = this.$route.query.type
+            }
+            this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
+            this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
+            this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
+            let res = await this.$api.requested({
+              "id":20221121185302,
+              "content": this.form
+            })
+            this.tool.showMessage(res,() => {
+              console.log(res.data);
+              this.$store.dispatch('DrawerShowChange',false)
+              this.$store.dispatch('changeDetailDrawer',true)
+              this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
+            })
           }
-          this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
-          this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
-          this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
-          let res = await this.$api.requested({
-            "id":20221121185302,
-            "content": this.form
-          })
-          this.tool.showMessage(res,() => {
-            console.log(res.data);
-            this.$store.dispatch('DrawerShowChange',false)
-            this.$store.dispatch('changeDetailDrawer',true)
-            this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
-          })
+          
         }
       })
     },
@@ -600,6 +643,7 @@ export default {
       this.agentVisible = false
     },
     concratChange (data) {
+      this.centerEnterpriseList = data.parties
       this.form.ascription_title = data.projectname
       this.form.ascription_contractid = data.sa_contractid
       this.form.projectname = data.projectname

+ 16 - 13
src/HDrpManagement/contractManage/components/contractOver.vue

@@ -1,8 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-popconfirm title="确定终止当前合同吗?" @confirm="deleteRow()">
-      <el-button slot="reference" size="mini" type="primary">终 止</el-button>
-    </el-popconfirm>
+    <el-button @click="deleteRow" slot="reference" size="mini" type="primary">终 止</el-button>
   </div>
 </template>
 
@@ -10,16 +8,21 @@
 export default {
   props: ['id'],
   methods: {
-    async deleteRow () {
-    let res = await this.$api.requested({
-        "id": "20221212102802",
-        "version": 1,
-        "content": {
-          "sa_contractid": this.id
-        }
-      })
-      this.tool.showMessage(res, () => {
-        this.$emit('onSuccess')
+    deleteRow () {
+      this.$confirm('确定终止当前合同吗?','提示',{
+        confirmButtonText:'确定',
+        cancelButtonText:'取消'
+      }).then(async () => {
+        let res = await this.$api.requested({
+          "id": "20221212102802",
+          "version": 1,
+          "content": {
+            "sa_contractid": this.id
+          }
+        })
+        this.tool.showMessage(res, () => {
+          this.$emit('onSuccess')
+        })
       })
     },
   }

+ 12 - 9
src/HDrpManagement/contractManage/components/editContract.vue

@@ -294,14 +294,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="项目名称:" prop="sa_projectid">
-                <el-popover
-                  placement="bottom"
-                  trigger="manual"
-                  v-model="projectVisible"
-                  width="600">
-                  <seleteProject type="3" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
-                  <el-input readonly type="text" slot="reference" size="small" @focus="showChange('projectVisible')" v-model="form.projectname"></el-input>
-                </el-popover>
+                <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -405,6 +398,8 @@ export default {
       accountVisible:false,
       modelVisible:false,
       concratVisible:false,
+      /* 新建居间项目时 所关联的居间商 */
+      centerEnterpriseList:[],
       form: {
         "sa_contractid": 0,
         "sys_enterpriseid": "",
@@ -458,7 +453,7 @@ export default {
           { required: true, message: '请选择', trigger: 'change' },
         ],
         signdate: [
-          { required: true, message: '请填写签约金额', trigger: 'change' },
+          { required: true, message: '请填写签约时间', trigger: 'change' },
         ],
         productdiscount: [
           { message: '必须为数字', type:'number', trigger: 'change' },
@@ -517,6 +512,11 @@ export default {
     drawer (val) {
       if(!val) {
         this.showChange(false)
+      } else {
+        if(this.$refs.project) {
+          this.$refs.project.params.content.type = this.$route.query.type == '经销项目' ? '2' : '1'
+          this.$refs.project.queryEnterpriseArchives()
+        }
       }
     }
   },
@@ -614,8 +614,11 @@ export default {
       this.modelVisible = false
     },
     concratChange (data) {
+      this.centerEnterpriseList = data.parties
       this.form.ascription_title = data.projectname
       this.form.ascription_contractid = data.sa_contractid
+      this.form.projectname = data.projectname
+      this.form.sa_projectid = data.sa_projectid
       this.concratVisible = false
     },
     clearTime () {

+ 1 - 1
src/HDrpManagement/contractManage/components/productList/addProduct.vue

@@ -21,7 +21,7 @@
               {{scope.column.data[scope.column.columnname][0] && scope.column.data[scope.column.columnname][0].brandname}}
             </div>
             <div v-else>{{scope.column.data[scope.column.columnname]}}</div>
-            <span v-if="!scope.column.data[scope.column.columnname] && scope.column.data[scope.column.columnname] != 0">--</span>
+            <span v-if="!scope.column.data[scope.column.columnname] && scope.column.data[scope.column.columnname] !== 0">--</span>
           </template>
         </Table>
         <div class="container normal-panel" style="text-align:right">

+ 6 - 3
src/HDrpManagement/contractManage/components/reverseCheck.vue

@@ -1,8 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-popconfirm title="确定反审核当前合同吗?" @confirm="submit">
-      <el-button size="mini" slot="reference" type="primary">反 审 核(退回)</el-button>
-    </el-popconfirm>
+    <el-button size="mini" @click="submit" type="primary">反 审 核(退回)</el-button>
   </div>
 </template>
 
@@ -23,6 +21,10 @@ export default {
   },
   methods: {
     async submit () {
+      this.$confirm('确定反审核当前合同吗?','提示',{
+        confirmButtonText:'确定',
+        cancelButtonText:'取消'
+      }).then(async () => {
         let res = await this.$api.requested({
           "id": 20221212135402,
           "content": {
@@ -32,6 +34,7 @@ export default {
         this.tool.showMessage(res,() => {
           this.$emit('onSuccess')
         })
+      })
     },
   },
 };

+ 30 - 28
src/HDrpManagement/contractManage/components/submitCheck.vue

@@ -1,9 +1,7 @@
 <template>
   <div class="inline-16" v-if="data.status">
-    <el-popconfirm v-if="refresh" title="确定提交当前合同吗?" @confirm="submit">
-      <el-button size="mini" slot="reference" type="primary" v-if="data.status=='新建' && tool.checkAuth($route.name,'submit') && !disabled">提 交</el-button>
-      <el-button size="mini" slot="reference" type="primary" v-if="data.status=='已提交' && tool.checkAuth($route.name,'check') && !disabled">审 核</el-button>
-    </el-popconfirm>
+    <el-button @click="submit" size="mini" slot="reference" type="primary" v-if="data.status=='新建' && tool.checkAuth($route.name,'submit') && !disabled">提 交</el-button>
+    <el-button @click="submit" size="mini" slot="reference" type="primary" v-if="data.status=='已提交' && tool.checkAuth($route.name,'check') && !disabled">审 核</el-button>
   </div>
 </template>
 
@@ -26,33 +24,37 @@ export default {
     console.log('eeee',this.disabled);
   },
   methods: {
-    refreshFun () {
-      this.refresh = false
-      setTimeout(() => {
-        this.refresh = !this.refresh
-      },50)
-    },
-    async submit () {
+    submit () {
       if (this.data.status == '新建') {
-        let res = await this.$api.requested({
-          "id": 20221121202802,
-          "content": {
-              "sa_contractids": [this.data.sa_contractid]
-          },
-        })
-        this.tool.showMessage(res,() => {
-          this.$emit('onSuccess')
+        this.$confirm('确定提交当前合同吗?','提示',{
+          confirmButtonText:'确定',
+          cancelButtonText:'取消'
+        }).then(async () => {
+          let res = await this.$api.requested({
+            "id": 20221121202802,
+            "content": {
+                "sa_contractids": [this.data.sa_contractid]
+            },
+          })
+          this.tool.showMessage(res,() => {
+            this.$emit('onSuccess')
+          })
         })
       } else {
-        let res = await this.$api.requested({
-          "id": 20221121203102,
-          "content": {
-              "type":1,//0:不通过,1:通过
-              "sa_contractid": this.data.sa_contractid
-          },
-        })
-        this.tool.showMessage(res,() => {
-          this.$emit('onSuccess')
+        this.$confirm('确定审核当前合同吗?','提示',{
+          confirmButtonText:'确定',
+          cancelButtonText:'取消'
+        }).then(async () => {
+          let res = await this.$api.requested({
+            "id": 20221121203102,
+            "content": {
+                "type":1,//0:不通过,1:通过
+                "sa_contractid": this.data.sa_contractid
+            },
+          })
+          this.tool.showMessage(res,() => {
+            this.$emit('onSuccess')
+          })
         })
       }
     },

+ 1 - 1
src/HDrpManagement/contractManage/components/toolList/toolList.vue

@@ -2,7 +2,7 @@
   <div>
     <div>
       <div class="flex-align-center" style="margin-bottom:10px">
-        <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="输入搜索内容" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
+        <el-input size="small" style="width:200px;margin-right:10px" v-model="params.content.where.condition" placeholder="产品编号、产品名称、材质、品牌" @clear="listData(params.content.pageNumber = 1)" @keyup.native.enter="listData(params.content.pageNumber = 1)" clearable></el-input>
         <slot name="addProduct"/>
       </div>
       <tableLayout :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :custom="true" fixedName="operation qty marketprice discountrate price countPrice" >

+ 1 - 0
src/HDrpManagement/contractManage/index.vue

@@ -92,6 +92,7 @@
 </template>
 
 <script>
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   data () {
     return {

+ 1 - 1
src/HDrpManagement/contractManage/modules/detail.vue

@@ -17,7 +17,7 @@
       <div slot="customOperation" >
         <editBtn :modelList="modelList" v-if="tool.checkAuth($route.name,'update')" :disabled="mainData.status != '新建' || !isLeader" @onSuccess="queryMainData();$refs.billno && $refs.billno.listData()" :data="mainData" class="inline-16"/>
         <submit-check :disabled="!isLeader" ref="submit" :data="mainData" @onSuccess="queryMainData" />
-        <reverseCheck @onSuccess="queryMainData();$refs.submit.refreshFun()" :data="mainData" v-if="tool.checkAuth($route.name,'reverseCheck') && mainData.status == '审核'" />
+        <reverseCheck @onSuccess="queryMainData()" :data="mainData" v-if="tool.checkAuth($route.name,'reverseCheck') && mainData.status == '审核'" />
         <contractOver v-if="tool.checkAuth($route.name,'contractOver') && mainData.status != '已终止' && mainData.status != '审核' && isLeader" :disabled="!isLeader" :id="mainData.sa_contractid" @onSuccess="queryMainData"/>
         <Del :idName="20221121202502" :id="mainData.sa_contractid" idKey="sa_contractids" class="inline-16" v-if="tool.checkAuth($route.name,'delete') && mainData.type == '新建' && isLeader"/>
       </div>

+ 2 - 1
src/HDrpManagement/contractModel/index.vue

@@ -8,7 +8,8 @@
       idName="sa_contract_template_clauseids" 
       :apiId="{query:20221128164602,del:20221125195702}"
       :options="options"
-      @listData="listdata">
+      @listData="listdata"
+      :hideSearch="true">
       <div slot="custom" style="display:flex">
         <!-- <div class="label_center">
           <p class="search__label">范围:</p>

+ 1 - 1
src/HDrpManagement/contractModel/modules/detail.vue

@@ -45,7 +45,7 @@
               >保 存</el-button>
               <el-button size="mini" type="text" @click="editBtn(scope.data)" v-else-if="tool.checkAuth($route.name,'editClaue')">编 辑</el-button>
             </span>
-            <delete-btn v-if="tool.checkAuth($route.name,'delClaue')" nameId="20221125195702" :data="scope.data" @deleteSuccess="onDelete" :id="scope.data.sa_contract_template_clauseid" nameKey="sa_contract_template_clauseids"></delete-btn>
+            <delete-btn v-if="tool.checkAuth($route.name,'delClaue')" message="确定删除当前条款吗?" nameId="20221125195702" :data="scope.data" @deleteSuccess="onDelete" :id="scope.data.sa_contract_template_clauseid" nameKey="sa_contract_template_clauseids"></delete-btn>
           </template>
         </tableLayout>
         <div style="margin-top:16px;text-align:right">

+ 1 - 1
src/HDrpManagement/projectChange/index.vue

@@ -111,7 +111,7 @@
           </div>
         </div>
         <div v-else-if="scope.data.column.columnname === 'name'">
-          {{scope.data.column.data.leader[0].name}}
+          {{scope.data.column.data.leader[0] && scope.data.column.data.leader[0].name}}
         </div>
         <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}

+ 3 - 0
src/HManagement/clueManage/clue_import/detailPage/modules/edit.vue

@@ -30,6 +30,9 @@
         <el-form-item label="地址">
           <el-input v-model="form.address" autocomplete="off"></el-input>
         </el-form-item>
+        <el-form-item label="市场活动">
+          <el-input disabled v-model="form.name" autocomplete="off"></el-input>
+        </el-form-item>
         <el-form-item label="来源" prop="cluesource">
           <el-input v-model="form.cluesource" autocomplete="off"></el-input>
         </el-form-item>

+ 1 - 1
src/HManagement/clueManage/clue_private/index.vue

@@ -60,7 +60,7 @@
         </div>
         <div v-else-if="scope.data.column.columnname == 'leadername'">
           <span>
-            {{scope.data.column.data.allocationstatus === '已分配'?scope.data.column.data.leader[0].name:'--'}}
+            {{scope.data.column.data.allocationstatus === '已分配'?scope.data.column.data.leader[0] && scope.data.column.data.leader[0].name:'--'}}
           </span>
         </div>
         <div v-else-if="scope.data.column.columnname == 'allocationstatus'">

+ 4 - 2
src/HManagement/clueManage/clue_private/modules/detail.vue

@@ -15,7 +15,8 @@
       </div>
       <div slot="customOperation">
         <edit class="inline-16" :data="mainData" @onSuccess="queryMainData" v-if="tool.checkAuth($route.name,'update') && mainData.allocationstatus == '待分配'"/>
-        <recall class="inline-16" v-if="mainData.status === '待跟进' || mainData.status === '跟进中' && mainData.isTeam !== '团队' && tool.checkAuth($route.name,'recall')" :data="mainData" @onSuccess="queryMainData"></recall>
+        <distobutionOne v-if="tool.checkAuth($route.name,'distributionSaler') && mainData.allocationstatus == '待分配'" @onSuccess="$store.dispatch('changeDetailDrawer',false),$router.back()" />
+        <recall class="inline-16" v-if="mainData.allocationstatus != '待分配' && mainData.status === '待跟进' || mainData.status === '跟进中' && mainData.isTeam !== '团队' && tool.checkAuth($route.name,'recall')" :data="mainData" @onSuccess="queryMainData"></recall>
       </div>
       <div slot="slot0" class="container normal-panel">
         <BaseInfo :detailInfo="detailInfo"/>
@@ -56,6 +57,7 @@
 import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
 import recall from './recall.vue'
 import edit from './edit'
+import distobutionOne from './distobutionOne'
 export default {
   name: "detail",
   data() {
@@ -73,7 +75,7 @@ export default {
     }
   },
   components:{
-    BaseInfo,recall,edit
+    BaseInfo,recall,edit,distobutionOne
   },
   methods:{
     async followRecord () {

+ 113 - 0
src/HManagement/clueManage/clue_private/modules/distobutionOne.vue

@@ -0,0 +1,113 @@
+<template>
+  <div class="inline-16">
+    <el-button size="mini" @click="getMatchAgentList">分 配</el-button>
+    <el-drawer title="匹配业务员" append-to-body :visible.sync="dialogTableVisible2" size="80%" top="30px">
+      <div class="container">
+        <div class="flex-align-center flex-between">
+          <p class="normal-margin">总共:&nbsp;{{total2}}条</p>
+          <el-input class="normal-margin" size="small" prefix-icon="el-icon-search" style="width:180px" v-model="searchValue" placeholder="输入搜索关键词" clearable @clear="(search = '',getMatchAgentList(selectRow))" @keyup.native.enter="getMatchAgentList(selectRow)"></el-input>
+        </div>
+        <tableLayout :layout="tablecols2" :data="agentlist" :custom="true" :height="tableHieght">
+          <template v-slot:customcol="scope">
+            <div v-if="scope.column.columnname === 'ismatch'">
+              <p :style="scope.column.data.ismatch === 1?'color:#52c41a':''">{{scope.column.data.ismatch === 1?'是':'否'}}</p>
+            </div>
+            <div v-else-if="scope.column.columnname === 'province'">
+              <span>{{scope.column.data.province}} - {{scope.column.data.city}} - {{scope.column.data.county}}</span>
+            </div>
+            <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+          </template>
+          <template v-slot:opreation="scope">
+            <i :style="act_saler.hrid === scope.data.hrid?'color:#3774f6':''" class="el-icon-success large-icon" @click="selectSaler(scope)"></i>
+          </template>
+        </tableLayout>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return{
+      dialogTableVisible2:false,
+      agentlist:[],
+      list:[],
+      total:0,
+      total2:0,
+      selectRow:{},
+      act_saler:'',
+      searchValue:''
+    }
+  },
+  methods:{
+    async getMatchAgentList (row) {
+      this.dialogTableVisible2 = true
+      const res = await this.$api.requested({
+        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+        "method": "getMatchSalesList",
+        "content": {
+          "sat_orderclueid":this.$route.query.id,
+          "where":{
+              "condition":this.searchValue
+          }
+        }
+      })
+      this.agentlist = res.data
+      this.total2 = res.total
+      this.selectRow = row
+    },
+    selectSaler (scope) {
+      this.$confirm('是否将线索分配给当前选中业务员','提示',{
+        "confirmButtonText":'确定',
+        "cancelButtonText":'取消'
+      }).then ( async () => {
+        let arr = [{sat_orderclueid:this.$route.query.id,hrid:scope.data.hrid}]
+        const res = await this.$api.requested({
+          "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+          "method": "matchAgent_Sales",
+          "content": {
+            "matchlist": arr
+          }
+        })
+        console.log(res);
+        this.tool.showMessage(res,() => {
+          this.dialogTableVisible2 = false
+          this.$emit('onSuccess')
+        })
+      })
+    },
+    async onSubmit () {
+      let arr = []
+      arr = this.list.filter(e=> e.sales.length > 0).map(e=> {
+        console.log(e)
+        return {sat_orderclueid:e.sat_orderclueid,hrid:e.sales[0].hrid}
+      });
+      const res = await this.$api.requested({
+        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+        "method": "matchAgent_Sales",
+        "content": {
+          "matchlist": arr
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('onSuccess')
+      })
+    }
+  },
+  created () {
+    this.tablecols = this.tool.tabelCol(this.$route.name)['distributionSalerTable'].tablecols
+    this.tablecols2 = this.tool.tabelCol(this.$route.name)['canSelectSalerTable'].tablecols
+    
+  }
+}
+
+</script>
+<style scoped>
+.tips{color:#999}
+.large-icon {
+  font-size: 20px;
+  color:#999;
+  cursor: pointer;
+}
+</style>

+ 3 - 3
src/HManagement/clueManage/m_activity/modules/addClue.vue

@@ -27,12 +27,12 @@
             @change="cascaderChange">
           </el-cascader>
           </el-form-item>
-          <el-form-item label="市场活动">
-            <el-input disabled type="text" size="small" v-model="activityName"></el-input>
-          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="form.address" placeholder="请输入地址"></el-input>
           </el-form-item>
+          <el-form-item label="市场活动">
+            <el-input disabled type="text" size="small" v-model="activityName"></el-input>
+          </el-form-item>
           <el-form-item label="来源" prop="cluesource">
             <el-input v-model="form.cluesource" placeholder="请输入来源"></el-input>
           </el-form-item>

+ 3 - 3
src/HManagement/clueManage/m_activity/modules/editClue.vue

@@ -27,12 +27,12 @@
             @change="cascaderChange">
           </el-cascader>
           </el-form-item>
-          <el-form-item label="市场活动" prop="sat_campaignid">
-            <el-input disabled type="text" size="small" v-model="form.campaign_name"></el-input>
-          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="form.address" placeholder="请输入地址"></el-input>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-input disabled type="text" size="small" v-model="form.campaign_name"></el-input>
+          </el-form-item>
           <el-form-item label="来源" prop="cluesource">
             <el-input v-model="form.cluesource" placeholder="请输入来源"></el-input>
           </el-form-item>

+ 10 - 1
src/HManagement/saleForecastCount/index.vue

@@ -6,7 +6,8 @@
         tableName="saleForecastCountTable" 
         idName="userid" 
         :apiId="{query:20221209163203}"
-        :options="options">
+        :options="options"
+        @listData="list">
         <div slot="custom">
           <div class="inline-24">
             <label class="search__label ">时间:</label>
@@ -44,6 +45,9 @@
             </el-select>
           </div>
         </div>
+        <div slot="footerLeft" style="font-size:14px">
+          总金额:<span style="color:red">{{allCount}}</span>
+        </div>
         <template v-slot:tbList="scope">
           <div>
             {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}
@@ -56,6 +60,7 @@
   </template>
   
   <script>
+import { log } from '@antv/g2plot/lib/utils'
   /**
    * @basicLayout 提供this.$ref['basicLayout'].listData()方法查询列表信息
    * @param {string} formPath 新建,编辑组件所在文件夹名称,以后所有列表新增修改文件统一放入Form文件夹下面,并创建与开发应用相同的名称的子文件夹
@@ -73,9 +78,13 @@
         actDep:null,
         hrList:[],
         userid:'',
+        allCount:''
       }
     },
     methods:{
+      list(Data) {
+        this.allCount = Data[0].sumoutamount
+      },
       dateChange (val) {
         if (val) {
           this.$refs.basicLayout.param.content.where.begdate = val[0]

+ 2 - 2
src/components/delete_btn/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-popconfirm title="确定删除当前产品吗?" @confirm="deleteRow()">
+    <el-popconfirm :title="message ? message : '确定删除当前产品吗?'" @confirm="deleteRow()">
       <el-button slot="reference" size="mini" v-if="type=='detail'" :disabled="disabled">删 除</el-button>
       <el-button slot="reference" size="mini" type="text" :disabled="disabled" v-else>删 除</el-button>
     </el-popconfirm>
@@ -14,7 +14,7 @@ nameId:接口id
 nameKey:接口字段
  */
 export default {
-  props: ['id','nameId','nameKey','type','disabled','data'],
+  props: ['id','nameId','nameKey','type','disabled','data','message'],
   data () {
     return {
       param: {

+ 15 - 10
src/components/normal-basic-layout/index.vue

@@ -61,17 +61,21 @@
               <slot :data="scope" name="tbOpreation"></slot>
             </template>
           </tableTemp>
-          <div v-if="!hidePagination" class="container normal-panel" style="text-align:right">
-            <el-pagination
-              background
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              :page-sizes="[20, 50, 100, 200]"
-              layout="total,sizes, prev, pager, next, jumper"
-              :total="total">
-            </el-pagination>
+          <div style="display:flex;align-items:center;flex-direction:row-reverse;justify-content:space-between">
+            <div v-if="!hidePagination" class="container normal-panel" style="text-align:right">
+              <el-pagination
+                background
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                :current-page="currentPage"
+                :page-sizes="[20, 50, 100, 200]"
+                layout="total,sizes, prev, pager, next, jumper"
+                :total="total">
+              </el-pagination>
+            </div>
+            <slot name="footerLeft"></slot>
           </div>
+          
         </div>
       </div>
     </div>
@@ -309,5 +313,6 @@ export default {
 }
 .collection{
   color: orange !important;
+  flex-direction: row-reverse;
 }
 </style>

+ 1 - 1
src/components/selectMenber/index.vue

@@ -50,7 +50,7 @@ export default {
       this.$refs.staff.listData(this.depInfo.data.departmentid)
     },
     selectMenber (data) {
-      this.value = data
+      this.value = JSON.parse(JSON.stringify(data))
       this.$emit('selectMenber',data)
       this.dialogTableVisible = false
     },