|
@@ -16,11 +16,11 @@ type InspectBillMain = {
|
|
|
jyr: string
|
|
jyr: string
|
|
|
jysl: number | string
|
|
jysl: number | string
|
|
|
bhgsl: number | string
|
|
bhgsl: number | string
|
|
|
- jyhgsl: number | string
|
|
|
|
|
|
|
+ dhsl: number | string
|
|
|
clfs: string
|
|
clfs: string
|
|
|
lysl: number | string
|
|
lysl: number | string
|
|
|
phsl: number | string
|
|
phsl: number | string
|
|
|
- jgpd: string
|
|
|
|
|
|
|
+ pd: string
|
|
|
fj: string
|
|
fj: string
|
|
|
billId?: number | string
|
|
billId?: number | string
|
|
|
}
|
|
}
|
|
@@ -42,15 +42,15 @@ const createEmptyMain = (): InspectBillMain => ({
|
|
|
jyr: '',
|
|
jyr: '',
|
|
|
jysl: 0,
|
|
jysl: 0,
|
|
|
bhgsl: 0,
|
|
bhgsl: 0,
|
|
|
- jyhgsl: '',
|
|
|
|
|
|
|
+ dhsl: '',
|
|
|
clfs: '',
|
|
clfs: '',
|
|
|
lysl: '',
|
|
lysl: '',
|
|
|
phsl: '',
|
|
phsl: '',
|
|
|
- jgpd: '',
|
|
|
|
|
|
|
+ pd: '',
|
|
|
fj: ''
|
|
fj: ''
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-const createEmptyRow = (): IqcInspectBillDetailItemRespVO => ({
|
|
|
|
|
|
|
+const createEmptyRow = (partial: Partial<IqcInspectBillDetailItemRespVO> = {}): IqcInspectBillDetailItemRespVO => ({
|
|
|
sampleCount: '',
|
|
sampleCount: '',
|
|
|
jyxm: '',
|
|
jyxm: '',
|
|
|
bz: '',
|
|
bz: '',
|
|
@@ -76,9 +76,60 @@ const createEmptyRow = (): IqcInspectBillDetailItemRespVO => ({
|
|
|
j17: '',
|
|
j17: '',
|
|
|
j18: '',
|
|
j18: '',
|
|
|
j19: '',
|
|
j19: '',
|
|
|
- j20: ''
|
|
|
|
|
|
|
+ j20: '',
|
|
|
|
|
+ ...partial
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+const DEFAULT_DETAIL_ITEMS: Array<{ jyxm: string; bz: string }> = [
|
|
|
|
|
+ { jyxm: '尺寸A', bz: '1.1±0.05' },
|
|
|
|
|
+ { jyxm: '尺寸B', bz: '77.55 +0.3/-0.1' },
|
|
|
|
|
+ { jyxm: '尺寸C', bz: '1.9 +0.05/0' },
|
|
|
|
|
+ { jyxm: '尺寸D', bz: '0.39±0.04' },
|
|
|
|
|
+ { jyxm: '尺寸E', bz: '3.1+0.15/-0.1' },
|
|
|
|
|
+ { jyxm: '尺寸F', bz: '22.24+0.09/-0.05' },
|
|
|
|
|
+ { jyxm: '尺寸G', bz: '56±0.05' },
|
|
|
|
|
+ { jyxm: '尺寸J', bz: '0.75±0.05' },
|
|
|
|
|
+ { jyxm: '尺寸K', bz: '3.8±0.05' },
|
|
|
|
|
+ { jyxm: '尺寸L', bz: '11.6±0.15' },
|
|
|
|
|
+ { jyxm: '尺寸M', bz: '1.175±0.05' },
|
|
|
|
|
+ { jyxm: '尺寸N', bz: '2.35±0.05' },
|
|
|
|
|
+ { jyxm: '硬度', bz: '抵钉座:HV130-180;抵钉座上盖:HRC41-45' },
|
|
|
|
|
+ { jyxm: '材质', bz: '供方提供材质证明,化学成分符合以下要求。;抵钉座上盖30Cr13:;0.26≤C≤0.35;Si≤1;Mn≤1;P≤0.04;S≤0.03;Ni≤0.6;12≤Cr≤14。;抵钉座06Cr17Ni12Mo2:;C≤0.08;Si≤1;Mn≤2;P≤0.045;S≤0.03;10≤Ni≤14;16≤Cr≤18;2≤Mo≤3' },
|
|
|
|
|
+ { jyxm: '外观', bz: '零件外观无破损、裂纹、氧化、严重碰伤,夹杂物及毛刺,重要型面无碰伤,无多余焊料、漏焊;打标清晰' },
|
|
|
|
|
+ { jyxm: '镀层', bz: '厚度:0.003-0.005mm 材质:镍特氟龙3400A+plus' },
|
|
|
|
|
+ { jyxm: '粗糙度', bz: '表面粗糙度Ra≤0.8μm' },
|
|
|
|
|
+ { jyxm: '耐腐蚀性', bz: '符合YY/T 0149沸水实验法,试验后零件表面不低于b级规定。' }
|
|
|
|
|
+]
|
|
|
|
|
+
|
|
|
|
|
+const createDefaultRows = (): IqcInspectBillDetailItemRespVO[] =>
|
|
|
|
|
+ DEFAULT_DETAIL_ITEMS.map((item) => createEmptyRow({ jyxm: item.jyxm, bz: item.bz }))
|
|
|
|
|
+
|
|
|
|
|
+const emptyToNull = <T>(value: T) => {
|
|
|
|
|
+ if (value === '' || value === undefined) return null
|
|
|
|
|
+ return value
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const mapClfs = (value: any) => {
|
|
|
|
|
+ if (value === '' || value === undefined || value === null) return null
|
|
|
|
|
+ if (value === 0 || value === 1 || value === 2) return value
|
|
|
|
|
+ if (value === '0' || value === '1' || value === '2') return Number(value)
|
|
|
|
|
+ const text = String(value)
|
|
|
|
|
+ if (text === '退货') return 0
|
|
|
|
|
+ if (text === '挑选') return 1
|
|
|
|
|
+ if (text === '让步接收') return 2
|
|
|
|
|
+ return null
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const mapPd = (value: any) => {
|
|
|
|
|
+ if (value === '' || value === undefined || value === null) return null
|
|
|
|
|
+ if (value === 0 || value === 1) return value
|
|
|
|
|
+ if (value === '0' || value === '1') return Number(value)
|
|
|
|
|
+ const text = String(value)
|
|
|
|
|
+ if (text === '合格') return 1
|
|
|
|
|
+ if (text === '不合格') return 0
|
|
|
|
|
+ return null
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
state: () => ({
|
|
state: () => ({
|
|
|
drafts: {} as Record<string, { main: InspectBillMain; details: IqcInspectBillDetailItemRespVO[] }>
|
|
drafts: {} as Record<string, { main: InspectBillMain; details: IqcInspectBillDetailItemRespVO[] }>
|
|
@@ -88,7 +139,7 @@ export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
if (!this.drafts[taskId]) {
|
|
if (!this.drafts[taskId]) {
|
|
|
this.drafts[taskId] = {
|
|
this.drafts[taskId] = {
|
|
|
main: createEmptyMain(),
|
|
main: createEmptyMain(),
|
|
|
- details: [createEmptyRow()]
|
|
|
|
|
|
|
+ details: createDefaultRows()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return this.drafts[taskId]
|
|
return this.drafts[taskId]
|
|
@@ -99,7 +150,7 @@ export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
},
|
|
},
|
|
|
setDetails(taskId: string, details: IqcInspectBillDetailItemRespVO[]) {
|
|
setDetails(taskId: string, details: IqcInspectBillDetailItemRespVO[]) {
|
|
|
const draft = this.ensureDraft(taskId)
|
|
const draft = this.ensureDraft(taskId)
|
|
|
- draft.details = details && details.length ? details : [createEmptyRow()]
|
|
|
|
|
|
|
+ draft.details = details && details.length ? details : createDefaultRows()
|
|
|
},
|
|
},
|
|
|
addDetailRow(taskId: string) {
|
|
addDetailRow(taskId: string) {
|
|
|
const draft = this.ensureDraft(taskId)
|
|
const draft = this.ensureDraft(taskId)
|
|
@@ -129,11 +180,11 @@ export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
jyr: main?.jyr || '',
|
|
jyr: main?.jyr || '',
|
|
|
jysl: main?.jysl ?? 0,
|
|
jysl: main?.jysl ?? 0,
|
|
|
bhgsl: main?.bhgsl ?? 0,
|
|
bhgsl: main?.bhgsl ?? 0,
|
|
|
- jyhgsl: main?.jyhgsl ?? '',
|
|
|
|
|
|
|
+ dhsl: main?.dhsl ?? '',
|
|
|
clfs: main?.clfs || '',
|
|
clfs: main?.clfs || '',
|
|
|
lysl: main?.lysl ?? '',
|
|
lysl: main?.lysl ?? '',
|
|
|
phsl: main?.phsl ?? '',
|
|
phsl: main?.phsl ?? '',
|
|
|
- jgpd: main?.jgpd || '',
|
|
|
|
|
|
|
+ pd: main?.pd || '',
|
|
|
fj: main?.fj || '',
|
|
fj: main?.fj || '',
|
|
|
billId: main?.billId
|
|
billId: main?.billId
|
|
|
}
|
|
}
|
|
@@ -167,7 +218,7 @@ export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
j19: item.j19 || '',
|
|
j19: item.j19 || '',
|
|
|
j20: item.j20 || ''
|
|
j20: item.j20 || ''
|
|
|
}))
|
|
}))
|
|
|
- : [createEmptyRow()]
|
|
|
|
|
|
|
+ : createDefaultRows()
|
|
|
return draft
|
|
return draft
|
|
|
},
|
|
},
|
|
|
async save(taskId: string) {
|
|
async save(taskId: string) {
|
|
@@ -180,13 +231,13 @@ export const useIqcInspectBillStore = defineStore('iqcInspectBill', {
|
|
|
jgbh: draft.main.jgbh,
|
|
jgbh: draft.main.jgbh,
|
|
|
jgbb: draft.main.jgbb,
|
|
jgbb: draft.main.jgbb,
|
|
|
jyr: draft.main.jyr,
|
|
jyr: draft.main.jyr,
|
|
|
- jysl: draft.main.jysl,
|
|
|
|
|
- bhgsl: draft.main.bhgsl,
|
|
|
|
|
- jyhgsl: draft.main.jyhgsl,
|
|
|
|
|
- clfs: draft.main.clfs,
|
|
|
|
|
- lysl: draft.main.lysl,
|
|
|
|
|
- phsl: draft.main.phsl,
|
|
|
|
|
- jgpd: draft.main.jgpd,
|
|
|
|
|
|
|
+ jysl: emptyToNull(draft.main.jysl),
|
|
|
|
|
+ bhgsl: emptyToNull(draft.main.bhgsl),
|
|
|
|
|
+ dhsl: emptyToNull(draft.main.dhsl),
|
|
|
|
|
+ clfs: mapClfs(draft.main.clfs),
|
|
|
|
|
+ lysl: emptyToNull(draft.main.lysl),
|
|
|
|
|
+ phsl: emptyToNull(draft.main.phsl),
|
|
|
|
|
+ pd: mapPd(draft.main.pd),
|
|
|
fj: draft.main.fj,
|
|
fj: draft.main.fj,
|
|
|
details: draft.details.map((item) => ({
|
|
details: draft.details.map((item) => ({
|
|
|
id: item.id,
|
|
id: item.id,
|