소스 검색

5月4日系统修改完成 1.0

Zhangqy 1 개월 전
부모
커밋
3e40df70c2
2개의 변경된 파일375개의 추가작업 그리고 76개의 파일을 삭제
  1. 345
    0
      src/view/ware/ordtract.vue
  2. 30
    76
      src/view/ware/storechange.vue

+ 345
- 0
src/view/ware/ordtract.vue 파일 보기

@@ -0,0 +1,345 @@
1
+<template>
2
+    <div style="text-align: left;">
3
+		<el-row>
4
+			<el-input v-model="query" size="small" placeholder="请输入查询条件" style="width :300px;float: left;"></el-input>
5
+			<el-button type="info" size="small" @click="search">查询</el-button>
6
+			<el-button type="primary" size="small" @click="handleAdd">新增</el-button>
7
+            <el-button size="small" type="primary"  @click="handleImport">导入</el-button>
8
+			<el-button size="small" type="primary" @click="handleDownload">下载模板</el-button>
9
+		</el-row>
10
+    
11
+		<el-table :data="tableData" border>
12
+			<el-table-column prop="contractNo" label="合约号" width="120">
13
+			</el-table-column>
14
+			<el-table-column prop="ordNo" label="订单号" width="120">
15
+			</el-table-column>
16
+			<el-table-column prop="payWay" label="支付方式" width="120">
17
+			</el-table-column>
18
+            <el-table-column prop="remark" label="备注信息" width="120">
19
+			</el-table-column>
20
+
21
+			<el-table-column label="操作">
22
+				<template slot-scope="scope">
23
+					<el-button size="mini" @click="handleEdit(scope.row)">编辑</el-button>
24
+					<el-button size="mini" type="danger" @click="handleDelete(scope.row.ordNo)">删除</el-button>
25
+				</template>
26
+			</el-table-column>
27
+		</el-table>
28
+
29
+		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
30
+		 :page-sizes="pageSizes" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalRows">
31
+		</el-pagination>
32
+
33
+
34
+		<el-dialog title="订单明细" :visible.sync="dialogVisible" width="500px">
35
+			<el-form :model="ordTract" label-width="100px" ref="ordTract">				
36
+				<el-form-item label="合约号">
37
+					<el-input v-model="ordTract.contractNo"></el-input>
38
+				</el-form-item>
39
+				<el-form-item label="订单号">
40
+					<el-input v-model="ordTract.ordNo"></el-input>
41
+				</el-form-item>
42
+                <el-form-item label="支付方式">
43
+                    <el-radio v-model="ordTract.payWay" label="现金">现金</el-radio>
44
+                    <el-radio v-model="ordTract.payWay" label="月付">月付</el-radio>
45
+				</el-form-item>
46
+                <el-form-item label="备注">
47
+                    <el-input v-model="ordTract.remark"></el-input>
48
+				</el-form-item>
49
+
50
+				<el-form-item>
51
+					<el-button type="success" @click="handleSave">保存</el-button>
52
+					<el-button @click="handleCancelSave">取消</el-button>
53
+				</el-form-item>
54
+			</el-form>
55
+		</el-dialog>
56
+
57
+        <el-dialog title="订单明细" :visible.sync="importDialogVisible" width="1000px">
58
+            <el-upload class="upload-demo" action="" :on-change="handleChange" :on-exceed="handleExceed" :on-remove="handleRemove"
59
+			 ref="upload" :limit="1" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
60
+			 :auto-upload="false">
61
+				<el-button slot="trigger" size="small" type="primary">选择文件</el-button>
62
+				<el-button size="small" type="success" @click="inImport" :disabled="imptAble">保存</el-button>
63
+			</el-upload>
64
+
65
+            <el-table :data="imTableData" border>
66
+				<el-table-column prop="合约号" label="合约号" width="180" show-overflow-tooltip header-align="center">
67
+				</el-table-column>
68
+				<el-table-column prop="订单号" label="订单号" width="180" show-overflow-tooltip header-align="center">
69
+				</el-table-column>
70
+				<el-table-column prop="支付方式" label="支付方式" width="180" show-overflow-tooltip header-align="center">
71
+				</el-table-column>
72
+				<el-table-column prop="备注信息" label="备注信息" width="180" show-overflow-tooltip align="center" header-align="center">
73
+				</el-table-column>
74
+			</el-table>
75
+        </el-dialog>
76
+
77
+
78
+	</div>
79
+</template>
80
+
81
+<script>
82
+    import axios from '@/axios'
83
+	import {
84
+		mapState
85
+	} from 'vuex'
86
+	export default {
87
+        data() {
88
+            return {
89
+                // 查询条件
90
+                query: '',
91
+                // 界面展示的表
92
+                tableData: [],
93
+                // 导入框中明细展示用table
94
+                imTableData:[],
95
+
96
+                // 页数分页相关的参数
97
+                currentPage: 1,
98
+				totalRows: 0,
99
+				pageSizes: [50, 100, 200,500],
100
+				pageSize: 50,
101
+
102
+                // 查询之后加载的控件
103
+                loading: true,
104
+                // 某些字段是否显示的控件
105
+                isShow: false,
106
+                // 弹出框是否显示的控件
107
+                dialogVisible: false,
108
+                importDialogVisible:false,
109
+
110
+
111
+                // 新增修改对应的类的信息
112
+                ordTract:{
113
+                    contractNo:'',
114
+                    ordNo:'',
115
+                    payWay:'',
116
+                    remark:'',
117
+                }
118
+
119
+            }
120
+        },
121
+        //界面渲染完毕调用   初始化表格参数
122
+		mounted() {
123
+		},
124
+        methods: {
125
+            // 以下程序为查询方面相关的程序
126
+            getTableData() {
127
+				var url = 'MaintOrdTract/query.do'
128
+				var param = {
129
+					page: this.currentPage,
130
+					rows: this.pageSize,
131
+					query: this.query
132
+				}
133
+				axios.get(url, param).then(response => {
134
+					if (response.data.code == 0) {
135
+						this.tableData = response.data.data.list
136
+						this.totalRows = response.data.data.total
137
+						//this.drawWareLayout()
138
+					} else {
139
+						this.$message({
140
+							type: 'error',
141
+							message: '查询失败' + response.data.msg,
142
+						});
143
+					}
144
+				});
145
+			},
146
+            search() {
147
+				this.currentPage = 1
148
+				this.getTableData()
149
+			},
150
+            handleSizeChange(val) {
151
+				console.log(`每页 ${val} 条`);
152
+				this.pageSize = val
153
+				this.getTableData()
154
+			},
155
+			// 修改当前页事件
156
+			handleCurrentChange(val) {
157
+				console.log(`当前页: ${val}`);
158
+				this.currentPage = val
159
+				this.getTableData()
160
+			},
161
+            // 点击新增按钮的操作函数
162
+            handleAdd() {
163
+                this.ordTract.ordNo= '',
164
+                this.ordTract.contract = '',
165
+                this.ordTract.remark = '',
166
+                this.ordTract.payWay='月付',
167
+                this.dialogVisible=true;
168
+            },
169
+            // 编辑按钮事件
170
+			handleEdit(row) {
171
+				var tempRow = row;
172
+				this.dialogVisible = true
173
+				this.ordTract = tempRow
174
+			},
175
+            // 信息明细弹窗里面取消按钮对应的函数
176
+            handleCancelSave(row) {
177
+				this.dialogVisible = false
178
+			},
179
+            // 弹出空中保存按钮对应的函数
180
+            handleSave() {
181
+				var tempStack = this.ordTract;
182
+				var json = JSON.stringify(tempStack)
183
+				var url = 'MaintOrdTract/save.do'
184
+				var param = {
185
+					json: json
186
+				}
187
+				axios.post(url, param).then(response => {
188
+					if (response.data.code == 0) {
189
+						this.$message({
190
+							type: 'success',
191
+							message: '保存成功!',
192
+						});
193
+						this.getTableData()
194
+						this.dialogVisible = false
195
+					} else {
196
+						this.$message({
197
+							type: 'error',
198
+							message: '保存失败:' + response.data.msg,
199
+						});
200
+					}
201
+				});
202
+			},
203
+            // 删除按钮事件
204
+			handleDelete(ordNo) {
205
+				this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
206
+					confirmButtonText: '确定',
207
+					cancelButtonText: '取消',
208
+					type: 'warning'
209
+				}).then(() => {
210
+					var url = 'MaintOrdTract/remove.do'
211
+					var param = {
212
+						ordNo: ordNo
213
+					}
214
+					axios.post(url, param).then(response => {
215
+						if (response.data.code == 0) {
216
+							this.$message({
217
+								type: 'success',
218
+								message: '删除成功!',
219
+							});
220
+							this.getTableData()
221
+						} else {
222
+							this.$message({
223
+								type: 'error',
224
+								message: '删除失败;' + response.data.msg
225
+							});
226
+						}
227
+					});
228
+				}).catch(() => {
229
+					this.$message({
230
+						type: 'info',
231
+						message: '已取消删除'
232
+					});
233
+				});
234
+			},
235
+            // 点击导入按钮对应的函数
236
+            handleImport() {
237
+				this.importDialogVisible = true
238
+			},
239
+            // 点击下载模板对应的函数
240
+            handleDownload() {
241
+				window.open(this.serverName.substr(0, this.serverName.lastIndexOf('/', this.serverName.lastIndexOf('/') - 1)) +
242
+					'/importOrd.xls')
243
+			},
244
+            // 文件导入会用到的函数
245
+            handleExceed(file, fileList) {},
246
+			handleChange(file, fileList) {
247
+				this.fileTemp = file.raw
248
+				if (this.fileTemp) {
249
+					if ((this.fileTemp.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') || (this.fileTemp.type ==
250
+							'application/vnd.ms-excel')) {
251
+						this.importfxx(this.fileTemp)
252
+					} else {
253
+						this.$message({
254
+							type: 'warning',
255
+							message: '附件格式错误,请删除后重新上传!'
256
+						})
257
+					}
258
+				} else {
259
+					this.$message({
260
+						type: 'warning',
261
+						message: '请上传附件!'
262
+					})
263
+				}
264
+
265
+			},
266
+			handleRemove(file, fileList) {
267
+				this.fileTemp = null;
268
+				this.imTableData = [];
269
+			},
270
+            importfxx(obj) {
271
+				let _this = this;
272
+				// 通过DOM取文件数据
273
+				this.file = obj
274
+				var rABS = false; //是否将文件读取为二进制字符串
275
+				var f = this.file;
276
+				var reader = new FileReader();
277
+				//if (!FileReader.prototype.readAsBinaryString) {
278
+				FileReader.prototype.readAsBinaryString = function(f) {
279
+					var binary = "";
280
+					var rABS = false; //是否将文件读取为二进制字符串
281
+					var pt = this;
282
+					var wb; //读取完成的数据
283
+					var outdata;
284
+					var reader = new FileReader();
285
+					reader.onload = function(e) {
286
+						var bytes = new Uint8Array(reader.result);
287
+						var length = bytes.byteLength;
288
+						for (var i = 0; i < length; i++) {
289
+							binary += String.fromCharCode(bytes[i]);
290
+						}
291
+						var XLSX = require('xlsx');
292
+						if (rABS) {
293
+							wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
294
+								type: 'base64'
295
+							});
296
+						} else {
297
+							wb = XLSX.read(binary, {
298
+								type: 'binary'
299
+							});
300
+						}
301
+						outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); //outdata就是你想要的东西
302
+						// console.log(JSON.stringify(outdata))
303
+						_this.imTableData = outdata
304
+					}
305
+					reader.readAsArrayBuffer(f);
306
+				}
307
+
308
+				if (rABS) {
309
+					reader.readAsArrayBuffer(f);
310
+				} else {
311
+					reader.readAsBinaryString(f);
312
+				}
313
+			},
314
+
315
+            inImport() {
316
+				var url = 'MaintOrdTract/inImport.do'
317
+				var json = JSON.stringify(this.imTableData)
318
+				var param = {
319
+					json: json
320
+				}
321
+				this.imptAble = true;
322
+				// console.log(json)
323
+				axios.post(url, param).then(response => {
324
+					if (response.data.code == '0') {
325
+						this.$message({
326
+							type: 'success',
327
+							message: '保存成功!',
328
+						});
329
+						this.importDialogVisible = false
330
+						this.imTableData = []
331
+						this.fileTemp = null
332
+                        this.getTableData()
333
+					} else {
334
+						this.$message({
335
+							type: 'error',
336
+							message: '保存失败!' + response.data.msg
337
+						});
338
+
339
+					}
340
+					this.imptAble = false;
341
+				});
342
+			},
343
+        }
344
+	}
345
+</script>

+ 30
- 76
src/view/ware/storechange.vue 파일 보기

@@ -34,16 +34,8 @@
34 34
 					<el-form-item label="" style="margin-top: 0px;margin-left: 10px">
35 35
 						<el-button @click="handleSearch" size="small"  type="primary">查询</el-button>
36 36
 						<el-button @click="showChangeCustomer" size="small"  type="primary">货权转移</el-button>
37
-						<!-- <el-button size="medium" type="primary" @click="handleImport">导入</el-button>
38
-						<el-button size="medium" type="primary" @click="handleDownload">下载模板</el-button>
39
-						<el-button size="medium" type="success" @click="showIn">入库</el-button>
40
-						<el-button size="medium" type="danger" @click="handleInBack">取消入库</el-button> -->
41 37
 						<el-button type="primary" size="small"  @click="showDistribution">配货</el-button>
42 38
 					</el-form-item>
43
-						<!-- <el-button type="primary" @click="showOut">出库</el-button> -->
44
-					<!-- 	<el-form-item label=" ">
45
-						<el-button @click="showChangeAddress" type="primary">修改地址</el-button>
46
-					</el-form-item> -->
47 39
 				</el-row>
48 40
 				
49 41
 			</el-form>
@@ -51,35 +43,55 @@
51 43
 		<div class="tabledata-grid">
52 44
 			<el-table :data="tableData" height="100%"   border style="width: 97%;" v-loading="loading" ref="multipleTable"	@select="handleTableSelect"	 @selection-change="handleSelectionChange" @select-all = "selectAll">
53 45
 				<el-table-column type="selection" width="40" header-align="center" align="center"></el-table-column>
54
-				<el-table-column prop="layer" label="层数" width="60" show-overflow-tooltip header-align="center" align="center">
46
+				<el-table-column prop="ware.name" label="仓库名称" width="120" show-overflow-tooltip header-align="center" align="center">
55 47
 				</el-table-column>
56 48
 				<el-table-column prop="stack.name" label="垛位" width="60" show-overflow-tooltip header-align="center" align="center">
57 49
 				</el-table-column>
58
-				<el-table-column prop="material.name" label="物料" width="100" show-overflow-tooltip header-align="center" align="center">
50
+				<el-table-column prop="layer" label="层数" width="60" show-overflow-tooltip header-align="center" align="center">
51
+				</el-table-column>
52
+				<el-table-column prop="material.name" label="品名" width="100" show-overflow-tooltip header-align="center" align="center">
59 53
 				</el-table-column>
60 54
 				<el-table-column prop="material.standard" label="钢种" width="100" show-overflow-tooltip header-align="center" align="center">
61 55
 				</el-table-column>
62
-				<el-table-column prop="plateNo" label="钢板号" width="200" show-overflow-tooltip header-align="center">
56
+				<el-table-column prop="plateNo" label="产品编号" width="200" show-overflow-tooltip header-align="center">
57
+				</el-table-column>
58
+				<el-table-column prop="ordNo" label="订单号" width="200" show-overflow-tooltip header-align="center">
63 59
 				</el-table-column>
64 60
 				<el-table-column prop="model" label="规格型号" width="160" show-overflow-tooltip header-align="center" align="center">
65 61
 				</el-table-column>
62
+				<el-table-column prop="weight" label="重量" width="120" show-overflow-tooltip align="right" header-align="center">
63
+				</el-table-column>
66 64
 				<el-table-column prop="count" label="数量" width="120" show-overflow-tooltip align="right" header-align="center">
67 65
 				</el-table-column>
68
-				<el-table-column prop="weight" label="重量" width="120" show-overflow-tooltip align="right" header-align="center">
66
+				<el-table-column prop="contractNo" label="合约号" width="120" show-overflow-tooltip align="right" header-align="center">
69 67
 				</el-table-column>
70
-				<el-table-column prop="customer.name" label="客户" width="300" show-overflow-tooltip header-align="center">
68
+				<el-table-column prop="carNo" label="入库车号" width="120px" show-overflow-tooltip align="left">
71 69
 				</el-table-column>
72
-				<el-table-column prop="receiveAddress" label="收货地址" width="300" show-overflow-tooltip header-align="center">
70
+				<el-table-column prop="addTime" label="入库时间" width="200px" show-overflow-tooltip align="left">
73 71
 				</el-table-column>
74
-				 <el-table-column prop="wgtDcnMtcCd" label="计量方式" width="100" show-overflow-tooltip header-align="center">
72
+				<el-table-column prop="fkCustomerName" label="货权单位" width="300" show-overflow-tooltip header-align="center">
75 73
 				</el-table-column>
76
-				<el-table-column prop="edgeTy" label="切边类型" width="100" show-overflow-tooltip header-align="center">
74
+				<el-table-column prop="customer.name" label="客户名称" width="300" show-overflow-tooltip header-align="center">
75
+				</el-table-column>
76
+				<el-table-column prop="receiveAddress" label="收货地址" width="300" show-overflow-tooltip header-align="center">
77 77
 				</el-table-column>
78 78
 				<el-table-column prop="productionPlace" label="产地" width="250" show-overflow-tooltip header-align="center">
79 79
 				</el-table-column>
80
+				<el-table-column prop="packNo" label="捆包号" width="180" show-overflow-tooltip header-align="center">
81
+				</el-table-column>
80 82
 				<el-table-column prop="remark" label="备注" width="150" show-overflow-tooltip header-align="center">
81 83
 				</el-table-column>
82
-				<el-table-column prop="addTime" label="入库时间" width="200" show-overflow-tooltip header-align="center">
84
+				<el-table-column prop="lockFlag" label="锁定状态" width="200" show-overflow-tooltip header-align="center">
85
+				</el-table-column>
86
+				<el-table-column prop="addUser.userDesc" label="入库操作人" width="120px" show-overflow-tooltip align="left">
87
+				</el-table-column>
88
+				<el-table-column prop="tallyPeople" label="吊装工" width="100" show-overflow-tooltip header-align="center">
89
+				</el-table-column>
90
+				<el-table-column prop="wgtDcnMtcCd" label="计量方式" width="100" show-overflow-tooltip header-align="center">
91
+				</el-table-column>
92
+				<el-table-column prop="" label="月付方式" width="100" show-overflow-tooltip header-align="center">
93
+				</el-table-column>
94
+				<el-table-column prop="inwareDay" label="存储天数" width="100" show-overflow-tooltip header-align="center">
83 95
 				</el-table-column>
84 96
 			</el-table>
85 97
 			<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
@@ -174,20 +186,8 @@
174 186
 			PopupIn,
175 187
 		},
176 188
 		computed: {
177
-			// splitCount: function() {
178
-			// 	let result = Number(this.split.originalCount) - Number(this.split.count)
179
-			// 	return result
180
-			// },
181
-			// splitWeight: function() {
182
-			// 	let result = Number(this.split.originalWeight) - Number(this.split.weight)
183
-			// 	return result
184
-			// },
185 189
 			...mapState({
186 190
 				serverName: state => state.app.serverName,
187
-				// wareBackgroundColor: state => state.color.wareBackgroundColor,
188
-				// stackColor: state => state.color.stackColor,
189
-				// stackSelectedColor: state => state.color.stackSelectedColor,
190
-				// lockColor: state => state.color.lockColor,
191 191
 			})
192 192
 		},
193 193
 		data() {
@@ -278,20 +278,6 @@
278 278
 					'/import.xls')
279 279
 			},
280 280
 			showIn() {
281
-				// if (this.query.wareId == '') {
282
-				// 	this.$message({
283
-				// 		type: 'error',
284
-				// 		message: '请选择入库库房'
285
-				// 	});
286
-				// 	return
287
-				// }
288
-				// if (this.query.stackId == '') {
289
-				// 	this.$message({
290
-				// 		type: 'error',
291
-				// 		message: '请选择入库垛位'
292
-				// 	});
293
-				// 	return
294
-				// }
295 281
 				this.$refs.PopupIn.show()
296 282
 			},
297 283
 			handleInBack() {
@@ -418,23 +404,6 @@
418 404
 			},
419 405
 
420 406
 			handleCustomerSave() {
421
-
422
-				// 				var boolean = true
423
-				// 				for (var i = 0; i < this.multipleSelection.length; i++) {
424
-				// 					if (this.multipleSelection[i].customer.name == this.newCustomer.name) {
425
-				// 						boolean = boolean && false
426
-				// 						break
427
-				// 					}
428
-				// 				}
429
-				// 				if (!boolean) {
430
-				// 					this.$message({
431
-				// 						type: 'error',
432
-				// 						message: '转移客户与原客户相同!',
433
-				// 					});
434
-				// 					return
435
-				// 				} 
436
-				// 
437
-
438 407
 				var url = 'WareChange/changeCustomer.do'
439 408
 				var param = {
440 409
 					json: JSON.stringify(this.multipleSelection),
@@ -606,17 +575,9 @@
606 575
 			handleTableSelect(selection, row) {  //第一个参数是目前所有选中的数据
607 576
 				console.log(JSON.stringify(row))
608 577
 				if (row.lockFlag == '1') {
609
-					// this.$message({
610
-					// 	type: 'error',
611
-					// 	message: '该行已被配货锁定',
612
-					// });
613 578
 					alert("该行已被配货锁定")
614 579
 					this.toggleSelection([row], false)
615
-					// for(let i = 0;i<selection.length;i++){
616
-					//  if(selection[i]==row){
617
-					// 	 selection.splice(i,1)
618
-					//  }
619
-					// }
580
+
620 581
 				} else {
621 582
 					this.selectRows = selection
622 583
 					this.setLayerColor()
@@ -625,13 +586,6 @@
625 586
 			selectAll(selection){
626 587
 				this.selectRows = selection;
627 588
 			}
628
-
629
-			//showChangeAddress() {},
630
-			// handleAddressSave() {
631
-			// },
632
-			// handleAddressCancelSave() {
633
-			// 	this.addressDialogVisible = false
634
-			// },
635 589
 		},
636 590
 	}
637 591
 </script>

Loading…
취소
저장