Browse Source

Merge remote-tracking branch 'origin/master_hella' into master_hella

hella_online_20240829
gaojs 5 months ago
parent
commit
2a4ce80df1
  1. 4
      src/api/wms/packageoverJobMain/index.ts
  2. 4
      src/components/BasicForm/src/BasicForm.vue
  3. 7
      src/components/TableForm/src/TableForm.vue
  4. 13
      src/utils/validator.ts
  5. 30
      src/views/eam/equipmentMainPart/equipmentMainPart.data.ts
  6. 44
      src/views/eam/itemAccounts/index.vue
  7. 3
      src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts
  8. 10
      src/views/eam/sparePartsApplyMain/index.vue
  9. 4
      src/views/qms/aql/aql.data.ts
  10. 1
      src/views/qms/counter/counter.data.ts
  11. 19
      src/views/qms/inspectionJob/addForm.vue
  12. 77
      src/views/qms/inspectionScheme/addForm.vue
  13. 3
      src/views/qms/inspectionScheme/index.vue
  14. 3
      src/views/qms/inspectionTemplate/addForm.vue
  15. 2
      src/views/system/user/index.vue
  16. 27
      src/views/wms/countManage/count/countJobMain/countJobMain.data.ts
  17. 35
      src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts
  18. 25
      src/views/wms/countManage/count/countRequestMain/countRequestMain.data.ts
  19. 32
      src/views/wms/countManage/countadjust/countadjustRecordMain/countadjustRecordMain.data.ts
  20. 27
      src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts
  21. 36
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue
  22. 18
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts
  23. 32
      src/views/wms/issueManage/issue/issueRequestMain/index.vue
  24. 47
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  25. 9
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue
  26. 18
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
  27. 7
      src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts
  28. 19
      src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue
  29. 13
      src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts

4
src/api/wms/packageoverJobMain/index.ts

@ -69,6 +69,10 @@ export const updatePackageoverJobMain = async (data: PackageoverJobMainVO) => {
export const deletePackageoverJobMain = async (id: number) => { export const deletePackageoverJobMain = async (id: number) => {
return await request.delete({ url: `/wms/packageover-job-main/delete?id=` + id }) return await request.delete({ url: `/wms/packageover-job-main/delete?id=` + id })
} }
// 关闭翻包任务主
export const closePackageoverJobMain = async (id: number) => {
return await request.put({ url: `/wms/packageover-job-main/close?id=` + id })
}
// 导出翻包任务主 Excel // 导出翻包任务主 Excel
export const exportPackageoverJobMain = async (params) => { export const exportPackageoverJobMain = async (params) => {

4
src/components/BasicForm/src/BasicForm.vue

@ -615,12 +615,14 @@ const submitForm = async () => {
formLoading.value = true formLoading.value = true
if (formType.value == 'create') { if (formType.value == 'create') {
const validateForm = await tableFormRef.value.validateForm() const validateForm = await tableFormRef.value.validateForm()
if (props.tableFormDataLength) { if (!validateForm && props.tableFormDataLength) {
if (props.tableData.length == 0) { if (props.tableData.length == 0) {
message.warning('请填写明细信息!') message.warning('请填写明细信息!')
formLoading.value = false formLoading.value = false
return return
} }
formLoading.value = false
return
} }
// //
try { try {

7
src/components/TableForm/src/TableForm.vue

@ -62,8 +62,8 @@
:prop="headerItem.field" :prop="headerItem.field"
:align="headerItem?.tableForm?.align || 'center'" :align="headerItem?.tableForm?.align || 'center'"
:sortable="headerItem?.tableForm?.sortable || false" :sortable="headerItem?.tableForm?.sortable || false"
:width="headerItem?.tableForm?.width || '200px'" :width="headerItem?.tableForm?.width"
:min-width="headerItem?.tableForm?.minWidth || 'auto'" :min-width="headerItem?.tableForm?.minWidth || '200px'"
> >
<el-form <el-form
ref="TableBaseForm_Ref" ref="TableBaseForm_Ref"
@ -607,6 +607,9 @@ const TableBaseForm_Ref = ref()
const validateForm = () => { const validateForm = () => {
console.log(TableBaseForm_Ref.value) console.log(TableBaseForm_Ref.value)
let _lists = TableBaseForm_Ref.value?.map((v) => v.validate()) let _lists = TableBaseForm_Ref.value?.map((v) => v.validate())
if(!_lists ||_lists.length == 0){
return false
}
return Promise.all(_lists) return Promise.all(_lists)
.then(() => { .then(() => {
return true return true

13
src/utils/validator.ts

@ -788,6 +788,19 @@ export function validatePercent(rule, value, callback){
} }
} }
export function validateSampleCode(rule, value, callback){
if (value) {
const orgReg =/[A-Z]/
if (orgReg.test(value)) {
callback()
} else {
callback(new Error('样本字码错误'))
}
} else {
callback()
}
}
export default { export default {
validateCode, validateCode,
validateEmail, validateEmail,

30
src/views/eam/equipmentMainPart/equipmentMainPart.data.ts

@ -5,10 +5,11 @@ import { dateFormatter } from '@/utils/formatTime'
export const EquipmentMainPartRules = reactive({ export const EquipmentMainPartRules = reactive({
name: [required], name: [required],
code: [required], code: [required],
type: [required], type: [required]
}) })
export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([ export const EquipmentMainPart = useCrudSchemas(
reactive<CrudSchema[]>([
{ {
label: 'id', label: 'id',
field: 'id', field: 'id',
@ -16,19 +17,19 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: false, isSearch: false,
isTable: false, isTable: false,
isForm: false, isForm: false,
isDetail:false, isDetail: false
}, },
{ {
label: '编码', label: '编码',
field: 'code', field: 'code',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true
}, },
{ {
label: '名称', label: '名称',
field: 'name', field: 'name',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true
}, },
{ {
label: '类型', label: '类型',
@ -55,7 +56,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
} }
}, },
isForm: false, isForm: false
}, },
{ {
label: '部门id', label: '部门id',
@ -64,13 +65,13 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: false, isSearch: false,
isTable: false, isTable: false,
isForm: false, isForm: false,
isDetail:false, isDetail: false
}, },
{ {
label: '备注', label: '备注',
field: 'remark', field: 'remark',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false
}, },
{ {
label: '地点ID', label: '地点ID',
@ -79,7 +80,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: false, isSearch: false,
isTable: false, isTable: false,
isForm: false, isForm: false,
isDetail:false, isDetail: false
}, },
{ {
label: '是否启用', label: '是否启用',
@ -91,7 +92,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isDetail: false, isDetail: false,
isSearch: false, isSearch: false,
isTableForm: false, isTableForm: false,
isForm: false, isForm: false
}, },
{ {
label: '删除时间', label: '删除时间',
@ -116,7 +117,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
type: 'datetime', type: 'datetime',
valueFormat: 'x' valueFormat: 'x'
} }
}, }
}, },
{ {
label: '删除人id', label: '删除人id',
@ -125,7 +126,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: false, isSearch: false,
isTable: false, isTable: false,
isForm: false, isForm: false,
isDetail:false, isDetail: false
}, },
{ {
label: '并发乐观锁', label: '并发乐观锁',
@ -138,7 +139,7 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
component: 'InputNumber', component: 'InputNumber',
value: 0 value: 0
}, }
}, },
{ {
label: '操作', label: '操作',
@ -149,4 +150,5 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
fixed: 'right' fixed: 'right'
} }
} }
])) ])
)

44
src/views/eam/itemAccounts/index.vue

@ -31,9 +31,9 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{ row }"> <template #itemNumber="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.itemNumber)">
<span>{{ row.code }}</span> <span>{{ row.itemNumber }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
@ -42,13 +42,6 @@
@button-base-click="buttonTableClick($event, row)" @button-base-click="buttonTableClick($event, row)"
/> />
</template> </template>
<!-- <template #upload="{ row }">
<ButtonBase
v-if="row.filePathList != null && row.filePathList.length != 0"
:Butttondata="butttondataView(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> -->
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -67,7 +60,20 @@
<SearchTable ref="searchTableRef" @searchTableSuccess="submitItem" /> <SearchTable ref="searchTableRef" @searchTableSuccess="submitItem" />
<!-- 详情 --> <!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="ItemAccounts.allSchemas" /> <DetailLedger
ref="detailRef"
:isBasic="true"
:allSchemas="ItemAccounts.allSchemas"
:subTabs="subTabList"
:operationRecordList="operationRecordList"
@handleOperationTabsChange="handleOperationTabsChange"
:detailAllSchemas="detailAllSchemas"
:apiPage="apiPage"
:dialogApiPage="dialogApiPage"
:dialogAllSchemas="dialogAllSchemas"
:dynamicInfoFields="dynamicInfoFields"
funcCode="tool_mould_file"
/>
<!-- 导入 --> <!-- 导入 -->
<ImportForm <ImportForm
@ -309,6 +315,20 @@ const openForm = (type: string, row?: any) => {
urls.value = row.filePathList urls.value = row.filePathList
viewKey.value += 1 viewKey.value += 1
} else { } else {
if (type == 'create') {
ItemAccounts.allSchemas.formSchema.forEach((item) => {
if (item.field == 'qty') {
item.componentProps.disabled = false
}
})
} else if (type == 'update') {
ItemAccounts.allSchemas.formSchema.forEach((item) => {
if (item.field == 'qty') {
item.componentProps.disabled = true
}
})
}
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
} }
@ -340,7 +360,7 @@ const formsSuccess = async (formType, data) => {
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => { const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicItemAccounts') detailRef.value.openDetail(row, titleName, titleValue, 'ItemAccounts')
} }
/** 删除按钮操作 */ /** 删除按钮操作 */

3
src/views/eam/sparePartsApplyMain/SparePartsApply.data.ts

@ -208,7 +208,7 @@ export const SparePartsApplyMain = useCrudSchemas(
isForm: false isForm: false
}, },
{ {
label: '操作11', label: '操作',
field: 'action', field: 'action',
isForm: false, isForm: false,
table: { table: {
@ -257,7 +257,6 @@ export const SparePartsApplyDetail = useCrudSchemas(
searchListPlaceholder: '请选择备件编号', // 输入框占位文本 searchListPlaceholder: '请选择备件编号', // 输入框占位文本
searchField: 'itemNumber', // 查询弹窗赋值字段 searchField: 'itemNumber', // 查询弹窗赋值字段
searchTitle: '备件信息', // 查询弹窗标题 searchTitle: '备件信息', // 查询弹窗标题
searchAllSchemas: ItemAccounts.allSchemas, // 查询弹窗所需类 searchAllSchemas: ItemAccounts.allSchemas, // 查询弹窗所需类
searchPage: ItemAccountsApi.getItemAccountsPage, // 查询弹窗所需分页方法 searchPage: ItemAccountsApi.getItemAccountsPage, // 查询弹窗所需分页方法
searchCondition: [ searchCondition: [

10
src/views/eam/sparePartsApplyMain/index.vue

@ -254,11 +254,11 @@ const butttondata = (row) => {
defaultButtons.mainListApproveBtn({ defaultButtons.mainListApproveBtn({
hide: isShowStatusButton(row, ['3']), hide: isShowStatusButton(row, ['3']),
hasPermi: 'eam:spare-parts-in-location-main:approve' hasPermi: 'eam:spare-parts-in-location-main:approve'
}), // }) //
defaultButtons.mainListFinishBtn({ // defaultButtons.mainListFinishBtn({
hide: isShowStatusButton(row, ['4']), // hide: isShowStatusButton(row, ['4']),
hasPermi: 'eam:spare-parts-in-location-main:finish' // hasPermi: 'eam:spare-parts-in-location-main:finish'
}) // // }) //
] ]
} }

4
src/views/qms/aql/aql.data.ts

@ -1,13 +1,13 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import { getSamplingScheme } from "@/api/qms/aql"; import { getSamplingScheme } from "@/api/qms/aql";
import { validateNum } from "@/utils/validator"; import {validateNum, validateSampleCode} from "@/utils/validator";
// 表单校验 // 表单校验
export const AqlRules = reactive({ export const AqlRules = reactive({
code: [required], code: [required],
inspectionQualification: [required], inspectionQualification: [required],
sampleCharacterCode: [required, {max: 1, message: '长度不得超过1个字符', trigger: 'blur' }], sampleCharacterCode: [required, {max: 1, message: '长度不得超过1个字符', trigger: 'blur' }, {validator: validateSampleCode, message: '请输入1个大写字母', trigger: 'blur' }],
sampleQty: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], sampleQty: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],

1
src/views/qms/counter/counter.data.ts

@ -30,6 +30,7 @@ export const Counter = useCrudSchemas(reactive<CrudSchema[]>([
field: 'inspectionType', field: 'inspectionType',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
dictType: DICT_TYPE.INSPECTION_TYPE,
table: { table: {
width: 175 width: 175
} }

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

@ -2,7 +2,8 @@
<div> <div>
<Dialog :title="dialogTitle" v-model="dialogVisible" :width="dialogWidth" :close-on-click-modal="false" <Dialog :title="dialogTitle" v-model="dialogVisible" :width="dialogWidth" :close-on-click-modal="false"
:vLoading="formLoading"> :vLoading="formLoading">
<div style="max-height: 80vh; overflow-y: auto; padding: 0px 20px"> <div class="box" style="max-height: 80vh; overflow-y: auto; padding: 0px 20px" ref="mianscroll">
<el-backtop :right="40" :bottom="100" target='.box' @click="topScrollClick"/>
<Form ref="formMainRef" :rules="rules" :schema="formSchema" :is-col="true" @opensearchTable="opensearchTable" /> <Form ref="formMainRef" :rules="rules" :schema="formSchema" :is-col="true" @opensearchTable="opensearchTable" />
<div class="small-title">包装列表</div> <div class="small-title">包装列表</div>
<div style="border:1px solid #dedede;margin-bottom:20px;display: flex;"> <div style="border:1px solid #dedede;margin-bottom:20px;display: flex;">
@ -444,8 +445,8 @@
inspectionValue: '', // inspectionValue: '', //
qualitativeCode: '', // qualitativeCode: '', //
defectLevel: '', // defectLevel: '', //
qualifiedQuantity: '', // qualifiedQuantity: parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(6)), //
unqualifiedQuantity: '' // unqualifiedQuantity: '0' //
} }
) )
} }
@ -1031,6 +1032,12 @@
cur.defectLevel = obj.defectLevel cur.defectLevel = obj.defectLevel
cur.estimateCode = obj.estimateCode cur.estimateCode = obj.estimateCode
} }
const mianscroll =ref()
const topScrollClick=()=> {
nextTick(() => {
mianscroll.value.scrollTo({ top: 550, behavior: 'smooth' });
})
}
</script> </script>
<style scoped> <style scoped>
.small-title { .small-title {
@ -1042,11 +1049,15 @@
</style> </style>
<style> <style>
.el-tabs--left .el-tabs__header.is-left { .el-tabs--left .el-tabs__header.is-left {
min-height: 700px !important; padding-bottom: 5000px;
margin-bottom: -5000px;
min-width: 150px !important; min-width: 150px !important;
} }
.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { .el-tabs--left.el-tabs--border-card .el-tabs__item.is-left {
min-width: 120px !important; min-width: 120px !important;
} }
.el-backtop{
position: absolute!important;
}
</style> </style>

77
src/views/qms/inspectionScheme/addForm.vue

@ -819,6 +819,76 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
isShowField.value = 0 //isShowField == 0aql isShowField.value = 0 //isShowField == 0aql
if (row) { if (row) {
data.value = JSON.parse(JSON.stringify(row)) data.value = JSON.parse(JSON.stringify(row))
//
if(formType.value == 'create'){
data.value.id = ''
data.value.code = ''
data.value.itemCode = ''
data.value.process= []
let list =[]
if (row.content) {
list = JSON.parse(row.content)
} else {
list = await InspectionProcessPageApi.getListByTempleteCode(row.programmeTemplateCode)
}
let arr = []
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
console.log(item.inspectionCharacteristicsBaseVO)
let obj = {
inspectionCode:item.inspectionCode,
description:item.description,
inspectionCharCode:item.inspectionCharCode,
sequenceCode:item.sequenceCode,
name : index + 1,
inspectionCharacteristicsBaseVO:{
description:item.inspectionCharacteristicsBaseVO.description,
featureType:item.inspectionCharacteristicsBaseVO.featureType,
inspectionMethodCode:item.inspectionCharacteristicsBaseVO.inspectionMethodCode,
inspectionMethodName:item.inspectionCharacteristicsBaseVO.inspectionMethodName,
samplingProcessCode:item.inspectionCharacteristicsBaseVO.samplingProcessCode,
isCanUpdate:item.inspectionCharacteristicsBaseVO.isCanUpdate,
isDestructionInspection:item.inspectionCharacteristicsBaseVO.isDestructionInspection,
quantifyCapping:item.inspectionCharacteristicsBaseVO.quantifyCapping,
quantifyDecimal:item.inspectionCharacteristicsBaseVO.quantifyDecimal,
quantifyIsCapping:item.inspectionCharacteristicsBaseVO.quantifyIsCapping,
quantifyIsLowlimit:item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit,
quantifyIsTarget:item.inspectionCharacteristicsBaseVO.quantifyIsTarget,
quantifyLowlimit:item.inspectionCharacteristicsBaseVO.quantifyLowlimit,
quantifyQuantifyCode:item.inspectionCharacteristicsBaseVO.quantifyQuantifyCode,
quantifyQuantifyName:item.inspectionCharacteristicsBaseVO.quantifyQuantifyName,
quantifyTarget:item.inspectionCharacteristicsBaseVO.quantifyTarget,
quantifyUom:item.inspectionCharacteristicsBaseVO.quantifyUom,
resultEntryMethod:item.inspectionCharacteristicsBaseVO.resultEntryMethod,
samplingProcessCode:item.inspectionCharacteristicsBaseVO.samplingProcessCode,
samplingProcessName:item.inspectionCharacteristicsBaseVO.samplingProcessName,
}
}
//
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
arr.push(obj)
})
data.value.process = arr
console.log(111, data.value)
}else{
let list = [] let list = []
if (row.content) { if (row.content) {
list = JSON.parse(row.content) list = JSON.parse(row.content)
@ -858,6 +928,10 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
rules.value.aql[0].required = false rules.value.aql[0].required = false
} }
data.value.process = list data.value.process = list
}
} else { } else {
data.value = { data.value = {
code: '', code: '',
@ -1323,7 +1397,8 @@ const changeIsTarget = (e, item) => {
</style> </style>
<style> <style>
.el-tabs--left .el-tabs__header.is-left { .el-tabs--left .el-tabs__header.is-left {
min-height: 700px !important; padding-bottom: 5000px;
margin-bottom: -5000px;
min-width: 150px !important; min-width: 150px !important;
} }
.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { .el-tabs--left.el-tabs--border-card .el-tabs__item.is-left {

3
src/views/qms/inspectionScheme/index.vue

@ -139,6 +139,7 @@ const butttondata = (row) => {
defaultButtons.mainListEditBtn({hasPermi: 'qms:inspection-scheme:update'}), defaultButtons.mainListEditBtn({hasPermi: 'qms:inspection-scheme:update'}),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:inspection-scheme:enable'}), defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:inspection-scheme:enable'}),
defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:inspection-scheme:disable'}), defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:inspection-scheme:disable'}),
defaultButtons.mainCopyBtn({hasPermi:'qms:programme-template:copy'}),
] ]
} }
@ -152,6 +153,8 @@ const buttonTableClick = async (val, row) => {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { }else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
}else if (val == 'copy') {
openForm('create', row)
} }
} }

3
src/views/qms/inspectionTemplate/addForm.vue

@ -1027,7 +1027,8 @@ const changeIsTarget = (e,item) => {
</style> </style>
<style> <style>
.el-tabs--left .el-tabs__header.is-left { .el-tabs--left .el-tabs__header.is-left {
min-height: 700px !important; padding-bottom: 5000px;
margin-bottom: -5000px;
min-width: 150px !important; min-width: 150px !important;
} }
.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { .el-tabs--left.el-tabs--border-card .el-tabs__item.is-left {

2
src/views/system/user/index.vue

@ -90,7 +90,7 @@
</el-row> </el-row>
<!-- 添加或修改用户对话框 --> <!-- 添加或修改用户对话框 -->
<!-- <UserForm ref="formRef" @success="getList" /> --> <UserForm ref="formRef" @success="getList" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/system/user/import" :updateIsDisable='true' :coverIsDisable='true' :mode='2' :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm ref="importFormRef" url="/system/user/import" :updateIsDisable='true' :coverIsDisable='true' :mode='2' :importTemplateData="importTemplateData" @success="importSuccess" />

27
src/views/wms/countManage/count/countJobMain/countJobMain.data.ts

@ -27,6 +27,33 @@ export const CountJobMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
}, },
{
label: '任务拆分方式',
field: 'countSplitType',
dictType: DICT_TYPE.COUNT_SPLIT_TYPE,
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true,
form: {
value: 'locationCode'
}
},
{
label: '任务拆分值',
field: 'countSplitCode',
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true
},
{ {
label: '计划单号', label: '计划单号',
field: 'planNumber', field: 'planNumber',

35
src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts

@ -40,14 +40,33 @@ export const CountRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
}, },
// { {
// label: '仓库代码', label: '任务拆分方式',
// field: 'warehouseCode', field: 'countSplitType',
// sort: 'custom', dictType: DICT_TYPE.COUNT_SPLIT_TYPE,
// table: { dictClass: 'string',
// width: 150 sort: 'custom',
// }, table: {
// }, width: 150
},
isTable:true,
isForm: true,
form: {
value: 'locationCode'
}
},
{
label: '任务拆分值',
field: 'countSplitCode',
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true
},
{ {
label: '阶段', label: '阶段',
field: 'stage', field: 'stage',

25
src/views/wms/countManage/count/countRequestMain/countRequestMain.data.ts

@ -90,15 +90,22 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
}, },
isSearch: true, isSearch: true,
}, },
// { {
// label: '仓库代码', label: '任务拆分方式',
// field: 'warehouseCode', field: 'countSplitType',
// sort: 'custom', dictType: DICT_TYPE.COUNT_SPLIT_TYPE,
// table: { dictClass: 'string',
// width: 150 sort: 'custom',
// }, table: {
// isSearch: true, width: 150
// }, },
isTable:true,
isForm: true,
form: {
value: 'locationCode'
}
},
{ {
label: '申请时间', label: '申请时间',
field: 'requestTime', field: 'requestTime',

32
src/views/wms/countManage/countadjust/countadjustRecordMain/countadjustRecordMain.data.ts

@ -24,22 +24,32 @@ export const CountadjustRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
}, },
isSearch: true isSearch: true
}, },
// {
// label: '盘点记录单号',
// field: 'countRecordNumber',
// sort: 'custom',
// table: {
// width: 180
// },
// isSearch: true
// },
{ {
label: '仓库代码', label: '任务拆分方式',
field: 'warehouseCode', field: 'countSplitType',
dictType: DICT_TYPE.COUNT_SPLIT_TYPE,
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true,
form: {
value: 'locationCode'
}
},
{
label: '任务拆分值',
field: 'countSplitCode',
dictClass: 'string',
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
}, },
isTable:true,
isForm: true
}, },
{ {
label: '出库事务类型', label: '出库事务类型',

27
src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts

@ -55,6 +55,33 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
}, },
}, },
{
label: '任务拆分方式',
field: 'countSplitType',
dictType: DICT_TYPE.COUNT_SPLIT_TYPE,
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true,
form: {
value: 'locationCode'
}
},
{
label: '任务拆分值',
field: 'countSplitCode',
dictClass: 'string',
sort: 'custom',
table: {
width: 150
},
isTable:true,
isForm: true
},
// { // {
// label: '申请单号', // label: '申请单号',
// field: 'requestNumber', // field: 'requestNumber',

36
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue

@ -33,9 +33,9 @@
<span>{{ row.number }}</span> <span>{{ row.number }}</span>
</el-button> </el-button>
</template> </template>
<!-- <template #action="{ row,$index }"> <template #action="{ row,$index }">
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" />
</template> --> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -138,16 +138,34 @@ const buttonBaseClick = (val, item) => {
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const butttondata = (row,$index) => {
// - const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
const butttondata = [ if(findIndex>-1&&findIndex<$index){
defaultButtons.mainListEditBtn({hasPermi:'wms:packageover-job-main:update'}), // return []
defaultButtons.mainListDeleteBtn({hasPermi:'wms:packageover-job-main:delete'}), // }
return [
// defaultButtons.mainListEditBtn({hasPermi:'wms:packageover-job-main:update'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:packageover-job-main:close'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:packageover-job-main:delete'}), //
] ]
}
//
const isShowMainButton = (row, val) => {
if (val.indexOf(row.status) > -1) {
return false
} else {
return true
}
}
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'mainClose') { //
//
await message.confirm('确认要关闭吗?')
await PackageoverJobMainApi.closePackageoverJobMain(row.masterId)
//
await getList()
}else if (val == 'edit') { //
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') { //
handleDelete(row.masterId) handleDelete(row.masterId)

18
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts

@ -523,15 +523,15 @@ export const PackageoverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
}, },
isTable: false isTable: false
}, },
// { {
// label: '操作', label: '操作',
// field: 'action', field: 'action',
// isForm: false, isForm: false,
// table: { table: {
// width: 150, width: 150,
// fixed: 'right' fixed: 'right'
// } }
// } }
])) ]))
// 表单校验 // 表单校验

32
src/views/wms/issueManage/issue/issueRequestMain/index.vue

@ -42,6 +42,8 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<BasicForm <BasicForm
ref="formRef" ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn="itemCode"
@success="getList" @success="getList"
:rules="IssueRequestMainRules" :rules="IssueRequestMainRules"
:formAllSchemas="IssueRequestMain.allSchemas" :formAllSchemas="IssueRequestMain.allSchemas"
@ -57,6 +59,7 @@
@tableSelectionDelete="tableSelectionDelete" @tableSelectionDelete="tableSelectionDelete"
@searchTableSuccess="searchTableSuccess" @searchTableSuccess="searchTableSuccess"
@submitForm="submitForm" @submitForm="submitForm"
@onEnter="onEnter"
/> />
<!-- 详情 --> <!-- 详情 -->
@ -104,14 +107,39 @@ const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val
} }
const onEnter = async (field,value) => {
if (field == 'productionLineCode') {
//线
let res = await WorkstationApi.getWorkstationPage({
productionLineCode:value,
pageSize: 20,
pageNo: 1
})
if(res&&res.list&&res.list.length>0){
const setV = {}
setV['workStationCode'] = res.list[0].code
formRef.value.formRef.setValues(setV)
}
}
}
// //
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(async() => { nextTick(async() => {
if (type == 'tableForm') { if (type == 'tableForm') {
// //
if (formField == 'itemCode') { if (formField == 'itemCode') {
row['itemCode'] = val[0]['code'] val.forEach(item=>{
row['uom'] = val[0]['uom'] let tableForm = JSON.parse(JSON.stringify(tableFormKeys))
if (tableData.value.length > 0) {
tableForm.productionLineCode = tableData.value[0].productionLineCode
tableForm.workStationCode = tableData.value[0].workStationCode
}
if(tableData.value.find(item1=>item1['itemCode'] == item['itemCode'])) return
const newRow = JSON.parse(JSON.stringify({...tableForm,...item}))
newRow['itemCode'] = item['code']
newRow['uom'] = item['uom']
tableData.value.push(newRow)
})
} else { } else {
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
} }

47
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -112,6 +112,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
@ -161,6 +162,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择工位代码', // 输入框占位文本 searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
@ -766,6 +768,7 @@ export const IssueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
sortSearchDefault:2, sortSearchDefault:2,
sortTableDefault:3, sortTableDefault:3,
tableForm:{ tableForm:{
multiple: true,
enterSearch:true, enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
@ -809,7 +812,27 @@ export const IssueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain:true,
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
}
},
{ {
label: '计量单位', label: '计量单位',
@ -991,27 +1014,7 @@ export const IssueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
isTableForm: false, isTableForm: false,
isForm: false isForm: false
}, },
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain:true,
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
}
},
{ {
label: '从货主代码', label: '从货主代码',
field: 'fromOwnerCode', field: 'fromOwnerCode',

9
src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue

@ -118,6 +118,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
newRow['itemCode'] = item['code'] newRow['itemCode'] = item['code']
newRow['uom'] = item['uom'] newRow['uom'] = item['uom']
newRow['id'] = item['id'] newRow['id'] = item['id']
newRow['toLocationCode'] = formRef.formModel['toLocationCode']
tableData.value.push(newRow) tableData.value.push(newRow)
}) })
} else { } else {
@ -359,6 +360,7 @@ const tableData = ref([])
// //
const handleAddTable = () => { const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys))) tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
} }
// //
const handleDeleteTable = (item, index) => { const handleDeleteTable = (item, index) => {
@ -376,10 +378,11 @@ const submitForm = async (formType, submitData) => {
if(data.masterId){ if(data.masterId){
data.id = data.masterId data.id = data.masterId
} }
tableData.value.forEach(item=>{
item.toLocationCode = data.toLocationCode
})
data.subList = tableData.value // data.subList = tableData.value //
if( data.subList.length>1){
message.warning('明细只能选择一条数据')
return;
}
if(tableData.value.find(item => (item.qty <= 0))) { if(tableData.value.find(item => (item.qty <= 0))) {
message.warning('数量必须大于0') message.warning('数量必须大于0')
formRef.value.formLoading = false formRef.value.formLoading = false

18
src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts

@ -498,6 +498,9 @@ export const RepleinshRequestMainRules = reactive({
autoExecute: [ autoExecute: [
{ required: true, message: '请选择是否自动执行', trigger: 'change' } { required: true, message: '请选择是否自动执行', trigger: 'change' }
], ],
toLocationCode: [
{ required: true, message: '请输入到库位代码', trigger: ['change', 'blur']}
],
directCreateRecord: [ directCreateRecord: [
{ required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' } { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
], ],
@ -541,7 +544,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
}, },
tableForm:{ tableForm:{
isInpuFocusShow: true, isInpuFocusShow: true,
multiple:true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题 searchTitle: '物料基础信息', // 查询弹窗标题
@ -629,6 +631,20 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
} }
}, },
{
label: '到库位代码',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain:true,
sortSearchDefault:1000,
isSearch: true,
sortTableDefault:1100,
// isTableForm: false,
},
// { // {
// label: '包装号', // label: '包装号',

7
src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts

@ -118,7 +118,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
sortTableDefault:4, sortTableDefault:4,
tableForm:{ tableForm:{
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 searchListPlaceholder: '请选择返修生产线代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
searchTitle: '生产线信息', // 查询弹窗标题 searchTitle: '生产线信息', // 查询弹窗标题
searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类 searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类
@ -138,7 +138,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 searchListPlaceholder: '请选择返修生产线代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段
searchTitle: '生产线信息', // 查询弹窗标题 searchTitle: '生产线信息', // 查询弹窗标题
searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类 searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类
@ -501,6 +501,9 @@ export const ProductrepairRequestMainRules = reactive({
workshopCode: [ workshopCode: [
{ required: true, message: '请选择车间代码', trigger: 'change' } { required: true, message: '请选择车间代码', trigger: 'change' }
], ],
productionLineCode: [
{ required: true, message: '请选择返修生产线', trigger: 'change' }
],
// dueTime: [ // dueTime: [
// { required: true, message: '请选择截止时间', trigger: 'change' } // { required: true, message: '请选择截止时间', trigger: 'change' }
// ], // ],

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

@ -116,6 +116,7 @@ import * as ProductscrapRequestDetailApi from '@/api/wms/productscrapRequestDeta
import * as StdcostpriceApi from '@/api/wms/stdcostprice' import * as StdcostpriceApi from '@/api/wms/stdcostprice'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as BomDismantleApi from "@/api/wms/bomDismantle" import * as BomDismantleApi from "@/api/wms/bomDismantle"
import * as BomApi from "@/api/wms/bom";
// //
defineOptions({ name: 'ProductscrapRequestMain' }) defineOptions({ name: 'ProductscrapRequestMain' })
@ -315,6 +316,24 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
row['uom'] = res.uom row['uom'] = res.uom
row['singlePrice'] = res.price row['singlePrice'] = res.price
}) })
// BOM
console.log(formRef.formModel)
const param1 = {
productItemCode: val[0]['itemCode'],
available: 'TRUE',
pageSize: 20,
pageNo: 1,
sort: '',
by: 'ASC',
}
BomApi.getBomPage(param1).then(res => {
console.log(res)
if(res?.list?.length>0){
row['bomVersion'] = res.list[0].version
}
// row['singlePrice'] = res.price
})
}else if(formField == 'bomVersion'){ }else if(formField == 'bomVersion'){
row['bomVersion'] = val[0]['version'] row['bomVersion'] = val[0]['version']
} }

13
src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts

@ -740,7 +740,8 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150, width: 150,
}, },
isForm: false, isForm: false,
isTable:true, isTable:false,
isTableForm:false,
}, },
{ {
label: '报废数量', label: '报废数量',
@ -802,7 +803,9 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
type: 'InputNumber', type: 'InputNumber',
min: 0, min: 0,
precision: 6 precision: 6
} },
isTable:false,
isTableForm:false,
}, },
{ {
label: '金额', label: '金额',
@ -825,6 +828,8 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
min: 0, min: 0,
precision: 6, precision: 6,
}, },
isTable:false,
isTableForm:false,
}, },
{ {
label: '来源库位', label: '来源库位',
@ -840,7 +845,9 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
componentProps:{ componentProps:{
disabled: true disabled: true
} }
} },
isTable:false,
isTableForm:false,
}, },
{ {

Loading…
Cancel
Save