Commit 370c57a532ddaf88b29a107791b737813987067c
Merge branch 'develop' of http://172.16.29.40:8010/wms/MMS-UI into develop
Showing
7 changed files
with
393 additions
and
9 deletions
src/api/api.js
... | ... | @@ -105,6 +105,7 @@ export const editTechnology = (params)=>putAction("/sys/technology/edit", params |
105 | 105 | //物料 |
106 | 106 | export const addMaterial = (params)=>postAction("/sys/material/add", params); |
107 | 107 | export const editMaterial = (params)=>postAction("/sys/material/edit", params); |
108 | +export const getMaterialBasicInfo = (params)=>getAction("/sys/material/getMaterialBasicInfo", params); | |
108 | 109 | |
109 | 110 | //工时统计 |
110 | 111 | export const calculateWorking = (params)=>getAction("/working/working/calculateTotal", params); |
... | ... |
src/views/examples/profile/advanced/Advanced.vue
1 | 1 | <template> |
2 | + | |
2 | 3 | <page-layout title="单号:234231029431" logo="https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png"> |
3 | 4 | |
4 | 5 | <detail-list slot="headerContent" size="small" :col="2" class="detail-layout"> |
... | ... | @@ -30,7 +31,7 @@ |
30 | 31 | </template> |
31 | 32 | |
32 | 33 | <a-card :bordered="false" title="流程进度"> |
33 | - <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="1" progressDot> | |
34 | + <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="2" progressDot> | |
34 | 35 | <a-step title="创建项目"> |
35 | 36 | </a-step> |
36 | 37 | <a-step title="部门初审"> |
... | ... | @@ -130,6 +131,7 @@ |
130 | 131 | </a-card> |
131 | 132 | |
132 | 133 | </page-layout> |
134 | + | |
133 | 135 | </template> |
134 | 136 | |
135 | 137 | <script> |
... | ... |
src/views/material/MaterialCollection.vue
... | ... | @@ -9,8 +9,8 @@ |
9 | 9 | <a-form-item label="项目名称"> |
10 | 10 | <j-popup v-model="queryParam.workOrder" code="find_projectc" |
11 | 11 | field="field0056" |
12 | - orgFields="field0056,field0054,field0055,field0057" | |
13 | - destFields="field0056,field0054,field0055,field0057" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> | |
12 | + orgFields="field0056,field0054,field0055,field0057,field0192" | |
13 | + destFields="field0056,field0054,field0055,field0057,field0192" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> | |
14 | 14 | </a-form-item> |
15 | 15 | </a-col> |
16 | 16 | |
... | ... | @@ -192,6 +192,7 @@ export default { |
192 | 192 | field0054:'', |
193 | 193 | field0055:'', |
194 | 194 | field0057:'', |
195 | + field0192:'', | |
195 | 196 | materia_Attr:[], |
196 | 197 | // 表头 |
197 | 198 | columns: [ |
... | ... | @@ -303,6 +304,7 @@ export default { |
303 | 304 | this.field0054=row.field0054; |
304 | 305 | this.field0055=row.field0055; |
305 | 306 | this.field0057=row.field0057; |
307 | + this.field0192=row.field0192; | |
306 | 308 | this.param1['field0057'] =row.field0057; |
307 | 309 | this.param1['field0054'] =row.field0054; |
308 | 310 | }, |
... | ... | @@ -406,6 +408,7 @@ export default { |
406 | 408 | "field0054":this.field0054, |
407 | 409 | "field0055":this.field0055, |
408 | 410 | "field0057":this.field0057, |
411 | + "field0192":this.field0192, | |
409 | 412 | "cno":this.queryParam.bomCode, |
410 | 413 | "attr":this.queryParam.attr, |
411 | 414 | "type":'2' |
... | ... | @@ -455,12 +458,28 @@ export default { |
455 | 458 | "field0054":this.field0054, |
456 | 459 | "field0055":this.field0055, |
457 | 460 | "field0057":this.field0057, |
461 | + "field0192":this.field0192, | |
458 | 462 | "cno":this.queryParam.bomCode, |
459 | 463 | "attr":this.queryParam.attr, |
460 | 464 | "pno":this.queryParam.pno, |
461 | 465 | "type":'2' |
462 | 466 | |
463 | 467 | } |
468 | + | |
469 | + if(this.field0056==''){ | |
470 | + this.$message.warning("请先选择项目工作令信息!!"); | |
471 | + this.loading=false; | |
472 | + return false; | |
473 | + } | |
474 | + //判断属性 | |
475 | + if(this.queryParam.attr=='5'){ | |
476 | + if(this.field0192==''){ | |
477 | + this.$message.warning("项目C表没有软件编码!!"); | |
478 | + this.loading=false; | |
479 | + return false; | |
480 | + } | |
481 | + } | |
482 | + | |
464 | 483 | getMissingMaterialList(params).then((res) => { |
465 | 484 | if (res.success) { |
466 | 485 | this.loading=false; |
... | ... |
src/views/material/MissingMaterialsPlease.vue
... | ... | @@ -8,8 +8,8 @@ |
8 | 8 | <a-form-item label="项目名称"> |
9 | 9 | <j-popup v-model="queryParam.workOrder" code="find_projectc" |
10 | 10 | field="field0056" |
11 | - orgFields="field0056,field0054,field0055,field0057" | |
12 | - destFields="field0056,field0054,field0055,field0057" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> | |
11 | + orgFields="field0056,field0054,field0055,field0057,field0192" | |
12 | + destFields="field0056,field0054,field0055,field0057,field0192" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> | |
13 | 13 | </a-form-item> |
14 | 14 | </a-col> |
15 | 15 | |
... | ... | @@ -178,6 +178,7 @@ export default { |
178 | 178 | field0054:'', |
179 | 179 | field0055:'', |
180 | 180 | field0057:'', |
181 | + field0192:'', | |
181 | 182 | materia_Attr:[], |
182 | 183 | // 表头 |
183 | 184 | columns: [ |
... | ... | @@ -289,6 +290,7 @@ export default { |
289 | 290 | this.field0054=row.field0054; |
290 | 291 | this.field0055=row.field0055; |
291 | 292 | this.field0057=row.field0057; |
293 | + this.field0192=row.field0192; | |
292 | 294 | this.param1['field0057'] =row.field0057; |
293 | 295 | this.param1['field0054'] =row.field0054; |
294 | 296 | }, |
... | ... | @@ -395,7 +397,19 @@ export default { |
395 | 397 | "attr":this.queryParam.attr, |
396 | 398 | "pno":this.queryParam.pno, |
397 | 399 | "type":'1' |
398 | - | |
400 | + } | |
401 | + if(this.field0056==''){ | |
402 | + this.$message.warning("请先选择项目工作令信息!!"); | |
403 | + this.loading=false; | |
404 | + return false; | |
405 | + } | |
406 | + //判断属性 | |
407 | + if(this.queryParam.attr=='5'){ | |
408 | + if(this.field0192==''){ | |
409 | + this.$message.warning("项目C表没有软件编码!!"); | |
410 | + this.loading=false; | |
411 | + return false; | |
412 | + } | |
399 | 413 | } |
400 | 414 | getMissingMaterialList(params).then((res) => { |
401 | 415 | if (res.success) { |
... | ... |
src/views/material/materiaTrack.vue
0 → 100644
1 | +<template> | |
2 | + <page-layout :title="info" logo="https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png"> | |
3 | + | |
4 | + <page-header v-if="!$route.meta.pageHeader" :title="title" :logo="logo" :avatar="avatar"> | |
5 | + <slot slot="action" name="action"></slot> | |
6 | + <slot slot="content" name="headerContent"></slot> | |
7 | + <div slot="content" v-if="!this.$slots.headerContent && desc"> | |
8 | + <p style="font-size: 14px;color: rgba(0,0,0,.65)">{{ desc }}</p> | |
9 | + <div class="link"> | |
10 | + <template v-for="(link, index) in linkList"> | |
11 | + <a :key="index" :href="link.href"> | |
12 | + <a-icon :type="link.icon"/> | |
13 | + <span>{{ link.title }}</span> | |
14 | + </a> | |
15 | + </template> | |
16 | + </div> | |
17 | + </div> | |
18 | + <slot slot="extra" name="extra"></slot> | |
19 | + <div slot="pageMenu"> | |
20 | + <div class="page-menu-search" > | |
21 | + <a-input-search style="width: 80%; max-width: 522px;" v-model="queryParam.code" @search="searchAll" placeholder="请输入..." size="large" enterButton="搜索" /> | |
22 | + </div> | |
23 | + | |
24 | + </div> | |
25 | + </page-header> | |
26 | + | |
27 | + <a-card :bordered="false" title="流程进度"> | |
28 | + <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="basicSource.flowindex" progressDot> | |
29 | + <a-step v-for="sa in basicSource.flow" :title="sa"> | |
30 | + </a-step> | |
31 | + </a-steps> | |
32 | + </a-card> | |
33 | + | |
34 | + <a-card style="margin-top: 24px;" :bordered="false" title="基本信息"> | |
35 | + <detail-list> | |
36 | + <detail-list-item term="物料名称">{{basicSource.name}}</detail-list-item> | |
37 | + <detail-list-item term="物料编码">{{basicSource.code}}</detail-list-item> | |
38 | + <detail-list-item term="关联编码">{{basicSource.linkCode}}</detail-list-item> | |
39 | + <detail-list-item term="物料规格">{{basicSource.spec}}</detail-list-item> | |
40 | + <detail-list-item term="制造方式">{{basicSource.attr}}</detail-list-item> | |
41 | + <detail-list-item term="设计类型">{{basicSource.type}}</detail-list-item> | |
42 | + <detail-list-item term="设计重量">{{basicSource.dsnweight}}</detail-list-item> | |
43 | + <detail-list-item term="形状尺寸">{{basicSource.shape}}</detail-list-item> | |
44 | + <detail-list-item term="工艺信息">{{basicSource.process}}</detail-list-item> | |
45 | + </detail-list> | |
46 | + <detail-list title="库存信息" style="color: #9e9e9e"> | |
47 | + <detail-list-item term="WMS库存"><a @click="inventoryClick">{{basicSource.qty}}</a></detail-list-item> | |
48 | + <detail-list-item term="该数据更新时间">{{basicSource.qtyTime}}</detail-list-item> | |
49 | + </detail-list> | |
50 | + </a-card> | |
51 | + | |
52 | + <a-card style="margin-top: 24px" :bordered="false" title="近半年出入库记录"> | |
53 | + <div class="no-data"><a-icon type="frown-o"/>暂无数据</div> | |
54 | + </a-card> | |
55 | + | |
56 | + <!-- 操作 --> | |
57 | + <a-card | |
58 | + style="margin-top: 24px" | |
59 | + :bordered="false" | |
60 | + :tabList="tabList" | |
61 | + :activeTabKey="activeTabKey" | |
62 | + @tabChange="(key) => {this.activeTabKey = key}" | |
63 | + > | |
64 | + <a-table | |
65 | + v-if="activeTabKey === '1'" | |
66 | + :columns="operationColumns" | |
67 | + :dataSource="operation1" | |
68 | + :pagination="false" | |
69 | + > | |
70 | + <template | |
71 | + slot="status" | |
72 | + slot-scope="status"> | |
73 | + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> | |
74 | + </template> | |
75 | + </a-table> | |
76 | + <a-table | |
77 | + v-if="activeTabKey === '2'" | |
78 | + :columns="operationColumns" | |
79 | + :dataSource="operation2" | |
80 | + :pagination="false" | |
81 | + > | |
82 | + <template | |
83 | + slot="status" | |
84 | + slot-scope="status"> | |
85 | + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> | |
86 | + </template> | |
87 | + </a-table> | |
88 | + <a-table | |
89 | + v-if="activeTabKey === '3'" | |
90 | + :columns="operationColumns" | |
91 | + :dataSource="operation3" | |
92 | + :pagination="false" | |
93 | + > | |
94 | + <template | |
95 | + slot="status" | |
96 | + slot-scope="status"> | |
97 | + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> | |
98 | + </template> | |
99 | + </a-table> | |
100 | + | |
101 | + <j-popup | |
102 | + v-show="showRentPrise" | |
103 | + ref="inventory_details" | |
104 | + code="find_inventory" | |
105 | + :param="inventoryParam" | |
106 | + org-fields="username" | |
107 | + dest-fields="popup" | |
108 | + field="popup"/> | |
109 | + </a-card> | |
110 | + | |
111 | + </page-layout> | |
112 | +</template> | |
113 | + | |
114 | +<script> | |
115 | + import { mixinDevice } from '@/utils/mixin.js' | |
116 | + import PageLayout from '@/components/page/PageLayout' | |
117 | + import DetailList from '@/components/tools/DetailList' | |
118 | + import {getMaterialBasicInfo} from "../../api/api"; | |
119 | + | |
120 | + const DetailListItem = DetailList.Item | |
121 | + | |
122 | + export default { | |
123 | + name: "materiaTrack", | |
124 | + components: { | |
125 | + PageLayout, | |
126 | + DetailList, | |
127 | + DetailListItem | |
128 | + }, | |
129 | + mixins: [mixinDevice], | |
130 | + data () { | |
131 | + return { | |
132 | + queryParam: {}, | |
133 | + basicSource:[], | |
134 | + inventoryParam:{code:''}, | |
135 | + index:1, | |
136 | + status:[ | |
137 | + {name:"采购"}, | |
138 | + {name:"到货"}, | |
139 | + {name:"收货"} | |
140 | + ], | |
141 | + tabList: [ | |
142 | + { | |
143 | + key: '1', | |
144 | + tab: '项目信息' | |
145 | + }, | |
146 | + { | |
147 | + key: '2', | |
148 | + tab: '生产计划' | |
149 | + }, | |
150 | + { | |
151 | + key: '3', | |
152 | + tab: '采购计划' | |
153 | + } | |
154 | + ], | |
155 | + activeTabKey: '1', | |
156 | + info:'huaheng', | |
157 | + operationColumns: [ | |
158 | + { | |
159 | + title: '操作类型', | |
160 | + dataIndex: 'type', | |
161 | + key: 'type' | |
162 | + }, | |
163 | + { | |
164 | + title: '操作人', | |
165 | + dataIndex: 'name', | |
166 | + key: 'name' | |
167 | + }, | |
168 | + { | |
169 | + title: '执行结果', | |
170 | + dataIndex: 'status', | |
171 | + key: 'status', | |
172 | + scopedSlots: { customRender: 'status' }, | |
173 | + }, | |
174 | + { | |
175 | + title: '操作时间', | |
176 | + dataIndex: 'updatedAt', | |
177 | + key: 'updatedAt' | |
178 | + }, | |
179 | + { | |
180 | + title: '备注', | |
181 | + dataIndex: 'remark', | |
182 | + key: 'remark' | |
183 | + } | |
184 | + ], | |
185 | + operation1: [ | |
186 | + { | |
187 | + key: 'op1', | |
188 | + type: '订购关系生效', | |
189 | + name: '曲丽丽', | |
190 | + status: 'agree', | |
191 | + updatedAt: '2017-10-03 19:23:12', | |
192 | + remark: '-' | |
193 | + }, | |
194 | + { | |
195 | + key: 'op2', | |
196 | + type: '财务复审', | |
197 | + name: '付小小', | |
198 | + status: 'reject', | |
199 | + updatedAt: '2017-10-03 19:23:12', | |
200 | + remark: '不通过原因' | |
201 | + }, | |
202 | + { | |
203 | + key: 'op3', | |
204 | + type: '部门初审', | |
205 | + name: '周毛毛', | |
206 | + status: 'agree', | |
207 | + updatedAt: '2017-10-03 19:23:12', | |
208 | + remark: '-' | |
209 | + }, | |
210 | + { | |
211 | + key: 'op4', | |
212 | + type: '提交订单', | |
213 | + name: '林东东', | |
214 | + status: 'agree', | |
215 | + updatedAt: '2017-10-03 19:23:12', | |
216 | + remark: '很棒' | |
217 | + }, | |
218 | + { | |
219 | + key: 'op5', | |
220 | + type: '创建订单', | |
221 | + name: '汗牙牙', | |
222 | + status: 'agree', | |
223 | + updatedAt: '2017-10-03 19:23:12', | |
224 | + remark: '-' | |
225 | + } | |
226 | + ], | |
227 | + operation2: [ | |
228 | + { | |
229 | + key: 'op2', | |
230 | + type: '财务复审', | |
231 | + name: '付小小', | |
232 | + status: 'reject', | |
233 | + updatedAt: '2017-10-03 19:23:12', | |
234 | + remark: '不通过原因' | |
235 | + }, | |
236 | + { | |
237 | + key: 'op3', | |
238 | + type: '部门初审', | |
239 | + name: '周毛毛', | |
240 | + status: 'agree', | |
241 | + updatedAt: '2017-10-03 19:23:12', | |
242 | + remark: '-' | |
243 | + }, | |
244 | + { | |
245 | + key: 'op4', | |
246 | + type: '提交订单', | |
247 | + name: '林东东', | |
248 | + status: 'agree', | |
249 | + updatedAt: '2017-10-03 19:23:12', | |
250 | + remark: '很棒' | |
251 | + } | |
252 | + ], | |
253 | + operation3: [ | |
254 | + { | |
255 | + key: 'op2', | |
256 | + type: '财务复审', | |
257 | + name: '付小小', | |
258 | + status: 'reject', | |
259 | + updatedAt: '2017-10-03 19:23:12', | |
260 | + remark: '不通过原因' | |
261 | + }, | |
262 | + { | |
263 | + key: 'op3', | |
264 | + type: '部门初审', | |
265 | + name: '周毛毛', | |
266 | + status: 'agree', | |
267 | + updatedAt: '2017-10-03 19:23:12', | |
268 | + remark: '-' | |
269 | + } | |
270 | + ], | |
271 | + } | |
272 | + }, | |
273 | + methods: { | |
274 | + searchAll(){ | |
275 | + let params = { | |
276 | + 'code': this.queryParam.code | |
277 | + } | |
278 | + this.basicSource=[]; | |
279 | + getMaterialBasicInfo(params).then(res => { | |
280 | + if (res.success) { | |
281 | + this.basicSource = res.result | |
282 | + this.loading = false | |
283 | + } | |
284 | + }) | |
285 | + }, | |
286 | + | |
287 | + inventoryClick(){ | |
288 | + this.inventoryParam['code'] = "'"+this.queryParam.code+"'"; | |
289 | + this.$refs.inventory_details.openModal(); | |
290 | + }, | |
291 | + }, | |
292 | + filters: { | |
293 | + statusFilter(status) { | |
294 | + const statusMap = { | |
295 | + 'agree': '成功', | |
296 | + 'reject': '驳回' | |
297 | + } | |
298 | + return statusMap[status] | |
299 | + }, | |
300 | + statusTypeFilter(type) { | |
301 | + const statusTypeMap = { | |
302 | + 'agree': 'success', | |
303 | + 'reject': 'error' | |
304 | + } | |
305 | + return statusTypeMap[type] | |
306 | + } | |
307 | + } | |
308 | + } | |
309 | +</script> | |
310 | + | |
311 | +<style lang="less" scoped> | |
312 | + | |
313 | + .detail-layout { | |
314 | + margin-left: 44px; | |
315 | + } | |
316 | + .text { | |
317 | + color: rgba(0, 0, 0, .45); | |
318 | + } | |
319 | + | |
320 | + .heading { | |
321 | + color: rgba(0, 0, 0, .85); | |
322 | + font-size: 20px; | |
323 | + } | |
324 | + | |
325 | + .no-data { | |
326 | + color: rgba(0, 0, 0, .25); | |
327 | + text-align: center; | |
328 | + line-height: 64px; | |
329 | + font-size: 16px; | |
330 | + | |
331 | + i { | |
332 | + font-size: 24px; | |
333 | + margin-right: 16px; | |
334 | + position: relative; | |
335 | + top: 3px; | |
336 | + } | |
337 | + } | |
338 | + | |
339 | + .mobile { | |
340 | + .detail-layout { | |
341 | + margin-left: unset; | |
342 | + } | |
343 | + .text { | |
344 | + | |
345 | + } | |
346 | + .status-list { | |
347 | + text-align: left; | |
348 | + } | |
349 | + } | |
350 | +</style> | |
0 | 351 | \ No newline at end of file |
... | ... |
src/views/material/modules/ShipPrintModal.vue
src/views/system/modules/newsOrderPart.vue
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | </a-form-item> |
19 | 19 | </a-col> |
20 | 20 | <a-col :span="24/3"> |
21 | - <a-form-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol"> | |
21 | + <a-form-item label="物料编码:" :labelCol="labelCol" :wrapperCol="wrapperCol"> | |
22 | 22 | <a-input v-decorator="['cno']" placeholder="请输入物料编码" disabled></a-input> |
23 | 23 | </a-form-item> |
24 | 24 | </a-col> |
... | ... | @@ -85,7 +85,6 @@ |
85 | 85 | </a-row> |
86 | 86 | |
87 | 87 | <a-row> |
88 | - | |
89 | 88 | <a-col :span="24" style="text-align: center" class="table-page-search-submitButtons"> |
90 | 89 | <a-button type="primary" @click="submitForm" icon="check-circle">提 交</a-button> |
91 | 90 | </a-col> |
... | ... |