瀏覽代碼

Merge branch 'master' of https://gogs.zfire.top/zfire-front/zfire-newmall-admin into linwenxin_dev

linwenxin 1 年之前
父節點
當前提交
6a497d54ac

+ 14 - 14
src/permission.js

@@ -62,13 +62,13 @@ router.beforeEach(async (to, from, next) => {
           lay.children = []
           for (var route of store.getters.menus) {
             if (route.code == "bigViews") {
-              router.addRoutes([{
-                path: '/bigViews',
-                code: "bigViews",
-                name: "bigViews",
-                component: _import(`${route.fullUrl}/index`),
-                hidden: true
-              }])
+              // router.addRoutes([{
+              //   path: '/bigViews',
+              //   code: "bigViews",
+              //   name: "bigViews",
+              //   component: _import(`${route.fullUrl}/index`),
+              //   hidden: true
+              // }])
             } else if (moduleObj[route.code] !== false) {
               lay.children.push(...buildRoute(route))
             }
@@ -78,13 +78,13 @@ router.beforeEach(async (to, from, next) => {
           global.antRouter = []
           for (var route of store.getters.menus) {
             if (route.code == "bigViews") {
-              global.antRouter.push({
-                path: '/bigViews',
-                code: "bigViews",
-                name: "bigViews",
-                component: _import(`${route.fullUrl}/index`),
-                hidden: true
-              })
+              // global.antRouter.push({
+              //   path: '/bigViews',
+              //   code: "bigViews",
+              //   name: "bigViews",
+              //   component: _import(`${route.fullUrl}/index`),
+              //   hidden: true
+              // })
             } else if (moduleObj[route.code] !== false) {
               global.antRouter.push(...buildRoute(route, '', false))
             }

+ 1 - 1
src/views/auxiliaryFittings/salesManagement/components/attachmentSalesOrderDetail.vue

@@ -290,7 +290,7 @@
 							{{(scope.row.price * 100) * scope.row.salesQty / 100}}
 						</template>
 					</el-table-column>
-					<el-table-column prop="goods.qty" align="center" label="库存数量"></el-table-column>
+					<el-table-column prop="goods.qty" align="center" label="全部库存数量"></el-table-column>
 					<el-table-column label="操作" align="right" width="140">
 						<template slot-scope="scope" v-if="formType != 2">
 							<el-button size="mini" type="primary" v-if="scope.$index != isEdit" @click="isEdit = scope.$index">编辑</el-button>

+ 1 - 1
src/views/auxiliaryFittings/salesManagement/components/auxiliarySalesOrderDetail.vue

@@ -315,7 +315,7 @@
 							{{((scope.row.price * 100) * scope.row.salesQty / 100).toFixed(2)}}
 						</template>
 					</el-table-column>
-					<el-table-column prop="goods.qty" align="center" label="库存数量"></el-table-column>
+					<el-table-column prop="goods.qty" align="center" label="全部库存数量"></el-table-column>
 					<el-table-column label="操作" align="right" width="140">
 						<template slot-scope="scope" v-if="formType != 2">
 							<el-button size="mini" type="primary" v-if="scope.$index != isEdit" @click="isEdit = scope.$index">编辑</el-button>

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

@@ -1357,7 +1357,7 @@ export default {
       this.goodsList[index].smallId = item.smallId;
       this.goodsList[index].smallName = item.smallName;
       this.goodsList[index].unit = item.unit;
-      this.goodsList[index].stockQty = item.stockNum;
+      this.goodsList[index].stockQty = item.goodsMaterialStock;
     },
 
     creatCode(data, orderId) {

+ 38 - 23
src/views/mallManagement/order/order_detail/index.vue

@@ -229,8 +229,8 @@
             <!-- <el-button v-if="!~['TIMEOUT', 'CLOSE'].indexOf(orderDetail.orderStatus)" size="mini" type="primary"
               @click="handleRefund(scope.row)"
               :disabled="!orderDetail.refundAble || scope.row.refundNum >= scope.row.num">退款</el-button> -->
-            <el-button v-if="!~['TIMEOUT'].indexOf(orderDetail.orderStatus)" size="mini"
-              @click="handleCompensate(scope.row)">理赔</el-button>
+            <!-- <el-button v-if="!~['TIMEOUT'].indexOf(orderDetail.orderStatus)" size="mini"
+              @click="handleCompensate(scope.row)">理赔</el-button> -->
           </template>
         </el-table-column>
       </el-table>
@@ -242,20 +242,17 @@
         <!-- 发货记录 -->
         <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="单位">
+          <el-table-column prop="status" align="center" label="状态">
             <template slot-scope="scope">
-              {{scope.row.goodsMaterialUnit == 'C' ? '整套' : scope.row.goodsMaterialUnit == 'I' ? '单个' : ''}}
+              {{ {SEND: '已发货', REFUND: '已退货', PART_REFUND: '部分退货', REFUND_PRICE: '仅退款'}[scope.row.status] }}
             </template>
           </el-table-column>
           <el-table-column prop="sendNum" 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="refundNum" align="center" label="退货数量"></el-table-column>
+          <el-table-column prop="num" align="center" label="订单数量"></el-table-column>
+          <el-table-column prop="sendInsideCodeQty" align="center" label="内机数量"></el-table-column>
+          <el-table-column prop="sendOutCodeQty" align="center" label="外机数量"></el-table-column>
+          <el-table-column prop="sendPartsCodeQty" 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">
@@ -266,6 +263,7 @@
           <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 align="center" prop="deliverTime" label="发货时间" min-width="160"></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">
@@ -273,6 +271,7 @@
 			 <!-- <el-button v-if="!~['TIMEOUT', 'CLOSE'].indexOf(orderDetail.orderStatus)" size="mini" type="text"
 			    @click="handleRefund(scope.row)" :disabled="!orderDetail.refundAble || scope.row.refundNum >= scope.row.num">退款
 			  </el-button> -->
+              <el-button type="text" size="small" @click="toDeliverDetail(scope.row.deliveryId)">详情</el-button>
               <el-button type="text" size="small" @click="returnOrder(scope.row.deliveryId)" v-if="!~['TIMEOUT', 'CLOSE'].indexOf(orderDetail.orderStatus) && scope.row.status == 'SEND'">发起退货</el-button>
             </template>
           </el-table-column>
@@ -408,12 +407,12 @@
 				<el-col :span="24">
 					<el-card class="box-card">
 						<el-tabs v-model="typeIndex">
-						    <el-tab-pane v-if="orderDetail.orderStatus != 'YFH' && orderDetail.orderStatus != 'OVER'" label="发货数量" name="1"></el-tab-pane>
-						    <el-tab-pane v-if="joinCode" label="发货条码" name="2"></el-tab-pane>
+              <el-tab-pane v-if="orderDetail.orderStatus != 'YFH' && orderDetail.orderStatus != 'OVER'" label="发货数量" name="1"></el-tab-pane>
+              <el-tab-pane v-if="joinCode == 'CODE'" label="发货条码" name="2"></el-tab-pane>
 						</el-tabs>
 						<br/>
-						<el-button size="small" v-show="typeIndex == 2 && joinCode" type="primary" @click="addCode()">新增</el-button>
-						<el-button size="small" v-show="typeIndex == 1 && joinCode" type="primary" @click="handleDownload('导入条码模板')">导入条码模板下载</el-button>
+						<el-button size="small" v-show="typeIndex == 2 && joinCode == 'CODE'" type="primary" @click="addCode()">新增</el-button>
+						<el-button size="small" v-show="typeIndex == 1 && joinCode == 'CODE'" type="primary" @click="handleDownload('导入条码模板')">导入条码模板下载</el-button>
 						<div class="table">
 							<!-- 发货数量 -->
 							<el-form v-show="typeIndex == 1" ref="formData1" :model="formData1" label-width="0" size="small" label-position="left">
@@ -436,13 +435,13 @@
 										</template>
 									</el-table-column>
 									<el-table-column prop="sendStockNum" align="center" label="发货数量"></el-table-column>
-									<el-table-column v-if="joinCodeText != 'NO'" prop="" align="center" label="发货仓库">
+									<el-table-column v-if="joinCode != 'NO'" prop="" align="center" label="发货仓库">
 										<template slot-scope="scope">
 											{{storageName}}
 										</template>
 									</el-table-column>
-									<el-table-column v-if="joinCodeText != 'NO'" prop="stockOnQty" align="center" label="发货仓库库存" width="100"></el-table-column>
-									<el-table-column v-if="joinCodeText != 'NO'" prop="allStockQty" align="center" label="库存总数量" width="100"></el-table-column>
+									<el-table-column v-if="joinCode != 'NO'" prop="stockOnQty" align="center" label="发货仓库库存" width="100"></el-table-column>
+									<el-table-column v-if="joinCode != 'NO'" prop="allStockQty" align="center" label="库存总数量" width="100"></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>
@@ -450,7 +449,7 @@
 									<el-table-column prop="outCodeQty" align="center" label="导入外机条码数量" width="140"></el-table-column>
 									<el-table-column prop="partsCodeQty" align="center" label="导入配件条码数量" width="140"></el-table-column>
 									<el-table-column label="操作" align="center" width="140" fixed="right">
-										<template slot-scope="scope" v-if="joinCode">
+										<template slot-scope="scope" v-if="joinCode == 'CODE'">
 											<el-upload
 											  action='_'
 											  :show-file-list='false'
@@ -709,7 +708,8 @@ export default {
         storageId: [
           {
             validator: (rule, value, callback) => {
-              if (this.curOpenDialogType !== 'send') {
+              let joinCode = JSON.parse(localStorage.getItem('greemall_user')).joinCode;
+              if (this.curOpenDialogType !== 'send' || joinCode == 'NO') {
                 callback()
               } else {
                 if (!value) {
@@ -782,8 +782,7 @@ export default {
 	  },
 	  isEdit1: 0,
 	  isEdit2: 0,
-	  joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode === "CODE",
-	  joinCodeText: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
+	  joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
 	  orderDetailId: '',
 
     printList: [],
@@ -941,6 +940,16 @@ export default {
         this.$successMsg('确认收款成功');
       })
     },
+
+    toDeliverDetail(deliveryId) {
+      this.$router.push({
+        name: "sales_deliver_order_list",
+        query: {
+          deliverId: deliveryId
+        }
+      })
+    },
+
     // 发起退货
     returnOrder(deliveryId) {
       this.$router.push({
@@ -1204,6 +1213,11 @@ export default {
 		  if (valid) {
         if(this.deliverSelection.length < 1) return this.$errorMsg('请选择一个发货信息');
 
+        for (let i = 0; i < this.deliverSelection.length; i++) {
+          const item = this.deliverSelection[i];
+          if(!item.num || item.num == 0) return this.$errorMsg('请填写发货数量-订单数量');
+        }
+
 		    orderDeliver({
 		      orderId: this.orderId,
 		      logisticsNo: this.orderForm.pickType == 'NO' ? this.orderForm.logisticsNo : '',
@@ -1225,6 +1239,7 @@ export default {
 		    }).then(() => {
 		      this.cancelForm();
 		      this.getDetail();
+          this.getDeliverList();
 		      this.$successMsg('发货成功');
 		    })
 		  }

+ 26 - 23
src/views/mallManagement/order/order_list/index.vue

@@ -570,33 +570,31 @@
                   <el-form v-show="typeIndex == 3" ref="formData3" :model="formData3" label-width="0" size="small" label-position="left">
 										<el-table :data="formData3.list" element-loading-text="Loading" border fit highlight-current-row stripe>
 											<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="单位">
+                      <el-table-column prop="status" align="center" label="状态">
                         <template slot-scope="scope">
-													{{scope.row.goodsMaterialUnit == 'C' ? '整套' : scope.row.goodsMaterialUnit == 'I' ? '单个' : ''}}
-												</template>
+                          {{ {SEND: '已发货', REFUND: '已退货', PART_REFUND: '部分退货', REFUND_PRICE: '仅退款'}[scope.row.status] }}
+                        </template>
                       </el-table-column>
-											<el-table-column prop="sendNum" 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="发货方式">
+                      <el-table-column prop="sendNum" align="center" label="发货数量"></el-table-column>
+                      <el-table-column prop="refundNum" align="center" label="退货数量"></el-table-column>
+                      <el-table-column prop="num" align="center" label="订单数量"></el-table-column>
+                      <el-table-column prop="sendInsideCodeQty" align="center" label="内机数量"></el-table-column>
+                      <el-table-column prop="sendOutCodeQty" align="center" label="外机数量"></el-table-column>
+                      <el-table-column prop="sendPartsCodeQty" 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>
+                          {{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="操作">
+                      <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 align="center" prop="deliverTime" label="发货时间" min-width="160"></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)" v-if="$restrict('returnOrder')">发起退货</el-button>
 												</template>
@@ -1240,6 +1238,11 @@ export default {
           if (this.logisticsType === 'add') {
             if(this.deliverSelection.length < 1) return this.$errorMsg('请选择一个发货信息');
 
+            for (let i = 0; i < this.deliverSelection.length; i++) {
+              const item = this.deliverSelection[i];
+              if(!item.num || item.num == 0) return this.$errorMsg('请填写发货数量-订单数量');
+            }
+
             orderDeliver({
               orderId: this.editOrderId,
               logisticsNo: this.logisticsForm.pickType == 'NO' ? this.logisticsForm.logisticsNo : '',

+ 4 - 4
src/views/mallManagement/order/order_refund/index.vue

@@ -582,10 +582,10 @@ export default {
       getOrderDetail({ orderId: orderId || this?.order_cp?.orderId || "" }).then(res => {
         let arr = []
         res.data.orderDetails.forEach(item=>{
-			arr.push(item)
-        	// if(item.goodsMaterialId){
-        	// 	arr.push(item)
-        	// }
+			    // arr.push(item)
+        	if(item.refund){
+        		arr.push(item)
+        	}
         })
         this.formData1.list = arr
       })

+ 4 - 4
src/views/mallManagement/order/order_refund_detail/index.vue

@@ -479,10 +479,10 @@ export default {
 			getOrderDetail({orderId: this.orderDetail.orderId}).then(res => {
 			  let arr = []
 			  res.data.orderDetails.forEach(item=>{
-					arr.push(item)
-			  	// if(item.goodsMaterialId){
-			  	// 	arr.push(item)
-			  	// }
+					// arr.push(item)
+			  	if(item.refund){
+			  		arr.push(item)
+			  	}
 			  })
 			  this.formData1.list = arr
 			})

+ 48 - 6
src/views/mallManagement/order/sales_deliver_order_list/index.vue

@@ -9,6 +9,7 @@
             <el-radio-button label="">全部</el-radio-button>
             <el-radio-button label="SEND">已发货</el-radio-button>
             <el-radio-button label="REFUND">已退货</el-radio-button>
+            <el-radio-button label="PART_REFUND">部分退货</el-radio-button>
             <el-radio-button label="REFUND_PRICE">仅退款</el-radio-button>
           </el-radio-group>
           <br><br>
@@ -20,6 +21,15 @@
         <el-divider></el-divider>
 
         <el-descriptions border title="" :column="4" :colon="false" labelStyle="width: 8%" contentStyle="width: 17%">
+          <el-descriptions-item label="发货状态">
+            {{ {SEND: '已发货', REFUND: '已退货', PART_REFUND: '部分退货', REFUND_PRICE: '仅退款'}[detailData.status] }}
+          </el-descriptions-item>
+          <el-descriptions-item label=""></el-descriptions-item>
+          <el-descriptions-item label=""></el-descriptions-item>
+          <el-descriptions-item label=""></el-descriptions-item>
+        </el-descriptions>
+        
+        <el-descriptions border title="" :column="4" :colon="false" labelStyle="width: 8%" contentStyle="width: 17%" style="margin-top: -1px">
           <el-descriptions-item label="发货方式">
             {{ {YES: '自提', NO: '快递物流'}[detailData.pickType] }}
           </el-descriptions-item>
@@ -68,9 +78,10 @@
                 {{scope.row.goodsMaterialUnit == 'C' ? '整套' : scope.row.goodsMaterialUnit == 'I' ? '单个' : ''}}
               </template>
             </el-table-column>
-            <el-table-column prop="sendNum" align="center" label="数量"></el-table-column>
-            <el-table-column prop="sendInsideCodeQty" align="center" label="内机数量"></el-table-column>
-            <el-table-column prop="sendOutCodeQty" align="center" label="外机数量"></el-table-column>
+            <el-table-column prop="sendNum" align="center" label="发货数量"></el-table-column>
+            <el-table-column prop="refundNum" align="center" label="退货数量"></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="sendPartsCodeQty" align="center" label="配件数量"></el-table-column>
             <el-table-column prop="insideCodeQty" align="center" label="导入内机条码数量" width="140"></el-table-column>
             <el-table-column prop="outCodeQty" align="center" label="导入外机条码数量" width="140"></el-table-column>
@@ -79,7 +90,30 @@
         </div>
 
         <div v-show="detailTabs == 'b'">
-          
+          <el-table
+            class="specTable"
+            :data="codeList"
+            element-loading-text="Loading"
+            border
+            highlight-current-row
+            stripe
+            style="margin-top: 20px">
+            <el-table-column align="center" label="品牌" prop="brandName" min-width="120"></el-table-column>
+            <el-table-column align="center" label="大类" prop="mainName" min-width="120"></el-table-column>
+            <el-table-column align="center" label="小类" prop="smallName" min-width="120"></el-table-column>
+            <el-table-column align="center" label="商品名称" prop="goodsMaterialName" min-width="200"></el-table-column>
+            <el-table-column align="center" label="规格型号" prop="specsName" min-width="200"></el-table-column>
+            <el-table-column align="center" label="物料类型" prop="materialName" min-width="120"></el-table-column>
+            <el-table-column align="center" label="物料名称" prop="goodsMaterialName" min-width="120"></el-table-column>
+            <el-table-column align="center" label="是否一物一码" prop="uniqueCode" min-width="120">
+              <template slot-scope="scope">
+                {{scope.row.uniqueCode == 'YES' ? '是' : '否'}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="条码" prop="materialCode" min-width="120"></el-table-column>
+            <el-table-column align="center" label="数量" prop="stockQty" min-width="120"></el-table-column>
+
+          </el-table>
         </div>
 
 				<div slot="footer" class="dialog-footer" style="margin-top: 20px;">
@@ -96,7 +130,7 @@ import { mapGetters } from 'vuex'
 import { getToken } from '@/utils/auth'
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
-import { getSalesDeliverOrderList, salesDeliverOrderListExport, getSalesDeliverOrderDetail, salesDeliverOrderRefund } from "@/api/order";
+import { getSalesDeliverOrderList, salesDeliverOrderListExport, getSalesDeliverOrderDetail, salesDeliverOrderRefund, getOrderCodeList } from "@/api/order";
 import operation_mixin from '@/components/template/operation_mixin.js'
 import geographicalPosi from '@/components/geographicalPosi/index.vue'
 
@@ -125,6 +159,7 @@ export default {
       detailTabs: 'a',
 
       detailData: {},
+      codeList: [],
 
       pageType: '',
 
@@ -171,7 +206,11 @@ export default {
   },
 
   created() {
-		
+		if(this.$route.query.deliverId) {
+      this.$nextTick(() => {
+        this.openDetail('detail', this.$route.query.deliverId)
+      })
+    }
   },
 
   methods: {
@@ -273,6 +312,9 @@ export default {
             getSalesDeliverOrderDetail({ deliveryId: id }).then(res => {
               this.detailData = res.data;
             })
+            getOrderCodeList({ deliveryId: id }).then(res => {
+              this.codeList = res.data;
+            })
       		})
       	},
       	// 关闭时事件

+ 33 - 33
src/views/mallManagement/order/sales_return_order_list/index.vue

@@ -76,7 +76,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="退货仓库" prop="storageStockId">
+              <el-form-item label="退货仓库" prop="storageStockId" :rules="joinCode == 'NO' ? [] : [{ required: true, message: '请选择退货仓库', trigger: 'change' }]">
                 <el-select v-model="formData.storageStockId" placeholder="请选择退货仓库" style="width: 100%;">
 							    <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList"
 							      :key="index"></el-option>
@@ -119,7 +119,7 @@
 
           <el-tabs v-model="formTabs">
             <el-tab-pane label="商品信息" name="a"></el-tab-pane>
-            <el-tab-pane label="条码信息" name="b" v-if="joinCode"></el-tab-pane>
+            <el-tab-pane label="条码信息" name="b" v-if="joinCode == 'CODE'"></el-tab-pane>
             <el-tab-pane label="旧机信息" name="c" v-if="formData.isReturnOld === 'YES'"></el-tab-pane>
           </el-tabs>
 
@@ -197,7 +197,6 @@
           </div>
           <div v-show="formTabs == 'b'">
             <el-table
-              class="specTable"
               :data="codeList"
               element-loading-text="Loading"
               border
@@ -229,7 +228,6 @@
           </div>
           <div v-show="formTabs == 'c'">
             <el-table
-              class="specTable"
               :data="oldList"
               element-loading-text="Loading"
               border
@@ -313,13 +311,12 @@
 
         <el-tabs v-model="detailTabs">
           <el-tab-pane label="商品信息" name="a"></el-tab-pane>
-          <el-tab-pane label="条码信息" name="b" v-if="joinCode"></el-tab-pane>
+          <el-tab-pane label="条码信息" name="b" v-if="joinCode == 'CODE'"></el-tab-pane>
           <el-tab-pane label="旧机信息" name="c" v-if="detailData.isOld == 'YES'"></el-tab-pane>
         </el-tabs>
 
         <div v-show="detailTabs == 'a'">
           <el-table
-            class="specTable"
             :data="detailData.orderOfflineRefundItems"
             element-loading-text="Loading"
             border
@@ -366,7 +363,6 @@
         </div>
         <div v-show="detailTabs == 'b'">
           <el-table
-            class="specTable"
             :data="detailData.orderOfflineItemCodes"
             element-loading-text="Loading"
             border
@@ -392,7 +388,6 @@
         </div>
         <div v-show="detailTabs == 'c'">
           <el-table
-              class="specTable"
               :data="detailData.orderOldProductDTOList"
               element-loading-text="Loading"
               border
@@ -472,24 +467,28 @@
             <el-table-column align="center" prop="orderId" label="销售订单号" min-width="180"></el-table-column>
             <el-table-column align="center" prop="status" label="状态" min-width="80">
               <template slot-scope="scope">
-                {{{SEND: '已发货', REFUND: '已退货'}[scope.row.status]}}
+                {{ {SEND: '已发货', REFUND: '已退货', PART_REFUND: '部分退货', REFUND_PRICE: '仅退款'}[scope.row.status] }}
               </template>
             </el-table-column>
-            <el-table-column align="center" prop="brandName" label="品牌" min-width="80"></el-table-column>
-            <el-table-column align="center" prop="mainName" label="大类" min-width="80"></el-table-column>
-            <el-table-column align="center" prop="smallName" label="小类" min-width="80"></el-table-column>
-            <el-table-column align="center" prop="goodsName" label="商品名称" min-width="200"></el-table-column>
-            <el-table-column align="center" prop="goodsSpecValue" label="规格型号" min-width="200"></el-table-column>
-            <el-table-column align="center" prop="sendNum" label="数量" min-width="80"></el-table-column>
-            <el-table-column align="center" prop="saleType" label="发货方式" min-width="80">
-              <template slot-scope="scope">
-                {{{YES: '自提', NO: '快递物流'}[scope.row.pickType]}}
-              </template>
-            </el-table-column>
-            <el-table-column align="center" prop="pickName" label="提货人" min-width="80"></el-table-column>
-            <el-table-column align="center" prop="pickPhone" label="提货人电话" min-width="120"></el-table-column>
-            <el-table-column align="center" prop="companyName" label="快递公司" min-width="120"></el-table-column>
-            <el-table-column align="center" prop="deliverTime" label="发货时间" min-width="160"></el-table-column>
+            <el-table-column prop="sendNum" align="center" label="发货数量"></el-table-column>
+          <el-table-column prop="refundNum" align="center" label="退货数量"></el-table-column>
+          <el-table-column prop="num" align="center" label="订单数量"></el-table-column>
+          <el-table-column prop="sendInsideCodeQty" align="center" label="内机数量"></el-table-column>
+          <el-table-column prop="sendOutCodeQty" align="center" label="外机数量"></el-table-column>
+          <el-table-column prop="sendPartsCodeQty" 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 align="center" prop="deliverTime" label="发货时间" min-width="160"></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>
         </div>
         <div class="pagination clearfix">
@@ -605,7 +604,7 @@ export default {
       },
       formRules: {
         isReturnOld: [{ required: true, message: '请选择是否退旧机', trigger: 'change' }],
-        storageStockId: [{ required: true, message: '请选择退货仓库', trigger: 'change' }],
+        // storageStockId: [{ required: true, message: '请选择退货仓库', trigger: 'change' }],
       },
       formType: 'add',
       formVisible: false,
@@ -635,7 +634,7 @@ export default {
       orderList: [],
       waitChooseOrder: [],
 
-      joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode === "CODE",
+      joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
     }
   },
   computed: {
@@ -689,7 +688,7 @@ export default {
             this.formData.receAddress = oData.receAddress;
             this.oldList = oData.orderOldProductDTOList;
           })
-          getOrderCodeList({orderId: dData.orderId}).then(res => {
+          getOrderCodeList({deliveryId: dData.deliveryId}).then(res => {
             this.codeList = res.data;
           })
         })
@@ -737,7 +736,7 @@ export default {
       return this.operationBtn({
         edit: {
           conditions: ({ row, index, column }) => {
-            return row.examineStatus != 'OK'
+            return row.examineStatus != 'OK' && row.examineStatus != 'FAIL'
           },
           btnType: 'text',
           click: ({ row, index, column }) => {
@@ -799,6 +798,7 @@ export default {
                 this.formData.receUserName = data.orderInfo.receUserName;
                 this.formData.recePhone = data.orderInfo.recePhone;
                 this.formData.receAddress = data.orderInfo.receAddress;
+                this.formData.deliverStorageName = data.storageName;
 
                 this.formData.remark = data.remark;
                 this.formData.fileUrl = data.fileUrls;
@@ -838,7 +838,7 @@ export default {
     formConfirm(cancel) {
       this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
         if (valid) {
-          if(!this.formData.storageStockId) return this.$errorMsg('请选择退货仓库');
+          // if(!this.formData.storageStockId) return this.$errorMsg('请选择退货仓库');
 
           salesReturnOrderSave({
             id: this.formData.id || '',
@@ -854,11 +854,11 @@ export default {
                 refundAmount: item.waitRefundPrice,
               }
             }),
-            orderOfflineItemCodes: this.joinCode ? this.codeList : [],
+            orderOfflineItemCodes: this.joinCode == 'CODE' ? this.codeList : [],
             isOld: this.formData.isReturnOld,
             ids: this.oldList.map(o => o.id),
-            storageStockId: this.formData.storageStockId,
-            storageStockName: this.storageList.find(o => o.storageId == this.formData.storageStockId).storageName,
+            storageStockId: this.formData.storageStockId || '',
+            storageStockName: this.formData.storageStockId ? this.storageList.find(o => o.storageId == this.formData.storageStockId).storageName : '',
           }).then(res => {
             this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
             cancel('list')
@@ -1020,7 +1020,7 @@ export default {
         // this.goodsList = data.orderDetails;
         this.oldList = data.orderOldProductDTOList;
 
-        getOrderCodeList({orderId: data.orderId}).then(res => {
+        getOrderCodeList({deliveryId: this.waitChooseOrder[0].deliveryId}).then(res => {
           this.codeList = res.data;
         })
 

+ 2 - 1
src/views/mallManagement/storage/index.vue

@@ -59,6 +59,7 @@ export default {
 			formType: 'add',
 			formVisible: false,
       websitList: [],
+      joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
     }
   },
   computed: {
@@ -123,7 +124,7 @@ export default {
         formItemAttributes: {
           label: '仓储属性',
           prop: 'type',
-          rules: [...required]
+          rules: this.joinCode == 'NO' ? [] : [...required]
         },
       }, {
         md: 6,

+ 2 - 2
src/views/salesPurchasing/goodsInventory/index.vue

@@ -89,9 +89,9 @@ export default {
 						this.$router.push({
 							name: 'goodsCodeMachineAccount',
 							params: {
-								pageName: row.id,
+								pageName: row.goodsMaterialId,
 								pageType: '-',
-								pageCode: row.id
+								pageCode: row.goodsMaterialId
 							},
 						})
 					}

+ 1 - 0
src/views/salesPurchasing/goodsPurchasedStored/index.vue

@@ -111,6 +111,7 @@ export default {
       activeName: 'goodsInfo',
       goods_material_id: '',
       joinCode: false,
+	  joinCodeText: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
       logs:[]
     }
   },

+ 4 - 1
src/views/salesPurchasing/merchandisePurchaseReturn/index.vue

@@ -102,11 +102,14 @@ export default {
         totalQty: '',
         venderId: '',
         venderName: '',
-        codeInfoList: []
+        codeInfoList: [],
+		storageId: '',
+		storageName: '',
       },
       activeName: 'goodsInfo',
       goods_material_id: '',
       joinCode: false,
+	  joinCodeText: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
       logs:[]
     }
   },

+ 2 - 2
src/views/salesPurchasing/mixins/common_code.js

@@ -502,14 +502,14 @@ export default {
                                 编辑
                               </el-button>
                             ) : null,
-                            <el-button
+                           <el-button
                               type="text"
                               onClick={() => {
                                 this.delCode(row, index)
                               }}
                             >
                               删除
-                            </el-button>
+                            </el-button>,
                           ]
                         : null}
                     </div>

+ 3 - 3
src/views/salesPurchasing/mixins/common_form.js

@@ -143,7 +143,7 @@ export default {
                                   this.joinCode = res.data.joinCode === "CODE"
 								  this.formData.storageId = res.data.storageId
 								  this.formData.storageName = res.data.storageName
-								  this.getWarehouseList()
+								  this.getWarehouseList(1)
                                   this.formData.items = res.data.items.map(item => ({
                                     brandId: item.brandId,
                                     brandName: item.brandName,
@@ -298,13 +298,13 @@ export default {
         })
       }
     },
-	getWarehouseList(){
+	getWarehouseList(type){
 		storageListPageV2({
           pageNum: 1,
           pageSize: -1,
           params: [{param: "a.type", compare: "like", value: "商品"},{param: "a.status", compare: "=", value: "true"}]
         }).then(res => {
-			if(JSON.parse(localStorage.getItem('greemall_user')).joinCode != "NO" && !this.formData.storageId){
+			if(JSON.parse(localStorage.getItem('greemall_user')).joinCode != "NO" && !this.formData.storageId && type){
 				this.formData.storageId = res.data.records[0].storageId
 				this.formData.storageName = res.data.records[0].storageName
 			}

+ 2 - 1
src/views/salesPurchasing/mixins/out_storage_goods.js

@@ -202,7 +202,8 @@ export default {
           }
         },
         ...(() => {
-          if (this.formDialogType < 2 && !~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)) {
+			let arr = this.joinCodeText == 'CODE'?['SAVE','WAIT', 'OK', 'FAIL']:['WAIT', 'OK', 'FAIL']
+          if (this.formDialogType < 2 && !~arr.indexOf(this.formData.status)) {
             return [
               {
                 columnAttributes: {

+ 9 - 9
src/views/salesPurchasing/mixins/storage_goods.js

@@ -466,7 +466,7 @@ export default {
                             保存
                           </el-button>
                         ) : null,
-                        this.isEditIndex == -1 ? (
+                        this.isEditIndex == -1 && (this.joinCodeText != 'CODE' ||  this.formDialogType == 0) ? (
                           <el-button
                             type="text"
                             onClick={() => {
@@ -476,14 +476,14 @@ export default {
                             编辑
                           </el-button>
                         ) : null,
-                        <el-button
-                          type="text"
-                          onClick={() => {
-                            this.delGoodsInfo(row, index)
-                          }}
-                        >
-                          删除
-                        </el-button>
+						this.joinCodeText != 'CODE' || this.formDialogType == 0 ? (<el-button
+						   type="text"
+						   onClick={() => {
+						     this.delGoodsInfo(row, index)
+						   }}
+						 >
+						   删除
+						 </el-button>) : null,
                       ]}
                     </div>
                   )

+ 2 - 2
src/views/salesPurchasing/mixins/storage_table.js

@@ -23,11 +23,11 @@ export default {
                 {this.activeName == 'goodsInfo'
                   ? [
                     !!~[0,1].indexOf(this.formDialogType) ? (
-                      <div style="margin-bottom:10px">
+                      this.joinCodeText != 'CODE' || this.formDialogType == 0?(<div style="margin-bottom:10px">
                         <el-button type="primary" onClick={this.addGoodsInfo}>
                           添加
                         </el-button>
-                      </div>
+                      </div>):null
                     ) : this.formDialogType == 1 && this.joinCode ? (
                       <div style="margin-bottom:10px">
                         <el-button type="primary" onClick={this.domlMban}>