qymljy 1 anno fa
parent
commit
8ef8ea8c3d

+ 5 - 5
src/HDrpManagement/publicCustomer/modules/detail.vue

@@ -193,7 +193,7 @@ export default {
     async queryMainData (id) {
 
       const res = await this.$api.requested({
-        "id": "20221012164302",
+        "id": "20221011133502",
         "content": {
           "sa_customersid":this.$route.query.id
         }
@@ -202,7 +202,7 @@ export default {
        this.$refs.details.param.content.where.sa_customerpoolid = this.$route.query.tabIndex
       this.$refs.details.param.content.isExport = false
       this.mainData = Object.assign({},this.mainData,res.data)
-      this.length = this.mainData.leader.length
+      this.length = this.mainData.leader?this.mainData.leader.length:0
       this.getDataTag(this.mainData.sa_customersid)
       this.changeDataStructure()
     },
@@ -285,10 +285,10 @@ export default {
         },
         {
           label:'分配状态',
-          value:this.mainData['leader'].length !== 0 ? '已分配' : '待分配',
+          value:this.length !== 0 ? '已分配' : '待分配',
           style:function () {
             let style = {}
-            style = that.mainData['leader'].length !== 0  ? {color:'#333333'} : {color:'#3874f6'}
+            style = that.length !== 0  ? {color:'#333333'} : {color:'#3874f6'}
             return style
           }
         },
@@ -298,7 +298,7 @@ export default {
         },
         {
           label:'负责人',
-          value:this.mainData.leader.length === 0?"--":this.mainData.leader[0].name
+          value:this.mainData.leader?this.mainData.leader.length === 0?"--":this.mainData.leader[0].name:'--'
         },
       ]
     },

+ 23 - 15
src/HManagement/task/index.vue

@@ -16,7 +16,8 @@
         param:{
           type:type
         }
-      }">
+      }"
+      >
       <template #custom>
         <div  class="mt-10">
           <label class="search__label">任务范围:</label>
@@ -57,17 +58,6 @@
           <div v-else-if="scope.data.column.columnname === 'remindday'">
             <p>{{scope.data.column.data.remindday?scope.data.column.data.remindday + '天':'无需提醒'}}</p>
           </div>
-          <div v-else-if="scope.data.column.columnname === 'applicationData'">
-            <p v-if="scope.data.column.data.systemapp">
-              <span v-if="scope.data.column.data.systemapp.length > 0">
-                <el-button type="text" @click="detailGo(scope.data.column.data)">
-                  {{scope.data.column.data.systemapp[0].systemappname}}
-                </el-button>
-              </span>
-              <span v-else>--</span>
-            </p>
-            <p v-else>--</p>
-          </div>
           <span v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
         </div>
       </template>
@@ -105,7 +95,8 @@ export default {
           value:3
         },
       ],
-      status:''
+      status:'',
+      pathData:[]
     }
   },
   methods:{
@@ -118,8 +109,14 @@ export default {
       this.$refs['basicLayout'].listData()
     },
     detailGo(data){
+      console.log(data)
       this.$store.dispatch('changeDetailDrawer',true)
-      let path = data.systemapp[0].apppath_index
+      let path = ''
+      this.pathData.forEach(item=>{
+        if (item.remarks == data.ownertable){
+          path = item.value
+        }
+      })
       let route = this.$route
       if (route.path !== path.slice(1)){
         this.oldRoute = {path:route.path,query:route.query}
@@ -132,10 +129,21 @@ export default {
           rowindex:data.rowindex
         }
       })
+    },
+    /*表名对应的跳转路径*/
+    async queryPath(){
+      const res = await this.$store.dispatch('optiontypeselect','gotopath')
+      console.log(res.data,'路径')
+      this.pathData = res.data
+      this.queryData()
+
     }
   },
   mounted () {
-    this.queryData()
+    this.queryPath()
+  },
+  created() {
+
   }
 }
 

+ 77 - 6
src/HManagement/task/modules/detail.vue

@@ -43,8 +43,8 @@
               <el-descriptions-item label-class-name="my-label" label="结束日期">{{mainData.endtime?mainData.endtime:'无限'}}</el-descriptions-item>
               <el-descriptions-item label-class-name="my-label" label="提醒时间">{{mainData.remindday? mainData.remindday + '天' :'无需提醒'}}</el-descriptions-item>
               <el-descriptions-item label-class-name="my-label" label="关联应用数据">
-                <span v-if="mainData.systemapp">
-                  <el-button type="text" v-if="mainData.systemapp.length >0" @click="onGoto">{{mainData.systemapp[0].systemappname}}</el-button>
+                <span v-if="mainData.tableName">
+                  <el-button type="text" v-if="mainData.tableName !== '--'" @click="onGoto">{{mainData.tableName}}</el-button>
                   <span v-else>--</span>
                 </span>
                 <span v-else>--</span>
@@ -92,6 +92,7 @@ export default {
       disable:false,
       team:[],
       nowUserid: JSON.parse(sessionStorage.getItem('active_account')).userid,
+      pathData:[]
     }
   },
   computed:{
@@ -111,7 +112,8 @@ export default {
         }
       })
       this.mainData = Object.assign({},this.mainData,res.data)
-      this.changeDataStructure()
+      this.queryPath()
+
       this.queryAuthority()
      /* this.$refs['details'].$refs['group'].queryGroup()*/
       console.log(this.mainData.createuserid)
@@ -202,9 +204,9 @@ export default {
         },
         {
           label:'关联应用数据',
-          value:this.mainData.systemapp?this.mainData.systemapp.length>0?this.mainData.systemapp[0].systemappname:'':'',
+          value:this.mainData.tableName?this.mainData.tableName:'--',
           style:()=>{
-            let color = this.mainData.systemapp?this.mainData.systemapp.length>0?'#3874f6':'':''
+            let color = this.mainData.tableName?'#3874f6':''
             return {color: color}
           },
         }
@@ -256,7 +258,7 @@ export default {
     },
     /*任务页面跳转*/
     onGoto(){
-      let path = this.mainData.systemapp[0].apppath_index
+      let path = this.mainData.path
       let route = this.$route
       if (route.path !== path.slice(1)){
         this.oldRoute = {path:route.path,query:route.query}
@@ -270,6 +272,75 @@ export default {
         }
       })
     },
+    /*表名对应的跳转路径*/
+    async queryPath(){
+      const res = await this.$store.dispatch('optiontypeselect','gotopath')
+      this.pathData = res.data
+      if (this.pathData){
+        console.log("执行")
+        this.pathData.forEach(item=>{
+          if (item.remarks == this.mainData.ownertable){
+            if (this.mainData.ownertable == 'sat_orderclue'){
+              this.customerPath(this.mainData.ownerid)
+            }else if (this.mainData.ownertable == 'sa_salesforecastbill'){
+              this.predictionPath(this.mainData.ownerid)
+            }else if (this.mainData.ownertable == 'sa_customers'){
+              this.customerPath(this.mainData.ownerid)
+            } else {
+              this.mainData.tableName = item.subvalues[0]
+              this.mainData.path = item.value
+              this.changeDataStructure()
+            }
+          }
+        })
+
+      }
+
+    },
+    /*判断销售线索路径*/
+    async cluePath(id){
+      const res = await this.$api.requested({
+        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+        "method": "selectDetail",
+        "content": {
+          "sat_orderclueid": id
+        }
+      })
+      if (res.data){
+        this.mainData.tableName = res.data.isprivate == '1' ? '销售线索':'公海线索'
+        this.mainData.path = res.data.isprivate == '1' ? '/orderclue_detail':'/clueDetail'
+        this.changeDataStructure()
+      }
+
+    },
+    /*判断销售预测路径*/
+    async predictionPath(id){
+      const res = await this.$api.requested({
+        "id": 20230705144704,
+        "content": {
+          "sa_salesforecastbillid":id
+        }
+      })
+      if (res.data){
+        this.mainData.tableName = res.data.baseonproject == '1' ? '项目成交预测':'出货开票预测'
+        this.mainData.path = res.data.baseonproject == '1' ? '/projectPredictionDetail':'/invoicePredictionDetail'
+        this.changeDataStructure()
+      }
+    },
+    /*判断客户路径*/
+    async customerPath(id){
+      const res = await this.$api.requested({
+        "id": 20221012164302,
+        "content": {
+          "sa_customersid": id
+        },
+      })
+      if (res.data){
+        this.mainData.tableName = res.data.sa_customerpoolid == '0' ? '公海客户':'我的客户'
+        this.mainData.path = res.data.sa_customerpoolid == '0' ? '/PublicCustomerDetail':'/customerDetail'
+        this.changeDataStructure()
+      }
+    }
   },
   mounted () {
     this.queryMainData(this.$route.query.id)

+ 11 - 3
src/components/normal-basic-layout/details/index.vue

@@ -31,7 +31,15 @@
       <div v-show="isTop">
         <el-descriptions :column="5" size="mini">
           <el-descriptions-item label-class-name="my-label-layout" content-class-name="my-content" v-for="item in mainAData" :key="item.index" :label="item.label">
-            <span v-if="item.label === '关联应用数据'" @click="onGoto(item,item.index)" :style="item.style?item.style():''">{{item.value !== ''?item.value:'--'}}</span>
+            <span v-if="item.label === '关联应用数据'"  :style="item.style?item.style():''">
+              <span v-if="item.value !== ''">
+                <el-button v-if="item.value !== '--'" type="text" @click="onGoto()" style="margin: 0;padding: 0">
+                  {{item.value}}
+                </el-button>
+                <span v-else>--</span>
+              </span>
+              <span v-else>--</span>
+            </span>
             <span v-else :style="item.style?item.style():''">{{item.value !== ''?item.value:'--'}}</span>
           </el-descriptions-item>
         </el-descriptions>
@@ -345,8 +353,8 @@ export default {
 
 
     /*任务页面跳转*/
-    onGoto(row,index){
-      let path = this.mainData.systemapp[0].apppath_index
+    onGoto(){
+      let path = this.mainData.path
       let route = this.$route
       if (route.path !== path.slice(1)){
         this.oldRoute = {path:route.path,query:route.query}