diff --git a/.env b/.env index 4eb2fc114..74e66bb15 100644 --- a/.env +++ b/.env @@ -15,6 +15,3 @@ VITE_APP_CAPTCHA_ENABLE=true # 百度统计 VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc - -# 查看质检报告环境 -VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' diff --git a/src/api/eam/equipmentMaintenanceDetail/index.ts b/src/api/eam/equipmentMaintenanceDetail/index.ts index 81a8696e1..0869a000d 100644 --- a/src/api/eam/equipmentMaintenanceDetail/index.ts +++ b/src/api/eam/equipmentMaintenanceDetail/index.ts @@ -43,6 +43,11 @@ export const createEquipmentMaintenanceDetail = async (data: EquipmentMaintenanc return await request.post({ url: `/eam/equipment-maintenance-detail/create`, data }) } +// 新增设备保养工单 通过主表添加 +export const createItemEquipmentMaintenanceDetail = async (data: EquipmentMaintenanceDetailVO) => { + return await request.post({ url: `/eam/equipment-maintenance-detail/createItem`, data }) +} + // 修改设备保养工单子 export const updateEquipmentMaintenanceDetail = async (data: EquipmentMaintenanceDetailVO) => { return await request.put({ url: `/eam/equipment-maintenance-detail/update`, data }) @@ -61,4 +66,4 @@ export const exportEquipmentMaintenanceDetail = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/eam/equipment-maintenance-detail/get-import-template' }) -} \ No newline at end of file +} diff --git a/src/api/eam/equipmentMaintenanceMain/index.ts b/src/api/eam/equipmentMaintenanceMain/index.ts index a3ba8d8db..5bc59771d 100644 --- a/src/api/eam/equipmentMaintenanceMain/index.ts +++ b/src/api/eam/equipmentMaintenanceMain/index.ts @@ -79,7 +79,12 @@ export const updateEnableCode = async (data: EquipmentMainPartVO) => { return await request.post({ url: `/eam/equipment-maintenance-main/ables` , data }) } -// 执行保养工单 +// 修改保养工单状态 +export const updateMaintenanceOrder = async (data: EquipmentMainPartVO) => { + return await request.post({ url: `/eam/equipment-maintenance-main/updateOrder`, data }) +} + +//执行保养工单 export const executeMaintenanceOrder = async (data: EquipmentMainPartVO) => { return await request.post({ url: `/eam/equipment-maintenance-main/execute`, data }) } diff --git a/src/api/eam/equipmentShutdown/index.ts b/src/api/eam/equipmentShutdown/index.ts new file mode 100644 index 000000000..61ff870ff --- /dev/null +++ b/src/api/eam/equipmentShutdown/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface EquipmentShutdownVO { + id: number + equipmentCode: string + operationDate: Date + operationer: string + factoryAreaCode: string + workshopCode: string + workshopSectionCode: string + status: string + shutdownCause: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询设备停机记录列表 +export const getEquipmentShutdownPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/equipment-shutdown/senior', data }) + } else { + return await request.get({ url: `/eam/equipment-shutdown/page`, params }) + } +} + +// 查询设备停机记录详情 +export const getEquipmentShutdown = async (id: number) => { + return await request.get({ url: `/eam/equipment-shutdown/get?id=` + id }) +} + +// 新增设备停机记录 +export const createEquipmentShutdown = async (data: EquipmentShutdownVO) => { + return await request.post({ url: `/eam/equipment-shutdown/create`, data }) +} + +// 修改设备停机记录 +export const updateEquipmentShutdown = async (data: EquipmentShutdownVO) => { + return await request.put({ url: `/eam/equipment-shutdown/update`, data }) +} + +// 删除设备停机记录 +export const deleteEquipmentShutdown = async (id: number) => { + return await request.delete({ url: `/eam/equipment-shutdown/delete?id=` + id }) +} + +// 导出设备停机记录 Excel +export const exportEquipmentShutdown = async (params) => { + return await request.download({ url: `/eam/equipment-shutdown/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/equipment-shutdown/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/equipmentSigning/index.ts b/src/api/eam/equipmentSigning/index.ts new file mode 100644 index 000000000..e9db1653b --- /dev/null +++ b/src/api/eam/equipmentSigning/index.ts @@ -0,0 +1,72 @@ +import request from '@/config/axios' + +export interface EquipmentSigningVO { + id: number + equipmentCode: string + operationDate: Date + operationer: string + operationDept: string + telephone: string + supplierCode: string + supplierPeople: string + supplierTelephone: string + status: string + approver: number + approveContent: string + approveTime: Date + autoExamine: string + autoAgree: string + directCreateRecord: string + storageLocation: string + factoryAreaCode: string + workshopCode: string + workshopSectionCode: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询设备到货签收记录列表 +export const getEquipmentSigningPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/equipment-signing/senior', data }) + } else { + return await request.get({ url: `/eam/equipment-signing/page`, params }) + } +} + +// 查询设备到货签收记录详情 +export const getEquipmentSigning = async (id: number) => { + return await request.get({ url: `/eam/equipment-signing/get?id=` + id }) +} + +// 新增设备到货签收记录 +export const createEquipmentSigning = async (data: EquipmentSigningVO) => { + return await request.post({ url: `/eam/equipment-signing/create`, data }) +} + +// 修改设备到货签收记录 +export const updateEquipmentSigning = async (data: EquipmentSigningVO) => { + return await request.put({ url: `/eam/equipment-signing/update`, data }) +} + +// 删除设备到货签收记录 +export const deleteEquipmentSigning = async (id: number) => { + return await request.delete({ url: `/eam/equipment-signing/delete?id=` + id }) +} + +// 导出设备到货签收记录 Excel +export const exportEquipmentSigning = async (params) => { + return await request.download({ url: `/eam/equipment-signing/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/equipment-signing/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts index 0aaa49507..4161dd29e 100644 --- a/src/api/system/user/index.ts +++ b/src/api/system/user/index.ts @@ -97,3 +97,10 @@ export const forgetPassword = (data : UserVO) => { export const updatePassword = (data : UserVO) => { return request.put({ url: '/system/user/updatePassword', data }) } + + +// 查询用户详情 +export const getUserListByDeptIds = (data : Array) => { + return request.post({ url: '/system/user/getUserListByDeptIds', data }) +} + diff --git a/src/api/wms/processproductionRequestMain/index.ts b/src/api/wms/processproductionRequestMain/index.ts index 66a626e93..4075041cb 100644 --- a/src/api/wms/processproductionRequestMain/index.ts +++ b/src/api/wms/processproductionRequestMain/index.ts @@ -54,4 +54,34 @@ export const exportProcessproductionRequestMain = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/processproduction-request-main/get-import-template' }) +} + +// 关闭 +export const closeProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/close?id=` + id }) +} + +// 重新添加 +export const reAddProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/reAdd?id=` + id }) +} + +// 提交审批 +export const submitProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/submit?id=` + id }) +} + +// 审批驳回 +export const refusedProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/refused?id=` + id }) +} + +// 审批通过 +export const agreeProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/agree?id=` + id }) +} + +// 处理 +export const handleProcessproductionRequestMain = async (id) => { + return await request.put({ url: `/wms/processproduction-request-main/handle?id=` + id }) } \ No newline at end of file diff --git a/src/api/wms/productreceiptRecordMain/index.ts b/src/api/wms/productreceiptRecordMain/index.ts index 79b5699c9..102bef055 100644 --- a/src/api/wms/productreceiptRecordMain/index.ts +++ b/src/api/wms/productreceiptRecordMain/index.ts @@ -110,4 +110,13 @@ export const exportProductreceiptRecordAssembleMain = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/productreceipt-record-main/get-import-template' }) +} +// 创建上架申请 +export const createPutawayRequest = async (number:string) => { + return await request.post({ url: `/wms/productreceipt-record-main/createPutawayRequest?number=`+number }) +} + +// 创建检验申请 +export const createInspectRequest = async (number:string) => { + return await request.post({ url: `/wms/productreceipt-record-main/createInspectRequest?number=`+number }) } \ No newline at end of file diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 714c529a0..257250012 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -96,6 +96,7 @@ @inputNumberChange="inputNumberChange" @tableFormSelectOnBlur="tableFormSelectOnBlur" @formFormDateChange="formFormDateChange" + @clearInput='clearInput' > @@ -1123,6 +1140,7 @@ const dialogUploadNumber = ref() const dialogUploadBusiCode = ref() const dialogFormKey = ref(0) const openDialog = async(row: any, titleName: any, titleValue: any) => { + debugger const { tableObject, tableMethods } = useTable({ getListApi: props.dialogApiPage, // 分页接口 defaultParams: getDialogParams(row) @@ -1140,7 +1158,7 @@ const openDialog = async(row: any, titleName: any, titleValue: any) => { function getDialogParams(row: any) { return { - number: row.number + 'masterId': row.id } } diff --git a/src/components/TableDetail/src/TableDetail.vue b/src/components/TableDetail/src/TableDetail.vue index ee28831d6..e4c2d0aa8 100644 --- a/src/components/TableDetail/src/TableDetail.vue +++ b/src/components/TableDetail/src/TableDetail.vue @@ -1,7 +1,7 @@ @@ -154,12 +199,15 @@ import Tabs from '@/components/Tabs/src/Tabs.vue' import * as RemarkApi from '@/api/wms/remark' import * as FileApi from '@/api/wms/file' import * as defaultButtons from '@/utils/disposition/defaultButtons' -import BasicFormQmsNumber from '@/components/BasicForm/src/BasicFormQmsNumber.vue' +import BasicForm from '@/components/BasicForm/src/BasicForm.vue' import TableHead from '@/components/TableHead/src/TableHead.vue' import DetailTable from '@/components/DetailTable/src/DetailTable.vue' import { SearchTable } from '@/components/SearchTable' +import { + EquipmentMaintenanceDetail, EquipmentMaintenanceDetailRules, +} from "@/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data"; -defineOptions({ name: 'DetailQmsNumber' }) +defineOptions({ name: 'Detail' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 @@ -177,6 +225,24 @@ const props = defineProps({ required: true, default: null }, + //展示附件组件的tab标签 + annexTable: { + type: Array, + required: false, + default: ()=>[] + }, + //展示附件组件的tab标签 + annexAlias: { + type: Object, + required: false, + default: ()=>({ + label: '附件', + showDownload:false, + showPreview:false, + hiddenDelete:false + }) + }, + // 是否是基础数据 展现详情顶部表单 isBasic: { type: Boolean, @@ -311,16 +377,15 @@ const props = defineProps({ required: false, default: false }, - //个性化功能标志 - myFuncTypeSign:{ - type: String, + //扩展其他按钮 + otherHeadButttonData:{ + type:Array, required: false, - default: null - }, + default: () => [] + } }) const isShowDrawer = ref(false) const detailLoading = ref(false) -const myFuncTypeSign = props.myFuncTypeSign const tabsList = ref(JSON.parse(JSON.stringify(props.tabs ? props.tabs : ''))) if (props.isBasic == true) { @@ -342,23 +407,38 @@ if (props.isBasic == true) { } } -const otherList = [] - +const otherList = [...props.annexTable,{ + label:props.annexAlias.label, + prop:'Annex' +},{ + label:'备注', + prop:'Remarks' +},{ + label:'变更记录', + prop:'ChangeRecord' +}] tabsList.value = [...tabsList?.value,...otherList] if (!tabsList.value || tabsList.value && tabsList.value.length == otherList.length) { tabsList.value.unshift({ - label: '明细', - prop: 'Detail' + label: '明细', + prop: 'Detail' + }) +} +if(!props.isBasic){ + tabsList.value.unshift({ + label: '主数据', + prop: 'Descriptions' }) } -// Tabs + +// Tabs const tabRef = ref() //滚动条 -const scrollbar = ref() +const scrollbar = ref() //附件 备注 变更记录 高度计算 -const remarkHeight = computed(() => { +const remarkHeight = computed(() => { const tab = unref(tabRef) const tabTop = tab?.$el.getBoundingClientRect().top const tabHeight = tab?.$el.getBoundingClientRect().height @@ -372,6 +452,8 @@ const remarkHeight = computed(() => { const annexData = reactive({ annexList: [] }) +// // 其他附件默认数据数组 +const annexTableData = ref>([]) // 备注数据 const remarksData = reactive({ @@ -393,6 +475,48 @@ const getFileList = async () => { detailLoading.value = false } } +// 获取其他附件列表篇 +const getAnnexFileList = async (row) => { + props.annexTable?.forEach(async (item) => { + let requstData = {...remarksData.data,tableName: item?.tableName} + if(item?.queryParams){ + item?.queryParams?.forEach(queryItem => { + requstData[queryItem.queryField] = row[queryItem.rowField] + }); + } + const annexList = await FileApi.getFileList(requstData) + const annexData = annexTableData.value.find(annex=>annex.label === item.label) + if(annexData){ + annexData.annexList = annexList + }else{ + annexTableData.value.push({ + align:item.align, + label: item.label, + tableName: item?.tableName || '', + annexList, + hasSubDetail:item.hasSubDetail||false, + subDetailTableData:item.subDetailTableData, + fileType:item.fileType||['apk','doc', 'xls', 'ppt', 'txt', 'pdf','png', 'jpg', 'jpeg'], + showPreview:item.showPreview||false, // 是否展示预览按钮 + showDownload:item.showDownload||false, // 是否展示下载按钮 + hiddenDelete:item.hiddenDelete || false, // 是否展示删除按钮 + }) + if(item?.subDetailTableData){ + const { tableObject:subTableObject, tableMethods:subTableMethods } = useTable({ + getListApi: item.subDetailTableData.getSubList // 分页接口 + }) + const {getList:getSubList} = subTableMethods + subTableObject.params= {} + item.subDetailTableData.queryParams.forEach(queryItem => { + subTableObject.params[queryItem.queryField] = row[queryItem.rowField] + }); + await getSubList() + item.subDetailTableData.tableList = subTableObject.tableList + console.log('subTableObject',annexTableData.value) + } + } + }) +} /** 添加附件 */ const handleAnnexSuccess = () => { getFileList() @@ -403,6 +527,11 @@ const deleteAnnexSuccess = async () => { getFileList() getChangeRecordList() } +/** 追加的附件 */ +const updateAnnexTableHandle = () => { + getAnnexFileList(detailData.value) + getChangeRecordList() +} // Tabs当前选择 const current = ref(0) @@ -413,14 +542,14 @@ const change = (item, index) => { // 附件/备注/变更记录 -- 点击回到顶部 scrollbar.value.scrollTo({ top: 0}); } - + } //主表所需的参数 const masterParmas = ref({ masterId: '', //主表id number: '', //主表单据号 - status: '', //主表状态 用于控制子表新增编辑按钮显示情况 + status: '' //主表状态 用于控制子表新增编辑按钮显示情况 }) // 列表头部按钮 @@ -455,17 +584,23 @@ const searchTableFormType = ref('') // 表单的类型:create - 新增;updat const formRef = ref() const titleNameRef = ref() const titleValueRef = ref() +const count =ref(0) const openDetail = async (row: any, titleName: any, titleValue: any, tableName: any) => { titleNameRef.value = titleName titleValueRef.value = titleValue + remarksData.data = { + tableId: row.masterId||row.id, + tableName: tableName + } + count.value++ // 加载明细列表 if (!props.isBasic) { // 设置主表id - masterParmas.value.masterId = row.id + masterParmas.value.masterId = row.masterId||row.id masterParmas.value.number = row.number masterParmas.value.status = row.status tableObjectRef.value.params = { - masterId: row.id + masterId: row.masterId||row.id } await getList() } @@ -474,9 +609,10 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName: detailLoading.value = true try { detailData.value = row - // getRemarkList() - // getFileList() - // getChangeRecordList() + getRemarkList() + getFileList() + getAnnexFileList(row) + getChangeRecordList() // 判断详情按钮是否显示 let detailButtonFilter: any = [] let detailButtonAdd: any = [] @@ -502,7 +638,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName: defaultButtons.defaultFilterBtn(null) // 筛选 ] } - + HeadButttondata.value = [...HeadButttondata.value,...props.otherHeadButttonData] let detailButtonEdit: any = [] let detailButtonDelete: any = [] if (props.detailButtonIsShowEdit) { @@ -564,11 +700,6 @@ detailAllSchemasRef.value = props.detailAllSchemas // 根据状态返回该按钮是否显示 const isShowMainButton = (row, val) => { - // if (val.indexOf(row.status) > -1) { - // return false - // } else { - // return true - // } return false } @@ -588,13 +719,13 @@ const buttonBaseClick = (val, item) => { }) const item = props.detailAllSchemas.formSchema[0] opensearchTable( - item.field, item?.componentProps?.searchField, - item?.componentProps?.searchTitle, - item?.componentProps?.searchAllSchemas, - item?.componentProps?.searchPage, - item?.componentProps?.searchCondition, - item?.componentProps?.multiple, - undefined,undefined + item.field, item?.componentProps?.searchField, + item?.componentProps?.searchTitle, + item?.componentProps?.searchAllSchemas, + item?.componentProps?.searchPage, + item?.componentProps?.searchCondition, + item?.componentProps?.multiple, + undefined,undefined ) }else{ openForm('create') @@ -613,6 +744,7 @@ const buttonBaseClick = (val, item) => { } else { // 其他按钮 console.log('其他按钮', item) + emit('buttonBaseClick',val, item) } } @@ -643,8 +775,6 @@ const opensearchTable = ( } } } - console.log(searchCondition) - console.log(_searchCondition) searchTableRef.value.open( searchTitle, searchAllSchemas, @@ -674,13 +804,13 @@ const buttonTableClick = async (val, row) => { } const item = props.detailAllSchemas.formSchema[0] opensearchTable( - item.field, item?.componentProps?.searchField, - item?.componentProps?.searchTitle, - item?.componentProps?.searchAllSchemas, - item?.componentProps?.searchPage, - item?.componentProps?.searchCondition, - item?.componentProps?.multiple, - undefined,undefined + item.field, item?.componentProps?.searchField, + item?.componentProps?.searchTitle, + item?.componentProps?.searchAllSchemas, + item?.componentProps?.searchPage, + item?.componentProps?.searchCondition, + item?.componentProps?.multiple, + undefined,undefined ) }else{ openForm('update', row) @@ -694,8 +824,71 @@ const buttonTableClick = async (val, row) => { } /** 添加/修改操作 */ const openForm = async (type: string, row?: number) => { + formRef.value.open(type, row, masterParmas.value) - emit('detailOpenForm', type, row, masterParmas.value) + emit('detailOpenForm', type, row) + + if(type == "create"){ + EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => { + if(item.field == 'peoples'){ + item.componentProps.disabled = true + EquipmentMaintenanceDetailRules.peoples[0].required = false + } + if(item.field == 'estimatedMinutes'){ + EquipmentMaintenanceDetailRules.estimatedMinutes[0].required = true + } + if(item.field == 'actualMinutes'){ + item.componentProps.disabled = true + EquipmentMaintenanceDetailRules.actualMinutes[0].required = false + } + if(item.field == 'completionTime'){ + item.componentProps.disabled = true + } + if(item.field == 'result'){ + item.componentProps.disabled = true + EquipmentMaintenanceDetailRules.result[0].required = false + } + if(item.field == 'uncompletedCause'){ + item.componentProps.disabled = true + EquipmentMaintenanceDetailRules.uncompletedCause[0].required = false + } + if(item.field == 'name'){ + EquipmentMaintenanceDetailRules.name[0].required = true + } + }) + }else{ + row.peoples = row.peoples.toString() + row.estimatedMinutes = row.estimatedMinutes.toString() + row.actualMinutes = row.actualMinutes.toString() + EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => { + if(item.field == 'peoples'){ + console.log(item); + item.componentProps.disabled = false + EquipmentMaintenanceDetailRules.peoples[0].required = true + } + if(item.field == 'estimatedMinutes'){ + EquipmentMaintenanceDetailRules.estimatedMinutes[0].required = false + } + if(item.field == 'actualMinutes'){ + item.componentProps.disabled = false + EquipmentMaintenanceDetailRules.actualMinutes[0].required = true + } + if(item.field == 'completionTime'){ + item.componentProps.disabled = false + } + if(item.field == 'result'){ + item.componentProps.disabled = false + EquipmentMaintenanceDetailRules.result[0].required = true + } + if(item.field == 'uncompletedCause'){ + item.componentProps.disabled = false + EquipmentMaintenanceDetailRules.uncompletedCause[0].required = false + } + if(item.field == 'name'){ + EquipmentMaintenanceDetailRules.name[0].required = true + } + }) + } } // form 提交 const submitForm = async (formType, data) => { @@ -710,6 +903,7 @@ const submitForm = async (formType, data) => { await props.apiUpdate(data) message.success(t('common.updateSuccess')) } + emit('handleMainFefresh') formRef.value.dialogVisible = false // 刷新当前列表 await getList() @@ -740,7 +934,8 @@ const emit = defineEmits([ 'openImage', 'onBlur', 'detailBasicFormOnChange', - 'formFormDateChange' + 'formFormDateChange', + 'buttonBaseClick' ]) /** 删除按钮操作 */ const handleDelete = async (id: number) => { @@ -752,6 +947,7 @@ const handleDelete = async (id: number) => { await props.apiDelete(id) tableObject.loading = false message.success(t('common.delSuccess')) + emit('handleMainFefresh') // 刷新列表 await getList() updateKey.value += 1 @@ -796,16 +992,16 @@ const openImage=(item)=>{ * @param field 当前操作字段 * @param cur 改变后值 */ - const detailBasicFormOnChange = (field, cur) => { +const detailBasicFormOnChange = (field, cur) => { emit('detailBasicFormOnChange', field, cur) } /** * 监听失焦事件 * @param field 当前操作字段 - * @param e + * @param e */ - const onBlur = (field, e) => { +const onBlur = (field, e) => { emit('onBlur', field, e) } diff --git a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts index 08f0a4438..baa6e75c2 100644 --- a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts +++ b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts @@ -4,6 +4,9 @@ import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts import * as EquipmentItemApi from "@/api/eam/equipmentAccounts"; import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data"; import * as WorkshopApi from "@/api/wms/workshop"; +import {MaintenanceItem} from "@/views/eam/maintenanceItem/maintenanceItem.data"; +import * as ItemApi from "@/api/eam/maintenanceItem"; +import {validateroundNumber} from "@/utils/validator"; // 表单校验 export const EquipmentMaintenanceMainRules = reactive({ @@ -240,12 +243,6 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ } }, }, - { - label: '工段编号', - field: 'workshopSectionCode', - sort: 'custom', - isSearch: true, - }, { label: '创建时间', field: 'createTime', @@ -355,7 +352,56 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ export const EquipmentMaintenanceDetailRules = reactive({ number: [required], - contents: [required], + masterId: [required], + peoples: [ + { + required:false , + message:'该项为必填项', + tagger:['blur'] + }, + { + validator:validateroundNumber, + message: '请输入正确的正整数', + trigger: 'blur'}], + estimatedMinutes: [ + { + required:false , + message:'该项为必填项', + tagger:['blur'] + }, + { + validator:validateroundNumber, + message: '请输入正确的正整数', + trigger: 'blur'}], + actualMinutes: [ + { + required:false , + message:'该项为必填项', + tagger:['blur'] + }, + { + validator:validateroundNumber, + message: '请输入正确的正整数', + trigger: 'blur'}], + completionTime: [required], + // [ + // { + // required:false , + // message:'该项为必填项', + // tagger:['blur'] + // }], + result: [ + { + required:false , + message:'该项为必填项', + tagger:['blur'] + }], + name: [required], + uncompletedCause:[{ + required:false , + message:'该项为必填项', + tagger:['blur','change'] + }] }) export const EquipmentMaintenanceDetail = useCrudSchemas(reactive([ @@ -373,38 +419,41 @@ export const EquipmentMaintenanceDetail = useCrudSchemas(reactive( field: 'number', sort: 'custom', isSearch: true, + form:{ + componentProps: { + disabled: true + } + } }, { label: '主表id', field: 'masterId', sort: 'custom', isSearch: true, + form:{ + componentProps: { + disabled: true + } + } }, { label: '人数', field: 'peoples', sort: 'custom', isSearch: true, + isForm: true, }, { label: '预计分钟', field: 'estimatedMinutes', sort: 'custom', isSearch: true, - form: { - component: 'InputNumber', - value: 0 - }, }, { label: '实际分钟', field: 'actualMinutes', sort: 'custom', isSearch: true, - form: { - component: 'InputNumber', - value: 0 - }, }, { label: '责任人多选', @@ -445,25 +494,43 @@ export const EquipmentMaintenanceDetail = useCrudSchemas(reactive( field: 'result', sort: 'custom', isSearch: true, + dictType: DICT_TYPE.IS_COMPLETED, + dictClass: 'string', }, { - label: '保养名称', + label: '保养项名称', field: 'name', sort: 'custom', isSearch: true, + isForm: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择 类别编码', + searchTitle: '保养项信息', // 查询弹窗标题 + searchAllSchemas: MaintenanceItem.allSchemas, // 查询弹窗所需类 + searchField: 'name', // 查询弹窗赋值字段 + searchPage: ItemApi.getMaintenanceItemPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + action: '==' + }] + } + } }, - { - label: '保养内容', - field: 'content', - sort: 'custom', - isSearch: true, - }, - { - label: '保养部位', - field: 'equipmentParts', - sort: 'custom', - isSearch: true, - }, + // { + // label: '保养内容', + // field: 'content', + // sort: 'custom', + // isSearch: true, + // }, + // { + // label: '保养部位', + // field: 'equipmentParts', + // sort: 'custom', + // isSearch: true, + // }, { label: '创建时间', field: 'createTime', @@ -508,7 +575,10 @@ export const EquipmentMaintenanceDetail = useCrudSchemas(reactive( label: '是否可用', field: 'available', sort: 'custom', - isSearch: true, + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, dictType: DICT_TYPE.TRUE_FALSE, dictClass: 'string', // 默认都是字符串类型其他暂不考虑 }, diff --git a/src/views/eam/equipmentMaintenanceMain/index.vue b/src/views/eam/equipmentMaintenanceMain/index.vue index 7317de2b2..f0606d3fb 100644 --- a/src/views/eam/equipmentMaintenanceMain/index.vue +++ b/src/views/eam/equipmentMaintenanceMain/index.vue @@ -55,10 +55,19 @@ @@ -67,30 +76,28 @@ diff --git a/src/views/eam/equipmentSigning/equipmentSigning.data.ts b/src/views/eam/equipmentSigning/equipmentSigning.data.ts new file mode 100644 index 000000000..99bcd1af5 --- /dev/null +++ b/src/views/eam/equipmentSigning/equipmentSigning.data.ts @@ -0,0 +1,343 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as WorkshopApi from '@/api/wms/workshop' +import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' +import { handleTreeToComponentOptions } from '@/utils/tree' +import * as DeptApi from '@/api/system/dept' +import * as UserApi from '@/api/system/user' +import { EquipmentAccounts,EquipmentAccountsRules } from '../equipmentAccounts/equipmentAccounts.data' +import * as EquipmentAccountsApi from '@/api/eam/equipmentAccounts' + +export interface User { + id: number, + nickname: string +} + +const deptList = ref([]) // 树形结构 +const workshopNoPage = await WorkshopApi.getWorkshopNoPage({}) +const userList = ref([]) +// 加载部门树(默认格式) +deptList.value = handleTreeToComponentOptions(await DeptApi.getSimpleDeptList()) + +// 表单校验 +export const EquipmentSigningRules = reactive({ + equipmentCode: [required], + operationDate: [required], + operationer: [required], + operationDept: [required], + supplierCode: [required], + status: [required], + storageLocation: [required], + concurrencyStamp: [required] +}) + +export const EquipmentSigning = useCrudSchemas(reactive([ + { + label: '设备编码', + field: 'equipmentCode', + sort: 'custom', + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择设备', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '设备信息', // 查询弹窗标题 + searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类 + searchPage: EquipmentAccountsApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + }, + }, + { + label: '验收日期', + field: 'operationDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '验收人部门', + field: 'operationDept', + sort: 'custom', + isSearch: true, + form: { + component: 'TreeSelect', + componentProps: { // 假设deptList是部门数据列表 + data: deptList, + disabled: false, + placeholder: "请选择部门", + filterable: true, + multiple: false, + } + } + }, + { + label: '验收人', + field: 'operationer', + sort: 'custom', + isSearch: true, + form: { + component: 'Select', + componentProps: { // 假设deptList是部门数据列表 + options: [], + optionsAlias: { + valueField: 'id', + labelField: 'nickname' + }, + disabled: false, + placeholder: "请先选择部门", + filterable: true, + multiple: false, + } + } + }, + { + label: '验收人联系方式', + field: 'telephone', + sort: 'custom', + isSearch: false + }, + { + label: '供应商编号', + field: 'supplierCode', + sort: 'custom', + isSearch: true + }, + { + label: '供应商联系人', + field: 'supplierPeople', + sort: 'custom', + isSearch: true + }, + { + label: '供应商联系方式', + field: 'supplierTelephone', + sort: 'custom', + isSearch: false + }, + // { + // label: '流程状态', + // field: 'status', + // sort: 'custom', + // isSearch: true, + // dictType: DICT_TYPE.JOB_STATUS, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // form: { + // component: 'Select' + // } + // }, + // { + // label: '审核人', + // field: 'approver', + // sort: 'custom', + // isSearch: true, + // form: { + // component: 'InputNumber', + // value: 0 + // } + // }, + // { + // label: '审核内容', + // field: 'approveContent', + // sort: 'custom', + // isSearch: false, + // form: { + // component: 'Input', + // componentProps: { + // type: 'textarea', + // valueHtml: '', + // height: 200 + // } + // } + // }, + // { + // label: '审核时间', + // field: 'approveTime', + // sort: 'custom', + // formatter: dateFormatter, + // isSearch: false, + // search: { + // component: 'DatePicker', + // componentProps: { + // valueFormat: 'YYYY-MM-DD HH:mm:ss', + // type: 'daterange', + // defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + // } + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // type: 'datetime', + // valueFormat: 'x' + // } + // } + // }, + // { + // label: '自动审核', + // field: 'autoExamine', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '自动通过', + // field: 'autoAgree', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '直接生成记录', + // field: 'directCreateRecord', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + { + label: '存放位置描述', + field: 'storageLocation', + sort: 'custom', + isSearch: false, + form: { + component: 'Input', + componentProps: { + type: 'textarea', + placeholder: '请输入存放位置描述' + } + } + }, + // { + // label: '所属厂区编号', + // field: 'factoryAreaCode', + // sort: 'custom', + // isSearch: false + // }, + { + label: '车间编号', + field: 'workshopCode', + sort: 'custom', + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择车间代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '车间信息', // 查询弹窗标题 + searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类 + searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + }, + }, + { + label: '产线编号', + field: 'lineCode', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '工序编号', + field: 'processCode', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '工位编号', + field: 'workstationCode', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false + }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: true, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/equipmentSpotCheckRecordDetail/equipmentSpotCheckRecordDetail.data.ts b/src/views/eam/equipmentSpotCheckRecordDetail/equipmentSpotCheckRecordDetail.data.ts index 0ffa3a064..96ac8c29e 100644 --- a/src/views/eam/equipmentSpotCheckRecordDetail/equipmentSpotCheckRecordDetail.data.ts +++ b/src/views/eam/equipmentSpotCheckRecordDetail/equipmentSpotCheckRecordDetail.data.ts @@ -10,34 +10,28 @@ export const EquipmentSpotCheckRecordDetailRules = reactive({ }) export const EquipmentSpotCheckRecordDetail = useCrudSchemas(reactive([ - { - label: 'id', - field: 'id', - sort: 'custom', - isForm: false - }, { label: '点检工单号', field: 'number', sort: 'custom', isSearch: true }, - { - label: '主表', - field: 'masterId', - sort: 'custom', - isSearch: true, - form: { - component: 'InputNumber', - value: 0 - } - }, + // { + // label: '主表', + // field: 'masterId', + // sort: 'custom', + // isSearch: false, + // form: { + // component: 'InputNumber', + // value: 0 + // } + // }, { label: '完成时间', field: 'completionTime', sort: 'custom', formatter: dateFormatter, - isSearch: true, + isSearch: false, search: { component: 'DatePicker', componentProps: { @@ -58,27 +52,27 @@ export const EquipmentSpotCheckRecordDetail = useCrudSchemas(reactive([ - { - label: 'id', - field: 'id', - sort: 'custom', - isForm: false - }, { label: '设备编码', field: 'equipmentCode', @@ -24,19 +18,19 @@ export const EquipmentTransferRecord = useCrudSchemas(reactive([ label: '设备类型枚举', field: 'type', sort: 'custom', - dictType: DICT_TYPE.DEVICE_TYPE, - dictClass: 'string', // 默认都是字符串类型其他暂不考虑 - isSearch: true, - form: { - component: 'SelectV2' - } + dictType: DICT_TYPE.DEVICE_TYPE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: false, + form: { + component: 'Select' + } }, { label: '操作日期', field: 'operationDate', sort: 'custom', formatter: dateFormatter, - isSearch: true, + isSearch: false, search: { component: 'DatePicker', componentProps: { @@ -57,14 +51,14 @@ export const EquipmentTransferRecord = useCrudSchemas(reactive([ label: '操作人', field: 'operationer', sort: 'custom', - isSearch: true - }, - { - label: '原所属厂区编号', - field: 'beforeFactoryAreaCode', - sort: 'custom', - isSearch: true + isSearch: false }, + // { + // label: '原所属厂区编号', + // field: 'beforeFactoryAreaCode', + // sort: 'custom', + // isSearch: false + // }, { label: '原地点', field: 'beforeLocation', @@ -81,7 +75,7 @@ export const EquipmentTransferRecord = useCrudSchemas(reactive([ label: '原工段编号', field: 'beforeWorkshopSectionCode', sort: 'custom', - isSearch: true + isSearch: false }, { label: '现地点', @@ -89,12 +83,12 @@ export const EquipmentTransferRecord = useCrudSchemas(reactive([ sort: 'custom', isSearch: true }, - { - label: '所属厂区编号', - field: 'factoryAreaCode', - sort: 'custom', - isSearch: true - }, + // { + // label: '所属厂区编号', + // field: 'factoryAreaCode', + // sort: 'custom', + // isSearch: true + // }, { label: '车间编号', field: 'workshopCode', @@ -105,96 +99,24 @@ export const EquipmentTransferRecord = useCrudSchemas(reactive([ label: '工段编号', field: 'workshopSectionCode', sort: 'custom', - isSearch: true - }, - { - label: '创建时间', - field: 'createTime', - sort: 'custom', - formatter: dateFormatter, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD HH:mm:ss', - type: 'daterange', - defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - } - }, - isForm: false - }, - { - label: '部门', - field: 'departmentCode', - sort: 'custom', - isSearch: true - }, - { - label: '备注', - field: 'remark', - sort: 'custom', - isSearch: true - }, - { - label: '地点', - field: 'siteId', - sort: 'custom', - isSearch: true - }, - { - label: '是否可用默认TRUE', - field: 'available', - sort: 'custom', - dictType: DICT_TYPE.TRUE_FALSE, - dictClass: 'string', // 默认都是字符串类型其他暂不考虑 - isSearch: true, - form: { - component: 'Switch', - value: 'TRUE', - componentProps: { - inactiveValue: 'FALSE', - activeValue: 'TRUE' - } - } - }, - { - label: '删除时间', - field: 'deletionTime', - sort: 'custom', - formatter: dateFormatter, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD HH:mm:ss', - type: 'daterange', - defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'datetime', - valueFormat: 'x' - } - } - }, - { - label: '删除人', - field: 'deleterId', - sort: 'custom', - isSearch: true - }, - { - label: '并发乐观锁', - field: 'concurrencyStamp', - sort: 'custom', - isSearch: true, - form: { - component: 'InputNumber', - value: 0 - } - }, + isSearch: false + }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, { label: '操作', field: 'action', diff --git a/src/views/eam/equipmentTransferRecord/index.vue b/src/views/eam/equipmentTransferRecord/index.vue index f90ae8def..dcab8a1ec 100644 --- a/src/views/eam/equipmentTransferRecord/index.vue +++ b/src/views/eam/equipmentTransferRecord/index.vue @@ -99,9 +99,9 @@ const { getList, setSearchParams } = tableMethods // 列表头部按钮 const HeadButttondata = [ - defaultButtons.defaultAddBtn({hasPermi:'wms:equipmentTransferRecord:create'}), // 新增 - defaultButtons.defaultImportBtn({hasPermi:'wms:equipmentTransferRecord:import'}), // 导入 - defaultButtons.defaultExportBtn({hasPermi:'wms:equipmentTransferRecord:export'}), // 导出 + defaultButtons.defaultAddBtn({hasPermi:'eam:equipment-transfer-record:create'}), // 新增 + defaultButtons.defaultImportBtn({hasPermi:'eam:equipment-transfer-record:import'}), // 导入 + defaultButtons.defaultExportBtn({hasPermi:'eam:equipment-transfer-record:export'}), // 导出 defaultButtons.defaultFreshBtn(null), // 刷新 defaultButtons.defaultFilterBtn(null), // 筛选 defaultButtons.defaultSetBtn(null), // 设置 @@ -133,8 +133,8 @@ const buttonBaseClick = (val, item) => { // 列表-操作按钮 const butttondata = [ - defaultButtons.mainListEditBtn({hasPermi:'wms:equipmentTransferRecord:update'}), // 编辑 - defaultButtons.mainListDeleteBtn({hasPermi:'wms:equipmentTransferRecord:delete'}), // 删除 + defaultButtons.mainListEditBtn({hasPermi:'eam:equipment-transfer-record:update'}), // 编辑 + defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipment-transfer-record:delete'}), // 删除 ] // 列表-操作按钮事件 diff --git a/src/views/eam/maintenance/maintenance.data.ts b/src/views/eam/maintenance/maintenance.data.ts index c9fa1e18d..480ae1d0e 100644 --- a/src/views/eam/maintenance/maintenance.data.ts +++ b/src/views/eam/maintenance/maintenance.data.ts @@ -248,12 +248,6 @@ export const Maintenance = useCrudSchemas(reactive([ } }, }, - { - label: '工段编号', - field: 'workshopSectionCode', - sort: 'custom', - isSearch: true, - }, { label: '创建时间', field: 'createTime', diff --git a/src/views/qms/dynamicRule/index.vue b/src/views/qms/dynamicRule/index.vue index 49e9ff621..4eb9bf10a 100644 --- a/src/views/qms/dynamicRule/index.vue +++ b/src/views/qms/dynamicRule/index.vue @@ -70,10 +70,10 @@ :apiPage="InspectionStageApi.getInspectionStagePage" :apiDelete="InspectionStageApi.deleteInspectionStage" :detailValidate="detailValidate" - @searchTableSuccessDetail="searchTableSuccessDetail" - :detailButtonIsShowEdit=true - :detailButtonIsShowAdd=true - :detailButtonIsShowDelete=true + @searchTableSuccessDetail="searchTableSuccessDetail" + :detailButtonIsShowEdit="checkPermi(['qms:inspection-stage:update'])" + :detailButtonIsShowAdd="checkPermi(['qms:inspection-stage:create'])" + :detailButtonIsShowDelete="checkPermi(['qms:inspection-stage:delete'])" @detailOpenForm="detailOpenForm" myFuncTypeSign="InspectionStage" /> @@ -91,6 +91,7 @@ import * as InspectionStageApi from '@/api/qms/inspectionStage' import * as defaultButtons from '@/utils/disposition/defaultButtons' import UploadFile from '@/components/UploadFile/src/UploadFile.vue' +import { checkPermi } from '@/utils/permission' // import TableHead from '@/components/TableHead/src/TableHead.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import Detail from '@/components/Detail/src/Detail.vue' diff --git a/src/views/qms/inspectionScheme/index.vue b/src/views/qms/inspectionScheme/index.vue index e2cfe3f75..59dfc515c 100644 --- a/src/views/qms/inspectionScheme/index.vue +++ b/src/views/qms/inspectionScheme/index.vue @@ -89,7 +89,7 @@ const { getList, setSearchParams } = tableMethods // 列表头部按钮 const HeadButttondata = [ - defaultButtons.defaultAddBtn({hasPermi:'qms:type-template:create'}), // 新增 + defaultButtons.defaultAddBtn({hasPermi:'qms:inspection-scheme:create'}), // 新增 defaultButtons.defaultImportBtn({hasPermi:'qms:inspection-scheme:import'}), // 导入 // defaultButtons.defaultExportBtn({hasPermi:'wms:agv-locationrelation:export'}), // 导出 defaultButtons.defaultFreshBtn(null), // 刷新 @@ -131,9 +131,9 @@ const isShowMainButton = (row,val) => { const butttondata = (row) => { return [ - defaultButtons.mainListEditBtn({hasPermi: 'qms:type-template:update'}), - defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:type-template:enable'}), - defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:type-template:disable'}), + defaultButtons.mainListEditBtn({hasPermi: 'qms:inspection-scheme:update'}), + defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:inspection-scheme:enable'}), + defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:inspection-scheme:disable'}), ] } diff --git a/src/views/qms/sampleCode/sampleCode.data.ts b/src/views/qms/sampleCode/sampleCode.data.ts index 4d1228a15..5c9b96ee3 100644 --- a/src/views/qms/sampleCode/sampleCode.data.ts +++ b/src/views/qms/sampleCode/sampleCode.data.ts @@ -19,7 +19,7 @@ export const SampleCodeRules = reactive({ const samplingSchemeList = await getSamplingScheme() export const SampleCode = useCrudSchemas(reactive([ { - label: '采样方案', + label: '采样方案编码', field: 'code', sort: 'custom', isSearch: true, @@ -28,7 +28,7 @@ export const SampleCode = useCrudSchemas(reactive([ componentProps: { options: samplingSchemeList, optionsAlias: { - labelField: 'description', + labelField: 'code', valueField: 'code' }, } diff --git a/src/views/qms/selectedSet/index.vue b/src/views/qms/selectedSet/index.vue index b302283f1..63d287b40 100644 --- a/src/views/qms/selectedSet/index.vue +++ b/src/views/qms/selectedSet/index.vue @@ -72,9 +72,9 @@ :apiDelete="SelectedProjectApi.deleteSelectedProject" :detailValidate="detailValidate" @searchTableSuccessDetail="searchTableSuccessDetail" - :detailButtonIsShowEdit=true - :detailButtonIsShowAdd=true - :detailButtonIsShowDelete=true + :detailButtonIsShowEdit="checkPermi(['qms:selected-project:update'])" + :detailButtonIsShowAdd="checkPermi(['qms:selected-project:create'])" + :detailButtonIsShowDelete="checkPermi(['qms:selected-project:delete'])" @detailOpenForm="detailOpenForm" @detailBasicFormOnChange="detailBasiFormOnChange" :detailButtonIsShowFilter="false" @@ -94,6 +94,7 @@ import * as SelectedProjectApi from '@/api/qms/selectedProject' import * as DictDataApi from '@/api/system/dict/dict.data' import component from 'virtual:svg-icons-register' import * as DictTypeApi from '@/api/system/dict/dict.type' +import { checkPermi } from '@/utils/permission' // import TableHead from '@/components/TableHead/src/TableHead.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import Detail from '@/components/Detail/src/Detail.vue' diff --git a/src/views/wms/basicDataManage/itemManage/itempackage/index.vue b/src/views/wms/basicDataManage/itemManage/itempackage/index.vue index 815a31436..81fa5b6ee 100644 --- a/src/views/wms/basicDataManage/itemManage/itempackage/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itempackage/index.vue @@ -210,7 +210,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => { nextTick(() => { const setV = {} setV[formField] = val[0][searchField] - setV['uom'] = val[0]['uom'] + if('itemCode'==formField){ + setV['uom'] = val[0]['uom'] + } formRef.setValues(setV) }) } diff --git a/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts b/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts index d8aa930bf..9dba024a8 100644 --- a/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts +++ b/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts @@ -14,14 +14,14 @@ export const Packageunit = useCrudSchemas(reactive([ width: 150 }, }, - { - label: '父包装代码', - field: 'parentCode', - sort: 'custom', - table: { - width: 150 - }, - }, + // { + // label: '父包装代码', + // field: 'parentCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, { label: '包装名称', field: 'name', @@ -566,4 +566,4 @@ export const PackageunitCopy = useCrudSchemas(reactive([ fixed: 'right' } } -])) \ No newline at end of file +])) diff --git a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue index c1c28fdab..48fa418c5 100644 --- a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue +++ b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue @@ -674,19 +674,23 @@ const buttonBaseClick = (val, item) => { // 获取供应商列表 const getFormSupplierList = async () => { - options.originSupplierList = await getSupplierList() + options.originSupplierList = await getSupplierList(null) options.supplierList = [...options.originSupplierList] } // 获取客户列表 const getFormCustomerList = async () => { - options.originSupplierList = await getCustomerList() + options.originSupplierList = await getCustomerList(null) options.supplierList = [...options.originSupplierList] } const filterMethod = (query: string) => { if (query) { options.supplierList = options.originSupplierList.filter((item) => { - return item.name.includes(query) + if(item.name==''){ + return item.code.includes(query) + }else{ + return item.name.includes(query) + } }) } else { options.supplierList = [...options.originSupplierList] diff --git a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue index 2fd8a1768..639e766d7 100644 --- a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue +++ b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue @@ -203,7 +203,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => setV['customerDockCode'] = val[0]['customerDockCode'] // 获取子表数据 - DeliverRecordDetailApi.getDeliverRecordDetailPage({masterId:val[0]['id']}) + DeliverRecordDetailApi.getDeliverRecordDetailPage({masterId:val[0]['masterId']}) .then(res => { res.list.forEach(obj => { diff --git a/src/views/wms/inventoryManage/balance/index.vue b/src/views/wms/inventoryManage/balance/index.vue index d7fd2b8da..bc9a950bc 100644 --- a/src/views/wms/inventoryManage/balance/index.vue +++ b/src/views/wms/inventoryManage/balance/index.vue @@ -193,17 +193,17 @@ const handleSelectionPoint = async ()=>{ } // 列表-操作按钮 const butttondata = [ - { - label: '标签信息', - name: 'bqxx', - hide: false, - type: 'primary', - icon: '', - color: '', - link: true, - float:'right', - hasPermi: '' - }, + // { + // label: '标签信息', + // name: 'bqxx', + // hide: false, + // type: 'primary', + // icon: '', + // color: '', + // link: true, + // float:'right', + // hasPermi: '' + // }, defaultButtons.mainListPointBtn(null), // 标签打印 // defaultButtons.mainListEditBtn({hasPermi:'wms:balance:update'}), // 编辑 // defaultButtons.mainListDeleteBtn({hasPermi:'wms:balance:delete'}), // 删除 diff --git a/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/index.vue b/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/index.vue index 326564896..6d1591bfa 100644 --- a/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/index.vue @@ -285,9 +285,9 @@ const handleHandle = async (id: number) => { tableObject.loading = true await InventoryinitRequestMainApi.handleInventoryinitRequestMain(id) message.success(t('common.handleSuccess')) - tableObject.loading = false await getList() } catch {} + tableObject.loading = false } diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue index 167761dc5..25d4b91b0 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue @@ -190,6 +190,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => } else { row['itemCode'] = val[0]['code'] row['uom'] = val[0]['uom'] + row['singlePrice'] = val[0]['price'] } } else if(formField === 'costcentreCode'){ row['costcentreCode'] = val[0]['costcentreCode'] diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts index 0df221d91..502d4cfe0 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts @@ -532,6 +532,7 @@ export const UnplannedreceiptRequestDetail = useCrudSchemas(reactive([ fixed: 'right' }, }, - { - label: '包装规格', - field: 'packUnit', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault:7, - }, - { - label: '包装数量', - field: 'packQty', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault:8, - }, ])) export const IssueRequestMainRules = reactive({ diff --git a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts index 87e23beae..d7bc82000 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts @@ -658,16 +658,15 @@ export const RepleinshJobMainRules = reactive({ * @returns {Array} 补料任务子表 */ export const RepleinshJobDetail = useCrudSchemas(reactive([ - { - label: '包装号', - field: 'packingNumber', - sort: 'custom', - table: { - width: 150 - }, - isSearch: true, - sortTableDefault:5, - }, + // { + // label: '包装号', + // field: 'packingNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // sortTableDefault:5, + // }, { label: '包装规格', field: 'packUnit', diff --git a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts index 0d9fa4793..0fa431456 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts @@ -17,7 +17,8 @@ const { t } = useI18n() // 国际化 const queryParams = { pageSize:10, pageNo:1, - code:'RepleinmentRequest' + code:'RepleinmentRequest', + businessTypeCode: 'Repleinment' } const data = await getRequestsettingApi.getRequestsettingPage(queryParams) const requestsettingData =data?.list[0]||{} @@ -31,7 +32,7 @@ import {getLocationPageRepleinsh} from "@/api/wms/location"; // id 转str 否则form回显匹配不到 userDept.id = userDept.id.toString() const userDeptArray:any = [userDept] - + /** * @returns {Array} 补料申请主表 */ @@ -518,7 +519,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([ }, isTableForm: false, isForm: false, - isSearch: true, sortTableDefault:6, sortSearchDefault:4, }, @@ -530,7 +530,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([ width: 150 }, isTableForm: false, - isSearch: true, sortTableDefault:5, sortSearchDefault:3, }, @@ -544,7 +543,12 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([ form: { value: 'OK', componentProps: { - disabled: true + disabled: true, + searchCondition:[{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] } }, table: { @@ -564,7 +568,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([ width: 150 }, isTableForm: false, - isSearch: true, }, { label: '单据号', @@ -618,6 +621,9 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false + },{ + key : 'businessTypeCode', + value: queryParams.businessTypeCode }] }, }, diff --git a/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue b/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue index 9f7f42537..c04743a7b 100644 --- a/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue +++ b/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue @@ -28,9 +28,9 @@ v-model:currentPage="tableObject.currentPage" v-model:sort="tableObject.sort" > -