Browse Source

京东异常采购单明细
1、异常处理弹框
2、提交异常处理

41235 1 year ago
parent
commit
415133da03
1 changed files with 67 additions and 35 deletions
  1. 67 35
      src/views/WDLY/jd/abnormalDetails/index.vue

+ 67 - 35
src/views/WDLY/jd/abnormalDetails/index.vue

@@ -36,56 +36,52 @@
       <el-form class="stepsActive1" :model="formData.data" ref="submitform" :rules="rules"  style="margin-top: 0px;height: auto"
                label-position="top" label-width="100px"  v-if="stepsActiveindex == 1">
             <el-form-item label="异常状态明细" prop="abnormalStatus">
-                <el-select v-model="formData.data.abnormalStatus" style="width: 100%;" @change="treeChange">
+                <el-select v-model="formData.data.abnormalStatus" style="width: 100%;" @change="treeChange" :disabled="isViewFlag">
                     <el-option v-for="item in abnormalHandleTypeDict" :key="item.value" :label="item.label" :value="item.value"/>
                 </el-select>
             </el-form-item>
             <el-form-item label="处理方案" prop="exHandle">
-              <el-select v-model="formData.data.exHandle" style="width: 100%;" >
+              <el-select v-model="formData.data.exHandle" style="width: 100%;" :disabled="isViewFlag">
                 <el-option v-for="item in abnormalHandleTypeChileDict" :key="item.value" :label="item.label" :value="item.value"/>
               </el-select>
             </el-form-item>
-
-
       </el-form>
       <el-form  class="stepsActive2" :model="formData.data" style="margin-top: 20px;height: auto" ref="submitform2" :rules="rules"  label-position="top" label-width="100px"  v-if="stepsActiveindex == 2">
-
-
-        <el-form-item label="出库仓库" prop="reduceWarehouseId" v-if="reduceFlag">
-          <el-select v-model="formData.data.reduceWarehouseId" style="width: 100%;" @change="(e)=>getProductList(e,2)">
+        <el-form-item label="出库仓库" prop="reduceWarehouseId" v-if="reduceFlag" >
+          <el-select v-model="formData.data.reduceWarehouseId" :disabled="isViewFlag" style="width: 100%;" @change="(e)=>getProductList(e,2)">
             <el-option v-for="item in warehouseList" :key="item.value" :label="item.label" :value="item.value"/>
           </el-select>
         </el-form-item>
-        <el-form-item label="出库商品" prop="reduceProductId" v-if="reduceFlag">
-          <el-select v-model="formData.data.reduceProductId" filterable  style="width: 100%;">
-            <el-option v-for="item in reduceProductList" :key="item.value" :label="item.label" :value="item.value"/>
+        <el-form-item label="出库商品" prop="reduceProductId" v-if="reduceFlag" >
+          <el-select v-model="formData.data.reduceProductId" filterable :disabled="isViewFlag" style="width: 100%;">
+            <el-option v-for="item in reduceProductList"  :key="item.value" :label="item.label" :value="item.value"/>
           </el-select>
         </el-form-item>
         <el-form-item label="出库商品数量" prop="reduceQuantity" v-if="reduceFlag">
-          <el-input v-model="formData.data.reduceQuantity" disabled placeholder="请输入出库商品数量" oninput="value=value.replace(/[^\d.]/g,'')"/>
+          <el-input v-model="formData.data.reduceQuantity" disabled  placeholder="请输入出库商品数量" oninput="value=value.replace(/[^\d.]/g,'')"/>
         </el-form-item>
 
 
-        <el-form-item label="入库仓库" prop="addWarehouseId" v-if="addFlag">
-          <el-select v-model="formData.data.addWarehouseId" style="width: 100%;" @change="(e)=>getProductList(e,1)">
-            <el-option v-for="item in warehouseList" :key="item.value" :label="item.label" :value="item.value"/>
+        <el-form-item label="入库仓库" prop="addWarehouseId" v-if="addFlag" >
+          <el-select v-model="formData.data.addWarehouseId" :disabled="isViewFlag" style="width: 100%;" @change="(e)=>getProductList(e,1)">
+            <el-option v-for="item in warehouseList"  :key="item.value" :label="item.label" :value="item.value"/>
           </el-select>
         </el-form-item>
         <el-form-item label="入库商品" prop="addProductId" v-if="addFlag">
-          <el-select v-model="formData.data.addProductId" filterable  style="width: 100%;">
+          <el-select v-model="formData.data.addProductId" filterable  style="width: 100%;" :disabled="isViewFlag">
             <el-option v-for="item in addProductList" :key="item.value" :label="item.label" :value="item.value"/>
           </el-select>
         </el-form-item>
-        <el-form-item label="入库商品数量" prop="addQuantity" v-if="addFlag">
+        <el-form-item label="入库商品数量" prop="addQuantity" v-if="addFlag" >
           <el-input v-model="formData.data.addQuantity" disabled placeholder="请输入出库商品数量" oninput="value=value.replace(/[^\d.]/g,'')"/>
         </el-form-item>
 
 
-        <el-form-item label="快递单号" prop="expressNo" v-if="deliveryFlag">
-          <el-input v-model="formData.data.expressNo"  placeholder="请输入快递单号" oninput="value=value.replace(/[^\d.]/g,'')"/>
+        <el-form-item label="快递单号" prop="expressNo" v-if="deliveryFlag" >
+          <el-input v-model="formData.data.expressNo" :disabled="isViewFlag" placeholder="请输入快递单号" oninput="value=value.replace(/[^\d.]/g,'')"/>
         </el-form-item>
         <el-form-item label="备注" prop="remark" v-if="remarkFlag">
-          <el-input type="textarea" :rows="3" v-model="formData.data.remark"  placeholder="请输入备注" oninput="value=value.replace(/[^\d.]/g,'')"/>
+          <el-input type="textarea" :rows="3" :disabled="isViewFlag" v-model="formData.data.remark"  placeholder="请输入备注" oninput="value=value.replace(/[^\d.]/g,'')"/>
         </el-form-item>
 
         <span style="color: red" v-if="tipsFlag">*请到京东平台补单</span>
@@ -95,7 +91,7 @@
         <el-divider></el-divider>
         <el-button @click="back" v-if="stepsActiveindex > 1 " size="large" :loading="submitLoading">上一步</el-button>
         <el-button @click="next" v-if="stepsActiveindex < 2 " size="large" :loading="submitLoading">下一步</el-button>
-        <el-button @click="submit"  v-if="stepsActiveindex ==2" size="large" :loading="submitLoading">确定</el-button>
+        <el-button @click="submit"  v-if="stepsActiveindex ==2  &&  !isViewFlag" size="large" :loading="submitLoading">确定</el-button>
       </template>
     </el-dialog>
 
@@ -177,11 +173,17 @@ const abnormalStatusDict = ref([
 
 const treeChange = (e) => {
   formData.data.exHandle = ""
+  treeChangeSelect(e)
+
+}
 
+const treeChangeSelect = (e) => {
   const abnormalStatusDict = abnormalStatusDictAll.value.filter(x=> {
     return x.value == e
   });
   abnormalHandleTypeChileDict.value = abnormalStatusDict[0].chile
+
+
 }
 
 
@@ -204,7 +206,9 @@ let rules = ref({
 
 const queryDialogVisible = ref(false);
 const dialogVisible = ref(false);
+const isViewFlag = ref(false);
 const stepsActiveindex = ref(1);
+const views = ref(1);
 
 let modalType = ref("add");
 const selectConfig = computed(() => {
@@ -345,6 +349,17 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "处理方案",
+        prop: "exHandle",
+        align: "left",
+        width: 180,
+      },
+      render(type) {
+        return proxy.dictValueLabel(type, abnormalStatusDict.value);
+      },
+    },
+    {
+      attrs: {
         label: "EPT采购单定制相关信息",
         prop: "wareProperty",
         align: "left",
@@ -369,16 +384,21 @@ const config = computed(() => {
                 },
                 el: "button",
                 click() {
-                  // ElMessageBox.confirm("是否确认当前采购单状态?", "提示", {
-                  //   confirmButtonText: "确定",
-                  //   cancelButtonText: "取消",
-                  //   type: "warning",
-                  // }).then(() => {
-                  openHandleAction(row);
-                  // });
+                  openHandleAction(row,false);
                 },
               }
-            : {},
+            : {
+                attrs: {
+                  label: "详情",
+                  type: "danger",
+                  text: true,
+                },
+                el: "button",
+                click() {
+                  openHandleAction(row,true);
+                },
+
+              },
         ];
       },
     },
@@ -486,7 +506,7 @@ const handleQuery = () => {
  * 确认采购单状态
  * @param row
  */
-const openHandleAction = (row) => {
+const openHandleAction = (row,isView) => {
     dialogVisible.value = true;
     stepsActiveindex.value = 1
 
@@ -494,11 +514,7 @@ const openHandleAction = (row) => {
 
     let absoluteValue = Math.abs(Number(row.confirmNum) - Number(row.actualNum))
 
-    formData.data = {
-      id:row.id,
-      reduceQuantity  : absoluteValue,
-      addQuantity  : absoluteValue,
-    }
+
 
     abnormalHandleTypeDict.value = abnormalStatusDictAll.value.map(x =>{
       return {
@@ -507,6 +523,22 @@ const openHandleAction = (row) => {
       };
     })
 
+    isViewFlag.value = isView
+    if (isView){
+      formData.data = row
+      //异常状态明细
+      formData.data.abnormalStatus = row.exHandle.substring(0,2)
+      //处理方案
+      treeChangeSelect(formData.data.abnormalStatus)
+    }else {
+      formData.data = {
+        id:row.id,
+        reduceQuantity  : absoluteValue,
+        addQuantity  : absoluteValue,
+      }
+    }
+
+
 };
 /**
  * 确认采购单状态