Przeglądaj źródła

Merge branch 'master' of zyh/kmall-haikong into master

lhm 3 lat temu
rodzic
commit
0feaace6af

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/haikong/StockChangeServiceImpl.java

@@ -151,6 +151,11 @@ public class StockChangeServiceImpl implements StockChangeService {
             Integer storeId = stockChangeDto.getStoreId();
             StoreEntity storeEntity = storeService.queryObject(storeId);
             String type = stockChangeDto.getType();
+            List<StockChangeEntity> stockChangeEntities = stockChangeDao.queryListByIds(id);
+            if (!stockChangeEntities.isEmpty()){
+                log.info("工单号已存在:{}",id);
+                throw new RRException("工单号已存在!");
+            }
             if (StringUtils.isEmpty(id)) {
                 log.error("导入出入库单时,出入库单单号为空!");
                 throw new RRException("出入库单单号不能为空!");

+ 17 - 9
kmall-admin/src/main/webapp/WEB-INF/page/shop/stockchange.html

@@ -73,26 +73,34 @@
             <Form-item label="单号" prop="stockChangeId">
                 <i-input v-model="stockChange.id" placeholder="单号"/>
             </Form-item>
-            <Form-item label="出、入库类型,0:普通入库 1:调拨入库 2:销售出库 3:普通出库 4:调拨出库" prop="type">
+            <Form-item label="出,入库类型" prop="type">
                 <i-select v-model="stockChange.type" placeholder="出、入库类型,0:普通入库 1:调拨入库 2:销售出库 3:普通出库 4:调拨出库" filterable label-in-value>
                     <i-option v-for="stockChangeType in stockChangeTypes" :value="stockChangeType.value"
                               :key="stockChangeType.id">{{stockChangeType.name}}
                     </i-option>
                 </i-select>
             </Form-item>
-            <Form-item label="出入库时间" prop="time">
+            <Form-item label="出,入库时间" prop="time">
                 <i-input v-model="stockChange.time" placeholder="出、入库时间" type="datetime-local"/>
             </Form-item>
-            <Form-item label="商户编号" prop="merchSn">
-                <i-input v-model="stockChange.merchSn" placeholder="商户编号" />
+
+            <Form-item label="商户" prop="merchSn">
+                <i-select v-model="stockChange.merchSn" filterable placeholder="商户" @on-change="changeMerch" label-in-value>
+                    <i-option v-for="merch in merchList" :value="merch.merchSn" :key="merch.merchSn">{{merch.merchName}}</i-option>
+                </i-select>
             </Form-item>
-            <Form-item label="门店id" prop="storeId">
-                <i-input v-model="stockChange.storeId" placeholder="门店id"/>
+            <Form-item label="第三方商户" prop="thirdMerchSn">
+                <i-select v-model="stockChange.thirdMerchSn" filterable placeholder="第三方商户" @on-change="changeThirdMerchantBiz" label-in-value>
+                    <i-option v-for="thirdMerchant in thirdMerchantBizList" :value="thirdMerchant.thirdPartyMerchCode"
+                              :key="thirdMerchant.thirdPartyMerchCode">{{thirdMerchant.thirdPartyMerchName}}</i-option>
+                </i-select>
             </Form-item>
-            <Form-item label="第三方商户代码" prop="thirdMerchSn">
-                <i-input v-model="stockChange.thirdMerchSn" placeholder="第三方商户"/>
+            <Form-item label="门店" prop="storeId">
+                <i-select v-model="stockChange.storeId" filterable placeholder="门店" label-in-value>
+                    <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}</i-option>
+                </i-select>
             </Form-item>
-            <Form-item label="审核状态,0:待审核 1:审核成功 2:审核拒绝" prop="audit">
+            <Form-item label="审核状态" prop="audit">
                 <i-select v-model="stockChange.audit" placeholder="审核状态" filterable label-in-value >
                     <i-option v-for="stockChangeAudit in stockChangeAudits" :value="stockChangeAudit.value"
                               :key="stockChangeAudit.id">{{stockChangeAudit.name}}

+ 41 - 4
kmall-admin/src/main/webapp/js/shop/stockchange.js

@@ -3,7 +3,10 @@ $(function () {
         url: '../stockchange/list',
         datatype: "json",
         colModel: [
-			{label: '单号', name: 'id', index: 'id', key: true, width: 80, align: 'center'},
+			{label: '单号', name: 'id', index: 'id', key: true, width: 80, align: 'center',formatter: function (value){
+				return "<a onClick='vm.stockChangeRecordByOrderId("+value+")' className='small-box-footer'>"+value+"</a>"
+
+			}},
 			{label: '类型', name: 'type', index: 'type', width: 80, align: 'center', formatter: function (value) {
 				if (value == '0') {
 					return '普通入库';
@@ -94,7 +97,10 @@ let vm = new Vue({
 		stores:[],
 		stockChangeTypes:[],
 		stockChangeAudits:[],
-		saveOrUpdateState:true
+		saveOrUpdateState:true,
+		merchList: {},//商户
+		thirdMerchantBizList: {},//第三方商户
+		storeList: {},//门店
 	},
 	methods: {
 		query: function () {
@@ -105,6 +111,7 @@ let vm = new Vue({
 			vm.title = "新增";
 			vm.stockChange = {};
 			vm.saveOrUpdateState=true;
+			vm.getMerchList();
 		},
 		update: function (event) {
 			vm.saveOrUpdateState=false;
@@ -115,10 +122,11 @@ let vm = new Vue({
 			}
 			vm.showList = false;
             vm.title = "修改";
-
+			vm.getMerchList();
             vm.getInfo(id)
 		},
 		saveOrUpdate: function (event) {
+
             let url = vm.saveOrUpdateState ? "../stockchange/save" : "../stockchange/update";
 			var time = vm.stockChange.time;
 			vm.stockChange.time = vm.timeFommater(vm.stockChange.time);
@@ -264,7 +272,36 @@ let vm = new Vue({
 			var dateee = new Date(value).toJSON();
 			var date = new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
 			return date;
-		}
+		},
+		getMerchList: function() {
+			$.get("../merch/queryAll", function (r) {
+				vm.merchList = r.list;
+			});
+		},
+		getThirdMerchantBizList: function(merchSn) {
+			$.get("../thirdmerchantbiz/queryAll?merchSn=" + merchSn, function (r) {
+				vm.thirdMerchantBizList = r.list;
+			});
+		},
+		changeThirdMerchantBiz: function (opt) {
+			var value = opt.value;
+			$.get("../store/getStoresByThirdMerch?thirdPartyMerchCode=" + value, function (r) {
+				vm.storeList = r.list;
+			});
+		},
+		changeMerch: function(opt) {
+			var value = opt.value;
+			vm.getThirdMerchantBizList(value);
+		},
+		stockChangeRecordByOrderId: function (value) {
+			openWindow({
+				top: true,
+				type: 2,
+				title: '出入库单记录',
+				area: ['90%', '95%'],
+				content: '../shop/stockchangerecord.html?orderId='+value
+			});
+		},
 	},
 	mounted() {
 		// this.uploadList = this.$refs.upload.fileList;

+ 6 - 1
kmall-admin/src/main/webapp/js/shop/stockchangerecord.js

@@ -1,6 +1,11 @@
 $(function () {
+	let orderId = getQueryString("orderId");
+	let url = '../stockchangerecord/list?1';
+	if (orderId) {
+		url += '&parentId=' + orderId;
+	}
     $("#jqGrid").jqGrid({
-        url: '../stockchangerecord/list',
+        url: url,
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},