ci-plus 1.1.1 → 1.1.2

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.
@@ -0,0 +1,689 @@
1
+ /**
2
+ * @module cardPrint
3
+ * @author : 卖女孩的小火柴
4
+ * !description : 标识卡打印
5
+ * @version : 1.0.0
6
+ * @since : 创建时间 2024-03-15 15:16:12
7
+ */
8
+ // import { scan_card_code_get } from '@/api/InventoryBatch'
9
+ import { ElMessage } from 'element-plus'
10
+ import { setDate } from './Dayjs'
11
+ import apis from './baseApi'
12
+ import axios from 'axios'
13
+ const { storageModule } = apis
14
+ let baseUrls = new URL(storageModule).origin + '/' // 图片的地址前缀
15
+ let url = storageModule + 'scan_card_code_get/'
16
+
17
+ export const cardPrint = (
18
+ cParams: any,
19
+ callback: (data: any) => void,
20
+ baseUrl?: string,
21
+ ): any => {
22
+ // 通过表示卡号获取打印信息
23
+ let _URL = baseUrl ? baseUrl : url
24
+ axios
25
+ .get(_URL, {
26
+ params: {
27
+ page: 1,
28
+ ...cParams,
29
+ },
30
+ })
31
+ .then((_res) => {
32
+ console.log('res: ', _res)
33
+ if (_res.data.code != 200) return ElMessage.error(_res.data.msg)
34
+
35
+ let data = _res.data.data
36
+ console.log('data: ', data)
37
+ let dataInfo: any[] = []
38
+ data.forEach((item: any) => {
39
+ let obj = {}
40
+ // 成品工厂-产品标识卡
41
+ if (item.card_state == 'CHANPIN' && item.is_finished_goods == 2) {
42
+ obj = {
43
+ card_state: item.card_state, // 标识卡类型
44
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
45
+ factoryType: item.is_finished_goods,
46
+ r1c2: '产品标识卡',
47
+ r1c4: item.material_code, // 产品类别
48
+ r2c2: item.material_code, // 物料编码
49
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
50
+ r3c2: item.material_model, // 产品型号
51
+ r4c2: item.center_data[0].customer_name, // 客户名称
52
+ r5c2: item.flow_lot_number
53
+ ? item.flow_lot_number
54
+ : item.center_data[0].b2b_batch_number, // 流转批次号:存在就用流转批次号,不存在用批次序列号
55
+ r5c4: item.card_code, // 标识卡号
56
+ r6c2: item.process_name, // 本工序
57
+ r6c4: item.next_process_name, // 下工序
58
+ r7c2: item.current_inventory, // 本箱数量
59
+ r7c4: '', // 操作工/自检员
60
+ r8c2: '', // 巡检员
61
+ r8c4: setDate(item.product_date), // 生产日期
62
+ r9c2: item.value, // 规值
63
+ r9c4: item.material_model, // 规格
64
+ r12c2: item.remark, // 备注
65
+ r13c1: item.flow_lot_number
66
+ ? item.flow_lot_number
67
+ : item.center_data[0].b2b_batch_number, //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
68
+ }
69
+ }
70
+ // 为尚工厂-(产品标识卡\尾料标识卡)
71
+ else if (
72
+ (item.card_state == 'CHANPIN' || item.card_state == 'WEILIAO') &&
73
+ item.is_finished_goods == 1
74
+ ) {
75
+ obj = {
76
+ card_state: item.card_state, // 标识卡类型
77
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
78
+ factoryType: item.is_finished_goods,
79
+ r1c2: '产品标识卡',
80
+ r1c3: '产品类别', // (为 类型/名称 拼接)
81
+ r1c4: item.material_type
82
+ ? item.material_type + '/' + item.material_name
83
+ : item.material_name,
84
+ r2c1: '分布场所代号',
85
+ r2c2: item.center_data[0].store_code,
86
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
87
+ r3c1: '客户名称',
88
+ r3c2: item.center_data[0].customer_name,
89
+ r4c1: '供应商',
90
+ r4c2: item.center_data[0].supplier_name,
91
+ r5c1: '产品型号',
92
+ r5c2: item.material_model,
93
+ r5c4: item.card_code, // 标识卡号
94
+ r6c1: '产品物料号',
95
+ r6c2: item.material_code,
96
+ r6c3: '库位',
97
+ r6c4: item.next_process_code,
98
+ r7c1: '材料炉号',
99
+ r7c2: item.center_data[0].material_heat_number,
100
+ r7c3: '收货人员',
101
+ r7c4: item.center_data[0].consignee,
102
+ r8c1: '材料厂家',
103
+ r8c2: item.center_data[0].material_manufacturer, // 材料厂家
104
+ r8c3: '材料牌号',
105
+ r8c4: item.center_data[0].material_mark,
106
+ r9c1: '抽检结果', // (无)
107
+ r9c2: '',
108
+ r9c3: '单重',
109
+ r9c4: item.piece_weight,
110
+ r10c1: '本箱数量',
111
+ r10c2: item.current_inventory,
112
+ r10c3: '抽检人员',
113
+ r10c4: '', //无
114
+ r11c1: '总箱数',
115
+ r11c2: item.total_row,
116
+ r11c3: '本批数量',
117
+ r11c4: item.center_data[0].batch_count,
118
+ r12c1: '件数规格',
119
+ r12c2: item.center_data[0].case_count_str,
120
+ r12c3: '生产日期',
121
+ r12c4: setDate(item.product_date),
122
+ r13c1: '备注', // 备注
123
+ r13c2: item.remark, // 备注
124
+ r14c1: item.center_data[0].b2b_batch_number, //条形码文本
125
+ }
126
+ }
127
+ // 成品工厂-尾料标识卡(为尚无尾料标识卡,使用为尚的成品标识卡)
128
+ else if (item.card_state == 'WEILIAO' && item.is_finished_goods == 2) {
129
+ obj = {
130
+ card_state: item.card_state,
131
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
132
+ factoryType: item.is_finished_goods,
133
+ r1c2: '尾料标识卡',
134
+ r1c4: item.material_code, // 产品类别
135
+ r2c2: item.material_code, // 物料编码
136
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
137
+ r3c2: item.material_model, // 产品型号
138
+ r4c2: item.center_data[0].customer_name, // 客户名称
139
+ r5c2: item.flow_lot_number
140
+ ? item.flow_lot_number
141
+ : item.center_data[0].b2b_batch_number, // 流转批次号:存在就用流转批次号,不存在用批次序列号
142
+ r5c4: item.card_code, // 标识卡号
143
+ r6c2: '', // 尾料原因
144
+ r7c2: item.process_name, // 本工序
145
+ r7c4: item.next_process_code, // 下工序
146
+ r8c2: item.current_inventory, // 本箱数量
147
+ r8c4: '', // 操作工/自检员
148
+ r9c2: '', // 检检员
149
+ r9c4: setDate(''), // 生产日期
150
+ r10c2: setDate(''), // 检查日期
151
+ r10c4: item.material_model, // 规格
152
+ r11c2: '', // 游隙/尺寸
153
+ r11c4: item.value, // 规值
154
+ r12c2: item.remark, // 备注
155
+ r13c1: item.flow_lot_number
156
+ ? item.flow_lot_number
157
+ : item.center_data[0].b2b_batch_number, //条形码文本:流转批次号存在就用流转批次号,不存在用批次序列号
158
+ }
159
+ }
160
+ // 成品工厂-责废标识卡
161
+ else if (item.card_state == 'ZEFEI' && item.is_finished_goods == 2) {
162
+ // 如果有不良项目,就循环获取其中值
163
+ let badNum = item.bad_item_list?.length || 0
164
+ let badList: { id: number; label: string; value: string }[] = []
165
+ if (item.bad_item_list && badNum > 0) {
166
+ item.bad_item_list?.forEach((badItem: any) => {
167
+ let objbad = {
168
+ id: badItem.id,
169
+ label: badItem.content,
170
+ value: badItem.scrap_detail_number,
171
+ }
172
+ badList.push(objbad)
173
+ })
174
+ }
175
+ // 获取 badList[4] 以后项的 value 拼接成字符串
176
+ let badStr = badList
177
+ .slice(4)
178
+ .map((badItem: any) => {
179
+ let l = badItem.label
180
+ let v = badItem.value || ''
181
+ return l + ':' + v
182
+ })
183
+ .join(',')
184
+
185
+ obj = {
186
+ card_state: item.card_state,
187
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
188
+ factoryType: item.is_finished_goods,
189
+ r1c2: '责废标识卡',
190
+ r1c4: item.category, // 产品类别
191
+ r2c2: item.material_code, // 物料编码
192
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
193
+ r3c2: item.material_model, // 产品型号
194
+ r4c2: item.center_data[0].flow_lot_number, // 流转批次号
195
+ r5c2: item.storage_scrap_count, // 责废总数
196
+ r5c4: item.card_code, // 标识卡号
197
+ r6c2: item.process_name, // 工序
198
+ r6c4: setDate(item.product_date), // 生产日期
199
+ r7c2: item.value, // 规值
200
+ r7c4: item.material_model, // 规格
201
+ r8c2: '', // 提交人
202
+ r8c4: item.opt_user_name, // 责任人
203
+ /** ----循环的数据-------------------------------- **/
204
+ r9c1: badList[0]?.label, // 渲染数组第0行的'建'
205
+ r9c2: badList[0]?.value, // 渲染数组第0行的'值'
206
+ r9c3: badList[1]?.label, // 渲染数组第1行的'建'
207
+ r9c4: badList[1]?.value, // 渲染数组第1行的'值'
208
+ r10c1: badList[2]?.label, // 渲染数组第2行的'建'
209
+ r10c2: badList[2]?.value, // 渲染数组第2行的'值'
210
+ r10c3: badList[3]?.label, // 渲染数组第3行的'建'
211
+ r10c4: badList[3]?.value, // 渲染数组第3行的'值'
212
+ // r11c1: badList[4]?.label,// 渲染数组第4行的'建'
213
+ // r11c2: badList[4]?.value, // 渲染数组第4行的'值'
214
+ r12c1: '其他', // 渲染数组第5及以后行的'建'
215
+ r12c2: badStr, // 渲染数组第5及以后行的'值'
216
+ r13c2: item.remark, // 备注
217
+ r14c1: item.center_data[0].b2b_batch_number, //条形码文本
218
+ }
219
+ }
220
+ // 为尚工厂-责废标识卡
221
+ else if (item.card_state == 'ZEFEI' && item.is_finished_goods == 1) {
222
+ // 如果有不良项目,就循环获取其中值
223
+ let badNum = item.bad_item_list?.length || 0
224
+ let badList: { id: number; label: string; value: string }[] = []
225
+ if (item.bad_item_list && badNum > 0) {
226
+ item.bad_item_list?.forEach((badItem: any) => {
227
+ let objbad = {
228
+ id: badItem.id,
229
+ label: badItem.content,
230
+ value: badItem.scrap_detail_number,
231
+ }
232
+ badList.push(objbad)
233
+ })
234
+ }
235
+ // 获取 badList[4] 以后项的 value 拼接成字符串
236
+ let badStr = badList
237
+ .slice(3)
238
+ .map((badItem: any) => {
239
+ let l = badItem.label
240
+ let v = badItem.value || ''
241
+ return l + ':' + v
242
+ })
243
+ .join(',')
244
+
245
+ obj = {
246
+ card_state: item.card_state,
247
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
248
+ factoryType: item.is_finished_goods,
249
+ r1c2: '责废标识卡',
250
+ r1c3: '产品类别',
251
+ r1c4: item.category, // 产品类别
252
+ r2c1: '分布场所代号', // 建
253
+ r2c2: item.center_data[0]?.distribute_place_name,
254
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
255
+ r3c1: '客户名称', // 建
256
+ r3c2: item.center_data[0]?.customer_name,
257
+ r4c1: '供应商', // 建
258
+ r4c2: item.supplier_name, // 值-供应商
259
+ r5c1: '产品型号', // 建
260
+ r5c2: item.material_model, // 值-产品型号
261
+ r5c4: item.card_code, // 标识卡号
262
+ r6c1: '产品物料号', // 建
263
+ r6c2: item.material_code, // 值
264
+ r6c3: '库位', // 建
265
+ r6c4: item.location_name, // 值
266
+ r7c1: '材料炉号', // 建
267
+ r7c2: item.center_data[0]?.material_heat_number, // 值
268
+ r7c3: '收货人员', // 建
269
+ r7c4: item.center_data[0]?.consignee, // 值
270
+ r8c1: '材料厂家', // 建
271
+ r8c2: item.center_data[0]?.material_manufacturer,
272
+ r8c3: '材料牌号', // 建
273
+ r8c4: '', // 责任人
274
+ r9c1: '总箱数', // 建
275
+ r9c2: item.total_row,
276
+ r9c3: '单重',
277
+ r9c4: item.piece_weight,
278
+ r10c1: '责废总数',
279
+ r10c2: item.storage_scrap_count,
280
+ r10c3: '本批数量',
281
+ r10c4: item.center_data[0]?.batch_count,
282
+ r11c1: '生产日期',
283
+ r11c2: setDate(item.product_date),
284
+ r11c3: '工序',
285
+ r11c4: item.process_name,
286
+ r12c1: '提交人',
287
+ r12c2: item.opt_user_name,
288
+ r12c3: '责任人',
289
+ r12c4: item.duty_user_name,
290
+ /** ----循环的数据-------------------------------- **/
291
+ r13c1: badList[0]?.label, // 渲染数组第0行的'建'
292
+ r13c2: badList[0]?.value, // 渲染数组第0行的'值'
293
+ r13c3: badList[1]?.label, // 渲染数组第1行的'建'
294
+ r13c4: badList[1]?.value, // 渲染数组第1行的'值'
295
+ r14c1: '其他', // 渲染数组第2及以后行的'建'
296
+ r14c2: badStr, // 渲染数组第2及以后行的'值'
297
+ r15c1: '备注', // 备注
298
+ r15c2: item.remark, //条形码文本
299
+ r16c1: item.center_data[0].b2b_batch_number, // 条形码文本
300
+ }
301
+ }
302
+ // 成品工厂-返工标识卡
303
+ else if (item.card_state == 'FANGONG' && item.is_finished_goods == 2) {
304
+ // 如果有不良项目,就循环获取其中值
305
+ let badNum = item.bad_item_list?.length || 0
306
+ let badList: { id: number; label: string; value: string }[] = []
307
+ if (item.bad_item_list && badNum > 0) {
308
+ item.bad_item_list?.forEach((badItem: any) => {
309
+ let objbad = {
310
+ id: badItem.id,
311
+ label: badItem.content,
312
+ value: badItem.scrap_detail_number,
313
+ }
314
+ badList.push(objbad)
315
+ })
316
+ }
317
+ // 获取 badList[4] 以后项的 value 拼接成字符串
318
+ let badStr = badList
319
+ // .slice(4)
320
+ .map((badItem: any) => {
321
+ let l = badItem.label
322
+ let v = badItem.value || ''
323
+ return l + ':' + v
324
+ })
325
+ .join(',')
326
+
327
+ obj = {
328
+ card_state: item.card_state,
329
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
330
+ factoryType: item.is_finished_goods,
331
+ r1c2: '返工标识卡',
332
+ r1c3: '产品类别',
333
+ r1c4: item.material_code, // 产品类别
334
+ r2c1: '物料编码',
335
+ r2c2: item.material_code,
336
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
337
+ r3c1: '产品型号',
338
+ r3c2: item.material_model,
339
+ r4c1: '流转批次号',
340
+ r4c2: item.flow_lot_number,
341
+ r5c1: '返工总数',
342
+ r5c2: item.rework_count,
343
+ r5c4: item.card_code, // 标识卡号
344
+ r6c1: '返工工序',
345
+ r6c2: item.rework_process_names,
346
+ r6c3: '下工序',
347
+ r6c4: item.next_process_name,
348
+ r7c1: '操作员',
349
+ r7c2: item.report_user_name,
350
+ r7c3: '抽检员',
351
+ r7c4: item.rework_check_user_name,
352
+ r8c1: '生产日期',
353
+ r8c2: setDate(item.product_date),
354
+ r8c3: '抽检日期',
355
+ r8c4: setDate(item.opt_time),
356
+ r9c1: '责任团队',
357
+ r9c2: item.duty_team_name,
358
+ r9c3: '返工期限',
359
+ r9c4: item.rework_dead_line,
360
+ r10c1: '处理团队',
361
+ r10c2: item.deal_team_name,
362
+ r10c3: '处理方法',
363
+ r10c4: item.handling_method,
364
+ /** ----循环的数据---------------- **/
365
+ r11c1: '不良项目',
366
+ r11c2: badStr, // 渲染数组不良项目的'值'
367
+ r13c1: '备注',
368
+ r13c2: item.remark, // 备注
369
+ r14c1: item.center_data[0].b2b_batch_number, //条形码文本
370
+ }
371
+ }
372
+ // 为尚工厂-返工标识卡
373
+ else if (item.card_state == 'FANGONG' && item.is_finished_goods == 1) {
374
+ // 如果有不良项目,就循环获取其中值
375
+ let badNum = item.bad_item_list?.length || 0
376
+ let badList: { id: number; label: string; value: string }[] = []
377
+ if (item.bad_item_list && badNum > 0) {
378
+ item.bad_item_list?.forEach((badItem: any) => {
379
+ let objbad = {
380
+ id: badItem.id,
381
+ label: badItem.content,
382
+ value: badItem.scrap_detail_number,
383
+ }
384
+ badList.push(objbad)
385
+ })
386
+ }
387
+ // 获取 badList[4] 以后项的 value 拼接成字符串
388
+ let badStr = badList
389
+ // .slice(4)
390
+ .map((badItem: any) => {
391
+ let l = badItem.label
392
+ let v = badItem.value || ''
393
+ return l + ':' + v
394
+ })
395
+ .join(',')
396
+
397
+ obj = {
398
+ card_state: item.card_state,
399
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
400
+ factoryType: item.is_finished_goods,
401
+ r1c2: '返工标识卡',
402
+ r1c3: '产品类别',
403
+ r1c4: item.material_code, // 产品类别
404
+ r2c1: '分布场所代号',
405
+ r2c2: item.material_code, //
406
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
407
+ r3c1: '客户名称',
408
+ r3c2: item.material_model, // 流转批次号
409
+ r4c1: '供应商',
410
+ r4c2: item.supplier_name,
411
+ r5c1: '产品型号',
412
+ r5c2: item.material_model, //
413
+ r5c4: item.card_code, // 标识卡号
414
+ r6c1: '产品物料号',
415
+ r6c2: item.material_code,
416
+ r6c3: '热处理批号',
417
+ r6c4: item.hot_batch_number,
418
+ r7c1: '材料炉号',
419
+ r7c2: item.material_heat_number,
420
+ r7c3: '收货人员',
421
+ r7c4: item.entry_user_code,
422
+ r8c1: '材料厂商',
423
+ r8c2: '',
424
+ r8c3: '抽检结果',
425
+ r8c4: '',
426
+ r9c1: '返工工序',
427
+ r9c2: item.rework_process_names,
428
+ r9c3: '返工总数',
429
+ r9c4: item.rework_count,
430
+ r10c1: '总箱数',
431
+ r10c2: item.total_row,
432
+ r10c3: '生产日期',
433
+ r10c4: setDate(item.product_date),
434
+ r11c1: '本批数量',
435
+ r11c2: '',
436
+ r11c3: '抽检人员',
437
+ r11c4: item.rework_check_user_name,
438
+ r12c1: '返工期限',
439
+ r12c2: item.rework_dead_line,
440
+ r12c3: '抽检日期',
441
+ r12c4: setDate(item.opt_time),
442
+ /** ----循环的数据---------------- **/
443
+ r13c1: '不良项目',
444
+ r13c2: badStr, // 渲染数组不良项目的'值'
445
+ r14c1: '备注',
446
+ r14c2: item.remark, // 备注
447
+ r15c1: item.center_data[0].b2b_batch_number, //条形码文本
448
+ }
449
+ }
450
+ // 成品工厂-装配标识卡(为尚工厂无装配标识卡)
451
+ else if (
452
+ item.card_state == 'ZHUANGPEI' &&
453
+ item.is_finished_goods == 2
454
+ ) {
455
+ // 如果有不良项目,就循环获取其中值
456
+ obj = {
457
+ card_state: item.card_state,
458
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
459
+ factoryType: item.is_finished_goods,
460
+ r1c2: '装配标识卡',
461
+ r1c3: '产品类别',
462
+ r1c4: item.material_code, // 产品类别
463
+ r2c1: '成品编码',
464
+ r2c2: item.material_code,
465
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
466
+ r3c1: '成品型号',
467
+ r3c2: item.material_model,
468
+ r4c1: '客户名称/代号',
469
+ r4c2: item.flow_lot_number,
470
+ r5c1: '装配批次号',
471
+ r5c2: item.rework_count,
472
+ r5c4: item.card_code, // 标识卡号
473
+ r6c1: '外圈编码',
474
+ r6c2: item.rework_process_names,
475
+ r6c3: '内圈编码',
476
+ r6c4: item.next_process_name,
477
+ r7c1: '外圈批号',
478
+ r7c2: item.report_user_name,
479
+ r7c3: '内圈批号',
480
+ r7c4: item.rework_check_user_name,
481
+ r8c1: '滚子批号',
482
+ r8c2: '',
483
+ r8c3: '密封件批号',
484
+ r8c4: '',
485
+ r9c1: '油脂批号',
486
+ r9c2: item.duty_team_name,
487
+ r9c3: '保持器批号',
488
+ r9c4: item.rework_dead_line,
489
+ r10c1: '密封件批号',
490
+ r10c2: item.deal_team_name,
491
+ r10c3: '尺寸/游隙',
492
+ r10c4: item.handling_method,
493
+ r11c1: '本工序',
494
+ r11c2: '',
495
+ r11c3: '下工序',
496
+ r11c4: '',
497
+ r12c1: '本箱数量',
498
+ r12c2: '',
499
+ r12c3: '操作员',
500
+ r12c4: '',
501
+ r13c1: '质检员',
502
+ r13c2: '',
503
+ r13c3: '生产日期',
504
+ r13c4: setDate(item.opt_time),
505
+ r14c1: '质检日期',
506
+ r14c: setDate(item.opt_time),
507
+ r15c1: '备注',
508
+ r15c2: item.remark,
509
+ }
510
+ }
511
+ // 为尚工厂-装配标识卡(为尚工厂无装配标识卡)
512
+ else if (
513
+ item.card_state == 'ZHUANGPEI' &&
514
+ item.is_finished_goods == 1
515
+ ) {
516
+ obj = {
517
+ card_state: item.card_state,
518
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
519
+ factoryType: item.is_finished_goods,
520
+ }
521
+ }
522
+ // 成品工厂-料废标识卡
523
+ else if (item.card_state == 'LIAOFEI' && item.is_finished_goods == 2) {
524
+ // 如果有不良项目,就循环获取其中值
525
+ let badNum = item.bad_item_list?.length || 0
526
+ let badList: { id: number; label: string; value: string }[] = []
527
+ if (item.bad_item_list && badNum > 0) {
528
+ item.bad_item_list?.forEach((badItem: any) => {
529
+ let objbad = {
530
+ id: badItem.id,
531
+ label: badItem.content,
532
+ value: badItem.scrap_detail_number,
533
+ }
534
+ badList.push(objbad)
535
+ })
536
+ }
537
+ // 获取 badList[4] 以后项的 value 拼接成字符串
538
+ let badStr = badList
539
+ .slice(3)
540
+ .map((badItem: any) => {
541
+ let l = badItem.label
542
+ let v = badItem.value || ''
543
+ return l + ':' + v
544
+ })
545
+ .join(',')
546
+
547
+ obj = {
548
+ card_state: item.card_state,
549
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
550
+ factoryType: item.is_finished_goods,
551
+ r1c2: '料废标识卡',
552
+ r1c4: item.category, // 产品类别
553
+ r2c2: item.material_code, // 物料编码
554
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
555
+ r3c2: item.material_model, // 产品型号
556
+ r4c2: item.center_data[0]?.flow_lot_number, // 流转批次号
557
+ r5c2: item.center_data[0]?.supplier_name, // 生产厂商
558
+ r5c4: item.card_code, // 标识卡号
559
+ r6c2: item.storage_scrap_count, // 料废总数
560
+ r6c4: item.process_name, // 工序
561
+ r7c2: setDate(item.product_date), // 生产日期
562
+ r7c4: item.value, // 规值
563
+ r8c2: item.material_model, // 规格
564
+ r8c4: item.opt_user_name, // 提交人
565
+ r9c2: '', // 检验员
566
+ /** ----循环的数据-------------------------------- **/
567
+ r9c3: badList[0]?.label, // 渲染数组第0行的'建'
568
+ r9c4: badList[0]?.value, // 渲染数组第0行的'值'
569
+ r10c1: badList[1]?.label, // 渲染数组第1行的'建'
570
+ r10c2: badList[1]?.value, // 渲染数组第1行的'值'
571
+ r10c3: badList[2]?.label, // 渲染数组第2行的'建'
572
+ r10c4: badList[2]?.value, // 渲染数组第2行的'值'
573
+ r11c1: '其他', // 渲染数组第3行的'建'
574
+ r11c2: badStr, // 渲染数组第3行的'值'
575
+ r13c1: '备注',
576
+ r13c2: item.remark, // 备注
577
+ r14c1: item.center_data[0]?.b2b_batch_number, //条形码文本
578
+ }
579
+ }
580
+ // 为尚工厂-料废标识卡
581
+ else if (item.card_state == 'LIAOFEI' && item.is_finished_goods == 1) {
582
+ // 如果有不良项目,就循环获取其中值
583
+ let badNum = item.bad_item_list?.length || 0
584
+ let badList: { id: number; label: string; value: string }[] = []
585
+ if (item.bad_item_list && badNum > 0) {
586
+ item.bad_item_list?.forEach((badItem: any) => {
587
+ let objbad = {
588
+ id: badItem.id,
589
+ label: badItem.content,
590
+ value: badItem.scrap_detail_number,
591
+ }
592
+ badList.push(objbad)
593
+ })
594
+ }
595
+ // 获取 badList[4] 以后项的 value 拼接成字符串
596
+ let badStr = badList
597
+ // .slice(4)
598
+ .map((badItem: any) => {
599
+ let l = badItem.label
600
+ let v = badItem.value || ''
601
+ return l + ':' + v
602
+ })
603
+ .join(',')
604
+
605
+ obj = {
606
+ card_state: item.card_state,
607
+ // 工厂类型:1:为尚工厂 | 2:成品工厂
608
+ factoryType: item.is_finished_goods,
609
+ r1c2: '料废标识卡',
610
+ r1c3: '产品类别',
611
+ r1c4: item.category, // 产品类别
612
+ r2c1: '分布场所代号',
613
+ r2c2: item.center_data[0]?.distribute_place_name,
614
+ r2c4: baseUrls + item.qr_code_path, // 二维码地址
615
+ r3c1: '客户名称',
616
+ r3c2: item.center_data[0]?.customer_name,
617
+ r4c1: '供应商',
618
+ r4c2: item.supplier_name,
619
+ r5c1: '产品型号',
620
+ r5c2: item.material_model,
621
+ r5c4: item.card_code, // 标识卡号
622
+ r6c1: '产品物料号',
623
+ r6c2: item.material_code,
624
+ r6c3: '库位',
625
+ r6c4: item.location_name,
626
+ r7c1: '材料炉号',
627
+ r7c2: item.center_data[0]?.material_heat_number,
628
+ r7c3: '收货人员',
629
+ r7c4: item.center_data[0]?.consignee,
630
+ r8c1: '材料厂商',
631
+ r8c2: item.center_data[0]?.material_manufacturer,
632
+ r8c3: '材料品牌',
633
+ r8c4: '',
634
+ r9c1: '总箱数',
635
+ r9c2: item.total_row,
636
+ r9c3: '单重',
637
+ r9c4: item.piece_weight,
638
+ r10c1: '料废总数',
639
+ r10c2: item.storage_scrap_count,
640
+ r10c3: '本批数量',
641
+ r10c4: item.center_data[0]?.batch_count,
642
+ r11c1: '生产日期',
643
+ r11c2: setDate(item.product_date),
644
+ r11c3: '工序',
645
+ r11c4: item.process_name,
646
+ r12c1: '提交人',
647
+ r12c2: item.opt_user_name,
648
+ // r12c3: '责任人',
649
+ // r12c4: '',
650
+ /** ----循环的数据---------------- **/
651
+ r13c1: '不良项目',
652
+ r13c2: badStr, // 渲染数组不良项目的'值'
653
+ r14c1: '备注',
654
+ r14c2: item.remark, // 备注
655
+ r15c1: item.center_data[0].b2b_batch_number, //条形码文本
656
+ }
657
+ }
658
+
659
+ dataInfo.push(obj)
660
+ })
661
+ console.log('dataInfo: ', dataInfo)
662
+ callback(dataInfo)
663
+ })
664
+ .catch((err) => {
665
+ console.log('err: ', err)
666
+ callback([])
667
+ })
668
+ }
669
+
670
+ // 处理选中的标识卡为需要的参数结构
671
+ export function setCardList(rowList: any) {
672
+ let cParams: any = {
673
+ card_code: [],
674
+ }
675
+ rowList.forEach((item: any) => {
676
+ item.SRow.forEach((row: any) => {
677
+ cParams.card_code.push(row.card_code)
678
+ })
679
+ cParams.card_code = Array.from(new Set(cParams.card_code))
680
+ cParams.card_code = cParams.card_code.map((item: any) => item.toString())
681
+ cParams.card_code = cParams.card_code.map((item: any) => item.trim())
682
+ })
683
+ cParams.card_code = cParams.card_code.join(',')
684
+
685
+ return cParams
686
+ }
687
+
688
+ export default cardPrint
689
+
@@ -1 +1,2 @@
1
1
  export { default as withInstall } from './withinstall/index';
2
+ export { default as cardPrint } from './cardPrint';