Browse Source

Merge branch 'moss_dev' into develop

* moss_dev:
  feat:订单列表 1. 去掉发起退货入口 2. 发货可选仓库只能是仓库属性为成品仓 3. 发货时发货数量可填写 4. 发货增加发货记录并可发起退货
  feat:新增/编辑商品-增加仓库管理方式判断
  feat:仓储管理-增加仓储属性和状态
Moss 1 năm trước cách đây
mục cha
commit
5b1adf24a3

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

@@ -179,6 +179,7 @@
           <div class="addBtn">
             <el-button type="primary" size="small" @click="addSpec">添加规格</el-button>
             <el-button size="small" @click="toMaterial">去商品物料</el-button>
+            <span>注:仓库管理方式为【不管理】,无需填写规格型号,不控制库存</span>
           </div>
         </el-form-item>
 
@@ -244,6 +245,7 @@
             <el-table-column align="center" label="规格型号" prop="goodsCode" min-width="180">
               <template slot-scope="scope">
                 <el-select
+                  :disabled="joinCode == 'NO'"
                   size="small"
                   v-model="scope.row.goodsCode"
                   filterable
@@ -577,8 +579,10 @@ export default {
       tagList: [], // 标签列表
 
       showImageListUpload2: false,
-	  type: 'add',
-	  isSelectShop: false //选择商品库
+      type: 'add',
+      isSelectShop: false, //选择商品库
+
+      joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
     }
   },
 
@@ -1250,6 +1254,10 @@ export default {
   .addBtn {
     padding: 10px 0;
     margin-top: -10px;
+    span {
+      margin-left: 10px;
+      color: #f66460;
+    }
   }
 }
 

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

@@ -253,7 +253,7 @@
                           v-if="(order.orderStatus === 'NOPAY' || order.orderStatus === 'DQR') && $restrict('cancelOrder')">
                           <el-button slot="reference" type="text" size="small">取消订单</el-button>
                         </el-popconfirm>
-                        <el-button type="text" size="small" @click="returnOrder(order.orderId)" v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && $restrict('returnOrder')">发起退货</el-button>
+                        <!-- <el-button type="text" size="small" @click="returnOrder(order.orderId)" v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && $restrict('returnOrder')">发起退货</el-button> -->
                         <el-button type="text" size="small" v-if="order.orderStatus === 'DFH' && $restrict('deliver')"
                           @click="showLogistics(order, 'add')">发货</el-button>
                         <el-button type="text" size="small" v-if="order.orderStatus === 'DFH' && $restrict('changeShippingaddress')"
@@ -364,7 +364,7 @@
 						</el-col>
 						<el-col :span="6">
 							<el-form-item label="仓储" prop="storageId" v-if="logisticsType != 'edit'"
-							  :rules="[{ required: true, message: '请选择仓储', trigger: 'change' }]">
+							  :rules="joinCode == 'NO' ? [] : [{ required: true, message: '请选择仓储', trigger: 'change' }]">
 							  <el-input v-if="logisticsType == 'detail'" v-model="logisticsForm.storageName" :disabled="true" placeholder="请输入提货人"></el-input>
 							  <el-select v-else v-model="logisticsForm.storageId" placeholder="请选择仓储" style="width: 100%;">
 							    <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList"
@@ -392,11 +392,12 @@
 							<el-card class="box-card">
 								<el-tabs v-model="typeIndex" @tab-click="changeType">
 								    <el-tab-pane label="发货数量" name="1"></el-tab-pane>
-								    <el-tab-pane v-if="joinCode" label="发货条码" name="2"></el-tab-pane>
+								    <el-tab-pane v-if="joinCode == 'CODE'" label="发货条码" name="2"></el-tab-pane>
+								    <el-tab-pane label="发货记录" name="3"></el-tab-pane>
 								</el-tabs>
 								<br/>
-								<el-button size="small" v-show="typeIndex == 2 && logisticsType == 'add' && joinCode" type="primary" @click="addCode()">新增</el-button>
-								<el-button size="small" v-show="typeIndex == 1 && logisticsType == 'add' && joinCode" type="primary" @click="handleDownload('导入条码模板')">导入条码模板下载</el-button>
+								<el-button size="small" v-show="typeIndex == 2 && logisticsType == 'add' && joinCode == 'CODE'" type="primary" @click="addCode()">新增</el-button>
+								<el-button size="small" v-show="typeIndex == 1 && logisticsType == 'add' && 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">
@@ -409,10 +410,14 @@
 											<el-table-column prop="goodsMaterialSpecsName" align="center" label="规格型号"></el-table-column>
 											<el-table-column prop="goodsMaterialUnit" align="center" label="单位">
 												<template slot-scope="scope">
-													{{scope.row.goodsMaterialUnit == 'C'?'整套':scope.row.goodsMaterialUnit == 'I'?"单个":''}}
+													{{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>
@@ -420,7 +425,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="formType != 2 && joinCode && logisticsType == 'add'">
+												<template slot-scope="scope" v-if="formType != 2 && joinCode == 'CODE' && logisticsType == 'add'">
 													<el-upload
 													  action='_'
 													  :show-file-list='false'
@@ -547,6 +552,15 @@
 											</el-table-column>
 										</el-table>
 									</el-form>
+
+                  <!-- 发货记录 -->
+                  <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="brandName" align="center" label="品牌"></el-table-column>
+
+                    </el-table>
+                  </el-form>
+
 								</div>
 							</el-card>
 						</el-col>
@@ -759,9 +773,12 @@ export default {
 		formData2: {
 			list: [],
 		},
+    formData3: {
+      list: [],
+    },
 		isEdit1: 0,
 		isEdit2: 0,
-		joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode === "CODE",
+		joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
 		orderDetailId: '',
 
     printOrderId: '',

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

@@ -50,6 +50,8 @@ export default {
         storageName: '',
         storageMobile: '',
         storageAddress: '',
+        status: true,
+        type: [],
       },
 			formType: 'add',
 			formVisible: false,
@@ -96,7 +98,7 @@ export default {
           rules: [...mobile]
         }
       }, {
-        md: 6,
+        md: 12,
         isShow: true,
         name: 'el-input',
         attributes: { placeholder: '请输入' },
@@ -105,6 +107,28 @@ export default {
           prop: 'storageAddress',
           rules: []
         }
+      }, {
+        md: 6,
+        isShow: true,
+        name: 'el-checkbox',
+        options: [{value: '商品', label: '商品'}, {value: '辅材', label: '辅材'}, {value: '配件', label: '配件'}],
+        attributes: {},
+        formItemAttributes: {
+          label: '仓储属性',
+          prop: 'type',
+          rules: [...required]
+        },
+      }, {
+        md: 6,
+        isShow: true,
+        name: 'el-radio',
+        options: [{value: true, label: '启用'}, {value: false, label: '禁用'}],
+        attributes: {},
+        formItemAttributes: {
+          label: '状态',
+          prop: 'status',
+          rules: [...required]
+        },
       }]
     }
   },
@@ -162,6 +186,7 @@ export default {
     				} else if(type == 'edit'){
     					this.formDialogType = 1
     					getStorageDetail({ id }).then(res => {
+                res.data.type = res.data.type.split(',');
     					  Object.assign(this.formData, res.data)
     					})
     				}
@@ -181,7 +206,7 @@ export default {
     formConfirm(cancel) {
       this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
         if (valid) {
-          ([addStorage, editStorage][this.formDialogType])(this.formData).then(res => {
+          ([addStorage, editStorage][this.formDialogType])({...this.formData, type: this.formData.type.join(',')}).then(res => {
             this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
             cancel('list')
             this.$refs.pageRef.refreshList()