ci-plus 1.6.4 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/package.json +2 -3
- package/src/identificationCard/identificationCard.vue +105 -172
- package/src/identificationCard/identificationCard1.5.6.vue +2158 -0
- package/src/utils/ajaxBox.ts +143 -5
- package/src/utils/cardPrint.ts +1002 -1077
- package/src/utils/{cardPrint1.5.4.ts → cardPrint1.1.0.ts} +4 -4
- package/src/utils/{cardPrint1.5.5.ts → cardPrint1.2.0.ts} +7 -7
- package/src/utils/cardPrint1.3.1.ts +1184 -0
|
@@ -0,0 +1,1184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module cardPrint
|
|
3
|
+
* @author : 卖女孩的小火柴
|
|
4
|
+
* !description : 标识卡打印
|
|
5
|
+
* @version : 1.3.1
|
|
6
|
+
* @since : 创建时间 2024-03-15 15:16:12
|
|
7
|
+
* @update : 2024-11-5 13:26:12更新标识卡模板,删除为尚工厂的一些字段
|
|
8
|
+
* !update : 2024-11.12 芜湖伦比公司的成品工厂的"毛坯标识卡"使用为尚工厂的"产品标识卡"模板
|
|
9
|
+
*/
|
|
10
|
+
import { ElMessage, MessageParamsWithType } from 'element-plus'
|
|
11
|
+
import apis from './baseApi'
|
|
12
|
+
import axios from 'axios'
|
|
13
|
+
const { storageModule } = apis
|
|
14
|
+
const UserData = JSON.parse(localStorage.getItem('UserData') as string)
|
|
15
|
+
let users = {
|
|
16
|
+
org_id: UserData.orgId || '',
|
|
17
|
+
user_code: UserData.loginName || '',
|
|
18
|
+
user_name: UserData.name || '',
|
|
19
|
+
deptId: UserData.deptId || '',
|
|
20
|
+
}
|
|
21
|
+
let user = JSON.parse(JSON.stringify(users))
|
|
22
|
+
|
|
23
|
+
let baseUrls = storageModule //new URL(storageModule).origin + '/' // 图片的地址前缀
|
|
24
|
+
let apiurl = storageModule + 'scan_card_code_get/'
|
|
25
|
+
|
|
26
|
+
export const cardPrint = (
|
|
27
|
+
cParams: any,
|
|
28
|
+
callback: (data: any) => void,
|
|
29
|
+
baseUrl?: string,
|
|
30
|
+
): any => {
|
|
31
|
+
// 通过表示卡号获取打印信息
|
|
32
|
+
let _URL = baseUrl ? baseUrl : apiurl
|
|
33
|
+
console.log('标识卡数据版本:v1.0.2');
|
|
34
|
+
axios
|
|
35
|
+
.get(_URL, {
|
|
36
|
+
params: {
|
|
37
|
+
page: 1,
|
|
38
|
+
...cParams,
|
|
39
|
+
...user,
|
|
40
|
+
},
|
|
41
|
+
})
|
|
42
|
+
.then(
|
|
43
|
+
(_res: {
|
|
44
|
+
data: { code: number; data: any[]; msg: MessageParamsWithType }
|
|
45
|
+
}) => {
|
|
46
|
+
console.log('res: ', _res)
|
|
47
|
+
if (
|
|
48
|
+
_res.data.code != 200 || (_res.data.data && _res.data.data.length < 1)
|
|
49
|
+
) {
|
|
50
|
+
callback([])
|
|
51
|
+
return ElMessage.error(_res.data.msg)
|
|
52
|
+
}
|
|
53
|
+
let data = _res.data.data
|
|
54
|
+
console.log('data: ', data)
|
|
55
|
+
let dataInfo: any[] = []
|
|
56
|
+
data.forEach((item: any) => {
|
|
57
|
+
let obj = {}
|
|
58
|
+
// 成品工厂-产品标识卡
|
|
59
|
+
if (item.card_state == 'CHANPIN' && item.is_finished_goods == 2) {
|
|
60
|
+
obj = {
|
|
61
|
+
card_state: item.card_state, // 标识卡类型
|
|
62
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
63
|
+
factoryType: item.is_finished_goods,
|
|
64
|
+
r1c2: '产品标识卡',
|
|
65
|
+
r1c4: item.material_name, // 产品类别
|
|
66
|
+
r2c2: item.material_code, // 物料编码
|
|
67
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
68
|
+
r3c2: item.material_model, // 产品型号
|
|
69
|
+
r4c1: '供应商', // 供应商/生产厂商
|
|
70
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
71
|
+
r5c1: '材料厂商',
|
|
72
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
73
|
+
r5c4: item.card_code, // 标识卡号
|
|
74
|
+
r6c2: item.process_name, // 本工序
|
|
75
|
+
r6c4: item.next_process_name, // 下工序
|
|
76
|
+
r7c2: item.current_inventory, // 本箱数量
|
|
77
|
+
r7c4: item.report_user_name
|
|
78
|
+
? item.report_user_name
|
|
79
|
+
: item.opt_user_name, // 操作工/自检员
|
|
80
|
+
r8c2: item.center_data[0]?.inspector, // 巡检员
|
|
81
|
+
r8c4: item.product_date, // 生产日期
|
|
82
|
+
r9c2: item.value, // 规值
|
|
83
|
+
r9c4: item.center_data[0]?.case_count_str, // 2024.08.31 由 规格specification 变更为 件数规格case_count_str
|
|
84
|
+
|
|
85
|
+
r10c1: '检验日期',
|
|
86
|
+
r10c2: item.center_data[0]?.inspect_time,
|
|
87
|
+
r10c3: '工单号', // 建
|
|
88
|
+
r10c4: item.wip_order_number, // 值
|
|
89
|
+
r11c1: '本批数量',
|
|
90
|
+
r11c2: item.center_data[0]?.batch_count,
|
|
91
|
+
r11c3: '材料炉号', // 建
|
|
92
|
+
r11c4: item.center_data[0]?.material_heat_number,
|
|
93
|
+
r12c1: '热处理批号',
|
|
94
|
+
r12c2: item.center_data[0]?.heat_batch_number,
|
|
95
|
+
r12c3: '材料批次',
|
|
96
|
+
r12c4: item.center_data[0]?.material_batch_number,
|
|
97
|
+
|
|
98
|
+
r13c1: '流转批次号', // 建
|
|
99
|
+
r13c2: item.flow_lot_number,
|
|
100
|
+
r13c3: '采购单号', // 建
|
|
101
|
+
r13c4: item.center_data[0]?.purchase_number,
|
|
102
|
+
|
|
103
|
+
r14c1: '批次序列号',
|
|
104
|
+
r14c2: item.center_data[0]?.b2b_batch_number,
|
|
105
|
+
r14c3: '采购单行号',
|
|
106
|
+
r14c4: item.center_data[0]?.purchase_order,
|
|
107
|
+
r40c1: '备注', // 备注
|
|
108
|
+
r40c2: item.remark, // 备注
|
|
109
|
+
r41c1: item.flow_lot_number
|
|
110
|
+
? item.flow_lot_number
|
|
111
|
+
: item.center_data[0]?.b2b_batch_number || '', //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 为尚工厂-(产品标识卡\尾料标识卡)
|
|
115
|
+
else if (
|
|
116
|
+
(item.card_state == 'CHANPIN' || item.card_state == 'WEILIAO') &&
|
|
117
|
+
item.is_finished_goods == 1
|
|
118
|
+
) {
|
|
119
|
+
obj = {
|
|
120
|
+
card_state: item.card_state, // 标识卡类型
|
|
121
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
122
|
+
factoryType: item.is_finished_goods,
|
|
123
|
+
r1c2: '产品标识卡',
|
|
124
|
+
r1c3: '产品类别', // (为 类型/名称 拼接)
|
|
125
|
+
r1c4: item.material_name,
|
|
126
|
+
r2c1: '分布场所代号',
|
|
127
|
+
r2c2: item.center_data[0]?.distribute_place_name,
|
|
128
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
129
|
+
r3c1: '客户名称',
|
|
130
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
131
|
+
r4c1: '供应商',
|
|
132
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
133
|
+
r5c1: '材料厂家',
|
|
134
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
135
|
+
r5c4: item.card_code, // 标识卡号
|
|
136
|
+
|
|
137
|
+
r6c1: '淬火件型号',
|
|
138
|
+
r6c2: item.quenching_material_model,
|
|
139
|
+
r6c3: '材料炉号',
|
|
140
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
141
|
+
r7c1: '淬火件编码',
|
|
142
|
+
r7c2: item.quenching_material_code,
|
|
143
|
+
r7c3: '材料牌号',
|
|
144
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
145
|
+
r8c1: '产品物料号',
|
|
146
|
+
r8c2: item.material_code,
|
|
147
|
+
r8c3: '库位',
|
|
148
|
+
r8c4: item.location_name,
|
|
149
|
+
r9c1: '产品型号',
|
|
150
|
+
r9c2: item.material_model,
|
|
151
|
+
r9c3: '收货人员',
|
|
152
|
+
r9c4: item.center_data[0]?.consignee,
|
|
153
|
+
r10c1: '净重',
|
|
154
|
+
r10c2: item.net_weight + item.net_weight_unit,
|
|
155
|
+
r10c3: '单重',
|
|
156
|
+
r10c4: item.piece_weight + item.piece_weight_unit,
|
|
157
|
+
r11c1: '产线',
|
|
158
|
+
r11c2: item.line_name,
|
|
159
|
+
r11c3: '工单号',
|
|
160
|
+
r11c4: item.wip_order_number,
|
|
161
|
+
r12c1: '本箱数量',
|
|
162
|
+
r12c2: item.current_inventory,
|
|
163
|
+
r12c3: '本批数量',
|
|
164
|
+
r12c4: item.center_data[0]?.batch_count,
|
|
165
|
+
r13c1: '总箱数',
|
|
166
|
+
r13c2: item.total_row,
|
|
167
|
+
r13c3: '生产日期',
|
|
168
|
+
r13c4: item.product_date,
|
|
169
|
+
r14c1: '热处理批号',
|
|
170
|
+
r14c2: item.center_data[0]?.heat_batch_number,
|
|
171
|
+
r14c3: '件数规格',
|
|
172
|
+
r14c4: item.center_data[0]?.case_count_str,
|
|
173
|
+
r15c1: '包装方式',
|
|
174
|
+
r15c2: item.packaging_specifications_name,
|
|
175
|
+
r15c3: '',
|
|
176
|
+
r15c4: '',
|
|
177
|
+
|
|
178
|
+
r40c1: '备注', // 备注
|
|
179
|
+
r40c2: item.remark, // 备注key
|
|
180
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本666
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// 成品工厂-尾料标识卡(为尚无尾料标识卡,使用为尚的成品标识卡)
|
|
184
|
+
else if (
|
|
185
|
+
item.card_state == 'WEILIAO' &&
|
|
186
|
+
item.is_finished_goods == 2
|
|
187
|
+
) {
|
|
188
|
+
obj = {
|
|
189
|
+
card_state: item.card_state,
|
|
190
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
191
|
+
factoryType: item.is_finished_goods,
|
|
192
|
+
r1c2: '尾料标识卡',
|
|
193
|
+
r1c4: item.material_name, // 产品类别
|
|
194
|
+
r2c2: item.material_code, // 物料编码
|
|
195
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
196
|
+
r3c2: item.material_model, // 产品型号
|
|
197
|
+
r4c1: '供应商', // 供应商/生产厂商
|
|
198
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
199
|
+
r5c1: '材料厂商',
|
|
200
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
201
|
+
r5c4: item.card_code, // 标识卡号
|
|
202
|
+
r6c2: item.center_data[0]?.tail_reason, // 尾料原因
|
|
203
|
+
r7c2: item.process_name, // 本工序
|
|
204
|
+
r7c4: item.next_process_name, // 下工序
|
|
205
|
+
r8c2: item.current_inventory, // 本箱数量
|
|
206
|
+
r8c4: item.opt_user_name, // 操作工/自检员
|
|
207
|
+
r9c2: item.center_data[0]?.inspector, // 检验员
|
|
208
|
+
r9c4: item.product_date, // 生产日期
|
|
209
|
+
r10c2: item.value, // 规值
|
|
210
|
+
r10c4: item.specification, // 规格
|
|
211
|
+
r11c1: '检查日期', // 检查日期
|
|
212
|
+
r11c2: item.center_data[0]?.inspect_time, // 检查日期
|
|
213
|
+
r11c3: '工单号', // 建
|
|
214
|
+
r11c4: item.wip_order_number, // 值
|
|
215
|
+
r12c1: '本批数量',
|
|
216
|
+
r12c2: item.center_data[0]?.batch_count,
|
|
217
|
+
r12c3: '材料炉号', // 建
|
|
218
|
+
r12c4: item.center_data[0]?.material_heat_number,
|
|
219
|
+
r13c1: '热处理批号',
|
|
220
|
+
r13c2: item.center_data[0]?.heat_batch_number,
|
|
221
|
+
r13c3: '采购单号', // 建
|
|
222
|
+
r13c4: item.center_data[0]?.purchase_number,
|
|
223
|
+
r14c1: '材料批次',
|
|
224
|
+
r14c2: item.center_data[0]?.material_batch_number,
|
|
225
|
+
r14c3: '采购单行号',
|
|
226
|
+
r14c4: item.center_data[0]?.purchase_order,
|
|
227
|
+
r15c1: '批次序列号', // 建
|
|
228
|
+
r15c2: item.flow_lot_number,
|
|
229
|
+
r40c1: '备注', // 备注
|
|
230
|
+
r40c2: item.remark, // 备注
|
|
231
|
+
r41c1: item.flow_lot_number
|
|
232
|
+
? item.flow_lot_number
|
|
233
|
+
: item.center_data[0]?.b2b_batch_number || '', //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// 成品工厂-责废标识卡
|
|
237
|
+
else if (item.card_state == 'ZEFEI' && item.is_finished_goods == 2) {
|
|
238
|
+
// 如果有不良项目,就循环获取其中值
|
|
239
|
+
let badNum = item.bad_item_list?.length || 0
|
|
240
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
241
|
+
if (item.bad_item_list && badNum > 0) {
|
|
242
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
243
|
+
let objbad = {
|
|
244
|
+
id: badItem.id,
|
|
245
|
+
label: badItem.content,
|
|
246
|
+
value: badItem.scrap_detail_number,
|
|
247
|
+
}
|
|
248
|
+
badList.push(objbad)
|
|
249
|
+
})
|
|
250
|
+
}
|
|
251
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
252
|
+
let badStr = badList
|
|
253
|
+
.slice(4)
|
|
254
|
+
.map((badItem: any) => {
|
|
255
|
+
let l = badItem.label
|
|
256
|
+
let v = badItem.value || ''
|
|
257
|
+
return l + ':' + v
|
|
258
|
+
})
|
|
259
|
+
.join(',')
|
|
260
|
+
|
|
261
|
+
obj = {
|
|
262
|
+
card_state: item.card_state,
|
|
263
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
264
|
+
factoryType: item.is_finished_goods,
|
|
265
|
+
r1c2: '责废标识卡',
|
|
266
|
+
r1c3: '产品类别', // 产品类别
|
|
267
|
+
r1c4: item.material_name, // 产品类别
|
|
268
|
+
r2c1: '物料编码', // 物料编码
|
|
269
|
+
r2c2: item.material_code, // 物料编码
|
|
270
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
271
|
+
r3c1: '产品型号', // 产品型号
|
|
272
|
+
r3c2: item.material_model, // 产品型号
|
|
273
|
+
r4c1: '工单号', // 工单号
|
|
274
|
+
r4c2: item.wip_order_number, // 工单号
|
|
275
|
+
r5c1: '责废总数', // 责废总数
|
|
276
|
+
r5c2: item.storage_scrap_count, // 责废总数
|
|
277
|
+
r5c4: item.card_code, // 标识卡号
|
|
278
|
+
r6c1: '工序', // 工序
|
|
279
|
+
r6c2: item.process_name, // 工序
|
|
280
|
+
r6c3: '生产日期', // 生产日期
|
|
281
|
+
r6c4: item.product_date, // 生产日期
|
|
282
|
+
r7c1: '规值', // 规值
|
|
283
|
+
r7c2: item.value, // 规值
|
|
284
|
+
r7c3: '规格', // 规格
|
|
285
|
+
r7c4: item.specification, // 规格
|
|
286
|
+
r8c1: '提交人', // 提交人
|
|
287
|
+
r8c2: item.opt_user_name, // 提交人
|
|
288
|
+
r8c3: '责任人', // 责任人
|
|
289
|
+
r8c4: item.duty_user_name, // 责任人
|
|
290
|
+
/** ----循环的数据-------------------------------- **/
|
|
291
|
+
r9c1: badList[0]?.label, // 渲染数组第0行的'建'
|
|
292
|
+
r9c2: badList[0]?.value, // 渲染数组第0行的'值'
|
|
293
|
+
r9c3: badList[1]?.label, // 渲染数组第1行的'建'
|
|
294
|
+
r9c4: badList[1]?.value, // 渲染数组第1行的'值'
|
|
295
|
+
r10c1: badList[2]?.label, // 渲染数组第2行的'建'
|
|
296
|
+
r10c2: badList[2]?.value, // 渲染数组第2行的'值'
|
|
297
|
+
r10c3: badList[3]?.label, // 渲染数组第3行的'建'
|
|
298
|
+
r10c4: badList[3]?.value, // 渲染数组第3行的'值'
|
|
299
|
+
// r11c1: badList[4]?.label,// 渲染数组第4行的'建'
|
|
300
|
+
// r11c2: badList[4]?.value, // 渲染数组第4行的'值'
|
|
301
|
+
r12c1: '其他', // 渲染数组第5及以后行的'建'
|
|
302
|
+
r12c2: badStr, // 渲染数组第5及以后行的'值'
|
|
303
|
+
|
|
304
|
+
r15c1: '检验员',
|
|
305
|
+
r15c2: item.center_data[0]?.inspector,
|
|
306
|
+
r15c3: '检验日期',
|
|
307
|
+
r15c4: item.center_data[0]?.inspect_time,
|
|
308
|
+
|
|
309
|
+
r16c1: '本箱数量',
|
|
310
|
+
r16c2: item.current_inventory,
|
|
311
|
+
r16c3: '流转批次号',
|
|
312
|
+
r16c4: item.flow_lot_number,
|
|
313
|
+
|
|
314
|
+
r17c1: '材料炉号',
|
|
315
|
+
r17c2: item.center_data[0]?.material_heat_number,
|
|
316
|
+
r17c3: '批次序列号',
|
|
317
|
+
r17c4: item.center_data[0]?.b2b_batch_number,
|
|
318
|
+
|
|
319
|
+
r18c1: '材料批次',
|
|
320
|
+
r18c2: item.center_data[0]?.material_batch_number,
|
|
321
|
+
|
|
322
|
+
r40c1: '备注', // 备注
|
|
323
|
+
r40c2: item.remark, // 备注
|
|
324
|
+
r41c1: item.flow_lot_number
|
|
325
|
+
? item.flow_lot_number
|
|
326
|
+
: item.center_data[0]?.b2b_batch_number || '', //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// 为尚工厂-责废标识卡
|
|
330
|
+
else if (item.card_state == 'ZEFEI' && item.is_finished_goods == 1) {
|
|
331
|
+
// 如果有不良项目,就循环获取其中值
|
|
332
|
+
let badNum = item.bad_item_list?.length || 0
|
|
333
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
334
|
+
if (item.bad_item_list && badNum > 0) {
|
|
335
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
336
|
+
let objbad = {
|
|
337
|
+
id: badItem.id,
|
|
338
|
+
label: badItem.content,
|
|
339
|
+
value: badItem.scrap_detail_number,
|
|
340
|
+
}
|
|
341
|
+
badList.push(objbad)
|
|
342
|
+
})
|
|
343
|
+
}
|
|
344
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
345
|
+
let badStr = badList
|
|
346
|
+
.slice(3)
|
|
347
|
+
.map((badItem: any) => {
|
|
348
|
+
let l = badItem.label
|
|
349
|
+
let v = badItem.value || ''
|
|
350
|
+
return l + ':' + v
|
|
351
|
+
})
|
|
352
|
+
.join(',')
|
|
353
|
+
|
|
354
|
+
obj = {
|
|
355
|
+
card_state: item.card_state,
|
|
356
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
357
|
+
factoryType: item.is_finished_goods,
|
|
358
|
+
r1c2: '责废标识卡',
|
|
359
|
+
r1c3: '产品类别',
|
|
360
|
+
r1c4: item.material_name, // 产品类别
|
|
361
|
+
r2c1: '分布场所代号', // 建
|
|
362
|
+
r2c2: item.center_data[0]?.distribute_place_name,
|
|
363
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
364
|
+
r3c1: '客户名称', // 建
|
|
365
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
366
|
+
r4c1: '供应商', // 建
|
|
367
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
368
|
+
r5c1: '材料厂家',
|
|
369
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
370
|
+
r5c4: item.card_code, // 标识卡号
|
|
371
|
+
r6c1: '淬火件型号',
|
|
372
|
+
r6c2: item.quenching_material_model,
|
|
373
|
+
r6c3: '材料炉号',
|
|
374
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
375
|
+
r7c1: '淬火件编码',
|
|
376
|
+
r7c2: item.quenching_material_code,
|
|
377
|
+
r7c3: '材料牌号',
|
|
378
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
379
|
+
r8c1: '产品物料号',
|
|
380
|
+
r8c2: item.material_code,
|
|
381
|
+
r8c3: '库位',
|
|
382
|
+
r8c4: item.location_name,
|
|
383
|
+
r9c1: '产品型号',
|
|
384
|
+
r9c2: item.material_model,
|
|
385
|
+
r9c3: '收货人员',
|
|
386
|
+
r9c4: item.center_data[0]?.consignee,
|
|
387
|
+
r10c1: '责废总数', // 建
|
|
388
|
+
r10c2: item.storage_scrap_count,
|
|
389
|
+
r10c3: '单重',
|
|
390
|
+
r10c4: item.piece_weight + item.piece_weight_unit,
|
|
391
|
+
r11c1: '工序',
|
|
392
|
+
r11c2: item.process_name,
|
|
393
|
+
r11c3: '本批数量',
|
|
394
|
+
r11c4: item.center_data[0]?.batch_count,
|
|
395
|
+
r12c1: '热处理批号',
|
|
396
|
+
r12c2: item.center_data[0]?.heat_batch_number,
|
|
397
|
+
r12c3: '生产日期',
|
|
398
|
+
r12c4: item.product_date,
|
|
399
|
+
r13c1: '责任人',
|
|
400
|
+
r13c2: item.duty_user_name,
|
|
401
|
+
r13c3: '提交人',
|
|
402
|
+
r13c4: item.opt_user_name,
|
|
403
|
+
|
|
404
|
+
/** ----循环的数据-------------------------------- **/
|
|
405
|
+
r30c1: badList[0]?.label, // 渲染数组第0行的'建'
|
|
406
|
+
r30c2: badList[0]?.value, // 渲染数组第0行的'值'
|
|
407
|
+
r30c3: badList[1]?.label, // 渲染数组第1行的'建'
|
|
408
|
+
r30c4: badList[1]?.value, // 渲染数组第1行的'值'
|
|
409
|
+
r31c1: '其他', // 渲染数组第2及以后行的'建'
|
|
410
|
+
r31c2: badStr, // 渲染数组第2及以后行的'值'
|
|
411
|
+
r40c1: '备注', // 备注
|
|
412
|
+
r40c2: item.remark, //条形码文本
|
|
413
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', // 条形码文本
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
// 成品工厂-返工标识卡
|
|
417
|
+
else if (
|
|
418
|
+
item.card_state == 'FANGONG' &&
|
|
419
|
+
item.is_finished_goods == 2
|
|
420
|
+
) {
|
|
421
|
+
// 如果有不良项目,就循环获取其中值
|
|
422
|
+
let badNum = item.bad_item_list?.length || 0
|
|
423
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
424
|
+
if (item.bad_item_list && badNum > 0) {
|
|
425
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
426
|
+
let objbad = {
|
|
427
|
+
id: badItem.id,
|
|
428
|
+
label: badItem.content,
|
|
429
|
+
value: badItem.scrap_detail_number,
|
|
430
|
+
}
|
|
431
|
+
badList.push(objbad)
|
|
432
|
+
})
|
|
433
|
+
}
|
|
434
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
435
|
+
let badStr = badList
|
|
436
|
+
// .slice(4)
|
|
437
|
+
.map((badItem: any) => {
|
|
438
|
+
let l = badItem.label
|
|
439
|
+
let v = badItem.value || ''
|
|
440
|
+
return l + ':' + v
|
|
441
|
+
})
|
|
442
|
+
.join(',')
|
|
443
|
+
|
|
444
|
+
obj = {
|
|
445
|
+
card_state: item.card_state,
|
|
446
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
447
|
+
factoryType: item.is_finished_goods,
|
|
448
|
+
r1c2: '返工标识卡',
|
|
449
|
+
r1c3: '产品类别',
|
|
450
|
+
r1c4: item.material_name, // 产品类别
|
|
451
|
+
r2c1: '物料编码',
|
|
452
|
+
r2c2: item.material_code,
|
|
453
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
454
|
+
r3c1: '产品型号',
|
|
455
|
+
r3c2: item.material_model,
|
|
456
|
+
// r4c1: '批次号',
|
|
457
|
+
// r4c2: item.flow_lot_number,
|
|
458
|
+
r4c1: '工单号',
|
|
459
|
+
r4c2: item.wip_order_number,
|
|
460
|
+
r5c1: '返工总数',
|
|
461
|
+
r5c2: item.rework_count,
|
|
462
|
+
r5c4: item.card_code, // 标识卡号
|
|
463
|
+
r6c1: '返工工序',
|
|
464
|
+
r6c2: item.rework_process_names,
|
|
465
|
+
r6c3: '下工序',
|
|
466
|
+
r6c4: item.next_process_name,
|
|
467
|
+
r7c1: '操作员',
|
|
468
|
+
r7c2: item.report_user_name,
|
|
469
|
+
r7c3: '材料炉号',
|
|
470
|
+
r7c4: item.center_data[0]?.material_heat_number,
|
|
471
|
+
r8c1: '生产日期',
|
|
472
|
+
r8c2: item.product_date,
|
|
473
|
+
r8c3: '材料批次',
|
|
474
|
+
r8c4: item.center_data[0]?.material_batch_number,
|
|
475
|
+
r9c1: '检验员',
|
|
476
|
+
r9c2: item.center_data[0]?.inspector,
|
|
477
|
+
r9c3: '检验日期',
|
|
478
|
+
r9c4: item.center_data[0]?.inspect_time,
|
|
479
|
+
r10c1: '责任团队',
|
|
480
|
+
r10c2: item.duty_team_name,
|
|
481
|
+
r10c3: '返工期限',
|
|
482
|
+
r10c4: item.rework_dead_line,
|
|
483
|
+
r11c1: '处理团队?',
|
|
484
|
+
r11c2: 'item.duty_team_name',
|
|
485
|
+
r11c3: '处理方法?',
|
|
486
|
+
r11c4: 'item.rework_dead_line',
|
|
487
|
+
r12c1: '流转批次号',
|
|
488
|
+
r12c2: item.flow_lot_number,
|
|
489
|
+
r12c3: '批次序列号',
|
|
490
|
+
r12c4: item.center_data[0]?.b2b_batch_number,
|
|
491
|
+
r13c1: '采购单号',
|
|
492
|
+
r13c2: item.center_data[0]?.purchase_number,
|
|
493
|
+
r13c3: '采购单行号',
|
|
494
|
+
r13c4: item.center_data[0]?.purchase_order,
|
|
495
|
+
/** ----循环的数据---------------- **/
|
|
496
|
+
r30c1: '不良项目',
|
|
497
|
+
r30c2: badStr, // 渲染数组不良项目的'值'
|
|
498
|
+
r40c1: '备注',
|
|
499
|
+
r40c2: item.remark, // 备注
|
|
500
|
+
r41c1: item.flow_lot_number
|
|
501
|
+
? item.flow_lot_number
|
|
502
|
+
: item.center_data[0]?.b2b_batch_number || '', //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// 为尚工厂-返工标识卡
|
|
506
|
+
else if (
|
|
507
|
+
item.card_state == 'FANGONG' &&
|
|
508
|
+
item.is_finished_goods == 1
|
|
509
|
+
) {
|
|
510
|
+
// 如果有不良项目,就循环获取其中值
|
|
511
|
+
let badNum = item.bad_item_list?.length || 0
|
|
512
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
513
|
+
if (item.bad_item_list && badNum > 0) {
|
|
514
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
515
|
+
let objbad = {
|
|
516
|
+
id: badItem.id,
|
|
517
|
+
label: badItem.content,
|
|
518
|
+
value: badItem.scrap_detail_number,
|
|
519
|
+
}
|
|
520
|
+
badList.push(objbad)
|
|
521
|
+
})
|
|
522
|
+
}
|
|
523
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
524
|
+
let badStr = badList
|
|
525
|
+
// .slice(4)
|
|
526
|
+
.map((badItem: any) => {
|
|
527
|
+
let l = badItem.label
|
|
528
|
+
let v = badItem.value || ''
|
|
529
|
+
return l + ':' + v
|
|
530
|
+
})
|
|
531
|
+
.join(',')
|
|
532
|
+
|
|
533
|
+
obj = {
|
|
534
|
+
card_state: item.card_state,
|
|
535
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
536
|
+
factoryType: item.is_finished_goods,
|
|
537
|
+
r1c2: '返工标识卡',
|
|
538
|
+
r1c3: '产品类别',
|
|
539
|
+
r1c4: item.material_name,
|
|
540
|
+
r2c1: '分布场所代号',
|
|
541
|
+
r2c2: item.material_code,
|
|
542
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
543
|
+
r3c1: '客户名称',
|
|
544
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
545
|
+
r4c1: '供应商',
|
|
546
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
547
|
+
r5c1: '材料厂家',
|
|
548
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
549
|
+
r5c4: item.card_code, // 标识卡号
|
|
550
|
+
|
|
551
|
+
r6c1: '淬火件型号',
|
|
552
|
+
r6c2: item.quenching_material_model,
|
|
553
|
+
r6c3: '材料炉号',
|
|
554
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
555
|
+
r7c1: '淬火件编码',
|
|
556
|
+
r7c2: item.quenching_material_code,
|
|
557
|
+
r7c3: '材料牌号',
|
|
558
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
559
|
+
r8c1: '产品物料号',
|
|
560
|
+
r8c2: item.material_code,
|
|
561
|
+
r8c3: '热处理批号',
|
|
562
|
+
r8c4: item.center_data[0]?.heat_batch_number,
|
|
563
|
+
r9c1: '产品型号',
|
|
564
|
+
r9c2: item.material_model,
|
|
565
|
+
r9c3: '收货人员',
|
|
566
|
+
r9c4: item.center_data[0]?.consignee,
|
|
567
|
+
r10c1: '返工总数',
|
|
568
|
+
r10c2: item.rework_count,
|
|
569
|
+
r10c3: '本批数量',
|
|
570
|
+
r10c4: item.center_data[0]?.batch_count,
|
|
571
|
+
r11c1: '返工工序',
|
|
572
|
+
r11c2: item.rework_process_names,
|
|
573
|
+
r11c3: '返工期限',
|
|
574
|
+
r11c4: item.rework_dead_line,
|
|
575
|
+
r12c1: '生产日期',
|
|
576
|
+
r12c2: item.product_date,
|
|
577
|
+
r12c3: '',
|
|
578
|
+
r12c4: '',
|
|
579
|
+
|
|
580
|
+
/** ----循环的数据---------------- **/
|
|
581
|
+
r30c1: '不良项目',
|
|
582
|
+
r30c2: badStr, // 渲染数组不良项目的'值'
|
|
583
|
+
r40c1: '备注',
|
|
584
|
+
r40c2: item.remark, // 备注
|
|
585
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
// 成品工厂-装配标识卡(为尚工厂无装配标识卡)
|
|
589
|
+
else if (
|
|
590
|
+
item.card_state == 'ZHUANGPEI' &&
|
|
591
|
+
item.is_finished_goods == 2
|
|
592
|
+
) {
|
|
593
|
+
// 如果有children ,就循环获取其中值
|
|
594
|
+
let badNum = item.children?.length || 0
|
|
595
|
+
let badList: {
|
|
596
|
+
id: number | string
|
|
597
|
+
label: string
|
|
598
|
+
value: string
|
|
599
|
+
}[] = []
|
|
600
|
+
let nqbm = '' // 内圈编码
|
|
601
|
+
let nqph = '' // 内圈批号
|
|
602
|
+
let wqbm = '' // 内圈编码
|
|
603
|
+
let wqph = '' // 内圈批号
|
|
604
|
+
if (item.children && badNum > 0) {
|
|
605
|
+
item.children?.forEach((badItem: any) => {
|
|
606
|
+
let objbad = { id: '', label: '', value: '' }
|
|
607
|
+
if (badItem.category == '内圈') {
|
|
608
|
+
nqbm = badItem.material_code || ''
|
|
609
|
+
nqph = badItem.b2b_batch_number || ''
|
|
610
|
+
} else if (badItem.category == '外圈') {
|
|
611
|
+
wqbm = badItem.material_code || ''
|
|
612
|
+
wqph = badItem.b2b_batch_number || ''
|
|
613
|
+
} else {
|
|
614
|
+
objbad = {
|
|
615
|
+
id: badItem.card_code,
|
|
616
|
+
label: badItem.category + '批号',
|
|
617
|
+
value: badItem.b2b_batch_number,
|
|
618
|
+
}
|
|
619
|
+
if (badItem.category) {
|
|
620
|
+
badList.push(objbad)
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
})
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
let obj1 = {
|
|
627
|
+
card_state: item.card_state,
|
|
628
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
629
|
+
factoryType: item.is_finished_goods,
|
|
630
|
+
r1c2: '装配标识卡',
|
|
631
|
+
r1c3: '产品类别',
|
|
632
|
+
r1c4: item.material_name, // 产品类别
|
|
633
|
+
r2c1: '成品编码',
|
|
634
|
+
r2c2: item.material_code,
|
|
635
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
636
|
+
r3c1: '成品型号',
|
|
637
|
+
r3c2: item.material_model,
|
|
638
|
+
r4c1: '客户名称/代号',
|
|
639
|
+
r4c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
640
|
+
r5c1: '工单号',
|
|
641
|
+
r5c2: item.wip_order_number,
|
|
642
|
+
r5c4: item.card_code, // 标识卡号
|
|
643
|
+
r6c1: '外圈编码',
|
|
644
|
+
r6c2: wqbm,
|
|
645
|
+
r6c3: '内圈编码',
|
|
646
|
+
r6c4: nqbm,
|
|
647
|
+
r7c1: '外圈批号',
|
|
648
|
+
r7c2: wqph,
|
|
649
|
+
r7c3: '内圈批号',
|
|
650
|
+
r7c4: nqph,
|
|
651
|
+
}
|
|
652
|
+
// 获取obj1最后一条属性的行号列号
|
|
653
|
+
// 获取obj1最后一条属性
|
|
654
|
+
let lastKey = Object.keys(obj1)[Object.keys(obj1).length - 1]
|
|
655
|
+
// 获取行号
|
|
656
|
+
let row = Number(parseInt(lastKey.split('r')[1].split('c')[0]))
|
|
657
|
+
// 获取列号
|
|
658
|
+
let column = Number(lastKey.split('c')[1])
|
|
659
|
+
|
|
660
|
+
// 通过循环badList数组,将数组中的每一项合并到obj中
|
|
661
|
+
let obj2 = {}
|
|
662
|
+
for (let i = 0; i < badList.length; i++) {
|
|
663
|
+
const item = badList[i]
|
|
664
|
+
const rowIndex = Math.floor(i / 2) + (row + 1) // 从r8c1开始这里就是8
|
|
665
|
+
const columnIndex = (i % 2) * 2 + 1
|
|
666
|
+
obj2[`r${rowIndex}c${columnIndex}`] = item.label
|
|
667
|
+
obj2[`r${rowIndex}c${columnIndex + 1}`] = item.value
|
|
668
|
+
// 页面中只渲染到了 r20c4
|
|
669
|
+
}
|
|
670
|
+
let obj3 = {
|
|
671
|
+
r50c1: '本箱数量',
|
|
672
|
+
r50c2: item.current_inventory,
|
|
673
|
+
r50c3: '本批数量',
|
|
674
|
+
r50c4: item.center_data[0]?.batch_count,
|
|
675
|
+
r51c1: '本工序',
|
|
676
|
+
r51c2: item.process_name,
|
|
677
|
+
r51c3: '下工序',
|
|
678
|
+
r51c4: item.next_process_name,
|
|
679
|
+
r52c1: '操作员',
|
|
680
|
+
r52c2: item.report_user_name,
|
|
681
|
+
r52c3: '生产日期',
|
|
682
|
+
r52c4: item.product_date,
|
|
683
|
+
r53c1: '检验员',
|
|
684
|
+
r53c2: item.center_data[0]?.inspector,
|
|
685
|
+
r53c3: '检验日期',
|
|
686
|
+
r53c4: item.center_data[0]?.inspect_time,
|
|
687
|
+
r54c1: '流转批次号',
|
|
688
|
+
r54c2: item.flow_lot_number,
|
|
689
|
+
r55c1: '备注',
|
|
690
|
+
r55c2: item.remark,
|
|
691
|
+
}
|
|
692
|
+
// 将 obj1, obj2, obj3 合并到obj的后面
|
|
693
|
+
Object.assign(obj, obj1, obj2, obj3)
|
|
694
|
+
}
|
|
695
|
+
// 为尚工厂-装配标识卡(为尚工厂无装配标识卡)
|
|
696
|
+
else if (
|
|
697
|
+
item.card_state == 'ZHUANGPEI' &&
|
|
698
|
+
item.is_finished_goods == 1
|
|
699
|
+
) {
|
|
700
|
+
obj = {
|
|
701
|
+
card_state: item.card_state,
|
|
702
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
703
|
+
factoryType: item.is_finished_goods,
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
// 成品工厂-料废标识卡
|
|
707
|
+
else if (
|
|
708
|
+
item.card_state == 'LIAOFEI' &&
|
|
709
|
+
item.is_finished_goods == 2
|
|
710
|
+
) {
|
|
711
|
+
// 如果有不良项目,就循环获取其中值
|
|
712
|
+
let badNum = item.bad_item_list?.length || 0
|
|
713
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
714
|
+
if (item.bad_item_list && badNum > 0) {
|
|
715
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
716
|
+
let objbad = {
|
|
717
|
+
id: badItem.id,
|
|
718
|
+
label: badItem.content,
|
|
719
|
+
value: badItem.scrap_detail_number,
|
|
720
|
+
}
|
|
721
|
+
badList.push(objbad)
|
|
722
|
+
})
|
|
723
|
+
}
|
|
724
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
725
|
+
let badStr = badList
|
|
726
|
+
.slice(4)
|
|
727
|
+
.map((badItem: any) => {
|
|
728
|
+
let l = badItem.label
|
|
729
|
+
let v = badItem.value || ''
|
|
730
|
+
return l + ':' + v
|
|
731
|
+
})
|
|
732
|
+
.join(',')
|
|
733
|
+
|
|
734
|
+
obj = {
|
|
735
|
+
card_state: item.card_state,
|
|
736
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
737
|
+
factoryType: item.is_finished_goods,
|
|
738
|
+
r1c2: '料废标识卡',
|
|
739
|
+
r1c3: '产品类别',
|
|
740
|
+
r1c4: item.material_name,
|
|
741
|
+
r2c1: '物料编码',
|
|
742
|
+
r2c2: item.material_code,
|
|
743
|
+
r2c4: baseUrls + item.qr_code_path,
|
|
744
|
+
r3c1: '产品型号',
|
|
745
|
+
r3c2: item.material_model,
|
|
746
|
+
r4c1: '生产厂商',
|
|
747
|
+
r4c2: item.supplier_name,
|
|
748
|
+
r5c1: '材料厂商',
|
|
749
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
750
|
+
r5c4: item.card_code,
|
|
751
|
+
r6c1: '采购单号',
|
|
752
|
+
r6c2: item.center_data[0]?.purchase_number,
|
|
753
|
+
r6c3: '材料炉号',
|
|
754
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
755
|
+
r7c1: '采购单行号',
|
|
756
|
+
r7c2: item.center_data[0]?.purchase_order,
|
|
757
|
+
r7c3: '材料批次',
|
|
758
|
+
r7c4: item.center_data[0]?.material_batch_number,
|
|
759
|
+
r8c1: '料废总数',
|
|
760
|
+
r8c2: item.storage_scrap_count,
|
|
761
|
+
r8c3: '生产日期',
|
|
762
|
+
r8c4: item.product_date,
|
|
763
|
+
r9c1: '工序',
|
|
764
|
+
r9c2: item.process_name,
|
|
765
|
+
r9c3: '规格',
|
|
766
|
+
r9c4: item.specification,
|
|
767
|
+
r10c1: '规值',
|
|
768
|
+
r10c2: item.value,
|
|
769
|
+
r10c3: '提交人',
|
|
770
|
+
r10c4: item.opt_user_name,
|
|
771
|
+
r11c1: '检验员',
|
|
772
|
+
r11c2: item.center_data[0]?.inspector,
|
|
773
|
+
r11c3: '检验日期',
|
|
774
|
+
r11c4: item.center_data[0]?.inspect_time,
|
|
775
|
+
r12c1: '热处理批号',
|
|
776
|
+
r12c2: item.center_data[0]?.heat_batch_number, // 热处理批号
|
|
777
|
+
r12c3: '工单号',
|
|
778
|
+
r12c4: item.wip_order_number, // 工单号
|
|
779
|
+
|
|
780
|
+
/** ----循环的数据-------------------------------- **/
|
|
781
|
+
r30c1: badList[0]?.label, // 渲染数组第0行的'建'
|
|
782
|
+
r30c2: badList[0]?.value, // 渲染数组第0行的'值'
|
|
783
|
+
r30c3: badList[1]?.label, // 渲染数组第1行的'建'
|
|
784
|
+
r30c4: badList[1]?.value, // 渲染数组第1行的'值'
|
|
785
|
+
r31c1: badList[2]?.label, // 渲染数组第2行的'建'
|
|
786
|
+
r31c2: badList[2]?.value, // 渲染数组第2行的'值'
|
|
787
|
+
r31c3: badList[3]?.label, // 渲染数组第3行的'建'
|
|
788
|
+
r31c4: badList[3]?.value, // 渲染数组第3行的'值'
|
|
789
|
+
r32c1: '其他', // 渲染数组第3行的'建'
|
|
790
|
+
r32c2: badStr, // 渲染数组第3行的'值'
|
|
791
|
+
|
|
792
|
+
r40c1: '备注', // 备注
|
|
793
|
+
r40c2: item.remark, // 备注
|
|
794
|
+
r41c1: item.center_data[0]?.b2b_batch_number, //条形码文本:只有批次序列号
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
// 为尚工厂-料废标识卡
|
|
798
|
+
else if (
|
|
799
|
+
item.card_state == 'LIAOFEI' &&
|
|
800
|
+
item.is_finished_goods == 1
|
|
801
|
+
) {
|
|
802
|
+
// 如果有不良项目,就循环获取其中值
|
|
803
|
+
let badNum = item.bad_item_list?.length || 0
|
|
804
|
+
let badList: { id: number; label: string; value: string }[] = []
|
|
805
|
+
if (item.bad_item_list && badNum > 0) {
|
|
806
|
+
item.bad_item_list?.forEach((badItem: any) => {
|
|
807
|
+
let objbad = {
|
|
808
|
+
id: badItem.id,
|
|
809
|
+
label: badItem.content,
|
|
810
|
+
value: badItem.scrap_detail_number,
|
|
811
|
+
}
|
|
812
|
+
badList.push(objbad)
|
|
813
|
+
})
|
|
814
|
+
}
|
|
815
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
816
|
+
let badStr = badList
|
|
817
|
+
// .slice(4)
|
|
818
|
+
.map((badItem: any) => {
|
|
819
|
+
let l = badItem.label
|
|
820
|
+
let v = badItem.value || ''
|
|
821
|
+
return l + ':' + v
|
|
822
|
+
})
|
|
823
|
+
.join(',')
|
|
824
|
+
|
|
825
|
+
obj = {
|
|
826
|
+
card_state: item.card_state,
|
|
827
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
828
|
+
factoryType: item.is_finished_goods,
|
|
829
|
+
r1c2: '料废标识卡',
|
|
830
|
+
r1c3: '产品类别',
|
|
831
|
+
r1c4: item.material_name, // 产品类别
|
|
832
|
+
r2c1: '分布场所代号',
|
|
833
|
+
r2c2: item.center_data[0]?.distribute_place_name,
|
|
834
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
835
|
+
r3c1: '客户名称',
|
|
836
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
837
|
+
r4c1: '供应商',
|
|
838
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
839
|
+
r5c1: '材料厂家',
|
|
840
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
841
|
+
r5c4: item.card_code, // 标识卡号
|
|
842
|
+
|
|
843
|
+
r6c1: '淬火件型号',
|
|
844
|
+
r6c2: item.quenching_material_model,
|
|
845
|
+
r6c3: '材料炉号',
|
|
846
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
847
|
+
r7c1: '淬火件编码',
|
|
848
|
+
r7c2: item.quenching_material_code,
|
|
849
|
+
r7c3: '材料牌号',
|
|
850
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
851
|
+
r8c1: '产品物料号',
|
|
852
|
+
r8c2: item.material_code,
|
|
853
|
+
r8c3: '库位',
|
|
854
|
+
r8c4: item.location_name,
|
|
855
|
+
r9c1: '产品型号',
|
|
856
|
+
r9c2: item.material_model,
|
|
857
|
+
r9c3: '收货人员',
|
|
858
|
+
r9c4: item.center_data[0]?.consignee,
|
|
859
|
+
r10c1: '料废总数',
|
|
860
|
+
r10c2: item.storage_scrap_count,
|
|
861
|
+
r10c3: '单重',
|
|
862
|
+
r10c4: item.piece_weight + item.piece_weight_unit,
|
|
863
|
+
r11c1: '工序',
|
|
864
|
+
r11c2: item.process_name,
|
|
865
|
+
r11c3: '本批数量',
|
|
866
|
+
r11c4: item.center_data[0]?.batch_count,
|
|
867
|
+
r12c1: '生产日期',
|
|
868
|
+
r12c2: item.product_date,
|
|
869
|
+
r12c3: '提交人',
|
|
870
|
+
r12c4: item.opt_user_name,
|
|
871
|
+
|
|
872
|
+
/** ----循环的数据---------------- **/
|
|
873
|
+
r30c1: '不良项目',
|
|
874
|
+
r30c2: badStr, // 渲染数组不良项目的'值'
|
|
875
|
+
r40c1: '备注',
|
|
876
|
+
r40c2: item.remark, // 备注
|
|
877
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
// (成品工厂-为尚工厂)-账物卡
|
|
881
|
+
else if (item.card_state == 'ZHANGWU') {
|
|
882
|
+
// 如果有不良项目,就循环获取其中值
|
|
883
|
+
// 获取 badList[4] 以后项的 value 拼接成字符串
|
|
884
|
+
obj = {
|
|
885
|
+
card_state: item.card_state,
|
|
886
|
+
factoryType: item.is_finished_goods, // 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
887
|
+
r1c2: '账物卡',
|
|
888
|
+
r1c3: '部件类型',
|
|
889
|
+
r1c4: item.material_name,
|
|
890
|
+
r2c1: '产品编码',
|
|
891
|
+
r2c2: item.material_name
|
|
892
|
+
? item.material_name + '/' + item.material_type
|
|
893
|
+
: item.material_type,
|
|
894
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
895
|
+
r3c1: '产品型号',
|
|
896
|
+
r3c2: item.material_model,
|
|
897
|
+
r4c1: '批次序列号',
|
|
898
|
+
r4c2: item.center_data[0]?.b2b_batch_number,
|
|
899
|
+
r5c1: '生产厂商',
|
|
900
|
+
r5c2: item.center_data[0]?.supplier_name,
|
|
901
|
+
r5c4: item.card_code, // 标识卡号
|
|
902
|
+
r6c1: '材料厂商',
|
|
903
|
+
r6c2: item.center_data[0]?.material_manufacturer,
|
|
904
|
+
r6c3: '材料炉号',
|
|
905
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
906
|
+
r7c1: '规值',
|
|
907
|
+
r7c2: item.value,
|
|
908
|
+
r7c3: '材料批次',
|
|
909
|
+
r7c4: item.center_data[0]?.material_batch_number,
|
|
910
|
+
data: [
|
|
911
|
+
{
|
|
912
|
+
opt_time: item.opt_time, // 日期
|
|
913
|
+
sr: item.record_type === 1 ? item.inventory : '', // 收入
|
|
914
|
+
fc: item.record_type === 2 ? item.inventory : '', // 发出
|
|
915
|
+
balance_count: item.balance_count, //结存
|
|
916
|
+
remark: item.remark, // 签字/备注
|
|
917
|
+
},
|
|
918
|
+
],
|
|
919
|
+
|
|
920
|
+
r41c1: item.flow_lot_number
|
|
921
|
+
? item.flow_lot_number
|
|
922
|
+
: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
// 成品工厂-毛坯标识卡
|
|
926
|
+
else if (item.card_state == 'MAOPI' && item.is_finished_goods == 2) {
|
|
927
|
+
obj = {
|
|
928
|
+
card_state: item.card_state, // 标识卡类型
|
|
929
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
930
|
+
factoryType: item.is_finished_goods,
|
|
931
|
+
r1c2: '毛坯标识卡',
|
|
932
|
+
r1c3: '产品类别', // (为 类型/名称 拼接)
|
|
933
|
+
r1c4: item.material_name,
|
|
934
|
+
r2c1: '分布场所代号',
|
|
935
|
+
r2c2: item.center_data[0]?.distribute_place_name,
|
|
936
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
937
|
+
r3c1: '客户名称',
|
|
938
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
939
|
+
r4c1: '供应商',
|
|
940
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
941
|
+
r5c1: '材料厂家',
|
|
942
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
943
|
+
r5c4: item.card_code, // 标识卡号
|
|
944
|
+
|
|
945
|
+
r6c1: '淬火件型号',
|
|
946
|
+
r6c2: item.quenching_material_model,
|
|
947
|
+
r6c3: '材料炉号',
|
|
948
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
949
|
+
r7c1: '淬火件编码',
|
|
950
|
+
r7c2: item.quenching_material_code,
|
|
951
|
+
r7c3: '材料牌号',
|
|
952
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
953
|
+
r8c1: '产品物料号',
|
|
954
|
+
r8c2: item.material_code,
|
|
955
|
+
r8c3: '库位',
|
|
956
|
+
r8c4: item.location_name,
|
|
957
|
+
r9c1: '产品型号',
|
|
958
|
+
r9c2: item.material_model,
|
|
959
|
+
r9c3: '收货人员',
|
|
960
|
+
r9c4: item.center_data[0]?.consignee,
|
|
961
|
+
r10c1: '净重',
|
|
962
|
+
r10c2: item.net_weight + item.net_weight_unit,
|
|
963
|
+
r10c3: '单重',
|
|
964
|
+
r10c4: item.piece_weight + item.piece_weight_unit,
|
|
965
|
+
r11c1: '产线',
|
|
966
|
+
r11c2: item.line_name,
|
|
967
|
+
r11c3: '工单号',
|
|
968
|
+
r11c4: item.wip_order_number,
|
|
969
|
+
r12c1: '本箱数量',
|
|
970
|
+
r12c2: item.current_inventory,
|
|
971
|
+
r12c3: '本批数量',
|
|
972
|
+
r12c4: item.center_data[0]?.batch_count,
|
|
973
|
+
r13c1: '总箱数',
|
|
974
|
+
r13c2: item.total_row,
|
|
975
|
+
r13c3: '生产日期',
|
|
976
|
+
r13c4: item.product_date,
|
|
977
|
+
r14c1: '热处理批号',
|
|
978
|
+
r14c2: item.center_data[0]?.heat_batch_number,
|
|
979
|
+
r14c3: '件数规格',
|
|
980
|
+
r14c4: item.center_data[0]?.case_count_str,
|
|
981
|
+
r15c1: '包装方式',
|
|
982
|
+
r15c2: item.packaging_specifications_name,
|
|
983
|
+
r15c3: '',
|
|
984
|
+
r15c4: '',
|
|
985
|
+
|
|
986
|
+
r40c1: '备注', // 备注
|
|
987
|
+
r40c2: item.remark, // 备注key
|
|
988
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本666
|
|
989
|
+
}
|
|
990
|
+
// obj = {
|
|
991
|
+
// card_state: item.card_state, // 标识卡类型
|
|
992
|
+
// // 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
993
|
+
// factoryType: item.is_finished_goods,
|
|
994
|
+
// r1c2: '毛坯标识卡',
|
|
995
|
+
// r1c3: '产品类别',
|
|
996
|
+
// r1c4: item.material_name,
|
|
997
|
+
// r2c1: '物料编码',
|
|
998
|
+
// r2c2: item.material_code,
|
|
999
|
+
// r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
1000
|
+
// r3c1: '产品型号',
|
|
1001
|
+
// r3c2: item.material_model,
|
|
1002
|
+
// r4c1: '供应商',
|
|
1003
|
+
// r4c2: item.center_data[0]?.supplier_name,
|
|
1004
|
+
// r5c1: '材料厂商',
|
|
1005
|
+
// r5c2: item.center_data[0]?.material_manufacturer,
|
|
1006
|
+
// r5c4: item.card_code, // 标识卡号
|
|
1007
|
+
// r6c1: '本箱数量',
|
|
1008
|
+
// r6c2: item.current_inventory,
|
|
1009
|
+
// r6c3: '生产日期',
|
|
1010
|
+
// r6c4: item.product_date,
|
|
1011
|
+
// r7c1: '检验员',
|
|
1012
|
+
// r7c2: item.center_data[0]?.inspector,
|
|
1013
|
+
// r7c3: '检验日期',
|
|
1014
|
+
// r7c4: item.center_data[0]?.inspect_time,
|
|
1015
|
+
// r8c1: '材料炉号',
|
|
1016
|
+
// r8c2: item.center_data[0]?.material_heat_number,
|
|
1017
|
+
// r8c3: '材料批次',
|
|
1018
|
+
// r8c4: item.center_data[0]?.material_batch_number,
|
|
1019
|
+
// r9c1: '本批数量',
|
|
1020
|
+
// r9c2: item.center_data[0]?.batch_count,
|
|
1021
|
+
// r9c3: '件数规格',
|
|
1022
|
+
// r9c4: item.center_data[0]?.case_count_str,
|
|
1023
|
+
// r10c1: '规值',
|
|
1024
|
+
// r10c2: item.value,
|
|
1025
|
+
// r10c3: '采购单号',
|
|
1026
|
+
// r10c4: item.center_data[0]?.purchase_number,
|
|
1027
|
+
// r11c1: '批次序列号',
|
|
1028
|
+
// r11c2: item.center_data[0]?.b2b_batch_number,
|
|
1029
|
+
// r11c3: '采购单行号',
|
|
1030
|
+
// r11c4: item.center_data[0]?.purchase_order,
|
|
1031
|
+
// r12c1: '热处理批号',
|
|
1032
|
+
// r12c2: item.center_data[0]?.heat_batch_number,
|
|
1033
|
+
// r40c1: '备注', // 备注
|
|
1034
|
+
// r40c2: item.remark, // 备注
|
|
1035
|
+
// r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
1036
|
+
// }
|
|
1037
|
+
}
|
|
1038
|
+
// 为尚工厂-毛坯标识卡
|
|
1039
|
+
else if (item.card_state == 'MAOPI' && item.is_finished_goods == 1) {
|
|
1040
|
+
obj = {
|
|
1041
|
+
card_state: item.card_state,
|
|
1042
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
1043
|
+
factoryType: item.is_finished_goods,
|
|
1044
|
+
r1c2: '毛坯标识卡',
|
|
1045
|
+
r1c3: '产品类别',
|
|
1046
|
+
r1c4: item.material_name,
|
|
1047
|
+
r2c1: '分布场所代号',
|
|
1048
|
+
r2c2: item.material_code,
|
|
1049
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
1050
|
+
r3c1: '客户名称',
|
|
1051
|
+
r3c2: item.customer_name || item.center_data[0]?.customer_name || '',
|
|
1052
|
+
r4c1: '供应商',
|
|
1053
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
1054
|
+
r5c1: '材料厂家',
|
|
1055
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
1056
|
+
r5c4: item.card_code, // 标识卡号
|
|
1057
|
+
|
|
1058
|
+
r6c1: '淬火件型号',
|
|
1059
|
+
r6c2: item.quenching_material_model,
|
|
1060
|
+
r6c3: '材料炉号',
|
|
1061
|
+
r6c4: item.center_data[0]?.material_heat_number,
|
|
1062
|
+
r7c1: '淬火件编码',
|
|
1063
|
+
r7c2: item.quenching_material_code,
|
|
1064
|
+
r7c3: '材料牌号',
|
|
1065
|
+
r7c4: item.center_data[0]?.material_mark,
|
|
1066
|
+
r8c1: '产品物料号',
|
|
1067
|
+
r8c2: item.material_code,
|
|
1068
|
+
r8c3: '收货人员',
|
|
1069
|
+
r8c4: item.center_data[0]?.consignee,
|
|
1070
|
+
r9c1: '产品型号',
|
|
1071
|
+
r9c2: item.material_model,
|
|
1072
|
+
r9c3: '本批数量',
|
|
1073
|
+
r9c4: item.center_data[0]?.batch_count,
|
|
1074
|
+
r10c1: '本箱数量',
|
|
1075
|
+
r10c2: item.current_inventory,
|
|
1076
|
+
r10c3: '单重',
|
|
1077
|
+
r10c4: item.piece_weight + item.piece_weight_unit,
|
|
1078
|
+
r11c1: '总箱数',
|
|
1079
|
+
r11c2: item.total_row,
|
|
1080
|
+
r11c3: '净重',
|
|
1081
|
+
r11c4: item.net_weight + item.net_weight_unit,
|
|
1082
|
+
r12c1: '包装方式',
|
|
1083
|
+
r12c2: item.packaging_specifications_name,
|
|
1084
|
+
r12c3: '生产日期',
|
|
1085
|
+
r12c4: item.product_date,
|
|
1086
|
+
r13c1: '件数规格',
|
|
1087
|
+
r13c2: item.center_data[0]?.case_count_str,
|
|
1088
|
+
r13c3: '',
|
|
1089
|
+
r13c4: '',
|
|
1090
|
+
|
|
1091
|
+
r40c1: '备注',
|
|
1092
|
+
r40c2: item.remark, // 备注
|
|
1093
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
// 成品工厂-材料标识卡
|
|
1097
|
+
else if (
|
|
1098
|
+
item.card_state == 'CAILIAO' &&
|
|
1099
|
+
item.is_finished_goods == 2
|
|
1100
|
+
) {
|
|
1101
|
+
obj = {
|
|
1102
|
+
card_state: item.card_state, // 标识卡类型
|
|
1103
|
+
// 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
1104
|
+
factoryType: item.is_finished_goods,
|
|
1105
|
+
r1c2: '材料标识卡',
|
|
1106
|
+
r1c3: '产品类别',
|
|
1107
|
+
r1c4: item.material_name,
|
|
1108
|
+
r2c1: '物料编码',
|
|
1109
|
+
r2c2: item.material_code,
|
|
1110
|
+
r2c4: baseUrls + item.qr_code_path, // 二维码地址
|
|
1111
|
+
r3c1: '产品型号',
|
|
1112
|
+
r3c2: item.material_model,
|
|
1113
|
+
r4c1: '供应商',
|
|
1114
|
+
r4c2: item.center_data[0]?.supplier_name,
|
|
1115
|
+
r5c1: '材料厂商',
|
|
1116
|
+
r5c2: item.center_data[0]?.material_manufacturer,
|
|
1117
|
+
r5c4: item.card_code, // 标识卡号
|
|
1118
|
+
r6c1: '本箱数量',
|
|
1119
|
+
r6c2: item.current_inventory,
|
|
1120
|
+
r6c3: '生产日期',
|
|
1121
|
+
r6c4: item.product_date,
|
|
1122
|
+
r7c1: '检验员',
|
|
1123
|
+
r7c2: item.center_data[0]?.inspector,
|
|
1124
|
+
r7c3: '检验日期',
|
|
1125
|
+
r7c4: item.center_data[0]?.inspect_time,
|
|
1126
|
+
r8c1: '材料炉号',
|
|
1127
|
+
r8c2: item.center_data[0]?.material_heat_number,
|
|
1128
|
+
r8c3: '材料批次',
|
|
1129
|
+
r8c4: item.center_data[0]?.material_batch_number,
|
|
1130
|
+
r9c1: '本批数量',
|
|
1131
|
+
r9c2: item.center_data[0]?.batch_count,
|
|
1132
|
+
r9c3: '件数规格',
|
|
1133
|
+
r9c4: item.center_data[0]?.case_count_str,
|
|
1134
|
+
r10c1: '规值',
|
|
1135
|
+
r10c2: item.value,
|
|
1136
|
+
r10c3: '采购单号',
|
|
1137
|
+
r10c4: item.center_data[0]?.purchase_number,
|
|
1138
|
+
r11c1: '采购单行号',
|
|
1139
|
+
r11c2: item.center_data[0]?.purchase_order,
|
|
1140
|
+
r40c1: '备注', // 备注
|
|
1141
|
+
r40c2: item.remark, // 备注
|
|
1142
|
+
r41c1: item.center_data[0]?.b2b_batch_number || '', //条形码文本
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
// 为尚工厂-材料标识卡(为尚工厂无材料标识卡)
|
|
1146
|
+
else if (
|
|
1147
|
+
item.card_state == 'CAILIAO' &&
|
|
1148
|
+
item.is_finished_goods == 1
|
|
1149
|
+
) {
|
|
1150
|
+
obj = {
|
|
1151
|
+
card_state: item.card_state,
|
|
1152
|
+
factoryType: item.is_finished_goods, // 工厂类型:1:为尚工厂 | 2:成品工厂
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
// 为尚工厂无:尾料标识卡、装配标识卡、材料标识卡
|
|
1156
|
+
|
|
1157
|
+
dataInfo.push(obj)
|
|
1158
|
+
})
|
|
1159
|
+
console.log('处理好的标识卡信息:', dataInfo)
|
|
1160
|
+
callback(dataInfo)
|
|
1161
|
+
})
|
|
1162
|
+
.catch((err: any) => {
|
|
1163
|
+
console.log('错误: ', err)
|
|
1164
|
+
callback([])
|
|
1165
|
+
})
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
// 处理选中的标识卡为需要的参数结构
|
|
1169
|
+
export function setCardList(rowList: any) {
|
|
1170
|
+
let cParams: any = {
|
|
1171
|
+
card_code: [],
|
|
1172
|
+
}
|
|
1173
|
+
rowList.forEach((item: any) => {
|
|
1174
|
+
item.SRow.forEach((row: any) => {
|
|
1175
|
+
cParams.card_code.push(row.card_code)
|
|
1176
|
+
})
|
|
1177
|
+
cParams.card_code = Array.from(new Set(cParams.card_code))
|
|
1178
|
+
cParams.card_code = cParams.card_code.map((item: any) => item.toString())
|
|
1179
|
+
cParams.card_code = cParams.card_code.map((item: any) => item.trim())
|
|
1180
|
+
})
|
|
1181
|
+
cParams.card_code = cParams.card_code.join(',')
|
|
1182
|
+
|
|
1183
|
+
return cParams
|
|
1184
|
+
}
|