diff --git a/.env.development b/.env.development
index 78976cddd..7ffad86e9 100644
--- a/.env.development
+++ b/.env.development
@@ -34,4 +34,7 @@ VITE_OUT_DIR=dist
VITE_INTERFACE_URL='http://localhost:12080/magic/web/index.html'
# 积木报表请求路径
-VITE_JMREPORT_BASE_URL='http://localhost:12080'
\ No newline at end of file
+VITE_JMREPORT_BASE_URL='http://localhost:12080'
+
+# 租户配置
+VITE_TENANT='["长春","成都"]'
\ No newline at end of file
diff --git a/.env.test b/.env.test
index a42a17cd3..27d463213 100644
--- a/.env.test
+++ b/.env.test
@@ -35,3 +35,6 @@ VITE_INTERFACE_URL='http://dev.ccwin-in.com:25310/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25310'
+
+# 租户配置
+VITE_TENANT='["长春","成都"]'
\ No newline at end of file
diff --git a/.env.test-scp b/.env.test-scp
index a68d25459..e64386900 100644
--- a/.env.test-scp
+++ b/.env.test-scp
@@ -35,3 +35,7 @@ VITE_INTERFACE_URL='http://dev.ccwin-in.com:25311/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25311'
+
+
+# 租户配置
+VITE_TENANT='["长春","成都"]'
diff --git a/.env.wyf b/.env.wyf
index 4c5de71c6..ae1a58502 100644
--- a/.env.wyf
+++ b/.env.wyf
@@ -4,9 +4,9 @@ NODE_ENV=test
VITE_DEV=false
# 请求路径
-VITE_BASE_URL='http://192.168.0.113:12080'
+VITE_BASE_URL='http://192.168.0.108:12080'
# 上传路径
-VITE_UPLOAD_URL='http://192.168.0.113:12080/admin-api/infra/file/upload'
+VITE_UPLOAD_URL='http://192.168.0.108:12080/admin-api/infra/file/upload'
# # 请求路径
# VITE_BASE_URL='http://dev.ccwin-in.com:25300/api'
@@ -46,3 +46,6 @@ VITE_JMREPORT_BASE_URL='http://192.168.0.108:12080'
# # 积木报表请求路径
# VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25310'
+
+# 租户配置
+VITE_TENANT='["长春","成都"]'
\ No newline at end of file
diff --git a/src/api/wms/containerMainRequest/index.ts b/src/api/wms/containerMainRequest/index.ts
index 35e7a9f8d..91d143784 100644
--- a/src/api/wms/containerMainRequest/index.ts
+++ b/src/api/wms/containerMainRequest/index.ts
@@ -14,7 +14,7 @@ export interface ContainerMainRequestVO {
export const getContainerMainRequestPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
- const data = {...params}
+ const data = { ...params }
return await request.post({ url: '/wms/container-main-request/senior', data })
} else {
return await request.get({ url: `/wms/container-main-request/page`, params })
@@ -43,7 +43,74 @@ export const deleteContainerMainRequest = async (id: number) => {
// 导出器具管理申请主 Excel
export const exportContainerMainRequest = async (params) => {
- return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ params.businessType = 'ContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
+}
+
+// 导出初始化器具管理申请主 Excel
+export const exportInitialContainerMainRequest = async (params) => {
+ params.businessType = 'InitialContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
+}
+
+// 导出初始化器具管理申请主 Excel
+export const exportScrapContainerMainRequest = async (params) => {
+ params.businessType = 'ScrapContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
+}
+
+// 导出移动器具管理申请主 Excel
+export const exportMoveContainerMainRequest = async (params) => {
+ params.businessType = 'MoveContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
+}
+
+// 导出返回器具管理申请主 Excel
+export const exportReturnContainerMainRequest = async (params) => {
+ params.businessType = 'ReturnContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
+}
+
+// 导出发运器具管理申请主 Excel
+export const exportDeliverContainerMainRequest = async (params) => {
+ params.businessType = 'DeliverContainerManage'
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = { ...params }
+ return await request.post({ url: '/wms/container-main-request/export-excel-senior', data })
+ } else {
+ return await request.download({ url: `/wms/container-main-request/export-excel`, params })
+ }
}
// 下载用户导入模板
diff --git a/src/api/wms/qadproductionplan/index.ts b/src/api/wms/qadproductionplan/index.ts
new file mode 100644
index 000000000..c25893833
--- /dev/null
+++ b/src/api/wms/qadproductionplan/index.ts
@@ -0,0 +1,58 @@
+import request from '@/config/axios'
+
+export interface QadProductionPlanMainVO {
+ displayOrder: number
+ workshop: string
+ productionLine: string
+ shift: string
+ team: string
+ planDate: Date
+ details: string
+ number: string
+ planType: string
+ businessType: string
+ remark: string
+ woNumber: string
+ woLine: string
+}
+
+// 查询QAD生产计划主列表
+export const getQadProductionPlanMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/qad-production-plan-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/qad-production-plan-main/page`, params })
+ }
+}
+
+// 查询QAD生产计划主详情
+export const getQadProductionPlanMain = async (id: number) => {
+ return await request.get({ url: `/wms/qad-production-plan-main/get?id=` + id })
+}
+
+// 新增QAD生产计划主
+export const createQadProductionPlanMain = async (data: QadProductionPlanMainVO) => {
+ return await request.post({ url: `/wms/qad-production-plan-main/create`, data })
+}
+
+// 修改QAD生产计划主
+export const updateQadProductionPlanMain = async (data: QadProductionPlanMainVO) => {
+ return await request.put({ url: `/wms/qad-production-plan-main/update`, data })
+}
+
+// 删除QAD生产计划主
+export const deleteQadProductionPlanMain = async (id: number) => {
+ return await request.delete({ url: `/wms/qad-production-plan-main/delete?id=` + id })
+}
+
+// 导出QAD生产计划主 Excel
+export const exportQadProductionPlanMain = async (params) => {
+ return await request.download({ url: `/wms/qad-production-plan-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/qad-production-plan-main/get-import-template' })
+}
diff --git a/src/views/login/components/LoginForm.vue b/src/views/login/components/LoginForm.vue
index 6f79ce15e..67607c1dc 100644
--- a/src/views/login/components/LoginForm.vue
+++ b/src/views/login/components/LoginForm.vue
@@ -9,8 +9,16 @@
-
+
+
+
+
@@ -110,6 +118,7 @@
// 验证码开关
const captchaEnabled = ref(true);
const codeUrl = ref("");
+ const tenantArray = JSON.parse(import.meta.env.VITE_TENANT);
const LoginRules = {
tenantName: [required],
@@ -121,7 +130,7 @@
captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE,
tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE,
loginForm: {
- tenantName: '闻荫源码',
+ tenantName: tenantArray[0],
username: 'admin',
password: '123456',
captchaVerification: '',
diff --git a/src/views/login/components/MobileForm.vue b/src/views/login/components/MobileForm.vue
index fa42de03d..1d7038231 100644
--- a/src/views/login/components/MobileForm.vue
+++ b/src/views/login/components/MobileForm.vue
@@ -18,13 +18,21 @@
-
+ /> -->
+
+
+
@@ -117,6 +125,7 @@ const iconCircleCheck = useIcon({ icon: 'ep:circle-check' })
const { validForm } = useFormValid(formSmsLogin)
const { handleBackLogin, getLoginState } = useLoginState()
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.MOBILE)
+const tenantArray = JSON.parse(import.meta.env.VITE_TENANT);
const rules = {
tenantName: [required],
@@ -132,7 +141,7 @@ const loginData = reactive({
},
loginForm: {
uuid: '',
- tenantName: '闻荫源码',
+ tenantName: tenantArray[0],
mobileNumber: '',
code: ''
}
diff --git a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
index 9b7584156..122339949 100644
--- a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
+++ b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
@@ -96,6 +96,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'remark',
sort: 'custom',
isSearch: true,
+ isTable: false
},
{
label: '部门',
@@ -219,9 +220,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
},
{
@@ -247,9 +246,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'siteId',
sort: 'custom',
isForm: false,
- table: {
- width: 100
- },
+ isTable: false,
},
{
label: '操作',
@@ -439,6 +436,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
+ isTable: false
},
{
label: '创建时间',
@@ -453,9 +451,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
isTableForm: false
},
@@ -495,6 +491,8 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '操作',
field: 'action',
isForm: false,
+ hiddenInMain:true,
+ isTableForm: false,
table: {
width: 150,
fixed: 'right'
diff --git a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue
index 98a33615b..a85c7ba7b 100644
--- a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue
+++ b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue
@@ -298,7 +298,7 @@ const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['ma
return []
}
return [
- defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
+ defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:container-main-request:reAdd'}), //重新添加
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:container-main-request:submit'}), // 提交审批
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:container-main-request:refused'}), // 驳回
@@ -466,8 +466,19 @@ const handleExport = async () => {
await message.exportConfirm()
// 发起导出
exportLoading.value = true
- const data = await ContainerMainRequestApi.exportContainerMainRequest(tableObject.params)
- download.excel(data, '器具管理申请主.xlsx')
+ if(routeName.value == 'ReturnContainerManageRequest'){
+ const data = await ContainerMainRequestApi.exportReturnContainerMainRequest(tableObject.params)
+ download.excel(data, '器具返回申请.xlsx')
+ }else if ( routeName.value == 'MoveContainerManageRequest') {
+ const data = await ContainerMainRequestApi.exportMoveContainerMainRequest(tableObject.params)
+ download.excel(data, '器具转移申请.xlsx')
+ }else if ( routeName.value == 'DeliverContainerManageRequest') {
+ const data = await ContainerMainRequestApi.exportDeliverContainerMainRequest(tableObject.params)
+ download.excel(data, '器具发运申请.xlsx')
+ }else{
+ const data = await ContainerMainRequestApi.exportContainerMainRequest(tableObject.params)
+ download.excel(data, '器具管理申请.xlsx')
+ }
} catch {
} finally {
exportLoading.value = false
diff --git a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts
index 862df9340..f29e5788f 100644
--- a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts
+++ b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts
@@ -63,6 +63,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
+ isTable: false
},
{
label: '部门',
@@ -112,9 +113,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive([
field: 'siteId',
sort: 'custom',
isForm: false,
- table: {
- width: 100
- },
+ isTable: false,
},
{
label: '创建时间',
@@ -129,9 +128,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
},
{
@@ -220,6 +217,7 @@ export const ContainerRecordDetail = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
+ isTable: false
},
{
label: '创建时间',
@@ -234,9 +232,7 @@ export const ContainerRecordDetail = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
isTableForm: false
},
@@ -276,6 +272,8 @@ export const ContainerRecordDetail = useCrudSchemas(reactive([
label: '操作',
field: 'action',
isForm: false,
+ hiddenInMain:true,
+ isTableForm: false,
table: {
width: 150,
fixed: 'right'
diff --git a/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/index.vue b/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/index.vue
index bed6ff8ad..702675c83 100644
--- a/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/index.vue
+++ b/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/index.vue
@@ -250,7 +250,7 @@ const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['ma
return []
}
return [
- defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
+ defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:container-main-request:reAdd'}), //重新添加
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:container-main-request:submit'}), // 提交审批
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:container-main-request:refused'}), // 驳回
@@ -420,8 +420,8 @@ const handleExport = async () => {
await message.exportConfirm()
// 发起导出
exportLoading.value = true
- const data = await ContainerMainRequestApi.exportContainerMainRequest(tableObject.params)
- download.excel(data, '器具管理申请主.xlsx')
+ const data = await ContainerMainRequestApi.exportInitialContainerMainRequest(tableObject.params)
+ download.excel(data, '初始化器具管理申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
@@ -436,7 +436,7 @@ const handleImport = () => {
// 导入附件弹窗所需的参数
const importTemplateData = reactive({
templateUrl: '',
- templateTitle: 'importFileName.xlsx'
+ templateTitle: importFileName.value + '.xlsx'
})
// 导入成功之后
const importSuccess = () => {
diff --git a/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts b/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts
index 93ef9ec97..74474265e 100644
--- a/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts
+++ b/src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts
@@ -100,6 +100,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'remark',
sort: 'custom',
isSearch: true,
+ isTable:false,
},
{
label: '部门',
@@ -223,9 +224,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable:false,
isForm: false,
},
{
@@ -251,9 +250,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'siteId',
sort: 'custom',
isForm: false,
- table: {
- width: 100
- },
+ isTable:false,
},
{
label: '操作',
@@ -410,6 +407,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
+ isTable:false,
},
{
label: '创建时间',
@@ -424,9 +422,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable:false,
isForm: false,
isTableForm: false
},
@@ -466,6 +462,8 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '操作',
field: 'action',
isForm: false,
+ hiddenInMain:true,
+ isTableForm: false,
table: {
width: 200,
fixed: 'right'
diff --git a/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/index.vue b/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/index.vue
index ea5089cda..52374a011 100644
--- a/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/index.vue
+++ b/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/index.vue
@@ -273,7 +273,7 @@ const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['ma
return []
}
return [
- defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
+ defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4','6']),hasPermi:'wms:container-main-request:close'}), // 关闭
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:container-main-request:reAdd'}), //重新添加
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:container-main-request:submit'}), // 提交审批
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:container-main-request:refused'}), // 驳回
@@ -446,8 +446,8 @@ const handleExport = async () => {
await message.exportConfirm()
// 发起导出
exportLoading.value = true
- const data = await ContainerMainRequestApi.exportContainerMainRequest(tableObject.params)
- download.excel(data, '器具管理申请主.xlsx')
+ const data = await ContainerMainRequestApi.exportScrapContainerMainRequest(tableObject.params)
+ download.excel(data, '报废器具管理申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
diff --git a/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/scrapContainerMainRequest.data.ts b/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/scrapContainerMainRequest.data.ts
index d14b1c371..ad74af33a 100644
--- a/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/scrapContainerMainRequest.data.ts
+++ b/src/views/wms/inventoryjobManage/containermanage/scrapContainerMainRequest/scrapContainerMainRequest.data.ts
@@ -96,6 +96,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'remark',
sort: 'custom',
isSearch: true,
+ isTable: false
},
{
label: '部门',
@@ -219,9 +220,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
},
{
@@ -247,9 +246,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive([
field: 'siteId',
sort: 'custom',
isForm: false,
- table: {
- width: 100
- },
+ isTable: false,
},
{
label: '操作',
@@ -437,6 +434,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
+ isTable: false
},
{
label: '创建时间',
@@ -451,9 +449,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- table: {
- width: 200
- },
+ isTable: false,
isForm: false,
isTableForm: false
},
@@ -493,6 +489,8 @@ export const ContainerDetailRequest = useCrudSchemas(reactive([
label: '操作',
field: 'action',
isForm: false,
+ hiddenInMain:true,
+ isTableForm: false,
table: {
width: 150,
fixed: 'right'
diff --git a/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue b/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue
new file mode 100644
index 000000000..1b0427298
--- /dev/null
+++ b/src/views/wms/productionManage/productionplan/qadproductionplan/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts b/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts
new file mode 100644
index 000000000..01a9d1b4a
--- /dev/null
+++ b/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts
@@ -0,0 +1,119 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const QadProductionPlanMainRules = reactive({
+ workshop: [required],
+ woNumber: [required],
+ woLine: [required],
+})
+
+export const QadProductionPlanMain = useCrudSchemas(reactive([
+ {
+ label: '顺序',
+ field: 'displayOrder',
+ sort: 'custom',
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ },
+ {
+ label: '车间',
+ field: 'workshop',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '生产线',
+ field: 'productionLine',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '班次',
+ field: 'shift',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '班组',
+ field: 'team',
+ sort: 'custom',
+ },
+ {
+ label: '计划日期',
+ field: 'planDate',
+ sort: 'custom',
+ formatter: dateFormatter,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '明细列表',
+ field: 'details',
+ sort: 'custom',
+ },
+ {
+ label: '计划类型',
+ field: 'planType',
+ sort: 'custom',
+ form: {
+ component: 'SelectV2'
+ },
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ form: {
+ component: 'SelectV2'
+ },
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '订单号',
+ field: 'woNumber',
+ sort: 'custom',
+ },
+ {
+ label: '订单行',
+ field: 'woLine',
+ sort: 'custom',
+ },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isForm: false,
+ // table: {
+ // width: 150,
+ // fixed: 'right'
+ // }
+ // }
+]))