Ver Fonte

修改订单

YY há 2 anos atrás
pai
commit
b34d73dea5

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

@@ -38,7 +38,7 @@
           </el-col>
           <el-col :span="24">
             <el-col :span="6">订单备注</el-col>
-            <el-col :span="18" class="other" v-if="info.remarks">{{ info.remarks }}</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">
@@ -52,13 +52,28 @@
               <p v-else>¥{{ total_detail.goods_total }}</p>
             </el-col>
           </el-col>
+
           <el-col :span="24">
             <el-col :span="6">下单时间</el-col>
-            <el-col :span="18" class="other">{{ info.buy_time }}</el-col>
+            <el-col :span="18" class="other">{{ form.buy_time }}</el-col>
           </el-col>
           <el-col :span="24">
             <el-col :span="6">支付时间</el-col>
-            <el-col :span="18" class="other">{{ info.pay_time }}</el-col>
+            <el-col :span="18" class="other">{{ form.pay_time }}</el-col>
+          </el-col>
+          <el-col :span="24" v-if="form.status == '1'">
+            <el-col :span="6">寄出运单号</el-col>
+            <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
+          </el-col>
+          <el-col :span="24" v-if="form.status == '1' && !transport.shop_transport_no">
+            <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
+              <el-form-item label="寄出运单号" prop="shop_transport_no">
+                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号" size="small"></el-input>
+              </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>
@@ -77,10 +92,11 @@ export default {
   components: {},
   data: function () {
     return {
-      info: {},
+      form: {},
       address: {},
       goods_total: 0,
       shop: {},
+      transport: {},
       list: [],
       total_detail: {},
       typeList: [],
@@ -97,10 +113,13 @@ export default {
       let res;
       res = await this.fetch(this.id);
       if (this.$checkRes(res)) {
-        this.$set(this, `info`, res.data);
+        this.$set(this, `form`, res.data);
         // 地址
         this.$set(this, `address`, res.data.address);
         this.$set(this, `shop`, res.data.shop);
+        if (res.data.transport) {
+          this.$set(this, `transport`, res.data.transport);
+        }
         // 商品
         this.$set(this, `list`, res.data.goods);
         // 实付金额
@@ -121,6 +140,21 @@ export default {
         this.$set(this, `goods_total`, goods_total);
       }
     },
+    // 提交
+    async onSubmit() {
+      let form = this.form;
+      let transport = {};
+      let res;
+      if (form.shop_transport_no) {
+        transport.shop_transport_no = form.shop_transport_no;
+        form.transport = transport;
+      }
+      if (form.id) res = await this.update(form);
+      if (this.$checkRes(res)) {
+        this.$message({ type: `success`, message: `维护信息成功` });
+        this.toBack();
+      }
+    },
     // 返回
     toBack() {
       window.history.go('-1');
@@ -131,7 +165,7 @@ export default {
       return this.$route.query.id;
     },
   },
-  metaInfo() {
+  metaform() {
     return { title: this.$route.meta.title };
   },
   watch: {

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

@@ -3,7 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="one">
-          <search-1 :form="searchForm" :statusList="statusList" @onSubmit="search" @toReset="toClose" :total="total"> </search-1>
+          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"> </search-1>
         </el-col>
         <data-table
           :select="true"
@@ -28,7 +28,6 @@ import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('order');
 export default {
   name: 'card-1',
-  // props: { list: { type: Array }, total: { type: Number }, statusList: { type: Array }  },
   props: { statusList: { type: Array }, shop: { type: Object } },
   components: { search1: () => import('./search-1.vue') },
   data: function () {

+ 1 - 1
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" :statusList="statusList" @onSubmit="search" @toReset="toClose" :total="total"></search-1>
+          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose" ></search-1>
         </el-col>
         <data-table
           :select="true"

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

@@ -3,7 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="one">
-          <search-1 :form="searchForm" :statusList="statusList" @onSubmit="search" @toReset="toClose" :total="total"></search-1>
+          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
         <data-table
           :select="true"

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

@@ -3,7 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="one">
-          <search-1 :form="searchForm" :statusList="statusList" @onSubmit="search" @toReset="toClose" :total="total"></search-1>
+          <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
         <data-table
           :select="true"

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

@@ -21,13 +21,6 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="6">
-            <el-form-item label="订单状态" prop="type">
-              <el-select v-model="form.type" 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-select>
-            </el-form-item>
-          </el-col> -->
           <el-col :span="24" class="btn">
             <el-button type="primary" icon="el-icon-search" size="mini" @click="onSubmit('form')">搜索</el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="toReset('form')">重置</el-button>
@@ -42,7 +35,7 @@
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'search-1',
-  props: { form: { type: Object }, statusList: { type: Array } },
+  props: { form: { type: Object } },
   components: {},
   data: function () {
     return {};

+ 39 - 6
src/views/system/order/detail_orderDetail.vue

@@ -38,7 +38,7 @@
           </el-col>
           <el-col :span="24">
             <el-col :span="6">订单备注</el-col>
-            <el-col :span="18" class="other" v-if="info.remarks">{{ info.remarks }}</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">
@@ -54,11 +54,25 @@
           </el-col>
           <el-col :span="24">
             <el-col :span="6">下单时间</el-col>
-            <el-col :span="18" class="other">{{ info.buy_time }}</el-col>
+            <el-col :span="18" class="other">{{ form.buy_time }}</el-col>
           </el-col>
           <el-col :span="24">
             <el-col :span="6">支付时间</el-col>
-            <el-col :span="18" class="other">{{ info.pay_time }}</el-col>
+            <el-col :span="18" class="other">{{ form.pay_time }}</el-col>
+          </el-col>
+          <el-col :span="24" v-if="form.status == '1'">
+            <el-col :span="6">寄出运单号</el-col>
+            <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
+          </el-col>
+          <el-col :span="24" v-if="form.status == '1' && !transport.shop_transport_no">
+            <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
+              <el-form-item label="寄出运单号" prop="shop_transport_no">
+                <el-input v-model="form.shop_transport_no" placeholder="请输入运单号" size="small"></el-input>
+              </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>
@@ -77,10 +91,11 @@ export default {
   components: {},
   data: function () {
     return {
-      info: {},
+      form: {},
       address: {},
       goods_total: 0,
       shop: {},
+      transport: {},
       list: [],
       total_detail: {},
       typeList: [],
@@ -97,10 +112,13 @@ export default {
       let res;
       res = await this.fetch(this.id);
       if (this.$checkRes(res)) {
-        this.$set(this, `info`, res.data);
+        this.$set(this, `form`, res.data);
         // 地址
         this.$set(this, `address`, res.data.address);
         this.$set(this, `shop`, res.data.shop);
+        if (res.data.transport) {
+          this.$set(this, `transport`, res.data.transport);
+        }
         // 商品
         this.$set(this, `list`, res.data.goods);
         // 实付金额
@@ -121,6 +139,21 @@ export default {
         this.$set(this, `goods_total`, goods_total);
       }
     },
+    // 提交
+    async onSubmit() {
+      let form = this.form;
+      let transport = {};
+      let res;
+      if (form.shop_transport_no) {
+        transport.shop_transport_no = form.shop_transport_no;
+        form.transport = transport;
+      }
+      if (form.id) res = await this.update(form);
+      if (this.$checkRes(res)) {
+        this.$message({ type: `success`, message: `维护信息成功` });
+        this.toBack();
+      }
+    },
     // 返回
     toBack() {
       window.history.go('-1');
@@ -131,7 +164,7 @@ export default {
       return this.$route.query.id;
     },
   },
-  metaInfo() {
+  metaform() {
     return { title: this.$route.meta.title };
   },
   watch: {