Переглянути джерело

5月2日系统修改完成 1.0

Zhangqy 1 місяць тому
джерело
коміт
3ab66821c8

+ 33
- 20
doc/仓库管理系统操作手册.docx Переглянути файл

@@ -1,28 +1,28 @@
1 1
 仓库管理系统操作手册
2
-1 基础信息
2
+ 1 基础信息
3 3
  客户名称管理
4
-
4
+ 
5 5
  新增、修改客户明细
6
-点击界面上"新增"按钮,或者点击每行的"修改"按钮,弹出客户明细录入框
7
-
8
-填入基本信息,客户名称和客户简称为必填项
9
-
10
-确认无误之后点击"保存"即可完成操作。后台会进行数据操作,如果数据没有问题的话会弹出"保存成功"的提示信息。
11
-
12
-如果维护的"客户名称"或者"客户简称"有已存在的会有保存失败提示。
13
-
14
-如果没有维护"客户名称"和"客户简称"的话,会有必须维护的提示。
15
-
16
-
17
-注意说明,该处的信息维护如果进行修改,出入库记录以及库存记录相关的内容也将同步变化,请修改操作谨慎使用。
6
+ 点击界面上"新增"按钮,或者点击每行的"修改"按钮,弹出客户明细录入框
7
+ 
8
+ 填入基本信息,客户名称和客户简称为必填项
9
+ 
10
+ 确认无误之后点击"保存"即可完成操作。后台会进行数据操作,如果数据没有问题的话会弹出"保存成功"的提示信息。
11
+ 
12
+ 如果维护的"客户名称"或者"客户简称"有已存在的会有保存失败提示。
13
+ 
14
+ 如果没有维护"客户名称"和"客户简称"的话,会有必须维护的提示。
15
+ 
16
+ 
17
+ 注意说明,该处的信息维护如果进行修改,出入库记录以及库存记录相关的内容也将同步变化,请修改操作谨慎使用。
18 18
  删除操作
19
-点击需要删除的信息行后面的"删除"按钮
20
-
21
-在弹出框中进行二次确认之后便可将信息删除
22
-
23
-注意说明,该地方删除操作并不会影响到正常使用。
19
+ 点击需要删除的信息行后面的"删除"按钮
20
+ 
21
+ 在弹出框中进行二次确认之后便可将信息删除
22
+ 
23
+ 注意说明,该地方删除操作并不会影响到正常使用。
24 24
  物料管理
25
-
25
+ 
26 26
  新增、修改物料明细
27 27
  点击界面上"新增"按钮,或者点击每行的"修改"按钮,弹出物料明细录入框
28 28
  
@@ -42,4 +42,17 @@
42 42
  
43 43
  注意说明,该地方删除操作并不会影响到正常使用。
44 44
  价格管理
45
+ 
46
+ 新增、修改价格信息
47
+点击界面上"新增"按钮,或者点击每行的"修改"按钮,弹出价格明细录入框
48
+
49
+填如信息之后点击保存即可,"客户名称"的下拉框可以通过输入关键内容来筛选。
50
+
51
+ 确认无误之后点击"保存"即可完成操作。后台会进行数据操作,如果数据没有问题的话会弹出"保存成功"的提示信息。
52
+
53
+该客户如果已经维护了将会提示保存失败的信息
45 54
 
55
+注意说明,修改的信息不会影响在修改之前入库的钢板信息,
56
+价格计算公式:在库时间:出库时间 - 入库时间 的天数(该天数只要开始就算1天,举例,前一天下午5点入库,第二天早上7点出库计算出的时间为1天)
57
+在库时间小于免堆时间用的是免堆期价格,大于免堆时间用到的是超期价格,
58
+材料在库期间进行信息修改的话,将不影响材料入库的时候使用的配置信息,举例说明,一个客户最开始维护的信息为免堆期20天,免堆期价格12元,超期价格15元,该材料入库之后第10天的时候修改价格信息为免堆期15天,免堆其价格10元,超期价格15元,此时该材料的计算时用到的配置还是"免堆期20天,免堆期价格12元,超期价格15元"。

+ 66
- 42
src/view/maint/price.vue Переглянути файл

@@ -2,21 +2,30 @@
2 2
 	<div>
3 3
 		<el-row>
4 4
 			<el-form :model="query" label-width="100px" inline="">
5
-				
6
-				<el-button type="info" @click="search" size="small">查询</el-button>
7
-				<el-button type="primary" @click="handleAdd" size="small">新增</el-button>
5
+				<el-form-item label="客户名称" >
6
+					<el-select v-model="query.customerName" filterable placeholder="请选择订单客户" clearable size="small">
7
+						<el-option v-for="item in optionsCust" :key="item.name" :label="item.name" :value="item.name" >
8
+						</el-option>
9
+					</el-select>
10
+				</el-form-item>
11
+				<el-form-item>
12
+					<el-button type="info" @click="search" size="small">查询</el-button>
13
+					<el-button type="primary" @click="handleAdd" size="small">新增</el-button>
14
+				</el-form-item>
8 15
 			</el-form>
9 16
 		</el-row>
10 17
 
11 18
 		<el-table v-loading="loading" :data="tableData" border>
12 19
 			<el-table-column prop="id" label="编号" width="60" v-if="isShow"></el-table-column>
13
-			<el-table-column prop="material.name" label="物料" width="180" show-overflow-tooltip ></el-table-column>
20
+			<!-- <el-table-column prop="material.name" label="物料" width="180" show-overflow-tooltip ></el-table-column>
14 21
 			<el-table-column prop="material.standard" label="钢种" width="180" show-overflow-tooltip ></el-table-column>
15
-			<el-table-column prop="storageType" label="类型" width="180" show-overflow-tooltip align="center" :formatter="typeFormatter"></el-table-column>
16
-			<el-table-column prop="storagePrice" label="价格" width="100" show-overflow-tooltip align="right"></el-table-column>
17
-				<el-table-column prop="weightPrice" label="价格" width="100" show-overflow-tooltip align="right"></el-table-column>
18
-			<el-table-column prop="addUser.userDesc" label="添加人" width="120" show-overflow-tooltip ></el-table-column>
19
-			<el-table-column prop="addTime" label="添加时间" width="200" show-overflow-tooltip ></el-table-column>
22
+			<el-table-column prop="storageType" label="类型" width="180" show-overflow-tooltip align="center" :formatter="typeFormatter"></el-table-column> -->
23
+			<el-table-column prop="customer.name" 		label="客户名称" 	width="180" show-overflow-tooltip ></el-table-column>
24
+			<el-table-column prop="keepDay" 			label="免堆时间(天)" 	width="200" show-overflow-tooltip ></el-table-column>
25
+			<el-table-column prop="ordPrice" 			label="免堆期价格(元/吨)" 	width="200" show-overflow-tooltip align="right"></el-table-column>
26
+			<el-table-column prop="outOrdPrice" 		label="超期价格(元/吨)" 	width="200" show-overflow-tooltip align="right"></el-table-column>
27
+			<el-table-column prop="addUser.userDesc" 	label="添加人" 		width="120" show-overflow-tooltip ></el-table-column>
28
+			<el-table-column prop="addTime" 			label="添加时间" 	width="200" show-overflow-tooltip ></el-table-column>
20 29
 			<el-table-column label="操作" width="200">
21 30
 				<template slot-scope="scope">
22 31
 					<!-- 编辑、删除向后台传参数时,传整行数据row  删除时id=row.id -->
@@ -33,32 +42,25 @@
33 42
 
34 43
 		<!-- 弹出框  另起名字  var json = JSON.stringify(this.自己起的名字)
35 44
         var url = 后台对应的url 'MaintPrice/save.do' -->
36
-		<el-dialog title="物料明细" :visible.sync="dialogVisible" width="500px">
45
+		<el-dialog title="价格明细" :visible.sync="dialogVisible" width="500px">
37 46
 			<el-form :model="obj" label-width="100px">
38 47
 				<el-form-item label="id" v-if="isShow">
39 48
 					<el-input v-model="obj.id"></el-input>
40 49
 				</el-form-item>
41
-				<el-form-item label="物料">
42
-					<el-input v-model="obj.material.name" style="width: 300px;">
43
-						<el-button slot="append" icon="el-icon-search" @click="showMaterialDialog"></el-button>
44
-					</el-input>
45
-				</el-form-item>
46
-				<el-form-item label="钢种">
47
-					<el-input v-model="obj.material.standard" style="width: 300px;">
48
-						<el-button slot="append" icon="el-icon-search" @click="showMaterialDialog"></el-button>
49
-					</el-input>
50
-				</el-form-item>
51
-				<el-form-item label="类型">
52
-					<el-select v-model="obj.storageType" placeholder="请选择" style="width: 300px;">
53
-						<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
50
+				<el-form-item label="客户名称">
51
+					<el-select v-model="obj.customer.id" filterable placeholder="请选择订单客户" clearable style="width: 300px;">
52
+						<el-option v-for="item in optionsCust" :key="item.name" :label="item.name" :value="item.id" >
54 53
 						</el-option>
55 54
 					</el-select>
56 55
 				</el-form-item>
57
-				<el-form-item label="库存单价">
58
-					<el-input v-model="obj.storagePrice" style="width: 300px;"></el-input>
56
+				<el-form-item label="免堆时间">
57
+					<el-input v-model="obj.keepDay" type="number" style="width: 300px;"></el-input>
58
+				</el-form-item>
59
+				<el-form-item label="免堆期价格">
60
+					<el-input v-model="obj.ordPrice" type="number" style="width: 300px;"></el-input>
59 61
 				</el-form-item>
60
-				<el-form-item label="过磅单价">
61
-					<el-input v-model="obj.weightPrice" style="width: 300px;"></el-input>
62
+				<el-form-item label="超期价格">
63
+					<el-input v-model="obj.outOrdPrice" type="number" style="width: 300px;"></el-input>
62 64
 				</el-form-item>
63 65
 				<el-form-item>
64 66
 					<el-button type="success" @click="handleSave">保存</el-button>
@@ -95,29 +97,30 @@
95 97
 				pageSize: 50,
96 98
 				//查询条件
97 99
 				query: {
98
-					material: '',
99
-					standard: '',
100
+					customerName: '',
100 101
 				},
101 102
 				//录入框
102 103
 				dialogVisible: false,
103 104
 				isShow: false,
104 105
 				loading: true,
105 106
 				obj: {
106
-					material: {
107
+					id:'',
108
+					customer: {
107 109
 						id: '',
108 110
 						name: '',
109
-						standard: '',
110 111
 					},
111
-					storagePrice: '',
112
-					storageType: '',
113
-					weightType: '',
112
+					keepDay: '',
113
+					ordPrice: '',
114
+					outOrdPrice: '',
114 115
 				},
116
+				optionsCust: [],
115 117
 
116 118
 			}
117 119
 		},
118 120
 		//界面渲染完毕调用   初始化表格参数
119 121
 		mounted() {
120 122
 			this.getTableData()
123
+			this.getAllCustomer()
121 124
 		},
122 125
 		methods: {
123 126
 			typeFormatter: function(row, column) {
@@ -130,6 +133,14 @@
130 133
 						break;
131 134
 				}
132 135
 			},
136
+
137
+			getAllCustomer() {
138
+				var url = 'MaintCustomer/queryByUserId.do'
139
+				var param = {}
140
+				axios.get(url, param).then(response => {
141
+					this.optionsCust = response.data.data
142
+				});
143
+			},
133 144
 			
134 145
 			showMaterial() {
135 146
 				this.$refs.PopupMaterial.show()
@@ -152,8 +163,7 @@
152 163
 				var param = {
153 164
 					page: this.currentPage,
154 165
 					rows: this.pageSize,
155
-					materialName: this.query.material,
156
-					standard: this.query.standard,
166
+					customerName: this.query.customerName,
157 167
 				}
158 168
 				axios.get(url, param).then(response => {
159 169
 					if (response.data.code == 0) {
@@ -189,7 +199,7 @@
189 199
 					json: json
190 200
 				}
191 201
 				axios.post(url, param).then(response => {
192
-					alert(JSON.stringify(response))
202
+					console.log(response)
193 203
 					if (response.data.code == 0) {
194 204
 						this.$message({
195 205
 							type: 'success',
@@ -200,7 +210,7 @@
200 210
 					} else {
201 211
 						this.$message({
202 212
 							type: 'error',
203
-							message: '保存失败:' + response.data,
213
+							message: '保存失败:' + response.data.msg,
204 214
 						});
205 215
 					}
206 216
 					// loading.close();
@@ -217,13 +227,14 @@
217 227
 			handleAdd() {
218 228
 				this.dialogVisible = true
219 229
 				this.obj = {
220
-					material: {
230
+					id:'',
231
+					customer: {
221 232
 						id: '',
222 233
 						name: '',
223
-						standard: '',
224 234
 					},
225
-					storagePrice: '',
226
-					storageType: '',
235
+					keepDay: '',
236
+					ordPrice: '',
237
+					outOrdPrice: '',
227 238
 				}
228 239
 
229 240
 			},
@@ -274,3 +285,16 @@
274 285
 		}
275 286
 	}
276 287
 </script>
288
+<style>
289
+	.el-table .warning-row {
290
+		background: #F08080;
291
+	}
292
+
293
+	.el-select-dropdown .el-scrollbar .el-scrollbar__wrap
294
+    {
295
+        overflow: scroll!important;
296
+    }
297
+	.el-upload-list__item-name{
298
+		background-color: #9f9;
299
+	}
300
+</style>

+ 1
- 1
src/view/maint/userware.vue Переглянути файл

@@ -16,7 +16,7 @@
16 16
 			</el-pagination>
17 17
 		</el-col>
18 18
 		<el-col :span="12">
19
-			<el-transfer v-model="value" :data="data" @change="change"></el-transfer>
19
+			<el-transfer v-model="value" :data="data" @change="change" :titles="['未分配', '已分配']"></el-transfer>
20 20
 		</el-col>
21 21
 	</el-row>
22 22
 </template>

+ 117
- 0
src/view/ware/InStore.vue Переглянути файл

@@ -0,0 +1,117 @@
1
+<template>
2
+    <div>
3
+        <el-upload class="upload-demo" action="" :on-change="handleChange" :on-exceed="handleExceed" :on-remove="handleRemove"
4
+		ref="upload" :limit="1" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
5
+		:auto-upload="false">
6
+		    <el-button slot="trigger" size="small" type="primary">选择文件</el-button>
7
+            <el-button size="small" type="primary" @click="handleDownload">下载模板</el-button>
8
+			<el-button size="small" type="success" @click="inImport">保存</el-button>
9
+		</el-upload>
10
+        
11
+        <el-table :data="imTableData" border>
12
+			<el-table-column prop="仓库名称" label="仓库名称" width="100" show-overflow-tooltip header-align="center">
13
+			</el-table-column>
14
+			<el-table-column prop="垛位号" label="垛位号" width="120" show-overflow-tooltip header-align="center">
15
+			</el-table-column>
16
+            <el-table-column prop="层号" label="层号" width="60" show-overflow-tooltip header-align="center">
17
+            </el-table-column>
18
+            <el-table-column prop="品名" label="品名" width="120" show-overflow-tooltip align="center" header-align="center">
19
+            </el-table-column>
20
+            <el-table-column prop="钢种" label="钢种" width="120" show-overflow-tooltip align="center" header-align="center">
21
+            </el-table-column>
22
+            <el-table-column prop="产品编号" label="产品编号" width="200" show-overflow-tooltip header-align="center">
23
+            </el-table-column>
24
+            <el-table-column prop="订单号" label="订单号" width="200" show-overflow-tooltip header-align="center">
25
+            </el-table-column>
26
+            <el-table-column prop="规格型号" label="规格型号" width="120" show-overflow-tooltip header-align="center">
27
+            </el-table-column>
28
+            <el-table-column prop="重量" label="重量" width="120" show-overflow-tooltip align="right" header-align="center">
29
+            </el-table-column>
30
+            <el-table-column prop="数量" label="数量" width="120" show-overflow-tooltip align="right" header-align="center">
31
+            </el-table-column>
32
+            <el-table-column prop="合约号" label="合约号" width="120" show-overflow-tooltip align="right" header-align="center">
33
+            </el-table-column>
34
+            <el-table-column prop="入库车号" label="入库车号" width="150" show-overflow-tooltip header-align="center">
35
+            </el-table-column>
36
+            <el-table-column prop="货权单位" label="货权单位" width="300" show-overflow-tooltip header-align="center">
37
+            </el-table-column>
38
+            <el-table-column prop="客户名称" label="客户名称" width="300" show-overflow-tooltip header-align="center">
39
+            </el-table-column>
40
+            <el-table-column prop="收货地址" label="收货地址" width="100" show-overflow-tooltip header-align="center">
41
+            </el-table-column>
42
+            <el-table-column prop="产地" label="产地" width="100" show-overflow-tooltip header-align="center">
43
+            </el-table-column>
44
+            <el-table-column prop="捆包号" label="捆包号" width="250" show-overflow-tooltip header-align="center">
45
+            </el-table-column>				
46
+            <el-table-column prop="备注" label="备注" width="150" show-overflow-tooltip header-align="center">
47
+            </el-table-column>
48
+            <el-table-column prop="入库操作人员" label="入库操作人员" width="150" show-overflow-tooltip header-align="center">
49
+            </el-table-column>
50
+            <el-table-column prop="吊装工" label="吊装工" width="150" show-overflow-tooltip header-align="center">
51
+            </el-table-column>
52
+            <el-table-column prop="计量方式" label="计量方式" width="150" show-overflow-tooltip header-align="center">
53
+            </el-table-column>
54
+        </el-table>
55
+    </div>
56
+</template>
57
+<script>
58
+	import axios from '@/axios'
59
+	import zrender from 'zrender'
60
+	import {
61
+		mapState
62
+	} from 'vuex'
63
+	export default {
64
+		computed: {
65
+			...mapState({
66
+                serverName: state => state.app.serverName,
67
+				wareBackgroundColor: state => state.color.wareBackgroundColor,
68
+				stackColor: state => state.color.stackColor,
69
+				stackSelectedColor: state => state.color.stackSelectedColor
70
+			})
71
+		},
72
+		components: {
73
+
74
+		},
75
+		data() {
76
+			return {
77
+				
78
+			}
79
+		},
80
+		//界面渲染完毕调用   初始化表格参数
81
+		mounted() {
82
+		},
83
+		methods: {
84
+			handleDownload() {
85
+				window.open(this.serverName.substr(0, this.serverName.lastIndexOf('/', this.serverName.lastIndexOf('/') - 1)) +
86
+					'/importWare.xls')
87
+			},
88
+            inImport() {
89
+				var url = 'WareIn/inImportAll.do'
90
+				var json = JSON.stringify(this.imTableData)
91
+				var param = {
92
+					json: json
93
+				}
94
+				this.imptAble = true;
95
+				// console.log(json)
96
+				axios.post(url, param).then(response => {
97
+					if (response.data.code == '0') {
98
+						this.$message({
99
+							type: 'success',
100
+							message: '入库成功!',
101
+						});
102
+						this.imTableData = []
103
+						this.fileTemp = null
104
+					} else {
105
+						this.$message({
106
+							type: 'error',
107
+							message: '入库失败!' + response.data.msg
108
+						});
109
+
110
+					}
111
+					this.imptAble = false;
112
+				});
113
+			},
114
+
115
+		}
116
+	}
117
+</script>

Завантаження…
Відмінити
Зберегти