戴艳蓉 3 years ago
parent
commit
e69a65bb7e

+ 0 - 18
src/apis/service/sellOut/consultOrder/index.js

@@ -1,18 +0,0 @@
-// 物业管理员
-import http from "@/apis/axios";
-const api = "admin/";
-export default {
-  // 添加
-  add: (data, params) => http(api + "add", data, "post", params),
-  // 删除
-  delete: (data, params) => http(api + "Consultdel", data, "post", params),
-  // 分页查询
-  list: (data, params) => http(api + "Consultlist", data, "post", params),
-  // 详情
-  detail: (data, params) => http(api + "Consultinfo", data, "post", params),
-  // 更新
-  update: (data, params) => http(api + "update", data, "post", params),
-  // 修改状态
-  status: (data, params) => http(api + "accountstatus", data, "post", params),
-};
-   

+ 0 - 18
src/apis/service/sellOut/consultSheet/index.js

@@ -1,18 +0,0 @@
-// 物业管理员
-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 + "Consultlist", data, "post", params),
-  // 详情
-  detail: (data, params) => http(api + "Consultinfo", data, "post", params),
-  // 更新
-  update: (data, params) => http(api + "update", data, "post", params),
-  // 修改状态
-  status: (data, params) => http(api + "accountstatus", data, "post", params),
-};
-   

+ 0 - 18
src/apis/service/sellOut/serviceDetail/index.js

@@ -1,18 +0,0 @@
-// 物业管理员
-import http from "@/apis/axios";
-const api = "admin/";
-export default {
-  // 添加
-  add: (data, params) => http(api + "add", data, "post", params),
-  // 删除
-  delete: (data, params) => http(api + "delete", data, "post", params),
-  // 分页查询
-  list: (data, params) => http(api + "list", data, "post", params),
-  // 详情
-  detail: (data, params) => http(api + "detail", data, "post", params),
-  // 更新
-  update: (data, params) => http(api + "update", data, "post", params),
-  // 修改状态
-  status: (data, params) => http(api + "accountstatus", data, "post", params),
-};
-   

+ 51 - 5
src/components/addr-add-edit-modal/index.vue

@@ -41,13 +41,21 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item label="收货联系人" prop="contactor">
-          <el-input v-model="ruleForm.contactor" maxlength="250" placeholder="收货联系人" />
+          <el-input
+            v-model="ruleForm.contactor"
+            maxlength="250"
+            placeholder="收货联系人"
+          />
         </el-form-item>
 
         <el-form-item label="收货联系电话" prop="mobile">
           <el-input v-model="ruleForm.mobile" placeholder="收货联系电话" />
         </el-form-item>
-        <el-form-item v-if="type == '1'" label="省市区(文件导入)" prop="in_addr">
+        <el-form-item
+          v-if="type == '1'"
+          label="省市区(文件导入)"
+          prop="in_addr"
+        >
           <el-input
             v-model="ruleForm.in_addr"
             disabled
@@ -65,7 +73,11 @@
           />
         </el-form-item>
         <el-form-item label="详细地址" prop="addr">
-          <el-input v-model="ruleForm.addr" maxlength="250" placeholder="详细地址" />
+          <el-input
+            v-model="ruleForm.addr"
+            maxlength="250"
+            placeholder="详细地址"
+          />
         </el-form-item>
         <div style="text-align: right">
           <el-button type="primary" @click="submitForm">保 存 </el-button>
@@ -191,7 +203,6 @@ export default {
     },
   },
   methods: {
-    
     itemidChange(e) {
       this.ruleForm.itemid = e;
       this.$refs.ruleForm.validateField("itemid");
@@ -244,6 +255,7 @@ export default {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           this.showModelThis = false;
+          //addr_code_name
           this.$emit("refresh", {
             index: this.index,
             item: JSON.parse(JSON.stringify(this.ruleForm)),
@@ -258,12 +270,46 @@ export default {
     select_area_change(e) {
       this.ruleForm.addr_code = e;
       this.$refs.ruleForm.validateField("addr_code");
+
       if (e && e.length === 3) {
-        this.ruleForm.addr_code_name = this.get_code(e[0], e[1], e[2]).name;
+        let item = this.get_name(e[0], e[1], e[2]);
+        this.ruleForm.addr_code_name = item.name;
       } else {
         this.ruleForm.addr_code_name = "";
       }
     },
+    get_name(code1, code2, code3) {
+       let name = "",
+        code = [];
+      if (code1 && code2 && code3) {
+        for (let x in province_list) {
+          if (code1 === x) {
+            code.push(x);
+            name += province_list[x];
+            break;
+          }
+        }
+        if (code.length === 1) {
+          for (let y in city_list) {
+            if (code2 === y) {
+              code.push(y);
+              name += "/" + city_list[y];
+              break;
+            }
+          }
+        }
+        if (code.length === 2) {
+          for (let z in county_list) {
+            if (code3 === z) {
+              code.push(z);
+              name += "/" + county_list[z];
+              break;
+            }
+          }
+        }
+      }
+      return { name: name, code: code };
+    },
     get_code(name1, name2, name3) {
       let name = "",
         code = [];

+ 1 - 1
src/components/globalComponents/status-bar/main.vue

@@ -5,7 +5,7 @@
             ? 'el-icon-s-check' -->
 
       <el-step
-        :title="item.label + '-' + item.value"
+        :title=" item.value+ '-' +item.label"
         :icon="index <= sIndex ? 'el-icon-success' : ''"
         v-for="(item, index) in options"
         :key="item.value + index"

+ 74 - 0
src/views/sellOut/returnOrder/ShowDataTableColumns.js

@@ -0,0 +1,74 @@
+export default  [
+
+    {
+      prop: "thNo",
+      label: "销售售后退货单编号",
+    },
+    {
+      prop: "status",
+      label: "售后退货单状态",
+      _slot_: "status",
+    },
+    {
+      prop: "returnCode",
+      label: "销售售后申请单编号",
+    },
+    {
+      prop: "cgder",
+      label: "申请人",
+    },
+    {
+      prop: "outCode",
+      label: "销售出库单编号",
+    },
+    {
+      prop: "return_msg",
+      label: "退回原因",
+    },
+    
+   
+    {
+      prop: "orderCode",
+      label: "销售订单编号",
+    },
+    {
+      prop: "class_cat",
+      label: "商品分类",
+    },
+   
+    // {
+    //   prop: "good_code",
+    //   label: "商品编号",
+    // },
+    {
+      prop: "good_code",
+      label: "商品属性编号",
+    },
+    {
+      prop: "good_name",
+      label: "商品名称",
+    },
+    {
+      prop: "contactor",
+      label: "退回收货联系人",
+    },
+    {
+      prop: "mobile",
+      label: "退回收货联系人电话",
+    },
+    {
+      prop: "addr",
+      label: "退回收货地址",
+      // span:24
+    },
+    {
+      prop: "updatetime",
+      label: "更新时间",
+    },
+    
+    {
+      prop: "addtime",
+      label: "创建时间",
+    },
+  ]
+  

+ 1 - 1
src/views/sellOut/returnOrder/components/return-record.vue

@@ -45,7 +45,7 @@
           </el-input>
         </el-form-item>
       </el-col>
-      <el-col :span="24">
+      <el-col :span="24"  v-if="status === '0' && powers.some((item) => item == '047')||ruleForm.product_go.length>0">
         <el-form-item label="异常情况记录" :size="'mini'">
           <el-form
             :model="ruleForm"

+ 41 - 7
src/views/sellOut/returnOrder/detail.vue

@@ -12,6 +12,27 @@
         :status="status"
       />
       <el-collapse v-model="activeNames">
+        <el-collapse-item title="销售售后退货单详情" name="-1">
+          <show-data-table
+            :newTime="newTime"
+            v-if="newTime !== ''"
+            :sitem="sitem"
+            :columns="ShowDataTableColumns"
+          >
+            <template slot="status">
+              <el-tag
+                :size="'mini'"
+                :type="sitem.status == '0' ? 'warning' : ''"
+                v-text="
+                  (
+                    statusOptions.find((item) => item.value == sitem.status) ||
+                    {}
+                  ).label || '--'
+                "
+              ></el-tag>
+            </template>
+          </show-data-table>
+        </el-collapse-item>
         <el-collapse-item title="退货验收记录" name="0">
           <return-record
             :sitem="sitem"
@@ -20,9 +41,13 @@
           ></return-record>
         </el-collapse-item>
 
-        <el-collapse-item title="退货验收审核" name="1" v-if="status == '2'||status == '3'||status == '4'">
+        <el-collapse-item
+          title="退货验收审核"
+          name="1"
+          v-if="status == '2' || status == '3' || status == '4'"
+        >
           <return-check
-            v-if="newTime != '' "
+            v-if="newTime != ''"
             :newTime="newTime"
             :sitem="sitem"
             @refresh="initData"
@@ -31,7 +56,7 @@
         <el-collapse-item
           title="业务审核"
           name="2"
-          v-if="status == '3'&&powers.some((item) => item == '042')"
+          v-if="status == '3' && powers.some((item) => item == '042')"
         >
           <exam-form
             :statusList="statusList"
@@ -62,6 +87,7 @@ import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/returnOrder";
 import ReturnRecord from "./components/return-record";
 import ReturnCheck from "./components/returnCheck";
+import ShowDataTableColumns from "./ShowDataTableColumns";
 
 export default {
   name: "returnOrderDetail",
@@ -85,6 +111,7 @@ export default {
   },
   data() {
     return {
+      ShowDataTableColumns: ShowDataTableColumns,
       statusOptions: [
         { value: "0", label: "取消" },
         { value: "1", label: "退货商品验收" },
@@ -92,12 +119,12 @@ export default {
         { value: "2", label: "退货验收审核" },
         { value: "3", label: "退货业务审核" },
 
-        { value: "4", label: "退货完成" },
+        { value: "4", label: "退货完成" },
       ],
       sitem: null, //传给组件
       // --
       orderCode: "",
-      activeNames: ["0", "1", "2", "10"],
+      activeNames: ["-1", "0", "1", "2", "10"],
       status: "", //存储详情接口状态
       statusList: [
         {
@@ -169,9 +196,16 @@ export default {
       };
       const res = await asyncRequest.detail(model);
       if (res && res.code === 0 && res.data) {
-        this.status = res.data.status;
         this.sitem = res.data;
-        this.orderCode = res.data.orderCode;
+        const { status, orderCode, can } = this.sitem;
+        this.status = status;
+        this.orderCode = orderCode;
+        if (can && can.length > 0) {
+          this.sitem.class_cat = "";
+          can.forEach((x, i) => {
+            this.sitem.class_cat += i === 0 ? x.name : "/" + x.name;
+          });
+        }
         this.getNewTime();
       } else if (res && res.code >= 100 && res.code <= 104) {
         await this.logout();

+ 55 - 96
src/views/sheetOrder/zxOrder/components/addForm.vue

@@ -210,7 +210,6 @@
                 <el-tooltip
                   effect="dark"
                   content="编辑"
-                  v-if="!scope.row.edit"
                   placement="top"
                 >
                   <i
@@ -219,17 +218,7 @@
                   ></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
@@ -248,10 +237,17 @@
           @cancel="addrmodel = false"
           @refresh="addrRefresh"
         />
+        <addr-add-edit-modal
+          :showModel="showAddrAddEditModal"
+          :index="AddrAddEditModalIndex"
+          :sitem="AddrAddEditModalSitem"
+          @cancel="showAddrAddEditModal = false"
+          @refresh="showAddrAddEditModalRefresh"
+        />
       </el-col>
       <el-col
         :span="24"
-        style="text-align: right;padding:0 0 20px 0"
+        style="text-align: right; padding: 0 0 20px 0"
         v-if="status === '0' && powers.some((item) => item == '005')"
       >
         <el-button :size="'mini'" type="primary" @click="submitForm"
@@ -267,11 +263,12 @@ import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sheetOrder/zxOrder/detail";
 import { isnumber, isMobile } from "@/utils/validate";
 import inAddrModel from "@/components/in-addr-model";
+import AddrAddEditModal from "@/components/addr-add-edit-modal";
 export default {
   name: "salesOrderDetail",
   mixins: [mixinPage, resToken],
   props: ["newTime", "id", "sitem"],
-  components: { inAddrModel },
+  components: { inAddrModel, AddrAddEditModal },
   watch: {
     newTime: function (val) {
       if (val) {
@@ -294,17 +291,7 @@ export default {
   },
 
   data() {
-    const validatemobile = (rule, value, callback) => {
-      if (value === "") {
-        callback(new Error("手机号不能为空!"));
-      } else {
-        if (!isMobile(value)) {
-          callback(new Error("手机号格式不正确!"));
-        } else {
-          callback();
-        }
-      }
-    };
+ 
     const validateWeight = (rule, value, callback) => {
       if (value === "") {
         callback(new Error("收货总数不能为空!"));
@@ -318,6 +305,9 @@ export default {
     };
     return {
       addrmodel: false,
+      showAddrAddEditModal: false,
+      AddrAddEditModalIndex: -1,
+      AddrAddEditModalSitem: {},
       stock_code: "",
       companyName: "",
       supplierName: "",
@@ -423,42 +413,6 @@ export default {
       },
       delAddrList: [],
       delStockList: [],
-      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",
-        },
-
-        order_addr: {
-          type: "array",
-          required: true,
-          message: "收货省市区不能为空",
-          trigger: "change",
-        },
-        addr: {
-          required: true,
-          message: "详细地址不能为空",
-          trigger: "blur",
-        },
-      },
-
       loading: false,
       queryId: "",
       status: "",
@@ -569,43 +523,19 @@ export default {
     },
 
     openHouseModal(index) {
-      let findex = this.addrForm.order_addr.findIndex((v) => v.edit === true);
-      if (findex !== -1) {
-        this.$message.warning("当前已有地址在编辑,请保存后再试!");
-        return;
+      this.AddrAddEditModalIndex = index;
+
+      if (index === -1) {
+        this.AddrAddEditModalSitem = {};
       } else {
-        if (index === -1) {
-          this.addrForm.order_addr.push({
-            edit: true,
-            arrive_time: "",
-            receipt_quantity: "",
-            contactor: "",
-            mobile: "",
-            addr_code: [],
-            addr: "",
-            id: "",
-            is_del: 0,
-          });
-        } else {
-          this.addrForm.order_addr[index].edit = true;
-        }
+        this.AddrAddEditModalSitem = JSON.parse(
+          JSON.stringify(this.addrForm.order_addr[index])
+        );
       }
+      this.showAddrAddEditModal = true;
     },
-    //省市区选择
-    select_area_change(e, index) {
-      this.addrForm.order_addr[index].addr_code = e;
-    },
-    //省市区保存某一行
-    checkRow(rowIndex) {
-      this.$refs.addrForm.validate((valid) => {
-        if (valid) {
-          this.addrForm.order_addr[rowIndex].edit = false;
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
-      });
-    },
+ 
+   
     // 删除收货地址操作
     deleteRow(index, rows, type) {
       const id = rows[index].id;
@@ -620,6 +550,35 @@ export default {
       }
       rows.splice(index, 1);
     },
+    showAddrAddEditModalRefresh(e) {
+      const { index, item } = e;
+  // console.log(addr_code_name);
+         console.log(item);
+      if (index === -1) {
+        this.addrForm.order_addr.push(JSON.parse(JSON.stringify(item)));
+      } else {
+        const {
+          arrive_time,
+          receipt_quantity,
+          contactor,
+          mobile,
+          addr_code,
+          addr_code_name,
+          addr,
+          id,
+        } = JSON.parse(JSON.stringify(item));
+      
+        this.addrForm.order_addr[index].receipt_quantity = receipt_quantity;
+        this.addrForm.order_addr[index].arrive_time = arrive_time;
+        this.addrForm.order_addr[index].contactor = contactor;
+        this.addrForm.order_addr[index].mobile = mobile;
+        this.addrForm.order_addr[index].addr_code = addr_code;
+        this.addrForm.order_addr[index].addr_code_name = addr_code_name;
+        this.addrForm.order_addr[index].addr = addr;
+        this.addrForm.order_addr[index].id = id;
+      }
+      this.$refs.addrForm.validateField("order_addr");
+    },
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
@@ -689,7 +648,7 @@ export default {
             dAList.forEach((v) => {
               v.is_del = 1;
             });
-            model.addrlist.push(dAList);
+            model.addrlist.push(...dAList);
           }
 
           let res = await asyncRequest.update(model);

+ 0 - 2
src/views/sheetOrder/zxOrder/detail.vue

@@ -137,8 +137,6 @@ import addForm from "./components/addForm";
 import feedbackForm from "./components/feedback-form";
 import orderOutTable from "./components/order-out-table";
 import addEdit from "./addEdit";
-// import addEdit1 from "./components/addEdit1";
-// import editAdd from "./components/addEdit.vue";
 export default {
   name: "zxOrderDetail",
   mixins: [mixinPage, resToken],