YY 2 年之前
父节点
当前提交
154fef7fd5
共有 1 个文件被更改,包括 55 次插入11 次删除
  1. 55 11
      src/views/selfShop/sales/detail.vue

+ 55 - 11
src/views/selfShop/sales/detail.vue

@@ -36,11 +36,11 @@
             <el-col :span="6">售后状态</el-col>
             <el-col :span="6">售后状态</el-col>
             <el-col :span="18" class="other">{{ form.zhStatus }}</el-col>
             <el-col :span="18" class="other">{{ form.zhStatus }}</el-col>
           </el-col>
           </el-col>
-          <el-col :span="24" v-if="form.type == '1'">
+          <el-col :span="24" v-if="form.type == '2'">
             <el-col :span="6">退回运单号</el-col>
             <el-col :span="6">退回运单号</el-col>
             <el-col :span="18" class="other">{{ transport.customer_transport_no || '暂无单号' }}</el-col>
             <el-col :span="18" class="other">{{ transport.customer_transport_no || '暂无单号' }}</el-col>
           </el-col>
           </el-col>
-          <el-col :span="24" v-if="form.type == '1'">
+          <el-col :span="24" v-if="form.type == '2'">
             <el-col :span="6">寄出运单号</el-col>
             <el-col :span="6">寄出运单号</el-col>
             <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
             <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
           </el-col>
           </el-col>
@@ -52,13 +52,25 @@
             <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
             <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
               <el-form-item label="售后状态" prop="status">
               <el-form-item label="售后状态" prop="status">
                 <el-select v-model="form.status" clearable filterable placeholder="请选择" style="width: 100%" size="small">
                 <el-select v-model="form.status" clearable filterable placeholder="请选择" style="width: 100%" size="small">
-                  <el-option v-for="i in statusList" :key="i.label" :label="i.label" :value="i.value"></el-option>
+                  <el-option v-for="i in status" :key="i.label" :label="i.label" :value="i.value"></el-option>
                 </el-select>
                 </el-select>
               </el-form-item>
               </el-form-item>
-              <el-form-item label="寄出运单号" prop="shop_transport_no" v-if="form.status == '2' && form.type == '1'">
-                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号" size="small"></el-input>
+              <el-form-item label="寄出运单号" prop="shop_transport_no" v-if="form.type == '2' && !transport.shop_transport_no">
+                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号,快递类型,同时填入" size="small"></el-input>
               </el-form-item>
               </el-form-item>
-              <el-form-item label="售后结束时间" prop="end_time" v-if="form.status == '-1' || form.status == '-2' || form.status == '-3'">
+              <el-form-item label="快递类型" prop="shop_transport_type" v-if="form.type == '2' && !transport.shop_transport_no">
+                <el-select
+                  v-model="form.shop_transport_type"
+                  clearable
+                  filterable
+                  placeholder="请选择快递类型,运单号,同时填入"
+                  size="small"
+                  style="width: 100%"
+                >
+                  <el-option v-for="i in shop_transport_typeList" :key="i._id" :label="i.label" :value="i.value"> </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="售后结束时间" prop="end_time" v-if="!form.end_time">
                 <el-date-picker v-model="form.end_time" type="datetime" placeholder="选择时间" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker>
                 <el-date-picker v-model="form.end_time" type="datetime" placeholder="选择时间" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker>
               </el-form-item>
               </el-form-item>
               <el-form-item>
               <el-form-item>
@@ -78,6 +90,7 @@ const moment = require('moment');
 import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
 import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('afterSale');
 const { mapActions } = createNamespacedHelpers('afterSale');
 const { mapActions: dictData } = createNamespacedHelpers('dictData');
 const { mapActions: dictData } = createNamespacedHelpers('dictData');
+const { mapActions: sot } = createNamespacedHelpers('sot');
 
 
 export default {
 export default {
   name: 'form-1',
   name: 'form-1',
@@ -92,7 +105,9 @@ export default {
       transport: {},
       transport: {},
       typeList: [],
       typeList: [],
       statusList: [],
       statusList: [],
+      status: [],
       form: {},
       form: {},
+      shop_transport_typeList: [],
     };
     };
   },
   },
   async created() {
   async created() {
@@ -100,6 +115,7 @@ export default {
     await this.search();
     await this.search();
   },
   },
   methods: {
   methods: {
+    ...sot({ sotFetch: 'fetch' }),
     ...dictData({ dictQuery: 'query' }),
     ...dictData({ dictQuery: 'query' }),
     ...mapActions(['fetch', 'create', 'update']),
     ...mapActions(['fetch', 'create', 'update']),
     // 查询
     // 查询
@@ -121,16 +137,42 @@ export default {
         this.$set(this, `goods`, res.data.goods.goods);
         this.$set(this, `goods`, res.data.goods.goods);
         // 规格
         // 规格
         this.$set(this, `good`, res.data.goods);
         this.$set(this, `good`, res.data.goods);
+        this.getStatusList();
       }
       }
     },
     },
-
+    async getStatusList() {
+      let form = this.form;
+      let e = this.statusList;
+      let list = [];
+      if (form.type == '0') {
+        for (const val of e) {
+          if (val.value == '0' || val.value == '1' || val.value == '-1') {
+            list.push(val);
+          }
+        }
+      } else if (form.type == '1') {
+        for (const val of e) {
+          if (val.value == '0' || val.value == '2' || val.value == '-2') {
+            list.push(val);
+          }
+        }
+      } else {
+        for (const val of e) {
+          if (val.value == '0' || val.value == '3' || val.value == '-3') {
+            list.push(val);
+          }
+        }
+      }
+      this.$set(this, `status`, list);
+    },
     // 提交
     // 提交
     async onSubmit() {
     async onSubmit() {
       let form = this.form;
       let form = this.form;
       let transport = {};
       let transport = {};
       let res;
       let res;
-      if (form.shop_transport_no) {
+      if (form.shop_transport_no && form.shop_transport_type) {
         transport.shop_transport_no = form.shop_transport_no;
         transport.shop_transport_no = form.shop_transport_no;
+        transport.shop_transport_type = form.shop_transport_type;
         form.transport = transport;
         form.transport = transport;
       }
       }
       if (form.id) res = await this.update(form);
       if (form.id) res = await this.update(form);
@@ -151,6 +193,11 @@ export default {
       if (this.$checkRes(res)) {
       if (this.$checkRes(res)) {
         this.$set(this, `statusList`, res.data);
         this.$set(this, `statusList`, res.data);
       }
       }
+      // 减免方式
+      res = await this.dictQuery({ code: 'transport_type' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `shop_transport_typeList`, res.data);
+      }
     },
     },
     // 返回
     // 返回
     toBack() {
     toBack() {
@@ -161,9 +208,6 @@ export default {
     id() {
     id() {
       return this.$route.query.id;
       return this.$route.query.id;
     },
     },
-    status() {
-      return this.$route.query.status;
-    },
   },
   },
   metaform() {
   metaform() {
     return { title: this.$route.meta.title };
     return { title: this.$route.meta.title };