aXin-0810 il y a 9 mois
Parent
commit
7b9394f24f

+ 27 - 13
src/views/workOrder/workOrderPool/detail.vue

@@ -2,12 +2,19 @@
   <div class="yemiansize">
     <el-tabs v-model="activeName" type="card" :lazy="true" @tab-click="handleClick">
       <el-tab-pane label="工单信息" name="workOrderInfo" key="workOrderInfo"> </el-tab-pane>
-      <el-tab-pane label="操作明细" name="operationDetails" key="operationDetails"> </el-tab-pane>
-      <el-tab-pane label="完工明细" name="detailsCompletion" key="detailsCompletion"></el-tab-pane>
-      <el-tab-pane :label="`支付费用`" name="payFee" key="payFee"></el-tab-pane>
-      <el-tab-pane v-if="EvaluationShow" label="评价信息" name="Evaluation" key="Evaluation"> </el-tab-pane>
-      <el-tab-pane v-if="SettleAccountsShow" label="费用结算" name="SettleAccounts" key="SettleAccounts"> </el-tab-pane>
-      <el-tab-pane v-if="PartsApplicationShow" label="配件申请" name="PartsApplication" key="PartsApplication">
+      <el-tab-pane v-if="!isImport" label="操作明细" name="operationDetails" key="operationDetails"> </el-tab-pane>
+      <el-tab-pane v-if="!isImport" label="完工明细" name="detailsCompletion" key="detailsCompletion"></el-tab-pane>
+      <el-tab-pane v-if="!isImport" label="支付费用" name="payFee" key="payFee"></el-tab-pane>
+      <el-tab-pane v-if="!isImport && EvaluationShow" label="评价信息" name="Evaluation" key="Evaluation">
+      </el-tab-pane>
+      <el-tab-pane v-if="!isImport && SettleAccountsShow" label="费用结算" name="SettleAccounts" key="SettleAccounts">
+      </el-tab-pane>
+      <el-tab-pane
+        v-if="!isImport && PartsApplicationShow"
+        label="配件申请"
+        name="PartsApplication"
+        key="PartsApplication"
+      >
       </el-tab-pane>
     </el-tabs>
     <div class="view_div">
@@ -19,13 +26,17 @@
       >
         <workOrderInfo :id="id" ref="workOrderInfo" :workOrderType="workOrderType" />
       </div>
-      <OperationDetail v-if="activeName == 'operationDetails'" :id="id" ref="operationDetails" />
-      <CompletionDetails v-if="activeName == 'detailsCompletion'" :id="id" ref="detailsCompletion" />
-      <Payment v-if="activeName == 'payFee'" :id="id" ref="payFee" :workOrderType="workOrderType" />
-      <Evaluation v-if="activeName == 'Evaluation' && EvaluationShow" :id="id" ref="Evaluation" />
-      <SettleAccounts v-if="activeName == 'SettleAccounts' && SettleAccountsShow" :id="id" ref="SettleAccounts" />
+      <OperationDetail v-if="!isImport && activeName == 'operationDetails'" :id="id" ref="operationDetails" />
+      <CompletionDetails v-if="!isImport && activeName == 'detailsCompletion'" :id="id" ref="detailsCompletion" />
+      <Payment v-if="!isImport && activeName == 'payFee'" :id="id" ref="payFee" :workOrderType="workOrderType" />
+      <Evaluation v-if="!isImport && activeName == 'Evaluation' && EvaluationShow" :id="id" ref="Evaluation" />
+      <SettleAccounts
+        v-if="!isImport && activeName == 'SettleAccounts' && SettleAccountsShow"
+        :id="id"
+        ref="SettleAccounts"
+      />
       <PartsApplication
-        v-if="activeName == 'PartsApplication' && PartsApplicationShow"
+        v-if="!isImport && activeName == 'PartsApplication' && PartsApplicationShow"
         :id="id"
         ref="PartsApplication"
       />
@@ -67,13 +78,16 @@ export default {
       activeName: this?.$route?.params?.pagePam || 'workOrderInfo',
       EvaluationShow: false,
       SettleAccountsShow: false,
-      PartsApplicationShow: true
+      PartsApplicationShow: true,
+      isImport: false
     }
   },
   created() {
     orderBaseDetail({
       orderBaseId: this.id
     }).then(res => {
+      this.isImport = res.data.isImport
+      console.log(this.isImport)
       if (!~['DYY', 'DSHPG', 'DWDPG', 'DJD', 'FWZ', 'YQX'].indexOf(res.data.orderStatus)) {
         this.EvaluationShow = true
         this.SettleAccountsShow = true

+ 1 - 1
src/views/workOrder/workOrderPool/detailModule/workOrderInfo/index.vue

@@ -73,7 +73,7 @@
         <orderReject v-if="~btnRestrict.indexOf(9)" :orderInfo="orderInfo" :orderType="orderType" />
         <!-- 10,激活工单 -->
         <activateOrder v-if="~btnRestrict.indexOf(10)" :orderInfo="orderInfo" :orderType="orderType" />
-        <cloneWorkOrderBtn :orderInfo="orderInfo" :orderType="orderType" />
+        <cloneWorkOrderBtn v-if="~btnRestrict.indexOf(20)" :orderInfo="orderInfo" :orderType="orderType" />
       </div>
       <div style="box-sizing: border-box; padding: 10px 10px 0" v-else>
         <!-- 关闭 -->

+ 30 - 24
src/views/workOrder/workOrderPool/detailModule/workOrderInfo/mixins/workOrderLogic.js

@@ -118,28 +118,32 @@ export default {
       // 1,保存 2,过程反馈 3,设为异常 4,加急 5,不加急 6,取消工单 7,回访 8,新建工单 9,工单驳回 10,激活工单
       var btns = []
       if (this.orderInfo) {
+        if (this?.orderInfo?.isImport) {
+          return []
+        }
+
         btns =
           {
             // 待预约
-            DYY: [],
+            DYY: [20],
             // 待商户派工
-            DSHPG: [1, 2, 4, 5, 6],
+            DSHPG: [1, 2, 4, 5, 6, 20],
             // 待网点派工
-            DWDPG: [1, 2, 4, 5, 6],
+            DWDPG: [1, 2, 4, 5, 6, 20],
             // 待接单
-            DJD: [1, 2, 4, 5, 6],
+            DJD: [1, 2, 4, 5, 6, 20],
             // 服务中
-            FWZ: [1, 2, 3, 4, 5, 6],
+            FWZ: [1, 2, 3, 4, 5, 6, 20],
             // 异常单
-            YCD: [1, 2, 6],
+            YCD: [1, 2, 6, 20],
             // 已完工待结算
-            YWG: [7, 8, 9],
+            YWG: [7, 8, 9, 20],
             // 已结算
-            YJS: [],
+            YJS: [20],
             // 已取消
-            YQX: [10],
+            YQX: [10, 20],
             // 待抢单
-            DQD: [1, 2, 4, 5, 6]
+            DQD: [1, 2, 4, 5, 6, 20]
           }[this.orderInfo.orderStatus] || []
       }
 
@@ -181,19 +185,19 @@ export default {
         },
         // 客户名称
         userName: {
-          isEdit: !!~[1, 3].indexOf(this?.workOrderType) && !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !!~[1, 3].indexOf(this?.workOrderType) && !finish,
           isShow: true,
           isRules: [...required]
         },
         // 联系人
         linkName: {
-          isEdit: !!~[1, 3].indexOf(this?.workOrderType) && !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !!~[1, 3].indexOf(this?.workOrderType) && !finish,
           isShow: true,
           isRules: [...required]
         },
         // 客户电话
         userMobile: {
-          isEdit: !!~[1, 3].indexOf(this?.workOrderType) && !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !!~[1, 3].indexOf(this?.workOrderType) && !finish,
           isShow: true,
           isRules: [...mobileRequired]
         },
@@ -205,13 +209,13 @@ export default {
         },
         // gps地址
         gpsAddress: {
-          isEdit: !!~[1, 3].indexOf(this?.workOrderType) && !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !!~[1, 3].indexOf(this?.workOrderType) && !finish,
           isShow: true,
           isRules: [...required]
         },
         // 详细地址
         address: {
-          isEdit: !!~[1, 3].indexOf(this?.workOrderType) && !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !!~[1, 3].indexOf(this?.workOrderType) && !finish,
           isShow: true,
           isRules: []
         },
@@ -229,7 +233,7 @@ export default {
         },
         // 预约上门日期
         appointmentTime: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: []
         },
@@ -239,47 +243,49 @@ export default {
           isRules: [...required]
         },
         saleCompany: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: []
         },
         source: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: []
         },
         // 产品信息------------------------
         orderProducts: {
-          isEdit: !finish && !this.orderInfo.isCj,
+          isEdit: this?.orderInfo?.isImport ? false : !finish && !this.orderInfo.isCj,
           isShow: true,
           isRules: [...required]
         },
         // 其它信息------------------------
         // 备注
         remark: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: []
         },
         // 派单信息-----------------------------
         // 服务商网点
         websitId: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: [...required]
         },
         isQd: {
-          isEdit: !!~['DSHPG', 'DWDPG', 'DJD', 'DQD', undefined].indexOf(this.orderInfo.orderStatus),
+          isEdit: this?.orderInfo?.isImport
+            ? false
+            : !!~['DSHPG', 'DWDPG', 'DJD', 'DQD', undefined].indexOf(this.orderInfo.orderStatus),
           isShow: true,
           isRules: [...required]
         },
         workerId: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: this.userInfo.type != 1 && !this.orderInfo.isQd ? [...required] : []
         },
         orderWorkers: {
-          isEdit: !finish,
+          isEdit: this?.orderInfo?.isImport ? false : !finish,
           isShow: true,
           isRules: this.userInfo.type != 1 && !this.orderInfo.isQd ? [...required] : []
         }

+ 11 - 3
src/views/workOrder/workOrderPool/index.vue

@@ -481,7 +481,7 @@ export default {
       return this.operationBtn({
         edit: {
           conditions: ({ row, index, column }) => {
-            return true
+            return !row.isImport
           },
           click: ({ row, index, column }) => {
             this.id = row.id
@@ -495,9 +495,17 @@ export default {
         },
         view: {
           conditions: ({ row, index, column }) => {
-            return true
+            return row.isImport
           },
-          click: ({ row, index, column }) => {}
+          click: ({ row, index, column }) => {
+            this.id = row.id
+            this.workOrderType = Number(
+              Object.entries(row?.selectMapData?.saleType || {}).find(([key, val]) => val == row.saleType)?.[0] || 1
+            )
+            this.$nextTick(() => {
+              this.detailFormBool = true
+            })
+          }
         }
       })
     },