YY il y a 2 ans
Parent
commit
62aed7b43c

+ 3 - 17
src/views/selfShop/order/detail_order.vue

@@ -56,8 +56,7 @@
           <el-col :span="24" class="goods_total">
             <el-col :span="6">应付金额</el-col>
             <el-col :span="18" class="other">
-              <p v-if="total_detail.discount_detail">¥{{ goods_total }}</p>
-              <p v-else>¥{{ total_detail.goods_total }}</p>
+              <p>¥{{ pay.pay_money }}</p>
             </el-col>
           </el-col>
           <el-col :span="24">
@@ -87,11 +86,11 @@ export default {
     return {
       info: {},
       address: {},
-      goods_total: 0,
       list: [],
       total_detail: {},
       typeList: [],
       statusList: [],
+      pay: {},
     };
   },
   async created() {
@@ -110,20 +109,7 @@ export default {
         this.$set(this, `list`, res.data.goods);
         // 实付金额
         this.$set(this, `total_detail`, res.data.total_detail);
-        var goods_total = 0;
-        let discount_detail = res.data.total_detail.discount_detail;
-        for (const key in discount_detail) {
-          if (Object.hasOwnProperty.call(discount_detail, key)) {
-            const element = discount_detail[key];
-            for (const i in element) {
-              if (Object.hasOwnProperty.call(element, i)) {
-                const ele = element[i].realPay;
-                goods_total += ele;
-              }
-            }
-          }
-        }
-        this.$set(this, `goods_total`, goods_total);
+        this.$set(this, `pay`, res.data.pay);
       }
     },
     // 返回

+ 42 - 29
src/views/selfShop/order/detail_orderDetail.vue

@@ -54,8 +54,7 @@
           <el-col :span="24" class="goods_total">
             <el-col :span="6">实付金额</el-col>
             <el-col :span="18" class="other">
-              <p v-if="total_detail.discount_detail">¥{{ goods_total }}</p>
-              <p v-else>¥{{ total_detail.goods_total }}</p>
+              <p>¥{{ pay.pay_money }}</p>
             </el-col>
           </el-col>
           <el-col :span="24">
@@ -70,10 +69,34 @@
             <el-col :span="6">寄出运单号</el-col>
             <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
           </el-col>
+          <el-col :span="24">
+            <el-col :span="6">寄出快递类型</el-col>
+            <el-col :span="18" class="other">{{ transport.shop_transport_name || '暂无快递类型' }}</el-col>
+          </el-col>
           <el-col :span="24">
             <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
-              <el-form-item label="寄出运单号" prop="shop_transport_no" v-if="form.status == '1' && !transport.shop_transport_no">
-                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号" size="small"></el-input>
+              <el-form-item
+                label="寄出运单号"
+                prop="shop_transport_no"
+                v-if="(form.status == '1' || form.status == '2') && (!transport.shop_transport_no || !transport.shop_transport_name)"
+              >
+                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号,快递类型,同时填入" size="small"></el-input>
+              </el-form-item>
+              <el-form-item
+                label="快递类型"
+                prop="shop_transport_type"
+                v-if="(form.status == '1' || form.status == '2') && (!transport.shop_transport_no || !transport.shop_transport_name)"
+              >
+                <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="status">
                 <el-select v-model="form.status" clearable filterable placeholder="请选择订单状态" size="small" style="width: 100%">
@@ -118,25 +141,25 @@ export default {
   components: {},
   data: function () {
     return {
-      form: {},
+      form: { transport: {} },
       // 地址
       address: {},
       // 实付金额
-      goods_total: 0,
       total_detail: {},
       // 商铺
       shop: {},
       // 运单号
       transport: {},
+      pay: {},
       // 商品列表
       list: [],
-      typeList: [],
-      statusList: [],
       // 物流
       reverse: false,
       activities: [],
       // 订单状态
       order_processList: [],
+      // 快递类型
+      shop_transport_typeList: [],
     };
   },
   async created() {
@@ -157,31 +180,15 @@ export default {
         this.$set(this, `address`, res.data.address);
         this.$set(this, `shop`, res.data.shop);
         if (res.data.transport) {
+          let type = this.shop_transport_typeList.find((i) => i.value == res.data.transport.shop_transport_type);
+          if (type) res.data.transport.shop_transport_name = type.label;
           this.$set(this, `transport`, res.data.transport);
         }
         // 商品
         this.$set(this, `list`, res.data.goods);
-        // 付金额
+        // 付金额
         this.$set(this, `total_detail`, res.data.total_detail);
-        var goods_total = 0;
-        let discount_detail = res.data.total_detail.discount_detail;
-        for (const key in discount_detail) {
-          if (Object.hasOwnProperty.call(discount_detail, key)) {
-            const element = discount_detail[key];
-            for (const i in element) {
-              if (Object.hasOwnProperty.call(element, i)) {
-                if (element[i].realPay) {
-                  const ele = element[i].realPay;
-                  goods_total += ele;
-                } else {
-                  const ele = element[i];
-                  goods_total += ele;
-                }
-              }
-            }
-          }
-        }
-        this.$set(this, `goods_total`, goods_total);
+        this.$set(this, `pay`, res.data.order.pay);
       }
       let activities = [
         {
@@ -213,8 +220,9 @@ export default {
       let form = this.form;
       let transport = {};
       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_type = form.shop_transport_type;
         form.transport = transport;
       }
       if (form.id) res = await this.update(form);
@@ -235,6 +243,11 @@ export default {
       if (this.$checkRes(res)) {
         this.$set(this, `order_processList`, res.data);
       }
+      // 减免方式
+      res = await this.dictQuery({ code: 'transport_type' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `shop_transport_typeList`, res.data);
+      }
     },
   },
   computed: {

+ 1 - 12
src/views/selfShop/order/parts/card-1.vue

@@ -40,11 +40,7 @@ export default {
         { label: '订单号', model: 'no' },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
-        {
-          label: '需支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '需支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -55,13 +51,6 @@ export default {
   },
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 2 - 13
src/views/selfShop/order/parts/card-2.vue

@@ -3,7 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="one">
-          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose" ></search-1>
+          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
         <data-table
           :select="true"
@@ -42,11 +42,7 @@ export default {
         { label: '订单号', model: 'no' },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -57,13 +53,6 @@ export default {
   },
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 1 - 12
src/views/selfShop/order/parts/card-3.vue

@@ -42,11 +42,7 @@ export default {
         { label: '订单号', model: 'no' },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -57,13 +53,6 @@ export default {
   },
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 2 - 12
src/views/selfShop/order/parts/card-4.vue

@@ -42,11 +42,7 @@ export default {
         { label: '订单号', model: 'no' },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -57,13 +53,7 @@ export default {
   },
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
+
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 2 - 2
src/views/system/coupon/detail.vue

@@ -197,7 +197,7 @@ export default {
   methods: {
     ...dictData({ dictQuery: 'query' }),
     ...goodsTags(['tree']),
-    ...shop({ shopQuery: 'query' }),
+    ...shop({ shopQuery: 'query', shopFetch: 'fetch' }),
     ...mapActions(['fetch', 'create', 'update']),
     // 查询
     async search() {
@@ -213,7 +213,7 @@ export default {
           if (data.expire_config.fixed[0]) data.time = data.expire_config.fixed[0];
           if (data.expire_config.days) data.days = data.expire_config.days;
           if (data.shop) {
-            let res = await this.shopQuery(data.shop);
+            let res = await this.shopFetch(data.shop);
             if (this.$checkRes(res)) {
               data.shop = res.data.name;
             }

+ 3 - 17
src/views/system/order/detail_order.vue

@@ -56,8 +56,7 @@
           <el-col :span="24" class="goods_total">
             <el-col :span="6">应付金额</el-col>
             <el-col :span="18" class="other">
-              <p v-if="total_detail.discount_detail">¥{{ goods_total }}</p>
-              <p v-else>¥{{ total_detail.goods_total }}</p>
+              <p>¥{{ pay.pay_money }}</p>
             </el-col>
           </el-col>
           <el-col :span="24">
@@ -87,11 +86,11 @@ export default {
     return {
       info: {},
       address: {},
-      goods_total: 0,
       list: [],
       total_detail: {},
       typeList: [],
       statusList: [],
+      pay: {},
     };
   },
   async created() {
@@ -110,20 +109,7 @@ export default {
         this.$set(this, `list`, res.data.goods);
         // 实付金额
         this.$set(this, `total_detail`, res.data.total_detail);
-        var goods_total = 0;
-        let discount_detail = res.data.total_detail.discount_detail;
-        for (const key in discount_detail) {
-          if (Object.hasOwnProperty.call(discount_detail, key)) {
-            const element = discount_detail[key];
-            for (const i in element) {
-              if (Object.hasOwnProperty.call(element, i)) {
-                const ele = element[i].realPay;
-                goods_total += ele;
-              }
-            }
-          }
-        }
-        this.$set(this, `goods_total`, goods_total);
+        this.$set(this, `pay`, res.data.pay);
       }
     },
     // 返回

+ 42 - 24
src/views/system/order/detail_orderDetail.vue

@@ -54,8 +54,7 @@
           <el-col :span="24" class="goods_total">
             <el-col :span="6">实付金额</el-col>
             <el-col :span="18" class="other">
-              <p v-if="total_detail.discount_detail">¥{{ goods_total }}</p>
-              <p v-else>¥{{ total_detail.goods_total }}</p>
+              <p>¥{{ pay.pay_money }}</p>
             </el-col>
           </el-col>
           <el-col :span="24">
@@ -70,10 +69,34 @@
             <el-col :span="6">寄出运单号</el-col>
             <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
           </el-col>
+          <el-col :span="24">
+            <el-col :span="6">寄出快递类型</el-col>
+            <el-col :span="18" class="other">{{ transport.shop_transport_name || '暂无快递类型' }}</el-col>
+          </el-col>
           <el-col :span="24">
             <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
-              <el-form-item label="寄出运单号" prop="shop_transport_no" v-if="form.status == '1' && !transport.shop_transport_no">
-                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号" size="small"></el-input>
+              <el-form-item
+                label="寄出运单号"
+                prop="shop_transport_no"
+                v-if="(form.status == '1' || form.status == '2') && (!transport.shop_transport_no || !transport.shop_transport_name)"
+              >
+                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号,快递类型,同时填入" size="small"></el-input>
+              </el-form-item>
+              <el-form-item
+                label="快递类型"
+                prop="shop_transport_type"
+                v-if="(form.status == '1' || form.status == '2') && (!transport.shop_transport_no || !transport.shop_transport_name)"
+              >
+                <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="status">
                 <el-select v-model="form.status" clearable filterable placeholder="请选择订单状态" size="small" style="width: 100%">
@@ -118,25 +141,25 @@ export default {
   components: {},
   data: function () {
     return {
-      form: {},
+      form: { transport: {} },
       // 地址
       address: {},
       // 实付金额
-      goods_total: 0,
       total_detail: {},
       // 商铺
       shop: {},
       // 运单号
       transport: {},
+      pay: {},
       // 商品列表
       list: [],
-      typeList: [],
-      statusList: [],
       // 物流
       reverse: false,
       activities: [],
       // 订单状态
       order_processList: [],
+      // 快递类型
+      shop_transport_typeList: [],
     };
   },
   async created() {
@@ -157,26 +180,15 @@ export default {
         this.$set(this, `address`, res.data.address);
         this.$set(this, `shop`, res.data.shop);
         if (res.data.transport) {
+          let type = this.shop_transport_typeList.find((i) => i.value == res.data.transport.shop_transport_type);
+          if (type) res.data.transport.shop_transport_name = type.label;
           this.$set(this, `transport`, res.data.transport);
         }
         // 商品
         this.$set(this, `list`, res.data.goods);
-        // 付金额
+        // 付金额
         this.$set(this, `total_detail`, res.data.total_detail);
-        var goods_total = 0;
-        let discount_detail = res.data.total_detail.discount_detail;
-        for (const key in discount_detail) {
-          if (Object.hasOwnProperty.call(discount_detail, key)) {
-            const element = discount_detail[key];
-            for (const i in element) {
-              if (Object.hasOwnProperty.call(element, i)) {
-                const ele = element[i].realPay;
-                goods_total += ele;
-              }
-            }
-          }
-        }
-        this.$set(this, `goods_total`, goods_total);
+        this.$set(this, `pay`, res.data.order.pay);
       }
       let activities = [
         {
@@ -208,8 +220,9 @@ export default {
       let form = this.form;
       let transport = {};
       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_type = form.shop_transport_type;
         form.transport = transport;
       }
       if (form.id) res = await this.update(form);
@@ -230,6 +243,11 @@ export default {
       if (this.$checkRes(res)) {
         this.$set(this, `order_processList`, res.data);
       }
+      // 减免方式
+      res = await this.dictQuery({ code: 'transport_type' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `shop_transport_typeList`, res.data);
+      }
     },
   },
   computed: {

+ 1 - 12
src/views/system/order/parts/card-1.vue

@@ -42,11 +42,7 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '店铺名称', model: 'goods', format: (i) => this.getShopName(i) },
-        {
-          label: '需支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '需支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -59,13 +55,6 @@ export default {
   methods: {
     ...shop({ shopQuery: 'query' }),
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 1 - 13
src/views/system/order/parts/card-2.vue

@@ -43,11 +43,7 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '店铺名称', model: 'shop.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -59,15 +55,7 @@ export default {
   },
   methods: {
     ...shop({ shopQuery: 'query' }),
-
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 1 - 13
src/views/system/order/parts/card-3.vue

@@ -43,11 +43,7 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '店铺名称', model: 'shop.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -59,15 +55,7 @@ export default {
   },
   methods: {
     ...shop({ shopQuery: 'query' }),
-
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);

+ 1 - 13
src/views/system/order/parts/card-4.vue

@@ -43,11 +43,7 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '店铺名称', model: 'shop.name' },
-        {
-          label: '支付金额',
-          model: 'total_detail',
-          format: (i) => this.computedNeedPay(i),
-        },
+        { label: '支付金额', model: 'real_pay' },
       ],
       // 多选值
       selected: [],
@@ -59,15 +55,7 @@ export default {
   },
   methods: {
     ...shop({ shopQuery: 'query' }),
-
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
-    computedNeedPay(details) {
-      let total = 0;
-      for (const key in details) {
-        total += details[key];
-      }
-      return _.floor(total, 2);
-    },
     // 查询
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);