diff --git a/.env.development b/.env.development index 13dee5d41..bed5e9cb9 100644 --- a/.env.development +++ b/.env.development @@ -41,3 +41,6 @@ VITE_TENANT='["长春1379","成都1397","长春2379"]' # 查看质检报告环境 VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' + +# 是否需要验证码 +VITE_NEED_CODE = true diff --git a/.env.prod b/.env.prod index c269d3296..be6b9a31d 100644 --- a/.env.prod +++ b/.env.prod @@ -45,3 +45,6 @@ VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' # 登录系统升级的提示 VITE_SYSTERM_UPDATE_ALERT = true VITE_SYSTERM_UPDATE_URL = 'https://scptest.faway-hella.com/' + +# 是否需要验证码 +VITE_NEED_CODE = true diff --git a/.env.test b/.env.test index 314cbd94e..c58a58c21 100644 --- a/.env.test +++ b/.env.test @@ -41,3 +41,6 @@ VITE_TENANT='["长春","成都"]' # 查看质检报告环境 VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' + +# 是否需要验证码 +VITE_NEED_CODE = true diff --git a/.env.test-scp b/.env.test-scp index 9c02faed0..8bb0eb982 100644 --- a/.env.test-scp +++ b/.env.test-scp @@ -42,3 +42,6 @@ VITE_TENANT='["长春1379","成都1397","长春2379"]' # 查看质检报告环境 VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' + +# 是否需要验证码 +VITE_NEED_CODE = false diff --git a/src/api/login/index.ts b/src/api/login/index.ts index 444f0f27c..d6a7af2a5 100644 --- a/src/api/login/index.ts +++ b/src/api/login/index.ts @@ -16,7 +16,9 @@ export interface SmsLoginVO { export const login = (data: UserLoginVO) => { return request.post({ url: '/system/auth/login', data }) } - +export const loginNoCode = (data: UserLoginVO) => { + return request.post({ url: '/system/auth/loginNoCode', data }) +} // 刷新访问令牌 export const refreshToken = () => { return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() }) diff --git a/src/api/qms/inspectionQ3/index.ts b/src/api/qms/inspectionQ3/index.ts deleted file mode 100644 index 7f140cb52..000000000 --- a/src/api/qms/inspectionQ3/index.ts +++ /dev/null @@ -1,78 +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) => { - if (params.isSearch) { - const data = {...params} - return await request.downloadPost({ url: `/qms/inspectionQ3/export-excel-senior`, data }) - }else{ - 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..ac6c85ef8 100644 --- a/src/api/wms/bomDismantle/index.ts +++ b/src/api/wms/bomDismantle/index.ts @@ -15,6 +15,22 @@ export const getProductscrapBomDismantlePage = async (params) => { return await request.get({ url: `/wms/productscrap-request-main/bomPage`, params }) } + +export const getProductscrapBomRecordPage = async (params1) => { + console.log('getProductscrapBomRecordPage',params1) + let params = {...params1} + if(params.isRecord){ + delete params.isRecord + return await request.get({ url: `/wms/productscrap-request-main/bomRecordPage`, params }) + }else{ + delete params.isRecord + return await request.get({ url: `/wms/productscrap-request-main/bomPage`, params }) + + } +} + + + // 查询制品报废申请子列表 export const getProductscrapBomDismantleRecordPage = async (params) => { return await request.get({ url: `/wms/productscrap-record-main/bomPage`, params }) diff --git a/src/api/wms/inventorymoveRequestDetail/index.ts b/src/api/wms/inventorymoveRequestDetail/index.ts index ad896ce09..26ad3a1ab 100644 --- a/src/api/wms/inventorymoveRequestDetail/index.ts +++ b/src/api/wms/inventorymoveRequestDetail/index.ts @@ -67,4 +67,4 @@ export const exportInventorymoveRequestDetail = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/inventorymove-request-detail/get-import-template' }) -} \ No newline at end of file +} diff --git a/src/api/wms/itempackage/index.ts b/src/api/wms/itempackage/index.ts index 352a0c9b1..9fa24c8cb 100644 --- a/src/api/wms/itempackage/index.ts +++ b/src/api/wms/itempackage/index.ts @@ -60,6 +60,17 @@ export const getItempackagingPageBySupplierdeliver = async (params) => { } } +// 查询物料包装信息 列表--客户退货申请 +export const getItempackagingPageByCustomerreturn = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return request.post({ url: '/wms/itempackage/seniorByCustomerreturn', data }) + } else { + return await request.get({ url: `/wms/itempackage/pageByCustomerreturn`, params }) + } +} + // 查询物料包装信息 列表--制品收货申请 export const getItempackagingPageByProductreceipt = async (params) => { if (params.isSearch) { diff --git a/src/api/wms/mesRawMaterialConsumptionInfo/index.ts b/src/api/wms/mesRawMaterialConsumptionInfo/index.ts new file mode 100644 index 000000000..fbfaf7290 --- /dev/null +++ b/src/api/wms/mesRawMaterialConsumptionInfo/index.ts @@ -0,0 +1,46 @@ +import request from '@/config/axios' + + +export const AssemblyFinishedMaterialConsumptionMesRespVO = { + finishPackingNumber: '', + finishBatch: '', + finishItemCode: '', + finishCreateTime: new Date(), + id: 0, + processCode: '', + bomVersion: '', + packingNumber: '', + batch: '', + inventoryStatus: '', + fromLocationCode: '', + fromLocationGroupCode: '', + fromAreaCode: '', + itemName: '', + itemDesc1: '', + itemDesc2: '', + projectCode: '', + qty: '', + uom: '', + number: '', + itemCode: '', + remark: '', + createTime: new Date(), + creator: '', + code: '', + interfaceType: '', + jobDetailId: '' +}; + + +// 查询QAD项目信息列表 +export const getMesRawMaterialConsumptionInfoPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productreceipt-detailb/getAssemblyMaterialUsageMesSenior', data }) + } else { + return await request.get({ url: `/wms/productreceipt-detailb/getAssemblyMaterialUsageMes`, 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..3451bc4aa 100644 --- a/src/api/wms/purchasereturnRequestDetail/index.ts +++ b/src/api/wms/purchasereturnRequestDetail/index.ts @@ -38,6 +38,22 @@ export const getPurchasereturnRequestDetailPage = async (params) => { } } +// 查询采购退货申请子列表 +export const getPurchasereturnRequestDetailEditData = async (params) => { + return await request.get({ url: `/wms/purchasereturn-request-main/editReturnNew`, 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 getBalancePurchaseReceiptReturn = async (params) => { + return await request.get({ url: `/wms/balance/queryBalancePurchaseReceiptReturn`, params }) +} // 查询采购退货申请子列表 export const getPurchasereturnRequestDetailPageSpare = async (params) => { diff --git a/src/api/wms/purchasereturnRequestMain/index.ts b/src/api/wms/purchasereturnRequestMain/index.ts index 837aa4a3f..d2ccf17ec 100644 --- a/src/api/wms/purchasereturnRequestMain/index.ts +++ b/src/api/wms/purchasereturnRequestMain/index.ts @@ -52,6 +52,10 @@ export const getPurchasereturnRequestMain = async (id: number) => { export const createPurchasereturnRequestMain = async (data: PurchasereturnRequestMainVO) => { return await request.post({ url: `/wms/purchasereturn-request-main/create`, data }) } +// 新增采购退货申请主 --新版 +export const createPurchasereturnRequestMainNew = async (data: PurchasereturnRequestMainVO) => { + return await request.post({ url: `/wms/purchasereturn-request-main/createReturnNew`, data }) +} // 修改采购退货申请主 export const updatePurchasereturnRequestMain = async (data: PurchasereturnRequestMainVO) => { diff --git a/src/api/wms/rawMaterialConsumptionInfo/index.ts b/src/api/wms/rawMaterialConsumptionInfo/index.ts new file mode 100644 index 000000000..38b62d2a9 --- /dev/null +++ b/src/api/wms/rawMaterialConsumptionInfo/index.ts @@ -0,0 +1,46 @@ +import request from '@/config/axios' + + +export const AssemblyFinishedMaterialConsumptionRespVO = { + finishPackingNumber: '', + finishBatch: '', + finishItemCode: '', + finishCreateTime: new Date(), + id: 0, + processCode: '', + bomVersion: '', + packingNumber: '', + batch: '', + inventoryStatus: '', + fromLocationCode: '', + fromLocationGroupCode: '', + fromAreaCode: '', + itemName: '', + itemDesc1: '', + itemDesc2: '', + projectCode: '', + qty: '', + uom: '', + number: '', + itemCode: '', + remark: '', + createTime: new Date(), + creator: '', + code: '', + interfaceType: '', + jobDetailId: '' +}; + + +// 查询QAD项目信息列表 +export const getRawMaterialConsumptionInfoPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/backflush-record-detailb/getAssemblyMaterialUsageSenior', data }) + } else { + return await request.get({ url: `/wms/backflush-record-detailb/getAssemblyMaterialUsage`, params }) + } +} + + diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index f30f0f829..9c34304e4 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -22,6 +22,9 @@ @onEnter="onEnter" @onFocus="onFocus" > + -
+
{ return systermUpdateUrl.value } } +//是否需要验证码 +export const getNeedCode = () => { + if(mode.value === 'prod') { + return systemConfig.needCode + } else { + return needCode.value + } +} + diff --git a/src/views/login/components/LoginForm.vue b/src/views/login/components/LoginForm.vue index 3fecca561..7751297e1 100644 --- a/src/views/login/components/LoginForm.vue +++ b/src/views/login/components/LoginForm.vue @@ -33,7 +33,7 @@ :prefix-icon="iconLock" show-password type="password" @keyup.enter="getCode()" style="height: 42px;" /> - +
{ captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled; if (captchaEnabled.value) { @@ -229,7 +233,12 @@ if (!data) { return } - const res = await LoginApi.login(loginData.loginForm) + let res = null + if(needCode.value=='false'){ + res = await LoginApi.loginNoCode(loginData.loginForm) + }else{ + res = await LoginApi.login(loginData.loginForm) + } if (!res) { console.log('登录-195') getCode() diff --git a/src/views/qms/aql/index.vue b/src/views/qms/aql/index.vue index 3dc399dba..e3ccacf2b 100644 --- a/src/views/qms/aql/index.vue +++ b/src/views/qms/aql/index.vue @@ -79,6 +79,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'Aql' }) @@ -267,8 +268,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await AqlApi.exportAql(tableObject.params) - download.excel(data, 'aql.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -283,7 +285,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: 'aql导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/counter/index.vue b/src/views/qms/counter/index.vue index d57b19136..6a02cd889 100644 --- a/src/views/qms/counter/index.vue +++ b/src/views/qms/counter/index.vue @@ -72,6 +72,7 @@ import download from '@/utils/download' import { Counter, CounterRules } from './counter.data' import * as CounterApi from '@/api/qms/counter' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' // import TableHead from '@/components/TableHead/src/TableHead.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import Detail from '@/components/Detail/src/Detail.vue' @@ -235,8 +236,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CounterApi.exportCounter(tableObject.params) - download.excel(data, '物料检验计数器.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -251,7 +253,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '物料检验计数器导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/dynamicRule/index.vue b/src/views/qms/dynamicRule/index.vue index 72b59a060..9643b42a5 100644 --- a/src/views/qms/dynamicRule/index.vue +++ b/src/views/qms/dynamicRule/index.vue @@ -109,6 +109,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import UploadFile from '@/components/UploadFile/src/UploadFile.vue' import { checkPermi } from '@/utils/permission' import ImportForm from '../../../components/ImportForm/src/ImportForm.vue' +import { formatDate } from '@/utils/formatTime' // import TableHead from '@/components/TableHead/src/TableHead.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import Detail from '@/components/Detail/src/Detail.vue' @@ -313,8 +314,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await DynamicRuleApi.exportDynamicRule(tableObject.params) - download.excel(data, '动态修改规则.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -329,7 +331,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '动态修改规则导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionJob/index.vue b/src/views/qms/inspectionJob/index.vue index 47f35526a..a4d7aaa94 100644 --- a/src/views/qms/inspectionJob/index.vue +++ b/src/views/qms/inspectionJob/index.vue @@ -2,9 +2,10 @@ @@ -122,9 +123,8 @@ import AddForm from './addForm.vue' import Detail from './detail.vue' 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() // 国际化 @@ -180,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' }), // 导出 @@ -399,8 +411,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionJobMainApi.exportInspectionJobMain(tableObject.params) - download.excel(data, '检验任务.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -451,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', @@ -477,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/inspectionMethod/index.vue b/src/views/qms/inspectionMethod/index.vue index 0fd66b4a8..4e3bb66ab 100644 --- a/src/views/qms/inspectionMethod/index.vue +++ b/src/views/qms/inspectionMethod/index.vue @@ -89,6 +89,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'InspectionMethod' }) @@ -300,8 +301,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionMethodApi.exportInspectionMethod(tableObject.params) - download.excel(data, '检验方法.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -316,7 +318,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '检验方法导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionQ1/index.vue b/src/views/qms/inspectionQ1/index.vue index 8e75df52d..2d2dbde68 100644 --- a/src/views/qms/inspectionQ1/index.vue +++ b/src/views/qms/inspectionQ1/index.vue @@ -79,6 +79,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' import * as StdcostpriceApi from '@/api/wms/stdcostprice' +import { formatDate } from '@/utils/formatTime' import { useUserStore } from '@/store/modules/user' const userStore = useUserStore() @@ -315,8 +316,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await Q1Api.exportQ1(tableObject.params) - download.excel(data, 'Q1通知单.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -331,7 +333,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: 'Q1通知单导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionQ2/index.vue b/src/views/qms/inspectionQ2/index.vue index b82dd5bb1..fd8aa94b0 100644 --- a/src/views/qms/inspectionQ2/index.vue +++ b/src/views/qms/inspectionQ2/index.vue @@ -77,6 +77,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' import { useUserStore } from '@/store/modules/user' const userStore = useUserStore() @@ -310,8 +311,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await Q2Api.exportQ2(tableObject.params) - download.excel(data, 'Q2通知单.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -326,7 +328,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: 'Q2通知单导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionQ3/index.vue b/src/views/qms/inspectionQ3/index.vue index 885ee2dc0..e175ddfcc 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..7a466a93c 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,8 +90,87 @@ export const Q3 = useCrudSchemas( } ] // 失去焦点校验参数 } + } + }, + { + label: '负责用户', + field: 'responUser', + sort: 'custom', + isSearch: false, + table: { + width: 120 + }, + form: { + componentProps: { + value: userStore.getUser.nickname, + disabled: true + } + } + }, + { + label: '优先级', + field: 'priority', + sort: 'custom', + dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '处理时间', + field: 'handleTime', + isSearch: false, + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + } + }, + { + label: '汇总金额', + field: 'summaryAmount', + sort: 'custom', + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6, + disabled: true + } + } + }, + { + label: '描述', + field: 'desc', + sort: 'custom', + isSearch: false, + table: { + width: '150' }, - isSearch: true + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } + } }, { label: '状态', @@ -99,8 +178,8 @@ export const Q3 = useCrudSchemas( sort: 'custom', dictType: DICT_TYPE.PUBLISHE_STATUS, dictClass: 'string', - isForm: false, isSearch: false, + isForm: false, tableForm: { type: 'Select', disabled: true @@ -112,38 +191,103 @@ export const Q3 = useCrudSchemas( } }, { - label: '物料代码', - field: 'itemCode', + label: '是否可用', + field: 'available', sort: 'custom', + isSearch: false, + isForm: false, + isTable: false, + isDetail: false + }, + { + label: '创建时间', + field: 'createTime', + isTable: true, + isForm: false, + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + }, 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')] + } + } + }, + + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + 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: true, + isDetail: true, + isSearch: false, table: { width: 150 }, tableForm: { - enterSearch: true, - isInpuFocusShow: true, + isInpuFocusShow: false, + disabled: true, searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '物料基础信息', // 查询弹窗标题 - searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 - searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchTitle: '物料信息', // 查询弹窗标题 + searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', value: 'TRUE', isMainValue: false } - ], - verificationParams: [ - { - key: 'code', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 + ] }, form: { // labelMessage: '信息提示说明!!!', @@ -179,17 +323,13 @@ export const Q3 = useCrudSchemas( label: '数量', field: 'qty', sort: 'custom', - isTable: true, isSearch: false, - table: { - width: 150 - }, - form: { - component: 'InputNumber', - componentProps: { - min: 0, - precision: 2 - } + isTable: true, + + tableForm: { + type: 'InputNumber', + min: 0, + precision: 2 } }, { @@ -211,86 +351,16 @@ export const Q3 = useCrudSchemas( } }, { - label: '编码', - field: 'code', + label: '单价', + field: 'price', 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, - } - } - }, - { - label: '缺陷类型', - field: 'defectType', - sort: 'custom', - isSearch: false, - isTable: false, - table: { - width: '150' - }, - form: { - component: 'Input' - } - }, - { - label: '问题原因', - field: 'problemReason', - sort: 'custom', - isSearch: false, - isTable: false, - table: { - width: '150' - }, - form: { - component: 'Input' - } - }, - { - label: '优先级', - field: 'priority', - 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 + disabled: true }, form: { componentProps: { - value: userStore.getUser.nickname, disabled: true } } @@ -299,16 +369,15 @@ export const Q3 = useCrudSchemas( label: '金额', field: 'amount', sort: 'custom', - isTable: false, isSearch: false, - table: { - width: 150 + isTable: true, + isForm: false, + tableForm: { + disabled: true }, form: { - component: 'InputNumber', componentProps: { - min: 0, - precision: 2 + disabled: true } } }, @@ -317,124 +386,117 @@ export const Q3 = useCrudSchemas( field: 'costCode', sort: 'custom', isSearch: false, - isTable: false, + isTable: true, isForm: true, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch: true, - isSearchList: 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 - } - ] // 失去焦点校验参数 - } + tableForm: { + isInpuFocusShow: true, + enterSearch: 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: 'handleTime', - isSearch: false, - isTable: false, - table: { - width: 180 - }, - formatter: dateFormatter, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, - form: { - component: 'DatePicker', - componentProps: { - style: { width: '100%' }, - type: 'datetime', - dateFormat: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'x' - } + label: '缺陷编码', + field: 'defectCode', + sort: 'custom', + dictType: DICT_TYPE.QMS_Q3_CODE, + dictClass: 'string', + isSearch: true, + isTable: true, + tableForm: { + type: 'Select' } }, { - label: '描述', - field: 'desc', + label: '缺陷位置', + field: 'defectLocation', sort: 'custom', + dictClass: 'string', isSearch: false, - table: { - width: '150' - }, + isTable: true, form: { - component: 'Input', + component: 'Select', componentProps: { - type: 'textarea' + filterable: true, + options: [], + optionsAlias: { + labelField: 'productionLineName', + valueField: 'productionLineCode' + } } + }, + tableForm: { + type: 'Select', + filterable: true, + valueField: 'productionLineName', + labelField: 'productionLineCode' } }, { - label: '是否可用', - field: 'available', + label: '缺陷类型', + field: 'defectType', sort: 'custom', isSearch: false, - isForm: false, - isTable: false, - isDetail: false - }, - { - label: '创建时间', - field: 'createTime', isTable: true, - isForm: false, - table: { - width: 180 - }, - formatter: dateFormatter, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, form: { - component: 'DatePicker', - componentProps: { - style: { width: '100%' }, - type: 'datetime', - dateFormat: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'x' - } - }, - 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')] - }, - }, + component: 'Select' + } }, { - label: '操作', - field: 'action', - isForm: false, - isDetail: false, - table: { - width: 150, - fixed: 'right' + label: '问题原因', + field: 'problemReason', + hiddenInMain: true, + sort: 'custom', + isSearch: false, + isTable: true, + 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' }], + qty: [{ required: true, message: '请输入数量', trigger: 'change' }], + price: [{ required: true, message: '请选择单价', trigger: 'change' }], + amount: [{ required: true, message: '请选择金额', trigger: 'change' }], + costCode: [{ required: true, message: '请选择成本中心编码', trigger: 'change' }], + defectLocation: [{ required: true, message: '请选择缺陷位置', trigger: 'change' }], + defectType: [{ required: true, message: '请输入缺陷类型', trigger: 'change' }], + problemReason: [{ required: true, message: '请输入问题原因', trigger: 'change' }], + defectCode: [{ required: true, message: '请选择缺陷编码', trigger: 'change' }] +}) diff --git a/src/views/qms/inspectionRecord/index.vue b/src/views/qms/inspectionRecord/index.vue index 75bc47e35..a7863738e 100644 --- a/src/views/qms/inspectionRecord/index.vue +++ b/src/views/qms/inspectionRecord/index.vue @@ -3,8 +3,8 @@ @@ -126,6 +126,7 @@ import AddForm from './addForm.vue' import Detail from './detail.vue' import * as InspectionJobMainApi from '@/api/qms/inspectionJob/inspectionJobMain' import { getReportUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' import { InspectionJobMain, @@ -171,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' }), // 导出 @@ -230,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' @@ -239,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, @@ -255,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) { @@ -352,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) => { @@ -366,8 +400,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionRecordMainApi.exportInspectionRecordMain(tableObject.params) - download.excel(data, '检验记录.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -429,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, @@ -467,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' @@ -486,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/qms/inspectionRecordFirst/index.vue b/src/views/qms/inspectionRecordFirst/index.vue index 0f124b412..40dd39370 100644 --- a/src/views/qms/inspectionRecordFirst/index.vue +++ b/src/views/qms/inspectionRecordFirst/index.vue @@ -77,6 +77,7 @@ import AddForm from '../inspectionRecordFirst/addForm.vue' import Detail from './detail.vue' import { getReportUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' import { InspectionTemplateMain,InspectionTemplateProcess,InspectionTemplateFeatures,InspectionTemplateRules } from '../inspectionTemplate/inspectionTemplate.data' @@ -185,7 +186,7 @@ const showQualityReport = ref(false) const qualityReport = ref('') const checkQualityReport = async (row) => { showQualityReport.value = true - qualityReport.value = `${getReportUrl()}/purchasereceiptReport?asnNumber=${row.asnNumber}` + qualityReport.value = getReportUrl() + '/purchasereceiptReport?asnNumber=' + row.asnNumber } /** 添加/修改操作 */ const basicFormRef = ref() @@ -234,8 +235,9 @@ const handleMainExport = async (row: any) => { // 发起导出 exportLoading.value = true tableObject.params.number = row.number - const data = await InspectionRecordMainApi.exportFirstInspectionRecordMain(tableObject.params) - download.excel(data, '首件检验记录.xlsx') + const excelTitle = ref(route.meta.title) + const data = await InspectionRecordMainApi.exportInspectionRecordMain(tableObject.params) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -250,8 +252,9 @@ const handleMainExport = async (row: any) => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionRecordMainApi.exportFirstInspectionRecordMain(tableObject.params) - download.excel(data, '首件检验记录.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/qms/inspectionRequest/index.vue b/src/views/qms/inspectionRequest/index.vue index 5f7dc751d..a50c38cee 100644 --- a/src/views/qms/inspectionRequest/index.vue +++ b/src/views/qms/inspectionRequest/index.vue @@ -104,6 +104,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import ListTable from '@/components/ListTable/src/ListTable.vue' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' +import { formatDate } from '@/utils/formatTime' // import { InspectionJobPackage} from '../inspectionJob/inspectionJobMain.data' defineOptions({ name: 'inspectionMain' }) @@ -418,8 +419,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionMainApi.exportInspectionMain(tableObject.params) - download.excel(data, '检验申请.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -434,7 +436,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '检验申请导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionScheme/index.vue b/src/views/qms/inspectionScheme/index.vue index 858856700..fec4ebfd9 100644 --- a/src/views/qms/inspectionScheme/index.vue +++ b/src/views/qms/inspectionScheme/index.vue @@ -83,6 +83,7 @@ import AddForm from './addForm.vue' import * as InspectionSchemeApi from '@/api/qms/inspectionScheme' import ImportForm from '../../../components/ImportForm/src/ImportForm.vue' import * as SampleCodeApi from '@/api/qms/sampleCode' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'InspectionScheme' }) @@ -286,8 +287,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionSchemeApi.exportInspectionScheme(tableObject.params) - download.excel(data, '检验方案.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -311,7 +313,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '检验方案导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/inspectionTemplate/index.vue b/src/views/qms/inspectionTemplate/index.vue index 3a506ec9c..38d59b1bf 100644 --- a/src/views/qms/inspectionTemplate/index.vue +++ b/src/views/qms/inspectionTemplate/index.vue @@ -85,6 +85,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue' import Detail from '@/components/Detail/src/Detail.vue' import AddForm from './addForm.vue' import * as InspectionProcessPageApi from '@/api/qms/inspectionTemplate' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'AgvLocationrelation' }) @@ -156,8 +157,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InspectionProcessPageApi.exportInspectionTemplate(tableObject.params) - download.excel(data, '检验模板.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -283,7 +285,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '检验方案导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/sampleCode/index.vue b/src/views/qms/sampleCode/index.vue index 9288e264f..29e986fb4 100644 --- a/src/views/qms/sampleCode/index.vue +++ b/src/views/qms/sampleCode/index.vue @@ -79,6 +79,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SampleCode' }) @@ -279,8 +280,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SampleCodeApi.exportSampleCode(tableObject.params) - download.excel(data, '样本字码.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -295,7 +297,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '样本字码导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/samplingProcess/index.vue b/src/views/qms/samplingProcess/index.vue index 1d5254334..f63c249cd 100644 --- a/src/views/qms/samplingProcess/index.vue +++ b/src/views/qms/samplingProcess/index.vue @@ -83,6 +83,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' import { validatePercent, validateInteger, validateTwoNum } from '@/utils/validator' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SamplingProcess' }) @@ -270,8 +271,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SamplingProcessApi.exportSamplingProcess(tableObject.params) - download.excel(data, '采样过程.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -286,7 +288,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '采样过程导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/samplingScheme/index.vue b/src/views/qms/samplingScheme/index.vue index cddeb98d1..bc6adb003 100644 --- a/src/views/qms/samplingScheme/index.vue +++ b/src/views/qms/samplingScheme/index.vue @@ -78,6 +78,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SamplingScheme' }) @@ -268,8 +269,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SamplingSchemeApi.exportSamplingScheme(tableObject.params) - download.excel(data, '采样方案.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -284,7 +286,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '采样方案导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/qms/selectedSet/index.vue b/src/views/qms/selectedSet/index.vue index 25f479d28..d4ca5e698 100644 --- a/src/views/qms/selectedSet/index.vue +++ b/src/views/qms/selectedSet/index.vue @@ -112,6 +112,7 @@ import component from 'virtual:svg-icons-register' import * as DictTypeApi from '@/api/system/dict/dict.type' import { checkPermi } from '@/utils/permission' import ImportForm from '../../../components/ImportForm/src/ImportForm.vue' +import { formatDate } from '@/utils/formatTime' // import TableHead from '@/components/TableHead/src/TableHead.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import Detail from '@/components/Detail/src/Detail.vue' @@ -316,8 +317,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SelectedSetApi.exportSelectedSet(tableObject.params) - download.excel(data, '选定集.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -332,7 +334,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '选定集导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/system/serialNumber/index.vue b/src/views/system/serialNumber/index.vue index 2095c5d07..6eb5122c0 100644 --- a/src/views/system/serialNumber/index.vue +++ b/src/views/system/serialNumber/index.vue @@ -170,8 +170,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SerialNumberApi.exportSerialNumber(queryParams) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue index aba13417d..7e61bb6da 100644 --- a/src/views/system/tenant/index.vue +++ b/src/views/system/tenant/index.vue @@ -178,8 +178,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await TenantApi.exportTenant(queryParams) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/agvManage/agvLocationrelation/index.vue b/src/views/wms/agvManage/agvLocationrelation/index.vue index 11bc4ff83..db76421b9 100644 --- a/src/views/wms/agvManage/agvLocationrelation/index.vue +++ b/src/views/wms/agvManage/agvLocationrelation/index.vue @@ -243,8 +243,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await AgvLocationrelationApi.exportAgvLocationrelation(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/customerManage/customer/index.vue b/src/views/wms/basicDataManage/customerManage/customer/index.vue index 68b5433ec..23fcf495a 100644 --- a/src/views/wms/basicDataManage/customerManage/customer/index.vue +++ b/src/views/wms/basicDataManage/customerManage/customer/index.vue @@ -233,8 +233,9 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CustomerApi.exportCustomer(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/customerManage/customerDeliveryForecast/index.vue b/src/views/wms/basicDataManage/customerManage/customerDeliveryForecast/index.vue index dadcab5b5..0bb428760 100644 --- a/src/views/wms/basicDataManage/customerManage/customerDeliveryForecast/index.vue +++ b/src/views/wms/basicDataManage/customerManage/customerDeliveryForecast/index.vue @@ -65,6 +65,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'CustomerDeliveryForecast' }) @@ -220,8 +221,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CustomerDeliveryForecastApi.exportCustomerDeliveryForecast(tableObject.params) - download.excel(data, '客户发货预测.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -236,7 +238,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '客户发货预测导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/wms/basicDataManage/customerManage/customerdock/index.vue b/src/views/wms/basicDataManage/customerManage/customerdock/index.vue index 80467ff01..3bdbcf2ff 100644 --- a/src/views/wms/basicDataManage/customerManage/customerdock/index.vue +++ b/src/views/wms/basicDataManage/customerManage/customerdock/index.vue @@ -247,8 +247,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CustomerdockApi.exportCustomerdock(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/customerManage/customeritem/index.vue b/src/views/wms/basicDataManage/customerManage/customeritem/index.vue index 5f3a1e2d8..a59fa6b00 100644 --- a/src/views/wms/basicDataManage/customerManage/customeritem/index.vue +++ b/src/views/wms/basicDataManage/customerManage/customeritem/index.vue @@ -271,8 +271,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CustomeritemApi.exportCustomeritem(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/customerManage/project/index.vue b/src/views/wms/basicDataManage/customerManage/project/index.vue index 1e458f4da..b60be4717 100644 --- a/src/views/wms/basicDataManage/customerManage/project/index.vue +++ b/src/views/wms/basicDataManage/customerManage/project/index.vue @@ -241,8 +241,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ProjectApi.exportProject(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/customerManage/saleprice/index.vue b/src/views/wms/basicDataManage/customerManage/saleprice/index.vue index aa46ba845..a45e1a2cd 100644 --- a/src/views/wms/basicDataManage/customerManage/saleprice/index.vue +++ b/src/views/wms/basicDataManage/customerManage/saleprice/index.vue @@ -245,8 +245,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SalepriceApi.exportSaleprice(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/businesstype/businesstype.data.ts b/src/views/wms/basicDataManage/documentSetting/businesstype/businesstype.data.ts index 52907c4d6..674fafe5f 100644 --- a/src/views/wms/basicDataManage/documentSetting/businesstype/businesstype.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/businesstype/businesstype.data.ts @@ -364,7 +364,7 @@ export const Businesstype = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -387,7 +387,7 @@ export const Businesstype = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/businesstype/index.vue b/src/views/wms/basicDataManage/documentSetting/businesstype/index.vue index 7c895365b..a6798da74 100644 --- a/src/views/wms/basicDataManage/documentSetting/businesstype/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/businesstype/index.vue @@ -365,8 +365,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BusinesstypeApi.exportBusinesstype(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/documentsetting/documentsetting.data.ts b/src/views/wms/basicDataManage/documentSetting/documentsetting/documentsetting.data.ts index 40165f836..8ac296385 100644 --- a/src/views/wms/basicDataManage/documentSetting/documentsetting/documentsetting.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/documentsetting/documentsetting.data.ts @@ -221,7 +221,7 @@ export const Documentsetting = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -244,7 +244,7 @@ export const Documentsetting = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/documentsetting/index.vue b/src/views/wms/basicDataManage/documentSetting/documentsetting/index.vue index d964b38d3..18fd3b68a 100644 --- a/src/views/wms/basicDataManage/documentSetting/documentsetting/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/documentsetting/index.vue @@ -213,8 +213,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await DocumentsettingApi.exportDocumentsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/jobsetting/index.vue b/src/views/wms/basicDataManage/documentSetting/jobsetting/index.vue index 337fddd23..306554ccc 100644 --- a/src/views/wms/basicDataManage/documentSetting/jobsetting/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/jobsetting/index.vue @@ -213,8 +213,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await JobsettingApi.exportJobsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/jobsetting/jobsetting.data.ts b/src/views/wms/basicDataManage/documentSetting/jobsetting/jobsetting.data.ts index a50809ca0..ab7e06116 100644 --- a/src/views/wms/basicDataManage/documentSetting/jobsetting/jobsetting.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/jobsetting/jobsetting.data.ts @@ -354,7 +354,7 @@ export const Jobsetting = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -377,7 +377,7 @@ export const Jobsetting = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/plansetting/index.vue b/src/views/wms/basicDataManage/documentSetting/plansetting/index.vue index 95d113bb5..64da5858f 100644 --- a/src/views/wms/basicDataManage/documentSetting/plansetting/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/plansetting/index.vue @@ -214,8 +214,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PlansettingApi.exportPlansetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/plansetting/plansetting.data.ts b/src/views/wms/basicDataManage/documentSetting/plansetting/plansetting.data.ts index dc0df6732..76f34605f 100644 --- a/src/views/wms/basicDataManage/documentSetting/plansetting/plansetting.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/plansetting/plansetting.data.ts @@ -224,7 +224,7 @@ export const Plansetting = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -247,7 +247,7 @@ export const Plansetting = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/recordsetting/index.vue b/src/views/wms/basicDataManage/documentSetting/recordsetting/index.vue index ccbff8cf7..d3c053c8b 100644 --- a/src/views/wms/basicDataManage/documentSetting/recordsetting/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/recordsetting/index.vue @@ -214,8 +214,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await RecordsettingApi.exportRecordsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/recordsetting/recordsetting.data.ts b/src/views/wms/basicDataManage/documentSetting/recordsetting/recordsetting.data.ts index e14cac633..bcaa6d7bc 100644 --- a/src/views/wms/basicDataManage/documentSetting/recordsetting/recordsetting.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/recordsetting/recordsetting.data.ts @@ -126,7 +126,7 @@ export const Recordsetting = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -149,7 +149,7 @@ export const Recordsetting = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/requestsetting/index.vue b/src/views/wms/basicDataManage/documentSetting/requestsetting/index.vue index a2dd02bf3..0d3e95826 100644 --- a/src/views/wms/basicDataManage/documentSetting/requestsetting/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/requestsetting/index.vue @@ -214,8 +214,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await RequestsettingApi.exportRequestsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/requestsetting/requestsetting.data.ts b/src/views/wms/basicDataManage/documentSetting/requestsetting/requestsetting.data.ts index f5272600e..49e56c61f 100644 --- a/src/views/wms/basicDataManage/documentSetting/requestsetting/requestsetting.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/requestsetting/requestsetting.data.ts @@ -224,7 +224,7 @@ export const Requestsetting = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -247,7 +247,7 @@ export const Requestsetting = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/switch/index.vue b/src/views/wms/basicDataManage/documentSetting/switch/index.vue index c96e1a0d3..32f44e8eb 100644 --- a/src/views/wms/basicDataManage/documentSetting/switch/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/switch/index.vue @@ -189,8 +189,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SwitchApi.exportSwitch(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/switch/switch.data.ts b/src/views/wms/basicDataManage/documentSetting/switch/switch.data.ts index 3acd75e5b..1fc5f10fe 100644 --- a/src/views/wms/basicDataManage/documentSetting/switch/switch.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/switch/switch.data.ts @@ -25,7 +25,7 @@ export const Switch = useCrudSchemas(reactive([ sort: 'custom', form: { componentProps: { - disabled: true + disabled: false } } }, @@ -98,7 +98,7 @@ export const Switch = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -121,7 +121,7 @@ export const Switch = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/documentSetting/transactiontype/index.vue b/src/views/wms/basicDataManage/documentSetting/transactiontype/index.vue index 31fe19489..0a93285fa 100644 --- a/src/views/wms/basicDataManage/documentSetting/transactiontype/index.vue +++ b/src/views/wms/basicDataManage/documentSetting/transactiontype/index.vue @@ -215,8 +215,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await TransactiontypeApi.exportTransactiontype(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/documentSetting/transactiontype/transactiontype.data.ts b/src/views/wms/basicDataManage/documentSetting/transactiontype/transactiontype.data.ts index 1e36faade..ffa7b9c2e 100644 --- a/src/views/wms/basicDataManage/documentSetting/transactiontype/transactiontype.data.ts +++ b/src/views/wms/basicDataManage/documentSetting/transactiontype/transactiontype.data.ts @@ -170,7 +170,7 @@ export const Transactiontype = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -193,7 +193,7 @@ export const Transactiontype = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/factoryModeling/areabasic/index.vue b/src/views/wms/basicDataManage/factoryModeling/areabasic/index.vue index b6f94685a..590d01593 100644 --- a/src/views/wms/basicDataManage/factoryModeling/areabasic/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/areabasic/index.vue @@ -247,8 +247,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await AreaApi.exportArea(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/dock/index.vue b/src/views/wms/basicDataManage/factoryModeling/dock/index.vue index c968f25c4..6e0678669 100644 --- a/src/views/wms/basicDataManage/factoryModeling/dock/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/dock/index.vue @@ -261,8 +261,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await DockApi.exportDock(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/enterprise/index.vue b/src/views/wms/basicDataManage/factoryModeling/enterprise/index.vue index 14700c5cb..c9a0f1bd6 100644 --- a/src/views/wms/basicDataManage/factoryModeling/enterprise/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/enterprise/index.vue @@ -229,8 +229,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await EnterpriseApi.exportEnterprise(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/location/index.vue b/src/views/wms/basicDataManage/factoryModeling/location/index.vue index 2ac2ee173..bb66c4f51 100644 --- a/src/views/wms/basicDataManage/factoryModeling/location/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/location/index.vue @@ -265,8 +265,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await LocationApi.exportLocation(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/locationgroup/index.vue b/src/views/wms/basicDataManage/factoryModeling/locationgroup/index.vue index 40785ee97..e67899ff0 100644 --- a/src/views/wms/basicDataManage/factoryModeling/locationgroup/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/locationgroup/index.vue @@ -246,8 +246,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await LocationgroupApi.exportLocationgroup(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/process/index.vue b/src/views/wms/basicDataManage/factoryModeling/process/index.vue index 40731066f..aa303e210 100644 --- a/src/views/wms/basicDataManage/factoryModeling/process/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/process/index.vue @@ -253,8 +253,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ProcessApi.exportProcess(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/productionline/index.vue b/src/views/wms/basicDataManage/factoryModeling/productionline/index.vue index 3a916a03c..e64470322 100644 --- a/src/views/wms/basicDataManage/factoryModeling/productionline/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/productionline/index.vue @@ -246,8 +246,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ProductionlineApi.exportProductionline(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/warehouse/index.vue b/src/views/wms/basicDataManage/factoryModeling/warehouse/index.vue index c1549165d..b5906b5e9 100644 --- a/src/views/wms/basicDataManage/factoryModeling/warehouse/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/warehouse/index.vue @@ -226,8 +226,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await WarehouseApi.exportWarehouse(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/workshop/index.vue b/src/views/wms/basicDataManage/factoryModeling/workshop/index.vue index 3a8fc9f96..a69cc1591 100644 --- a/src/views/wms/basicDataManage/factoryModeling/workshop/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/workshop/index.vue @@ -228,8 +228,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await WorkshopApi.exportWorkshop(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/factoryModeling/workstation/index.vue b/src/views/wms/basicDataManage/factoryModeling/workstation/index.vue index d200d5f0a..3fb62c9fe 100644 --- a/src/views/wms/basicDataManage/factoryModeling/workstation/index.vue +++ b/src/views/wms/basicDataManage/factoryModeling/workstation/index.vue @@ -255,8 +255,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await WorkstationApi.exportWorkstation(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/bom/index.vue b/src/views/wms/basicDataManage/itemManage/bom/index.vue index 3e09a60d6..ba444db7b 100644 --- a/src/views/wms/basicDataManage/itemManage/bom/index.vue +++ b/src/views/wms/basicDataManage/itemManage/bom/index.vue @@ -258,8 +258,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BomApi.exportBom(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue index 58ac68e13..0cd25ee3b 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue @@ -100,6 +100,7 @@ import { CACHE_KEY, useCache } from '@/hooks/web/useCache' import { formatDate } from '@/utils/formatTime' // 发货申请 +// 物料库区配置管理 defineOptions({ name: 'Itemarea' }) const message = useMessage() // 消息弹窗 @@ -334,8 +335,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ItemareaApi.exportItemarea(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/itembasic/index.vue b/src/views/wms/basicDataManage/itemManage/itembasic/index.vue index 8d0763ed5..63bf41417 100644 --- a/src/views/wms/basicDataManage/itemManage/itembasic/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itembasic/index.vue @@ -286,8 +286,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ItembasicApi.exportItembasic(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/itempackage/index.vue b/src/views/wms/basicDataManage/itemManage/itempackage/index.vue index c463d4ef0..4015173db 100644 --- a/src/views/wms/basicDataManage/itemManage/itempackage/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itempackage/index.vue @@ -325,8 +325,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ItempackagingApi.exportItempackaging(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/itemwarehouse/index.vue b/src/views/wms/basicDataManage/itemManage/itemwarehouse/index.vue index 4b79e6768..29bb8bc92 100644 --- a/src/views/wms/basicDataManage/itemManage/itemwarehouse/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itemwarehouse/index.vue @@ -229,8 +229,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ItemwarehouseApi.exportItemwarehouse(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/packageunit/index.vue b/src/views/wms/basicDataManage/itemManage/packageunit/index.vue index 569282c90..851be23b8 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) - } + } /** 详情操作 */ @@ -265,8 +270,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PackageunitApi.exportPackageunit(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts b/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts index 70d24363b..326abc320 100644 --- a/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts +++ b/src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts @@ -672,6 +672,12 @@ export const PackageunitRules = reactive({ reuse: [ { required: true, message: '请选择是否重复使用', trigger: 'change' } ], + available: [ + { required: true, message: '请选择是否可用', trigger: 'change' } + ], + manageBalance: [ + { required: true, message: '请选择是否管理包装库存', trigger: 'change' } + ], desc: [ { max: 50, message: '不得超过50个字符', trigger: 'blur' }, { required: true, message: '请输入包装描述', trigger: 'change' } diff --git a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue index bbe62e804..ba6958905 100644 --- a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue +++ b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue @@ -239,8 +239,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ProductionitemcodeSpareitemcodeApi.exportProductionitemcodeSpareitemcode(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/productionlineitem/index.vue b/src/views/wms/basicDataManage/itemManage/productionlineitem/index.vue index ef76ed617..95378bdd7 100644 --- a/src/views/wms/basicDataManage/itemManage/productionlineitem/index.vue +++ b/src/views/wms/basicDataManage/itemManage/productionlineitem/index.vue @@ -245,8 +245,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ProductionlineitemApi.exportProductionlineitem(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue index f7f140876..da7e3af79 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue @@ -81,6 +81,7 @@ import * as RelegateRecordDetailApi from '@/api/wms/relegateRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'RelegateRecordMain' }) @@ -233,8 +234,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await RelegateRecordMainApi.exportRelegateRecordMain(tableObject.params) - download.excel(data, '物料降级记录主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue index f428ff66e..9d468a5d3 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue @@ -99,6 +99,7 @@ import * as PackageApi from "@/api/wms/package"; import { getAccessToken } from '@/utils/auth' import { getJmreportBaseUrl } from '@/utils/systemParam' import * as ProductionlineitemApi from '@/api/wms/productionlineitem' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'RelegateRequestMain' }) @@ -714,8 +715,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await RelegateRequestMainApi.exportRelegateRequestMain(tableObject.params) - download.excel(data, '物料降级申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -730,7 +732,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '物料降级申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/wms/basicDataManage/itemManage/stdcostprice/index.vue b/src/views/wms/basicDataManage/itemManage/stdcostprice/index.vue index 8e6a052a0..91f036856 100644 --- a/src/views/wms/basicDataManage/itemManage/stdcostprice/index.vue +++ b/src/views/wms/basicDataManage/itemManage/stdcostprice/index.vue @@ -238,8 +238,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await StdcostpriceApi.exportStdcostprice(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/barcode/barcode.data.ts b/src/views/wms/basicDataManage/labelManage/barcode/barcode.data.ts index 118ac63be..5679412b3 100644 --- a/src/views/wms/basicDataManage/labelManage/barcode/barcode.data.ts +++ b/src/views/wms/basicDataManage/labelManage/barcode/barcode.data.ts @@ -181,7 +181,7 @@ export const Barcode = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -204,7 +204,7 @@ export const Barcode = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/labelManage/barcode/index.vue b/src/views/wms/basicDataManage/labelManage/barcode/index.vue index a164b20d8..e54fc5805 100644 --- a/src/views/wms/basicDataManage/labelManage/barcode/index.vue +++ b/src/views/wms/basicDataManage/labelManage/barcode/index.vue @@ -218,8 +218,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BarcodeApi.exportBarcode(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts b/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts index 7f972f067..7fb84fc88 100644 --- a/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts +++ b/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts @@ -475,7 +475,7 @@ export const Callmaterials = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -498,7 +498,7 @@ export const Callmaterials = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/labelManage/callmaterials/index.vue b/src/views/wms/basicDataManage/labelManage/callmaterials/index.vue index f1130fc6f..1d16da2e8 100644 --- a/src/views/wms/basicDataManage/labelManage/callmaterials/index.vue +++ b/src/views/wms/basicDataManage/labelManage/callmaterials/index.vue @@ -290,8 +290,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CallmaterialsApi.exportCallmaterials(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/labeltype/labeltype.data.ts b/src/views/wms/basicDataManage/labelManage/labeltype/labeltype.data.ts index 06f17ce22..c499afb9d 100644 --- a/src/views/wms/basicDataManage/labelManage/labeltype/labeltype.data.ts +++ b/src/views/wms/basicDataManage/labelManage/labeltype/labeltype.data.ts @@ -215,7 +215,7 @@ export const Labeltype = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -238,7 +238,7 @@ export const Labeltype = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/labelManage/locationLabel/index.vue b/src/views/wms/basicDataManage/labelManage/locationLabel/index.vue index 50c977fc7..5a1acb4e2 100644 --- a/src/views/wms/basicDataManage/labelManage/locationLabel/index.vue +++ b/src/views/wms/basicDataManage/labelManage/locationLabel/index.vue @@ -177,8 +177,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BarbasicApi.exportBarbasic(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/locationLabel/locationLabel.data.ts b/src/views/wms/basicDataManage/labelManage/locationLabel/locationLabel.data.ts index 3cb66d40a..8ee009d61 100644 --- a/src/views/wms/basicDataManage/labelManage/locationLabel/locationLabel.data.ts +++ b/src/views/wms/basicDataManage/labelManage/locationLabel/locationLabel.data.ts @@ -127,7 +127,7 @@ export const Package = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -150,7 +150,7 @@ export const Package = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/labelManage/manufacturePackage/index.vue b/src/views/wms/basicDataManage/labelManage/manufacturePackage/index.vue index bda0f5106..17cb43b00 100644 --- a/src/views/wms/basicDataManage/labelManage/manufacturePackage/index.vue +++ b/src/views/wms/basicDataManage/labelManage/manufacturePackage/index.vue @@ -155,7 +155,6 @@ const buttonBaseClick = (val, item) => { } else if (val == 'import') { // 导入 handleImport() } else if (val == 'export') { // 导出 - debugger handleExport() } else if (val == 'refresh') { // 刷新 if (tableObject.params.filters && tableObject.params.filters.length > 0 ) { @@ -243,13 +242,13 @@ const handleDelete = async (id: number) => { const exportLoading = ref(false) // 导出的加载中 const handleExport = async () => { try { - debugger // 导出的二次确认 await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BarbasicApi.exportBarbasic(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/manufacturePackage/manufacturePackage.data.ts b/src/views/wms/basicDataManage/labelManage/manufacturePackage/manufacturePackage.data.ts index d1022a2ce..327ae6a65 100644 --- a/src/views/wms/basicDataManage/labelManage/manufacturePackage/manufacturePackage.data.ts +++ b/src/views/wms/basicDataManage/labelManage/manufacturePackage/manufacturePackage.data.ts @@ -137,7 +137,7 @@ export const Package = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -160,7 +160,7 @@ export const Package = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/labelManage/purchasePackage/index.vue b/src/views/wms/basicDataManage/labelManage/purchasePackage/index.vue index a755d2bea..15c3d7362 100644 --- a/src/views/wms/basicDataManage/labelManage/purchasePackage/index.vue +++ b/src/views/wms/basicDataManage/labelManage/purchasePackage/index.vue @@ -247,8 +247,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BarbasicApi.exportBarbasic(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/purchasePackage/purchasePackage.data.ts b/src/views/wms/basicDataManage/labelManage/purchasePackage/purchasePackage.data.ts index bf18cf028..77212d25c 100644 --- a/src/views/wms/basicDataManage/labelManage/purchasePackage/purchasePackage.data.ts +++ b/src/views/wms/basicDataManage/labelManage/purchasePackage/purchasePackage.data.ts @@ -141,6 +141,40 @@ export const Package = useCrudSchemas(reactive([ isForm: false, isTable: true }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + isDetail: true, + isForm: false, + isTable: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '最后更新者', + field: 'updater', + isDetail: true, + isForm: false, + isTable: true, + table: { + width: 150 + } + }, { label: '操作', field: 'action', diff --git a/src/views/wms/basicDataManage/labelManage/utensilPackage/index.vue b/src/views/wms/basicDataManage/labelManage/utensilPackage/index.vue index 68424897e..5384a4054 100644 --- a/src/views/wms/basicDataManage/labelManage/utensilPackage/index.vue +++ b/src/views/wms/basicDataManage/labelManage/utensilPackage/index.vue @@ -229,8 +229,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await BarbasicApi.exportBarbasic(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/labelManage/utensilPackage/utensilPackage.data.ts b/src/views/wms/basicDataManage/labelManage/utensilPackage/utensilPackage.data.ts index 252706b55..ba2ac4af2 100644 --- a/src/views/wms/basicDataManage/labelManage/utensilPackage/utensilPackage.data.ts +++ b/src/views/wms/basicDataManage/labelManage/utensilPackage/utensilPackage.data.ts @@ -139,7 +139,7 @@ export const Package = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -162,7 +162,7 @@ export const Package = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/orderManage/carrier/carrier.data.ts b/src/views/wms/basicDataManage/orderManage/carrier/carrier.data.ts index f12d20073..18eadba87 100644 --- a/src/views/wms/basicDataManage/orderManage/carrier/carrier.data.ts +++ b/src/views/wms/basicDataManage/orderManage/carrier/carrier.data.ts @@ -243,7 +243,7 @@ export const Carrier = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -266,7 +266,7 @@ export const Carrier = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/orderManage/carrier/index.vue b/src/views/wms/basicDataManage/orderManage/carrier/index.vue index 84931c430..79d96bdb5 100644 --- a/src/views/wms/basicDataManage/orderManage/carrier/index.vue +++ b/src/views/wms/basicDataManage/orderManage/carrier/index.vue @@ -233,8 +233,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await CarrierApi.exportCarrier(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/orderManage/owner/index.vue b/src/views/wms/basicDataManage/orderManage/owner/index.vue index d217f2ac4..f20387be5 100644 --- a/src/views/wms/basicDataManage/orderManage/owner/index.vue +++ b/src/views/wms/basicDataManage/orderManage/owner/index.vue @@ -234,8 +234,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await OwnerApi.exportOwner(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/orderManage/owner/owner.data.ts b/src/views/wms/basicDataManage/orderManage/owner/owner.data.ts index d5425e739..1121ed880 100644 --- a/src/views/wms/basicDataManage/orderManage/owner/owner.data.ts +++ b/src/views/wms/basicDataManage/orderManage/owner/owner.data.ts @@ -242,7 +242,7 @@ export const Owner = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -265,7 +265,7 @@ export const Owner = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/orderManage/shift/shift.data.ts b/src/views/wms/basicDataManage/orderManage/shift/shift.data.ts index 045efa49a..9f773e074 100644 --- a/src/views/wms/basicDataManage/orderManage/shift/shift.data.ts +++ b/src/views/wms/basicDataManage/orderManage/shift/shift.data.ts @@ -216,7 +216,7 @@ export const Shift = useCrudSchemas( sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -239,7 +239,7 @@ export const Shift = useCrudSchemas( field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/orderManage/team/index.vue b/src/views/wms/basicDataManage/orderManage/team/index.vue index c6892a584..cc08b49d7 100644 --- a/src/views/wms/basicDataManage/orderManage/team/index.vue +++ b/src/views/wms/basicDataManage/orderManage/team/index.vue @@ -228,8 +228,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await TeamApi.exportTeam(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/orderManage/team/team.data.ts b/src/views/wms/basicDataManage/orderManage/team/team.data.ts index 05adb9ea6..46278d47e 100644 --- a/src/views/wms/basicDataManage/orderManage/team/team.data.ts +++ b/src/views/wms/basicDataManage/orderManage/team/team.data.ts @@ -173,7 +173,7 @@ export const Team = useCrudSchemas(reactive([ sort: 'custom', isDetail: true, isForm: false, - isTable: false, + isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' @@ -196,7 +196,7 @@ export const Team = useCrudSchemas(reactive([ field: 'updater', isDetail: true, isForm: false, - isTable: false, + isTable: true, table: { width: 150 } diff --git a/src/views/wms/basicDataManage/strategySetting/configurationsetting/index.vue b/src/views/wms/basicDataManage/strategySetting/configurationsetting/index.vue index 1b0e3e4e5..78b516934 100644 --- a/src/views/wms/basicDataManage/strategySetting/configurationsetting/index.vue +++ b/src/views/wms/basicDataManage/strategySetting/configurationsetting/index.vue @@ -210,8 +210,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ConfigurationsettingApi.exportConfigurationsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/strategySetting/paramsetting/index.vue b/src/views/wms/basicDataManage/strategySetting/paramsetting/index.vue index 95ca3b253..faab50e6a 100644 --- a/src/views/wms/basicDataManage/strategySetting/paramsetting/index.vue +++ b/src/views/wms/basicDataManage/strategySetting/paramsetting/index.vue @@ -181,8 +181,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await ParamsettingApi.exportParamsetting(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/strategySetting/rule/index.vue b/src/views/wms/basicDataManage/strategySetting/rule/index.vue index ae0ed0844..ba6e8bddc 100644 --- a/src/views/wms/basicDataManage/strategySetting/rule/index.vue +++ b/src/views/wms/basicDataManage/strategySetting/rule/index.vue @@ -213,8 +213,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await RuleApi.exportRule(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/basicDataManage/strategySetting/rule/rule.data.ts b/src/views/wms/basicDataManage/strategySetting/rule/rule.data.ts index ebd689dc1..d25d1142b 100644 --- a/src/views/wms/basicDataManage/strategySetting/rule/rule.data.ts +++ b/src/views/wms/basicDataManage/strategySetting/rule/rule.data.ts @@ -48,6 +48,70 @@ export const Rule = useCrudSchemas(reactive([ field: 'configuration', sort: 'custom', }, + { + label: '创建时间', + field: 'createTime', + isForm: false, + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat : 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '创建者', + field: 'creator', + table: { + width: 130 + }, + isForm: false, + isTable: true + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + isDetail: true, + isForm: false, + isTable: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '最后更新者', + field: 'updater', + isDetail: true, + isForm: false, + isTable: true, + table: { + width: 150 + } + }, // { // label: '操作', // field: 'action', @@ -74,4 +138,4 @@ export const RuleRules = reactive({ configuration: [ { required: true, message: '请输入配置', trigger: 'blur' } ], -}) \ No newline at end of file +}) diff --git a/src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue b/src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue index 7034e3a20..ed8ffd727 100644 --- a/src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue +++ b/src/views/wms/basicDataManage/strategySetting/strategy/downShelfStrategy/AddForm.vue @@ -157,13 +157,29 @@ :value="cur.value" /> - + + + - + + + + + + + + + + + + + + + + + + + + @@ -560,6 +613,10 @@ + diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainMOVE/inventorymoveRequestMain.data.ts b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainMOVE/inventorymoveRequestMain.data.ts new file mode 100644 index 000000000..6f6e21b82 --- /dev/null +++ b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainMOVE/inventorymoveRequestMain.data.ts @@ -0,0 +1,948 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as getRequestsettingApi from '@/api/wms/requestsetting/index' + +import * as BalanceApi from '@/api/wms/balance' +import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' + +import * as LocationApi from '@/api/wms/location' +import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' + +import * as WarehouseApi from '@/api/wms/warehouse' +import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data' + +const { t } = useI18n() // 国际化 + +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize:10, + pageNo:1, + code:'MoveRequest' +} + const data = await getRequestsettingApi.getRequestsettingPage(queryParams) + const requestsettingData =data?.list[0]||{} + + // 获取当前操作人的部门 + import { useUserStore } from '@/store/modules/user' + import { TableColumn } from '@/types/table' + const userStore = useUserStore() + const userDept = userStore.userSelfInfo.dept + // id 转str 否则form回显匹配不到 + userDept.id = userDept.id.toString() + const userDeptArray:any = [userDept] + +/** + * @returns {Array} 库存转移申请主表 + */ +export const InventorymoveRequestMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180, + fixed: 'left' + }, + isForm: false, + isSearch: true, + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + isSearch: true, + isForm: false, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + form: { + value: '1', + componentProps: { + disabled: true + } + } + }, + { + label: '从仓库代码', + field: 'fromWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + enterSearch: true, + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择从仓库代码', + searchField: 'code', + searchTitle: '仓库基础信息', + searchAllSchemas: Warehouse.allSchemas, + searchPage: WarehouseApi.pageBusinessTypeToWarehouse, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, + searchListPlaceholder: '请选择从仓库代码', + searchField: 'code', + searchTitle: '仓库基础信息', + searchAllSchemas: Warehouse.allSchemas, + searchPage: WarehouseApi.pageBusinessTypeToWarehouse, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isTableForm:false, + isForm: false, + }, + { + label: '发货单号', + field: 'asnNumber', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + }, + { + label: '申请时间', + field: 'requestTime', + 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', + } + }, + isForm: false, + }, + { + label: '截止时间', + field: 'dueTime', + 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: 'fromAreaTypes', + // // dictType: DICT_TYPE.AREA_TYPE, + // // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // isForm: false, + // }, + // { + // label: '从库区代码范围', + // field: 'fromAreaCodes', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isForm: false, + // }, + + // { + // label: '到库区类型范围', + // field: 'toAreaTypes', + // // dictType: DICT_TYPE.AREA_TYPE, + // // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // isSearch: true, + // isForm: false, + // }, + // { + // label: '到库区代码范围', + // field: 'toAreaCodes', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isForm: false, + // }, + // { + // label: '业务类型', + // field: 'businessType', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // value: 'Move', + // componentProps: { + // disabled: true + // } + // }, + // isForm: false, + // }, + // { + // label: '部门', + // field: 'departmentCode', + // sort: 'custom', + // isForm: false, + // table: { + // width: 150 + // }, + // formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + // return userDeptArray.find((account) => account.id == cellValue)?.name + // }, + // form: { + // value: userDept.id, + // component: 'Select', + // api: () => userDeptArray, + // componentProps: { + // disabled: true, + // optionsAlias: { + // labelField: 'name', + // valueField: 'id' + // } + // } + // } + // }, + // { + // label: '备注', + // field: 'remark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false, + // }, + // { + // label: '自动提交', + // field: 'autoCommit', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // isForm: false, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: requestsettingData.autoCommit, + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE', + // disabled: true + // } + // } + // }, + // { + // label: '自动通过', + // field: 'autoAgree', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // isForm: false, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: requestsettingData.autoAgree, + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE', + // disabled: true + // } + // } + // }, + // { + // label: '自动执行', + // field: 'autoExecute', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // isForm: false, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: requestsettingData.autoExecute, + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE', + // disabled: true + // } + // } + // }, + // { + // label: '直接生成记录', + // field: 'directCreateRecord', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isForm: false, + // isTable: false, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: requestsettingData.directCreateRecord, + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE', + // disabled: true + // } + // } + // }, + // { + // label: '使用在途库', + // field: 'useOnTheWayLocation', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isSearch: true, + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + { + label: '创建时间', + field: 'createTime', + 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', + } + }, + isForm: false, + isTable: true, + 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')] + } + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + isTable: true + }, + { + label: '最后更新时间', + field: 'updateTime', + 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', + } + }, + isForm: false, + isTable: false + }, + { + label: '最后更新者', + field: 'updater', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + isTable: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 300, + fixed: 'right' + }, + } +])) + +//表单校验 +export const InventorymoveRequestMainRules = reactive({ + departmentCode: [ + { required: true, message: '请输入部门', trigger: 'blur' } + ], + fromWarehouseCode: [ + { required: true, message: '请选择从仓库代码', trigger: 'blur' } + ], + status: [ + { required: true, message: '请选择状态', trigger: 'change' } + ], + autoCommit: [ + { required: true, message: '请选择是否自动提交', trigger: 'change' } + ], + autoAgree: [ + { required: true, message: '请选择是否自动通过', trigger: 'change' } + ], + autoExecute: [ + { required: true, message: '请选择是否自动执行', trigger: 'change' } + ], + directCreateRecord: [ + { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' } + ], + remark: [ + { max: 50, message: '不得超过50个字符', trigger: 'blur' } + ], +}) + +/** + * @returns {Array} 库存转移申请子表 + */ +export const InventorymoveRequestDetail = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + isTableForm: false, + hiddenInMain: true, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + { + label: '物料描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + { + label: '从批次', + field: 'fromBatch', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '到批次', + field: 'toBatch', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + { + label: '从包装号', + field: 'fromPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + multiple:true, + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择从包装号', + searchField: 'packingNumber', + searchTitle: '库存余额信息', + searchAllSchemas: Balance.allSchemas, + searchPage: BalanceApi.selectLocationTypeToBalance, + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择从包装号', + searchField: 'packingNumber', + searchTitle: '库存余额信息', + searchAllSchemas: Balance.allSchemas, + searchPage: BalanceApi.selectLocationTypeToBalance, + } + } + }, + { + label: '到包装号', + field: 'toPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + // { + // label: '从器具号', + // field: 'fromContainerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // tableForm: { + // disabled: true + // }, + // form: { + // componentProps: { + // disabled: true + // } + // } + // }, + // { + // label: '到器具号', + // field: 'toContainerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTableForm: false, + // isForm: false, + // }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6 + } + }, + tableForm: { + type: 'InputNumber', + min: 0, + precision: 6 + } + }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '从库位代码', + field: 'fromLocationCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + table: { + width: 150 + }, + isTableForm:true, + tableForm: { + enterSearch: true, + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择到库位代码', + searchField: 'code', + searchTitle: '库位信息', + searchAllSchemas: Location.allSchemas, + searchPage: LocationApi.selectBusinessTypeToLocation, + searchCondition: [ + { + key: 'type', + value: 'businessType', + isMainValue: true + },{ + key: 'isIn', + value: 'in', + isMainValue: false + }], + isRepeat:true, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择到库位代码', + searchField: 'code', + searchTitle: '库位信息', + searchAllSchemas: Location.allSchemas, + searchPage: LocationApi.selectBusinessTypeToLocation, + searchCondition: [ + { + key: 'type', + value: 'businessType', + isMainValue: true + },{ + key: 'isIn', + value: 'in', + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, + { + label: '从库存状态', + field: 'fromInventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true, + type: 'Select' + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '到库存状态', + field: 'toInventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true, + type: 'Select' + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '从货主代码', + field: 'fromOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + hiddenInMain: true, + }, + { + label: '到货主代码', + field: 'toOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + hiddenInMain: true, + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + hiddenInMain: true, + }, + // { + // label: '备注', + // field: 'remark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + { + label: '创建时间', + field: 'createTime', + 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', + } + }, + hiddenInMain: true, + isTableForm: false, + isForm: false + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + isTableForm: false, + isForm: false + }, + // { + // label: '最后更新时间', + // field: 'updateTime', + // 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', + // } + // }, + // isTableForm: false, + // isForm: false + // }, + // { + // label: '最后更新者', + // field: 'updater', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTableForm: false, + // isForm: false + // }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + hiddenInMain: true, + isTableForm:false, + } +])) + +//表单校验 +export const InventorymoveRequestDetailRules = reactive({ + itemCode: [ + { required: true, message: '请点击从包装号选择物料代码', trigger: 'change' } + ], + fromLocationCode: [ + { required: true, message: '请选择从库位代码', trigger: 'change' } + ], + fromPackingNumber: [ + { required: true, message: '请选择从包装号', trigger: 'change' } + ], + fromInventoryStatus: [ + { required: true, message: '请选择从库存状态', trigger: 'change' } + ], + toLocationCode: [ + { required: true, message: '请选择到库位代码', trigger: 'change' } + ], + remark: [ + { max: 50, message: '不得超过50个字符', trigger: 'blur' } + ], +}) diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue index 7ddee302a..d58c2c9f7 100644 --- a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue +++ b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/index.vue @@ -89,6 +89,7 @@ import * as InventorymoveRequestMainApi from '@/api/wms/inventorymoveRequestMain import * as InventorymoveRequestDetailApi from '@/api/wms/inventorymoveRequestDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as LocationApi from '@/api/wms/location' +import { formatDate } from '@/utils/formatTime' // 库存转移申请 defineOptions({ name: 'InventorymoveRequestMain' }) @@ -668,18 +669,19 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) if(routeName.value == 'OktoholdRequestMain'){ const data = await InventorymoveRequestMainApi.exportOkToHoldRequestMain(tableObject.params) - download.excel(data, '物料转隔离申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) }else if ( routeName.value == 'HoldtookRequestMain') { const data = await InventorymoveRequestMainApi.exportHoldToOkRequestMain(tableObject.params) - download.excel(data, '隔离转合格申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) }else if ( routeName.value == 'HoldtoscrapRequestMain') { const data = await InventorymoveRequestMainApi.exportHoldToScrapRequestMain(tableObject.params) - download.excel(data, '隔离转报废申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) }else if ( routeName.value == 'OktoscrapRequestMain') { const data = await InventorymoveRequestMainApi.exportOkToScrapRequestMain(tableObject.params) - download.excel(data, '合格转报废申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } // else if ( routeName.value == 'ScraptoholdRequestMain') { // const data = await InventorymoveRequestMainApi.exportScrapToHoldRequestMain(tableObject.params) @@ -687,7 +689,7 @@ const handleExport = async () => { // } else{ const data = await InventorymoveRequestMainApi.exportInventorymoveRequestMain(tableObject.params) - download.excel(data, '库存转移申请主.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } } catch { } finally { @@ -791,7 +793,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: importFileName.value + '.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/offlinesettlement/offlinesettlementRecordMain/index.vue b/src/views/wms/productionManage/offlinesettlement/offlinesettlementRecordMain/index.vue index 357c857df..cb2d66d12 100644 --- a/src/views/wms/productionManage/offlinesettlement/offlinesettlementRecordMain/index.vue +++ b/src/views/wms/productionManage/offlinesettlement/offlinesettlementRecordMain/index.vue @@ -68,6 +68,7 @@ import * as OfflinesettlementRecordMainApi from '@/api/wms/offlinesettlementReco import * as OfflinesettlementRecordDetailApi from '@/api/wms/offlinesettlementRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 下线结算记录主 defineOptions({ name: 'OfflinesettlementRecordMain' }) @@ -156,7 +157,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await OfflinesettlementRecordMainApi.exportOfflinesettlementRecordMain(tableObject.params) - download.excel(data, '下线结算记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue b/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue index 671af6840..34cec3303 100644 --- a/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue +++ b/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue @@ -98,6 +98,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'ProcessproductionRequestMain' }) @@ -408,7 +409,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProcessproductionRequestMainApi.exportProcessproductionRequestMain(tableObject.params) - download.excel(data, '工序报产申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -423,7 +424,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '工序报产申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/wms/productionManage/productdismantle/productdismantleJobMain/index.vue b/src/views/wms/productionManage/productdismantle/productdismantleJobMain/index.vue index 42c4f37f6..9ed0d75e4 100644 --- a/src/views/wms/productionManage/productdismantle/productdismantleJobMain/index.vue +++ b/src/views/wms/productionManage/productdismantle/productdismantleJobMain/index.vue @@ -73,6 +73,7 @@ import * as ProductdismantleJobMainApi from '@/api/wms/productdismantleJobMain' import * as ProductdismantleJobDetailApi from '@/api/wms/productdismantleJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品拆解任务主 defineOptions({ name: 'ProductdismantleJobMain' }) @@ -223,7 +224,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductdismantleJobMainApi.exportProductdismantleJobMain(tableObject.params) - download.excel(data, '制品拆解任务主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productdismantle/productdismantleRecordMain/index.vue b/src/views/wms/productionManage/productdismantle/productdismantleRecordMain/index.vue index b39050448..fcd8edda1 100644 --- a/src/views/wms/productionManage/productdismantle/productdismantleRecordMain/index.vue +++ b/src/views/wms/productionManage/productdismantle/productdismantleRecordMain/index.vue @@ -93,6 +93,7 @@ import * as ProductdismantleRecordDetailApi from '@/api/wms/productdismantleReco import * as DismantleRecordDetailbApi from '@/api/wms/dismantleRecordDetailb' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品拆解记录主 defineOptions({ name: 'ProductdismantleRecordMain' }) @@ -226,7 +227,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductdismantleRecordMainApi.exportProductdismantleRecordMain(tableObject.params) - download.excel(data, '制品拆解记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productdismantle/productdismantleRequestMain/index.vue b/src/views/wms/productionManage/productdismantle/productdismantleRequestMain/index.vue index 3f4786a8b..a396a2639 100644 --- a/src/views/wms/productionManage/productdismantle/productdismantleRequestMain/index.vue +++ b/src/views/wms/productionManage/productdismantle/productdismantleRequestMain/index.vue @@ -112,6 +112,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as BomDismantleApi from '@/api/wms/bomDismantle' import * as dismantleRequestDetailbApi from '@/api/wms/dismantleRequestDetailb' import * as BomApi from "@/api/wms/bom"; +import { formatDate } from '@/utils/formatTime' // 制品拆解申请 @@ -541,7 +542,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductdismantleRequestMainApi.exportProductdismantleRequestMain(tableObject.params) - download.excel(data, '制品拆解申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productionplan/productionMain/index.vue b/src/views/wms/productionManage/productionplan/productionMain/index.vue index c107abc6d..b00d63f2c 100644 --- a/src/views/wms/productionManage/productionplan/productionMain/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMain/index.vue @@ -89,6 +89,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItemBasicApi from '@/api/wms/itembasic' import * as BomApi from "@/api/wms/bom"; import * as SwitchApi from '@/api/wms/switch' +import { formatDate } from '@/utils/formatTime' // 生产计划主 // 预生产计划 defineOptions({ name: 'ProductionMain' }) @@ -549,7 +550,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductionMainApi.exportProductionMain(tableObject.params) - download.excel(data, '预生产计划.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -627,7 +628,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '生产计划导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue b/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue index d9923a922..76d95435d 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue @@ -89,6 +89,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItemBasicApi from '@/api/wms/itembasic' import * as BomApi from "@/api/wms/bom"; import * as SwitchApi from '@/api/wms/switch' +import { formatDate } from '@/utils/formatTime' // 装配计划 defineOptions({ name: 'ProductionMainAssemble' }) @@ -512,7 +513,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductionMainApi.exportProductionMainAssemble(tableObject.params) - download.excel(data, '装配计划.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -626,7 +627,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '装配计划导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue b/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue index f289523a4..4e6129d82 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue @@ -89,6 +89,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItemBasicApi from '@/api/wms/itembasic' import * as BomApi from "@/api/wms/bom"; import * as SwitchApi from '@/api/wms/switch' +import { formatDate } from '@/utils/formatTime' // 装配备件计划 defineOptions({ name: 'ProductionMainASparePart' }) @@ -500,7 +501,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductionMainApi.exportProductionMainAssembleSparePart(tableObject.params) - download.excel(data, '装配备件计划.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts b/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts index e51d25451..01e34f445 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts +++ b/src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts @@ -54,6 +54,10 @@ export const ProductionMain = useCrudSchemas(reactive([ table: { width: 150 }, + isSearch: true, + search: { + component: 'Select', + }, form: { component: 'Select', value: 'assembleSparePart', @@ -263,6 +267,15 @@ export const ProductionMain = useCrudSchemas(reactive([ table: { width: 120 }, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + }, + }, sortTableDefault:1000, form: { component: 'DatePicker', diff --git a/src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue b/src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue index 3585c8f56..9f35454a4 100644 --- a/src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue @@ -89,6 +89,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItemBasicApi from '@/api/wms/itembasic' import * as BomApi from "@/api/wms/bom"; import * as SwitchApi from '@/api/wms/switch' +import { formatDate } from '@/utils/formatTime' // 预生产备件计划 defineOptions({ name: 'ProductionMainPredictSparePart' }) @@ -502,7 +503,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductionMainApi.exportProductionMainPredictSparePart(tableObject.params) - download.excel(data, '预生产备件计划.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -619,7 +620,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '预生产备件计划导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue b/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue index 699d01705..dc6c32a9b 100644 --- a/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue +++ b/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue @@ -65,6 +65,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'QadProductionPlanMain' }) @@ -214,7 +215,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await QadProductionPlanMainApi.exportQadProductionPlanMain(tableObject.params) - download.excel(data, 'QAD生产计划主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -229,7 +230,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: 'QAD生产计划主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/wms/productionManage/productputaway/productputawayJobMain/index.vue b/src/views/wms/productionManage/productputaway/productputawayJobMain/index.vue index c14093312..ed31768e3 100644 --- a/src/views/wms/productionManage/productputaway/productputawayJobMain/index.vue +++ b/src/views/wms/productionManage/productputaway/productputawayJobMain/index.vue @@ -76,6 +76,7 @@ import { CACHE_KEY, useCache } from '@/hooks/web/useCache' import {getAccessToken} from "@/utils/auth"; import { getJmreportBaseUrl } from '@/utils/systemParam' import * as SwitchApi from '@/api/wms/switch' +import { formatDate } from '@/utils/formatTime' // 制品上架任务主 defineOptions({ name: 'ProductputawayJobMain' }) @@ -246,7 +247,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayJobMainApi.exportProductputawayJobMain(tableObject.params) - download.excel(data, '制品上架任务主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue b/src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue index c788adcc7..2abfe9ab6 100644 --- a/src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue +++ b/src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue @@ -68,6 +68,7 @@ import * as ProductputawayRecordMainApi from '@/api/wms/productputawayRecordMain import * as ProductputawayRecordDetailApi from '@/api/wms/productputawayRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品上架记录主 defineOptions({ name: 'ProductputawayRecordMain' }) @@ -156,7 +157,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayRecordMainApi.exportProductputawayRecordMain(tableObject.params) - download.excel(data, '制品上架记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue b/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue index f1d1619f0..2712cf70f 100644 --- a/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue +++ b/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue @@ -88,6 +88,7 @@ import { ProductputawayRequestMain,ProductputawayRequestMainRules,Productputaway import * as ProductputawayRequestMainApi from '@/api/wms/productputawayRequestMain' import * as ProductputawayRequestDetailApi from '@/api/wms/productputawayRequestDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' // 制品上架申请 defineOptions({ name: 'ProductputawayRequestMain' }) @@ -342,7 +343,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayRequestMainApi.exportProductputawayRequestMain(tableObject.params) - download.excel(data, '制品上架申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -416,7 +417,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品上架申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/index.vue b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/index.vue index a6fe1a158..eb9b174f7 100644 --- a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/index.vue +++ b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/index.vue @@ -76,6 +76,7 @@ import { CACHE_KEY, useCache } from '@/hooks/web/useCache' import * as SwitchApi from '@/api/wms/switch' import {getAccessToken} from "@/utils/auth"; import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' // 装配制品上架任务主 defineOptions({ name: 'ProductputawayJobMain' }) @@ -249,7 +250,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayJobMainApi.exportProductputawayJobMain(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue index d1451da7b..4bffe5fac 100644 --- a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue +++ b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue @@ -68,6 +68,7 @@ import * as ProductputawayRecordMainApi from '@/api/wms/productputawayRecordMain import * as ProductputawayRecordDetailApi from '@/api/wms/productputawayRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品上架记录主 defineOptions({ name: 'ProductputawayRecordMain' }) @@ -156,7 +157,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayRecordMainApi.exportProductputawayRecordMain(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/index.vue b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/index.vue index 28366c9bf..1b39b44e4 100644 --- a/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/index.vue +++ b/src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/index.vue @@ -88,6 +88,7 @@ import { ProductputawayRequestMain,ProductputawayRequestMainRules,Productputaway import * as ProductputawayRequestMainApi from '@/api/wms/productputawayRequestMain' import * as ProductputawayRequestDetailApi from '@/api/wms/productputawayRequestDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' // 制品上架申请 装配上架申请 装配制品上架申请 defineOptions({ name: 'ProductputawayRequestMain' }) @@ -344,7 +345,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductputawayRequestMainApi.exportProductputawayRequestMainAssemble(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -417,7 +418,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品上架申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue index 253fb0f49..24215192e 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue +++ b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue @@ -104,6 +104,7 @@ import { BackflushRecordDetailb } from "@/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data"; +import { formatDate } from '@/utils/formatTime' // 制品收货任务主 // 预生产收货任务主 defineOptions({ name: 'ProductreceiptJobMain' }) @@ -350,7 +351,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptJobMainApi.exportProductreceiptJobMain(tableObject.params) - download.excel(data, '制品收货任务.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue b/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue index 8493a2bd0..3abac7cae 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue +++ b/src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue @@ -102,6 +102,7 @@ import * as ProductreceiptRequestDetailApi from '@/api/wms/productreceiptRequest import { getAccessToken } from '@/utils/auth' import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' // 制品收货记录主 // 预生产收货记录主 defineOptions({ name: 'ProductreceiptRecordMain' }) @@ -294,7 +295,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRecordMainApi.exportProductreceiptRecordMain(tableObject.params) - download.excel(data, '制品收货记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false 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/productreceipt/productreceiptRequestMain/index.vue b/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue index f5f87a731..a300ebb1f 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue +++ b/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue @@ -150,6 +150,9 @@ import { getAccessToken } from '@/utils/auth' import dayjs from 'dayjs' import { getJmreportBaseUrl } from '@/utils/systemParam' import * as BomApi from "@/api/wms/bom"; +import { formatDate } from '@/utils/formatTime' +import * as WorkshopApi from '@/api/wms/workshop' + // 制品收货申请 // 预生产收货申请 defineOptions({ name: 'ProductreceiptRequestMain' }) @@ -248,6 +251,14 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => } else { const setV = {} setV[formField] = val[0][searchField] + if('workshopCode'==formField){ +  //车间代码 + setV['productionLineCode'] = '' + tableData.value = [] + }else if('productionLineCode'==formField){ +  //生产线代码 + tableData.value = [] + } formRef.setValues(setV) } }) @@ -567,7 +578,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRequestMainApi.exportProductreceiptRequestMain(tableObject.params) - download.excel(data, '制品收货申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -645,7 +656,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品收货申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 @@ -797,8 +808,23 @@ const searchTableSuccessLabel = async (formField, searchField, val, formRef, typ message.error('创建标签失败') }) } +const getDefaultWorkshopCode = async ()=>{ + let res = await WorkshopApi.getWorkshopPage({ + available: "TRUE" + }) + if(res&&res.list.length>0){ + if(res.list.find(item=>item.code=='PRC')){ + ProductreceiptRequestMain.allSchemas.formSchema.map(itemColumns => { + if(itemColumns.field == 'workshopCode') { + itemColumns.value = 'PRC' + } + }) + } + } +} /** 初始化 **/ onMounted(async () => { + getDefaultWorkshopCode() getList() importTemplateData.templateUrl = await ProductreceiptRequestMainApi.importTemplate() }) diff --git a/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/index.vue b/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/index.vue new file mode 100644 index 000000000..c0f82ff6a --- /dev/null +++ b/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/index.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/mesRawMaterialConsumptionInfo.data.ts b/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/mesRawMaterialConsumptionInfo.data.ts new file mode 100644 index 000000000..527092ab8 --- /dev/null +++ b/src/views/wms/productionManage/productreceiptAssemble/mesRawMaterialConsumptionInfo/mesRawMaterialConsumptionInfo.data.ts @@ -0,0 +1,190 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter,dateFormatter2 } from '@/utils/formatTime' + + + +export const MesRawMaterialConsumptionInfo = useCrudSchemas(reactive([ + { + label: '成品包装号', + field: 'finishedPackingNumber', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '成品批次', + field: 'finishedBatch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '成品物料代码', + field: 'finishedItemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '成品创建时间', + field: 'finishedCreateTime', + 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')] + } + }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '成品创建人', + field: 'finishedCreator', + sort: 'custom', + isTable: true, + table: { + width: 150 + }, + }, + { + label: '唯一码', + field: 'remark', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '客户物料号', + field: 'customerItemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '原料包装号', + field: 'packingNumber', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '原料旧包装号', + field: 'oldPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '原料批次', + field: 'batch', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '原料主表ID', + field: 'masterId', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料单据号', + field: 'number', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料物品代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料物品名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料外部零件号', + field: 'outsideItemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料外部生产日期', + field: 'outsideProduceDate', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料外部流水号', + field: 'outsideSerialNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建人', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + sort: 'custom', + table: { + width: 150 + }, + }, +])) \ No newline at end of file diff --git a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue index dac357f0d..bf7f05680 100644 --- a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue +++ b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue @@ -73,6 +73,7 @@ import * as ProductreceiptJobMainApi from '@/api/wms/productreceiptJobMain' import * as ProductreceiptJobDetailApi from '@/api/wms/productreceiptJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 装配收货任务主 defineOptions({ name: 'ProductreceiptJobMainA' }) @@ -290,7 +291,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptJobMainApi.exportProductreceiptJobMainAssemble(tableObject.params) - download.excel(data, '装配收货任务.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue index 67e177c28..6c885fcae 100644 --- a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue +++ b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue @@ -122,6 +122,7 @@ import { SupplierdeliverRequestPackage } from '../../../purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts' import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' // 装配收货记录主 defineOptions({ name: 'ProductreceiptRecordMainA' }) @@ -358,7 +359,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRecordMainApi.exportProductreceiptRecordAssembleMain(tableObject.params) - download.excel(data, '装配收货记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false 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/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue index 37b729e3f..434ecb16a 100644 --- a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue +++ b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue @@ -150,6 +150,8 @@ import { formatTime } from '@/utils/index' import { getAccessToken } from '@/utils/auth' import { getJmreportBaseUrl } from '@/utils/systemParam' import * as BomApi from "@/api/wms/bom"; +import { formatDate } from '@/utils/formatTime' +import * as WorkshopApi from '@/api/wms/workshop' // 装配收货申请 defineOptions({ name: 'ProductreceiptRequestMainA' }) @@ -247,6 +249,14 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => } else { const setV = {} setV[formField] = val[0][searchField] + if('workshopCode'==formField){ +  //车间代码 + setV['productionLineCode'] = '' + tableData.value = [] + }else if('productionLineCode'==formField){ +  //生产线代码 + tableData.value = [] + } formRef.setValues(setV) } }) @@ -567,7 +577,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRequestMainApi.exportProductreceiptRequestMainAssemble(tableObject.params) - download.excel(data, '制品收货申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -646,7 +656,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '装配收货申请导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 @@ -799,9 +809,23 @@ const searchTableSuccess1 = async (formField, searchField, val, formRef, type, r message.error('创建标签失败') }) } - +const getDefaultWorkshopCode = async ()=>{ + let res = await WorkshopApi.getWorkshopPage({ + available: "TRUE" + }) + if(res&&res.list.length>0){ + if(res.list.find(item=>item.code=='PRC')){ + ProductreceiptRequestMain.allSchemas.formSchema.map(itemColumns => { + if(itemColumns.field == 'workshopCode') { + itemColumns.value = 'PRA' + } + }) + } + } +} /** 初始化 **/ onMounted(async () => { + getDefaultWorkshopCode() getList() importTemplateData.templateUrl = await ProductreceiptRequestMainApi.importTemplate() }) diff --git a/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/index.vue b/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/index.vue new file mode 100644 index 000000000..ede928449 --- /dev/null +++ b/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/index.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/rawMaterialConsumptionInfo.data.ts b/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/rawMaterialConsumptionInfo.data.ts new file mode 100644 index 000000000..c4d9e18d3 --- /dev/null +++ b/src/views/wms/productionManage/productreceiptAssemble/rawMaterialConsumptionInfo/rawMaterialConsumptionInfo.data.ts @@ -0,0 +1,260 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' + +/** + * @returns {Array} 制品收货记录子表 + */ +export const RawMaterialConsumptionInfo = useCrudSchemas(reactive([ + + { + label: '成品包装号', + field: 'finishedPackingNumber', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '成品批次', + field: 'finishedBatch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '成品物料代码', + field: 'finishedItemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '成品创建时间', + field: 'finishedCreateTime', + 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')] + } + }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '成品创建人', + field: 'finishedCreator', + sort: 'custom', + isTable: true, + table: { + width: 150 + }, + }, + { + label: '原料工序代码', + field: 'processCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料BOM版本', + field: 'bomVersion', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '原料库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料从库位代码', + field: 'fromLocationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料从库位组代码', + field: 'fromLocationGroupCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料从库区代码', + field: 'fromAreaCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料单据号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '原料物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '原料备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料物料描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料项目代码', + field: 'projectCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '原料计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料接口类型', + field: 'interfaceType', + dictType: DICT_TYPE.INTERFACE_TYPE, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '原料创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, +])) \ No newline at end of file diff --git a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapJobMain/index.vue b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapJobMain/index.vue index 995a10ac6..836ed5a27 100644 --- a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapJobMain/index.vue +++ b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapJobMain/index.vue @@ -74,6 +74,7 @@ import * as ProductreceiptJobMainApi from '@/api/wms/productreceiptJobMain' import * as ProductreceiptJobDetailApi from '@/api/wms/productreceiptJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品收货任务主 defineOptions({ name: 'ProductreceiptJobMain' }) @@ -287,7 +288,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptJobMainApi.exportProductreceiptJobMain(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRecordMain/index.vue b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRecordMain/index.vue index 69439d8b4..a40cdcdc8 100644 --- a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRecordMain/index.vue +++ b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRecordMain/index.vue @@ -92,6 +92,7 @@ import * as ProductreceiptRecordDetailApi from '@/api/wms/productreceiptRecordDe import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as BackflushRecordDetailbApi from '@/api/wms/backflushRecordDetailb' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品收货记录主 defineOptions({ name: 'ProductreceiptRecordMain' }) @@ -199,7 +200,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRecordMainApi.exportProductreceiptRecordMain(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue index 2fa3d5bd2..5a386df07 100644 --- a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue +++ b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue @@ -141,6 +141,7 @@ import { SupplierdeliverRequestPackage } from '../../../purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts' import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' // 制品收货申请 // 隔离报工申请 @@ -554,7 +555,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductreceiptRequestMainApi.exportProductreceiptRequestMain(tableObject.params) - download.excel(data, route.meta.title+'.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -631,7 +632,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '隔离报工申请导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productredress/productredressJobMain/index.vue b/src/views/wms/productionManage/productredress/productredressJobMain/index.vue index 19de72466..80c0ff2ff 100644 --- a/src/views/wms/productionManage/productredress/productredressJobMain/index.vue +++ b/src/views/wms/productionManage/productredress/productredressJobMain/index.vue @@ -60,6 +60,7 @@ import { ProductredressJobMain,ProductredressJobMainRules,ProductredressJobDetai import * as ProductredressJobMainApi from '@/api/wms/productredressJobMain' import * as ProductredressJobDetailApi from '@/api/wms/productredressJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'ProductredressJobMain' }) @@ -195,7 +196,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductredressJobMainApi.exportProductredressJobMain(tableObject.params) - download.excel(data, '制品回收任务主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue b/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue index f85fe1943..c4c8cc8e4 100644 --- a/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue +++ b/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue @@ -58,6 +58,7 @@ import { ProductredressRecordMain,ProductredressRecordMainRules,ProductredressRe import * as ProductredressRecordMainApi from '@/api/wms/productredressRecordMain' import * as ProductredressRecordDetailApi from '@/api/wms/productredressRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'ProductredressRecordMain' }) @@ -139,7 +140,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductredressRecordMainApi.exportProductredressRecordMain(tableObject.params) - download.excel(data, '制品回收记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue index 8a9c000a3..6f0ab4500 100644 --- a/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue +++ b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue @@ -113,12 +113,13 @@ import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'ProductredressRequestMain' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 - +// 制品回收申请 const route = useRoute() // 路由信息 const routeName = ref() routeName.value = route.name @@ -382,7 +383,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductredressRequestMainApi.exportProductredressRequestMain(tableObject.params) - download.excel(data, '制品回收申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -457,7 +458,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品回收申请导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts b/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts index 7ec65d060..23fbd6692 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', @@ -376,7 +485,19 @@ export const ProductredressRequestDetail = useCrudSchemas(reactive action: '==', // 查询拼接条件 isSearch: true, // 使用自定义拼接条件 isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 - }] + }, + { + key: 'productionLineCode', + value: 'productionLineCode', + action: '==', // 查询拼接条件 + isSearch: true, // 使用自定义拼接条件 + isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 + isFormModel:true, // filters中添加筛选的数据--取于formModel + required:true, // 前置添加必有,和isFormModel结合使用 + message: '请选择客户代码!', // 前置添加没填的提示语 + } + + ] }, }, { diff --git a/src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue b/src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue index 8cab2de1e..848994c16 100644 --- a/src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue +++ b/src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue @@ -96,6 +96,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as BomDismantleApi from "@/api/wms/bomDismantle"; import {getBomDismantleRecordPage} from "@/api/wms/bomDismantle"; import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品返修记录主 defineOptions({ name: 'ProductrepairRecordMain' }) @@ -265,7 +266,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductrepairRecordMainApi.exportProductrepairRecordMain(tableObject.params) - download.excel(data, '制品返修记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue b/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue index 89c622b32..542181a69 100644 --- a/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue +++ b/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue @@ -117,6 +117,7 @@ import * as BomDismantleApi from '@/api/wms/bomDismantle' import * as dismantleRequestDetailbApi from "@/api/wms/dismantleRequestDetailb"; import {updateProductscrapDetailRequestBom} from "@/api/wms/productrepairRequestMain"; import * as BomApi from "@/api/wms/bom"; +import { formatDate } from '@/utils/formatTime' // 制品返修申请 @@ -575,7 +576,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductrepairRequestMainApi.exportProductrepairRequestMain(tableObject.params) - download.excel(data, '制品返修申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -680,7 +681,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品返修申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productscrap/productscrapJobMain/index.vue b/src/views/wms/productionManage/productscrap/productscrapJobMain/index.vue index c03c33b32..ce2845cca 100644 --- a/src/views/wms/productionManage/productscrap/productscrapJobMain/index.vue +++ b/src/views/wms/productionManage/productscrap/productscrapJobMain/index.vue @@ -73,6 +73,7 @@ import * as ProductscrapJobMainApi from '@/api/wms/productscrapJobMain' import * as ProductscrapJobDetailApi from '@/api/wms/productscrapJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品报废任务主 defineOptions({ name: 'ProductscrapJobMain' }) @@ -223,7 +224,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductscrapJobMainApi.exportProductscrapJobMain(tableObject.params) - download.excel(data, '制品报废任务主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapJobMain/productscrapJobMain.data.ts index 7238ce579..5b93fbace 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} 制品报废任务主表 @@ -40,14 +40,13 @@ export const ProductscrapJobMain = useCrudSchemas( form: { // labelMessage: '信息提示说明!!!', componentProps: { - enterSearch: true, - // multiple: true, + enterSearch: true, // multiple: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 + searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', diff --git a/src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue b/src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue index 76405880a..68546914a 100644 --- a/src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue +++ b/src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue @@ -95,6 +95,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as BomDismantleApi from "@/api/wms/bomDismantle"; import {getProductscrapBomDismantleRecordPage} from "@/api/wms/bomDismantle"; import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import { formatDate } from '@/utils/formatTime' // 制品报废记录主 defineOptions({ name: 'ProductscrapRecordMain' }) @@ -266,7 +267,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductscrapRecordMainApi.exportProductscrapRecordMain(tableObject.params) - download.excel(data, '制品报废记录主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts index 76301b377..16a0a352d 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} 制品报废记录主表 @@ -40,14 +40,13 @@ export const ProductscrapRecordMain = useCrudSchemas( form: { // labelMessage: '信息提示说明!!!', componentProps: { - enterSearch: true, - // multiple: true, + enterSearch: true, // multiple: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 + searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', @@ -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: '最后更新时间', @@ -688,7 +687,14 @@ export const ProductscrapRecordDetail = useCrudSchemas(reactive([ table: { width: 150 }, - isTable: false, + isSearch: true, + search: { + component: 'Input', + componentProps: { + placeholder: '请输入备注' + } + }, + isTable: true, }, { label: '创建时间', diff --git a/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue b/src/views/wms/productionManage/productscrap/productscrapRequestMain/index.vue index 31d59a712..276ccdda9 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" /> @@ -122,6 +124,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as BomDismantleApi from "@/api/wms/bomDismantle" import * as BomApi from "@/api/wms/bom"; import * as BalanceApi from "@/api/wms/balance"; +import { formatDate } from '@/utils/formatTime' // 制品报废申请 defineOptions({ name: 'ProductscrapRequestMain' }) @@ -159,10 +162,14 @@ 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 +detatableDataBom.params.isRecord = false /** bom 列表 表单 按钮 */ const ButttondataBom = ref([ defaultButtons.formSaveBtn(null), // 保存 @@ -186,6 +193,12 @@ const buttonBaseClickBom = (val) => { message.warning('数量需要小于'+bomQty+'(子表数量乘以Bom数量的值)!') return } + if(detatableDataBom.tableList.length==1){ + if(detatableDataBom.tableList.find(item=>item['qty']<=0)){ + message.error('数量不能为0') + return + } + } tableListBom.value = detatableDataBom.tableList.filter(item => (item.qty!=0 && (item.bomQty * detailQty.value >= item.qty))) console.log("tableListBom",tableListBom.value) console.log("lsBomSave",lsBomSave.value) @@ -249,6 +262,7 @@ const buttonOperationClick = async (row, label, index,isSave = false)=> { detatableDataBom.params.bomVersion = row.bomVersion detailQty.value = row.qty bomModelVisible.value = true + detatableDataBom.params.isRecord = false await getDetailListBom() console.log(row.fromLocationCode); detatableDataBom.tableList.forEach(async (item) => { @@ -282,14 +296,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 ) => { @@ -311,11 +355,20 @@ const tableFormButton = async (val , row) => { detatableDataBom.params = { itemCode: row.itemCode, bomVersion: row.bomVersion, - masterId: row.masterId + masterId: row.id } rowId.value = row.masterId detailQty.value = row.qty + detatableDataBom.params.isRecord = true 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')//查看明细数据 } } @@ -676,7 +729,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ProductscrapRequestMainApi.exportProductscrapRequestMain(tableObject.params) - download.excel(data, '制品报废申请主.xlsx') + download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -803,7 +856,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '制品报废申请主导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts index f3ce47a15..881153b74 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() // 国际化 @@ -72,14 +72,13 @@ export const ProductscrapRequestMain = useCrudSchemas( form: { // labelMessage: '信息提示说明!!!', componentProps: { - enterSearch: true, - // multiple: true, + enterSearch: true, // multiple: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择Q3通知单号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: 'Q3通知单号', // 查询弹窗标题 - searchAllSchemas: Q3.allSchemas, // 查询弹窗所需类 - searchPage: InspectionQ3Api.getQ3Page, // 查询弹窗所需分页方法 + searchAllSchemas: InspectionQ3Main.allSchemas, // 查询弹窗所需类 + searchPage: InspectionQ3Api.getInspectionQ3MainPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', @@ -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/purchasereceiptJobMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue index 6cf95dc4e..74a76de16 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue @@ -363,8 +363,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PurchasereceiptJobMainApi.exportPurchasereceiptJobMain(tableObject.params) - download.excel(data, `【${route.meta.title}】【${formatDate(new Date())}】.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts index 2d8d0ba03..89fd1cf7c 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: 'mainRemark', + 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', @@ -639,6 +648,44 @@ export const PurchasereceiptRecordDetail = useCrudSchemas(reactive sortTableDefault:10, isSearch: true }, + { + label: '是否已发送检验申请', + field: 'inspectRequestFlag', + dictType: DICT_TYPE.TRUE_FALSE, + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isTableForm:false, + isForm:false, + form: { + value: 'ALL', + componentProps: { + disabled: true + } + }, + isSearch: true, + }, + { + label: '是否已生成上架申请', + field: 'putawayRequestFlag', + dictType: DICT_TYPE.TRUE_FALSE, + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isTableForm:false, + isForm:false, + form: { + value: 'ALL', + componentProps: { + disabled: true + } + }, + isSearch: true, + }, { label: '物料名称', field: 'itemName', @@ -1109,16 +1156,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 +1982,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 buttonTableClick = async (val, row) => { if (val == 'documentPrint') { // 单据打印 - handleDocumentPrint(row.id,row.masterId) + handleDocumentPrint(row.id) } } // 单据打印 const BASE_URL = getJmreportBaseUrl() const documentSrc = ref(BASE_URL + '/jmreport/view/920874172025987072?token=' + getAccessToken()) -const handleDocumentPrint = async (id,masterId) => { - window.open(documentSrc.value + '&id=' + id+ '&masterId=' + masterId) +const handleDocumentPrint = async (id) => { + window.open(documentSrc.value + '&id=' + id) } // 获取部门 用于详情 部门回显 const { wsCache } = useCache() diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/index.vue b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/index.vue new file mode 100644 index 000000000..d6fee3548 --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/index.vue @@ -0,0 +1,1049 @@ + + + diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts new file mode 100644 index 000000000..ba641667b --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts @@ -0,0 +1,593 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' +const { t } = useI18n() // 国际化 +import * as getRequestsettingApi from '@/api/wms/requestsetting/index' +import { + PurchasereceiptRecordDetail, + PurchasereceiptRecordMain +} from '../../purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data' +import * as PurchasereceiptRecordDetailApi from '@/api/wms/purchasereceiptRecordDetail' +import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' +import * as SupplierApi from '@/api/wms/supplier' +import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' +import * as ItemPackageApi from '@/api/wms/itempackage/index' +import * as LocationApi from '@/api/wms/location' +import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' +import * as BalanceApi from '@/api/wms/balance' +import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' + +import * as InspectionQ2Api from '@/api/qms/inspectionQ2' +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' + +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' +import { TableColumn } from '@/types/table' +const userStore = useUserStore() +const userDept = userStore.userSelfInfo.dept +// id 转str 否则form回显匹配不到 +userDept.id = userDept.id.toString() +const userDeptArray: any = [userDept] + +/** + * @returns {Array} 采购退货申请主表 + */ +export const PurchasereturnRequestMainNew = useCrudSchemas( + reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table:{ + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch:true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料基础信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 + } + } + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '供应商', + field: 'supplierCode', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Select', + componentProps: { + options: [], + optionsAlias: { + labelField: 'supplierCode', + valueField: 'supplierCode' + }, + filterable: true, + } + } + }, + { + label: '供应商名称', + field: 'supplierName', + sort: 'custom', + table: { + width: 180, + }, + isForm: true, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: ' ', + field: 'hahaha', + table: { + width: 180 + }, + isTable:false, + isDetail:false, + form: { + componentProps: { + type: 'slot', + } + }, + }, + { + label: '', + field: 'hehehe', + table: { + width: 180 + }, + isTable:false, + isDetail:false, + form: { + componentProps: { + type: 'slot', + } + }, + }, + { + 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: '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: 'status', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + isForm: false, + sort: 'custom', + table: { + width: 150 + }, + sortTableDefault: 1, + form: { + value: '1', + componentProps: { + disabled: true + } + } + }, + { + label: '退货库位', + field: 'locationCode', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Select', + componentProps: { + options: locationList + } + } + }, + { + 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 + }, + { + key: 'supplierCode', + value: 'supplierCode', + isMainValue: true + } + ], + verificationParams: [ + { + key: 'number', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 300, + fixed: 'right' + } + } + ]) +) +//表单校验 +export const PurchasereturnRequestMainRulesNew = reactive({ + itemCode: [ + { required: true, message: '请输入供应商代码', trigger: 'blur' } + ], + supplierCode: [ + { required: true, message: '请输入供应商代码', trigger: 'blur' } + ], + hahaha: [ + required + ], + locationCode: [ + { required: true, message: '请选择收货单明细', trigger: 'blur' } + ] +}) + +export const PurchasereturnPurchasereceiptRecordNew = 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', + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '发货单号', + field: 'asnNumber', + sort: 'custom', + 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 + } + } + } + ]) +) + + + +/** + * @returns {Array} 采购退货申请子表 + */ +export const PurchasereturnRequestDetailNew = useCrudSchemas(reactive([ + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + type: 'Select', + disabled:true + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '隔离库存数量', + field: 'inventoryBalance', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + disabled: true, + min: 0, + precision: 6 + } + }, + tableForm:{ + disabled:true, + hidden:false,//控制列是否展示 + type:'InputNumber', + min:0, + precision: 6 + }, + hiddenInMain: true, + isTable: false, + isDetail: false, + }, + { + label: '退货数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6, + disabled:false + } + }, + isTable:false, + isTableForm:true, + tableForm:{ + type:'InputNumber', + min:0, + precision: 6 + } + }, + { + label: '退货原因', + field: 'reasonType', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + // isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + type: 'Select', + }, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '退货原因描述', + field: 'reason', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + }, + { + label: '操作', + hiddenInMain:true, + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:false, + } +])) + +//表单校验 +export const PurchasereturnRequestDetailRulesNew = reactive({ +}) + + diff --git a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptJobMain/sparereceiptJobMain.data.ts b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptJobMain/sparereceiptJobMain.data.ts index 396494053..c1db0f98c 100644 --- a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptJobMain/sparereceiptJobMain.data.ts +++ b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptJobMain/sparereceiptJobMain.data.ts @@ -388,7 +388,7 @@ export const PurchasereceiptJobMain = useCrudSchemas(reactive([ table: { width: 150 }, - isTable:false, + isTable:true, }, { label: '创建时间', diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue index 43c77fb2d..92ef839d7 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue @@ -42,6 +42,7 @@ import { DemandforecastingMain,DemandforecastingMainRules,DemandforecastingDetai import * as DemandforecastingMainApi from '@/api/wms/demandforecastingMain' import * as DemandforecastingDetailApi from '@/api/wms/demandforecastingDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' // 要货预测 defineOptions({ name: 'DemandforecastingMain' }) @@ -182,8 +183,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await DemandforecastingMainApi.exportDemandforecastingMain(tableObject.params) - download.excel(data, `${t('ts.要货预测主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -194,7 +196,7 @@ const handleExport = async () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.要货预测主导入模版')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 筛选提交 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/demandforecastingMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/demandforecastingMain.data.ts index 19632d743..2ffc91738 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/demandforecastingMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/demandforecastingMain.data.ts @@ -109,45 +109,45 @@ export const DemandforecastingMain = useCrudSchemas(reactive([ } } }, - // { - // label: '版本号', - // field: 'version', - // sort: 'custom', - // table: { - // width: 150 - // }, - // isSearch:true, - // search: { - // // labelMessage: '信息提示说明!!!', - // componentProps: { - // multiple: true, - // enterSearch: true, - // isSearchList: true, // 开启查询弹窗 - // searchListPlaceholder: '请选择版本号', // 输入框占位文本 - // searchField: 'detailVersion', // 查询弹窗赋值字段 - // searchTitle: '版本号', // 查询弹窗标题 - // searchAllSchemas: Version.allSchemas, // 查询弹窗所需类 - // searchPage: DemandforecastingDetailApi.queryVersion, // 查询弹窗所需分页方法 - // searchCondition: [{ - // key: 'supplierCodes', - // value: 'supplierCode', - // message: '请填写供应商代码!', - // isMainValue: true, - // isCSV:true,//是否用逗号分隔参数 - // },{ - // key: 'itemCodes', - // value: 'itemCode', - // message: '请填写物料代码!', - // isMainValue: true, - // isCSV:true,//是否用逗号分隔参数 - // },{ - // key: 'available', - // value: 'TRUE', - // isMainValue: false - // }] - // } - // } - // }, + { + label: '版本号', + field: 'version', + sort: 'custom', + table: { + width: 150 + }, + isSearch:false, + search: { + // labelMessage: '信息提示说明!!!', + componentProps: { + multiple: true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择版本号', // 输入框占位文本 + searchField: 'detailVersion', // 查询弹窗赋值字段 + searchTitle: '版本号', // 查询弹窗标题 + searchAllSchemas: Version.allSchemas, // 查询弹窗所需类 + searchPage: DemandforecastingDetailApi.queryVersion, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'supplierCodes', + value: 'supplierCode', + message: '请填写供应商代码!', + isMainValue: true, + isCSV:true,//是否用逗号分隔参数 + },{ + key: 'itemCodes', + value: 'itemCode', + message: '请填写物料代码!', + isMainValue: true, + isCSV:true,//是否用逗号分隔参数 + },{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + } + }, { label: '到货日期', field: 'dueDate', diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue index d53844f8e..b324e3ed3 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingSupplierMain/index.vue @@ -49,6 +49,7 @@ import { DemandforecastingMain,DemandforecastingMainRules,DemandforecastingDetai import * as DemandforecastingMainApi from '@/api/wms/demandforecastingMain' import * as DemandforecastingDetailApi from '@/api/wms/demandforecastingDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' +import { formatDate } from '@/utils/formatTime' // 要货预测 defineOptions({ name: 'DemandforecastingMain' }) @@ -188,8 +189,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await DemandforecastingMainApi.exportDemandforecastingMain(tableObject.params) - download.excel(data, `${t('ts.要货预测主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -200,7 +202,7 @@ const handleExport = async () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.要货预测主导入模版')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 筛选提交 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue index 0350efbf0..77e6c244a 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue @@ -99,7 +99,8 @@ import * as PurchaseDetailApi from '@/api/wms/purchaseDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItembasicApi from '@/api/wms/itembasic' -import TableDetail from '@/components/TableDetail/src/TableDetail.vue' + import TableDetail from '@/components/TableDetail/src/TableDetail.vue' + import { formatDate } from '@/utils/formatTime' // 采购订单 defineOptions({ name: 'PurchaseMain' }) @@ -489,8 +490,9 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PurchaseMainApi.exportPurchaseMain(tableObject.params) - download.excel(data, `${t('ts.采购订单主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -554,7 +556,7 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t(`ts.采购订单主导入模版`)}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue index 013ff8a88..d70b0a6ff 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue @@ -121,6 +121,7 @@ import * as PurchaseMainApi from '@/api/wms/purchaseMain' import { PurchaseMain } from '../purchaseMain/purchaseMain.data' import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' +import { formatDate } from '@/utils/formatTime' const { wsCache } = useCache() const language = wsCache.get('lang') const announcements = ref([]) @@ -716,8 +717,9 @@ const handleSelectionPublish = async ()=>{ await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PurchasePlanMainApi.exportPurchasePlanMain(tableObject.params) - download.excel(data, `${t('ts.要货计划主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -731,8 +733,9 @@ const handleSelectionPublish = async ()=>{ await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PurchasePlanMainApi.exportDetailsPurchasePlanMain(tableObject.params) - download.excel(data, `${t('ts.要货计划明细')}.xlsx`) + download.excel(data, `【${excelTitle.value}明细】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -745,8 +748,9 @@ const handleSelectionPublish = async ()=>{ await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await PurchasePlanMainApi.exportTablePurchasePlanMain(tableObject.params) - download.excel(data, `${t('ts.要货计划二维表')}.xlsx`) + download.excel(data, `【${excelTitle.value}二维表】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -890,7 +894,7 @@ const handleSelectionPublish = async ()=>{ // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.要货计划主导入模版')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue index bb0d7b600..c856afd3d 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue @@ -118,6 +118,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import { getAccessToken } from '@/utils/auth' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' import { getJmreportBaseUrl } from '@/utils/systemParam' +import { formatDate } from '@/utils/formatTime' // 供应商发货记录主 defineOptions({ name: 'SupplierdeliverRecordMain' }) @@ -279,8 +280,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierdeliverRecordMainApi.exportSupplierdeliverRecordMain(tableObject.params) - download.excel(data, `${t('ts.供应商发货记录主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue index 9dc9bf340..72c82bf0e 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue @@ -622,9 +622,19 @@ const buttonTableClick = async (val, row) => { formLabelRef.value.open('create', row, null, 'createLabel') //创建标签页面 createLabel 标题 } else if (val == 'ressbq') { console.log('重新生成标签') - ElMessageBox.confirm(t('ts.重新生成标签会删除上次生成的标签,是否确认继续?'), '提示', { + // ElMessageBox.confirm(`
+ // 重新生成标签后必须撕毁原标签,打印并粘贴新标签,如标签错误将拒绝收货!! + //
`,'提示',{ + // dangerouslyUseHTMLString: true, + // }) + ElMessageBox.confirm(`
+ 重新生成标签后必须撕毁原标签,打印并粘贴新标签,如标签错误将拒绝收货!! +
+ 重新生成标签会删除上次生成的标签,是否确认继续? +
`, '提示', { confirmButtonText: t('ts.确 认'), - cancelButtonText: t('ts.取 消') + cancelButtonText: t('ts.取 消'), + dangerouslyUseHTMLString: true }) .then(() => { SupplierdeliverRequestMainApi.deleteOldLabels(row.masterId).then(async (res) => { @@ -1019,10 +1029,11 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierdeliverRequestMainApi.exportSupplierdeliverRequestMain( tableObject.params ) - download.excel(data, `${'ts.供应商发货申请主'}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -1215,7 +1226,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.供应商发货申请主导入模版')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/labelForm.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/labelForm.vue index f4e859a1e..1bd0771a5 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/labelForm.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/labelForm.vue @@ -155,9 +155,7 @@ - + @@ -594,9 +592,16 @@ const blurThree = (oneRow, twoRow, thereeRow) => { }) twoRow.qtyOne = num } -const getUomLabel = (uom) =>{ - return getStrDictOptions(DICT_TYPE.UOM)?.find(item=>item.value == uom)?.label +// 获取单位 +const uomLabel = (row) => { + const obj = getStrDictOptions(DICT_TYPE.UOM).find((item) => item.value == row.uom) + if (obj) { + return obj.label + } else { + return '' + } } + // 传递给父类 const emit = defineEmits(['submitForm']) defineExpose({ openLabel, dialogTableVisible, isLoading }) // 提供 open 方法,用于打开弹窗 diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts index ee1d15355..72f0afaa1 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts @@ -1637,14 +1637,14 @@ export const SupplierdeliverRequestDetailLabel = useCrudSchemas(reactive { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await InvoicingcalendarApi.exportInvoicingcalendar(tableObject.params) - download.excel(data, '开票日历.xlsx') + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -227,7 +229,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: '开票日历导入模版.xlsx' + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => { diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue index 5555740fe..0ee70f35b 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue @@ -152,6 +152,7 @@ import * as SupplierinvoiceRequestDetailApi from '@/api/wms/supplierinvoiceReque import * as PackageApi from "@/api/wms/package"; import {getAccessToken} from "@/utils/auth"; import {getJmreportBaseUrl} from "@/utils/systemParam"; +import { formatDate } from '@/utils/formatTime' // 供应商发票记录主 defineOptions({ name: 'SupplierinvoiceRecordMain' }) @@ -307,8 +308,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRecordMainApi.exportSupplierinvoiceRecordMain({...tableObject.params,checkNums:rows}) - download.excel(data, `${t('ts.供应商发票记录主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -344,8 +346,9 @@ const handleDetailExport = async (masterId) => { let params = { masterId: masterId } + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRecordMainApi.exportSupplierinvoiceRecordDetail(params) - download.excel(data, `${t('ts.供应商发票记录明细')}.xlsx`) + download.excel(data, `【${excelTitle.value}明细】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoadingDetail.value = false diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue index 660d363e2..40192c959 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue @@ -350,6 +350,7 @@ import { ElMessageBox } from 'element-plus' import { getJmreportBaseUrl } from '@/utils/systemParam' import { accountantFormart } from '@/utils/formatter' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SupplierinvoiceRequestMain' }) const message = useMessage() // 消息弹窗 @@ -812,11 +813,13 @@ const openForm = async (type: string, row?: any) => { } tableData.value = [] // 重置明细数据 formRef.value.open(type, row) - nextTick(() => { - formRef.value.formRef.setValues({ - procurementCreator:procurementCreators.value[0].id - }) - }) + if(type=='create'){ + nextTick(() => { + formRef.value.formRef.setValues({ + procurementCreator:procurementCreators.value[0].id + }) + }) + } }) } const defaultSupplierCode = ref('') @@ -1177,8 +1180,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRequestMainApi.exportSupplierinvoiceRequestMain(paramsData) - download.excel(data, `${t('ts.供应商发票申请主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -1270,7 +1274,7 @@ const submitForm = async (formType, submitData) => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.供应商发票申请主导入模板')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 @@ -1325,8 +1329,9 @@ const handleDetailExport = async (masterId) => { let params = { masterId: masterId } + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRequestMainApi.exportSupplierinvoiceRequestDetail(params) - download.excel(data, `${t('ts.供应商发票申请明细')}.xlsx`) + download.excel(data, `【${excelTitle.value}明细】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoadingDetail.value = false diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue index 8930eab3f..815f5fb61 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue @@ -151,6 +151,7 @@ import dayjs from 'dayjs' import { ElMessageBox } from 'element-plus' import { getJmreportBaseUrl } from '@/utils/systemParam' import { accountantFormart } from '@/utils/formatter' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SupplierinvoiceRequestMain' }) @@ -329,8 +330,9 @@ const searchTableSuccessDetail = async (formField, searchField, val, formRef,sea await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRequestMainApi.exportSupplierinvoiceRequestMain(paramsData) - download.excel(data, `${t('ts.供应商发票申请主')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -351,7 +353,7 @@ const searchTableSuccessDetail = async (formField, searchField, val, formRef,sea // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.供应商发票申请主导入模板')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) @@ -407,8 +409,9 @@ const importTemplateData = reactive({ let params = { masterId: masterId } + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceRequestMainApi.exportSupplierinvoiceRequestDetail(params) - download.excel(data, `${t('ts.供应商发票申请明细')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoadingDetail.value = false diff --git a/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue b/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue index d8475ef40..7a36a738d 100644 --- a/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue +++ b/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue @@ -64,6 +64,7 @@ import * as SupplierinvoiceInvoicedApi from '@/api/wms/supplierinvoiceInvoiced' import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import Detail from '@/components/Detail/src/Detail.vue' +import { formatDate } from '@/utils/formatTime' defineOptions({ name: 'SupplierinvoiceInvoiced' }) @@ -271,8 +272,9 @@ const handleExport = async () => { await message.exportConfirm() // 发起导出 exportLoading.value = true + const excelTitle = ref(route.meta.title) const data = await SupplierinvoiceInvoicedApi.exportSupplierinvoiceInvoiced(tableObject.params) - download.excel(data, `${t('ts.待开票')}.xlsx`) + download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) } catch { } finally { exportLoading.value = false @@ -287,7 +289,7 @@ const handleImport = () => { // 导入附件弹窗所需的参数 const importTemplateData = reactive({ templateUrl: '', - templateTitle: `${t('ts.待开票导入模版')}.xlsx` + templateTitle: `【${route.meta.title}】导入模版.xlsx` }) // 导入成功之后 const importSuccess = () => {