Browse Source

Merge branch 'orangeUrgent' into testToMerge

qymljy 3 tuần trước cách đây
mục cha
commit
7b456cb7cf

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

@@ -19,7 +19,7 @@
           <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])">{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
         </div>
         <div v-else>
-          {{$t(scope.data.column.data[[scope.data.column.columnname]])}}
+          {{$t(scope.data.column.data[[scope.data.column.columnname]]) || '--'}}
         </div>
       </template>
       <template v-slot:tbOpreation="scope">

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

@@ -369,6 +369,8 @@ export default {
                 label: this.$t("最近跟进时间"),
                 value: this.mainData.followDate,
               },
+              {label:'转化客户驳回原因',value:this.mainData.reason_customer},
+              {label:'转化项目驳回原因',value:this.mainData.reason_project},
               {
                 label: this.$t("无效原因"),
                 value: this.mainData.invalidreason,

+ 33 - 1
src/HManagement/personalTarget/personalTargetStatistics/index.vue

@@ -99,6 +99,7 @@
               </el-table-column>
               <el-table-column
                   prop="y1h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -123,6 +124,7 @@
               </el-table-column>
               <el-table-column
                   prop="s1h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -147,6 +149,7 @@
               </el-table-column>
               <el-table-column
                   prop="m1h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -171,6 +174,7 @@
               </el-table-column>
               <el-table-column
                   prop="m2h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -195,6 +199,7 @@
               </el-table-column>
               <el-table-column
                   prop="m3h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -219,6 +224,7 @@
               </el-table-column>
               <el-table-column
                   prop="s2h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -243,6 +249,7 @@
               </el-table-column>
               <el-table-column
                   prop="m4h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -267,6 +274,7 @@
               </el-table-column>
               <el-table-column
                   prop="m5h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -291,6 +299,7 @@
               </el-table-column>
               <el-table-column
                   prop="m6h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -315,6 +324,7 @@
               </el-table-column>
               <el-table-column
                   prop="s3h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -339,6 +349,7 @@
               </el-table-column>
               <el-table-column
                   prop="m7h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -363,6 +374,7 @@
               </el-table-column>
               <el-table-column
                   prop="m8h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -387,6 +399,7 @@
               </el-table-column>
               <el-table-column
                   prop="m9h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -411,6 +424,7 @@
               </el-table-column>
               <el-table-column
                   prop="s4h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -435,6 +449,7 @@
               </el-table-column>
               <el-table-column
                   prop="m10h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -459,6 +474,7 @@
               </el-table-column>
               <el-table-column
                   prop="m11h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -483,6 +499,7 @@
               </el-table-column>
               <el-table-column
                   prop="m12h"
+                  v-if="isquerytarget == 0"
                   :label="$t('挑战')"
                   width="120">
                 <template slot-scope="scope">
@@ -549,7 +566,8 @@ export default {
       style:{
         background: '#FFFFFF',
         padding:'0px'
-      }
+      },
+      isquerytarget:''
     }
   },
   methods:{
@@ -658,6 +676,19 @@ export default {
         this.style.padding = '0px'
         console.log('全屏模式已退出');
       }
+    },
+    async queryTarget(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method": "querySite_Parameter",
+        "content": {
+        }
+      })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        this.isquerytarget = res.data.isquerytarget
+      }
     }
   },
   mounted () {
@@ -668,6 +699,7 @@ export default {
     document.addEventListener('mozfullscreenchange', this.handleFullscreenChange);
     document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange);
     document.addEventListener('MSFullscreenChange',this.handleFullscreenChange)
+    this.queryTarget()
   }
 }
 

+ 23 - 6
src/HManagement/personalTarget/target/modules/edit/components/editTarget.vue

@@ -23,7 +23,7 @@
               <el-input v-model="form['y1l']" disabled autocomplete="off"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="6" v-if="isquerytarget == 0">
             <el-form-item :label="$t('挑战目标')">
               <el-input v-model="form['y1h']" disabled autocomplete="off"></el-input>
             </el-form-item>
@@ -41,7 +41,7 @@
                 <el-input v-model="form[`s${index+1}l`]" disabled autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="8" v-if="isquerytarget == 0">
               <el-form-item :label="$t('挑战目标')">
                 <el-input v-model="form[`s${index+1}h`]" disabled autocomplete="off"></el-input>
               </el-form-item>
@@ -57,7 +57,7 @@
                     <el-input type="number" v-model="form[`m${1+index * 3}l`]" :disabled="date.month  > (1+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="12" v-if="isquerytarget == 0">
                   <el-form-item :label="$t('挑战目标')">
                     <el-input type="number" v-model="form[`m${1+index * 3}h`]" :disabled="date.month  > (1+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
@@ -71,7 +71,7 @@
                     <el-input type="number" v-model="form[`m${2+index * 3}l`]" :disabled="date.month  > (2+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="12" v-if="isquerytarget == 0">
                   <el-form-item :label="$t('挑战目标')">
                     <el-input type="number" v-model="form[`m${2+index * 3}h`]" :disabled="date.month  > (2+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
@@ -85,7 +85,7 @@
                     <el-input type="number" v-model="form[`m${3+index * 3}l`]" :disabled="date.month  > (3+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="12" v-if="isquerytarget == 0">
                   <el-form-item :label="$t('挑战目标')">
                     <el-input type="number" v-model="form[`m${3+index * 3}h`]" :disabled="date.month  > (3+index * 3) && date.year >= year" autocomplete="off" @change="changeData()"></el-input>
                   </el-form-item>
@@ -116,11 +116,13 @@ export default {
       date:{
         year:'',
         month:''
-      }
+      },
+      isquerytarget:''
     }
   },
   methods:{
     onShow () {
+      this.queryTarget()
       this.form = Object.assign({},this.form,this.data)
       this.form.sa_salestargetbillid = this.$route.query.id
       let date = new Date()
@@ -153,7 +155,22 @@ export default {
         this.$emit('onSuccess')
         this.dialogTableVisible = false
       })
+    },
+    async queryTarget(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method": "querySite_Parameter",
+        "content": {
+        }
+      })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        this.isquerytarget = res.data.isquerytarget
+      }
     }
+  },
+  mounted() {
   }
 }
 

+ 34 - 1
src/HManagement/personalTarget/target/modules/edit/components/table.vue

@@ -49,6 +49,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="y1h"
               :label="$t('挑战')"
               width="120">
@@ -67,6 +68,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="s1h"
               :label="$t('挑战')"
               width="120">
@@ -85,6 +87,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m1h"
               :label="$t('挑战')"
               width="120">
@@ -103,6 +106,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m2h"
               :label="$t('挑战')"
               width="120">
@@ -121,6 +125,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m3h"
               :label="$t('挑战')"
               width="120">
@@ -139,6 +144,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="s2h"
               :label="$t('挑战')"
               width="120">
@@ -157,6 +163,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m4h"
               :label="$t('挑战')"
               width="120">
@@ -175,6 +182,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m5h"
               :label="$t('挑战')"
               width="120">
@@ -193,6 +201,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m6h"
               :label="$t('挑战')"
               width="120">
@@ -211,6 +220,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="s3h"
               :label="$t('挑战')"
               width="120">
@@ -229,6 +239,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m7h"
               :label="$t('挑战')"
               width="120">
@@ -247,6 +258,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m8h"
               :label="$t('挑战')"
               width="120">
@@ -265,6 +277,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m9h"
               :label="$t('挑战')"
               width="120">
@@ -283,6 +296,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="s4h"
               :label="$t('挑战')"
               width="120">
@@ -301,6 +315,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m10h"
               :label="$t('挑战')"
               width="120">
@@ -319,6 +334,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m11h"
               :label="$t('挑战')"
               width="120">
@@ -337,6 +353,7 @@
             </template>
           </el-table-column>
           <el-table-column
+              v-if="isquerytarget == 0"
               prop="m12h"
               :label="$t('挑战')"
               width="120">
@@ -392,7 +409,8 @@ export default {
       style:{
         background: '#FFFFFF',
         padding:'0px'
-      }
+      },
+      isquerytarget:''
     }
   },
   methods:{
@@ -461,6 +479,19 @@ export default {
         this.style.padding = '0px'
         console.log('全屏模式已退出');
       }
+    },
+    async queryTarget(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method": "querySite_Parameter",
+        "content": {
+        }
+      })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        this.isquerytarget = res.data.isquerytarget
+      }
     }
     /*yearData(data){
       console.log(data)
@@ -473,6 +504,8 @@ export default {
     document.addEventListener('mozfullscreenchange', this.handleFullscreenChange);
     document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange);
     document.addEventListener('MSFullscreenChange',this.handleFullscreenChange)
+
+    this.queryTarget()
   }
 }
 

+ 8 - 2
src/HManagement/serviceDataScreen/components/funnelBox.vue

@@ -12,11 +12,17 @@
         </div>
         <div class="box-margin-top">
           <span class="box-funnel-title-span1">{{$t(`预计签约`)}}:</span>
-          <span class="box-funnel-title-span2">{{data.signamount_due}}{{$t(`万元`)}}</span>
+          <span class="box-funnel-title-span2">
+            <span v-if="data.signamount_due > 10000">{{tool.formatAmount((data.signamount_due / 10000),2)}}{{$t(`亿元`)}}</span>
+            <span v-else>{{data.signamount_due}}{{$t(`万元`)}}</span>
+          </span>
         </div>
         <div class="box-margin-top">
           <span class="box-funnel-title-span1">{{$t(`项目成交`)}}:</span>
-          <span class="box-funnel-title-span3">{{data.dealamount}}{{$t(`万元`)}}</span>
+          <span class="box-funnel-title-span3">
+            <span v-if="data.dealamount > 10000">{{tool.formatAmount((data.dealamount / 10000),2)}}{{$t(`亿元`)}}</span>
+            <span v-else>{{data.dealamount}}{{$t(`万元`)}}</span>
+          </span>
         </div>
       </div>
       <div class="box-funnel-style" :style="{'width': width + 'vw','background':data.color}">

+ 44 - 44
src/HManagement/serviceDataScreen/index.vue

@@ -404,29 +404,29 @@ export default {
       this.$refs.profileRef.param.content.type = this.departmentid !== ''?1:0
       this.$refs.profileRef.param.content.where.isleave = this.isleave
       this.$refs.profileRef.listData()
-      this.$refs.profileRef.$refs.proTypRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.proTypRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.proTypRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.proFowRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.proFowRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.proFowRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.cusFowRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.cusFowRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.cusFowRef.param.content.where.isleave = this.isleave
-      let currentDate = new Date(); // 获取当前日期
+      // this.$refs.profileRef.$refs.proTypRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.proTypRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.proTypRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.proFowRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.proFowRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.proFowRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.where.isleave = this.isleave
+      // let currentDate = new Date(); // 获取当前日期
       // let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() ) // 计算起始日期
-      let startDate = currentDate.getFullYear() +'-' + 1
-      let endDate = currentDate.getFullYear() +'-' + 12 // 计算起始日期
-      this.$refs.profileRef.$refs.startRef.value = startDate
-      this.$refs.profileRef.$refs.endRef.value = endDate
-      this.$refs.profileRef.$refs.proTypRef.typeInit(true,'项目类型分析')
-      this.$refs.profileRef.$refs.proFowRef.typeInit(true,'项目跟进情况')
-      this.$refs.profileRef.$refs.cusFowRef.typeInit(true,'客户跟进情况')
-      this.$refs.profileRef.$refs.analyzeRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.analyzeRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.analyzeRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.analyzeDateRef.value = new Date().getFullYear() + '-' +  (new Date().getMonth() + 1) + '-' + new Date().getDate()
-      this.$refs.profileRef.$refs.analyzeRef.lineInit(true)
+      // let startDate = currentDate.getFullYear() +'-' + 1
+      // let endDate = currentDate.getFullYear() +'-' + 12 // 计算起始日期
+      // this.$refs.profileRef.$refs.startRef.value = startDate
+      // this.$refs.profileRef.$refs.endRef.value = endDate
+      // this.$refs.profileRef.$refs.proTypRef.typeInit(true,'项目类型分析')
+      // this.$refs.profileRef.$refs.proFowRef.typeInit(true,'项目跟进情况')
+      // this.$refs.profileRef.$refs.cusFowRef.typeInit(true,'客户跟进情况')
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.analyzeDateRef.value = new Date().getFullYear() + '-' +  (new Date().getMonth() + 1) + '-' + new Date().getDate()
+      // this.$refs.profileRef.$refs.analyzeRef.lineInit(true)
     },
     queryAllAgainData(id){
       /*业务员账户*/
@@ -494,29 +494,29 @@ export default {
       this.$refs.profileRef.param.content.type = this.departmentid !== ''?1:0
       this.$refs.profileRef.param.content.where.isleave = this.isleave
       this.$refs.profileRef.listData()
-      this.$refs.profileRef.$refs.proTypRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.proTypRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.proTypRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.proFowRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.proFowRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.proFowRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.cusFowRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.cusFowRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.cusFowRef.param.content.where.isleave = this.isleave
-      let currentDate = new Date(); // 获取当前日期
+      // this.$refs.profileRef.$refs.proTypRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.proTypRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.proTypRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.proFowRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.proFowRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.proFowRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.cusFowRef.param.content.where.isleave = this.isleave
+      // let currentDate = new Date(); // 获取当前日期
       // let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() ) // 计算起始日期
-      let startDate = currentDate.getFullYear() +'-' + 1
-      let endDate = currentDate.getFullYear() +'-' + 12 // 计算起始日期
-      this.$refs.profileRef.$refs.startRef.value = startDate
-      this.$refs.profileRef.$refs.endRef.value = endDate
-      this.$refs.profileRef.$refs.proTypRef.typeInit(false,'项目类型分析')
-      this.$refs.profileRef.$refs.proFowRef.typeInit(false,'项目跟进情况')
-      this.$refs.profileRef.$refs.cusFowRef.typeInit(false,'客户跟进情况')
-      this.$refs.profileRef.$refs.analyzeRef.param.content.dataid = id
-      this.$refs.profileRef.$refs.analyzeRef.param.content.type = this.departmentid !== ''?1:0
-      this.$refs.profileRef.$refs.analyzeRef.param.content.where.isleave = this.isleave
-      this.$refs.profileRef.$refs.analyzeDateRef.value = new Date().getFullYear() + '-' +  (new Date().getMonth() + 1) + '-' + new Date().getDate()
-      this.$refs.profileRef.$refs.analyzeRef.lineInit(false)
+      // let startDate = currentDate.getFullYear() +'-' + 1
+      // let endDate = currentDate.getFullYear() +'-' + 12 // 计算起始日期
+      // this.$refs.profileRef.$refs.startRef.value = startDate
+      // this.$refs.profileRef.$refs.endRef.value = endDate
+      // this.$refs.profileRef.$refs.proTypRef.typeInit(false,'项目类型分析')
+      // this.$refs.profileRef.$refs.proFowRef.typeInit(false,'项目跟进情况')
+      // this.$refs.profileRef.$refs.cusFowRef.typeInit(false,'客户跟进情况')
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.dataid = id
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.type = this.departmentid !== ''?1:0
+      // this.$refs.profileRef.$refs.analyzeRef.param.content.where.isleave = this.isleave
+      // this.$refs.profileRef.$refs.analyzeDateRef.value = new Date().getFullYear() + '-' +  (new Date().getMonth() + 1) + '-' + new Date().getDate()
+      // this.$refs.profileRef.$refs.analyzeRef.lineInit(false)
     },
     detailClick(){
       this.dialogVisible = true

+ 277 - 4
src/HManagement/serviceDataScreen/modules/salesFunnel.vue

@@ -4,7 +4,7 @@
       <template slot="content">
         <div style="display: flex;justify-content: space-between;margin-top: 1.256vw">
           <div>
-            <el-checkbox v-model="param.content.where.unfinish" true-label="0" false-label="1"  @change="listData(null)">{{$t(`包含失败、结案项目`)}}</el-checkbox>
+            <el-checkbox v-model="param.content.where.unfinish" true-label="0" false-label="1"  @change="listData(null,'查询')">{{$t(`包含失败、结案项目`)}}</el-checkbox>
           </div>
           <div style="display: flex;justify-content: left">
             <el-select v-model="param.content.dateType"  class="inline-16" size="small" @change="listData(param.content.dateType)" :popper-append-to-body="false">
@@ -25,9 +25,104 @@
           </div>
         </div>
         <div style="height: 0.256vw"></div>
-        <div>
+        <div class="scroll-container">
           <funnelBox style="margin-top: 1.256vw;" v-for="(item,index) in list"  :key="item.index" :width="width - (index * 1.042)"  :data="item"></funnelBox>
         </div>
+        <div class="justify-style-left" style="margin-top: 1.026vw;color: #e13333">
+          <div class="icon"></div>
+          <div class="title inline-left">
+            {{$t(`未来12月项目预计签约金额/预计成交金额分析`)}}
+          </div>
+          <div style="margin-left: 5px;margin-top: 2px">
+            <el-popover
+                :append-to-body="false"
+                placement="top-start"
+                width="200"
+                trigger="hover"
+            >
+              <template slot="default">
+              <span>
+               {{$t('预计成交金额 = 预计签约金额 × 项目成交率')}}<br/>
+              </span>
+              </template>
+              <div slot="reference">
+                <img
+                    width="14px"
+                    height="14px"
+                    src="../../../assets/icons/prompt_icon.svg"
+                />
+              </div>
+            </el-popover>
+          </div>
+        </div>
+        <div class="justify-style-left" style="margin-top: 0.325vw">
+          <div>
+            <div style="color: #3874F6" class="justify-style-left">
+              <div>
+                <span style="font-size: 1.250vw">{{sumsignamount_due}}</span>
+                <span style="font-size: 0.625vw">{{$t(`万元`)}}</span>
+              </div>
+              <div style="margin-left: 0.625vw">
+                <el-popover
+                    :append-to-body="false"
+                    placement="top-start"
+                    width="200"
+                    trigger="hover"
+                >
+                  <template slot="default">
+                    <span>
+                     {{$t('合计未来12个月的项目预计签约金额')}}<br/>
+                    </span>
+                  </template>
+                  <div slot="reference">
+                    <img
+                        width="14px"
+                        height="14px"
+                        src="../../../assets/icons/prompt_icon.svg"
+                    />
+                  </div>
+                </el-popover>
+              </div>
+            </div>
+            <div style="color: #CFDCE5;font-size: 0.625vw">{{$t(`预计签约金额合计`)}}</div>
+          </div>
+          <div style="margin-left: 5.250vw">
+            <div>
+              <div style="color: #3874F6" class="justify-style-left">
+                <div>
+                  <span style="font-size: 1.250vw">{{sumdealamount_due}}</span>
+                  <span style="font-size: 0.625vw">{{$t(`万元`)}}</span>
+                </div>
+                <div style="margin-left: 0.625vw">
+                  <el-popover
+                      :append-to-body="false"
+                      placement="top-start"
+                      width="200"
+                      trigger="hover"
+                  >
+                    <template slot="default">
+                    <span>
+                     {{$t('合计未来12个月的项目预计成交金额')}}<br/>
+                    </span>
+                    </template>
+                    <div slot="reference">
+                      <img
+                          width="14px"
+                          height="14px"
+                          src="../../../assets/icons/prompt_icon.svg"
+                      />
+                    </div>
+                  </el-popover>
+                </div>
+              </div>
+            </div>
+            <div style="color: #CFDCE5;font-size: 0.625vw">{{$t(`预计成交金额合计`)}}</div>
+          </div>
+        </div>
+        <div style="clear: both;margin-top: 0.625vw">
+          <div ref="chartRef" style="height: 7.856vw;">
+          </div>
+        </div>
       </template>
     </borderTemplate>
   </div>
@@ -37,6 +132,7 @@
 import borderTemplate from '../components/borderTemplate'
 import funnelBox from "../components/funnelBox";
 import datePicker from "../components/datePicker";
+import {Column} from "@antv/g2plot";
 export default {
   name: "salesFunnel",
   components:{borderTemplate,funnelBox,datePicker},
@@ -58,11 +154,36 @@ export default {
       },
       list:[],
       width:'23.958',
-      colorSet:['#40DCF2','#3685FC','#7367F2','#6CD2A1','#ECB937','#EC6D37']
+      colorSet:['#40DCF2','#3685FC','#7367F2','#6CD2A1','#ECB937','#EC6D37'],
+      transactionParam:{
+        "id": 20241028162104,
+        "content": {
+          "type": "0",
+          "dataid": "0",
+          "stagename":[],
+          "signdate_due":'',
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "tradefield": "",
+            "isleave":"",
+            "unfinish":'1'
+          }
+        }
+      },
+      sumsignamount_due:"",
+      sumdealamount_due:"",
+      futreData:'',
+      chartMap:[],
+      chartMapData:[],
+      stagename:[],
+      stagenameList:[],
+      selectHeight:null,
+      height:282,
     }
   },
   methods:{
-    async listData(val){
+    async listData(val,type){
       const res = await this.$api.requested(this.param)
       this.list = []
       this.list = res.data.map((item,index)=>{
@@ -80,6 +201,118 @@ export default {
       if (val) {
         this.dataChange(val)
       }
+      this.$nextTick(async()=>{
+        this.transactionParam.content.dataid = this.param.content.dataid
+        this.transactionParam.content.type = this.param.content.type
+        this.transactionParam.content.where.isleave = this.param.content.where.isleave
+        this.transactionParam.content.where.unfinish = this.param.content.where.unfinish
+        const res2 = await this.$api.requested(this.transactionParam)
+        if (res2.code == 0){
+          this.tool.showMessage(res2,()=>{})
+        }else {
+          this.sumsignamount_due = this.tool.formatAmount(this.tool.unitConversion(res2.data?res2.data[0].extradata.sumsignamount_due:"",10000),2)
+          this.sumdealamount_due = this.tool.formatAmount(this.tool.unitConversion(res2.data?res2.data[0].extradata.sumdealamount_due:"",10000),2)
+          this.futreData = res2.data?res2.data[0].extradata.array:""
+          this.chartData(type?false:true,this.futreData)
+        }
+      })
+    },
+    chartData(init,data){
+      let index = 0
+      let indexNew = 0
+      if (data){
+        data.forEach((item,num) =>{
+          if (num == index){
+            this.chartMapData[indexNew] = {
+              "signdate_due":item.signdate_due,
+              "value":Math.round(this.tool.unitConversion(item.signamount_due,10000)*100)/100,
+              "name":this.$t('预计签约金额')+ this.$t('(万)')
+            }
+            indexNew = indexNew + 1
+            this.chartMapData[indexNew] = {
+              "signdate_due":item.signdate_due,
+              "value":Math.round(this.tool.unitConversion(item.dealamount_due,10000)*100)/100,
+              "name":this.$t('预计成交金额') + this.$t('(万)')
+            }
+            indexNew = indexNew + 1
+            index = index + 1
+          }
+        })
+      }
+
+      console.log(this.chartMapData,'chartMapData')
+      if (init){
+        this.chartMap = new Column(this.$refs.chartRef,{
+          color:['#3685FC','#6CD2A1'],
+          data:this.chartMapData,
+          isGroup: true,
+          xField: 'signdate_due',
+          yField: 'value',
+          xAxis:{
+            label:{
+              style:{
+                fill:'#CFDCE5'
+              }
+            }
+          },
+          yAxis:{
+            value:{
+              label:{
+                style:{
+                  fill:'#CFDCE5'
+                }
+              }
+            }
+          },
+          seriesField: 'name',
+          /** 设置颜色 */
+          //color: ['#1ca9e6', '#f88c24'],
+          /** 设置间距 */
+          // marginRatio: 0.1,
+          label: {
+            // 可手动配置 label 数据标签位置
+            position: 'top', // 'top', 'middle', 'bottom'
+            offsetY:12,
+            // 可配置附加的布局方法
+            layout: [
+              // 数据标签防遮挡
+              { type: 'interval-hide-overlap' },
+            ],
+            style: {
+              fill: '#CFDCE5',
+              opacity: 0.9,
+              fontSize:12
+            },
+            formatter: (datum) =>{
+              console.log(datum.value)
+              return '¥' + this.tool.formatAmount(datum.value,2)
+            }
+          },
+          tooltip: {
+            formatter: (datum) => {
+              console.log(datum.value)
+              return {
+                name:datum.name,
+                value:'¥' + this.tool.formatAmount(datum.value,2)
+              }
+            }
+          },
+          legend:{
+            itemName:{
+              style:{
+                fill:'#CFDCE5'
+              }
+            },
+          },
+          interactions: [{ type: 'element-highlight-by-x' }],
+        });
+        this.chartMap.on('element:click',(evt) => {
+          this.$emit('clickChart',evt.data.data.signdate_due)
+        })
+        this.chartMap.render()
+      }else {
+        this.chartMap.changeData(this.chartMapData)
+      }
     },
     dataChange(val){
       if (val == '1'){
@@ -149,6 +382,30 @@ export default {
   text-transform: none;
   margin: auto;
 }
+.justify-style-left{
+  display: flex;
+  justify-content: left;
+}
+.icon {
+  width: 0.313vw;
+  height: 0.938vw;
+  background: #E6F4FF;
+  border-radius: 0.104vw 0.104vw 0.104vw 0.104vw;
+}
+.title{
+  /*width: 7.350vw;*/
+  height: 1.615vw;
+  font-family: Microsoft YaHei, Microsoft YaHei;
+  font-weight: bold;
+  font-size: 1.250vw;
+  color: #E6F4FF;
+  text-align: left;
+  line-height: 0.9vw;
+  vertical-align: middle;
+}
+.inline-left{
+  margin-left: 1.042vw;
+}
 /deep/ .el-checkbox__label {
   display: inline-block;
   padding-left: 0.521vw;
@@ -167,5 +424,21 @@ export default {
 /deep/ .panel .el-checkbox__input.is-checked+.el-checkbox__label{
   color: #E6F4FF !important;
 }
+.scroll-container {
+  max-height: 28.345vw;
+  min-height:28.345vw;
+  overflow: auto
+}
+::v-deep .scroll-container::-webkit-scrollbar {
+  width: 10px; /* 定义滚动条宽度 */
+}
+::v-deep .scroll-container::-webkit-scrollbar-track {
+  background: #021c3b;
+  border-radius: 4px;
+}
 
+::v-deep .scroll-container::-webkit-scrollbar-thumb {
+  background: #efefef;
+  border-radius: 4px;
+}
 </style>

+ 1 - 1
src/HManagement/siteManage/advertisement_mag/modules/setting.vue

@@ -74,7 +74,7 @@ export default {
     return {
       rules: {
         hyperlink: [
-          { required: true, message: $t('请输入链接地址'), trigger: 'blur' },
+          { required: true, message: this.$t('请输入链接地址'), trigger: 'blur' },
         ]
       },
       drawer:false,

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 25 - 0
src/HManagement/siteManage/securityConfig/index.vue


+ 60 - 0
src/HManagement/siteManage/securityConfig/modules/contractSubValidation.vue

@@ -0,0 +1,60 @@
+<template>
+  <div>
+    <el-button size="small" style="width:120px" type="primary" @click="queryStatementData">{{ $t('设 置') }}</el-button>
+    <el-dialog :title="$t(`合同提交校验附件`)" append-to-body :visible.sync="dialogSetVisible" width="860px">
+      <el-row :gutter="16" style="text-align: center">
+        <el-col :span="24" style="margin-top: -20px">
+          <span style="color: #8C8C8C">{{ $t('是否开启合同提交校验附件设置') }}?</span>
+        </el-col>
+        <el-col :span="24" style="margin-top: 20px">
+          <div style="width: 780px;" class="inline-16" >
+            <el-radio-group v-model="ischeckcontract">
+              <el-radio :label="1" style="color: #8C8C8C">{{ $t('开启') }}</el-radio>
+              <el-radio :label="0" style="color: #8C8C8C">{{$t('关闭')}}</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogSetVisible = false" class="normal-btn-width">{{$t('取 消')}}</el-button>
+        <el-button size="small" type="warning"  class="normal-btn-width btn-warning" @click="onSubmit">{{$t('确 定')}}</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "contractSubValidation",
+  props:["data"],
+  data(){
+    return {
+      dialogSetVisible:false,
+      ischeckcontract:0
+    }
+  },
+  methods:{
+    queryStatementData(){
+      this.dialogSetVisible = true
+      this.ischeckcontract = this.data.ischeckcontract
+    },
+    async onSubmit(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method":"updateSite_Parameter",
+        "content": {
+          "ischeckcontract":this.ischeckcontract
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('queryRule')
+        this.dialogSetVisible = false
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 60 - 0
src/HManagement/siteManage/securityConfig/modules/filterOutCustomerContacts.vue

@@ -0,0 +1,60 @@
+<template>
+  <div>
+    <el-button size="small" style="width:120px" type="primary" @click="queryStatementData">{{ $t('设 置') }}</el-button>
+    <el-dialog :title="$t(`客户/联系人跟进查询排除非自建非下级数据`)" append-to-body :visible.sync="dialogSetVisible" width="860px">
+      <el-row :gutter="16" style="text-align: center">
+        <el-col :span="24" style="margin-top: -20px">
+          <span style="color: #8C8C8C">{{ $t('是否开启客户/联系人跟进查询排除非自建非下级数据设置') }}?</span>
+        </el-col>
+        <el-col :span="24" style="margin-top: 20px">
+          <div style="width: 780px;" class="inline-16" >
+            <el-radio-group v-model="isqueryfollow">
+              <el-radio :label="1" style="color: #8C8C8C">{{ $t('开启') }}</el-radio>
+              <el-radio :label="0" style="color: #8C8C8C">{{$t('关闭')}}</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogSetVisible = false" class="normal-btn-width">{{$t('取 消')}}</el-button>
+        <el-button size="small" type="warning"  class="normal-btn-width btn-warning" @click="onSubmit">{{$t('确 定')}}</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "filterOutCustomerContacts",
+  props:["data"],
+  data(){
+    return {
+      dialogSetVisible:false,
+      isqueryfollow:0
+    }
+  },
+  methods:{
+    queryStatementData(){
+      this.dialogSetVisible = true
+      this.isqueryfollow = this.data.isqueryfollow
+    },
+    async onSubmit(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method":"updateSite_Parameter",
+        "content": {
+          "isqueryfollow":this.isqueryfollow
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('queryRule')
+        this.dialogSetVisible = false
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 60 - 0
src/HManagement/siteManage/securityConfig/modules/personTargetQuery.vue

@@ -0,0 +1,60 @@
+<template>
+  <div>
+    <el-button size="small" style="width:120px" type="primary" @click="queryStatementData">{{ $t('设 置') }}</el-button>
+    <el-dialog :title="$t(`人员目标排除挑战目标查询`)" append-to-body :visible.sync="dialogSetVisible" width="860px">
+      <el-row :gutter="16" style="text-align: center">
+        <el-col :span="24" style="margin-top: -20px">
+          <span style="color: #8C8C8C">{{ $t('是否开启人员目标排除挑战目标查询设置') }}?</span>
+        </el-col>
+        <el-col :span="24" style="margin-top: 20px">
+          <div style="width: 780px;" class="inline-16" >
+            <el-radio-group v-model="isquerytarget">
+              <el-radio :label="1" style="color: #8C8C8C">{{ $t('开启') }}</el-radio>
+              <el-radio :label="0" style="color: #8C8C8C">{{$t('关闭')}}</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogSetVisible = false" class="normal-btn-width">{{$t('取 消')}}</el-button>
+        <el-button size="small" type="warning"  class="normal-btn-width btn-warning" @click="onSubmit">{{$t('确 定')}}</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "personTargetQuery",
+  props:["data"],
+  data(){
+    return {
+      dialogSetVisible:false,
+      isquerytarget:0
+    }
+  },
+  methods:{
+    queryStatementData(){
+      this.dialogSetVisible = true
+      this.isquerytarget = this.data.isquerytarget
+    },
+    async onSubmit(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method":"updateSite_Parameter",
+        "content": {
+          "isquerytarget":this.isquerytarget
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('queryRule')
+        this.dialogSetVisible = false
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 0
src/SManagement/orderclue_detail/components/changeProject.vue

@@ -751,7 +751,9 @@ export default {
     },
   },
   created() {
+
     this.tablecols = this.tool.tabelCol(this.$route.name).duplicatesProjectTable.tablecols
+
   }
 }
 </script>

+ 26 - 5
src/SManagement/orderclue_detail/components/customerAudit.vue

@@ -139,11 +139,22 @@
         </el-row>
       </div>
       <div class="fixed__btn__panel">
-        <el-button size="small" type="danger" @click="onAudit('不通过')" class="normal-btn-width">{{$t('审核不通过')}}</el-button>
+        <el-button size="small" type="danger" @click="dialogNoAudit" class="normal-btn-width">{{$t('审核不通过')}}</el-button>
         <el-button size="small" type="success" @click="onAudit('通过')" class="normal-btn-width" v-if="!isrepeat">{{$t('审核通过')}}</el-button>
       </div>
     </el-drawer>
     <duplicateCheck :data="form" ref="checkRef" @checkSuccess="checkSuccess" @onSuccess="onClose" @isDuplicate="isDuplicate" v-show="false" :title="$t(`已存在重复客户,当前线索不可转化客户`)"></duplicateCheck>
+    <dialogTemplate btnType="warning" dialogTitle="原因说明" @onCancel="dialogCancel" ref="dialogRef" type="必填"
+    :content="reason_customer" @onSubmit="onAudit('不通过')">
+      <template #formRule>
+        <el-input
+            type="textarea"
+            :rows="5"
+            :placeholder="$t(`原因说明`)"
+            v-model="reason_customer">
+        </el-input>
+      </template>
+    </dialogTemplate>
   </div>
 </template>
 
@@ -152,11 +163,11 @@ import businessMessage from '@/components/businessMessage/index'
 import duplicateCheck from "@/components/duplicatesCheck/customerChangeCheck";
 import contactsNewTemplate from '@/template/contactsNewTemplate/index'
 import businessInquiry from '@/template/businessInquiry/index'
-
+import dialogTemplate from '@/components/dialogTemplate/index3'
 export default {
   props: ["disabled", "data"],
   name: "changeCustomer",
-  components: {businessMessage, duplicateCheck, contactsNewTemplate, businessInquiry},
+  components: {businessMessage, duplicateCheck, contactsNewTemplate, businessInquiry,dialogTemplate},
   data() {
     return {
       activeName: 'first',
@@ -292,7 +303,8 @@ export default {
       },
       areaCode:'',
       telephone:'',
-      isrepeat:false
+      isrepeat:false,
+      reason_customer:''
     }
   },
   methods:{
@@ -316,12 +328,19 @@ export default {
       }
       this.$refs.checkRef.queryRule()
     },
+    dialogNoAudit(){
+      this.$refs.dialogRef.dialogShow()
+    },
+    dialogCancel(){
+      this.reason_customer = ''
+    },
     async onAudit(val){
       const res = await this.$api.requested({
         "id": "20240907134204",
         "content": {
           "sat_orderclueid":this.$route.query.id,
-          "status":val //通过 不通过
+          "status":val, //通过 不通过
+          "reason_customer":this.reason_customer
         }
       })
       this.tool.showMessage(res,()=>{
@@ -528,10 +547,12 @@ export default {
 </script>
 
 <style scoped>
+
 /deep/ .el-input.is-disabled .el-input__inner {
   background-color: #f5f7fa;
   border-color: #e4e7ed;
   color: #606266;
   cursor: not-allowed;
 }
+
 </style>

+ 24 - 2
src/SManagement/orderclue_detail/components/projectAudit.vue

@@ -421,7 +421,7 @@
         <el-button
           size="small"
           type="danger"
-          @click="onAudit('不通过')"
+          @click="dialogNoAudit"
           class="normal-btn-width"
           >{{$t('审核不通过')}}</el-button
         >
@@ -443,15 +443,27 @@
       v-show="false"
       :title="$t(`已存在重复项目`)"
     ></duplicateCheck>
+    <dialogTemplate btnType="warning" dialogTitle="原因说明" @onCancel="dialogCancel" ref="dialogRef" type="必填"
+                    :content="reason_project" @onSubmit="onAudit('不通过')">
+      <template #formRule>
+        <el-input
+            type="textarea"
+            :rows="5"
+            :placeholder="$t(`原因说明`)"
+            v-model="reason_project">
+        </el-input>
+      </template>
+    </dialogTemplate>
   </div>
 </template>
 
 <script>
 import duplicateCheck from "@/components/duplicatesCheck/projectChangeCheck";
+import dialogTemplate from '@/components/dialogTemplate/index3'
 export default {
   props: ["disabled", "data"],
   name: "changeProject",
-  components: { duplicateCheck },
+  components: { duplicateCheck,dialogTemplate },
   data() {
     var begdateTime = (rule, value, callback) => {
       this.$refs.form.validateField("enddate_due");
@@ -552,6 +564,7 @@ export default {
         ],
       },
       siteid: "",
+      reason_project:''
     };
   },
   mounted() {
@@ -837,12 +850,19 @@ export default {
         this.unitnameList = res.data;
       });
     },
+    dialogNoAudit(){
+      this.$refs.dialogRef.dialogShow()
+    },
+    dialogCancel(){
+      this.reason_project = ''
+    },
     async onAudit(val) {
       const res = await this.$api.requested({
         id: "20240907162304",
         content: {
           sat_orderclueid: this.$route.query.id,
           status: val, //通过 不通过
+          reason_project:this.reason_project
         },
       });
       this.tool.showMessage(res, () => {
@@ -854,10 +874,12 @@ export default {
 </script>
 
 <style scoped>
+
 /deep/ .el-input.is-disabled .el-input__inner {
   background-color: #f5f7fa;
   border-color: #e4e7ed;
   color: #606266;
   cursor: not-allowed;
 }
+
 </style>

+ 4 - 0
src/SManagement/orderclue_detail/index.vue

@@ -29,8 +29,10 @@
 
         <changeCustomer v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'changeCutomer') && mainData.istransformingtocustomer == 0" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeCustomer="queryMainData('转化')"></changeCustomer>
         <changeProject v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'changeProject') && mainData.istransformingtoproject == 0" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeProject="queryMainData('转化')"/>
+
         <customerAudit v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'customerAudit') && mainData.istransformingtocustomer == 1 && siteid == 'HY'" :disabled="mainData.iscustomer == 1" class="inline-16" :data="mainData" @onCustomerAudit="queryMainData('审核')"></customerAudit>
         <projectAudit v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'projectAudit') && mainData.istransformingtoproject == 1 && siteid == 'HY'" :disabled="mainData.isproject == 1" class="inline-16" :data="mainData" @onProjectAudit="queryMainData('审核')"></projectAudit>
+
         <el-button :type="!isHandle || mainData.status === '已无效'?'':'primary'" v-if="tool.checkAuth($route.name,'goBack') && mainData.status != '已转化' && mainData.isprivate !== 1" :disabled="!isHandle || mainData.status === '已无效'" class="inline-16" size="mini" @click="goBack">{{$t(`退 回`)}}</el-button>
         <noNull v-if="tool.checkAuth($route.name,'noNull') && mainData.status != '已转化' " class="inline-16" :data="mainData" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
         <Del v-if="tool.checkAuth($route.name,'toVoid') " class="inline-16" :data="mainData" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>
@@ -364,6 +366,8 @@ export default {
           {label:'最近编辑时间',value:this.mainData.editDate},
           {label:'最近跟进人',value:this.mainData.followBy},
           {label:'最近跟进时间',value:this.mainData.followDate},
+          {label:'转化客户驳回原因',value:this.mainData.reason_customer},
+          {label:'转化项目驳回原因',value:this.mainData.reason_project},
           {label:'无效原因',value:this.mainData.invalidreason},
           {label:'作废原因',value:this.mainData.deletereason},
           {label:'跟进次数',value:this.mainData.followcount === 0?'0':this.mainData.followcount},

+ 33 - 2
src/SManagement/personal_target/components/table.vue

@@ -55,6 +55,7 @@
         </el-table-column>
         <el-table-column
           prop="y1h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -79,6 +80,7 @@
         </el-table-column>
         <el-table-column
           prop="s1h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -103,6 +105,7 @@
         </el-table-column>
         <el-table-column
           prop="m1h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -127,6 +130,7 @@
         </el-table-column>
         <el-table-column
           prop="m2h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -151,6 +155,7 @@
         </el-table-column>
         <el-table-column
           prop="m3h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -175,6 +180,7 @@
         </el-table-column>
         <el-table-column
           prop="s2h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -199,6 +205,7 @@
         </el-table-column>
         <el-table-column
           prop="m4h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -223,6 +230,7 @@
         </el-table-column>
         <el-table-column
           prop="m5h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -247,6 +255,7 @@
         </el-table-column>
         <el-table-column
           prop="m6h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -271,6 +280,7 @@
         </el-table-column>
         <el-table-column
           prop="s3h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -295,6 +305,7 @@
         </el-table-column>
         <el-table-column
           prop="m7h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -319,6 +330,7 @@
         </el-table-column>
         <el-table-column
           prop="m8h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -343,6 +355,7 @@
         </el-table-column>
         <el-table-column
           prop="m9h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -367,6 +380,7 @@
         </el-table-column>
         <el-table-column
           prop="s4h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -391,6 +405,7 @@
         </el-table-column>
         <el-table-column
           prop="m10h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -415,6 +430,7 @@
         </el-table-column>
         <el-table-column
           prop="m11h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -439,6 +455,7 @@
         </el-table-column>
         <el-table-column
           prop="m12h"
+          v-if="isquerytarget == 0"
           :label="$t('挑战')"
           width="120">
           <template slot-scope="scope">
@@ -495,7 +512,8 @@ export default {
               "condition":""//支持部门名称查询
           }
         },
-      }
+      },
+      isquerytarget:''
     }
   },
   watch: {
@@ -524,10 +542,23 @@ export default {
       this.param.content.pageNumber = val
       this.queryData()
     },
-
+    async queryTarget(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method": "querySite_Parameter",
+        "content": {
+        }
+      })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        this.isquerytarget = res.data.isquerytarget
+      }
+    }
   },
   mounted () {
     this.queryData()
+    this.queryTarget()
   }
 }
 

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác