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.
- package/index.ts +1 -0
- package/package.json +4 -2
- package/src/components.d.ts +3 -0
- package/src/fileRelated/README.md +7 -0
- package/src/fileRelated/ciupload.vue +149 -0
- package/src/fileRelated/index/ciupload.ts +4 -0
- package/src/fileRelated/seeFile.vue +160 -0
- package/src/fileRelated/uploadV2.vue +212 -0
- package/src/identificationCard/barCode.vue +63 -0
- package/src/identificationCard/identificationCard.vue +1469 -0
- package/src/identificationCard/index.ts +4 -0
- package/src/identificationCard/read.md +64 -0
- package/src/index.ts +4 -1
- package/src/sortableTable/headerInput.vue +603 -94
- package/src/sortableTable/index/headerInput.ts +4 -0
- package/src/sortableTable/utils/headerPopover.vue +88 -31
- package/src/utils/Dayjs.ts +27 -0
- package/src/utils/baseApi.ts +38 -0
- package/src/utils/cardPrint.ts +689 -0
- package/src/utils/index.ts +1 -0
|
@@ -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
|
+
|
package/src/utils/index.ts
CHANGED