Browse Source

Merge branch 'live' into edit

戴艳蓉 3 years ago
parent
commit
9bd86ea027
35 changed files with 1761 additions and 2491 deletions
  1. 19 0
      src/apis/service/sheetOrder/zxDiffOrder/index.js
  2. 1 1
      src/apis/service/sheetOrder/zxOrder/detail.js
  3. 17 0
      src/apis/service/sheetOrder/zxoutOrder/index.js
  4. 4 0
      src/assets/js/btnList.js
  5. 1 1
      src/styles/index.scss
  6. 1 0
      src/views/sellOut/salesOrder/components/addEdit.vue
  7. 1 1
      src/views/sellOut/salesOrder/components/order-out-table.vue
  8. 0 3
      src/views/sellOut/salesOrder/detail.vue
  9. 2 1
      src/views/sellOut/sellAfterApply/components/addEdit.vue
  10. 57 39
      src/views/sellOut/sellAfterApply/components/addEditForm.vue
  11. 1 0
      src/views/sellOut/sellAfterApply/serviceDetail copy.vue
  12. 8 7
      src/views/sheetOrder/zxAfterSale/columns.js
  13. 7 37
      src/views/sheetOrder/zxAfterSale/components/supplier_feedback.vue
  14. 20 9
      src/views/sheetOrder/zxAfterSale/detail.vue
  15. 3 4
      src/views/sheetOrder/zxAfterSale/index.vue
  16. 24 63
      src/views/sheetOrder/zxDiffOrder/columns.js
  17. 122 518
      src/views/sheetOrder/zxDiffOrder/components/addForm.vue
  18. 12 293
      src/views/sheetOrder/zxDiffOrder/components/columnsForm.js
  19. 73 110
      src/views/sheetOrder/zxDiffOrder/detail.vue
  20. 51 48
      src/views/sheetOrder/zxDiffOrder/index.vue
  21. 119 129
      src/views/sheetOrder/zxOrder/components/addForm.vue
  22. 43 101
      src/views/sheetOrder/zxOrder/components/order-out-table.vue
  23. 1 30
      src/views/sheetOrder/zxOrder/components/out-order-add-model.vue
  24. 27 37
      src/views/sheetOrder/zxOrder/detail.vue
  25. 4 5
      src/views/sheetOrder/zxOrder/index.vue
  26. 1 0
      src/views/sheetOrder/zxSheet/components/addForm.vue
  27. 59 121
      src/views/sheetOrder/zxoutOrder/columns.js
  28. 1 2
      src/views/sheetOrder/zxoutOrder/components/addEdit.vue
  29. 94 0
      src/views/sheetOrder/zxoutOrder/components/addEditA.vue
  30. 16 583
      src/views/sheetOrder/zxoutOrder/components/addEditForm.vue
  31. 550 0
      src/views/sheetOrder/zxoutOrder/components/addEditFormA.vue
  32. 26 0
      src/views/sheetOrder/zxoutOrder/components/columnsForm.js
  33. 231 0
      src/views/sheetOrder/zxoutOrder/components/logisticsForm.vue
  34. 91 118
      src/views/sheetOrder/zxoutOrder/detail.vue
  35. 74 230
      src/views/sheetOrder/zxoutOrder/index.vue

+ 19 - 0
src/apis/service/sheetOrder/zxDiffOrder/index.js

@@ -0,0 +1,19 @@
+// 物业管理员
+import http from "@/apis/axios";
+const api = "admin/";
+export default {
+  // 添加
+  add: (data, params) => http(api + "salezxcreate", data, "post", params),
+  // 删除
+  delete: (data, params) => http(api + "Consultdel", data, "post", params),
+  // 分页查询
+  list: (data, params) => http(api + "saledifflist", data, "post", params),
+  // 详情
+  detail: (data, params) => http(api + "salediffinfo", data, "post", params),
+  // 更新
+  update: (data, params) => http(api + "update", data, "post", params),
+  // 修改状态
+  status: (data, params) => http(api + "salediffcheck", data, "post", params),
+  // 通知业务部门
+  fstatus: (data, params) => http(api + "salediffstatus", data, "post", params),
+};

+ 1 - 1
src/apis/service/sheetOrder/zxOrder/detail.js

@@ -9,7 +9,7 @@ export default {
   // 详情
   detail: (data, params) => http(api + "saleinfo", data, "post", params),
   // 更新
-  update: (data, params) => http(api + "saleedit", data, "post", params),
+  update: (data, params) => http(api + "salezxedit", data, "post", params),
   // 修改状态
   status: (data, params) => http(api + "salestatus", data, "post", params),
   // 获取仓库商品列表

+ 17 - 0
src/apis/service/sheetOrder/zxoutOrder/index.js

@@ -0,0 +1,17 @@
+// 物业管理员
+import http from "@/apis/axios";
+const api = "admin/";
+export default {
+  // 详情
+  detail: (data, params) => http(api + "saleoutinfo", data, "post", params),
+
+  // 修改状态
+  status: (data, params) => http(api + "salecustomer", data, "post", params),
+  // 修改状态
+  list: (data, params) => http(api + "xsaleout", data, "post", params),
+
+  // 发货填写物流
+  salezxout: (data, params) => http(api + "salezxout", data, "post", params),
+
+
+};

+ 4 - 0
src/assets/js/btnList.js

@@ -41,6 +41,10 @@ const btnList = [
   { code: "040", name: "物流反馈" },
   { code: "041", name: "退货业务审核" },
   { code: "042", name: "退货验收审核" },
+  { code: "043", name: "业务审核" },
+  { code: "044", name: "通知业务部门" },
+  { code: "045", name: "填写物流" },
+  { code: "046", name: "供应商反馈" },
 
   
 ];

+ 1 - 1
src/styles/index.scss

@@ -506,7 +506,7 @@ aside {
   background: #f0f9eb !important;
 }
 
-.zxSheetDetail {
+.zxSheetDetail,.zxDiffOrderDetail {
   .modal-form-style {
     #demo-sitem.el-form {
       .el-row {

+ 1 - 0
src/views/sellOut/salesOrder/components/addEdit.vue

@@ -195,6 +195,7 @@
               style="margin: 0 0 0 10px"
               >导入收货地址</el-button
             >
+            
           </div>
           <el-form :model="addrForm" ref="addrForm" :size="'mini'">
             <el-table

+ 1 - 1
src/views/sellOut/salesOrder/components/order-out-table.vue

@@ -189,7 +189,7 @@ import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/salesOrder/detail";
 import outOrderAddModel from "./out-order-add-model";
-import addEdit from "@/views/sellOut/sellAfterApply/components/addEdit.vue";
+import addEdit from "@/views/sellOut/sellAfterApply/components/addEdit";
 
 import { mapGetters } from "vuex";
 

+ 0 - 3
src/views/sellOut/salesOrder/detail.vue

@@ -63,9 +63,6 @@
         :status="status"
       />
       <el-collapse v-model="activeNames">
-        <!-- <el-collapse-item title="审批节点" name="-1">
-        
-        </el-collapse-item> -->
         <el-collapse-item title="销售订单信息" name="0">
           <add-form
             :newTime="newTime"

+ 2 - 1
src/views/sellOut/sellAfterApply/components/addEdit.vue

@@ -3,7 +3,7 @@
     title="新建售后申请"
     :center="true"
     align="left"
-    top="22vh"
+    top="14vh"
     width="1000px"
     :close-on-click-modal="false"
     :visible.sync="showModelThis"
@@ -15,6 +15,7 @@
     <!-- <p>orderCode{{ sitem }}</p> -->
     <!-- <p>outCode{{ outCode }}</p> -->
 
+
     <el-card style="margin-top: -20px" v-loading="loading">
       <add-edit-form
         v-if="showModel"

+ 57 - 39
src/views/sellOut/sellAfterApply/components/addEditForm.vue

@@ -5,7 +5,7 @@
     :model="ruleForm"
     status-icon
     :rules="rulesThis"
-    label-width="100px"
+    label-width="80px"
     style="width: 100%"
     class="demo-ruleForm"
   >
@@ -13,54 +13,64 @@
     <p>disabled{{ disabled }}</p>
     <el-row>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="异常数量" prop="error_num">
+         <el-col :span="8">
+          <el-form-item label="发货总量" prop="send_num" required> 
+            <el-input
+              disabled
+              v-model="ruleForm.send_num"
+              placeholder="发货总量"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="异常数量" prop="anomalous_numbers">
             <el-input
               :disabled="disabled"
-              v-model="ruleForm.error_num"
-              placeholder="请输入异常数量"
+              v-model="ruleForm.anomalous_numbers"
+              placeholder="异常数量"
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-          <el-form-item label="异常原因" prop="error_code">
+    
+        <el-col :span="8">
+          <el-form-item label="期望意愿" prop="expect_wish">
             <el-select
               style="width: 100%"
               :disabled="disabled"
-              v-model="ruleForm.error_code"
-              placeholder="请选择异常原因"
+              v-model="ruleForm.expect_wish"
+              placeholder="期望意愿"
             >
               <el-option
-                v-for="item in reason_options"
-                :key="item.id"
-                :label="item.result"
-                :value="item.result_code"
-                :disabled="item.status == 0"
+                v-for="item in expect_options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
               >
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-          <el-form-item label="期望意愿" prop="except_code">
+            <el-col :span="8">
+          <el-form-item label="异常原因" prop="anomalous_reason">
             <el-select
               style="width: 100%"
               :disabled="disabled"
-              v-model="ruleForm.except_code"
-              placeholder="请选择期望意愿"
+              v-model="ruleForm.anomalous_reason"
+              placeholder="异常原因"
             >
               <el-option
-                v-for="item in expect_options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                v-for="item in reason_options"
+                :key="item.id"
+                :label="item.result"
+                :value="item.result_code"
+                :disabled="item.status == 0"
               >
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-          <el-form-item label="异常备注" prop="error_remark">
+        <el-col :span="16">
+          <el-form-item label="异常备注" prop="anomalous_remark">
             <el-input
               type="textarea"
               placeholder="请输入异常原因备注"
@@ -162,6 +172,7 @@ export default {
       resign_name: "", //离职人
       hand_name: "", //交接人
       ruleForm: {
+        send_num:"",
         order_type: "1", //售后类型 1销售2咨询,
         outCode: "", //出库单编号
         error_num: "", //异常数量
@@ -223,7 +234,7 @@ export default {
         },
         {
           value: "3",
-          label: "接受差异改变售价",
+          label: "改变售价",
         },
       ],
       code: "",
@@ -270,17 +281,17 @@ export default {
       this.loading = true;
       console.log(this.id);
       console.log(this.sitem);
-      if (this.id === "add") {
+      // if (this.id === "add") {
         this.status = "";
         this.rulesThis = this.rules;
         this.disabled = false;
         await this.resetForm();
-      } else {
-        this.isShow = false;
-        this.rulesThis = this.rules;
-        await this.resetForm();
-        await this.initData();
-      }
+      // } else {
+      //   this.isShow = false;
+      //   this.rulesThis = this.rules;
+      //   await this.resetForm();
+      //   await this.initData();
+      // }
       this.loading = false;
     },
     async initData() {
@@ -310,14 +321,21 @@ export default {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
+          console.log(this.sitem);
+          let { send_num } = this.sitem;
+          // this.code = outCode;
+          // if (this.id === "add") {
+          // let OutCode = "";
+          // bum.map((ele) => {
+          //   OutCode = ele.outCode;
+          // });
           this.ruleForm = {
-            order_type: "1", //售后类型 1销售2咨询,
-            outCode: "", //出库单编号
-            error_num: "", //异常数量
-            error_img: [], //异常图片
-            error_remark: "", //异常备注
-            error_code: "", //异常原因code
-            except_code: "", //期望意愿
+            send_num:send_num||"",
+            anomalous_numbers: "", //异常数量
+            anomalous_reason: "", //异常原因
+            expect_wish: "", //期望意愿
+            anomalous_images: [],
+            outCode: this.code,
           };
         }
       });

+ 1 - 0
src/views/sellOut/sellAfterApply/serviceDetail copy.vue

@@ -28,6 +28,7 @@
           name="2"
           v-if="powers.some((item) => item == '035')"
         >
+        
           <supplier-feedback></supplier-feedback>
         </el-collapse-item>
         <el-collapse-item

+ 8 - 7
src/views/sheetOrder/zxAfterSale/columns.js

@@ -21,7 +21,8 @@ export default [
   },
   {
     prop: "total_num",
-    label: "发货数量",
+    label: "出库单商品数量",
+    width: "105"
   },
   {
     prop: "good_code",
@@ -94,13 +95,13 @@ export default [
   //   prop:"post_fee",
   //   label:"物流费",
   // },
-  {
-    prop: "post_own",
-    label: "费用承担方",
-    width: "100",
-    _slot_: "post_own",
+  // {
+  //   prop: "post_own",
+  //   label: "费用承担方",
+  //   width: "100",
+  //   _slot_: "post_own",
 
-  },
+  // },
   {
     prop: "customer_code",
     label: "客户编码",

+ 7 - 37
src/views/sheetOrder/zxAfterSale/components/supplier_feedback.vue

@@ -43,9 +43,9 @@
       </el-row>
       <el-row v-if="ruleForm.whether_back === 'value1'">
         <el-col :span="12">
-          <el-form-item label="退回地址" prop="return_goods_addr">
+          <el-form-item label="地址省/市/区" prop="return_goods_addr">
             <select-area
-              :placeholder="'请选择省/市/区'"
+              :placeholder="'省/市/区'"
               :value="ruleForm.return_goods_addr"
               :is-detail="id !== 'add'"
               @selectChange="selectAreaAddr_code"
@@ -56,7 +56,7 @@
           <el-form-item label="详细地址" prop="addr_detail">
             <el-input
               v-model="ruleForm.addr_detail"
-              placeholder="请输入退货详细地址"
+              placeholder="详细地址"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -64,7 +64,7 @@
           <el-form-item label="收件人" prop="addressee">
             <el-input
               v-model="ruleForm.addressee"
-              placeholder="请输入收件人"
+              placeholder="收件人"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -72,7 +72,7 @@
           <el-form-item label="收件人电话" prop="addressee_phone">
             <el-input
               v-model="ruleForm.addressee_phone"
-              placeholder="请输入收件人电话"
+              placeholder="收件人电话"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -90,41 +90,13 @@
         <el-button type="primary" @click="submitForm" v-if="true"
           >保 存</el-button
         >
-        <el-button
-          type="primary"
-          @click="statusConfirm('1', '发起审核流程')"
-          v-if="status === '0' && powers.some((item) => item == '012')"
-          >发起审核流程
-        </el-button>
-        <el-button
-          @click="statusConfirm('0', '取消审核流程')"
-          plain
-          v-if="status === '1' && powers.some((item) => item == '014')"
-          >取消审核流程</el-button
-        >
-        <el-button
-          @click="statusConfirm('-1', '作废该条信息')"
-          type="danger"
-          plain
-          v-if="
-            (status === '0' || status === '1') &&
-            powers.some((item) => item == '015')
-          "
-          >作废该条信息</el-button
-        >
-        <el-button
-          @click="statusConfirm('2', '通过审核')"
-          type="primary"
-          v-if="status === '1' && powers.some((item) => item == '016')"
-          >通过审核</el-button
-        >
       </el-col>
     </el-row>
   </el-form>
 </template>
 <script>
-import { isMobile } from "@/utils/validate.js";
-import asyncRequest from "@/apis/service/sellOut/sellAfterApply";
+import { isMobile } from "@/utils/validate";
+import asyncRequest from "@/apis/service/sheetOrder/zxAfterSale";
 import resToken from "@/mixins/resToken";
 export default {
   name: "supplier_feedback",
@@ -324,7 +296,6 @@ export default {
         //   } else {
         //     res = await asyncRequest.update(model);
         //   }
-
         //   this.loading = false;
         //   if (res && res.code === 0) {
         //     const title = this.id === "add" ? "添加成功!" : "修改成功!";
@@ -332,7 +303,6 @@ export default {
         //       title,
         //       message: "",
         //     });
-
         //     if (this.id === "add") {
         //       this.showModelThis = false;
         //       this.$emit("refresh", false);

+ 20 - 9
src/views/sheetOrder/zxAfterSale/detail.vue

@@ -4,9 +4,7 @@
       style="width: 100%"
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
-      <p>{{ powers }}</p>
-      <p>status{{ s_status }}</p>
-      {{ newTime }}
+      <p>{{ status }}----{{ powers }}</p>
       <status-bar
         v-if="newTime !== ''"
         :newTime="newTime"
@@ -24,10 +22,10 @@
         <el-collapse-item
           title="业务审核"
           name="1"
-          v-if="powers.some((item) => item == '034')"
+          v-if="status == '0'&&powers.some((item) => item == '043')"
         >
           <exam-form
-            v-if="status == '0'"
+            v-if="newTime != ''"
             :statusList="statusList"
             :newTime="newTime"
             :disabled="false"
@@ -35,6 +33,17 @@
             @searchChange="examForm"
           />
         </el-collapse-item>
+        <el-collapse-item
+          title="物流反馈"
+          name="2"
+          v-if="powers.some((item) => item == '046')"
+        >
+          <supplier-feedback
+            v-if="newTime != ''"
+            :sitem="sitem"
+            :newTime="newTime"
+          />
+        </el-collapse-item>
         <el-collapse-item
           title="物流反馈"
           name="2"
@@ -59,11 +68,11 @@
           name="4"
           v-if="powers.some((item) => item == '040')"
         >
-          {{ s_status }}
+          {{ status }}
           <return-express
             @refresh="searchList"
             :returnCode="orderCode"
-            v-if="s_status == '3'"
+            v-if="status == '3'"
           ></return-express>
         </el-collapse-item>
         <el-collapse-item title="审批记录" name="10">
@@ -87,7 +96,8 @@ import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sheetOrder/zxAfterSale";
 import addEditForm from "./components/addEditForm.vue";
-import ExpressFeedback from "./components/express_feedback.vue";
+import ExpressFeedback from "./components/express_feedback";
+import supplierFeedback from "./components/supplier_feedback";
 
 import PurchaseCheck from "./components/purchase_check";
 import ReturnExpress from "./components/returnExpress";
@@ -99,6 +109,7 @@ export default {
     ExpressFeedback,
     PurchaseCheck,
     ReturnExpress,
+    supplierFeedback,
   },
   computed: {
     powers() {
@@ -192,7 +203,7 @@ export default {
       };
       const res = await asyncRequest.detail(model);
       if (res && res.code === 0 && res.data) {
-        this.s_status = res.data.status;
+        this.status = res.data.status;
         console.log(this.s_status);
         console.log(res.data);
         this.sitem = res.data;

+ 3 - 4
src/views/sheetOrder/zxAfterSale/index.vue

@@ -3,9 +3,8 @@
     <div
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
-      <!-- v-loading="loading" -->
       <ex-table
-        v-loading="false"
+        v-loading="loading"
         :table="table"
         :data="tableData"
         :columns="columns"
@@ -73,7 +72,7 @@
                 <search-customer
                   :value="customerCode"
                   :size="searchSize"
-                  :placeholder="'购买方公司'"
+                  :placeholder="'企业客户'"
                   @searchChange="customerChange"
                 />
               </el-col>
@@ -195,7 +194,7 @@
           >
             <i
               class="el-icon-view tb-icon"
-              @click="routeGoto('serviceDetail', { id: scope.row.returnCode })"
+              @click="routeGoto('zxAfterSaleDetail', { id: scope.row.returnCode })"
             ></i>
           </el-tooltip>
         </template>

+ 24 - 63
src/views/sheetOrder/zxDiffOrder/columns.js

@@ -1,91 +1,52 @@
 export default [
 
   {
-    prop: "zxNo",
-    label: "咨询单号",
+    prop: "orderCode",
+    label: "咨询号",
     fixed: "left",
     width: "152px",
   },
   {
-    prop: "sequenceNo",
-    label: "单据号",
-    width: "152px",
+    prop: "diff_weight",
+    label: "工差总重量",
+    width: "125px",
   },
   {
-    prop: "salesman",
-    label: "申请人",
-    width: "60px",
+    prop: "diff_price",
+    label: "工差总金额",
+    width: "125px",
   },
   {
-    prop: "khNo",
-    label: "客户公司编码",
+    prop: "gold_price",
+    label: "金价",
     width: "125px",
   },
   {
-    prop: "khname",
-    label: "客户公司名称",
+    prop: "good_code",
+    label: "商品编号",
     "min-width": "160px",
   },
   {
-    prop: "zxtype",
-    label: "咨询类型",
-    width: "85px",
-  },
-
-  {
-    prop: "cpname",
-    label: "产品名称",
+    prop: "good_name",
+    label: "商品名称",
     "min-width": "160px",
   },
   {
     prop: "class_cat",
     label: "商品分类",
-    "width": "100px",
-  },
-
-  {
-    prop: "unit",
-    label: "单位",
-    width: "45px",
-  },
-  {
-    prop: "num",
-    label: "需求数量",
-    width: "80px",
-  },
-  {
-    prop: "sale_price",
-    label: "财务定价",
-    width: "110px",
-  },
-  {
-    prop: "sale_fee",
-    label: "最终销售单价",
-    width: "110px",
-  },
-
-  {
-    prop: "color",
-    label: "颜色",
-  },
-  {
-    prop: "model",
-    label: "型号",
-  },
-  {
-    prop: "material",
-    label: "材质",
+    "width": "150px",
   },
   // {
-  //   prop: "status",
-  //   label: "状态",
-  //   _slot_: "status",
-  //   width: "80px",
+  //   prop: "is_act",
+  //   label: "是否接受工差",
+  //   "width": "150px",
   // },
-  {
-    prop: "scheme_name",
-    label: "方案名称",
-  },
+  // {
+  //   prop: "customer_remark",
+  //   label: "客户意愿",
+  //   "width": "150px",
+  // },
+
   {
     prop: "zxtime",
     label: "创建时间",

+ 122 - 518
src/views/sheetOrder/zxDiffOrder/components/addForm.vue

@@ -1,497 +1,152 @@
 <template>
-  <el-dialog
-    v-loading="loading"
-    :title="'添加咨询订单'"
-    :center="true"
-    align="left"
-    top="5vh"
-    width="1040px"
-    :close-on-click-modal="false"
-    :visible.sync="showModelThis"
-    element-loading-text="拼命加载中"
-    element-loading-spinner="el-icon-loading"
-    element-loading-background="rgba(0, 0, 0, 0.8)"
-    @close="closeModel"
+  <el-form
+    ref="ruleForm"
+    :model="ruleForm"
+    status-icon
+    :rules="rulesThis"
+    label-width="135px"
+    class="demo-ruleForm"
   >
-    <el-card style="margin-top: -20px">
-      <el-form
-        ref="ruleForm"
-        :model="ruleForm"
-        status-icon
-        :rules="rulesThis"
-        label-width="85px"
-        class="demo-ruleForm"
-      >
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="商品分类" prop="class_cat">
-              <el-input
-                v-model="ruleForm.class_cat"
-                placeholder="商品分类"
-                disabled
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="商品名称" prop="goods_name">
-              <el-input
-                v-model="ruleForm.goods_name"
-                placeholder="商品分类"
-                disabled
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="销售方" prop="supplierNo">
-              <search-supplier
-                :value="ruleForm.supplierNo"
-                :placeholder="'销售方公司'"
-                :disabled="false"
-                :isDetail="true"
-                :names="supplierName"
-                @searchChange="supplierChange"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="购买方" prop="customer_code">
-              <el-input
-                v-model="ruleForm.customer_name"
-                placeholder="购买方公司"
-                disabled
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="商品单价" prop="sale_fee">
-              <el-input
-                v-model="ruleForm.sale_fee"
-                placeholder="商品单价"
-                disabled
-                ><template slot="append">元</template></el-input
-              >
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="下单数量" prop="good_num">
-              <el-input v-model="ruleForm.good_num" placeholder="下单数量" />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="6">
-            <el-form-item label="商品类型" prop="goodtype">
-              <el-select
-                v-model="ruleForm.goodtype"
-                style="width: 100%"
-                placeholder="商品类型"
-              >
-                <el-option
-                  v-for="item in goodtypeOptions"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="发货类型" prop="sendtype">
-              <el-select
-                v-model="ruleForm.sendtype"
-                style="width: 100%"
-                placeholder="发货类型"
-              >
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div style="height: 40px" v-if="ruleForm.sendtype === '1'" class="tr">
-        <download-addr />
-        <el-button
-          type="primary"
-          size="mini"
-          @click="addrmodel = true"
-          style="margin: 0 0 0 10px"
-          >导入收货地址</el-button
-        >
-      </div>
-      <el-form
-        v-if="ruleForm.sendtype === '1'"
-        :model="addrForm"
-        ref="addrForm"
-        :size="'mini'"
-      >
-        <el-table
-          :data="addrForm.addrlist"
-          border
-          :size="'mini'"
-          style="width: 100%"
-          row-key="key"
-        >
-          <el-table-column
-            prop="receipt_quantity"
-            label="收货总数"
-            min-width="125"
+    <el-row>
+      <el-col :span="12">
+        <el-form-item label="客户是否接受工差" prop="is_act">
+          <el-select
+            v-model="ruleForm.is_act"
+            style="width: 100%"
+            :disabled="
+              !(status === '1' && powers.some((item) => item == '043'))
+            "
+            placeholder="客户是否接受工差"
           >
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'receipt_quantity'"
-                :rules="addrRules.receipt_quantity"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <el-input
-                  v-model="scope.row.receipt_quantity"
-                  :disabled="!scope.row.edit"
-                />
-              </el-form-item>
-            </template>
-          </el-table-column>
-
-          <el-table-column prop="arrive_time" label="最晚收货日期" width="150">
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'arrive_time'"
-                :rules="addrRules.arrive_time"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <el-date-picker
-                  :disabled="!scope.row.edit"
-                  v-model="scope.row.arrive_time"
-                  type="date"
-                  style="width: 100%"
-                  value-format="yyyy-MM-dd"
-                  :picker-options="pickerOptions"
-                >
-                </el-date-picker>
-              </el-form-item>
-            </template>
-          </el-table-column>
-          <el-table-column prop="contactor" label="收件联系人" min-width="110">
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'contactor'"
-                :rules="addrRules.contactor"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <el-input
-                  v-model="scope.row.contactor"
-                  :disabled="!scope.row.edit"
-                />
-              </el-form-item>
-            </template>
-          </el-table-column>
-
-          <el-table-column prop="mobile" label="收货联系电话" min-width="130">
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'mobile'"
-                :rules="addrRules.mobile"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <el-input
-                  v-model="scope.row.mobile"
-                  :disabled="!scope.row.edit"
-                />
-              </el-form-item>
-            </template>
-          </el-table-column>
-
-          <el-table-column prop="addr_code" label="收货省市区" min-width="230">
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'addr_code'"
-                :rules="addrRules.addr_code"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <select-area
-                  :value="scope.row.addr_code"
-                  :disabled="!scope.row.edit"
-                  :size="'mini'"
-                  @selectChange="select_area_change($event, scope.$index)"
-                />
-              </el-form-item>
-            </template>
-          </el-table-column>
-          <el-table-column prop="addr" label="详细地址" min-width="170">
-            <template slot-scope="scope">
-              <el-form-item
-                :prop="'addrlist.' + scope.$index + '.' + 'addr'"
-                :rules="addrRules.addr"
-                :size="'mini'"
-                :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
-              >
-                <el-input
-                  v-model="scope.row.addr"
-                  :disabled="!scope.row.edit"
-                />
-              </el-form-item>
-            </template>
-          </el-table-column>
-
-          <el-table-column fixed="right" width="80">
-            <template slot="header" slot-scope="scope">
-              <span>操作</span>
-
-              <el-tooltip
-                class="fr"
-                style="margin: 3px 0 0 0"
-                effect="dark"
-                content="添加"
-                placement="top"
-              >
-                <i
-                  class="el-icon-circle-plus-outline tb-icon"
-                  style="color: #63cbe7"
-                  @click="openHouseModal(-1)"
-                ></i>
-              </el-tooltip>
-            </template>
-            <template slot-scope="scope">
-              <el-tooltip
-                effect="dark"
-                content="编辑"
-                v-if="!scope.row.edit"
-                placement="top"
-              >
-                <i
-                  class="el-icon-edit tb-icon"
-                  @click="openHouseModal(scope.$index)"
-                ></i>
-              </el-tooltip>
-
-              <el-tooltip
-                effect="dark"
-                content="保存"
-                v-if="scope.row.edit"
-                placement="top"
-              >
-                <i
-                  class="el-icon-circle-check tb-icon"
-                  @click="checkRow(scope.$index)"
-                ></i>
-              </el-tooltip>
-
-              <el-tooltip effect="dark" content="删除" placement="top">
-                <i
-                  class="el-icon-delete tb-icon"
-                  @click="deleteRow(scope.$index, addrForm.addrlist)"
-                ></i>
-              </el-tooltip>
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-form>
-      <in-addr-model
-        :show-model="addrmodel"
-        @cancel="addrmodel = false"
-        @refresh="addrRefresh"
-      />
-      <div style="text-align: right">
+            <el-option
+              v-for="item in is_actOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="12" v-if="ruleForm.is_act === '1'">
+        <el-form-item label="客户意愿" prop="customer_remark">
+          <el-select
+            v-model="ruleForm.customer_remark"
+            style="width: 100%"
+            :disabled="
+              !(status === '1' && powers.some((item) => item == '043'))
+            "
+            placeholder="客户意愿"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="24">
+        <el-form-item label="审核备注" prop="remark">
+          <el-input
+            type="textarea"
+            :rows="2"
+            :disabled="
+              !(status === '1' && powers.some((item) => item == '043'))
+            "
+            placeholder="业务审核备注"
+            maxlength="250"
+            v-model="ruleForm.remark"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col
+        :span="24"
+        class="tr"
+        v-if="status === '1' && powers.some((item) => item == '043')"
+      >
         <el-button type="primary" :size="'mini'" @click="submitForm"
           >保 存
         </el-button>
-        <el-button :size="'mini'" @click="showModelThis = false">{{
-          isDetail ? "关 闭" : "取 消"
-        }}</el-button>
-      </div>
-    </el-card>
-  </el-dialog>
+      </el-col>
+    </el-row>
+  </el-form>
 </template>
 <script>
-import asyncRequest from "@/apis/service/sheetOrder/zxSheet";
+import asyncRequest from "@/apis/service/sheetOrder/zxDiffOrder";
 import resToken from "@/mixins/resToken";
-import { isnumber, isMobile } from "@/utils/validate";
-import inAddrModel from "@/components/in-addr-model";
+
 export default {
   name: "Account",
-  props: ["showModel", "sitem"],
+  props: ["newTime", "sitem"],
   mixins: [resToken],
-  components: { inAddrModel },
-  data() {
-    const validateWeight = (rule, value, callback) => {
-      if (value === "") {
-        callback(new Error("不能为空!"));
-      } else {
-        if (!isnumber(value)) {
-          callback(new Error("仅支持整数!"));
-        } else {
-          callback();
-        }
-      }
-    };
-    const validatemobile = (rule, value, callback) => {
-      if (value === "") {
-        callback(new Error("手机号不能为空!"));
+  computed: {
+    powers() {
+      let tran =
+        this.$store.getters.btnList.find(
+          (item) => item.menu_route == "zxDiffOrderDetail"
+        ) || {};
+      if (tran && tran.action && tran.action.length > 0) {
+        return tran.action;
       } else {
-        if (!isMobile(value)) {
-          callback(new Error("手机号格式不正确!"));
-        } else {
-          callback();
-        }
+        return [];
       }
-    };
+    },
+  },
+  data() {
     return {
       loading: false,
-      showModelThis: this.showModel,
-      addrmodel: false,
-      supplierNo: "",
-      supplierName:"",
+      status: "",
       options: [
         {
           value: "1",
-          label: "直接发货",
+          label: "咨询订单减工差",
         },
         {
           value: "2",
-          label: "延迟发货",
+          label: "咨询订单不减工差",
         },
       ],
-      goodtypeOptions: [
+      is_actOptions: [
         {
           value: "1",
-          label: "普通商品",
+          label: "接受工差",
         },
         {
           value: "2",
-          label: "赠品",
-        },
-        {
-          value: "3",
-          label: "样品",
+          label: "不接受工差-退回重做",
         },
       ],
-      addrForm: {
-        addrlist: [],
-      },
+
       ruleForm: {
-        zxNo: "",
-        customer_code: [],
-        supplierNo: [],
-        sendtype: "1",
-        good_num: "",
-        goodtype: "1",
-        class_cat: "",
-        goods_name: "",
-        sale_fee: "",
+        id: "",
+        status: "",
+        is_act: "1",
+        customer_remark: "1",
+        remark: "",
       },
       rulesThis: this.rules,
       rules: {
-        zxNo: [
-          {
-            required: true,
-            message: "咨询单号不能为空!",
-            trigger: "blur",
-          },
-        ],
-        customer_code: [
+        is_act: [
           {
             required: true,
-            message: "请选择购买方公司",
+            message: "请选择客户是否接受工差!",
             trigger: "change",
           },
         ],
-        class_cat: [
+        customer_remark: [
           {
             required: true,
-            message: "请选择商品分类",
+            message: "请选择客户意愿!",
             trigger: "change",
           },
         ],
-        supplierNo: [
+        remark: [
           {
-            type: "array",
             required: true,
-            message: "请选择销售方公司",
-            trigger: "change",
-          },
-        ],
-        sendtype: [
-          {
-            required: true,
-            message: "请选择发货类型",
-            trigger: "change",
-          },
-        ],
-
-        good_num: [
-          {
-            required: true,
-            validator: validateWeight,
-            trigger: "blur",
-          },
-        ],
-        goodtype: [
-          {
-            required: true,
-            message: "请选择商品类型",
-            trigger: "change",
-          },
-        ],
-        sale_fee: [
-          {
-            required: true,
-            message: "请输入商品单价",
-            trigger: "blur",
-          },
-        ],
-      },
-      addrRules: {
-        arrive_time: [
-          {
-            required: true,
-            message: "最晚收货日期不能为空",
-            trigger: "change",
-          },
-        ],
-        receipt_quantity: [
-          {
-            required: true,
-            validator: validateWeight,
-            trigger: "blur",
-          },
-        ],
-
-        contactor: [
-          {
-            required: true,
-            trigger: "blur",
-            message: "联系人不能为空",
-          },
-        ],
-        mobile: [
-          {
-            required: true,
-            validator: validatemobile,
-            trigger: "blur",
-          },
-        ],
-
-        addr_code: [
-          {
-            type: "array",
-            required: true,
-            message: "收货省市区不能为空",
-            trigger: "change",
-          },
-        ],
-        addr: [
-          {
-            required: true,
-            message: "详细地址不能为空",
+            message: "审核备注不能为空!",
             trigger: "blur",
           },
         ],
@@ -499,8 +154,7 @@ export default {
     };
   },
   watch: {
-    showModel: function (val) {
-      this.showModelThis = val;
+    newTime: function (val) {
       if (val) {
         this.initForm();
       }
@@ -511,6 +165,9 @@ export default {
       }
     },
   },
+  mounted() {
+    this.initForm();
+  },
   methods: {
     closeModel() {
       console.log("closeModel!!");
@@ -526,6 +183,7 @@ export default {
 
     async initForm() {
       this.loading = true;
+      this.status = "";
       this.rulesThis = this.rules;
       await this.resetForm();
       this.loading = false;
@@ -537,20 +195,18 @@ export default {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
-          const { zxNo, class_cat, khname, khNo, cpName, sale_fee } =
-            this.sitem;
-            console.log(this.sitem);
+          const { is_act, customer_remark, id, remark, status } = this.sitem;
+          this.status = status;
+          console.log(this.sitem);
           this.ruleForm = {
-            zxNo: zxNo || "",
-            customer_code: khNo || "",
-            customer_name: khname || "",
-            class_cat: class_cat || "",
-            goods_name: cpName || "",
-            supplierNo: [],
-            sendtype: "1", // 真实姓名
-            good_num: "",
-            sale_fee: sale_fee || "",
-            goodtype: "1",
+            id: id || "",
+            status: "",
+            is_act: is_act === "1" || is_act === "2" ? is_act : "1",
+            customer_remark:
+              customer_remark === "1" || customer_remark === "2"
+                ? customer_remark
+                : "1",
+            remark: remark || "",
           };
         }
       });
@@ -604,65 +260,13 @@ export default {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           this.loading = true;
-          const {
-            zxNo,
-            customer_code,
-            good_num,
-            sendtype,
-            supplierNo,
-            goodtype,
-          } = JSON.parse(JSON.stringify(this.ruleForm));
-          const { addrlist } = JSON.parse(JSON.stringify(this.addrForm));
-          console.log(goodtype);
-          if (sendtype === "1") {
-            let isok = true,
-              addrT = 0;
-            addrlist.forEach((v) => {
-              addrT += parseInt(v.receipt_quantity);
-              if (v.edit) {
-                isok = false;
-              }
-            });
-            if (!isok) {
-              this.$message.warning("请保存地址信息!");
-              this.loading = false;
-              return;
-            }
-            if (parseInt(good_num) !== addrT) {
-              this.$message.warning(
-                "下单数量,与收货地址信息中的总数量不一致!"
-              );
-              this.loading = false;
-              return;
-            }
-          }
-          const model = {
-            zxNo: zxNo || "",
-            customer_code: customer_code || "",
-            good_num: good_num || "",
-            supplierNo: supplierNo.length > 0 ? supplierNo[0] : "",
-            sendtype: sendtype | "",
-            goodtype: goodtype || "",
-            addrlist: [],
-          };
-          let list = [];
-          addrlist.forEach((v) => {
-            let xitem = {
-              contactor: v.contactor,
-              mobile: v.mobile,
-              addr: v.addr,
-              addr_code: v.addr_code,
-              receipt_quantity: v.receipt_quantity,
-              arrive_time: v.arrive_time,
-            };
-            list.push(xitem);
-          });
-          model.addrlist = sendtype === "1" ? list : [];
-          let res = await asyncRequest.add(model);
+          const model = JSON.parse(JSON.stringify(this.ruleForm));
+          model.status = "2";
+          let res = await asyncRequest.status(model);
           this.loading = false;
           if (res && res.code === 0) {
             this.$notify.success({
-              title: "添加成功",
+              title: "提交成功!",
               message: "",
             });
             this.showModelThis = false;

+ 12 - 293
src/views/sheetOrder/zxDiffOrder/components/columnsForm.js

@@ -1,320 +1,39 @@
 export default [
-    // {
-    //     prop: "name",
-    //     label: "数据标题",
-    //     col: "8",
-    // },
     {
-        prop: "zxNo",
-        label: "咨询单号",
+        prop: "orderCode",
+        label: "咨询订单编号",
         col: "8",
     },
-    {
-        prop: "zxtime",
-        label: "咨询日期",
-        col: "8",
-    },
-    {
-        prop: "zxtype",
-        label: "咨询类型",
-        col: "8",
-    },
-    {
-        prop: "sequenceNo",
-        label: "单据号",
-        col: "8",
-    },
-    {
-        prop: "cpzxNo",
-        label: "产品咨询单号",
-        col: "8",
-    },
-    {
-        prop: "salesman",
-        label: "申请人",
-        col: "8",
-    },
-    {
-        prop: "saler",
-        label: "采购人员",
-        col: "8",
-    },
-    {
-        prop: "num",
-        label: "需求数量",
-        col: "8",
-    },
-    {
-        prop: "sale_fee",
-        label: "最终销售单价",
-        col: "8",
-    },
-
-
-
-    {
-        prop: "khname",
-        label: "客户名称",
-        col: "16",
-    },
-    {
-        prop: "khNo",
-        label: "客户编码",
-        col: "8",
-    },
-
-    {
-        prop: "cpName",
-        label: "产品名称",
-        col: "16",
-    },
-    {
-        prop: "cpNo",
-        label: "产品编码",
-        col: "8",
-    },
-
     {
         prop: "class_cat",
         label: "商品分类",
         col: "16",
     },
     {
-        prop: "expiry_day",
-        label: "信息有效期",
-        unit: "天",
+        prop: "good_code",
+        label: "商品编号",
         col: "8",
     },
     {
-        prop: "desc",
-        label: "工艺说明",
+        prop: "good_name",
+        label: "商品名称",
         col: "16",
     },
-    {
-        prop: "model",
-        label: "型号",
-        col: "8",
-    },
-    {
-        prop: "specs",
-        label: "规格",
-        col: "8",
-    },
 
-    // {
-    //     prop: "cat_s",
-    //     label: "二级分类",
-    //     col: "8",
-    // },
 
     {
-        prop: "material",
-        label: "材质",
-        col: "8",
-    },
-    {
-        prop: "color",
-        label: "颜色",
-        col: "8",
-    },
-    {
-        prop: "unit",
-        label: "单位",
+        prop: "diff_price",
+        label: "工差总金额",
         col: "8",
     },
     {
-        prop: "metals",
-        label: "贵金属种类",
+        prop: "diff_weight",
+        label: "工差总重量",
         col: "8",
     },
     {
-        prop: "is_diff",
-        label: "是否有公差",
+        prop: "gold_price",
+        label: "金价",
         col: "8",
     },
-    {
-        prop: "delivery_day",
-        label: "物流时间",
-        unit: "天",
-        col: "8",
-    },
-    {
-        prop: "work_day",
-        label: "产品工期",
-        unit: "天",
-        col: "8",
-    },
-
-    // {
-    //     prop: "min_num",
-    //     label: "最低一次一地起订量",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "delivery_way",
-    //     label: "发货方式",
-    //     col: "8",
-    // },
-    {
-        prop: "mark_fee",
-        label: "加标费",
-        col: "8",
-    },
-    {
-        prop: "cert_fee",
-        label: "证书费",
-        col: "8",
-    },
-    {
-        prop: "package_fee",
-        label: "包装费",
-        col: "8",
-    },
-    {
-        prop: "open_fee",
-        label: "开模费",
-        col: "8",
-    },
-
-    {
-        prop: "cost_fee",
-        label: "成本工艺费",
-        col: "8",
-    },
-    {
-        prop: "delivery_fee",
-        label: "物流费",
-        col: "8",
-    },
-    // {
-    //     prop: "bare_fee",
-    //     label: "产品裸价",
-    //     col: "8",
-    // },
-    {
-        prop: "total_fee",
-        label: "成本合计",
-        col: "8",
-    },
-    // {
-    //     prop: "gold_price",
-    //     label: "当日进价",
-    //     col: "8",
-    // },
-
-    {
-        prop: "weight",
-        label: "商品重量",
-        unit: "g",
-        col: "8",
-    },
-
-    // {
-    //     prop: "pay_way",
-    //     label: "付款方式",
-    //     col: "8",
-    // },
-    {
-        prop: "tax",
-        label: "税点",
-        col: "8",
-    },
-
-    // {
-    //     prop: "addr",
-    //     label: "产品所在地",
-    //     col: "8",
-    // },
-
-    {
-        prop: "sale_craft",
-        label: "销售工艺费",
-        col: "8",
-    },
-
-    {
-        prop: "sale_price",
-        label: "采购定价",
-        col: "8",
-    },
-    {
-        prop: "brank",
-        label: "品牌",
-        col: "8",
-    },
-
-
-
-    {
-        prop: "wsm_type",
-        label: "库房性质",
-        col: "8",
-    },
-    // {
-    //     prop: "cgremark",
-    //     label: "采购备注",
-    //     col: "8",
-    // },
-
-
-    // {
-    //     prop: "cfNo",
-    //     label: "采反单号",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "cfDate",
-    //     label: "采反日期",
-    //     col: "8",
-    // },
-
-
-    // {
-    //     prop: "proname",
-    //     label: "项目名称",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "scheme_name",
-    //     label: "方案名称",
-    //     col: "8",
-    // },
-
-
-    // {
-    //     prop: "sale_remark",
-    //     label: "采购备注",
-    //     col: "8",
-    // },
-
-    // {
-    //     prop: "gysNo",
-    //     label: "供应商编码",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "gysname",
-    //     label: "供应商名称",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "status",
-    //     label: "状态",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "is_del",
-    //     label: "是否删除",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "addtime",
-    //     label: "添加时间",
-    //     col: "8",
-    // },
-    // {
-    //     prop: "updatetime",
-    //     label: "更新时间",
-    //     col: "8",
-    // },
 ]

+ 73 - 110
src/views/sheetOrder/zxDiffOrder/detail.vue

@@ -1,44 +1,55 @@
 <template>
-  <div class="zxSheetDetail pagePadding">
+  <div class="zxDiffOrderDetail pagePadding">
     <div
       style="width: 100%"
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
       <div class="tl" style="padding: 10px 0 22px 0">
-        <span>咨询单详情:</span>
-        <el-button
-          @click="statusConfirm('-1', '作废该条信息')"
-          type="danger"
-          class="fr"
-          plain
-          :size="'mini'"
-          v-if="powers.some((item) => item == '006')"
-          style="margin:0 0 0 10px"
-          >作废该条信息</el-button
-        >
-        <el-button
-          v-if="powers.some((item) => item == '003')"
-          style="margin: 0 0 0 10px"
-          class="fr"
-          type="primary"
-          plain
-          :size="'mini'"
-          @click="showModel = true"
-          >新建咨询订单
-        </el-button>
+        <span>咨询工差单详情:</span>
       </div>
-      <show-form
-        :newTime="newTime"
+      <status-bar
         v-if="newTime !== ''"
-        :sitem="sitem"
-        :id="queryId"
-      />
-      <add-form
-        :sitem="sitem"
-        :show-model="showModel"
-        @refresh="showModel = false"
-        @cancel="showModel = false"
+        :newTime="newTime"
+        :options="statusOptions"
+        :status="status"
       />
+      <el-collapse v-model="activeNames">
+        <el-collapse-item title="采购工差单信息" name="1">
+          <show-form
+            :newTime="newTime"
+            v-if="newTime !== ''"
+            :sitem="sitem"
+            :id="queryId"
+          />
+        </el-collapse-item>
+        <el-collapse-item title="业务审核" name="2">
+          <add-form
+            :sitem="sitem"
+            :newTime="newTime"
+            v-if="newTime !== ''"
+            @refresh="initData()"
+          />
+        </el-collapse-item>
+        <el-collapse-item
+          title="通知业务部门"
+          name="3"
+          v-if="status === '2' && powers.some((item) => item == '044')"
+        >
+          <div class="tr" style="padding: 0 30px 20px 0">
+            <el-button type="primary" plain :size="'mini'" @click="setStatus"
+              >我已知晓</el-button
+            >
+          </div>
+        </el-collapse-item>
+        <el-collapse-item title="审批记录" name="10">
+          <process-time-line
+            v-if="newTime !== ''"
+            :newTime="newTime"
+            :type="'CGD'"
+            :orderCode="queryId"
+          />
+        </el-collapse-item>
+      </el-collapse>
     </div>
     <div v-else>
       <no-auth></no-auth>
@@ -48,11 +59,11 @@
    <script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
-import asyncRequest from "@/apis/service/sheetOrder/zxSheet";
+import asyncRequest from "@/apis/service/sheetOrder/zxDiffOrder";
 import showForm from "./components/showForm";
 import addForm from "./components/addForm";
 export default {
-  name: "zxSheetDetail",
+  name: "zxDiffOrderDetail",
   mixins: [mixinPage, resToken],
   components: {
     showForm,
@@ -62,7 +73,7 @@ export default {
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "zxSheetDetail"
+          (item) => item.menu_route == "zxDiffOrderDetail"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -79,12 +90,9 @@ export default {
       showModel: false,
       activeNames: ["-1", "0", "1", "2", "3", "4", "5", "10"],
       statusOptions: [
-        { value: "0", label: "取消" },
-        { value: "1", label: "发起" },
-        { value: "2", label: "反馈物流费" },
-        { value: "3", label: "同意下单" },
-        { value: "4", label: "发货中" },
-        { value: "5", label: "已发货" },
+        { value: "1", label: "待业务部门审核" },
+        { value: "2", label: "待通知业务部门" },
+        { value: "3", label: "审批已完成" },
       ],
       sitem: null,
       orderCode: "",
@@ -100,91 +108,46 @@ export default {
     this.initData();
   },
   methods: {
-    async statusConfirm(status, message) {
-      await this.$confirm(`确定要${message}?`, {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(async () => {
-          if (status === "-1") {
-            await this.deleteById(message);
-          } else {
-            await this.setStatus(status, message);
-          }
-        })
-        .catch(() => {
-          console.log("取消");
-        });
-    },
     getNewTime() {
       this.newTime = new Date().valueOf() + "";
     },
 
-    async deleteById(message) {
-      const res = await asyncRequest.delete({ id: this.queryId });
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: message + "成功!",
-          message: "",
-        });
-
-        this.routeGoto("zxSheet", {});
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
-      }
-    },
-
-    async setStatus(status, message, remark) {
-      let model = {
-        id: this.queryId,
-        remark: remark || "",
-        status: status,
-      };
-      const res = await asyncRequest.status(model);
-      this.loading = false;
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: message + "成功!",
-          message: "",
-        });
-        this.initData();
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
-      }
-    },
-    async examForm(e) {
+    async setStatus() {
       if (!this.loading) {
-        let type = e.state === "1" ? "2" : "0";
-        await this.setStatus(type, "提交入库方审核", e.remark);
+        this.loading = true;
+
+        let model = {
+          id: this.queryId,
+          remark: "",
+          status: "",
+        };
+        const res = await asyncRequest.fstatus(model);
+        this.loading = false;
+        if (res && res.code === 0) {
+          this.$notify.success({
+            title: "通知成功!",
+            message: "",
+          });
+          this.initData();
+        } else if (res && res.code >= 100 && res.code <= 104) {
+          await this.logout();
+        } else {
+          this.$message.warning(res.message);
+        }
       }
     },
     async initData() {
       const res = await asyncRequest.detail({ id: this.queryId });
       if (res && res.code === 0 && res.data) {
         this.sitem = res.data;
-        const { can } = res.data;
+        const { can, status } = res.data;
+        this.status = status;
         this.sitem.class_cat = "";
         if (can && can.length > 0) {
           can.forEach((x, i) => {
             this.sitem.class_cat += i === 0 ? x.name : "/" + x.name;
           });
         }
-        this.sitem.mark_fee = this.setNum(this.sitem.mark_fee);
-        this.sitem.cert_fee = this.setNum(this.sitem.cert_fee);
-        this.sitem.package_fee = this.setNum(this.sitem.package_fee);
-        this.sitem.open_fee = this.setNum(this.sitem.open_fee);
-        this.sitem.cost_fee = this.setNum(this.sitem.cost_fee);
-        this.sitem.delivery_fee = this.setNum(this.sitem.delivery_fee);
-        this.sitem.sale_craft = this.setNum(this.sitem.sale_craft);
-        this.sitem.total_fee = this.setNum(this.sitem.total_fee);
-        this.sitem.sale_price = this.setNum(this.sitem.sale_price);
-        this.sitem.sale_fee = this.setNum(this.sitem.sale_fee);
-        this.sitem.bare_fee = this.setNum(this.sitem.bare_fee);
         console.log(this.sitem);
         this.getNewTime();
       } else if (res && res.code >= 100 && res.code <= 104) {
@@ -197,7 +160,7 @@ export default {
 };
 </script>
    <style lang="scss" scoped>
-.zxSheetDetail {
+.zxDiffOrderDetail {
 }
 </style>
    

+ 51 - 48
src/views/sheetOrder/zxDiffOrder/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="zxSheet pagePadding">
+  <div class="zxDiffOrder pagePadding">
     <div
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
@@ -27,33 +27,21 @@
           <div style="width: 100%">
             <el-row style="padding: 0 0 0 80px">
               <el-col :span="24">
-                <el-col :span="4" style="width: 140px">
-                  <el-select
+               
+                <el-col :span="4" style="width: 400px;">
+                  <search-customer
+                    :value="customerCode"
                     :size="searchSize"
-                    v-model="parmValue.zxtype"
-                    filterable
-                    clearable
-                    placeholder="咨询类型"
-                    style="width: 100%"
-                    @change="
-                      pageInfo.curr = 1;
-                      parmValue.page = 1;
-                      searchList();
-                    "
-                  >
-                    <el-option
-                      v-for="item in statusList"
-                      :key="'zxtype' + item"
-                      :label="iteme"
-                      :value="item"
-                    />
-                  </el-select>
+                    :placeholder="'购买方公司名称'"
+                    @searchChange="customerChange"
+                  />
                 </el-col>
-                <el-col :span="4" style="width: 420px; padding: 0 0 0 10px">
+
+                <el-col :span="4" style="width: 410px; padding: 0 0 0 10px">
                   <search-customer
                     :value="customerCode"
                     :size="searchSize"
-                    :placeholder="'客户公司名称'"
+                    :placeholder="'购买方公司名称'"
                     @searchChange="customerChange"
                   />
                 </el-col>
@@ -70,9 +58,31 @@
                 </el-col>
               </el-col>
             </el-row>
-            <el-row style="padding: 10px 0 0 0">
+            <el-row style="padding:10px 0 0 0;">
               <el-col :span="24">
-                <el-col :span="6" style="width: 292px">
+                 <el-col :span="4" style="width: 140px">
+                  <el-select
+                    :size="searchSize"
+                    v-model="parmValue.status"
+                    filterable
+                    clearable
+                    placeholder="咨询类型"
+                    style="width: 100%"
+                    @change="
+                      pageInfo.curr = 1;
+                      parmValue.page = 1;
+                      searchList();
+                    "
+                  >
+                    <el-option
+                      v-for="item in statusList"
+                      :key="'status' + item"
+                      :label="iteme"
+                      :value="item"
+                    />
+                  </el-select>
+                </el-col>
+                <el-col :span="6" style="width: 303px;padding:0 0 0 10px;">
                   <period-date-picker
                     :start="parmValue.start"
                     :end="parmValue.end"
@@ -82,24 +92,17 @@
                     @timeReturned="timeReturned($event)"
                   />
                 </el-col>
-
-                <el-col :span="4" style="width: 350px; padding: 0 0 0 10px">
+                <el-col :span="4" style="width: 300px; padding: 0 0 0 10px">
                   <el-input
-                    placeholder="关键字"
-                    v-model="input"
+                    placeholder="咨询订单编号"
+                    v-model="parmValue.orderCode"
                     :size="searchSize"
+                    @blur="
+                      pageInfo.curr = 1;
+                      parmValue.page = 1;
+                      searchList();
+                    "
                   >
-                    <el-select
-                      v-model="select"
-                      slot="prepend"
-                      placeholder="请选择"
-                      style="width: 115px"
-                      :size="searchSize"
-                    >
-                      <el-option label="咨询单编码" value="1"></el-option>
-                      <el-option label="申请人" value="2"></el-option>
-                      <el-option label="商品名称" value="3"></el-option>
-                    </el-select>
                     <el-button
                       slot="append"
                       icon="el-icon-search"
@@ -111,6 +114,7 @@
                     ></el-button>
                   </el-input>
                 </el-col>
+
                 <el-col :span="4" style="width: 66px; float: right">
                   <el-button
                     type="warning"
@@ -144,7 +148,7 @@
           >
             <i
               class="el-icon-view tb-icon"
-              @click="routeGoto('zxSheetDetail', { id: scope.row.id })"
+              @click="routeGoto('zxDiffOrderDetail', { id: scope.row.id })"
             ></i>
           </el-tooltip>
           <!-- <el-tooltip
@@ -172,7 +176,6 @@
           </el-tooltip> -->
         </template>
       </ex-table>
-     
     </div>
     <div v-else>
       <no-auth></no-auth>
@@ -182,18 +185,18 @@
    <script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
-import asyncRequest from "@/apis/service/sheetOrder/zxSheet";
+import asyncRequest from "@/apis/service/sheetOrder/zxDiffOrder";
 import { mapGetters } from "vuex";
 import columns from "./columns";
 export default {
-  name: "zxSheet",
+  name: "zxDiffOrder",
   mixins: [mixinPage, resToken],
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "zxSheet"
+          (item) => item.menu_route == "zxDiffOrder"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -234,7 +237,7 @@ export default {
         zxNo: "", // 咨询单编码
         khNo: "", // 客户编码
         cpName: "", //商品名称
-        zxtype: "", //咨询类型
+        status: "", //咨询类型
         salesman: "", //申请人
         start: "",
         end: "",
@@ -299,7 +302,7 @@ export default {
         zxNo: "", // 咨询单编码
         khNo: "", // 客户编码
         cpName: "", //商品名称
-        zxtype: "", //咨询类型
+        status: "", //咨询类型
         salesman: "", //申请人
         start: "",
         end: "",
@@ -389,7 +392,7 @@ export default {
 };
 </script>
    <style lang="scss" scoped>
-.zxSheet {
+.zxDiffOrder {
 }
 </style>
    

+ 119 - 129
src/views/sheetOrder/zxOrder/components/addForm.vue

@@ -22,12 +22,7 @@
             </el-col>
             <el-col :span="12">
               <el-form-item label="商品名称" prop="good_code">
-                <el-input
-                  v-model="ruleForm.good_name"
-                  disabled
-                  readonly
-                  @focus="showGoodsModel = true"
-                />
+                <el-input v-model="ruleForm.good_name" disabled readonly />
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -35,7 +30,9 @@
                 <search-supplier
                   :value="ruleForm.supplierNo"
                   :placeholder="'销售方公司'"
-                  :disabled="false"
+                  :disabled="
+                    !(status === '0' && powers.some((item) => item == '005'))
+                  "
                   :isDetail="true"
                   :type="'1'"
                   :names="supplierName"
@@ -66,7 +63,13 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="下单数量" prop="good_num">
-                <el-input v-model="ruleForm.good_num" placeholder="下单数量" />
+                <el-input
+                  v-model="ruleForm.good_num"
+                  :disabled="
+                    !(status === '0' && powers.some((item) => item == '005'))
+                  "
+                  placeholder="下单数量"
+                />
               </el-form-item>
             </el-col>
 
@@ -75,6 +78,9 @@
                 <el-select
                   v-model="ruleForm.goodtype"
                   style="width: 100%"
+                  :disabled="
+                    !(status === '0' && powers.some((item) => item == '005'))
+                  "
                   placeholder="商品类型"
                 >
                   <el-option
@@ -92,6 +98,9 @@
                 <el-select
                   v-model="ruleForm.sendtype"
                   style="width: 100%"
+                  :disabled="
+                    !(status === '0' && powers.some((item) => item == '005'))
+                  "
                   placeholder="发货类型"
                 >
                   <el-option
@@ -104,19 +113,29 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <search-stock-good-modal
-                :show-model="showGoodsModel"
-                :code="stock_code"
-                @cancel="showGoodsModel = false"
-                @searchChange="addGoodsRes"
-              />
-            </el-col>
           </el-row>
         </el-form>
       </el-col>
 
-      <el-col :span="24" style="padding: 0 0 22px 0" v-if="ruleForm.sendtype==='1'">
+      <el-col
+        :span="24"
+        style="padding: 0 0 22px 0"
+        v-if="ruleForm.sendtype === '1'"
+      >
+        <div
+          style="height: 40px; margin: -10px 0 0 0"
+          class="tr"
+          v-if="status === '0' && powers.some((item) => item == '005')"
+        >
+          <download-addr />
+          <el-button
+            type="primary"
+            size="mini"
+            @click="addrmodel = true"
+            style="margin: 0 0 0 10px"
+            >导入收货地址</el-button
+          >
+        </div>
         <el-form :model="addrForm" ref="addrForm" :size="'mini'">
           <el-table
             :data="addrForm.order_addr"
@@ -150,7 +169,7 @@
             <el-table-column
               prop="arrive_time"
               label="最晚收货日期"
-              min-width="200"
+              width="150"
             >
               <template slot-scope="scope">
                 <el-form-item
@@ -162,9 +181,9 @@
                   <el-date-picker
                     :disabled="!scope.row.edit"
                     v-model="scope.row.arrive_time"
-                    type="datetime"
+                    type="date"
                     style="width: 100%"
-                    value-format="yyyy-MM-dd HH:mm:ss"
+                    value-format="yyyy-MM-dd"
                     :picker-options="pickerOptions"
                   >
                   </el-date-picker>
@@ -301,6 +320,13 @@
           </el-table>
         </el-form>
       </el-col>
+      <el-col :span="24">
+        <in-addr-model
+          :show-model="addrmodel"
+          @cancel="addrmodel = false"
+          @refresh="addrRefresh"
+        />
+      </el-col>
       <el-col
         :span="24"
         style="text-align: right"
@@ -317,14 +343,13 @@
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sheetOrder/zxOrder/detail";
-import searchStockGoodModal from "@/components/search-stock-good-modal";
 import { isnumber, isMobile } from "@/utils/validate";
-
+import inAddrModel from "@/components/in-addr-model";
 export default {
   name: "salesOrderDetail",
   mixins: [mixinPage, resToken],
   props: ["newTime", "id", "sitem"],
-  components: { searchStockGoodModal },
+  components: { inAddrModel },
   watch: {
     newTime: function (val) {
       if (val) {
@@ -336,7 +361,7 @@ export default {
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "salesOrderDetail"
+          (item) => item.menu_route == "zxOrderDetail"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -370,7 +395,7 @@ export default {
       }
     };
     return {
-      showGoodsModel: false,
+      addrmodel: false,
       stock_code: "",
       companyName: "",
       supplierName: "",
@@ -386,7 +411,7 @@ export default {
         sale_fee: "",
         good_code: "", // 商品选择
       },
-         options: [
+      options: [
         {
           value: "1",
           label: "直接发货",
@@ -523,10 +548,11 @@ export default {
   methods: {
     async initForm() {
       this.status = "";
-      this.queryId = this.$route.query.id;
+
       this.rulesThis = this.rules;
       this.resetForm();
     },
+
     async supplierChange(e) {
       if (e && e.id) {
         this.ruleForm.supplierNo = [e.code];
@@ -539,6 +565,10 @@ export default {
     getNewTime() {
       this.newTime = new Date().valueOf();
     },
+    addrRefresh(e) {
+      const { list } = e;
+      this.addrForm.order_addr.push(...list);
+    },
     async resetForm() {
       // 重置
       await this.$nextTick(() => {
@@ -558,7 +588,9 @@ export default {
             send_type,
             sale_price,
             supplierName,
+            id,
           } = this.sitem;
+          this.queryId = id;
           this.companyName = companyName;
           this.supplierName = supplierName;
           this.status = status;
@@ -672,117 +704,75 @@ export default {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           this.loading = true;
-          const { good_code, customer_code } = JSON.parse(
-            JSON.stringify(this.ruleForm)
-          );
-          const { good_stock } = JSON.parse(JSON.stringify(this.stockForm));
+          const { customer_code, sendtype, good_num, goodtype, supplierNo } =
+            JSON.parse(JSON.stringify(this.ruleForm));
           const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
-          if (good_stock.length === 0) {
-            this.$message.warning("请填写仓库信息!");
-            this.loading = false;
-            return;
-          }
-          if (order_addr.length === 0) {
-            this.$message.warning("请填写仓库信息!");
-            this.loading = false;
-            return;
-          }
           let model = {
-            good_code,
+            id: this.queryId,
+            goodtype: goodtype || "",
+            good_num: good_num || "",
+            sendtype: sendtype || "",
             customer_code: customer_code.join(","), // 账号
-            order_addr: [],
-            good_stock: [],
+            supplierNo: supplierNo.join(","), // 账号
+            remark: "",
+            addrlist: [],
           };
-          let stockT = 0,
-            addrT = 0,
-            isStockOk = true,
-            isSEdit = false,
-            isAEdit = false;
-          good_stock.forEach((v1) => {
-            if (v1.edit) {
-              isSEdit = true;
+          if (sendtype === "1") {
+            if (order_addr.length === 0) {
+              this.$message.warning("请填写收货地址信息!");
+              this.loading = false;
+              return;
             }
-            if (parseInt(v1.usable_stock) < parseInt(v1.num)) {
-              isStockOk = false;
+
+            let addrT = 0,
+              isAEdit = false;
+            order_addr.forEach((v2) => {
+              if (v2.edit) {
+                isAEdit = true;
+              }
+              addrT += parseInt(v2.receipt_quantity);
+              let model2 = {
+                contactor: v2.contactor,
+                mobile: v2.mobile,
+                arrive_time: v2.arrive_time,
+                addr: v2.addr,
+                receipt_quantity: v2.receipt_quantity,
+                addr_code: v2.addr_code,
+                id: v2.id,
+                is_del: 0,
+              };
+              model.addrlist.push(model2);
+            });
+
+            if (isAEdit) {
+              this.$message.warning("请保存地址信息!");
+              this.loading = false;
+              return;
             }
-            stockT += parseInt(v1.num);
-            let model1 = {
-              num: v1.num,
-              wsm_code: v1.wsm_code,
-              id: v1.id,
-              is_del: 0,
-            };
-            model.good_stock.push(model1);
-          });
-          order_addr.forEach((v2) => {
-            if (v2.edit) {
-              isAEdit = true;
+
+            if (parseInt(good_num) !== addrT) {
+              this.$message.warning(
+                "库存出库总数量,与收货地址信息中的总数量不一致!"
+              );
+              this.loading = false;
+              return;
             }
-            addrT += parseInt(v2.receipt_quantity);
-            let model2 = {
-              contactor: v2.contactor,
-              mobile: v2.mobile,
-              arrive_time: v2.arrive_time,
-              addr: v2.addr,
-              receipt_quantity: v2.receipt_quantity,
-              addr_code: v2.addr_code,
-              id: v2.id,
-              is_del: 0,
-            };
-            model.order_addr.push(model2);
-          });
-          if (isSEdit) {
-            this.$message.warning("请保存仓库信息!");
-            this.loading = false;
-            return;
-          }
-          if (isAEdit) {
-            this.$message.warning("请保存地址信息!");
-            this.loading = false;
-            return;
-          }
-          if (!isStockOk) {
-            this.$message.warning("部分仓库销售数量已大于可用数量!");
-            this.loading = false;
-            return;
-          }
-          if (stockT !== addrT) {
-            this.$message.warning(
-              "库存出库总数量,与收货地址信息中的总数量不一致!"
-            );
-            this.loading = false;
-            return;
+            let dAList = JSON.parse(JSON.stringify(this.delAddrList));
+            order_addr.forEach((v) => {
+              let findex = dAList.findIndex(
+                (v1) => v1.id !== "" && v1.id === v.id
+              );
+              if (findex !== -1) {
+                dAList.splice(findex, 1);
+              }
+            });
+            dAList.forEach((v) => {
+              v.is_del = 1;
+            });
+            model.addrlist.push(dAList);
           }
-          let dAList = JSON.parse(JSON.stringify(this.delAddrList));
-          let dSList = JSON.parse(JSON.stringify(this.delStockList));
-          good_stock.forEach((v) => {
-            let findex = dSList.findIndex((v1) => v1.wsm_code === v.wsm_code);
-            if (findIndex !== -1) {
-              dSList.splice(findex, 1);
-            }
-          });
-          order_addr.forEach((v) => {
-            let findex = dAList.findIndex(
-              (v1) => v1.id !== "" && v1.id === v.id
-            );
-            if (findIndex !== -1) {
-              dAList.splice(findex, 1);
-            }
-          });
-          dSList.forEach((v) => {
-            v.is_del = 1;
-          });
-          dAList.forEach((v) => {
-            v.is_del = 1;
-          });
 
-          let res = {};
-          if (this.queryId === "add") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
+          let res = await asyncRequest.update(model);
           this.loading = false;
           if (res && res.code === 0) {
             const title = this.queryId === "add" ? "添加成功" : "修改成功";

+ 43 - 101
src/views/sheetOrder/zxOrder/components/order-out-table.vue

@@ -11,7 +11,7 @@
       <el-table-column
         show-overflow-tooltip
         prop="orderCode"
-        label="出库订单号"
+        label="咨询订单号"
         width="150"
       />
 
@@ -27,25 +27,6 @@
         label="申请人名称"
         width="85"
       />
-
-      <el-table-column
-        show-overflow-tooltip
-        prop="post_name"
-        label="物流公司"
-        width="110"
-      />
-      <el-table-column
-        show-overflow-tooltip
-        prop="post_code"
-        label="物流单号"
-        width="160"
-      />
-      <el-table-column
-        show-overflow-tooltip
-        prop="post_fee"
-        label="预计物流费"
-        width="100"
-      />
       <el-table-column
         show-overflow-tooltip
         prop="status"
@@ -76,24 +57,6 @@
         label="	发货数量"
         width="80"
       />
-      <el-table-column
-        show-overflow-tooltip
-        prop="check_num"
-        label="验收数量"
-        width="80"
-      />
-      <el-table-column
-        show-overflow-tooltip
-        prop="addr_info"
-        label="省市区"
-        min-width="170"
-      />
-      <el-table-column
-        show-overflow-tooltip
-        prop="addr"
-        label="收货地址"
-        min-width="170"
-      />
       <el-table-column
         show-overflow-tooltip
         prop="contact"
@@ -106,27 +69,29 @@
         label="联系电话"
         width="110"
       />
-      <el-table-column
+      <!-- <el-table-column
         show-overflow-tooltip
-        prop="wsm_supplier"
-        label="供应商"
-        min-width="220"
-      />
+        prop="addr_info"
+        label="省市区"
+        min-width="170"
+      /> -->
       <el-table-column
         show-overflow-tooltip
-        prop="wsm_supplierNo"
-        label="仓库供应商"
-        min-width="170"
-      />
+        prop="addr"
+        label="收货地址"
+        min-width="200"
+      >
+        <template slot-scope="scope">
+          {{ scope.row.addr_info }} {{ scope.row.addr }}
+        </template></el-table-column
+      >
 
-      <!-- v-if="status === '0' && powers.some((item) => item == '005')" -->
-      <el-table-column fixed="right" width="80">
+      <el-table-column fixed="right" width="150">
         <template slot="header" slot-scope="scope">
-          <span>操作</span>
           <el-tooltip
-            class="fr"
-            style="margin: 3px 0 0 0"
+            style="margin: 3px 0 0 5px"
             effect="dark"
+            v-if="!isAll && powers.some((item) => item == '005')"
             content="添加"
             placement="top"
           >
@@ -135,10 +100,12 @@
               style="color: #63cbe7"
               @click="openHouseModal()"
             ></i>
+
             <!-- @click="openModal('add', '028')"  -->
 
             <!--  -->
           </el-tooltip>
+          <span v-else>操作</span>
         </template>
 
         <template slot-scope="scope">
@@ -150,11 +117,11 @@
           >
             <i
               class="el-icon-view tb-icon"
-              @click="openHouseModal(scope.$index)"
+              @click="routeGoto('zxoutOrderDetail', { id: scope.row.outCode })"
             ></i>
           </el-tooltip>
           <el-tooltip
-            v-if="sitem.status == '5'"
+            v-if="sitem.status == '1'"
             class="fr"
             effect="dark"
             content="新建售后申请"
@@ -172,14 +139,14 @@
       :showModel="modelShowModel"
       :id="modelId"
       :sitem="modelItem"
-      @refresh="searchList"
+      @refresh="initForm"
     />
     <add-edit
       :id="modelId"
       :sitem="s_sitem"
       :show-model="showModel"
       :is-detail="isDetail"
-      @refresh="searchList"
+      @refresh="$emit('refresh')"
       @cancel="showModel = false"
     />
   </div>
@@ -189,11 +156,11 @@ import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sheetOrder/zxOrder/detail";
 import outOrderAddModel from "./out-order-add-model";
-import addEdit from "@/views/sellOut/sellAfterApply/components/addEdit.vue";
+import addEdit from "@/views/sellOut/sellAfterApply/components/addEdit";
 import { mapGetters } from "vuex";
 
 export default {
-  name: "salesOrderDetail",
+  name: "zxOrderDetail",
   mixins: [mixinPage, resToken],
   props: ["newTime", "id", "sitem"],
   components: { addEdit, outOrderAddModel },
@@ -210,7 +177,7 @@ export default {
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "salesOrderDetail"
+          (item) => item.menu_route == "zxOrderDetail"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -224,6 +191,7 @@ export default {
     return {
       // 状态
       statusOptions: [
+        { id: "0", label: "待发货" },
         { id: "1", label: "已出库" },
         { id: "2", label: "验收中" },
         { id: "3", label: "验收完成" },
@@ -236,6 +204,7 @@ export default {
       status: "",
       showModel: null,
       modelId: "",
+      isAll: true,
       modelItem: null,
       s_sitem: null,
     };
@@ -262,58 +231,31 @@ export default {
         // if (this.$refs.addrForm) {
         //   this.$refs.addrForm.resetFields();
         //   this.$refs.addrForm.clearValidate();
-        const { bum } = this.sitem;
+        const { bum, status, good_num } = this.sitem;
+        if (status !== "4") {
+          let total = 0;
+          bum.forEach((v) => {
+            total += parseInt(v.send_num);
+          });
+          if (total == parseInt(good_num)) {
+            this.isAll = false;
+          } else {
+            this.isAll = true;
+          }
+        } else {
+          this.isAll = true;
+        }
+
         this.tableData = bum;
         // }
       });
     },
-
-    editRow(index) {
-      let findex = this.stockForm.good_stock.findIndex((v) => v.edit === true);
-      if (findex !== -1) {
-        this.$message.warning("当前已有发货仓库信息在编辑,请保存后再试!");
-        return;
-      } else {
-        this.stockForm.good_stock[index].edit = true;
-      }
-    },
-    checkStockRow(index) {
-      let total = parseInt(this.stockForm.good_stock[index].usable_stock),
-        num = parseInt(this.stockForm.good_stock[index].num);
-      if (total === 0) {
-        this.$message.warning("该仓库已无该商品库存!不能销售!");
-        return;
-      } else {
-        if (num > total) {
-          this.$message.warning("销售数量不能大于可用库存!");
-          return;
-        } else {
-          this.stockForm.good_stock[index].edit = false;
-        }
-      }
-    },
-
     openHouseModal() {
       this.modelId = "add";
       this.modelItem = this.sitem;
       this.modelShowModel = true;
     },
 
-    //省市区保存某一行
-    checkRow(rowIndex) {
-      this.$refs.addrForm.validate((valid) => {
-        if (valid) {
-          this.tableData[rowIndex].edit = false;
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
-      });
-    },
-    // 省市区删除行操作
-    deleteRow(index, rows) {
-      rows.splice(index, 1);
-    },
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {

+ 1 - 30
src/views/sheetOrder/zxOrder/components/out-order-add-model.vue

@@ -15,36 +15,7 @@
   >
     <el-card style="margin-top: -20px" class="account">
       <el-row :gutter="10">
-        <el-col :span="24" style="margin: -15px 0 0 0">
-          <el-divider>选择销售仓库</el-divider>
-        </el-col>
-        <el-col :span="24">
-          <el-table
-            ref="multipleTable"
-            :data="tableData"
-            border
-            :size="'mini'"
-            tooltip-effect="dark"
-            style="width: 100%"
-            @selection-change="handleSelectionChange($event, 0)"
-          >
-            <el-table-column type="selection" width="40" align="center" />
-            <el-table-column
-              prop="wsm_supplier"
-              label="发货仓库"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.wsm_supplier }}/{{ scope.row.wsm_name }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="num" label="总下单数量" width="110" />
-            <el-table-column prop="send_num" label="已发货数量" width="110" />
-            <el-table-column prop="wsend_num" label="未发货数量" width="110" />
-            <el-table-column prop="sale_price" label="销售价" width="110" />
-          </el-table>
-        </el-col>
-        <el-col :span="24">
+        <el-col :span="24" style="margin:-10px 0 0 0">
           <el-divider>选择收货地址</el-divider>
         </el-col>
         <el-col :span="24">

+ 27 - 37
src/views/sheetOrder/zxOrder/detail.vue

@@ -4,6 +4,7 @@
       style="width: 100%"
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
+    {{status}}--{{powers}}
       <div class="tl" style="padding: 10px 0 50px 0">
         <!-- <span> {{ status }}----{{ powers }}</span> -->
 
@@ -17,40 +18,28 @@
           >新建销售退货单
         </el-button> -->
 
-        <el-button
-          class="fr"
-          type="primary"
-          plain
-          :size="'mini'"
-          @click="openModal('add', false, 'service')"
-          >新建售后申请单
-        </el-button>
-
         <el-button
           type="primary"
           plain
+          class="fr"
           :size="'mini'"
+          style="margin: 0 0 0 10px"
           @click="statusConfirm('1', '发起审核流程')"
           v-if="status === '0' && powers.some((item) => item == '012')"
           >发起审核流程
         </el-button>
 
-        <el-button
-          @click="statusConfirm('0', '取消审核流程')"
-          plain
-          :size="'mini'"
-          v-if="status === '1' && powers.some((item) => item == '014')"
-          >取消审核流程</el-button
-        >
         <el-button
           type="primary"
           plain
+          class="fr"
           :size="'mini'"
+          style="margin: 0 0 0 10px"
           @click="statusConfirm('3', '开始发货')"
           v-if="status === '2' && powers.some((item) => item == '026')"
           >开始发货
         </el-button>
-        <el-button
+        <!-- <el-button
           @click="statusConfirm('-1', '作废该条信息')"
           type="danger"
           plain
@@ -61,7 +50,8 @@
             powers.some((item) => item == '015')
           "
           >作废该条信息</el-button
-        >
+        > -->
+       
       </div>
       <status-bar
         v-if="newTime !== ''"
@@ -70,9 +60,6 @@
         :status="status"
       />
       <el-collapse v-model="activeNames">
-        <!-- <el-collapse-item title="审批节点" name="-1">
-        
-        </el-collapse-item> -->
         <el-collapse-item title="咨询订单信息" name="0">
           <add-form
             :newTime="newTime"
@@ -82,25 +69,26 @@
             @refresh="initData()"
           />
         </el-collapse-item>
-        <!-- <el-collapse-item title="采购反馈物流" name="1">
-          <feedback-form
+
+        <el-collapse-item title="销售出库单" name="3">
+          <order-out-table
             :newTime="newTime"
-            v-if="newTime !== '' && status == 1"
+            v-if="newTime !== '' && status != '0'"
             :sitem="sitem"
             :id="queryId"
             @refresh="initData()"
           />
-        </el-collapse-item>
-        <el-collapse-item title="销售出库单" name="3">
-          {{ status }}
-          <order-out-table
+        </el-collapse-item> 
+        
+        <!-- <el-collapse-item title="出库物流" name="3">
+          <add-edit1
             :newTime="newTime"
-            v-if="newTime !== '' && status == 4"
+            v-if="newTime !== '' && status != '0'"
             :sitem="sitem"
             :id="queryId"
             @refresh="initData()"
           />
-        </el-collapse-item> -->
+        </el-collapse-item>  -->
         <el-collapse-item title="审批记录" name="10">
           <process-time-line
             v-if="newTime !== ''"
@@ -139,12 +127,15 @@ import asyncRequest from "@/apis/service/sheetOrder/zxOrder/detail";
 import addForm from "./components/addForm";
 import feedbackForm from "./components/feedback-form";
 import orderOutTable from "./components/order-out-table";
-import addEdit from "./addEdit.vue";
+import addEdit from "./addEdit";
+// import addEdit1 from "./components/addEdit1";
 // import editAdd from "./components/addEdit.vue";
 export default {
   name: "zxOrderDetail",
   mixins: [mixinPage, resToken],
+  
   components: {
+    // addEdit1,
     addEdit,
     addForm,
     feedbackForm,
@@ -172,12 +163,11 @@ export default {
       finishStatus: "finish",
       activeNames: ["-1", "0", "1", "2", "3", "4", "5", "10"],
       statusOptions: [
-        { value: "0", label: "取消" },
-        { value: "1", label: "发起" },
-        { value: "2", label: "反馈物流费" },
-        { value: "3", label: "同意下单" },
-        { value: "4", label: "发货中" },
-        { value: "5", label: "已发货" },
+        { value: "0", label: "待发起流程" },
+        { value: "1", label: "待发货" },
+        { value: "2", label: "发货中" },
+        { value: "3", label: "部分发货" },
+        { value: "4", label: "发货已完成" },
       ],
       sitem: null,
       s_sitem: null,

+ 4 - 5
src/views/sheetOrder/zxOrder/index.vue

@@ -201,11 +201,10 @@ export default {
       // 状态
       statusOptions: [
         { id: "0", label: "待发起流程" },
-        { id: "1", label: "待反馈物流" },
-        { id: "2", label: "待同意下单" },
-        { id: "3", label: "待发货" },
-        { id: "4", label: "待发货完成" },
-        { id: "5", label: "发货已完成" },
+        { id: "1", label: "待发货" },
+        { id: "2", label: "发货中" },
+        { id: "3", label: "部分发货" },
+        { id: "4", label: "发货已完成" },
       ],
       loading: false,
       showModel: false,

+ 1 - 0
src/views/sheetOrder/zxSheet/components/addForm.vue

@@ -48,6 +48,7 @@
                 :placeholder="'销售方公司'"
                 :disabled="false"
                 :isDetail="false"
+                :type="'1'"
                 @searchChange="supplierChange"
               />
             </el-form-item>

+ 59 - 121
src/views/sheetOrder/zxoutOrder/columns.js

@@ -1,125 +1,63 @@
 export default [
-    {
-          prop: "returnCode",
-          label: "售后申请单",
-          width:"160"
-        },
-        {
-          prop:"apply_name",
-          label:"申请人",
-        },
-        {
-          prop: "orderCode",
-          label: "确认单编号",
-          width:"160"
-        },
-        {
-          prop: "outCode",
-          label: "销售出库单编号",
-          width:"160"
-        },
-        {
-          prop: "total_num",
-          label: "出库总数",
-        },
-        {
-          prop: "good_code",
-          label: "商品编码",
-          width:"140"
-        },
-        {
-            prop:"good_name",
-            label:"商品名称",
-            width:"150"
-        },
-        {
-            prop:"error_num",
-            label:"异常数量",
-        },
-        {
-            prop:"error_msg",
-            label:"异常原因",
-        },
-        // {
-        //   prop:"error_img",
-        //   label:"异常图片",
-        // },
-        {
-            prop:"error_remark",
-            label:"备注"
-        },
-        {
-            prop:"except_code",
-            label:"期望意愿",
-          _slot_: "except_code",
-          width:100,
+  {
+    prop: "outCode",
+    label: "销售出库单编号",
+    width: "160"
+  },
+  {
+    prop: "apply_name",
+    label: "申请人",
+  },
+  {
+    prop: "orderCode",
+    label: "销售订单编号",
+    width: "160"
+  },
+  {
+    prop: "status",
+    label: "状态",
+    _slot_: "status",
+    width: "120px",
+  },
+ 
+  {
+    prop: "send_num",
+    label: "出库总数",
+  },
+  {
+    prop: "good_code",
+    label: "商品编码",
+    width: "140"
+  },
+  {
+    prop: "good_name",
+    label: "商品名称",
+    width: "150"
+  },
 
-        },
-    
-        {
-          prop: "status",
-          label: "状态",
-          _slot_: "status",
-          width: "120px",
-        },
-        {
-            prop:"addtime",
-            label:"添加时间",
-            width:150,
-        },
-        
-        // {
-        //   prop:"good_name",
-        //   label:"商品名称",
-        // },
-        {
-          prop:"return_wsm",
-          label:"退回仓库编码",
-          width:"120"
-        },
-        {
-          prop:"contactor",
-          label:"联系人",
-        },
-        {
-          prop:"mobile",
-          label:"联系方式",
-        },
-        {
-          prop:"addr",
-          label:"退货地址",
-        },
-        {
-          prop:"post_company",
-          label:"快递名称",
-        },
-        {
-          prop:"post_fee",
-          label:"物流费",
-        },
-        {
-          prop:"post_own",
-          label:"费用承担方",
-          width:"100",
-          _slot_: "post_own",
 
-        },
-        {
-          prop:"customer_code",
-          label:"客户编码",
-          width:"150"
-        },
-        {
-          prop:"customer_name",
-          label:"客户名称",
-          width:"200"
-        },
-        {
-          prop: "",
-          label: "操作",
-          fixed: "right",
-          _noset_: true,
-          _slot_: "operation",
-          width:50,
-        },
+
+  {
+    prop: "customer_code",
+    label: "客户编码",
+    width: "150"
+  },
+  {
+    prop: "customer_name",
+    label: "客户名称",
+    width: "200"
+  },
+  {
+    prop: "addtime",
+    label: "添加时间",
+    width: 150,
+  },
+  {
+    prop: "",
+    label: "操作",
+    fixed: "right",
+    _noset_: true,
+    _slot_: "operation",
+    width: 50,
+  },
 ]

+ 1 - 2
src/views/sheetOrder/zxoutOrder/components/addEdit.vue

@@ -12,8 +12,7 @@
     element-loading-background="rgba(0, 0, 0, 0.8)"
     @close="closeModel"
   >
-    <!-- {{ sitem }} -->
-    <el-card style="margin-top: -20px" v-loading="loading">
+  <el-card style="margin-top: -20px" v-loading="loading">
       <add-edit-form
         v-if="showModel"
         :id="id"

+ 94 - 0
src/views/sheetOrder/zxoutOrder/components/addEditA.vue

@@ -0,0 +1,94 @@
+<template>
+  <el-dialog
+    title="新建售后申请"
+    :center="true"
+    align="left"
+    top="14vh"
+    width="1000px"
+    :close-on-click-modal="false"
+    :visible.sync="showModelThis"
+    element-loading-text="拼命加载中"
+    element-loading-spinner="el-icon-loading"
+    element-loading-background="rgba(0, 0, 0, 0.8)"
+    @close="closeModel"
+  >
+    <!-- <p>orderCode{{ sitem }}</p> -->
+    <!-- <p>outCode{{ outCode }}</p> -->
+
+
+    <el-card style="margin-top: -20px" v-loading="loading">
+      <add-edit-form-a
+        v-if="showModel"
+        :id="id"
+        :sitem="sitem"
+        :show-model="showModel"
+        :is-detail="isDetail"
+        @closeModel="handClick"
+        @refresh="refresh"
+      />
+    </el-card>
+  </el-dialog>
+</template>
+<script>
+import addEditFormA from "./addEditFormA";
+export default {
+  name: "handover",
+  props: ["showModel", "id", "isDetail", "sitem"],
+  components: {
+    addEditFormA,
+  },
+  data() {
+    return {
+      sitem: null,
+      title: "",
+      showModelThis: this.showModel,
+    };
+  },
+  watch: {
+    showModel: function (val) {
+      this.showModelThis = val;
+      if (val) {
+        this.initForm();
+      }
+    },
+    showModelThis(val) {
+      if (!val) {
+        this.$emit("cancel");
+      }
+    },
+  },
+  methods: {
+    closeModel() {
+      console.log("closeModel!!");
+    },
+    async initForm() {
+      this.loading = true;
+      console.log(this.id);
+
+      if (this.id === "add") {
+        this.title = "新建售后申请";
+        this.rulesThis = this.rules;
+      } else {
+        if (this.isDetail) {
+          this.rulesThis = {};
+        } else {
+          this.rulesThis = this.rules;
+        }
+      }
+      this.loading = false;
+    },
+    handClick(e) {
+      console.log(e);
+      this.showModelThis = e;
+    },
+    refresh(e) {
+      console.log(e);
+      this.showModelThis = e;
+      this.$emit("refresh", true);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 16 - 583
src/views/sheetOrder/zxoutOrder/components/addEditForm.vue

@@ -3,624 +3,57 @@
     ref="ruleForm"
     :loading="loading"
     :model="ruleForm"
-    status-icon
-    :rules="rulesThis"
     label-width="100px"
     style="width: 100%"
     class="demo-ruleForm"
   >
-    <el-row>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="异常数量" prop="anomalous_numbers">
-            <el-input
-              :disabled="disabled"
-              v-model="ruleForm.anomalous_numbers"
-              placeholder="请输入异常数量"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="异常原因" prop="anomalous_reason">
-            <el-select
-              style="width: 100%"
-              :disabled="disabled"
-              v-model="ruleForm.anomalous_reason"
-              placeholder="请选择异常原因"
-            >
-              <el-option
-                v-for="item in reason_options"
-                :key="item.id"
-                :label="item.result"
-                :value="item.result_code"
-                :disabled="item.status == 0"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="期望意愿" prop="expect_wish">
-            <el-select
-              style="width: 100%"
-              :disabled="disabled"
-              v-model="ruleForm.expect_wish"
-              placeholder="请选择期望意愿"
-            >
-              <el-option
-                v-for="item in expect_options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="异常备注" prop="anomalous_remark">
-            <el-input
-              type="textarea"
-              placeholder="请输入异常原因备注"
-              v-model="ruleForm.anomalous_remark"
-              :disabled="disabled"
-              maxlength="250"
-              show-word-limit
-            />
-          </el-form-item>
-        </el-col>
-      </el-row>
-
-      <el-col :span="24">
-        <el-form-item label="异常图片" prop="anomalous_images">
-          <div class="el-form-item-error-img">
-            <ul>
-              <li
-                class="images_li"
-                :style="getMargin_li()"
-                v-for="(item, index) in ruleForm.anomalous_images"
-                :key="item"
-              >
-                <img :src="item" alt="" style="width: 254px; height: 164px" />
-                <i class="el-icon-close" @click="imgClose(index)"></i>
-              </li>
-            </ul>
-            <div
-              class="btnupload"
-              :style="getMargin()"
-              v-if="ruleForm.anomalous_images.length < 5 && isShow"
-              style="position: relative"
-              @click="open"
-            >
-              <i class="el-icon-plus avatar-uploader-icon"></i>
-              <file-upload
-                class="Upload"
-                :accept="'.jpg,.png,.bmp,.jpeg'"
-                :multiple="true"
-                :uploadcondition="beforeAvatarUpload"
-                @UploadErrorEvent="UploadErrorEvent"
-                @UploadSuccessEvent="UploadSuccessEvent"
-              />
-            </div>
-          </div>
+    <el-row v-if="ruleForm">
+      <el-col :span="12" v-for="item in columnsForm" :key="item.label">
+        <el-form-item :label="item.label">
+          <el-input
+            disabled
+            v-model="ruleForm[item.prop]"
+            :placeholder="item.label"
+          ></el-input>
         </el-form-item>
       </el-col>
-
-      <el-col :span="24" style="text-align: right">
-        <el-button
-          type="primary"
-          @click="submitForm"
-          v-if="
-            id === 'add' ||
-            (status === '0' && powers.some((item) => item == '005'))
-          "
-          >保 存</el-button
-        >
-        <el-button
-          type="primary"
-          @click="statusConfirm('1', '发起审核流程')"
-          v-if="status === '0' && powers.some((item) => item == '012')"
-          >发起审核流程
-        </el-button>
-        <el-button
-          @click="statusConfirm('0', '取消审核流程')"
-          plain
-          v-if="status === '1' && powers.some((item) => item == '014')"
-          >取消审核流程</el-button
-        >
-        <el-button
-          @click="statusConfirm('-1', '作废该条信息')"
-          type="danger"
-          plain
-          v-if="
-            (status === '0' || status === '1') &&
-            powers.some((item) => item == '015')
-          "
-          >作废该条信息</el-button
-        >
-        <el-button
-          @click="statusConfirm('2', '通过审核')"
-          type="primary"
-          v-if="status === '1' && powers.some((item) => item == '016')"
-          >通过审核</el-button
-        >
-      </el-col>
     </el-row>
   </el-form>
 </template>
 <script>
-import { isnumber } from "@/utils/validate.js";
-import asyncRequest from "@/apis/service/sellOut/sellAfterApply";
 import resToken from "@/mixins/resToken";
+import columnsForm from "./columnsForm";
 export default {
   name: "handover",
-  props: ["id", "sitem", "showModelThis", "newTime"],
+  props: ["id", "sitem", "newTime"],
   mixins: [resToken],
   data() {
-    const validatenumbers = (rule, value, callback) => {
-      if (value === "") {
-        callback(new Error("异常数量不能为空!"));
-      } else {
-        if (!isnumber(value)) {
-          callback(new Error("异常数量必须为数字"));
-        } else {
-          callback();
-        }
-      }
-    };
     return {
-      isShow: true,
+      columnsForm: columnsForm,
       loading: false,
-      disabled: true,
-      status: "", //存储详情接口返的状态
-      showModelThis: this.showModel,
-      resign_name: "", //离职人
-      hand_name: "", //交接人
-      ruleForm: {
-        order_type: "1", //售后类型 1销售2咨询,
-        outCode: "", //
-        stock_out_numbers: "", //出库单编号
-        anomalous_numbers: "", //异常数量
-        anomalous_reason: "", //异常原因
-        expect_wish: "", //期望意愿
-        anomalous_images: [],
-        anomalous_remark: "", //异常备注
-      },
-      rulesThis: this.rules,
-      // 验证规则
-      rules: {
-        anomalous_numbers: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: validatenumbers,
-          },
-        ],
-        anomalous_reason: [
-          {
-            required: true,
-            message: "请选择异常原因",
-            trigger: "change",
-          },
-        ],
-        expect_wish: [
-          {
-            required: true,
-            message: "请选择期望意愿",
-            trigger: "change",
-          },
-        ],
-        anomalous_images: [
-          {
-            type: "array",
-            required: true,
-            message: "异常图片不能为空!",
-            trigger: "change",
-          },
-        ],
-        anomalous_remark: [
-          {
-            required: true,
-            message: "请输入异常原因备注",
-            trigger: "blur",
-          },
-        ],
-      },
-      reason_options: [],
-      reason_value: "", //异常原因
-      expect_options: [
-        {
-          value: "1",
-          label: "退货",
-        },
-        {
-          value: "2",
-          label: "换货",
-        },
-        {
-          value: "3",
-          label: "接受差异改变售价",
-        },
-      ],
-      expect_value: "", //期望意愿
+      ruleForm: null,
       code: "",
     };
   },
-  computed: {
-    powers() {
-      let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "handoverDetail"
-        ) || {};
-      if (tran && tran.action && tran.action.length > 0) {
-        return tran.action;
-      } else {
-        return [];
-      }
-    },
-  },
-  created() {
-    this.getReason(); //获取异常原因
-    this.initForm();
-  },
   watch: {
-    id: function (val) {
-      if (val) {
-        this.initForm();
-      }
-    },
     newTime: function (val) {
       if (val) {
         this.initForm();
       }
     },
   },
+  mounted() {
+    this.initForm();
+  },
   methods: {
-    //   关闭弹窗,直接隐藏表单
-    // async closeAddEdit() {
-    //   this.$emit("closeModel", false); //抛出一个事件,关闭弹窗
-    //
-    // },
-    closeAdd() {
-      this.showModelThis = false;
-    },
     async initForm() {
       this.loading = true;
-      console.log(this.id);
-      console.log(this.sitem);
-      if (this.id === "add") {
-        this.status = "";
-        this.rulesThis = this.rules;
-        this.disabled = false;
-        await this.resetForm();
-      } else {
-        this.isShow = false;
-        this.rulesThis = this.rules;
-        await this.resetForm();
-        await this.initData();
-      }
+      this.ruleForm = this.sitem;
       this.loading = false;
     },
-    async initData() {
-      console.log(this.sitem);
-      if (this.sitem) {
-        let { returnCode } = this.sitem;
-        let model = {
-          returnCode,
-        };
-        const res = await asyncRequest.detail(model);
-        if (res && res.code === 0 && res.data) {
-          let { error_num, error_img, error_remark, except_code, error_code } =
-            res.data;
-          console.log(res.data);
-          this.ruleForm = {
-            stock_out_numbers: "", //出库单编号
-            anomalous_numbers: error_num, //异常数量
-            anomalous_reason: error_code, //异常原因
-            expect_wish: except_code, //期望意愿
-            anomalous_images: [error_img],
-            anomalous_remark: error_remark, //异常备注
-          };
-        } else if (res && res.code >= 100 && res.code <= 104) {
-          await this.logout();
-        } else {
-          this.$message.warning(res.message);
-        }
-      }
-    },
-
-    async resetForm() {
-      this.resign_name = "";
-      this.hand_name = "";
-      this.status = "";
-      // 重置
-      await this.$nextTick(() => {
-        if (this.$refs.ruleForm) {
-          this.$refs.ruleForm.resetFields();
-          this.$refs.ruleForm.clearValidate();
-          console.log(this.sitem);
-          let { outCode } = this.sitem;
-          this.code = outCode;
-          // if (this.id === "add") {
-          // let OutCode = "";
-          // bum.map((ele) => {
-          //   OutCode = ele.outCode;
-          // });
-          this.ruleForm = {
-            anomalous_numbers: "", //异常数量
-            anomalous_reason: "", //异常原因
-            expect_wish: "", //期望意愿
-            anomalous_images: [],
-            outCode: this.code,
-          };
-          // }
-        }
-      });
-    },
-    async submitForm() {
-      await this.$refs.ruleForm.validate(async (valid) => {
-        if (valid) {
-          const { anomalous_numbers } = this.ruleForm;
-          if (this.sitem.send_num < anomalous_numbers) {
-            this.$message.warning("异常数量不能大于发货数量");
-            return false;
-          }
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-
-          // console.log("调接口");
-          let _model = {
-            order_type: "1",
-            outCode: model.outCode,
-            errorCode: model.anomalous_reason, //异常原因
-            num: model.anomalous_numbers,
-            remark: model.anomalous_remark,
-            except_code: model.expect_wish,
-            img: model.anomalous_images.toString(),
-          };
-
-          console.log(_model);
-          const res = await asyncRequest.add(_model);
-
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-
-            if (this.id === "add") {
-              this.showModelThis = false;
-              this.$emit("refresh", false);
-            } else {
-              this.initForm();
-            }
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
-          }
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
-      });
-    },
-    async statusConfirm(status, message) {
-      await this.$confirm(`确定要${message}?`, {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(async () => {
-          if (status === "-1") {
-            await this.deleteById(message);
-          } else {
-            await this.setStatus(status, message);
-          }
-        })
-        .catch(() => {
-          console.log("取消");
-        });
-    },
-
-    async deleteById(message) {
-      const res = await asyncRequest.delete({ id: this.id });
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: message + "成功!",
-          message: "",
-        });
-
-        this.routeGoto("handover", {});
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
-      }
-    },
-
-    async setStatus(status, message) {
-      let model = {
-        id: this.id,
-        remark: "",
-        status: status,
-      };
-      const res = await asyncRequest.status(model);
-      this.loading = false;
-      if (res && res.code === 0) {
-        this.$notify.success({
-          title: message + "成功!",
-          message: "",
-        });
-        this.initForm();
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
-      }
-    },
-
-    open() {
-      this.show = true;
-    },
-    // 获取异常原因
-    async getReason() {
-      let model = {
-        type: "2",
-        page: 1,
-        size: 100,
-      };
-      const res = await asyncRequest.reasonList(model);
-      this.loading = false;
-      if (res && res.code === 0) {
-        this.reason_options = res.data.list;
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
-      }
-    },
-    // 异常原因
-    handleAnomalousReason(e) {
-      console.log(e);
-      if (e) {
-        this.ruleForm.anomalous_reason = e;
-      } else {
-        this.ruleForm.anomalous_reason = "";
-      }
-      this.$refs.ruleForm.validateField("company_img");
-    },
-    //图片上传失败
-    UploadErrorEvent() {
-      this.$message.error("图片上传失败!");
-      this.$refs.ruleForm.validateField("anomalous_images");
-    },
-    //图片上传成功
-    UploadSuccessEvent(data) {
-      if (data && data.url && data.url !== "break") {
-        const { url } = data.url;
-        this.ruleForm.anomalous_images.push(url);
-        this.$message.success("图片上传成功!");
-        this.$refs.ruleForm.validateField("anomalous_images");
-      }
-    },
-    //判断图片规格
-    beforeAvatarUpload(file) {
-      let isJPG = false,
-        isLt2M = false;
-      if (file) {
-        if (
-          file.type === "image/jpg" ||
-          file.type === "image/png" ||
-          file.type === "image/bmp" ||
-          file.type === "image/jpeg"
-        ) {
-          isJPG = true;
-        }
-        isLt2M = file.size / 1024 / 1024 < 1;
-        if (!isJPG) {
-          this.$message.error("图片格式不正确!");
-        }
-        if (!isLt2M) {
-          this.$message.error("图片大小不能超过 1MB!");
-        }
-      }
-
-      return isJPG && isLt2M;
-    },
-    imgClose(index) {
-      this.ruleForm.anomalous_images.splice(index, 1);
-      this.$refs.ruleForm.validateField("anomalous_images");
-    },
-    getMargin() {
-      if (this.ruleForm.anomalous_images.length == 0) {
-        return "margin:0;";
-      } else if (this.ruleForm.anomalous_images.length < 3) {
-        return "margin:0px 0 0 10px";
-      } else {
-        return "margin:10px 0 0 10px";
-      }
-    },
-    getMargin_li() {
-      if (this.ruleForm.anomalous_images.length <= 3) {
-        return "margin:0 0 0 10px";
-      } else {
-        return "margin:10px 0 0 10px";
-      }
-    },
   },
 };
 </script>
 
 <style lang="scss" scoped>
-.el-form-item-error-img {
-  width: 100%;
-  ul {
-    width: 100%;
-    li {
-      float: left;
-      border: 1px solid rgb(220, 223, 230);
-      // border-left: 0;
-      box-sizing: border-box;
-      width: 254px;
-      height: 164px;
-      line-height: 164px;
-      position: relative;
-      img {
-        display: inline-block;
-        width: 100%;
-        height: 100%;
-      }
-      .el-icon-close {
-        position: absolute;
-        top: 0;
-        right: 0;
-        z-index: 2;
-        width: 25px;
-        height: 25px;
-        text-align: center;
-        line-height: 25px;
-        font-size: 19px;
-        &:hover {
-          color: #63cbe7;
-        }
-      }
-    }
-  }
-}
-.images_li {
-  // width: 254px;
-  // height: 164px;
-  float: left;
-}
-.btnupload {
-  float: left;
-  border: 1px solid rgb(220, 223, 230);
-  // border-left: 0;
-  box-sizing: border-box;
-  width: 254px;
-  height: 164px;
-  line-height: 164px;
-  text-align: center;
-}
-.Upload {
-  width: 254px;
-  height: 164px;
-  line-height: 164px;
-  text-align: center;
-  position: absolute;
-  line-height: 0px;
-  top: 0;
-  left: 0;
-  z-index: 2;
-  line-height: 164px;
-}
-.avatar-uploader-icon {
-  font-size: 33px;
-  color: #8c939d;
-  width: 50px;
-  height: 50px;
-  line-height: 50px;
-  text-align: center;
-}
 </style>

+ 550 - 0
src/views/sheetOrder/zxoutOrder/components/addEditFormA.vue

@@ -0,0 +1,550 @@
+<template>
+  <el-form
+    ref="ruleForm"
+    :loading="loading"
+    :model="ruleForm"
+    status-icon
+    :rules="rulesThis"
+    label-width="80px"
+    style="width: 100%"
+    class="demo-ruleForm"
+  >
+    <!-- <p>orderCode{{ sitem }}</p> -->
+
+    <el-row>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="发货总量" prop="send_num" required>
+            <el-input
+              disabled
+              v-model="ruleForm.send_num"
+              placeholder="发货总量"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="异常数量" prop="anomalous_numbers">
+            <el-input
+              :disabled="disabled"
+              v-model="ruleForm.anomalous_numbers"
+              placeholder="异常数量"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="期望意愿" prop="expect_wish">
+            <el-select
+              style="width: 100%"
+              :disabled="disabled"
+              v-model="ruleForm.expect_wish"
+              placeholder="期望意愿"
+            >
+              <el-option
+                v-for="item in expect_options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="异常原因" prop="anomalous_reason">
+            <el-select
+              style="width: 100%"
+              :disabled="disabled"
+              v-model="ruleForm.anomalous_reason"
+              placeholder="异常原因"
+            >
+              <el-option
+                v-for="item in reason_options"
+                :key="item.id"
+                :label="item.result"
+                :value="item.result_code"
+                :disabled="item.status == 0"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="16">
+          <el-form-item label="异常备注" prop="anomalous_remark">
+            <el-input
+              type="textarea"
+              placeholder="请输入异常原因备注"
+              v-model="ruleForm.anomalous_remark"
+              :disabled="disabled"
+              maxlength="250"
+              show-word-limit
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-col :span="24">
+        <el-form-item label="异常图片" prop="anomalous_images">
+          <div class="el-form-item-error-img">
+            <ul>
+              <li
+                class="images_li"
+                :style="getMargin_li()"
+                v-for="(item, index) in ruleForm.anomalous_images"
+                :key="item"
+              >
+                <img :src="item" alt="" style="width: 254px; height: 164px" />
+                <i
+                  class="el-icon-close"
+                  v-if="
+                    id === 'add' ||
+                    (status === '0' && powers.some((item) => item == '005'))
+                  "
+                  @click="imgClose(index)"
+                ></i>
+              </li>
+            </ul>
+            <div
+              class="btnupload"
+              :style="getMargin()"
+              v-if="ruleForm.anomalous_images.length < 5 && isShow"
+              style="position: relative"
+              @click="show = true"
+            >
+              <i class="el-icon-plus avatar-uploader-icon"></i>
+              <file-upload
+                class="Upload"
+                :accept="'.jpg,.png,.bmp,.jpeg'"
+                :multiple="true"
+                :uploadcondition="beforeAvatarUpload"
+                @UploadErrorEvent="UploadErrorEvent"
+                @UploadSuccessEvent="UploadSuccessEvent"
+              />
+            </div>
+          </div>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="24" style="text-align: right">
+        <el-button
+          type="primary"
+          @click="submitForm"
+          v-if="
+            id === 'add' ||
+            (status === '0' && powers.some((item) => item == '005'))
+          "
+          >保 存</el-button
+        >
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+<script>
+import { isnumber } from "@/utils/validate.js";
+import asyncRequest from "@/apis/service/sellOut/sellAfterApply";
+import resToken from "@/mixins/resToken";
+export default {
+  name: "handover",
+  props: ["id", "sitem", "showModelThis", "newTime", "orderCode", "outCode"],
+  mixins: [resToken],
+  data() {
+    const validatenumbers = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("异常数量不能为空!"));
+      } else {
+        if (!isnumber(value)) {
+          callback(new Error("异常数量必须为数字"));
+        } else {
+          callback();
+        }
+      }
+    };
+    return {
+      isShow: true,
+      loading: false,
+      disabled: true,
+      status: "", //存储详情接口返的状态
+      showModelThis: this.showModel,
+      resign_name: "", //离职人
+      hand_name: "", //交接人
+      ruleForm: {
+        send_num: "",
+        order_type: "1", //售后类型 1销售2咨询,
+        outCode: "", //
+        stock_out_numbers: "", //出库单编号
+        anomalous_numbers: "", //异常数量
+        anomalous_reason: "", //异常原因
+        expect_wish: "", //期望意愿
+        anomalous_images: [],
+        anomalous_remark: "", //异常备注
+      },
+      rulesThis: this.rules,
+      // 验证规则
+      rules: {
+        anomalous_numbers: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: validatenumbers,
+          },
+        ],
+        anomalous_reason: [
+          {
+            required: true,
+            message: "请选择异常原因",
+            trigger: "change",
+          },
+        ],
+        expect_wish: [
+          {
+            required: true,
+            message: "请选择期望意愿",
+            trigger: "change",
+          },
+        ],
+        anomalous_images: [
+          {
+            type: "array",
+            required: true,
+            message: "异常图片不能为空!",
+            trigger: "change",
+          },
+        ],
+        anomalous_remark: [
+          {
+            required: true,
+            message: "请输入异常原因备注",
+            trigger: "blur",
+          },
+        ],
+      },
+      reason_options: [],
+      reason_value: "", //异常原因
+      expect_options: [
+        {
+          value: "1",
+          label: "退货",
+        },
+        {
+          value: "2",
+          label: "换货",
+        },
+        {
+          value: "3",
+          label: "改变售价",
+        },
+      ],
+      expect_value: "", //期望意愿
+      code: "",
+    };
+  },
+  computed: {
+    powers() {
+      let tran =
+        this.$store.getters.btnList.find(
+          (item) => item.menu_route == "handoverDetail"
+        ) || {};
+      if (tran && tran.action && tran.action.length > 0) {
+        return tran.action;
+      } else {
+        return [];
+      }
+    },
+  },
+  created() {
+    this.getReason(); //获取异常原因
+    this.initForm();
+  },
+  watch: {
+    id: function (val) {
+      if (val) {
+        this.initForm();
+      }
+    },
+    newTime: function (val) {
+      if (val) {
+        this.initForm();
+      }
+    },
+  },
+  methods: {
+    //   关闭弹窗,直接隐藏表单
+    // async closeAddEdit() {
+    //   this.$emit("closeModel", false); //抛出一个事件,关闭弹窗
+    //
+    // },
+    closeAdd() {
+      this.showModelThis = false;
+    },
+    async initForm() {
+      this.loading = true;
+      this.status = "";
+      this.rulesThis = this.rules;
+      this.disabled = false;
+      await this.resetForm();
+      this.loading = false;
+    },
+    async initData() {
+      if (this.sitem) {
+        let { returnCode } = this.sitem;
+        let model = {
+          returnCode,
+        };
+        const res = await asyncRequest.detail(model);
+        if (res && res.code === 0 && res.data) {
+          let { error_num, error_img, error_remark, except_code, error_code } =
+          console.log(res.data);
+          this.ruleForm = {
+            stock_out_numbers: "", //出库单编号
+            anomalous_numbers: error_num, //异常数量
+            anomalous_reason: error_code, //异常原因
+            expect_wish: except_code, //期望意愿
+            anomalous_images: [error_img],
+            anomalous_remark: error_remark, //异常备注
+          };
+        } else if (res && res.code >= 100 && res.code <= 104) {
+          await this.logout();
+        } else {
+          this.$message.warning(res.message);
+        }
+      }
+    },
+
+    async resetForm() {
+      this.resign_name = "";
+      this.hand_name = "";
+      this.status = "";
+      // 重置
+      await this.$nextTick(() => {
+        if (this.$refs.ruleForm) {
+          this.$refs.ruleForm.resetFields();
+          this.$refs.ruleForm.clearValidate();
+          console.log(this.sitem);
+          let { send_num } = this.sitem;
+          this.ruleForm = {
+            send_num: send_num || "",
+            anomalous_numbers: "", //异常数量
+            anomalous_reason: "", //异常原因
+            expect_wish: "", //期望意愿
+            anomalous_images: [],
+            outCode: this.code,
+          };
+          // }
+        }
+      });
+    },
+    async submitForm() {
+      await this.$refs.ruleForm.validate(async (valid) => {
+        if (valid) {
+          const { anomalous_numbers } = this.ruleForm;
+          if (this.sitem.send_num < anomalous_numbers) {
+            this.$message.warning("异常数量不能大于发货数量");
+            return false;
+          }
+          let model = JSON.parse(JSON.stringify(this.ruleForm));
+          console.log(model);
+          // console.log("调接口");
+          let _model = {
+            order_type: "1",
+            outCode: this.sitem.outCode,
+            orderCode: this.sitem.orderCode,
+
+            errorCode: model.anomalous_reason, //异常原因
+            num: model.anomalous_numbers,
+            remark: model.anomalous_remark,
+            except_code: model.expect_wish,
+            img: model.anomalous_images.toString(),
+          };
+
+          console.log(_model);
+          const res = await asyncRequest.add(_model);
+
+          if (res && res.code === 0) {
+            const title = this.id === "add" ? "添加成功!" : "修改成功!";
+            this.$notify.success({
+              title,
+              message: "",
+            });
+
+            if (this.id === "add") {
+              this.showModelThis = false;
+              this.$emit("refresh", false);
+            } else {
+              this.initForm();
+            }
+          } else if (res && res.code >= 100 && res.code <= 104) {
+            await this.logout();
+          } else {
+            this.$message.warning(res.message);
+          }
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+ 
+   
+  
+
+   
+    // 获取异常原因
+    async getReason() {
+      let model = {
+        type: "2",
+        page: 1,
+        size: 100,
+      };
+      const res = await asyncRequest.reasonList(model);
+      this.loading = false;
+      if (res && res.code === 0) {
+        this.reason_options = res.data.list;
+      } else if (res && res.code >= 100 && res.code <= 104) {
+        await this.logout();
+      } else {
+        this.$message.warning(res.message);
+      }
+    },
+    // 异常原因
+    handleAnomalousReason(e) {
+      if (e) {
+        this.ruleForm.anomalous_reason = e;
+      } else {
+        this.ruleForm.anomalous_reason = "";
+      }
+      this.$refs.ruleForm.validateField("company_img");
+    },
+    //图片上传失败
+    UploadErrorEvent() {
+      this.$message.error("图片上传失败!");
+      this.$refs.ruleForm.validateField("anomalous_images");
+    },
+    //图片上传成功
+    UploadSuccessEvent(data) {
+      if (data && data.url && data.url !== "break") {
+        const { url } = data.url;
+        this.ruleForm.anomalous_images.push(url);
+        this.$message.success("图片上传成功!");
+        this.$refs.ruleForm.validateField("anomalous_images");
+      }
+    },
+    //判断图片规格
+    beforeAvatarUpload(file) {
+      let isJPG = false,
+        isLt2M = false;
+      if (file) {
+        if (
+          file.type === "image/jpg" ||
+          file.type === "image/png" ||
+          file.type === "image/bmp" ||
+          file.type === "image/jpeg"
+        ) {
+          isJPG = true;
+        }
+        isLt2M = file.size / 1024 / 1024 < 1;
+        if (!isJPG) {
+          this.$message.error("图片格式不正确!");
+        }
+        if (!isLt2M) {
+          this.$message.error("图片大小不能超过 1MB!");
+        }
+      }
+
+      return isJPG && isLt2M;
+    },
+    imgClose(index) {
+      this.ruleForm.anomalous_images.splice(index, 1);
+      this.$refs.ruleForm.validateField("anomalous_images");
+    },
+    getMargin() {
+      if (this.ruleForm.anomalous_images.length == 0) {
+        return "margin:0;";
+      } else if (this.ruleForm.anomalous_images.length < 3) {
+        return "margin:0px 0 0 10px";
+      } else {
+        return "margin:10px 0 0 10px";
+      }
+    },
+    getMargin_li() {
+      if (this.ruleForm.anomalous_images.length <= 3) {
+        return "margin:0 0 0 10px";
+      } else {
+        return "margin:10px 0 0 10px";
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-form-item-error-img {
+  width: 100%;
+  ul {
+    width: 100%;
+    li {
+      float: left;
+      border: 1px solid rgb(220, 223, 230);
+      // border-left: 0;
+      box-sizing: border-box;
+      width: 254px;
+      height: 164px;
+      line-height: 164px;
+      position: relative;
+      img {
+        display: inline-block;
+        width: 100%;
+        height: 100%;
+      }
+      .el-icon-close {
+        position: absolute;
+        top: 0;
+        right: 0;
+        z-index: 2;
+        width: 25px;
+        height: 25px;
+        text-align: center;
+        line-height: 25px;
+        font-size: 19px;
+        &:hover {
+          color: #63cbe7;
+        }
+      }
+    }
+  }
+}
+.images_li {
+  // width: 254px;
+  // height: 164px;
+  float: left;
+}
+.btnupload {
+  float: left;
+  border: 1px solid rgb(220, 223, 230);
+  // border-left: 0;
+  box-sizing: border-box;
+  width: 254px;
+  height: 164px;
+  line-height: 164px;
+  text-align: center;
+}
+.Upload {
+  width: 254px;
+  height: 164px;
+  line-height: 164px;
+  text-align: center;
+  position: absolute;
+  line-height: 0px;
+  top: 0;
+  left: 0;
+  z-index: 2;
+  line-height: 164px;
+}
+.avatar-uploader-icon {
+  font-size: 33px;
+  color: #8c939d;
+  width: 50px;
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+}
+</style>

+ 26 - 0
src/views/sheetOrder/zxoutOrder/components/columnsForm.js

@@ -0,0 +1,26 @@
+export default [
+  {
+    prop: "outCode",
+    label: "商品分类",
+  },
+  {
+    prop: "good_name",
+    label: "商品名称",
+  },
+  {
+    prop: "good_num",
+    label: "发货数量",
+  },
+  {
+    prop: "contactor",
+    label: "收货人",
+  },
+  {
+    prop: "mobile",
+    label: "收货联系电话",
+  },
+  {
+    prop: "addr",
+    label: "收货地址",
+  },
+]

+ 231 - 0
src/views/sheetOrder/zxoutOrder/components/logisticsForm.vue

@@ -0,0 +1,231 @@
+<template>
+  <el-form
+    v-loading="loading"
+    :model="ruleForm"
+    :rules="rules"
+    status-icon
+    ref="ruleForm"
+    label-width="100px"
+    class="demo-ruleForm"
+  >
+    <el-row>
+      <el-col :span="12">
+        <el-form-item label="发货总数" prop="send_num" required>
+          <el-input
+            disabled
+            placeholder="物流单号"
+            v-model="ruleForm.send_num"
+            maxlength="100"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="物流公司" prop="post_name">
+          <search-express
+            :value="ruleForm.post_name"
+            :placeholder="'物流公司'"
+            :names="''"
+            :is-detail="false"
+            @searchChange="handleCompany"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="物流单号" prop="post_code">
+          <el-input
+            placeholder="物流单号"
+            v-model="ruleForm.post_code"
+            maxlength="100"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="物流费用" prop="post_fee">
+          <el-input
+            placeholder="物流费用"
+            v-model="ruleForm.post_fee"
+            maxlength="100"
+          >
+            <template slot="append">元</template>
+          </el-input>
+        </el-form-item>
+      </el-col>
+
+      <el-col
+        :span="24"
+        style="text-align: right"
+        v-if="powers.some((item) => item == '045')"
+      >
+        <el-button type="primary" :size="'mini'"  @click="submitForm">保 存 </el-button>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+<script>
+import asyncRequest from "@/apis/service/sheetOrder/zxoutOrder";
+import resToken from "@/mixins/resToken";
+import { isnumber, isnumber2, isAlphanumeric } from "@/utils/validate";
+export default {
+  name: "wsmInOrderAdd",
+  props: ["id", "sitem", "newTime"],
+  mixins: [resToken],
+  computed: {
+    powers() {
+      let tran =
+        this.$store.getters.btnList.find(
+          (item) => item.menu_route == "zxoutOrderDetail"
+        ) || {};
+      if (tran && tran.action && tran.action.length > 0) {
+        return tran.action;
+      } else {
+        return [];
+      }
+    },
+  },
+  data() {
+    const validatePrice = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("不能为空!"));
+      } else {
+        if (isnumber(value)) {
+          callback();
+        } else if (isnumber2(value)) {
+          callback();
+        } else {
+          callback(new Error("仅支持整数或两位小数!"));
+        }
+      }
+    };
+    const validateCode = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("不能为空!"));
+      } else {
+        if (!isAlphanumeric(value)) {
+          callback(new Error("仅支持字母和数字!"));
+        } else {
+          callback();
+        }
+      }
+    };
+
+    return {
+      loading: true,
+      ruleForm: {
+        outCode: "",
+        send_num: "",
+        post_name: [],
+        post_code: "",
+        post_fee: "",
+        sendtime: "",
+      },
+      rules: {
+        post_name: {
+          type: "array",
+          required: true,
+          trigger: "change",
+          message: "请输入物流公司",
+        },
+        post_code: {
+          required: true,
+          validator: validateCode,
+          trigger: "blur",
+        },
+        post_fee: {
+          required: true,
+          validator: validatePrice,
+          trigger: "blur",
+        },
+      },
+    };
+  },
+  watch: {
+    newTime: function (val) {
+      if (val) {
+        this.initForm();
+      }
+    },
+  },
+  mounted() {
+    this.initForm();
+  },
+  methods: {
+    closeModel() {
+      console.log("closeModel!!");
+    },
+
+    async initForm() {
+      this.loading = true;
+      // console.log(this.sitem);
+      await this.resetForm();
+      this.loading = false;
+    },
+
+    //初始化表单
+    async resetForm() {
+      await this.$nextTick(() => {
+        if (this.$refs.ruleForm) {
+          this.$refs.ruleForm.resetFields();
+          this.$refs.ruleForm.clearValidate();
+
+          const { outCode, send_num, post_code, post_name, post_fee } =
+            this.sitem;
+          console.log(this.sitem);
+          // console.log(bum);
+          // const { send_num, outCode } = bum[0];
+          // console.log(send_num, outCode);
+          this.ruleForm = {
+            outCode: outCode || "",
+            send_num: send_num || "",
+            post_name: post_name ? [post_name] : [],
+            post_code: post_code || "",
+            post_fee: post_fee || "",
+            sendtime: "",
+          };
+        }
+      });
+    },
+    // 保存更改
+    async submitForm() {
+      await this.$refs.ruleForm.validate(async (valid) => {
+        if (valid) {
+          this.loading = true;
+          let model = JSON.parse(JSON.stringify(this.ruleForm));
+          model.post_name = model.post_name.toString();
+          delete model["send_num"];
+          delete model["page"];
+          const res = await asyncRequest.salezxout(model);
+          this.loading = false;
+          if (res && res.code === 0) {
+            this.$notify.success({
+              title: "添加成功",
+              message: "",
+            });
+            this.$emit("refresh"); //抛出事件给详情页。
+          } else if (res && res.code >= 100 && res.code <= 104) {
+            await this.logout();
+          } else {
+            this.$message.warning(res.message);
+          }
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    handleCompany(e) {
+      console.log(e);
+      if (e && e.code) {
+        this.ruleForm.post_name = [e.code];
+        this.ruleForm.page = 1;
+      }
+      console.log(this.ruleForm.express_company);
+      this.$refs.ruleForm.validateField("post_name");
+    },
+  },
+};
+</script>
+
+   <style lang="scss" scoped>
+.account {
+}
+</style>

+ 91 - 118
src/views/sheetOrder/zxoutOrder/detail.vue

@@ -4,67 +4,50 @@
       style="width: 100%"
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
-      <p>{{ powers }}</p>
-      <p>status{{ s_status }}</p>
-      {{ newTime }}
+      <div class="tr" style="height: 50px; padding: 10px 0 0 0">
+        <el-button
+          class="fr"
+          type="primary"
+          plain
+          :size="'mini'"
+          style="margin: 0 0 0 10px"
+          @click="showModel=true"
+          >新建售后申请单
+        </el-button>
+      </div>
+      <!-- <p>{{ status }}---{{ powers }}</p> -->
       <status-bar
         v-if="newTime !== ''"
         :newTime="newTime"
         :options="statusOptions"
-        :status="s_status"
+        :status="status"
       />
       <el-collapse v-model="activeNames">
-        <el-collapse-item title="售后申请详情" name="1">
+        <el-collapse-item title="咨询出库单详情" name="1">
           <add-edit-form
             :sitem="sitem"
             :newTime="newTime"
             v-if="newTime != ''"
           ></add-edit-form>
         </el-collapse-item>
-        <el-collapse-item
-          title="业务审核"
-          name="1"
-          v-if="powers.some((item) => item == '034')"
-        >
-          <exam-form
-            v-if="status == '0'"
-            :statusList="statusList"
+        <el-collapse-item title="填写物流" name="2">
+          <logistics-form
+            :sitem="sitem"
             :newTime="newTime"
-            :disabled="false"
-            :isMust="false"
-            @searchChange="examForm"
+            v-if="newTime != ''"
+            @refresh="initData()"
           />
         </el-collapse-item>
-        <el-collapse-item
-          title="物流反馈"
-          name="2"
-          v-if="powers.some((item) => item == '040')"
-        >
-          <!-- v-if="status == '2'" -->
-          <express-feedback
-            @refresh="searchList"
-            :returnCode="returnCode"
-            v-if="status == '2' || status == '1'"
-          ></express-feedback>
-        </el-collapse-item>
-        <!-- <el-collapse-item
-          title="采购审核"
-          name="3"
-          v-if="powers.some((item) => item == '036')"
-        >
-          <purchase-check></purchase-check>
-        </el-collapse-item> -->
-        <el-collapse-item
-          title="退货物流"
-          name="4"
-          v-if="powers.some((item) => item == '040')"
-        >
-          {{ s_status }}
-          <return-express
-            @refresh="searchList"
-            :returnCode="orderCode"
-            v-if="s_status == '3'"
-          ></return-express>
+        <el-collapse-item title="客户验收" name="3">
+          <div class="tr" style="padding: 0 20px 20px 0">
+            <el-button
+              type="primary"
+              plain
+              :size="'mini'"
+              @click="customerCheck"
+              >客户已收到货</el-button
+            >
+          </div>
         </el-collapse-item>
         <el-collapse-item title="审批记录" name="10">
           <process-time-line
@@ -75,7 +58,16 @@
           />
         </el-collapse-item>
       </el-collapse>
-      {{ orderCode }}
+      <div>
+        <add-Edit-A
+          :id="'add'"
+          :sitem="sitem"
+          :show-model="showModel"
+          :is-detail="false"
+          @refresh="initData"
+          @cancel="showModel = false"
+        />
+      </div>
     </div>
     <div v-else>
       <no-auth></no-auth>
@@ -85,28 +77,23 @@
    <script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
-// import asyncRequest from "@/apis/service/purchaseIn/purchaseOrder/detail";
-import asyncRequest from "@/apis/service/sellOut/sellAfterApply";
-
+import asyncRequest from "@/apis/service/sheetOrder/zxoutOrder";
 import addEditForm from "./components/addEditForm.vue";
-import ExpressFeedback from "./components/express_feedback.vue";
-
-import PurchaseCheck from "./components/purchase_check";
-import ReturnExpress from "./components/returnExpress";
+import logisticsForm from "./components/logisticsForm";
+import addEditA from "./components/addEditA";
 export default {
-  name: "serviceDetail",
+  name: "zxoutOrderDetail",
   mixins: [mixinPage, resToken],
   components: {
     addEditForm,
-    ExpressFeedback,
-    PurchaseCheck,
-    ReturnExpress,
+    addEditA,
+    logisticsForm,
   },
   computed: {
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "serviceDetail"
+          (item) => item.menu_route == "zxoutOrderDetail"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -118,89 +105,59 @@ export default {
   data() {
     return {
       activeNames: ["0", "1", "2", "3", "4", "10"],
-      s_status: "", //存储详情接口状态
+      status: "", //存储详情接口状态
       statusList: [],
       sitem: null,
       newTime: "",
+      showModel:false,
       loading: false,
       statusOptions: [
-        { value: "0", label: "业务审核" },
-        { value: "1", label: "物流信息反馈" },
-        // { value: "2", label: "反馈物流费" },
-        { value: "3", label: "填写退货信息" },
-        { value: "4", label: "已退货" },
-        // { value: "5", label: "已发货" },
+        { value: "0", label: "待发货" },
+        { value: "1", label: "待验收" },
+        { value: "2", label: "已完成" },
+        // { value: "3", label: "已完成" },
       ],
-      orderCode: "",
-      return_code: "",
       code: "",
     };
   },
   mounted() {
     this.code = this.$route.query.id;
-
-    this.searchList();
+    console.log(this.code);
+    this.initData();
   },
   methods: {
     getNewTime() {
       this.newTime = new Date().valueOf();
     },
-    // 点击业务审核的保存按钮
-    async examForm(e) {
-      console.log(e);
-      if (!this.loading) {
-        let type = e.state === "1" ? "1" : "0";
-        console.log(type);
-        await this.setstatus(type, "提交业务审核", e.remark);
-      }
-    },
-    //
-    async setstatus(type, detail, remark) {
-      await this.$confirm(`确定要${type === "1" ? "同意" : "驳回"}?`, {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(async () => {
-          // if (this.sitem) {
-          // let { returnCode } = this.sitem;
-          const model = {
-            remark,
-            returnCode: this.code,
-            status: type,
-          };
-          let res = await asyncRequest.status(model);
+    async setstatus() {
+      const model = {
+        orderCode: "",
+        status: "",
+        outCode: this.code,
+      };
+      let res = await asyncRequest.status(model);
 
-          if (res && res.code === 0) {
-            this.$notify.success({
-              title: "修改成功!",
-              message: "",
-            });
-            await this.searchList();
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
-          }
-          // }
-        })
-        .catch(() => {
-          console.log("取消");
+      if (res && res.code === 0) {
+        this.$notify.success({
+          title: "修改成功!",
+          message: "",
         });
+        await this.initData();
+      } else if (res && res.code >= 100 && res.code <= 104) {
+        await this.logout();
+      } else {
+        this.$message.warning(res.message);
+      }
     },
-    async searchList() {
+    async initData() {
       let model = {
-        returnCode: this.code,
+        outCode: this.code,
       };
       const res = await asyncRequest.detail(model);
       if (res && res.code === 0 && res.data) {
-        this.s_status = res.data.status;
-        console.log(this.s_status);
-        console.log(res.data);
         this.sitem = res.data;
-        console.log(this.sitem);
-        this.orderCode = res.data.returnCode;
-        // console.log(this.orderCode);
+        const { status } = res.data;
+        this.status = status;
         this.getNewTime();
       } else if (res && res.code >= 100 && res.code <= 104) {
         await this.logout();
@@ -208,6 +165,22 @@ export default {
         this.$message.warning(res.message);
       }
     },
+    async customerCheck() {
+      let model = {
+        outCode: this.code,
+        orderCode: this.sitem.orderCode,
+        status: "3",
+      };
+
+      const res = await asyncRequest.status(model);
+      if (res && res.code === 0) {
+        await this.initData();
+      } else if (res && res.code >= 100 && res.code <= 104) {
+        await this.logout();
+      } else {
+        this.$message.warning(res.message);
+      }
+    },
   },
 };
 </script>

+ 74 - 230
src/views/sheetOrder/zxoutOrder/index.vue

@@ -1,11 +1,10 @@
 <template>
-  <div class="goodsService pagePadding">
+  <div class="zxoutOrder pagePadding">
     <div
       v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
     >
-      <!-- v-loading="loading" -->
       <ex-table
-        v-loading="false"
+        v-loading="loading"
         :table="table"
         :data="tableData"
         :columns="columns"
@@ -27,80 +26,47 @@
         <template #table-header="{}">
           <div style="width: 100%">
             <el-row style="padding: 0 0 0 80px">
-              <el-col :span="24">
-                <!-- 时间选择 -->
-                <el-col :span="4" style="width: 291px">
-                  <period-date-picker
-                    :width="'134px'"
-                    :size="searchSize"
-                    @timeReturned="handleTime"
-                  />
-                </el-col>
-                <!-- 处理状态 -->
-                <el-col :span="4" style="width: 140px; padding-left: 10px">
-                  <el-select
-                    :size="searchSize"
-                    v-model="serviceValue"
-                    clearable
-                    placeholder="处理状态"
-                    @change="serviceChange"
-                  >
-                    <el-option
-                      v-for="item in serviceOptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-col>
-                <!-- 客户公司 -->
-                <el-col :span="4" style="width: 320px; padding: 0px 0 0 10px">
-                  <search-customer
-                    :value="customerCode"
-                    :size="searchSize"
-                    :placeholder="'客户公司名称'"
-                    @searchChange="customerChange"
-                  />
-                </el-col>
-
-                <!-- 申请人 -->
-
-                <!-- <el-col :span="3" style="width: 66px; float: right">
-                  <el-button
-                    :size="searchSize"
-                    type="primary"
-                    style="float: right; margin-left: 5px"
-                    @click="openModal('add', false)"
-                  >
-                    新建
-                  </el-button>
-                </el-col> -->
-
-                <el-col :span="3" style="width: 66px; float: right">
-                  <el-button
-                    :size="searchSize"
-                    type="primary"
-                    style="float: right; margin-left: 5px"
-                    @click="searchList"
-                  >
-                    刷新
-                  </el-button>
-                </el-col>
+              <el-col :span="4" style="width: 291px">
+                <period-date-picker
+                  :width="'134px'"
+                  :size="searchSize"
+                  @timeReturned="handleTime"
+                />
+              </el-col>
+              <el-col :span="4" style="width: 400px; padding: 0px 0 0 10px">
+                <search-customer
+                  :value="customerCode"
+                  :size="searchSize"
+                  :placeholder="'客户公司名称'"
+                  @searchChange="customerChange"
+                />
+              </el-col>
+              <el-col :span="3" style="width: 66px; float: right">
+                <el-button
+                  :size="searchSize"
+                  type="primary"
+                  style="float: right; margin-left: 5px"
+                  @click="searchList"
+                >
+                  刷新
+                </el-button>
               </el-col>
             </el-row>
             <el-row style="padding-top: 10px">
-              <!-- 期望意愿 -->
-              <el-col :span="4" style="width: 130px">
+              <el-col :span="4" style="width: 160px">
                 <el-select
                   :size="searchSize"
-                  v-model="expectValue"
+                  v-model="serviceValue"
                   clearable
-                  placeholder="期望意愿"
-                  @change="expectChange"
+                  placeholder="出库单状态"
+                  @change="
+                    pageInfo.curr = 1;
+                    parmValue.page = 1;
+                    searchList();
+                  "
                 >
                   <el-option
-                    v-for="item in expectOptions"
+                    v-for="item in statusOptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -108,55 +74,38 @@
                   </el-option>
                 </el-select>
               </el-col>
-              <el-col :span="4" style="width: 620px; padding: 0 0 0 10px">
+              <el-col :span="4" style="width: 450px; padding: 0 0 0 10px">
                 <el-input
                   clearable
                   :size="searchSize"
-                  placeholder="请输入内容"
+                  placeholder="关键字"
                   v-model="s_input"
                   class="input-with-select"
                 >
                   <el-select
-                    style="width: 150px"
+                    style="width: 140px"
                     v-model="select"
                     slot="prepend"
                     placeholder="请选择"
                   >
-                    <el-option label="申请人" value="applyer"></el-option>
-
-                    <el-option label="商品名称" value="goodsName"></el-option>
-                    <el-option label="商品编号" value="goodsNum"></el-option>
-                    <el-option
-                      label="售后申请编号"
-                      value="serviceNum"
-                    ></el-option>
-
-                    <el-option
-                      label="销售确认单编号"
-                      value="sellOrderNum"
-                    ></el-option>
-                    <el-option
-                      label="销售出库单编号"
-                      value="sellOutNum"
-                    ></el-option>
+                    <el-option label="销售出库单编号" value="1" />
+                    <el-option label="销售订单编号" value="2" />
+                    <el-option label="商品编号" value="3" />
+                    <el-option label="商品名称" value="4" />
+                    <el-option label="申请人" value="5" />
                   </el-select>
                   <el-button
                     slot="append"
                     icon="el-icon-search"
-                    @click="handleValue"
+                    @click="
+                      pageInfo.curr = 1;
+                      parmValue.page = 1;
+                      searchList();
+                    "
                   ></el-button>
                 </el-input>
               </el-col>
-
-              <!-- <el-col :span="4" style="width: 54px">
-                <el-button
-                  :size="searchSize"
-                  type="primary"
-                  class="fr"
-                  icon="el-icon-search"
-                  @click="searchList"
-              /></el-col> -->
-              <el-col :span="4" style="width: 66px">
+              <el-col :span="4" style="width: 66px" class="fr">
                 <el-button
                   type="warning"
                   class="fr"
@@ -207,18 +156,6 @@
           ></el-tag>
         </template>
         <template #operation="{ scope }">
-          <el-tooltip
-            v-if="powers.some((item) => item == '002')"
-            effect="dark"
-            content="重置密码"
-            placement="top"
-          >
-            <i
-              class="el-icon-refresh-left tb-icon"
-              @click="openPasswordModal(scope.row.id, false)"
-            ></i>
-          </el-tooltip>
-
           <el-tooltip
             v-if="powers.some((item) => item == '007')"
             effect="dark"
@@ -227,7 +164,7 @@
           >
             <i
               class="el-icon-view tb-icon"
-              @click="routeGoto('serviceDetail', { id: scope.row.returnCode })"
+              @click="routeGoto('zxoutOrderDetail', { id: scope.row.outCode })"
             ></i>
           </el-tooltip>
         </template>
@@ -249,14 +186,13 @@
    <script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
-import statusList from "@/assets/js/statusList";
-import asyncRequest from "@/apis/service/sellOut/sellAfterApply";
+import asyncRequest from "@/apis/service/sheetOrder/zxoutOrder";
 import addEdit from "./components/addEdit.vue";
 import columns from "./columns";
 import { mapGetters } from "vuex";
 
 export default {
-  name: "goodsService",
+  name: "zxoutOrder",
   mixins: [mixinPage, resToken],
   components: {
     addEdit,
@@ -266,7 +202,7 @@ export default {
     powers() {
       let tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "goodsService"
+          (item) => item.menu_route == "zxoutOrder"
         ) || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
@@ -277,7 +213,7 @@ export default {
   },
   data() {
     return {
-      select: "",
+      select: "1",
       s_input: "",
       customerCode: [], //客户公司code
       except_codeOptions: [
@@ -293,33 +229,25 @@ export default {
       sitem: null,
       // 状态
       statusOptions: [
-        { id: "0", label: "待审核" },
-        { id: "1", label: "待物流反馈" },
-        { id: "3", label: "待退货" },
-        { id: "4", label: "已退货" },
-        { id: "5", label: "待客户验收" },
+        { id: "0", label: "待发货" },
+        { id: "1", label: "已出库" },
+        { id: "2", label: "待验收" },
+        { id: "3", label: "已完成" },
       ],
-      statusList: statusList,
       loading: true,
       showModel: false,
       isDetail: false,
       modelId: 0,
       parmValue: {
         order_type: "2",
-        customer_code: "", //客户公司code
-        start_time: "",
-        end_time: "",
-        returnCode: "", //售后单号
-        apply_name: "", //申请人名称
-        sellNumbers: "", //销售单号
-        sellGoStock: "", //销售出库单号,
-        goodsNumber: "", //商品编号
-        goodsName: "", //商品名称
-        service_value: "", //售后申请单处理状态
-        expect_value: "", //期望意愿
-        result_value: "", //处理结果
         page: 1, // 页码
         size: 15, // 每页显示条数
+        customer_code: "", //客户公司code
+        orderCode: "",
+        apply_name: "",
+        status: "",
+        start: "",
+        end: "",
       },
       tableData: [],
       // 表格 - 数据
@@ -374,24 +302,6 @@ export default {
           label: "改变售价",
         },
       ],
-      expectValue: "", //期望意愿
-      resultOptions: [
-        //假数据
-
-        {
-          value: "ad",
-          label: "处理中",
-        },
-        {
-          value: "选项2",
-          label: "已同意",
-        },
-        {
-          value: "选项2",
-          label: "已驳回",
-        },
-      ],
-      resultValue: "", //处理结果
     };
   },
   mounted() {
@@ -465,26 +375,9 @@ export default {
     // 列表搜索
     async searchList() {
       this.loading = true;
-      console.log(this.parmValue);
       let model = JSON.parse(JSON.stringify(this.parmValue));
-      let _model = {
-        order_type: "2",
-        page: 1,
-        size: 15,
-        good_name: model.goodsName,
-        returnCode: model.returnCode,
-        outCode: model.sellGoStock,
-        status: model.service_value, //售后申请单处理状态
-        orderCode: model.sellNumbers,
-        good_code: model.goodsNumber,
-        except_code: model.expect_value,
-        apply_name: model.apply_name,
-        start: model.start_time,
-        end: model.end_time,
-        customer_code: model.customer_code, //客户公司code
-      };
-      console.log(_model);
-      const res = await asyncRequest.list(_model);
+      model.orderCode = this.select === "1" ? this.s_input : "";
+      const res = await asyncRequest.list(model);
       if (res && res.code === 0 && res.data) {
         this.tableData = res.data.list;
         this.pageInfo.total = Number(res.data.count);
@@ -530,39 +423,22 @@ export default {
     },
     // 时间选择事件
     async handleTime(e) {
-      console.log(e, "handleTime");
       if (e.startTime !== "") {
-        this.parmValue.start_time = e.startTime;
+        this.parmValue.start = e.startTime;
       } else {
-        this.parmValue.start_time = "";
+        this.parmValue.start = "";
       }
       if (e.endTime !== "") {
-        this.parmValue.end_time = e.endTime;
+        this.parmValue.end = e.endTime;
       } else {
-        this.parmValue.end_time = "";
+        this.parmValue.end = "";
       }
-      if (this.parmValue.start_time !== "" && this.parmValue.end_time !== "") {
+      if (this.parmValue.start !== "" && this.parmValue.end !== "") {
+        this.pageInfo.curr = 1;
         this.parmValue.page = 1;
         await this.searchList();
       }
     },
-    // 处理状态选择
-    async serviceChange(e) {
-      console.log(e, "serviceChange");
-      this.parmValue.service_value = e;
-      await this.searchList();
-    },
-    // 期望意愿选择
-    async expectChange(e) {
-      console.log(e, "expectChange");
-      this.parmValue.expect_value = e;
-      await this.searchList();
-    },
-    // // 处理结果选择
-    // resultChange(e) {
-    //   console.log(e, "resultChange");
-    //   this.parmValue.result_value = e;
-    // },
     async customerChange(e) {
       if (e && e.id) {
         this.customerCode = [e.code];
@@ -571,47 +447,15 @@ export default {
         this.customerCode = [];
         this.parmValue.customer_code = "";
       }
+      this.pageInfo.curr = 1;
       this.parmValue.page = 1;
       await this.searchList();
     },
-    async handleValue() {
-      console.log(this.select);
-      console.log(this.s_input);
-      switch (this.select) {
-        case "goodsName":
-          this.parmValue.goodsName = this.s_input;
-          await this.searchList();
-          break;
-        case "goodsNum":
-          this.parmValue.goodsNumber = this.s_input;
-          await this.searchList();
-
-          break;
-        case "sellOrderNum":
-          this.parmValue.sellNumbers = this.s_input;
-          await this.searchList();
-
-          break;
-        case "applyer":
-          this.parmValue.apply_name = this.s_input;
-          await this.searchList();
-          break;
-        case "serviceNum":
-          this.parmValue.returnCode = this.s_input;
-          await this.searchList();
-          break;
-        default:
-          this.parmValue.sellGoStock = this.s_input;
-          await this.searchList();
-
-          break;
-      }
-    },
   },
 };
 </script>
    <style lang="scss" scoped>
-.goodsService {
+.zxoutOrder {
 }
 </style>