Browse Source

Merge branch 'master_hella' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into master_hella

hella_online_20240829
陈薪名 2 months ago
parent
commit
f6f89043f4
  1. 5
      src/api/qms/inspectionRecord/inspectionRecordMain/index.ts
  2. 5
      src/components/Descriptions/src/Descriptions.vue
  3. 1
      src/types/descriptions.d.ts
  4. 158
      src/views/qms/inspectionJob/addForm.vue
  5. 18
      src/views/qms/inspectionQ1/inspectionQ1.data.ts
  6. 52
      src/views/qms/inspectionQ2/inspectionQ2.data.ts
  7. 13
      src/views/qms/inspectionQ3/inspectionQ3.data.ts
  8. 1566
      src/views/qms/inspectionRecord/addForm.vue
  9. 161
      src/views/qms/inspectionRecord/index.vue
  10. 62
      src/views/qms/inspectionRecordFirst/addForm.vue
  11. 5
      src/views/wms/basicDataManage/itemManage/bom/bom.data.ts
  12. 3
      src/views/wms/basicDataManage/itemManage/bom/index.vue
  13. 171
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  14. 7
      src/views/wms/buttMesManage/mesBarCode/index.vue
  15. 290
      src/views/wms/buttMesManage/mesBarCode/mesBarCode.data.ts
  16. 2
      src/views/wms/inventoryManage/package/index.vue
  17. 2
      src/views/wms/inventoryManage/package/package.data.ts
  18. 16
      src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue
  19. 1
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts
  20. 4
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts
  21. 20
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
  22. 9
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
  23. 5
      src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts
  24. 47
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts
  25. 4
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts
  26. 47
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

5
src/api/qms/inspectionRecord/inspectionRecordMain/index.ts

@ -77,3 +77,8 @@ export const publishInspectionRecordMain = async (id) => {
return await request.put({ url: `/qms/inspection-record-main/publish?id=`+id })
}
// 执行检验任务
export const executeInspectionRecordMain = async (data) => {
return await request.put({ url: `/qms/inspection-record-main/execute`, data })
}

5
src/components/Descriptions/src/Descriptions.vue

@ -145,6 +145,11 @@ const showAll = () =>{
data[item.field] !== null ? dayjs(data[item.field]).format(item.dateFormat) : ''
}}
</slot>
<slot v-if="item.valueFilter">
{{
item.valueFilter(data[item.field])
}}
</slot>
<slot v-else-if="item.dictType">
<div v-if="data[item.field]&&Array.isArray(data[item.field])" >
<DictTag :type="item.dictType" :value="cur" v-for="(cur,key) in data[item.field]" :key="key" style="margin-right: 6px;margin-bottom: 6px;"/>

1
src/types/descriptions.d.ts

@ -9,5 +9,6 @@ export interface DescriptionsSchema {
className?: string
labelClassName?: string
dateFormat?: string // add by 星语:支持时间的格式化
valueFilter?: function // 展示的过滤函数
dictType?: string // add by 星语:支持 dict 字典数据
}

158
src/views/qms/inspectionJob/addForm.vue

@ -71,7 +71,11 @@
</span>
</template>
<div class="tabs-box">
<el-collapse v-model="collapseShow">
<el-collapse-item name="1">
<template #title>
<div class="small-title">检验工序</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef">
<el-row :gutter="20">
<el-col :span="12">
@ -104,7 +108,11 @@
</el-col>
</el-row>
</el-form>
</el-collapse-item>
<el-collapse-item name="2">
<template #title>
<div class="small-title">检验特性</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<div>
<el-row :gutter="20">
@ -135,7 +143,9 @@
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionMethodName"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionMethodName
"
disabled
placeholder="请选择检验方法"
/>
@ -149,7 +159,9 @@
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.samplingProcessName"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.samplingProcessName
"
disabled
placeholder="请选择采样过程编码"
/>
@ -178,7 +190,9 @@
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize
"
disabled
placeholder="请输入样品份数"
/>
@ -202,7 +216,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod"
>
<el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod
"
placeholder="请选择结果录入方式"
@change="resultEntryMethodChange($event, item)"
disabled
@ -250,7 +266,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping
"
:disabled="true"
/>
</el-form-item>
@ -282,7 +300,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit
"
:disabled="true"
/>
</el-form-item>
@ -299,7 +319,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit
"
:disabled="true"
/>
</el-form-item>
@ -314,7 +336,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget
"
:disabled="true"
/>
</el-form-item>
@ -343,7 +367,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime
"
type="datetime"
placeholder="请选择开始时间"
style="width: 100%"
@ -357,7 +383,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime
"
type="datetime"
placeholder="请选择结束时间"
style="width: 100%"
@ -386,12 +414,22 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-collapse-item>
<el-collapse-item name="3">
<template #title>
<div class="small-title">检验结果</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<div>
<el-row :gutter="20">
<el-col
:span="24"
v-for="(cur, i) in item.inspectionJobCharacteristicsUpdateReqVO
.recordInspectionQuantifyList"
:key="i"
>
<div
style="
@ -399,12 +437,16 @@
border-radius: 4px;
padding-top: 16px;
margin-bottom: 10px;
">
"
>
<el-row :gutter="20">
<!-- 汇总录入的时候显示 -->
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod ==
1
"
>
<el-form-item label="合格数量" required>
<el-input
@ -416,7 +458,10 @@
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod ==
1
"
>
<el-form-item label="不合格数量" required>
<el-input
@ -428,7 +473,9 @@
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == '0'"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.featureType == '0'
"
>
<el-form-item label="检验值" required>
<el-input
@ -441,7 +488,9 @@
</el-col>
<el-col
:span="12"
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == '1'"
v-if="
item.inspectionJobCharacteristicsUpdateReqVO.featureType == '1'
"
>
<el-form-item label="选定集" required>
<el-select
@ -458,14 +507,13 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span="12"
>
<el-col :span="12">
<el-form-item label="备注">
<el-input
v-model="cur.remark"
placeholder="请输入备注"
type="text" maxlength="200"
type="text"
maxlength="200"
/>
</el-form-item>
</el-col>
@ -482,10 +530,11 @@
</el-row>
</div>
</el-form>
</el-collapse-item>
</el-collapse>
</div>
</el-tab-pane>
</el-tabs>
</div>
<template #footer>
<ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" />
@ -594,6 +643,7 @@ const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema)
const tableAllSchemas = ref(props.tableAllSchemas)
const tableFormRules = ref(props.tableFormRules)
const collapseShow = ref(['1','2','3'])
const data = ref({
code: '',
@ -1361,15 +1411,22 @@ const boxList = ref()
// })
// }
const inspectionValueInput = (item, cur) => {
for ( let i = 0;i < item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.length;i++) {
for (
let i = 0;
i < item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.length;
i++
) {
item.isPass = true
// ,
if (
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)
) {
item.isPass = false
return
@ -1379,8 +1436,11 @@ const inspectionValueInput = (item, cur) => {
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit)
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit)
) {
item.isPass = false
return
@ -1390,8 +1450,11 @@ const inspectionValueInput = (item, cur) => {
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)
) {
item.isPass = false
return
@ -1401,9 +1464,15 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
( parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue
) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false
return
@ -1413,9 +1482,12 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
(parseFloat(cur.inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping)||
parseFloat(cur.inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(cur.inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
) {
item.isPass = false
return
@ -1425,8 +1497,10 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
(parseFloat(cur.inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget)||
parseFloat(cur.inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
(parseFloat(cur.inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false
return
@ -1436,9 +1510,15 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue&&
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue
) > parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue
) < parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false
return

18
src/views/qms/inspectionQ1/inspectionQ1.data.ts

@ -63,8 +63,7 @@ export const Q1 = useCrudSchemas(
field: 'customerCode',
sort: 'custom',
table: {
width: 150,
fixed: 'left'
width: 150
},
form: {
// labelMessage: '信息提示说明!!!',
@ -145,7 +144,7 @@ export const Q1 = useCrudSchemas(
label: '数量',
field: 'qty',
sort: 'custom',
isTable: false,
isTable: true,
isSearch: false,
table: {
width: 150
@ -184,6 +183,9 @@ export const Q1 = useCrudSchemas(
dictClass: 'string',
isSearch: false,
isTable: true,
table: {
width: 180
},
tableForm: {
type: 'Select'
}
@ -195,7 +197,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -205,7 +207,7 @@ export const Q1 = useCrudSchemas(
field: 'responUser',
sort: 'custom',
isSearch: false,
isForm: true,
isForm: false,
form: {
componentProps: {
value: userStore.getUser.nickname,
@ -232,7 +234,7 @@ export const Q1 = useCrudSchemas(
},
{
label: '成本中心',
label: '成本中心代码',
field: 'costCode',
sort: 'custom',
isSearch: false,
@ -274,7 +276,7 @@ export const Q1 = useCrudSchemas(
dictType: DICT_TYPE.CLAIM_REASON,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -283,7 +285,7 @@ export const Q1 = useCrudSchemas(
label: '索赔日期',
field: 'claimTime',
isSearch: false,
isTable: false,
isTable: true,
table: {
width: 180
},

52
src/views/qms/inspectionQ2/inspectionQ2.data.ts

@ -112,7 +112,7 @@ export const Q2 = useCrudSchemas(
}
},
{
label: '供应商码',
label: '供应商码',
field: 'supplierCode',
sort: 'custom',
isSearch: true,
@ -192,6 +192,23 @@ export const Q2 = useCrudSchemas(
}
}
},
{
label: '数量',
field: 'qty',
sort: 'custom',
isTable: true,
isSearch: false,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2
}
}
},
{
label: '单位',
field: 'uom',
@ -214,6 +231,7 @@ export const Q2 = useCrudSchemas(
label: '采购收货单号',
field: 'purchaseReceiptNumber',
sort: 'custom',
isTable: false,
table: {
width: 180
},
@ -263,23 +281,7 @@ export const Q2 = useCrudSchemas(
isTable: false,
isDetail: false
},
{
label: '数量',
field: 'qty',
sort: 'custom',
isTable: false,
isSearch: false,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2
}
}
},
{
label: '编码',
field: 'code',
@ -288,6 +290,9 @@ export const Q2 = useCrudSchemas(
dictClass: 'string',
isSearch: false,
isTable: true,
table: {
width: 180
},
tableForm: {
type: 'Select'
}
@ -300,7 +305,7 @@ export const Q2 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -311,6 +316,9 @@ export const Q2 = useCrudSchemas(
sort: 'custom',
isSearch: false,
isForm: true,
table: {
width: 120
},
form: {
componentProps: {
value: userStore.getUser.nickname,
@ -340,7 +348,7 @@ export const Q2 = useCrudSchemas(
field: 'costCode',
sort: 'custom',
isSearch: false,
isTable: true,
isTable: false,
isForm: true,
form: {
// labelMessage: '信息提示说明!!!',
@ -375,7 +383,7 @@ export const Q2 = useCrudSchemas(
{
label: '索赔日期',
field: 'claimTime',
isForm: false,
isTable: true,
table: {
width: 180
},
@ -396,7 +404,7 @@ export const Q2 = useCrudSchemas(
{
label: '处理时间',
field: 'handleTime',
isForm: false,
isTable: false,
table: {
width: 180
},

13
src/views/qms/inspectionQ3/inspectionQ3.data.ts

@ -173,7 +173,7 @@ export const Q3 = useCrudSchemas(
label: '数量',
field: 'qty',
sort: 'custom',
isTable: false,
isTable: true,
isSearch: false,
table: {
width: 150
@ -223,7 +223,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_LOCATION,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -235,7 +235,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.DEFECT_TYPE,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -247,7 +247,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.PROBLEM_REASON,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -259,7 +259,7 @@ export const Q3 = useCrudSchemas(
dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
isTable: false,
tableForm: {
type: 'Select'
}
@ -270,6 +270,9 @@ export const Q3 = useCrudSchemas(
sort: 'custom',
isSearch: false,
isForm: true,
table: {
width: 120
},
form: {
componentProps: {
value: userStore.getUser.nickname,

1566
src/views/qms/inspectionRecord/addForm.vue

File diff suppressed because it is too large

161
src/views/qms/inspectionRecord/index.vue

@ -1,27 +1,47 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="InspectionRecordMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
<Search
:schema="InspectionRecordMain.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap>
<!-- 列表头部 -->
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName"
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick"
:allSchemas="InspectionRecordMain.allSchemas" />
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="InspectionRecordMain.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<Table v-clientTable :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
<Table
v-clientTable
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort">
}"
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #number="{ row }">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
<ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template>
</Table>
</ContentWrap>
@ -46,27 +66,45 @@
:tableFormRules="InspectionJobPackageRules"
:rules="InspectionTemplateRules"
@submitForm="submitFormExecute"
/>
<Detail
ref="detailRef" :isBasic="false" :allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordDetail.allSchemas" :detailAllSchemasRules="InspectionRecordDetailRules"
ref="detailRef"
:isBasic="false"
:allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordDetail.allSchemas"
:detailAllSchemasRules="InspectionRecordDetailRules"
:apiCreate="InspectionRecordDetailApi.createInspectionRecordDetail"
:apiUpdate="InspectionRecordDetailApi.updateInspectionRecordDetail"
:apiPage="InspectionRecordDetailApi.getInspectionRecordDetailPage"
:apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail" @searchTableSuccessDetail="searchTableSuccessDetail"
:isShowAddBtn="false" :detailButtonIsShow="true"
:apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail"
@searchTableSuccessDetail="searchTableSuccessDetail"
:isShowAddBtn="false"
:detailButtonIsShow="true"
/>
<!-- 包装信息 -->
<ListTable ref="listTableRef" titleName="包装信息" :allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordPackage.allSchemas" :detailAllSchemasRules="InspectionRecordPackageRules"
:list="list"/>
<ListTable
ref="listTableRef"
titleName="包装信息"
:allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordPackage.allSchemas"
:detailAllSchemasRules="InspectionRecordPackageRules"
:list="list"
/>
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionRecordMain, InspectionRecordMainRules, InspectionRecordDetail, InspectionRecordDetailRules,InspectionRecordPackage, InspectionRecordPackageRules,InspectionRecordUser,InspectionRecordUserRules} from './inspectionRecordMain.data'
import {
InspectionRecordMain,
InspectionRecordMainRules,
InspectionRecordDetail,
InspectionRecordDetailRules,
InspectionRecordPackage,
InspectionRecordPackageRules,
InspectionRecordUser,
InspectionRecordUserRules
} from './inspectionRecordMain.data'
// import { InspectionJobPackage,InspectionJobPackageRules} from '../inspectionJob/inspectionJobMain.data'
import * as InspectionRecordPackageApi from '@/api/qms/inspectionRecord/InspectionRecordPackage/InspectionRecordPackage'
import * as InspectionRecordMainApi from '@/api/qms/inspectionRecord/inspectionRecordMain'
@ -75,7 +113,7 @@
import ListTable from '@/components/ListTable/src/ListTable.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import UseAddForm from './useAddForm.vue'
import AddForm from '../inspectionJob/addForm.vue'
import AddForm from './addForm.vue'
import Detail from './detail.vue'
import * as InspectionJobMainApi from '@/api/qms/inspectionJob/inspectionJobMain'
@ -100,14 +138,14 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
routeName.value = route.name
const tableColumns = ref(InspectionRecordMain.allSchemas.tableColumns)
if (routeName.value == 'InspectRecordMain') {
tableColumns.value = tableColumns.value.filter(item=>{
tableColumns.value = tableColumns.value.filter((item) => {
return item.label != '操作'
})
}
//
const updataTableColumns = (val) => {
if (routeName.value == 'InspectRecordMain') {
tableColumns.value = val.filter(item=>{
tableColumns.value = val.filter((item) => {
return item.label != '操作'
})
} else {
@ -115,8 +153,6 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
}
}
//
const { tableObject, tableMethods } = useTable({
getListApi: InspectionRecordMainApi.getInspectionRecordMainPage //
@ -130,29 +166,35 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
// defaultButtons.defaultExportBtn(null), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
defaultButtons.defaultSetBtn(null) //
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
if (val == 'add') {
//
openForm('create')
} else if (val == 'import') { //
} else if (val == 'import') {
//
handleImport()
} else if (val == 'export') { //
} else if (val == 'export') {
//
handleExport()
} else if (val == 'refresh') { //
} else if (val == 'refresh') {
//
getList()
} else if (val == 'filtrate') { //
} else { //
} else if (val == 'filtrate') {
//
} else {
//
console.log('其他按钮', item)
}
}
const isShowMainButton = (row, val) => {
if(!row.callbackRequestNumber) {//callbackRequestNumber使
return true;
if (!row.callbackRequestNumber) {
//callbackRequestNumber使
return true
}
if (row.useDecision) {
return row.isPublished
@ -178,15 +220,21 @@ const buttonBaseClick = (val, item) => {
const butttondata = (row) => {
return [
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), //
defaultButtons.mainApplyDecisionBtn({ hide: isShowMainButton(row, null), hasPermi:'qms:inspection-recode-main:edit'}), // 使
defaultButtons.mainApplyDecisionBtn({
hide: isShowMainButton(row, null),
hasPermi: 'qms:inspection-recode-main:edit'
}), // 使
// defaultButtons.mainListDeleteBtn(null), //
defaultButtons.mainListOrderPubBtn({ hide: isShowMainButton(row, 'publish'), hasPermi:'qms:inspection-recode-main:pub'}), //
defaultButtons.mainListOrderPubBtn({
hide: isShowMainButton(row, 'publish'),
hasPermi: 'qms:inspection-recode-main:pub'
}), //
defaultButtons.mainListPackageBtn({ hide: isShowPackageBtn(row, ['11']) }), //
// defaultButtons.mainListJobExeBtn({
// hide:row.useDecision,
// hasPermi: 'qms:inspection-recode-main:execute',
// }), //
defaultButtons.mainListEditBtn({ hide:isShowEditBtn(row,['11'])}), //
defaultButtons.mainListEditBtn({ hide: isShowEditBtn(row, ['11']) }) //
]
}
@ -196,25 +244,27 @@ const buttonBaseClick = (val, item) => {
// const useDecisionList = InspectionRecordMain.allSchemas.formSchema.filter(item=>item.field == "useDecision")
// -
const buttonTableClick = async (val, row) => {
if (val == 'applyDecision') { //
if (val == 'applyDecision') {
//
// 1使
if (row.estimateCode == 1) {
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
if(itemColumn.field == "useDecision"){
itemColumn.componentProps.options=useDecisionList?.filter(item=>item.value==1)
if (itemColumn.field == 'useDecision') {
itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value == 1)
}
})
} else if (row.estimateCode == 2) {
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
if(itemColumn.field == "useDecision"){
itemColumn.componentProps.options=useDecisionList?.filter(item=>item.value!=1)
if (itemColumn.field == 'useDecision') {
itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value != 1)
}
})
}
openUseForm('update', row)
}else if (val == 'mainPackage') { //
} else if (val == 'mainPackage') {
//
list.value = await InspectionRecordPackageApi.getInspectionRecordPackageList(row.id)
list.value.forEach(item=>{
list.value.forEach((item) => {
item.qualifiedAmount = item.qualifiedAmount ? item.qualifiedAmount : 0
item.noQualifiedAmount = item.noQualifiedAmount ? item.noQualifiedAmount : 0
item.destroyAmount = item.destroyAmount ? item.destroyAmount : 0
@ -222,11 +272,14 @@ const buttonBaseClick = (val, item) => {
})
// row.status = '1'
listTableRef.value.openPackage(row, '包装信息', InspectionRecordPackage.allSchemas.tableColumns)
}else if (val == 'delete') { //
} else if (val == 'delete') {
//
handleDelete(row.id)
}else if (val == 'mainOrderPub') { //
} else if (val == 'mainOrderPub') {
//
handleOrderPub(row)
}else if (val == 'edit') { //
} else if (val == 'edit') {
//
//
execute('execute', row)
}
@ -275,7 +328,6 @@ const buttonBaseClick = (val, item) => {
} catch {}
}
//
const execute = async (type: string, row?: number) => {
@ -301,7 +353,7 @@ const execute = async (type: string, row?: number) => {
* tableForm方法
*/
const tableFormKeys = {}
InspectionRecordDetail.allSchemas.tableFormColumns.forEach(item => {
InspectionRecordDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
@ -330,14 +382,16 @@ const submitFormExecute = async (formType, data) => {
console.log(formType, data)
data.status = '2'
try {
basicFormRef.value.formLoading = true
if (formType === 'create') {
await InspectionJobMainApi.createInspectionJobMain(data)
message.success(t('common.createSuccess'))
} else if (formType === 'execute') {
await InspectionJobMainApi.executeInspectionJobMain(data)
await InspectionRecordMainApi.executeInspectionRecordMain(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
//
getList()
} finally {
@ -347,6 +401,14 @@ const submitFormExecute = async (formType, data) => {
//
const searchFormClick = (searchData) => {
let isHave = searchData?.filters?.some((item) => item.column == 'inspectionType')
if (!isHave) {
searchData.filters.push({
action: '!=',
column: 'inspectionType',
value: '11'
})
}
tableObject.params = {
isSearch: true,
filters: searchData.filters
@ -357,7 +419,8 @@ const submitFormExecute = async (formType, data) => {
/** 初始化 **/
onMounted(async () => {
tableObject.params = {
available: true
available: true,
excludeInspectionType: '11'
}
getList()
})

62
src/views/qms/inspectionRecordFirst/addForm.vue

@ -139,7 +139,11 @@
</span>
</template>
<div class="tabs-box">
<el-collapse v-model="collapseShow">
<el-collapse-item name="1">
<template #title>
<div class="small-title">检验工序</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef">
<el-row :gutter="20">
<el-col :span="12">
@ -172,7 +176,11 @@
</el-col>
</el-row>
</el-form>
</el-collapse-item>
<el-collapse-item name="2">
<template #title>
<div class="small-title">检验特性</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<div>
<el-row :gutter="20">
@ -271,7 +279,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod"
>
<el-select
v-model="item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod
"
placeholder="请选择结果录入方式"
@change="resultEntryMethodChange($event, item)"
disabled
@ -319,7 +329,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping
"
:disabled="true"
/>
</el-form-item>
@ -351,7 +363,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit
"
:disabled="true"
/>
</el-form-item>
@ -368,7 +382,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit
"
:disabled="true"
/>
</el-form-item>
@ -383,7 +399,9 @@
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch
v-model="item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget
"
:disabled="true"
/>
</el-form-item>
@ -412,7 +430,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime
"
type="datetime"
placeholder="请选择开始时间"
style="width: 100%"
@ -426,7 +446,9 @@
prop="inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
>
<el-date-picker
v-model="item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime"
v-model="
item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime
"
type="datetime"
placeholder="请选择结束时间"
style="width: 100%"
@ -455,6 +477,15 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-collapse-item>
<el-collapse-item name="3">
<template #title>
<div class="small-title">检验结果</div>
</template>
<el-form :model="item" label-width="auto" :rules="rules" ref="formFeaturesRef">
<el-col
:span="24"
v-for="(cur, i) in item.inspectionJobCharacteristicsUpdateReqVO
@ -551,9 +582,9 @@
</el-row>
</div>
</el-col>
</el-row>
</div>
</el-form>
</el-collapse-item>
</el-collapse>
</div>
</el-tab-pane>
</el-tabs>
@ -662,6 +693,7 @@ const formMainRef = ref()
const formFeaturesRef = ref()
const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema)
const collapseShow = ref(['1','2','3'])
const data = ref({
code: '',
@ -1081,12 +1113,12 @@ const opensearchItemsTable = () => {
column: 'type',
action: 'in',
value: 'BCP,CCP'
},
{
column: 'status',
action: 'in',
value: 'ENABLE'
}
// {
// column: 'status',
// action: 'in',
// value: 'ENABLE'
// }
)
//
_searchCondition.isSearch = true
@ -1178,7 +1210,7 @@ const searchTableSuccess = async (formField, searchField, val, type, row) => {
data.value.inspectionSchemeCode = InspectionSchemeObj?.code || ''
if (!data.value.inspectionSchemeCode) {
data.value.subList = []
return;
return
}
let list = await InspectionJobDetailApi.getBySchemeCode(data.value.inspectionSchemeCode)
editableTabsValue.value = 1

5
src/views/wms/basicDataManage/itemManage/bom/bom.data.ts

@ -82,6 +82,11 @@ export const Bom = useCrudSchemas(reactive<CrudSchema[]>([
isTable: true,
table: {
width: 150
},
form:{
componentProps:{
disabled: true,
}
}
},
{

3
src/views/wms/basicDataManage/itemManage/bom/index.vue

@ -216,6 +216,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
if('componentItemCode'==formField){
setV['componentUom'] = val[0]['uom']
}
formRef.setValues(setV)
})
}

171
src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue

@ -310,7 +310,6 @@
v-model="warehouseType"
placeholder=""
style="width: 110px; margin-right: 10px"
@change="changeWarehouse"
>
<el-option
:label="cur.label"
@ -319,7 +318,56 @@
:key="'仓库'+cur.value"
/>
</el-select>
<el-select
<!-- <el-row class="border-row" style="flex:1;display: flex; flex-direction: row;align-items: center;">
<el-tag class="mr-5px mb-5px"
v-for="tag in formData.configuration.WarehouseCodes"
:key="tag"
closable
:disable-transitions="false"
@close="tagHandleClose(tag,formData.configuration.WarehouseCodes)"
>
{{ tag }}
</el-tag> -->
<!-- 仓库 -->
<el-input style="flex:1" v-show="warehouseType == 'WarehouseCode'" placeholder="请选择仓库" v-model="formData.configuration.WarehouseCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库区 -->
<el-input style="flex:1" v-show="warehouseType == 'AreaCode'" placeholder="请选择库区" v-model="formData.configuration.AreaCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库位组 -->
<el-input style="flex:1" v-show="warehouseType == 'LocationGroupCode'" placeholder="请选择库位组" v-model="formData.configuration.LocationGroupCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- 库位 -->
<el-input style="flex:1" v-show="warehouseType == 'LocationCode'" placeholder="请选择库位" v-model="formData.configuration.LocationCode">
<template #suffix>
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" />
</el-button>
</template>
</el-input>
<!-- </el-row> -->
<!-- <el-select
v-model="formData.configuration.WarehouseCode"
v-if="warehouseType == 'WarehouseCode'"
placeholder="请选择仓库"
@ -335,8 +383,8 @@
:label="cur.code"
:value="cur.code"
/>
</el-select>
<el-select
</el-select> -->
<!-- <el-select
v-model="formData.configuration.AreaCode"
v-if="warehouseType == 'AreaCode'"
placeholder="请选择库区"
@ -387,7 +435,7 @@
:label="cur.code"
:value="cur.code"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<!-- 优先空位库 -->
@ -509,6 +557,10 @@
<TableHead :HeadButttondata="Butttondata" @buttonBaseClick="buttonBaseClick" />
</template>
</Dialog>
<SearchTable
ref="searchTableRef"
@searchTableSuccess="searchTableSuccess"
/>
</template>
<script setup lang="ts">
import * as defaultButtons from '@/utils/disposition/defaultButtons'
@ -520,7 +572,15 @@ import { getAreaList } from '@/api/wms/areabasic'
import { getLocationgroupList } from '@/api/wms/locationgroup'
import { getLocationList } from '@/api/wms/location'
import * as RuleApi from '@/api/wms/rule'
import * as WarehouseApi from '@/api/wms/warehouse'
import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
import * as AreaApi from '@/api/wms/areabasic'
import { Area } from '@/views/wms/basicDataManage/factoryModeling/areabasic/areabasic.data'
import * as LocationgroupApi from '@/api/wms/locationgroup'
import { Locationgroup } from '@/views/wms/basicDataManage/factoryModeling/locationgroup/locationgroup.data'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { isString } from '@/utils/is'
@ -564,6 +624,7 @@ const formData = ref({
configuration: {
//
WarehouseCode: '',
WarehouseCodes: ['Tag 1', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3'],
//
AreaCode: '',
//
@ -674,6 +735,10 @@ const buttonBaseClick = (val, item) => {
dialogVisible.value = false
}
}
const tagHandleClose = (tag: string, list) => {
list.splice(list.indexOf(tag), 1)
}
//
const getFormSupplierList = async () => {
@ -756,6 +821,80 @@ const filterMethodWarehouseList = (query: string) => {
options.warehouseList = options.originWarehouseList
}
}
const searchTableRef = ref()
const searchWarehouse = ()=>{
if(warehouseType.value == 'WarehouseCode'){
//
searchTableRef.value.open(
'请选择仓库',
Warehouse.allSchemas,
WarehouseApi.getWarehousePage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'AreaCode'){
searchTableRef.value.open(
'请选择库区',
Area.allSchemas,
AreaApi.getAreaPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'LocationGroupCode'){
searchTableRef.value.open(
'请选择库位组',
Locationgroup.allSchemas,
LocationgroupApi.getLocationgroupPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}else if(warehouseType.value == 'LocationCode'){
searchTableRef.value.open(
'请选择库位',
Location.allSchemas,
LocationApi.getLocationPage,
'WarehouseCode',
'code',
true,
undefined,
undefined,
undefined
)
}
}
const searchTableSuccess = (formField, searchField, val, type, row) => {
// let searchTableTitle = warehouseType.value == 'WarehouseCode'?'':warehouseType.value == 'AreaCode'?'':warehouseType.value == 'LocationGroupCode'?'':warehouseType.value == 'LocationCode'?'':''
console.log('searchTableSuccess',formField, searchField, val, type, row)
console.log(val.map(item=>(item['code'])).join(','))
formData.value.configuration[warehouseType.value] = val.map(item=>(item['code'])).join(',')
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode']
fields.forEach(item=>{
if(item!=warehouseType.value){
formData.value.configuration[item] = ''
}
})
}
// ///
const changeWarehouse = (e) => {
formData.value.configuration.WarehouseCode = ''
@ -772,6 +911,7 @@ const changeWarehouse = (e) => {
getFormLocationList()
}
}
/** 打开弹窗 */
const open = async (type: string, strategyCode: string, id?: number) => {
@ -780,7 +920,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
dialogTitle.value = t('action.' + type)
formType.value = type
warehouseType.value = 'WarehouseCode'
getFormWarehouseList()
// getFormWarehouseList()
resetForm()
//
@ -817,6 +957,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
if (data.configuration) {
formData.value.configuration = JSON.parse(data.configuration)
}
//
if (formData.value.condition[0].ParamCode == 'SupplierCode') {
getFormSupplierList()
@ -829,25 +970,25 @@ const open = async (type: string, strategyCode: string, id?: number) => {
formData.value.configuration.WarehouseCode
) {
warehouseType.value = 'WarehouseCode'
getFormWarehouseList()
// getFormWarehouseList()
} else if (
'AreaCode' in formData.value.configuration &&
formData.value.configuration.AreaCode
) {
warehouseType.value = 'AreaCode'
getFormAreaList()
// getFormAreaList()
} else if (
'LocationGroupCode' in formData.value.configuration &&
formData.value.configuration.LocationGroupCode
) {
warehouseType.value = 'LocationGroupCode'
getFormLocationgrouList()
// getFormLocationgrouList()
} else if (
'LocationCode' in formData.value.configuration &&
formData.value.configuration.LocationCode
) {
warehouseType.value = 'LocationCode'
getFormLocationList()
// getFormLocationList()
}
} finally {
formLoading.value = false
@ -860,6 +1001,7 @@ const open = async (type: string, strategyCode: string, id?: number) => {
}
}
defineExpose({ open }) // open
@ -965,6 +1107,7 @@ const resetForm = () => {
configuration: {
//
WarehouseCode: '',
// WarehouseCodes: ['Tag 1', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3', 'Tag 2', 'Tag 3'],
//
AreaCode: '',
//
@ -1036,4 +1179,12 @@ const resetForm = () => {
color: var(--el-color-danger);
margin-right:4px;
}
.border-row{
padding:5px;
border:var(--el-border);
border-radius: var(--el-border-radius-base);
}
</style>

7
src/views/wms/buttMesManage/mesBarCode/index.vue

@ -27,6 +27,13 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #type="{row}">
<span v-if="row.type == 'P'||row.type == 'Q'">
{{ row.type == 'P'?'未加密标签':'加密标签'}}
</span>
<span v-else>{{ row.type }}</span>
</template>
<template #plnt="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.plnt)">
<span>{{ row.plnt }}</span>

290
src/views/wms/buttMesManage/mesBarCode/mesBarCode.data.ts

@ -1,6 +1,8 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import { getTenantId } from '@/utils/auth'
let names =[{"text":"1379","value":1},{"text":"1397","value":2},{"text":"2379","value":3}]
let tenant = names.find(item=>item.value == getTenantId())
// 表单校验
export const MesBarCodeRules = reactive({
available: [required],
@ -11,76 +13,103 @@ export const MesBarCodeRules = reactive({
export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
{
label: 'Plnt',
label: '租户',
field: 'plnt',
sort: 'custom',
table: {
width: 120
},
form: {
component: 'InputNumber',
value: 0
},
},
{
label: 'Counter',
field: 'counter',
sort: 'custom',
table: {
width: 150
},
isSearch:true
},
{
label: 'SIGN',
field: 'sign',
sort: 'custom',
table: {
width: 120
},
},
{
label: 'Option',
field: 'option',
sort: 'custom',
table: {
width: 120
},
},
componentProps: {
disabled:true,
value: tenant?.text
},
},
},
// {
// label: 'Counter',
// field: 'counter',
// sort: 'custom',
// table: {
// width: 150
// },
// isSearch:true
// },
// {
// label: 'SIGN',
// field: 'sign',
// sort: 'custom',
// table: {
// width: 120
// },
// },
// {
// label: 'Option',
// field: 'option',
// sort: 'custom',
// table: {
// width: 120
// },
// },
{
label: 'Lower Lim.',
label: 'WMS物料代码',
field: 'lowerLim',
sort: 'custom',
isSearch: true,
table: {
width: 150
},
},
// {
// label: 'UpperLimit',
// field: 'upperLimit',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'ITAC',
// field: 'itac',
// sort: 'custom',
// table: {
// width: 120
// },
// },
{
label: 'UpperLimit',
field: 'upperLimit',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'ITAC',
field: 'itac',
sort: 'custom',
table: {
width: 120
},
},
{
label: 'Type',
label: '灯码标签类型',
field: 'type',
sort: 'custom',
table: {
width: 120
},
form: {
component: 'Select',
componentProps: {
options: [{
label:'未加密标签',
value:'P'
},{
label:'加密标签',
value:'Q'
}],
}
},
detail:{
valueFilter:(value)=>{
if(value=='P'){
return `未加密标签`
}else if(value=='Q'){
return '加密标签'
}else{
return value
}
}
}
},
{
label: 'Length BC',
label: '灯码标签字符总长度',
field: 'lengthBc',
sort: 'custom',
table: {
@ -91,16 +120,16 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
value: 0
},
},
// {
// label: 'Pos. mat',
// field: 'posMat',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: 'Pos. mat',
field: 'posMat',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Length mat',
label: '客户物料代码字符长度',
field: 'lengthMat',
sort: 'custom',
table: {
@ -111,76 +140,77 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
value: 0
},
},
// {
// label: 'Pos. revlv',
// field: 'posRevlv',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: 'Pos. revlv',
field: 'posRevlv',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Part number',
label: '客户物料代码',
field: 'partNumber',
sort: 'custom',
isSearch: true,
table: {
width: 150
},
},
{
label: 'Pack Label',
field: 'packLabel',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'OES-Label',
field: 'oesLabel',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Check Rvl',
field: 'checkRvl',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Days',
field: 'days',
sort: 'custom',
table: {
width: 120
},
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
table: {
width: 120
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
}
},
// {
// label: 'Pack Label',
// field: 'packLabel',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'OES-Label',
// field: 'oesLabel',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'Check Rvl',
// field: 'checkRvl',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: 'Days',
// field: 'days',
// sort: 'custom',
// table: {
// width: 120
// },
// form: {
// component: 'InputNumber',
// value: 0
// },
// },
// {
// label: '是否可用',
// field: 'available',
// sort: 'custom',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// table: {
// width: 120
// },
// form: {
// component: 'Switch',
// value: 'TRUE',
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE'
// }
// }
// },
{
label: '创建时间',
field: 'createTime',
@ -245,14 +275,14 @@ export const MesBarCode = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 120
},
},
// {
// label: '备注',
// field: 'remark',
// sort: 'custom',
// table: {
// width: 120
// },
// },
{
label: '操作',
field: 'action',

2
src/views/wms/inventoryManage/package/index.vue

@ -155,7 +155,7 @@ const buttonBaseClick = (val, item) => {
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:package:update'}), //
// defaultButtons.mainListEditBtn({hasPermi:'wms:package:update'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:package:delete'}), //
defaultButtons.mainListPointBtn(null), //
]

2
src/views/wms/inventoryManage/package/package.data.ts

@ -458,7 +458,7 @@ export const Package = useCrudSchemas(reactive<CrudSchema[]>([
field: 'action',
isForm: false,
table: {
width: 150,
width: 120,
fixed: 'right'
}
}

16
src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue

@ -272,15 +272,15 @@ const buttonOperationClick = async (row, label, index,isSave = false)=> {
}
})
item.rowId = index
if(tableData.value[index].childList.length > 0) {
tableData.value[index].childList.forEach(itemChild => {
if (itemChild.itemCode == item.itemCode) {
item.qty = itemChild.qty
}
})
}else {
// if(tableData.value[index].childList.length > 0) {
// tableData.value[index].childList.forEach(itemChild => {
// if (itemChild.itemCode == item.itemCode) {
// item.qty = itemChild.qty
// }
// })
// }else {
item.qty = item.bomQty * row.qty
}
// }
const obj = await banchBomPage(row.fromLocationCode, item)
item.batch = obj.batch
})

1
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts

@ -96,6 +96,7 @@ export const PurchasereceiptJobMain = useCrudSchemas(
{
label: '运输方式',
field: 'transferMode',
dictType: DICT_TYPE.TRANSFER_MODE,
sort: 'custom',
table: {
width: 150

4
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts

@ -572,8 +572,8 @@ export const PurchasereceiptRequestMainRules = reactive({
ppNumber: [
{ required: true, message: '请输入采购订单', trigger: 'blur' }
],
supplierCode: [
{ required: true, message: '请输入供应商代码', trigger: 'blur' }
poNumber: [
{ required: true, message: '请选择采购订单号', trigger: 'blur' }
],
toWarehouseCode: [
{ required: true, message: '请输入到仓库代码', trigger: 'blur' }

20
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue

@ -233,9 +233,11 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
if (type == 'tableForm') {
//
if (formField == 'purchaseReceiptRecordNumber') {
if (formField == 'asnNumber') {
row[formField] = val[0][searchField]
//--
row['purchaseReceiptRecordNumber'] = val[0]['number']
row['asnNumber'] = val[0]['asnNumber']
row['supplierCode'] = val[0]['supplierCode']
row['poNumber'] = val[0]['poNumber']
row['poLine'] = val[0]['poLine']
@ -311,7 +313,13 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
if (formField == 'supplierCode') {
console.log('formModelformModel',formRef.formModel)
if( formRef.formModel['supplierCode'] != val[0]['code']){
setV['purchaseReceiptRecordNumber'] = ''
setV['asnNumber'] = ''
setV['q2Number'] = ''
tableData.value = []
}
}
if (formField == 'asnNumber') {
if( formRef.formModel['asnNumber'] != val[0]['asnNumber']){
setV['q2Number'] = ''
tableData.value = []
}
@ -319,7 +327,7 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
if (formField == 'q2Number') {
setV['q2Number'] = val[0]['number']
}
if (formField == 'purchaseReceiptRecordNumber') {
if (formField == 'asnNumber') {
// isShowButton.value = false
setV[formField] = val[0][searchField]
setV['purchaseReceiptRecordNumber'] = val[0]['number']
@ -611,7 +619,7 @@ const openForm = async (type: string, row?: number) => {
item.componentProps.disabled = true
item.componentProps.isSearchList = true
}
if (item.field == 'purchaseReceiptRecordNumber') {
if (item.field == 'asnNumber') {
item.componentProps.disabled = true
item.componentProps.isSearchList = true
}
@ -623,7 +631,7 @@ const openForm = async (type: string, row?: number) => {
item.componentProps.disabled = true
item.componentProps.isSearchList = false
}
if (item.field == 'purchaseReceiptRecordNumber') {
if (item.field == 'asnNumber') {
item.componentProps.disabled = true
item.componentProps.isSearchList = false
}
@ -891,7 +899,7 @@ const tableSelectionDelete = (selection) => {
})
nextTick(() => {
const setV = {}
setV['purchaseReceiptRecordNumber'] = ''
setV['asnNumber'] = ''
setV['supplierCode'] = ''
formRef.setValues(setV)
})

9
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts

@ -213,9 +213,12 @@ export const PurchasereturnRequestMain = useCrudSchemas(
}
}
},
{
label: '采购收货记录单号',
field: 'purchaseReceiptRecordNumber',
// label: '采购收货记录单号',
// field: 'purchaseReceiptRecordNumber',
label: '发货单号',
field: 'asnNumber',
sort: 'custom',
table: {
width: 180
@ -226,7 +229,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(
enterSearch: true,
disabled: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择采购收货记录单号', // 输入框占位文本
searchListPlaceholder: '请选择发货单号', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段
searchTitle: '采购收货记录', // 查询弹窗标题
searchAllSchemas: PurchasereceiptRecordMain1.allSchemas, // 查询弹窗所需类

5
src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts

@ -575,7 +575,7 @@ export const PurchasereceiptRequestMainRules = reactive({
ppNumber: [
{ required: true, message: '请输入采购订单', trigger: 'blur' }
],
supplierCode: [
poNumber: [
{ required: true, message: '请输入供应商代码', trigger: 'blur' }
],
toWarehouseCode: [
@ -1376,6 +1376,9 @@ export const PurchasereceiptRequestDetailRules = reactive({
itemCode: [
{ required: true, message: '请输入物料代码', trigger: 'change' }
],
qty: [
{ required: true, message: '请输入收货数量', trigger: 'change' }
],
defaultToLocationCode: [
{ required: true, message: '请选择到库位代码', trigger: 'blur' }
],

47
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts

@ -935,8 +935,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '',
field: '',
label: '系统采购价格',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -966,8 +967,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '',
field: '',
label: '总价差',
field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1062,8 +1064,8 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '差',
field: '',
label: '差',
field: 'totalDifference',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1400,6 +1402,39 @@ export const SupplierinvoiceRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
component: 'InputNumber',
}
},
{
label: '合同金额',
field: 'contractAmountTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '采购金额',
field: 'purchaseAmontTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '总差额',
field: 'differencePriceTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '差额',
field: 'differencePrice',

4
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -1369,8 +1369,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '尾',
field: '',
label: '尾',
field: 'totalDifference',
sortTableDefault: 6,
isForm: false,
isTable: false,

47
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

@ -1256,8 +1256,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '',
field: '',
label: '系统采购价格',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1287,8 +1288,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '',
field: '',
label: '总价差',
field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1383,8 +1385,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '差',
field: '',
label: '差',
field: 'totalDifference',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1752,6 +1754,39 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
precision: 4,
}
},
{
label: '合同金额',
field: 'contractAmountTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '采购金额',
field: 'purchaseAmontTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '总差额',
field: 'differencePriceTotal',
table: {
width: 150
},
isForm:false,
tableForm:{
disabled: true
}
},
{
label: '单价差额',
field: 'differencePrice',

Loading…
Cancel
Save