diff --git a/src/api/qms/inspectionQ3/index.ts b/src/api/qms/inspectionQ3/index.ts deleted file mode 100644 index a8e1d81b2..000000000 --- a/src/api/qms/inspectionQ3/index.ts +++ /dev/null @@ -1,73 +0,0 @@ -import request from '@/config/axios' - -export interface Q3VO { - id: number - number: string - q1Number: string - itemCode: string - qty: number - code: string - uom: string - desc: string - defectLocation: string - defectType: string - problemReason: string - priority: number - responUser: string - amount: number - costCode: string - handleTime: Date - status: string - available: string - deletionTime: Date - deleterId: string - extraProperties: string - concurrencyStamp: number - siteId: string -} - -// 查询Q3通知单列表 -export const getQ3Page = async (params) => { - if (params.isSearch) { - delete params.isSearch - const data = { ...params } - return await request.post({ url: '/qms/inspectionQ3/senior', data }) - } else { - return await request.get({ url: `/qms/inspectionQ3/page`, params }) - } -} - -// 查询Q3通知单详情 -export const getQ3 = async (id: number) => { - return await request.get({ url: `/qms/inspectionQ3/get?id=` + id }) -} - -// 新增Q3通知单 -export const createQ3 = async (data: Q3VO) => { - return await request.post({ url: `/qms/inspectionQ3/create`, data }) -} - -// 修改Q3通知单 -export const updateQ3 = async (data: Q3VO) => { - return await request.put({ url: `/qms/inspectionQ3/update`, data }) -} - -// 删除Q3通知单 -export const deleteQ3 = async (id: number) => { - return await request.delete({ url: `/qms/inspectionQ3/delete?id=` + id }) -} - -// 导出Q3通知单 Excel -export const exportQ3 = async (params) => { - return await request.download({ url: `/qms/inspectionQ3/export-excel`, params }) -} - -// 下载用户导入模板 -export const importTemplate = () => { - return request.download({ url: '/qms/inspectionQ3/get-import-template' }) -} - -// 完成 -export const finishQ3 = async (id: number) => { - return await request.get({ url: `/qms/inspectionQ3/finish?id=` + id }) -} diff --git a/src/api/qms/inspectionQ3/inspectionQ3Detail/index.ts b/src/api/qms/inspectionQ3/inspectionQ3Detail/index.ts new file mode 100644 index 000000000..796b25512 --- /dev/null +++ b/src/api/qms/inspectionQ3/inspectionQ3Detail/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +export interface InspectionQ3DetailVO { + id: number + masterId: number + number: string + itemCode: string + qty: number + uom: string + price: number + amount: number + costCode: string + defectCode: string + defectLocation: string + defectType: string + problemReason: string + available: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询Q3通知单子列表 +export const getInspectionQ3DetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = { ...params } + return await request.post({ url: '/qms/inspection-Q3-detail/senior', data }) + } else { + return await request.get({ url: `/qms/inspection-Q3-detail/page`, params }) + } +} + +// 查询Q3通知单子详情 +export const getInspectionQ3Detail = async (id: number) => { + return await request.get({ url: `/qms/inspection-Q3-detail/get?id=` + id }) +} + +// 新增Q3通知单子 +export const createInspectionQ3Detail = async (data: InspectionQ3DetailVO) => { + return await request.post({ url: `/qms/inspection-Q3-detail/create`, data }) +} + +// 修改Q3通知单子 +export const updateInspectionQ3Detail = async (data: InspectionQ3DetailVO) => { + return await request.put({ url: `/qms/inspection-Q3-detail/update`, data }) +} + +// 删除Q3通知单子 +export const deleteInspectionQ3Detail = async (id: number) => { + return await request.delete({ url: `/qms/inspection-Q3-detail/delete?id=` + id }) +} + +// 导出Q3通知单子 Excel +export const exportInspectionQ3Detail = async (params) => { + return await request.download({ url: `/qms/inspection-Q3-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/inspection-Q3-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/qms/inspectionQ3/inspectionQ3Main/index.ts b/src/api/qms/inspectionQ3/inspectionQ3Main/index.ts new file mode 100644 index 000000000..60c723fd8 --- /dev/null +++ b/src/api/qms/inspectionQ3/inspectionQ3Main/index.ts @@ -0,0 +1,65 @@ +import request from '@/config/axios' + +export interface InspectionQ3MainVO { + id: number + number: string + q1Number: string + responUser: string + priority: string + handleTime: Date + summaryAmount: number + desc: string + status: string + available: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询Q3通知单主列表 +export const getInspectionQ3MainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = { ...params } + return await request.post({ url: '/qms/inspection-Q3-main/senior', data }) + } else { + return await request.get({ url: `/qms/inspection-Q3-main/page`, params }) + } +} + +// 查询Q3通知单主详情 +export const getInspectionQ3Main = async (id: number) => { + return await request.get({ url: `/qms/inspection-Q3-main/get?id=` + id }) +} + +// 新增Q3通知单主 +export const createInspectionQ3Main = async (data: InspectionQ3MainVO) => { + return await request.post({ url: `/qms/inspection-Q3-main/create`, data }) +} + +// 修改Q3通知单主 +export const updateInspectionQ3Main = async (data: InspectionQ3MainVO) => { + return await request.put({ url: `/qms/inspection-Q3-main/update`, data }) +} + +// 删除Q3通知单主 +export const deleteInspectionQ3Main = async (id: number) => { + return await request.delete({ url: `/qms/inspection-Q3-main/delete?id=` + id }) +} + +// 导出Q3通知单主 Excel +export const exportInspectionQ3Main = async (params) => { + return await request.download({ url: `/qms/inspection-Q3-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/inspection-Q3-main/get-import-template' }) +} + +// 完成 +export const finishInspectionQ3Main = async (id: number) => { + return await request.get({ url: `/qms/inspection-Q3-main/finish?id=` + id }) +} diff --git a/src/api/wms/bomDismantle/index.ts b/src/api/wms/bomDismantle/index.ts index 0a7a86196..83b2da219 100644 --- a/src/api/wms/bomDismantle/index.ts +++ b/src/api/wms/bomDismantle/index.ts @@ -15,6 +15,13 @@ export const getProductscrapBomDismantlePage = async (params) => { return await request.get({ url: `/wms/productscrap-request-main/bomPage`, params }) } + +export const getProductscrapBomRecordPage = async (params) => { + return await request.get({ url: `/wms/productscrap-request-main/bomRecordPage`, params }) +} + + + // 查询制品报废申请子列表 export const getProductscrapBomDismantleRecordPage = async (params) => { return await request.get({ url: `/wms/productscrap-record-main/bomPage`, params }) diff --git a/src/api/wms/purchaseDetail/index.ts b/src/api/wms/purchaseDetail/index.ts index d51ab6b68..e1226b751 100644 --- a/src/api/wms/purchaseDetail/index.ts +++ b/src/api/wms/purchaseDetail/index.ts @@ -55,6 +55,15 @@ export const getPurchaseDetailPageWMS = async (params) => { } } +export const getPurchaseDetailPageWMSTypeM = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchase-detail/seniorM', data }) + } else { + return await request.get({ url: `/wms/purchase-detail/pageM`, params }) + } +} // 查询采购订单子列表 export const getPurchaseDetailPageWMSSpare = async (params) => { diff --git a/src/api/wms/purchasereturnRequestDetail/index.ts b/src/api/wms/purchasereturnRequestDetail/index.ts index 9a7a46f64..921b1036f 100644 --- a/src/api/wms/purchasereturnRequestDetail/index.ts +++ b/src/api/wms/purchasereturnRequestDetail/index.ts @@ -37,7 +37,14 @@ export const getPurchasereturnRequestDetailPage = async (params) => { return await request.get({ url: `/wms/purchasereturn-request-detail/page`, params }) } } - +// 物料供应商查询 +export const getPurchasereturnSupplierByCode = async (params) => { + return await request.get({ url: `/wms/supplieritem/querySupplierByCode`, params }) +} +// 收货明细查询 +export const getPurchasereturnPurchasereceiptRecordByItemCode = async (params) => { + return await request.get({ url: `/wms/purchasereceipt-record-detail/queryPurchasereceiptRecordByItemCode`, params }) +} // 查询采购退货申请子列表 export const getPurchasereturnRequestDetailPageSpare = async (params) => { diff --git a/src/views/qms/inspectionJob/index.vue b/src/views/qms/inspectionJob/index.vue index b8e167a86..a4d7aaa94 100644 --- a/src/views/qms/inspectionJob/index.vue +++ b/src/views/qms/inspectionJob/index.vue @@ -2,9 +2,10 @@ @@ -124,8 +125,6 @@ import { getReportUrl } from '@/utils/systemParam' import { useUserStore } from '@/store/modules/user' import { formatDate } from '@/utils/formatTime' -// 采购订单 -defineOptions({ name: 'inspectionJobMain' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 @@ -181,7 +180,19 @@ const { tableObject, tableMethods } = useTable({ // 获得表格的各种操作 const { getList, setSearchParams } = tableMethods - +const searchParams = (model) => { + if (route.name == 'inspectionJobProduction') { + model.available = 'TRUE' + model.inspectionType = '4' + } else if (route.name == 'inspectionJobPurchase') { + model.available = 'TRUE' + model.inspectionType = '1' + } else { + model.available = 'TRUE' + model.excludeInspectionType = '1,4' + } + setSearchParams(model) +} // 列表头部按钮 const HeadButttondata = [ defaultButtons.defaultExportBtn({ hasPermi: 'qms:inspection-job-main:export' }), // 导出 @@ -453,13 +464,13 @@ const handleImport = () => { const searchFormClick = (searchData) => { let isHave = searchData?.filters?.some((item) => item.column == 'inspectionType') if (!isHave) { - if (route.name == 'inspectionJobProductionMain') { + if (route.name == 'inspectionJobProduction') { searchData.filters.push({ action: '==', column: 'inspectionType', value: '4' }) - } else if (route.name == 'inspectionJobPurchaseMain') { + } else if (route.name == 'inspectionJobPurchase') { searchData.filters.push({ action: '==', column: 'inspectionType', @@ -479,47 +490,48 @@ const searchFormClick = (searchData) => { } getList() // 刷新当前列表 } +const searchRef = ref() +const searchSchema = ref(JSON.parse(JSON.stringify(InspectionJobMain.allSchemas.searchSchema))) +const options = InspectionJobMain.allSchemas.searchSchema.find((item) => item.field == 'inspectionType') /** 初始化 **/ onMounted(async () => { - console.log(11,route.name) - if (route.name == 'inspectionJobProductionMain') { + if (route.name == 'inspectionJobProduction') { tableObject.params = { available: true, inspectionType: '4' } - } else if (route.name == 'inspectionJobPurchaseMain') { + searchSchema.value.forEach((item) => { + if (item.field == 'inspectionType') { + item.componentProps.options=options.componentProps.options?.filter((cur) => cur.value == '4') + } + }) + console.log(999,searchSchema.value) + searchRef.value.setFormValues({ inspectionType: '4' }) + } else if (route.name == 'inspectionJobPurchase') { tableObject.params = { available: true, inspectionType: '1' } + searchSchema.value.forEach((item) => { + if (item.field == 'inspectionType') { + item.componentProps.options = options.componentProps.options?.filter((cur) => cur.value == '1') + } + }) + searchRef.value.setFormValues({ inspectionType: '1' }) } else { tableObject.params = { available: true, excludeInspectionType: '1,4' } + searchSchema.value.forEach((item) => { + if (item.field == 'inspectionType') { + item.componentProps.options = options.componentProps.options?.filter(cur=>cur.value != '1' && cur.value != '4') + } + }) } - - getList() - // importTemplateData.templateUrl = await InspectionJobMainApi.importTemplate() + searchParams(tableObject.params) }) -onActivated(() => { - if (route.name == 'inspectionJobProductionMain') { - tableObject.params = { - available: true, - inspectionType: '4' - } - } else if (route.name == 'inspectionJobPurchaseMain') { - tableObject.params = { - available: true, - inspectionType: '1' - } - } else { - tableObject.params = { - available: true, - excludeInspectionType: '1,4' - } - } - - getList() +defineExpose({ + getList }) diff --git a/src/views/qms/inspectionJob/inspectionJob.vue b/src/views/qms/inspectionJob/inspectionJob.vue new file mode 100644 index 000000000..d56f366d8 --- /dev/null +++ b/src/views/qms/inspectionJob/inspectionJob.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/qms/inspectionJob/inspectionJobMain.data.ts b/src/views/qms/inspectionJob/inspectionJobMain.data.ts index 0a89714df..30a62efa2 100644 --- a/src/views/qms/inspectionJob/inspectionJobMain.data.ts +++ b/src/views/qms/inspectionJob/inspectionJobMain.data.ts @@ -272,7 +272,7 @@ export const InspectionJobMain = useCrudSchemas( label: '检验类型', field: 'inspectionType', sort: 'custom', - dictType: DICT_TYPE.INSPECTION_TYPE_NEW, + dictType: DICT_TYPE.INSPECTION_TYPE, dictClass: 'string', isSearch: true, form: { @@ -293,7 +293,7 @@ export const InspectionJobMain = useCrudSchemas( dictClass: 'string', // 默认都是字符串类型其他暂不考虑 isTable: false, isDetail: false, - isSearch: true, + isSearch: false, isTableForm: false, isForm: false }, diff --git a/src/views/qms/inspectionJob/inspectionJobProduction.vue b/src/views/qms/inspectionJob/inspectionJobProduction.vue new file mode 100644 index 000000000..0bbb67e6a --- /dev/null +++ b/src/views/qms/inspectionJob/inspectionJobProduction.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/qms/inspectionJob/inspectionJobPurchase.vue b/src/views/qms/inspectionJob/inspectionJobPurchase.vue new file mode 100644 index 000000000..009806780 --- /dev/null +++ b/src/views/qms/inspectionJob/inspectionJobPurchase.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/views/qms/inspectionQ3/index.vue b/src/views/qms/inspectionQ3/index.vue index abd156ce2..f84c2ead1 100644 --- a/src/views/qms/inspectionQ3/index.vue +++ b/src/views/qms/inspectionQ3/index.vue @@ -2,7 +2,10 @@ @@ -15,12 +18,14 @@ :routeName="routeName" @updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick" - :allSchemas="Q3.allSchemas" + :allSchemas="InspectionQ3Main.allSchemas" + :detailAllSchemas="InspectionQ3Detail.allSchemas" /> - diff --git a/src/views/qms/inspectionQ3/inspectionQ3.data.ts b/src/views/qms/inspectionQ3/inspectionQ3.data.ts index 142deb01f..c1c8003f6 100644 --- a/src/views/qms/inspectionQ3/inspectionQ3.data.ts +++ b/src/views/qms/inspectionQ3/inspectionQ3.data.ts @@ -4,39 +4,38 @@ import { dateFormatter } from '@/utils/formatTime' import * as InspectionQ1Api from '@/api/qms/inspectionQ1' import { Q1 } from '@/views/qms/inspectionQ1/inspectionQ1.data' +import * as ItembasicApi from '@/api/wms/itembasic' +import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' + +import * as ProductionlineitemApi from '@/api/wms/productionlineitem' +import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' + import * as QadCostcentreApi from '@/api/wms/qadCostcentre' import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data' -import * as ItembasicApi from '@/api/wms/itembasic' -import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' +const { t } = useI18n() // 国际化 +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize: 10, + pageNo: 1, + code: 'IssueRequest' +} + +// 获取当前操作人的部门 import { useUserStore } from '@/store/modules/user' +import { TableColumn } from '@/types/table' +import { fa } from 'element-plus/es/locale' const userStore = useUserStore() +const userDept = userStore.userSelfInfo.dept +// id 转str 否则form回显匹配不到 +userDept.id = userDept.id.toString() +const userDeptArray: any = [userDept] -// 表单校验 -export const Q3Rules = reactive({ - number: [required], - itemCode: [required], - qty: [required], - code: [required], - defectLocation: [required], - defectType: [ - { required: true, message: '缺陷类型不能为空', trigger: 'blur' }, - { max: 50, message: '不得超过50个字符', trigger: 'blur' } - ], - problemReason: [ - { required: true, message: '问题原因不能为空', trigger: 'blur' }, - { max: 50, message: '不得超过50个字符', trigger: 'blur' } - ], - priority: [required], - amount: [required], - costCode: [required], - handleTime: [required], - available: [required], - concurrencyStamp: [required] -}) - -export const Q3 = useCrudSchemas( +/** + * @returns {Array} 发料申请主表 + */ +export const InspectionQ3Main = useCrudSchemas( reactive([ { label: '通知单号', @@ -53,6 +52,7 @@ export const Q3 = useCrudSchemas( label: 'Q1通知单号', field: 'q1Number', sort: 'custom', + isSearch: true, table: { width: 150 }, @@ -90,216 +90,107 @@ export const Q3 = useCrudSchemas( } ] // 失去焦点校验参数 } - }, - isSearch: true + } }, { - label: '状态', - field: 'status', + label: '负责用户', + field: 'responUser', sort: 'custom', - dictType: DICT_TYPE.PUBLISHE_STATUS, - dictClass: 'string', - isForm: false, isSearch: false, - tableForm: { - type: 'Select', - disabled: true + table: { + width: 120 }, form: { componentProps: { + value: userStore.getUser.nickname, disabled: true } } }, { - label: '物料代码', - field: 'itemCode', + label: '优先级', + field: 'priority', sort: 'custom', - isSearch: true, - table: { - width: 150 - }, + dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, + dictClass: 'string', + isSearch: false, + isTable: true, tableForm: { - enterSearch: true, - isInpuFocusShow: true, - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '物料基础信息', // 查询弹窗标题 - searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 - searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'code', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '物料基础信息', // 查询弹窗标题 - searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 - searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'code', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } + type: 'Select' } }, { - label: '数量', - field: 'qty', - sort: 'custom', - isTable: true, + label: '处理时间', + field: 'handleTime', isSearch: false, table: { - width: 150 + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' }, form: { - component: 'InputNumber', + component: 'DatePicker', componentProps: { - min: 0, - precision: 2 + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' } } }, { - label: '单位', - field: 'uom', + label: '汇总金额', + field: 'summaryAmount', sort: 'custom', - dictType: DICT_TYPE.UOM, - dictClass: 'string', isSearch: false, - isTable: true, - tableForm: { - type: 'Select', - disabled: true + table: { + width: 150 }, form: { + component: 'InputNumber', componentProps: { + min: 0, + precision: 6, disabled: true } } }, { - label: '编码', - field: 'code', + label: '物料代码', + field: 'itemCode', sort: 'custom', - dictType: DICT_TYPE.QMS_Q3_CODE, - dictClass: 'string', isSearch: true, - isTable: true, - tableForm: { - type: 'Select' - } - }, - { - label: '缺陷位置', - field: 'defectLocation', - sort: 'custom', - dictClass: 'string', - isSearch: false, - isTable: false, - form: { - component: 'Select', - componentProps: { - options: [], - optionsAlias: { - labelField: 'productionLineName', - valueField: 'productionLineCode' - }, - filterable: true, - } - } + isForm: false }, { - label: '缺陷类型', - field: 'defectType', + label: '数量', + field: 'qty', sort: 'custom', isSearch: false, - isTable: false, - table: { - width: '150' - }, - form: { - component: 'Input' - } + isForm: false }, { - label: '问题原因', - field: 'problemReason', + label: '计量单位', + field: 'uom', sort: 'custom', isSearch: false, - isTable: false, - table: { - width: '150' - }, - form: { - component: 'Input' - } + isForm: false }, { - label: '优先级', - field: 'priority', + label: '单价', + field: 'price', sort: 'custom', - dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, - dictClass: 'string', isSearch: false, - isTable: false, - tableForm: { - type: 'Select' - } - }, - { - label: '负责用户', - field: 'responUser', - sort: 'custom', - isSearch: false, - isForm: true, - table: { - width: 120 - }, - form: { - componentProps: { - value: userStore.getUser.nickname, - disabled: true - } - } + isForm: false }, { label: '金额', field: 'amount', sort: 'custom', - isTable: false, + isTable: true, + isForm: false, isSearch: false, table: { width: 150 @@ -317,8 +208,8 @@ export const Q3 = useCrudSchemas( field: 'costCode', sort: 'custom', isSearch: false, - isTable: false, - isForm: true, + isTable: true, + isForm: false, form: { // labelMessage: '信息提示说明!!!', componentProps: { @@ -349,28 +240,47 @@ export const Q3 = useCrudSchemas( } } }, + { - label: '处理时间', - field: 'handleTime', + label: '缺陷编码', + field: 'defectCode', + sort: 'custom', + dictType: DICT_TYPE.QMS_Q3_CODE, + dictClass: 'string', isSearch: false, - isTable: false, + isForm: false, + isTable: true, table: { width: 180 }, - formatter: dateFormatter, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, + tableForm: { + type: 'Select' + } + }, + { + label: '缺陷位置', + field: 'defectLocation', + sort: 'custom', + isSearch: false, + isForm: false + }, + { + label: '缺陷类型', + field: 'defectType', + sort: 'custom', + isSearch: false, + isForm: false, form: { - component: 'DatePicker', - componentProps: { - style: { width: '100%' }, - type: 'datetime', - dateFormat: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'x' - } + component: 'Select' } }, + { + label: '问题原因', + field: 'problemReason', + sort: 'custom', + isSearch: false, + isForm: false + }, { label: '描述', field: 'desc', @@ -386,6 +296,24 @@ export const Q3 = useCrudSchemas( } } }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.PUBLISHE_STATUS, + dictClass: 'string', + isSearch: false, + isForm: false, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, { label: '是否可用', field: 'available', @@ -423,18 +351,282 @@ export const Q3 = useCrudSchemas( valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - }, - }, + } + } }, + { label: '操作', field: 'action', - isForm: false, isDetail: false, + isForm: false, table: { - width: 150, + width: 230, fixed: 'right' } } ]) ) + +export const InspectionQ3MainRules = reactive({ + priority: [{ required: true, message: '请选择优先级', trigger: 'change' }], + handleTime: [{ required: true, message: '请选择处理时间', trigger: 'change' }], + desc: [{ max: 50, message: '不得超过50个字符', trigger: 'blur' }] +}) + +/** + * @returns {Array} 发料申请子表 + */ +export const InspectionQ3Detail = useCrudSchemas( + reactive([ + { + label: '通知单号', + field: 'number', + sort: 'custom', + isSearch: false, + isTable: false, + isTableForm: false + }, + { + label: '物料号', + field: 'itemCode', + sort: 'custom', + isTable: false, + isDetail: true, + isSearch: false, + table: { + width: 150 + }, + tableForm: { + isInpuFocusShow: false, + disabled: true, + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料信息', // 查询弹窗标题 + searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + isShowTableFormSearch: true, //tableForm下方是否出现输入框 + isRepeat: true, //tableForm下方输入框是否可以重复添加该条数据 + verificationParams: [ + { + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料基础信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isSearch: false, + isTable: false, + + tableForm: { + type: 'InputNumber', + min: 0, + precision: 2 + } + }, + { + label: '单位', + field: 'uom', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: false, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '单价', + field: 'price', + sort: 'custom', + isTable: false, + isSearch: false, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '金额', + field: 'amount', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '成本中心代码', + field: 'costCode', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: true, + tableForm: { + isInpuFocusShow: true, + searchListPlaceholder: '请选择成本中心', // 输入框占位文本 + searchField: 'costcentreCode', // 查询弹窗赋值字段 + searchTitle: '成本中心信息', // 查询弹窗标题 + searchAllSchemas: QadCostcentre.allSchemas, // 查询弹窗所需类 + searchPage: QadCostcentreApi.getQadCostcentrePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'costcentreCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + }, + { + label: '缺陷编码', + field: 'defectCode', + sort: 'custom', + dictType: DICT_TYPE.QMS_Q3_CODE, + dictClass: 'string', + isSearch: true, + isTable: false, + tableForm: { + type: 'Select' + } + }, + { + label: '缺陷位置', + field: 'defectLocation', + sort: 'custom', + dictClass: 'string', + isSearch: false, + isTable: false, + form: { + component: 'Select', + componentProps: { + options: [], + optionsAlias: { + labelField: 'productionLineName', + valueField: 'productionLineCode' + }, + filterable: true + } + }, + tableForm: { + type: 'Select', + valueField: 'productionLineName', + labelField: 'productionLineCode' + } + }, + { + label: '缺陷类型', + field: 'defectType', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + component: 'Select' + } + }, + { + label: '问题原因', + field: 'problemReason', + hiddenInMain: true, + sort: 'custom', + isSearch: false, + isTable: false, + form: { + component: 'Select' + } + }, + { + label: '操作', + field: 'action', + hiddenInMain: true, + isDetail: false, + isForm: false, + table: { + width: 200, + fixed: 'right' + }, + isTableForm: false + } + ]) +) + +//表单校验 +export const InspectionQ3DetailRules = reactive({ + itemCode: [{ required: true, message: '请选择物料代码', trigger: 'change' }], + packingNumber: [{ required: true, message: '请输入包装号', trigger: 'blur' }], + batch: [{ required: true, message: '请输入批次', trigger: 'blur' }], + inventoryStatus: [{ required: true, message: '请选择库存状态', trigger: 'change' }], + toLocationCode: [{ required: true, message: '请输入到库位代码', trigger: 'blur' }] +}) diff --git a/src/views/qms/inspectionRecord/index.vue b/src/views/qms/inspectionRecord/index.vue index 2af87c949..a7863738e 100644 --- a/src/views/qms/inspectionRecord/index.vue +++ b/src/views/qms/inspectionRecord/index.vue @@ -3,8 +3,8 @@ @@ -172,6 +172,19 @@ const { tableObject, tableMethods } = useTable({ // 获得表格的各种操作 const { getList, setSearchParams } = tableMethods +const searchParams = (model) => { + if (route.name == 'inspectionRecordProduction') { + model.available = 'TRUE' + model.inspectionType = '4' + } else if (route.name == 'inspectionRecordPurchase') { + model.available = 'TRUE' + model.inspectionType = '1' + } else { + model.available = 'TRUE' + model.excludeInspectionType = '1,4,11' + } + setSearchParams(model) +} // 列表头部按钮 let HeadButttondata = [ defaultButtons.defaultExportBtn({ hasPermi: 'qms:inspection-recode-main:export' }), // 导出 @@ -231,6 +244,7 @@ const isShowPackageBtn = (row, val) => { const butttondata = (row) => { return [ // defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), // 完成 + defaultButtons.mainApplyDecisionBtn({ hide: isShowMainButton(row, null), hasPermi: 'qms:inspection-recode-main:edit' @@ -240,6 +254,10 @@ const butttondata = (row) => { hide: isShowMainButton(row, 'publish'), hasPermi: 'qms:inspection-recode-main:pub' }), // 发布 + defaultButtons.mainListCloseBtn({ + hide: isShowMainButton(row, 'publish'), + hasPermi: 'qms:inspection-recode-main:close' + }), // 关闭 defaultButtons.mainListPackageBtn({ hide: isShowPackageBtn(row, ['11']) }), // 包装 // defaultButtons.mainListJobExeBtn({ // hide:row.useDecision, @@ -256,7 +274,9 @@ const useDecisionList = getStrDictOptions(DICT_TYPE.USAGE_DECISION) // const useDecisionList = InspectionRecordMain.allSchemas.formSchema.filter(item=>item.field == "useDecision") // 列表-操作按钮事件 const buttonTableClick = async (val, row) => { - if (val == 'applyDecision') { + if (val == 'mainClose') { + handleOrderClose(row) + } else if (val == 'applyDecision') { // 编辑 // 评估代码值是1,接收时候,使用决策下拉列表是全部合格 if (row.estimateCode == 1) { @@ -353,7 +373,20 @@ const handleOrderPub = async (row: object) => { await getList() } catch {} } - +/** 关闭按钮操作 */ +const handleOrderClose = async (row: object) => { + try { + // 二次确认 + await message.confirm(t('ts.是否关闭所选中数据?')) + row.isPublished = true + row.packageList = await InspectionRecordPackageApi.getInspectionRecordPackageList(row.id) + await InspectionRecordMainApi.updateInspectionRecordMain(row) + message.success(t('ts.关闭成功!')) + await getList() + } catch { + row.isPublished = false + } +} //执行 const execute = async (type: string, row?: number) => { @@ -431,34 +464,39 @@ const submitFormExecute = async (formType, data) => { const searchFormClick = (searchData) => { let isHave = searchData?.filters?.some((item) => item.column == 'inspectionType') if (!isHave) { - if (route.name == 'inspectionRecordPurchaseMain') { - searchData.filters.push({ - action: '==', - column: 'inspectionType', - value: '1' - },{ - action: '==', - column: 'available', - value: true - }) - } else if (route.name == 'inspectionRecordProductionMain') { - searchData.filters.push({ - action: '==', - column: 'inspectionType', - value: '4' - },{ - action: '==', - column: 'available', - value: true - }) - } else { + if (route.name == 'inspectionRecordPurchase') { + searchData.filters.push( + { + action: '==', + column: 'inspectionType', + value: '1' + }, + { + action: '==', + column: 'available', + value: true + } + ) + } else if (route.name == 'inspectionRecordProduction') { + searchData.filters.push( + { + action: '==', + column: 'inspectionType', + value: '4' + }, + { + action: '==', + column: 'available', + value: true + } + ) + } else { searchData.filters.push({ - action: 'notIn', - column: 'inspectionType', - value: '1,4,11' - }) - } - + action: 'notIn', + column: 'inspectionType', + value: '1,4,11' + }) + } } tableObject.params = { isSearch: true, @@ -469,12 +507,12 @@ const searchFormClick = (searchData) => { /** 初始化 **/ onMounted(async () => { - if (route.name == 'inspectionRecordPurchaseMain') { + if (route.name == 'inspectionRecordPurchase') { tableObject.params = { available: true, inspectionType: '1' } - } else if (route.name == 'inspectionRecordProductionMain') { + } else if (route.name == 'inspectionRecordProduction') { tableObject.params = { available: true, inspectionType: '4' @@ -488,24 +526,7 @@ onMounted(async () => { getList() }) -onActivated(() => { - if (route.name == 'inspectionRecordPurchaseMain') { - tableObject.params = { - available: true, - inspectionType: '1' - } - } else if (route.name == 'inspectionRecordProductionMain') { - tableObject.params = { - available: true, - inspectionType: '4' - } - } else { - tableObject.params = { - available: true, - excludeInspectionType: '1,4,11' - } - } - - getList() +defineExpose({ + getList }) diff --git a/src/views/qms/inspectionRecord/inspectionRecord.vue b/src/views/qms/inspectionRecord/inspectionRecord.vue new file mode 100644 index 000000000..59c7d2520 --- /dev/null +++ b/src/views/qms/inspectionRecord/inspectionRecord.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/qms/inspectionRecord/inspectionRecordProduction.vue b/src/views/qms/inspectionRecord/inspectionRecordProduction.vue new file mode 100644 index 000000000..1e353a101 --- /dev/null +++ b/src/views/qms/inspectionRecord/inspectionRecordProduction.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/src/views/qms/inspectionRecord/inspectionRecordPurchase.vue b/src/views/qms/inspectionRecord/inspectionRecordPurchase.vue new file mode 100644 index 000000000..8f4d0a7b6 --- /dev/null +++ b/src/views/qms/inspectionRecord/inspectionRecordPurchase.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/src/views/wms/basicDataManage/itemManage/packageunit/index.vue b/src/views/wms/basicDataManage/itemManage/packageunit/index.vue index 569282c90..4193df23a 100644 --- a/src/views/wms/basicDataManage/itemManage/packageunit/index.vue +++ b/src/views/wms/basicDataManage/itemManage/packageunit/index.vue @@ -209,33 +209,38 @@ const openForm = (type: string, row?: any) => { // form表单提交 const formsSuccess = async (formType,data) => { - var isHave =Packageunit.allSchemas.formSchema.some(function (item) { - return item.field === 'activeTime' || item.field === 'expireTime'; - }); - if(isHave){ - if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ - message.error('失效时间要大于生效时间') - return; + try{ + var isHave =Packageunit.allSchemas.formSchema.some(function (item) { + return item.field === 'activeTime' || item.field === 'expireTime'; + }); + if(isHave){ + if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ + message.error('失效时间要大于生效时间') + return; + } } + if(data.activeTime==0)data.activeTime = null; + if(data.expireTime==0)data.expireTime = null; + data.parentCode = data.parentCode === '' ? null : data.parentCode; + basicFormRef.value.formLoading = true + if (formType === 'create') { + await PackageunitApi.createPackageunit(data) + message.success(t('common.createSuccess')) + } else { + await PackageunitApi.updatePackageunit(data) + message.success(t('common.updateSuccess')) + } + basicFormRef.value.formLoading = false + basicFormRef.value.dialogVisible = false + if (formType === 'create') { + getList() + }else{ + buttonBaseClick('refresh',null) + } + }catch { + basicFormRef.value.formLoading = false } - if(data.activeTime==0)data.activeTime = null; - if(data.expireTime==0)data.expireTime = null; - data.parentCode = data.parentCode === '' ? null : data.parentCode; - basicFormRef.value.formLoading = true - if (formType === 'create') { - await PackageunitApi.createPackageunit(data) - message.success(t('common.createSuccess')) - } else { - await PackageunitApi.updatePackageunit(data) - message.success(t('common.updateSuccess')) - } - basicFormRef.value.formLoading = false - basicFormRef.value.dialogVisible = false - if (formType === 'create') { - getList() - }else{ - buttonBaseClick('refresh',null) - } + } /** 详情操作 */ diff --git a/src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts b/src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts index 8f3ef3edd..57b7f701a 100644 --- a/src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts +++ b/src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts @@ -2,9 +2,6 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import { TableColumn } from '@/types/table' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' - /** * @returns {Array} 报废出库任务主表 */ @@ -41,51 +38,7 @@ export const ScrapJobMain = useCrudSchemas( width: 150 } }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + { label: '申请时间', field: 'requestTime', diff --git a/src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts b/src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts index 20a8009e4..e53fc5a87 100644 --- a/src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts +++ b/src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts @@ -2,9 +2,6 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' import { TableColumn } from '@/types/table' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' - /** * @returns {Array} 报废出库记录主表 */ @@ -38,51 +35,6 @@ export const ScrapRecordMain = useCrudSchemas( }, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, { label: '申请时间', field: 'requestTime', @@ -270,7 +222,7 @@ export const ScrapRecordMain = useCrudSchemas( type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } - }, + } }, { label: '创建者', diff --git a/src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts b/src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts index 8938c82a8..a05305f0f 100644 --- a/src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts @@ -8,8 +8,14 @@ import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data' import * as WarehouseApi from '@/api/wms/warehouse' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ1Api from '@/api/qms/inspectionQ1' +// import { Q1 } from '@/views/qms/inspectionQ1/inspectionQ1.data' + +// import * as InspectionQ2Api from '@/api/qms/inspectionQ2' +// import { Q2 } from '@/views/qms/inspectionQ2/inspectionQ2.data' + +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' const { t } = useI18n() // 国际化 @@ -47,51 +53,141 @@ export const ScrapRequestMain = useCrudSchemas( isForm: false, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q1通知单号', + // field: 'q1Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, + // // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q1通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q1通知单号', // 查询弹窗标题 + // searchAllSchemas: Q1.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ1Api.getQ1Page, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, + // { + // label: 'Q2通知单号', + // field: 'q2Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, + // // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q2通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q2通知单号', // 查询弹窗标题 + // searchAllSchemas: Q2.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ2Api.getQ2Page, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, + // // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '状态', field: 'status', @@ -403,7 +499,7 @@ export const ScrapRequestMain = useCrudSchemas( type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } - }, + } }, { label: '创建者', diff --git a/src/views/wms/issueManage/productionscrap/productionscrapRecordMain/productionscrapRecordMain.data.ts b/src/views/wms/issueManage/productionscrap/productionscrapRecordMain/productionscrapRecordMain.data.ts index 3e5b910f5..67eb77b0f 100644 --- a/src/views/wms/issueManage/productionscrap/productionscrapRecordMain/productionscrapRecordMain.data.ts +++ b/src/views/wms/issueManage/productionscrap/productionscrapRecordMain/productionscrapRecordMain.data.ts @@ -1,8 +1,8 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' /** * @returns {Array} 生产退料记录主表 @@ -28,51 +28,50 @@ export const ProductionscrapRecordMain = useCrudSchemas( }, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '车间代码', field: 'workshopCode', @@ -595,6 +594,28 @@ export const ProductionscrapRecordDetail = useCrudSchemas(reactive }, hiddenInMain: true, }, + { + label: '单价', + field: 'singlePrice', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '金额', + field: 'amount', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, { label: '从货主代码', field: 'fromOwnerCode', @@ -694,7 +715,6 @@ export const ProductionscrapRecordDetail = useCrudSchemas(reactive width: 150 }, }, - ])) //表单校验 diff --git a/src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts b/src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts index c86473107..a57a8ec83 100644 --- a/src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts +++ b/src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts @@ -23,8 +23,8 @@ import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplie import { useUserStore } from '@/store/modules/user' import { TableColumn } from '@/types/table' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' // import * as LocationApi from '@/api/wms/location' // import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' @@ -63,51 +63,50 @@ export const ProductionscrapRequestMain = useCrudSchemas( isForm: false, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '状态', field: 'status', @@ -496,8 +495,8 @@ export const ProductionscrapRequestMain = useCrudSchemas( valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - }, - }, + } + } }, { label: '创建者', diff --git a/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts b/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts index cb57f422f..b2496493b 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts +++ b/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts @@ -33,6 +33,15 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive([ }, isSearch: true }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 180 + }, + isSearch: false + }, { label: '生产计划单号', field: 'productionPlanNumber', diff --git a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts index 24bb9c07b..8b1ec8f6b 100644 --- a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts +++ b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts @@ -33,6 +33,15 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive([ }, isSearch: true }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 180 + }, + isSearch: false + }, { label: '生产计划单号', field: 'productionPlanNumber', diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue index fce1bdba6..6f0ab4500 100644 --- a/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue +++ b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue @@ -119,7 +119,7 @@ defineOptions({ name: 'ProductredressRequestMain' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 - +// 制品回收申请 const route = useRoute() // 路由信息 const routeName = ref() routeName.value = route.name diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts b/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts index 7ec65d060..044ab68e6 100644 --- a/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts +++ b/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts @@ -1,6 +1,9 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' - +import { Productionline } from '@/views/wms/basicDataManage/factoryModeling/productionline/productionline.data' +import * as ProductionlineApi from '@/api/wms/productionline' +import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' +import * as WorkshopApi from '@/api/wms/workshop' import * as BalanceApi from '@/api/wms/balance' import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' import * as getBusinessTypeApi from '@/api/wms/businesstype/index' @@ -17,6 +20,12 @@ export const ProductredressRequestMainRules = reactive({ autoAgree: [required], autoExecute: [required], directCreateRecord: [required], + workshopCode: [ + { required: true, message: '请选择车间代码', trigger: 'change' } + ], + productionLineCode: [ + { required: true, message: '请选择生产线代码', trigger: 'change' } + ], }) export const ProductredressRequestMain = useCrudSchemas(reactive([ @@ -55,6 +64,106 @@ export const ProductredressRequestMain = useCrudSchemas(reactive([ } } }, + { + label: '车间代码', + field: 'workshopCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, + searchListPlaceholder: '请选择车间', + searchField: 'code', + searchTitle: '车间信息', + searchAllSchemas: Workshop.allSchemas, + searchPage: WorkshopApi.getWorkshopPage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, + { + label: '生产线代码', + field: 'productionLineCode', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + tableForm: { + enterSearch: true, + isInpuFocusShow: true, + searchListPlaceholder: '请选择生产线代码', + searchField: 'code', + searchTitle: '生产线信息', + searchAllSchemas: Productionline.allSchemas, + searchPage: ProductionlineApi.getProductionlinePage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + },{ + key: 'workshopCode', + value: 'workshopCode', + message: '请填写车间代码!', + isMainValue: true + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, + searchListPlaceholder: '请选择生产线代码', + searchField: 'code', + searchTitle: '生产线信息', + searchAllSchemas: Productionline.allSchemas, + searchPage: ProductionlineApi.getProductionlinePage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + },{ + key: 'workshopCode', + value: 'workshopCode', + message: '请填写车间代码!', + isMainValue: true + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, // { // label: '车间代码', // field: 'workshopCode', diff --git a/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts index 7238ce579..a6f17e110 100644 --- a/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts +++ b/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts @@ -1,8 +1,8 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' /** * @returns {Array} 制品报废任务主表 @@ -28,51 +28,50 @@ export const ProductscrapJobMain = useCrudSchemas( }, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '从仓库代码', field: 'fromWarehouseCode', diff --git a/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts index badf50da6..9ecc7ab9c 100644 --- a/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts +++ b/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts @@ -1,8 +1,8 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' /** * @returns {Array} 制品报废记录主表 @@ -28,51 +28,50 @@ export const ProductscrapRecordMain = useCrudSchemas( }, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '状态', field: 'status', @@ -304,8 +303,8 @@ export const ProductscrapRecordMain = useCrudSchemas( valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - }, - }, + } + } }, { label: '最后更新时间', diff --git a/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue b/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue index 93a39b2c9..4ad831bb4 100644 --- a/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue +++ b/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue @@ -92,12 +92,14 @@ :isBusiness="true" :isShowButton="false" :isShowReduceButton="false" - :isShowFooterButtton="true" + :isShowFooterButtton="isShowFooterButtton" + :isShowReduceButtonSelection="isShowReduceButtonSelection" + @handleDeleteTable="handleDeleteTableBom" + @tableSelectionDelete="tableSelectionDeleteBom" :Butttondata="ButttondataBom" @searchTableSuccess="searchTableBomSuccess" :footButttondata="footButttondata" @footButtonClick="buttonBaseClickBom" - @inputNumberChange="inputNumberChange" /> @@ -160,8 +162,11 @@ const footButttondata = ref([ ]) // 子包装数据 const detailBomRef = ref() +const isShowFooterButtton = ref(true) +const isShowReduceButtonSelection = ref(true) + const { tableObject: detatableDataBom, tableMethods: detatableMethodsBom } =useTable({ - getListApi: BomDismantleApi.getProductscrapBomDismantlePage + getListApi: BomDismantleApi.getProductscrapBomRecordPage }) const { getList:getDetailListBom } = detatableMethodsBom /** bom 列表 表单 按钮 */ @@ -283,14 +288,44 @@ const buttonOperationClick = async (row, label, index,isSave = false)=> { item.qty = item.bomQty * row.qty // } const obj = await banchBomPage(row.fromLocationCode, item) + console.log('obj',obj) item.batch = obj.batch }) if(isSave){ buttonBaseClickBom('save') }else{ + isShowFooterButtton.value = true + isShowReduceButtonSelection.value = true + ProdcutscrapBomScrap.allSchemas.tableFormColumns.forEach(item=>{ + if(item.field=='qty'){ + item.tableForm.disabled = false + } + }) detailBomRef.value.open('create', row, null,'viewDetail')//查看明细数据 } } +// 删除明细 +const handleDeleteTableBom = (item, index) => { + if(detatableDataBom.tableList.length<=1){ + message.error('至少保留一条数据') + return + } + let itemIndex = detatableDataBom.tableList.indexOf(item) + if (itemIndex > -1) { + detatableDataBom.tableList.splice(itemIndex, 1) + } +} + +const tableSelectionDeleteBom = (selection) => { + if(detatableDataBom.tableList.length<=1||detatableDataBom.tableList.length==selection.length){ + message.error('至少保留一条数据') + return + } + + + detatableDataBom.tableList = detatableDataBom.tableList.filter(item => !selection.includes(item)) +} + // 查询页面返回 const searchTableBomSuccess = (formField, searchField, val, formRef, type, row ) => { @@ -317,6 +352,14 @@ const tableFormButton = async (val , row) => { rowId.value = row.masterId detailQty.value = row.qty await getDetailListBom() + //详情 + isShowFooterButtton.value = false + isShowReduceButtonSelection.value = false + ProdcutscrapBomScrap.allSchemas.tableFormColumns.forEach(item=>{ + if(item.field=='qty'){ + item.tableForm.disabled = true + } + }) detailBomRef.value.open('create', row, null,'viewDetail')//查看明细数据 } } diff --git a/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts index f3ce47a15..e2c4e0af3 100644 --- a/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts +++ b/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts @@ -21,8 +21,8 @@ import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/produ import { Bom } from '@/views/wms/basicDataManage/itemManage/bom/bom.data' import * as BomApi from '@/api/wms/bom' -import * as InspectionQ3Api from '@/api/qms/inspectionQ3' -import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data' +// import * as InspectionQ3Api from '@/api/qms/inspectionQ3/inspectionQ3Main' +// import { InspectionQ3Main } from '@/views/qms/inspectionQ3/inspectionQ3.data' const { t } = useI18n() // 国际化 @@ -60,51 +60,50 @@ export const ProductscrapRequestMain = useCrudSchemas( isForm: false, isSearch: true }, - { - label: 'Q3通知单号', - field: 'q3Number', - sort: 'custom', - isSearch: false, - isDetail: true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - // multiple: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - { - key: 'status', - value: '0', - isMainValue: false - } - ], - verificationParams: [ - { - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, + // { + // label: 'Q3通知单号', + // field: 'q3Number', + // sort: 'custom', + // isSearch: false, + // isDetail: true, + // table: { + // width: 150 + // }, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: true, // multiple: true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: 'Q3通知单号', // 查询弹窗标题 + // searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + // searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }, + // { + // key: 'status', + // value: '0', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'number', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, { label: '状态', field: 'status', @@ -391,8 +390,8 @@ export const ProductscrapRequestMain = useCrudSchemas( valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - }, - }, + } + } }, { label: '创建者', @@ -1195,10 +1194,11 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive([ label: '备注', field: 'remark', sort: 'custom', - isTable: false, + isTable: true, table: { width: 150 }, + isSearch: true, }, { label: '创建时间', @@ -1348,7 +1348,7 @@ export const ProdcutscrapBomScrap = useCrudSchemas(reactive([ label: '数量', field: 'qty', tableForm: { - disabled:true, + disabled:false, type: 'InputNumber', min: 0, precision: 6 diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts index 2d8d0ba03..b17ee1579 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts @@ -1,6 +1,5 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter,dateFormatter2 } from '@/utils/formatTime' -import { t } from '@wangeditor/editor' @@ -39,6 +38,16 @@ export const PurchasereceiptRecordMain = useCrudSchemas(reactive([ }, sortTableDefault:3 }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 180 + }, + isSearch: false, + sortTableDefault:3 + }, { label: '发货单号', field: 'asnNumber', @@ -339,15 +348,15 @@ export const PurchasereceiptRecordMain = useCrudSchemas(reactive([ }, isTable:false, }, - { - label: '备注', - field: 'remark', - sort: 'custom', - table: { - width: 150 - }, - isTable:false, - }, + // { + // label: '备注', + // field: 'mainRemark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable:true, + // }, { label: '创建者', field: 'creator', @@ -1109,16 +1118,16 @@ export const PurchasereceiptRecordDetail = useCrudSchemas(reactive isTable:false, hiddenInMain:true }, - { - label: '备注', - field: 'remark', - sort: 'custom', - table: { - width: 150 - }, - hiddenInMain:true, - sortTableDefault:2000, - }, + // { + // label: '备注', + // field: 'remark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // hiddenInMain:true, + // sortTableDefault:2000, + // }, { label: '创建者', field: 'creator', @@ -1935,20 +1944,21 @@ export const PurchasereceiptRecordDetailPackingNumber = useCrudSchemas(reactive< disabled: true, } }, - { - label: '备注', - field: 'remark', - sort: 'custom', - table: { - width: 150 - }, - form: { - componentProps: { - disabled:true - } - }, - tableForm: { - disabled: true, - } - } + // { + // label: '备注', + // field: 'remark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // hiddenInMain:true, + // form: { + // componentProps: { + // disabled:true + // } + // }, + // tableForm: { + // disabled: true, + // } + // } ])) diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue index c05b715f6..d1544d64c 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue @@ -591,6 +591,7 @@ const getSearchTableData = async (number,isEnter=false)=>{ defaultParams:{number}, getListApi: PurchaseDetailApi.getPurchaseDetailPageWMS // 分页接口 }) + tableObject.pageSize = 500 // 获得表格的各种操作 const { getList:getList1 } = tableMethods await getList1() diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue index ad1fd9943..ab11f0b25 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue @@ -348,7 +348,7 @@ const butttondata = (row,$index) => { return [] } return [ - defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['5']),hasPermi:'wms:purchasereceipt-request-main:reAdd'}), //重新添加 + // defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['5']),hasPermi:'wms:purchasereceipt-request-main:reAdd'}), //重新添加 defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchasereceipt-request-main:submit'}), // 提交审批 defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchasereceipt-request-main:refused'}), // 驳回 defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchasereceipt-request-main:agree'}), // 审批通过 @@ -509,6 +509,12 @@ const updateTableData = (tableList)=>{ //批次 newRow['batch'] = formatDate(newRow['produceDate'],'YYYYMMDD'); newRow['defaultToLocationCode'] =row['defaultLocation'] + if(Number(row['orderQty'])>1){ + newRow['qty'] = 1 + }else{ + newRow['qty'] = row['orderQty'] + } + if(!tableData.value.find((item:object)=>item.poNumber == newRow.poNumber&&item.itemCode == newRow.itemCode&&item.poLine == newRow.poLine&&item.batch == newRow.batch)){ tableData.value.push(newRow) } @@ -518,7 +524,7 @@ const updateTableData = (tableList)=>{ const getSearchTableData = async (number,isEnter=false)=>{ const {tableObject ,tableMethods} = useTable({ defaultParams:{number}, - getListApi: PurchaseDetailApi.getPurchaseDetailPageWMS // 分页接口 + getListApi: PurchaseDetailApi.getPurchaseDetailPageWMSTypeM // 分页接口 }) // 获得表格的各种操作 const { getList:getList1 } = tableMethods @@ -734,6 +740,11 @@ const submitForm = async (formType, submitData) => { tableData.value.forEach((row, index) => { row['expireDate'] = row['expireTime']?addDay(row['produceDate'],row['expireTime']).valueOf():dayjs('2099-12-31').valueOf() }) + if(tableData.value.find(item=>item['qty']>item['orderQty'])){ + message.error('收货数不能大于订单数') + return + } + data.subList = tableData.value // 拼接子表数据参数 try { if (formType === 'create') { diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/purchasereceiptRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/purchasereceiptRequestMain.data.ts index d84f01b0d..f5554a844 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/purchasereceiptRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/purchasereceiptRequestMain.data.ts @@ -580,7 +580,13 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive( }, } ])) - +function validateQty(rule, value, callback) { + if (value>0) { + callback() + }else{ + callback(new Error('数量必须大于0')) + } +} //表单校验 export const PurchasereceiptRequestMainRules = reactive({ ppNumber: [ @@ -609,7 +615,7 @@ export const PurchasereceiptRequestMainRules = reactive({ ], businessType: [ { required: true, message: '请输入业务类型', trigger: 'blur' } - ], + ] }) /** @@ -634,7 +640,7 @@ export const PurchasereceiptRequestDetail = useCrudSchemas(reactive { const onChangeForm = (field, cur, formRef)=>{ console.log('onChangeForm',field, cur, formRef) - console.log('1111') - console.log(PurchasereturnRequestMain.allSchemas) - PurchasereturnRequestMain.allSchemas.formSchema.forEach(item=>{ - if(item.field == field){ + if(field=='supplierCode'){ + //供应商 + PurchasereturnRequestMain.allSchemas.formSchema.forEach(item=>{ // 物料名称赋值 - let setV = {} - setV['supplierName'] = item.componentProps.options?.find(el=>el.id==cur)['nickname'] - formRef.value.setValues(setV) - } - }) + if(item.field=='supplierCode'){ + let setV = {} + setV['supplierName'] = item.componentProps.options?.find(el=>el.supplierCode==cur+'')['supplierName'] + formRef.value.setValues(setV) + } + }) + }else if(field == 'locationCode'){ + // 退货库位 获取明细列表 + tableData.value = [{ + 'batch':'20240908', + 'status':'合格', + 'inventoryBalance':300, + 'qty':1, + 'reason':'200', + 'remark':'', + }] + } } const onEnter = async (field, value) => { console.log(field, value) @@ -258,18 +270,25 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro setV[formField] = val[0][searchField] if(formField=='itemCode'){ // 更换查询 供应商下拉框数据 - PurchasereturnRequestMain.allSchemas.formSchema.forEach(item=>{ - if(item.field == 'supplierCode1'){ - item.componentProps.options = [ - { - id:'454556', - nickname:'哈哈哈哈' - } - ] - formRef.setValues(setV) - } + let res = await PurchasereturnRequestDetailApi.getPurchasereturnSupplierByCode({ + itemCode:val[0][searchField] }) + console.log('物料供应商',res) + if(res&&res.length>0){ + PurchasereturnRequestMain.allSchemas.formSchema.forEach(item=>{ + if(item.field == 'supplierCode'){ + item.componentProps.options = res + } + }) + } + }else if(formField=='hahaha'){ + // 选择收货单明细 + setV['poNumber'] = val[0]['poNumber'] + setV['poLine'] = val[0]['poLine'] + setV['receiptNumber'] = val[0]['receiptNumber'] + setV['asnNumber'] = val[0]['asnNumber'] } + formRef.setValues(setV) } }) @@ -585,26 +604,23 @@ const chooseReceiptList = ()=>{ message.error('请选择物料代码') return } - if(!formRef.value.formRef.formModel.supplierName){ + if(!formRef.value.formRef.formModel.supplierCode){ message.error('请选择供应商') return } searchTableRef.value.open( "收货单明细", - Itembasic.allSchemas, - ItembasicApi.getItembasicPage, + PurchasereturnPurchasereceiptRecord.allSchemas, + PurchasereturnRequestDetailApi.getPurchasereturnPurchasereceiptRecordByItemCode, "hahaha", "hahaha", false, 'tableForm', null, - [{ - key: 'available', - value: 'TRUE', - action: '==', - isSearch: true, - isMainValue: false - }], + { + supplierCode:formRef.value.formRef.formModel.supplierCode, + itemCode:formRef.value.formRef.formModel.itemCode + }, undefined, false, null diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMain.data.ts index 6f80ef1ce..444b562c1 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMain.data.ts @@ -21,14 +21,18 @@ import { Q2 } from '@/views/qms/inspectionQ2/inspectionQ2.data' import * as ItembasicApi from '@/api/wms/itembasic' import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' -// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 -const queryParams = { - pageSize: 10, - pageNo: 1, - code: 'PurchaseReturnRequest' -} -const data = await getRequestsettingApi.getRequestsettingPage(queryParams) -const requestsettingData = data?.list[0] || {} + +let locationList = await LocationApi.selectBusinessTypeOutLocation({ + businessType:'PurchaseReturn', + isIn:'out' +}) +locationList = locationList.list.map(item=>({ + label :item.code, + value :item.code +})) + +console.log('locationList',locationList) + // 获取当前操作人的部门 import { useUserStore } from '@/store/modules/user' @@ -72,7 +76,6 @@ export const PurchasereceiptRecordMain1 = useCrudSchemas( sortTableDefault: 2, isSearch: true }, - { label: '采购订单号', field: 'poNumber', @@ -208,7 +211,7 @@ export const PurchasereturnRequestMain = useCrudSchemas( } }, { - label: '供应商1', + label: '供应商', field: 'supplierCode', sort: 'custom', table: { @@ -217,13 +220,10 @@ export const PurchasereturnRequestMain = useCrudSchemas( form: { component: 'Select', componentProps: { - options: [{ - id:123, - nickname:'供应商' - }], + options: [], optionsAlias: { - labelField: 'id', - valueField: 'id' + labelField: 'supplierCode', + valueField: 'supplierCode' }, filterable: true, } @@ -305,7 +305,7 @@ export const PurchasereturnRequestMain = useCrudSchemas( }, { label: '收货单号', - field: 'purchaseReceiptRecordNumber', + field: 'receiptNumber', sort: 'custom', table: { width: 150 @@ -321,7 +321,7 @@ export const PurchasereturnRequestMain = useCrudSchemas( }, { label: '发货单号', - field: 'asnNumber1', + field: 'asnNumber', sort: 'custom', table: { width: 150 @@ -365,15 +365,7 @@ export const PurchasereturnRequestMain = useCrudSchemas( form: { component: 'Select', componentProps: { - options: [{ - id:123, - nickname:'供应商' - }], - optionsAlias: { - labelField: 'id', - valueField: 'id' - }, - filterable: true, + options: locationList } } }, @@ -440,6 +432,130 @@ export const PurchasereturnRequestMain = useCrudSchemas( ]) ) + +export const PurchasereturnPurchasereceiptRecord = useCrudSchemas( + reactive([ + { + label: '收货日期', + field: 'currentDeliveryDate', + isTable: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '收货单号', + field: 'receiptNumber', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '发货单号', + field: 'asnNumber', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '订单号', + field: 'poNumber', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '订单行', + field: 'poLine', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + } + ]) +) + //表单校验 export const PurchasereturnRequestMainRules = reactive({ supplierCode: [ @@ -538,6 +654,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive } }, tableForm:{ + disabled:true, hidden:false,//控制列是否展示 type:'InputNumber', min:0, @@ -565,7 +682,6 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive isTable:false, isTableForm:true, tableForm:{ - disabled:true, type:'InputNumber', min:0, precision: 6 @@ -573,7 +689,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive }, { label: '退货原因', - field: 'status', + field: 'reason', dictType: DICT_TYPE.UOM, dictClass: 'string', // isSearch: true, @@ -583,7 +699,6 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive width: 150 }, tableForm:{ - disabled:true, type: 'Select', }, form: {