Moss 1 rok pred
rodič
commit
5800df9b8c

+ 2 - 1
src/views/mallManagement/goods/goods_add/index.vue

@@ -242,7 +242,7 @@
                 <el-input size="small" v-model="scope.row.specValue" :disabled="scope.row.goodsCode != ''"></el-input>
               </template>
             </el-table-column>
-            <el-table-column align="center" label="规格型号" prop="goodsCode" min-width="180">
+            <el-table-column align="center" label="*规格型号" prop="goodsCode" min-width="180">
               <template slot-scope="scope">
                 <el-select
                   :disabled="joinCode == 'NO'"
@@ -887,6 +887,7 @@ export default {
                 if(!this.specList[i].mainId)  return this.$errorMsg('请选择大类')
                 if(!this.specList[i].smallId)  return this.$errorMsg('请选择小类')
                 if(!this.specList[i].specValue)  return this.$errorMsg('请填写规格名称')
+                if(!this.specList[i].goodsCode)  return this.$errorMsg('请选择规格型号')
                 if(!this.specList[i].price)  return this.$errorMsg('请填写销售价格')
                 if(!this.specList[i].orgPrice)  return this.$errorMsg('请填写划线价格')
                 if(!this.specList[i].shareAmount)  return this.$errorMsg('请填写佣金')

+ 2 - 1
src/views/mallManagement/order/offline_order_list/index.vue

@@ -161,7 +161,7 @@
         <div v-show="formTabs == 'a'">
           <div style="margin-top: 30px;">
             <el-button type="primary" size="small" @click="addGoods(1)" :disabled="formData.isOld == 'YES' && goodsList.length > 0">添加商品</el-button>
-            <el-button type="primary" size="small" @click="addGoods(2)" :disabled="formData.isOld == 'YES' && goodsList.length > 0">添加物料</el-button>
+            <el-button type="primary" size="small" @click="addGoods(2)" :disabled="formData.isOld == 'YES' && goodsList.length > 0" v-if="joinCode != 'NO'">添加物料</el-button>
           </div>
           <el-table
             class="specTable"
@@ -756,6 +756,7 @@ export default {
       categoryList: [],
       specList: [],
       attrList: [],
+      joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
 
     }
   },

+ 70 - 7
src/views/mallManagement/order/order_detail/index.vue

@@ -40,7 +40,7 @@
                       <el-button slot="reference" size="small" type="danger">取消订单</el-button>
                     </el-popconfirm>
                   </template>
-                  <el-button type="primary" size="small" @click="returnOrder()" v-if="(orderDetail.orderStatus === 'YFH' || orderDetail.orderStatus === 'OVER')">发起退货</el-button>
+                  <!-- <el-button type="primary" size="small" @click="returnOrder()" v-if="(orderDetail.orderStatus === 'YFH' || orderDetail.orderStatus === 'OVER')">发起退货</el-button> -->
                   <template v-if="orderDetail.orderStatus === 'YFH' || orderDetail.orderStatus === 'OVER'">
                     <el-button size="small" @click="showDialog('query')">查看物流</el-button>
                   </template>
@@ -176,7 +176,7 @@
     </div>
 
     <h3>商品信息</h3>
-    <div class="order-detail">
+    <div class="order-detail" style="margin-bottom: 30px;">
       <!-- 订单表格 -->
       <el-table :data="orderDetail.orderDetails" style="width: 100%" border>
         <el-table-column label="商品信息" min-width="200">
@@ -195,9 +195,14 @@
             </el-row>
           </template>
         </el-table-column>
-        <el-table-column prop="goodsSpecValue" label="规格" align="center"></el-table-column>
+        <el-table-column prop="goodsSpecValue" label="规格" align="center">
+          <template slot-scope="scope">
+            {{scope.row.goodsSpecName}}{{scope.row.goodsSpecValue}}
+          </template>
+        </el-table-column>
         <el-table-column prop="price" label="单价" align="center"></el-table-column>
         <el-table-column prop="num" label="数量" align="center"></el-table-column>
+        <el-table-column prop="sendStockNum" label="已发货数量" min-width="100" align="center"></el-table-column>
         <el-table-column prop="shareAmount" label="分销金额" align="center">
           <template slot-scope="scope">
             {{ orderDetail.workerId || orderDetail.promotionGroupUserId ? scope.row.shareAmount : '0' }}
@@ -229,8 +234,50 @@
           </template>
         </el-table-column>
       </el-table>
+    </div>
 
+    <div v-if="deliverList.length > 0" style="margin-bottom: 30px;">
+      <h3>发货记录</h3>
+      <div class="order-detail">
+        <!-- 理赔表格 -->
+        <el-table :data="deliverList" style="width: 100%;" size="small" border>
+          <el-table-column prop="deliveryId" align="center" label="发货单号" width="160"></el-table-column>
+          <el-table-column prop="brandName" align="center" label="品牌"></el-table-column>
+          <el-table-column prop="mainName" align="center" label="大类名称"></el-table-column>
+          <el-table-column prop="smallName" align="center" label="小类名称"></el-table-column>
+          <el-table-column prop="goodsName" align="center" label="商品名称" width="140"></el-table-column>
+          <el-table-column prop="goodsSpecName" align="center" label="规格型号" width="140"></el-table-column>
+          <el-table-column prop="goodsMaterialUnit" align="center" label="单位">
+            <template slot-scope="scope">
+              {{scope.row.goodsMaterialUnit == 'C' ? '整套' : scope.row.goodsMaterialUnit == 'I' ? '单个' : ''}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="num" align="center" label="发货数量"></el-table-column>
+          <el-table-column prop="insideCodeQty" align="center" label="内机数量"></el-table-column>
+          <el-table-column prop="outCodeQty" align="center" label="外机数量"></el-table-column>
+          <el-table-column prop="partsCodeQty" align="center" label="配件数量"></el-table-column>
+          <el-table-column prop="storageStockName" align="center" label="发货仓库" width="100"></el-table-column>
+          <el-table-column prop="pickType" align="center" label="发货方式">
+            <template slot-scope="scope">
+              {{scope.row.pickType == 'YES' ? '自提' : '快递物流'}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="logisticsNo" align="center" label="快递单号" width="100"></el-table-column>
+          <el-table-column prop="companyName" align="center" label="物流公司" width="100"></el-table-column>
+          <el-table-column prop="pickName" align="center" label="提货人"></el-table-column>
+          <el-table-column prop="pickPhone" align="center" label="提货人电话" width="110"></el-table-column>
+          <el-table-column prop="createBy" align="center" label="操作人" width="140"></el-table-column>
+          <el-table-column prop="createTime" align="center" label="操作时间" width="160"></el-table-column>
+          <el-table-column align="center" label="操作" fixed="right">
+            <template slot-scope="scope">
+              <el-button type="text" size="small" @click="returnOrder(scope.row.deliveryId)">发起退货</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
 
+    <div class="order-detail">
       <div class="order-amount-info">
         <el-row>
           <el-col :span="19">
@@ -376,7 +423,11 @@
 											{{scope.row.goodsMaterialUnit == 'C'?'整套':scope.row.goodsMaterialUnit == 'I'?"单个":''}}
 										</template>
 									</el-table-column>
-									<el-table-column prop="num" align="center" label="数量"></el-table-column>
+									<el-table-column prop="num" align="center" label="数量">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.num" placeholder="请输入" type="number"></el-input>
+                    </template>
+                  </el-table-column>
 									<el-table-column prop="insideNum" align="center" label="内机数量"></el-table-column>
 									<el-table-column prop="outNum" align="center" label="外机数量"></el-table-column>
 									<el-table-column prop="partNum" align="center" label="配件数量"></el-table-column>
@@ -565,7 +616,7 @@ import {
   confirmOrder,
   getOrderDetail, goodsDeliver,
   saveRemark, orderRefund, orderCompensate, getCompensateList,
-  changeShow, getCodeDetail, getMaterialList, listImport, saveCode, delCode, getPrintList
+  changeShow, getCodeDetail, getMaterialList, listImport, saveCode, delCode, getPrintList, getDeliverList
 } from "@/api/order";
 import { getExpress, getCompanyList } from "@/api/common";
 import { commonTemplateDownload } from '@/api/common.js'
@@ -720,6 +771,7 @@ export default {
 	  orderDetailId: '',
 
     printList: [],
+    deliverList: [],
     }
   },
   created() {
@@ -729,6 +781,7 @@ export default {
     this.getCompanyList();
     this.getCompensateList();
     this.getPrintList();
+    this.getDeliverList();
   },
   methods: {
     getDetail() {
@@ -747,6 +800,16 @@ export default {
       })
     },
 
+    getDeliverList() {
+      getDeliverList({
+        pageNum: 1,
+        pageSize: -1,
+        params: [{param: 'a.order_id', compare: '=', value: this.orderId}]
+      }).then(res => {
+        this.deliverList = res.data.records;
+      })
+    },
+
     getPrintList() {
       getPrintList({ orderId: this.orderId }).then(res => {
         this.printList = res.data || [];
@@ -859,11 +922,11 @@ export default {
       })
     },
     // 发起退货
-    returnOrder() {
+    returnOrder(deliveryId) {
       this.$router.push({
         name: "sales_return_order_list",
         query: {
-          orderId: this.orderId
+          deliverId: deliveryId
         }
       })
     },

+ 1 - 0
src/views/mallManagement/order/order_list/index.vue

@@ -1185,6 +1185,7 @@ export default {
 				this.getOrderDetail()
 				this.getCodeDetail()
         this.getDeliverList();
+        this.getStorageList();
 				this.openForm('deliverGoods',item)
 			}else if(type == 'edit'){
 				this.openForm('editExpressage',item)

+ 8 - 2
src/views/mallManagement/order/sales_deliver_order_list/index.vue

@@ -22,12 +22,18 @@
           <el-descriptions-item label="发货方式">
             {{ {YES: '自提', NO: '快递物流'}[detailData.pickType] }}
           </el-descriptions-item>
-          <el-descriptions-item label="提货人">
+          <el-descriptions-item label="提货人" v-if="detailData.pickType == 'YES'">
             {{detailData.pickName}}
           </el-descriptions-item>
-          <el-descriptions-item label="提货人电话">
+          <el-descriptions-item label="提货人电话" v-if="detailData.pickType == 'YES'">
             {{detailData.pickPhone}}
           </el-descriptions-item>
+          <el-descriptions-item label="物流公司" v-if="detailData.pickType == 'NO'">
+            {{detailData.companyName}}
+          </el-descriptions-item>
+          <el-descriptions-item label="快递单号" v-if="detailData.pickType == 'NO'">
+            {{detailData.logisticsNo}}
+          </el-descriptions-item>
           <el-descriptions-item label="仓储">
             {{detailData.storageStockName}}
           </el-descriptions-item>

+ 26 - 14
src/views/mallManagement/order/sales_return_order_list/index.vue

@@ -133,7 +133,6 @@
               </el-form-item>
             </div>
             <el-table
-              class="specTable"
               :data="goodsList"
               element-loading-text="Loading"
               border
@@ -151,12 +150,14 @@
               </el-table-column>
               <el-table-column align="center" label="退货数量" prop="waitRefundNum" min-width="120">
                 <template slot-scope="scope">
-                  <el-input size="small" type="number" v-model="scope.row.waitRefundNum"></el-input>
+                  {{scope.row.waitRefundNum}}
+                  <!-- <el-input size="small" type="number" v-model="scope.row.waitRefundNum"></el-input> -->
                 </template>
               </el-table-column>
               <el-table-column align="center" label="退货单价" prop="waitRefundPrice" min-width="120">
                 <template slot-scope="scope">
-                  <el-input size="small" type="number" v-model="scope.row.waitRefundPrice"></el-input>
+                  {{scope.row.waitRefundPrice}}
+                  <!-- <el-input size="small" type="number" v-model="scope.row.waitRefundPrice"></el-input> -->
                 </template>
               </el-table-column>
               <el-table-column align="center" label="退货金额" prop="amount" min-width="120">
@@ -399,17 +400,18 @@
 
 				<div slot="footer" class="dialog-footer" style="margin-top: 20px;">
 				  <el-button size="mini" @click="data.removeTab()">关 闭</el-button>
-				  <el-button size="mini" @click="detailConfirm(data.removeTab)" type="primary" v-if="activeKey == 'examine'">审核通过</el-button>
+				  <el-button size="mini" @click="detailConfirm(data.removeTab, 'FAIL')" type="danger" v-if="activeKey == 'examine'">审核驳回</el-button>
+				  <el-button size="mini" @click="detailConfirm(data.removeTab, 'OK')" type="primary" v-if="activeKey == 'examine'">审核通过</el-button>
 				</div>
       </div>
 
 
       <el-dialog
-        title="选择销售订单"
+        title="选择发货单"
         :visible.sync="isShowOrderDialog"
         :close-on-click-modal="false"
         :show-close="false"
-        width="800px">
+        width="1200px">
 
         <div class="screen-container">
           <el-form ref="screenForm" :model="screenForm" label-width="90px" size="small" label-position="left">
@@ -586,6 +588,7 @@ export default {
       },
       formRules: {
         isReturnOld: [{ required: true, message: '请选择是否退旧机', trigger: 'change' }],
+        storageStockId: [{ required: true, message: '请选择退货仓库', trigger: 'change' }],
       },
       formType: 'add',
       formVisible: false,
@@ -768,8 +771,11 @@ export default {
       				getSalesReturnOrderDetail({ id }).then(res => {
                 const data = res.data;
                 this.formData.id = data.id;
+                this.formData.deliveryId = data.deliveryId;
                 this.formData.companyWechatName = data.companyWechatName;
                 this.formData.orderId = data.orderId;
+                this.formData.storageStockId = data.storageStockId;
+                this.formData.storageStockName = data.storageStockName;
                 this.formData.saleType = data.orderInfo.saleType;
                 this.formData.saleName = data.orderInfo.saleName;
                 this.formData.saleMobile = data.orderInfo.saleMobile;
@@ -879,10 +885,10 @@ export default {
     detailCancel() {
       this.formVisible = false
     },
-    detailConfirm(cancel) {
+    detailConfirm(cancel, status) {
       salesReturnOrderExamine({
         id: this.detailData.id,
-        examineStatus: 'OK',
+        examineStatus: status,
       }).then(res => {
         this.$message({ type: 'success', message: `审批成功!` })
         cancel('list')
@@ -928,7 +934,8 @@ export default {
         params: [
           {param: "a.order_id", compare: "like", value: this.screenForm.orderId},
           {param: "a.delivery_id", compare: "like", value: this.screenForm.deliveryId},
-          {param: "b.goods_name", compare: "like", value: this.screenForm.goodsName}
+          {param: "b.goods_name", compare: "like", value: this.screenForm.goodsName},
+          {param: "a.status", compare: "=", value: 'SEND'},
         ]
       }).then(res => {
         this.orderList = res.data.records;
@@ -973,6 +980,11 @@ export default {
         const data = res.data;
         this.formData.deliveryId = data.deliveryId;
         this.formData.deliverStorageName = data.storageStockName;
+        data.orderDetailSendList.forEach(item => {
+          item.waitRefundNum = item.sendNum;
+          item.waitRefundPrice = item.price;
+        })
+        this.goodsList = data.orderDetailSendList;
       })
       getOrderDetail({ orderId: this.waitChooseOrder[0].orderId }).then((res) => {
         const data = res.data;
@@ -985,11 +997,11 @@ export default {
         this.formData.receUserName = data.receUserName;
         this.formData.recePhone = data.recePhone;
         this.formData.receAddress = data.receAddress;
-        data.orderDetails.forEach(item => {
-          item.waitRefundNum = item.num;
-          item.waitRefundPrice = item.price;
-        })
-        this.goodsList = data.orderDetails;
+        // data.orderDetails.forEach(item => {
+        //   item.waitRefundNum = item.num;
+        //   item.waitRefundPrice = item.price;
+        // })
+        // this.goodsList = data.orderDetails;
         this.oldList = data.orderOldProductDTOList;
 
         getOrderCodeList({orderId: data.orderId}).then(res => {