Bläddra i källkod

修改发货清单

YY 2 år sedan
förälder
incheckning
6adecfe417

+ 46 - 216
src/views/selfShop/order/detail_order.vue

@@ -5,154 +5,74 @@
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
-        <el-col :span="9" class="one">
+        <el-col :span="8" class="one">
           <el-col :span="24" class="add">
             <el-col :span="2">
               <i class="el-icon-location"></i>
             </el-col>
             <el-col :span="22">
-              <el-col>
-                <p>{{ address.name }},{{ address.phone }}</p>
-              </el-col>
-              <el-col>
-                <p>{{ address.province }} , {{ address.city }} , {{ address.area }} , {{ address.address }}</p>
-              </el-col>
+              <p>{{ address.name }},{{ address.phone }}</p>
+              <p>{{ address.province }} , {{ address.city }} , {{ address.area }} , {{ address.address }}</p>
             </el-col>
           </el-col>
-          <el-col :span="24" class="shop"> <i class="el-icon-s-shop"></i>{{ shop.name }}</el-col>
           <el-col :span="24" v-for="(item, index) in list" :key="index">
-            <el-col :span="24" class="goods bode">
-              <el-col :span="6"><el-image :src="item.goods.file[0].url"></el-image></el-col>
-              <el-col :span="18">
-                <el-col :span="12">
-                  <el-col>
-                    <p>{{ item.goods.name }}</p>
+            <el-col :span="24" class="shop"> <i class="el-icon-s-shop"></i>{{ item.shop_name }}</el-col>
+            <el-col :span="24" v-for="(goods, index) in item.goods" :key="index">
+              <el-col :span="24" class="goods">
+                <el-col :span="6"><el-image :src="goods.goods.file[0].url"></el-image></el-col>
+                <el-col :span="18">
+                  <el-col :span="12">
+                    <p>{{ goods.goods.name }}</p>
+                    <p>规格:{{ goods.name }}</p>
                   </el-col>
-                  <el-col>
-                    <p>规格:{{ item.name }}</p>
-                  </el-col>
-                </el-col>
-                <el-col :span="12" class="money">
-                  <el-col>
-                    <p v-if="form.type == '0'">¥{{ item.sell_money }}</p>
-                    <p v-else-if="form.type == '1'">¥{{ item.group_config.money }}</p>
-                  </el-col>
-                  <el-col>
-                    <p>X{{ item.buy_num }}</p>
-                  </el-col>
-                  <el-col>
-                    <p>{{ item.is_afterSale == true ? '已申请售后' : '未申请售后' }}</p>
-                  </el-col>
-                  <el-col>
-                    <p>{{ item.is_rate == true ? '已评价' : '未评价' }}</p>
+                  <el-col :span="12" class="money">
+                    <p v-if="info.type == '0'">¥{{ goods.sell_money }}</p>
+                    <p v-else-if="info.type == '1'">¥{{ goods.group_config.money }}</p>
+                    <p>X{{ goods.buy_num }}</p>
                   </el-col>
                 </el-col>
               </el-col>
+              <el-col :span="24">
+                <el-col :span="6">运费</el-col>
+                <el-col :span="18" class="other" v-if="!goods.freight == '0'">{{ goods.freight }}</el-col>
+                <el-col :span="18" class="other" v-else>包邮</el-col>
+              </el-col>
+              <el-col :span="24">
+                <el-col :span="6">订单备注</el-col>
+                <el-col :span="18" class="other" v-if="item.remarks">{{ item.remarks }}</el-col>
+                <el-col :span="18" class="other" v-else>暂无备注</el-col>
+              </el-col>
             </el-col>
-            <el-col :span="24" class="bode">
-              <el-col :span="6">运费</el-col>
-              <el-col :span="18" class="other" v-if="!item.goods.freight == '0'">{{ item.goods.freight }}</el-col>
-              <el-col :span="18" class="other" v-else>包邮</el-col>
-            </el-col>
-          </el-col>
-          <el-col :span="24" class="bode">
-            <el-col :span="6">订单备注</el-col>
-            <el-col :span="18" class="other" v-if="form.remarks">{{ form.remarks }}</el-col>
-            <el-col :span="18" class="other" v-else>暂无备注</el-col>
           </el-col>
-          <el-col :span="24" class="bode">
+          <el-col :span="24">
             <el-col :span="6">配送方式</el-col>
             <el-col :span="18" class="other">快递配送</el-col>
           </el-col>
-          <el-col :span="24" class="goods_total bode">
+          <el-col :span="24" class="goods_total">
             <el-col :span="6">商品金额</el-col>
             <el-col :span="18" class="other">
               <p>¥{{ total_detail.goods_total }}</p>
             </el-col>
           </el-col>
-          <el-col :span="24" class="goods_total bode">
+          <el-col :span="24" class="goods_total">
             <el-col :span="6">快递费</el-col>
             <el-col :span="18" class="other">
               <p>¥{{ total_detail.freight_total }}</p>
             </el-col>
           </el-col>
-          <el-col :span="24" class="goods_total bode">
-            <el-col :span="8">优惠后付金额</el-col>
+          <el-col :span="24" class="goods_total">
+            <el-col :span="8">优惠后付金额</el-col>
             <el-col :span="16" class="other">
               <p>¥{{ pay.pay_money }}</p>
             </el-col>
           </el-col>
-          <el-col :span="24" class="bode">
-            <el-col :span="6">下单时间</el-col>
-            <el-col :span="18" class="other">{{ form.buy_time }}</el-col>
-          </el-col>
-          <el-col :span="24" class="bode">
-            <el-col :span="6">支付时间</el-col>
-            <el-col :span="18" class="other">{{ form.pay_time }}</el-col>
-          </el-col>
-          <el-col :span="24" class="bode">
-            <el-col :span="6">寄出运单号</el-col>
-            <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
-          </el-col>
-          <el-col :span="24" class="bode">
-            <el-col :span="6">寄出快递类型</el-col>
-            <el-col :span="18" class="other">{{ transport.shop_transport_name || '暂无快递信息' }}</el-col>
-          </el-col>
-          <el-col :span="24" class="form">
-            <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' || 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"
-                  filterable
-                  remote
-                  reserve-keyword
-                  placeholder="请选择快递类型,运单号,同时填入"
-                  :remote-method="querySearch"
-                  :loading="loading"
-                  @change="handleSelect"
-                  size="small"
-                  style="width: 100%"
-                >
-                  <el-option v-for="item in shop_transport_typeList" :key="item.id" :label="item.label" :value="item.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%">
-                  <el-option v-for="i in order_processList" :key="i.label" :label="i.label" :value="i.value"> </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item>
-                <el-button type="primary" @click="onSubmit()">保存</el-button>
-              </el-form-item>
-            </el-form>
-          </el-col>
-        </el-col>
-        <el-col :span="9" class="one" v-if="transport.shop_transport_no">
-          <el-col :span="24">{{ activit.is_check || '暂无快递信息' }}</el-col>
-          <el-col :span="24">{{ transport.shop_transport_name || '暂无快递信息' }}: {{ activit.no || '暂无快递信息' }}</el-col>
-          <el-col :span="24">
-            <p>订单编号: {{ form.id }}</p>
-          </el-col>
           <el-col :span="24">
-            <p>收货地址:{{ address.province }} , {{ address.city }} , {{ address.area }} , {{ address.address }}</p>
+            <el-col :span="6">下单时间</el-col>
+            <el-col :span="18" class="other">{{ info.buy_time }}</el-col>
           </el-col>
           <el-col :span="24">
-            <el-timeline :reverse="reverse">
-              <el-timeline-item v-for="(activity, index) in activities" :key="index" :timestamp="activity.time" :color="activity.color">
-                {{ activity.context }}
-              </el-timeline-item>
-            </el-timeline>
+            <el-col :span="6">支付时间</el-col>
+            <el-col :span="18" class="other">{{ info.pay_time || '未支付' }}</el-col>
           </el-col>
         </el-col>
       </el-col>
@@ -164,128 +84,52 @@
 const _ = require('lodash');
 const moment = require('moment');
 import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
-const { mapActions } = createNamespacedHelpers('orderDetail');
-const { mapActions: dictData } = createNamespacedHelpers('dictData');
-const { mapActions: sot } = createNamespacedHelpers('sot');
-
+const { mapActions } = createNamespacedHelpers('order');
 export default {
   name: 'form-1',
   props: {},
   components: {},
   data: function () {
     return {
-      form: {},
-      // 地址
+      info: {},
       address: {},
-      // 实付金额
+      list: [],
       total_detail: {},
-      // 商铺
-      shop: {},
-      // 运单号
-      transport: {},
+      typeList: [],
+      statusList: [],
       pay: {},
-      // 商品列表
-      list: [],
-      // 物流
-      reverse: false,
-      activities: [],
-      activit: {},
-      // 订单状态
-      order_processList: [],
-      // 快递类型
-      shop_transport_typeList: [],
-      loading: false,
     };
   },
   async created() {
-    await this.searchOther();
-
     await this.search();
   },
   methods: {
-    ...dictData({ dictQuery: 'query' }),
-    ...sot({ sotFetch: 'fetch' }),
     ...mapActions(['query', 'fetch', 'create', 'update']),
     // 查询
     async search() {
-      let res;
-      res = await this.fetch(this.id);
+      let res = await this.fetch(this.id);
       if (this.$checkRes(res)) {
-        this.$set(this, `form`, res.data);
+        this.$set(this, `info`, res.data);
         // 地址
         this.$set(this, `address`, res.data.address);
-        this.$set(this, `shop`, res.data.shop);
         // 商品
         this.$set(this, `list`, res.data.goods);
-        // 付金额
+        // 付金额
         this.$set(this, `total_detail`, res.data.total_detail);
-        this.$set(this, `pay`, res.data.order.pay);
-        if (res.data.transport) {
-          let arr = await this.dictQuery({ code: 'transport_type', value: res.data.transport.shop_transport_type });
-          if (this.$checkRes(arr)) {
-            let type = arr.data.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);
-          }
-          res = await this.sotFetch(this.id);
-          if (this.$checkRes(res)) {
-            if (res.errcode == '0') {
-              let activities = res.data.list;
-              activities[0].color = '#0bbd87';
-              this.$set(this, `activities`, activities);
-              this.$set(this, `activit`, res.data);
-            }
-          }
-        }
-      }
-    },
-    async querySearch(value) {
-      this.loading = true;
-      let res = await this.dictQuery({ code: 'transport_type', label: value });
-      if (this.$checkRes(res)) {
-        this.$set(this, 'shop_transport_typeList', res.data);
-      }
-      this.loading = false;
-    },
-    handleSelect(value) {
-      // this.$set(this.form, `shop_transport_type`, value);
-    },
-    // 提交
-    async onSubmit() {
-      let form = this.form;
-      let transport = {};
-      let res;
-      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);
-      if (this.$checkRes(res)) {
-        this.$message({ type: `success`, message: `维护信息成功` });
-        this.toBack();
+        this.$set(this, `pay`, res.data.pay);
       }
     },
     // 返回
     toBack() {
       window.history.go('-1');
     },
-    // 查询其他信息
-    async searchOther() {
-      let res;
-      // 减免方式
-      res = await this.dictQuery({ code: 'order_process' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `order_processList`, res.data);
-      }
-    },
   },
   computed: {
     id() {
       return this.$route.query.id;
     },
   },
-  metaform() {
+  metaInfo() {
     return { title: this.$route.meta.title };
   },
   watch: {
@@ -301,7 +145,7 @@ export default {
 <style lang="less" scoped>
 .main {
   .one {
-    margin: 10px 0 0 5%;
+    margin: 10px 0 0 20%;
     padding: 5px;
     .add {
       border-bottom: 2px dashed #ccc;
@@ -326,22 +170,8 @@ export default {
       }
     }
     .el-col {
-      margin: 3px 0;
-    }
-    .bode {
-      border-bottom: 1px solid rgb(238, 237, 237);
-    }
-    .form {
-      margin: 20px 0 0 0;
+      margin: 4px 0;
     }
   }
 }
-
-/deep/.el-timeline {
-  margin: 20px 0 0 0;
-  font-size: 16px;
-}
-/deep/.el-timeline-item__node:nth-child(1) {
-  background-color: green;
-}
 </style>

+ 6 - 5
src/views/selfShop/order/detail_orderDetail.vue

@@ -40,6 +40,12 @@
                   <el-col>
                     <p>X{{ item.buy_num }}</p>
                   </el-col>
+                  <el-col>
+                    <p>{{ item.is_afterSale == true ? '已申请售后' : '未申请售后' }}</p>
+                  </el-col>
+                  <el-col>
+                    <p>{{ item.is_rate == true ? '已评价' : '未评价' }}</p>
+                  </el-col>
                 </el-col>
               </el-col>
             </el-col>
@@ -272,11 +278,6 @@ 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: {

+ 8 - 1
src/views/selfShop/order/parts/parts/detail-1.vue

@@ -6,7 +6,10 @@
           <el-col :span="24" class="one">
             <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
           </el-col>
-          <el-col :span="24" class="one"> <el-button type="primary" size="mini" @click="toDeliver()">生成发货清单</el-button> </el-col>
+          <el-col :span="24" class="one">
+            <el-button type="primary" size="mini" @click="toDeliver()">生成发货清单</el-button>
+            <p>(发货清单里不显示售后的订单)</p>
+          </el-col>
           <data-table
             :select="true"
             :selected="selected"
@@ -122,5 +125,9 @@ export default {
 <style lang="less" scoped>
 .one {
   margin: 0 0 10px 0;
+  p {
+    font-size: 12px;
+    color: #777;
+  }
 }
 </style>

+ 27 - 25
src/views/selfShop/order/parts/parts/detail-2.vue

@@ -67,31 +67,33 @@ export default {
         for (const p1 of test) {
           let goodsList = [];
           for (const p2 of p1) {
-            for (let p3 of p2.goods) {
-              let p3_1 = _.pick(p3, ['goods', 'name', 'buy_num']);
-              let p3_2 = (({ goods, name, buy_num }) => ({ goods, name, buy_num }))(p3);
-              delete p3.flow_money;
-              delete p3.freight;
-              delete p3.id;
-              delete p3.status;
-              delete p3._id;
-              delete p3.meta;
-              delete p3.num;
-              delete p3.sell_money;
-              delete p3.__v;
-              delete p3.tags;
-              delete p3.cart_id;
-              delete p3.can_group;
-              delete p3.group_config;
-              let good = (({ name }) => ({ name }))(p3.goods);
-              p3.goods = good;
-              p3.order_no = p2.no;
-            }
-            goodsList.push(...p2.goods);
-            let i = 0;
-            for (const p4 of goodsList) {
-              p4.index = i;
-              i++;
+            if (p2.is_afterSale == false) {
+              for (let p3 of p2.goods) {
+                let p3_1 = _.pick(p3, ['goods', 'name', 'buy_num']);
+                let p3_2 = (({ goods, name, buy_num }) => ({ goods, name, buy_num }))(p3);
+                delete p3.flow_money;
+                delete p3.freight;
+                delete p3.id;
+                delete p3.status;
+                delete p3._id;
+                delete p3.meta;
+                delete p3.num;
+                delete p3.sell_money;
+                delete p3.__v;
+                delete p3.tags;
+                delete p3.cart_id;
+                delete p3.can_group;
+                delete p3.group_config;
+                let good = (({ name }) => ({ name }))(p3.goods);
+                p3.goods = good;
+                p3.order_no = p2.no;
+              }
+              goodsList.push(...p2.goods);
+              let i = 0;
+              for (const p4 of goodsList) {
+                p4.index = i;
+                i++;
+              }
             }
           }
           let address = _.pick(p1[0].address, ['name', 'phone', 'province', 'city', 'area', 'address', '_id']);