From 493ad659efc2054f3aba8a624bd35063a57c70c1 Mon Sep 17 00:00:00 2001 From: ljlong_2630 Date: Wed, 26 Jun 2024 09:57:01 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/eam/repairSparePartsRecord/index.ts | 67 +++++ src/api/eam/repairSparePartsRequest/index.ts | 68 +++++ .../eam/repairSparePartsRecord/index.vue | 244 +++++++++++++++++ .../repairSparePartsRecord.data.ts | 238 +++++++++++++++++ .../eam/repairSparePartsRequest/index.vue | 244 +++++++++++++++++ .../repairSparePartsRequest.data.ts | 251 ++++++++++++++++++ 6 files changed, 1112 insertions(+) create mode 100644 src/api/eam/repairSparePartsRecord/index.ts create mode 100644 src/api/eam/repairSparePartsRequest/index.ts create mode 100644 src/views/eam/repairSparePartsRecord/index.vue create mode 100644 src/views/eam/repairSparePartsRecord/repairSparePartsRecord.data.ts create mode 100644 src/views/eam/repairSparePartsRequest/index.vue create mode 100644 src/views/eam/repairSparePartsRequest/repairSparePartsRequest.data.ts diff --git a/src/api/eam/repairSparePartsRecord/index.ts b/src/api/eam/repairSparePartsRecord/index.ts new file mode 100644 index 000000000..d499696d8 --- /dev/null +++ b/src/api/eam/repairSparePartsRecord/index.ts @@ -0,0 +1,67 @@ +import request from '@/config/axios' + +export interface RepairSparePartsRecordVO { + id: number + number: string + sparePartsCode: string + qty: number + areaCode: string + locationCode: string + status: string + result: string + applyer: string + approver: number + approveContent: string + approveTime: Date + autoExamine: string + autoAgree: string + directCreateRecord: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询备件维修申请列表 +export const getRepairSparePartsRecordPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/repair-spare-parts-record/senior', data }) + } else { + return await request.get({ url: `/eam/repair-spare-parts-record/page`, params }) + } +} + +// 查询备件维修申请详情 +export const getRepairSparePartsRecord = async (id: number) => { + return await request.get({ url: `/eam/repair-spare-parts-record/get?id=` + id }) +} + +// 新增备件维修申请 +export const createRepairSparePartsRecord = async (data: RepairSparePartsRecordVO) => { + return await request.post({ url: `/eam/repair-spare-parts-record/create`, data }) +} + +// 修改备件维修申请 +export const updateRepairSparePartsRecord = async (data: RepairSparePartsRecordVO) => { + return await request.put({ url: `/eam/repair-spare-parts-record/update`, data }) +} + +// 删除备件维修申请 +export const deleteRepairSparePartsRecord = async (id: number) => { + return await request.delete({ url: `/eam/repair-spare-parts-record/delete?id=` + id }) +} + +// 导出备件维修申请 Excel +export const exportRepairSparePartsRecord = async (params) => { + return await request.download({ url: `/eam/repair-spare-parts-record/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/repair-spare-parts-record/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/repairSparePartsRequest/index.ts b/src/api/eam/repairSparePartsRequest/index.ts new file mode 100644 index 000000000..b99181ff9 --- /dev/null +++ b/src/api/eam/repairSparePartsRequest/index.ts @@ -0,0 +1,68 @@ +import request from '@/config/axios' + +export interface RepairSparePartsRequestVO { + id: number + number: string + sparePartsCode: string + qty: number + areaCode: string + locationCode: string + status: string + result: string + applyer: string + approver: number + approveContent: string + approveTime: Date + autoExamine: string + autoAgree: string + directCreateRecord: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number + repairCause: string +} + +// 查询备件维修申请列表 +export const getRepairSparePartsRequestPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/repair-spare-parts-request/senior', data }) + } else { + return await request.get({ url: `/eam/repair-spare-parts-request/page`, params }) + } +} + +// 查询备件维修申请详情 +export const getRepairSparePartsRequest = async (id: number) => { + return await request.get({ url: `/eam/repair-spare-parts-request/get?id=` + id }) +} + +// 新增备件维修申请 +export const createRepairSparePartsRequest = async (data: RepairSparePartsRequestVO) => { + return await request.post({ url: `/eam/repair-spare-parts-request/create`, data }) +} + +// 修改备件维修申请 +export const updateRepairSparePartsRequest = async (data: RepairSparePartsRequestVO) => { + return await request.put({ url: `/eam/repair-spare-parts-request/update`, data }) +} + +// 删除备件维修申请 +export const deleteRepairSparePartsRequest = async (id: number) => { + return await request.delete({ url: `/eam/repair-spare-parts-request/delete?id=` + id }) +} + +// 导出备件维修申请 Excel +export const exportRepairSparePartsRequest = async (params) => { + return await request.download({ url: `/eam/repair-spare-parts-request/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/repair-spare-parts-request/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/eam/repairSparePartsRecord/index.vue b/src/views/eam/repairSparePartsRecord/index.vue new file mode 100644 index 000000000..af8626c6d --- /dev/null +++ b/src/views/eam/repairSparePartsRecord/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/repairSparePartsRecord/repairSparePartsRecord.data.ts b/src/views/eam/repairSparePartsRecord/repairSparePartsRecord.data.ts new file mode 100644 index 000000000..b5ce90db8 --- /dev/null +++ b/src/views/eam/repairSparePartsRecord/repairSparePartsRecord.data.ts @@ -0,0 +1,238 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const RepairSparePartsRecordRules = reactive({ + number: [required], + sparePartsCode: [required], + qty: [required], + areaCode: [required], + locationCode: [required], + status: [required], + result: [required], + applyer: [required], + concurrencyStamp: [required] +}) + +export const RepairSparePartsRecord = useCrudSchemas(reactive([ + { + label: '单号', + field: 'number', + sort: 'custom', + isSearch: true + }, + { + label: '备件编号', + field: 'sparePartsCode', + sort: 'custom', + isSearch: true + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isSearch: true + }, + { + label: '库区编号', + field: 'areaCode', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '库位编号', + field: 'locationCode', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '流程状态', + field: 'status', + sort: 'custom', + isSearch: true, + form: { + component: 'Radio' + } + }, + { + label: '结果状态', + field: 'result', + sort: 'custom', + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '申请人', + field: 'applyer', + sort: 'custom', + isSearch: true + }, + { + label: '审核人', + field: 'approver', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '审核内容', + field: 'approveContent', + sort: 'custom', + isSearch: true, + form: { + component: 'Editor', + componentProps: { + valueHtml: '', + height: 200 + } + } + }, + { + label: '审核时间', + field: 'approveTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '自动审核', + field: 'autoExamine', + sort: 'custom', + isSearch: true + }, + { + label: '自动通过', + field: 'autoAgree', + sort: 'custom', + isSearch: true + }, + { + label: '直接生成记录', + field: 'directCreateRecord', + sort: 'custom', + isSearch: true + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isSearch: true + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '地点', + field: 'siteId', + sort: 'custom', + isSearch: true + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '删除人', + field: 'deleterId', + sort: 'custom', + isSearch: true + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/repairSparePartsRequest/index.vue b/src/views/eam/repairSparePartsRequest/index.vue new file mode 100644 index 000000000..873bb7a7e --- /dev/null +++ b/src/views/eam/repairSparePartsRequest/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/repairSparePartsRequest/repairSparePartsRequest.data.ts b/src/views/eam/repairSparePartsRequest/repairSparePartsRequest.data.ts new file mode 100644 index 000000000..d64c8d827 --- /dev/null +++ b/src/views/eam/repairSparePartsRequest/repairSparePartsRequest.data.ts @@ -0,0 +1,251 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const RepairSparePartsRequestRules = reactive({ + number: [required], + sparePartsCode: [required], + qty: [required], + areaCode: [required], + locationCode: [required], + status: [required], + result: [required], + applyer: [required], + concurrencyStamp: [required], + repairCause: [required] +}) + +export const RepairSparePartsRequest = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false + }, + { + label: '单号', + field: 'number', + sort: 'custom', + isSearch: true + }, + { + label: '备件编号', + field: 'sparePartsCode', + sort: 'custom', + isSearch: true + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isSearch: true + }, + { + label: '库区编号', + field: 'areaCode', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + } + }, + { + label: '库位编号', + field: 'locationCode', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + } + }, + { + label: '流程状态枚举0:待审核1:已撤回3:审核中4:已通过5:已驳回6:已完成', + field: 'status', + sort: 'custom', + isSearch: true, + form: { + component: 'Radio' + } + }, + { + label: '结果状态枚举:0待维修,1已废弃,2已修好', + field: 'result', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + } + }, + { + label: '申请人', + field: 'applyer', + sort: 'custom', + isSearch: true + }, + { + label: '审核人', + field: 'approver', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '审核内容', + field: 'approveContent', + sort: 'custom', + isSearch: true, + form: { + component: 'Editor', + componentProps: { + valueHtml: '', + height: 200 + } + } + }, + { + label: '审核时间', + field: 'approveTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '自动审核', + field: 'autoExamine', + sort: 'custom', + isSearch: true + }, + { + label: '自动通过', + field: 'autoAgree', + sort: 'custom', + isSearch: true + }, + { + label: '直接生成记录', + field: 'directCreateRecord', + sort: 'custom', + isSearch: true + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isSearch: true + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '地点', + field: 'siteId', + sort: 'custom', + isSearch: true + }, + { + label: '是否可用--默认TRUE', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '删除人', + field: 'deleterId', + sort: 'custom', + isSearch: true + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '维修原因', + field: 'repairCause', + sort: 'custom', + isSearch: true + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) From 310d31d3bc8babf977a487596237d3e8aef7516c Mon Sep 17 00:00:00 2001 From: ljlong_2630 Date: Mon, 15 Jul 2024 09:45:56 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equipmentSigning/equipmentSigning.data.ts | 105 +++++++++++++----- src/views/eam/equipmentSigning/index.vue | 14 ++- src/views/eam/toolMod/index.vue | 2 +- src/views/eam/toolMod/operateForm.vue | 30 +++-- src/views/eam/toolMod/toolMod.data.ts | 23 ++-- 5 files changed, 113 insertions(+), 61 deletions(-) diff --git a/src/views/eam/equipmentSigning/equipmentSigning.data.ts b/src/views/eam/equipmentSigning/equipmentSigning.data.ts index 2eb131ff6..2e472374a 100644 --- a/src/views/eam/equipmentSigning/equipmentSigning.data.ts +++ b/src/views/eam/equipmentSigning/equipmentSigning.data.ts @@ -5,6 +5,7 @@ import * as DeptApi from '@/api/system/dept' import * as UserApi from '@/api/system/user' import { EquipmentAccounts,EquipmentAccountsRules } from '../equipmentAccounts/equipmentAccounts.data' import * as EquipmentAccountsApi from '@/api/eam/equipmentAccounts' +import * as EquipmentSupplierApi from '@/api/eam/equipmentSupplier' import * as ProductionlineApi from '@/api/wms/productionline' import { Productionline } from '@/views/wms/basicDataManage/factoryModeling/productionline/productionline.data' import * as WorkshopApi from '@/api/wms/workshop' @@ -19,6 +20,8 @@ export interface User { nickname: string } + +const equipmentSupplierList = await EquipmentSupplierApi.getEquipmentSupplierNoPage({}) const allDeptList = await DeptApi.getSimpleDeptList() const deptList = ref([]) // 树形结构 const userList = ref([]) @@ -136,13 +139,55 @@ export const EquipmentSigning = useCrudSchemas(reactive([ label: '供应商编号', field: 'supplierCode', sort: 'custom', - isSearch: true + isSearch: false, + isForm: true, + isDetail: false, + isTable: false, + isTableForm: false, + form: { + component: 'Select', + componentProps: { + options: equipmentSupplierList, + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + disabled: true, + } + } }, + // { + // label: '供应商编号', + // field: 'supplierName', + // sort: 'custom', + // isSearch: false, + // isForm: true, + // isDetail: false, + // isTable: false, + // isTableForm: false, + // form: { + // component: 'Input', + // componentProps: { + // disabled: true + // } + // } + // }, { label: '供应商联系人', field: 'supplierPeople', sort: 'custom', - isSearch: true + isSearch: true, + form: { + component: 'Select', + componentProps: { + options: userList.value, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + disabled: true, + } + } }, { label: '供应商联系方式', @@ -296,34 +341,34 @@ export const EquipmentSigning = useCrudSchemas(reactive([ } }, }, - { - label: '产线编号', - field: 'lineCode', - sort: 'custom', - isSearch: true, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 - multiple:true, - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '生产线信息', // 查询弹窗标题 - searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类 - searchPage: ProductionlineApi.getProductionlinePage, // 查询弹窗所需分页方法 - searchCondition: [{ - key:'workshopCode', - value:'workshopCode', - message: '请填写车间代码!', - isMainValue: true - },{ - key: 'available', - value: 'TRUE', - isMainValue: false - }] - } - } - }, + // { + // label: '产线编号', + // field: 'lineCode', + // sort: 'custom', + // isSearch: true, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 + // multiple:true, + // searchField: 'code', // 查询弹窗赋值字段 + // searchTitle: '生产线信息', // 查询弹窗标题 + // searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类 + // searchPage: ProductionlineApi.getProductionlinePage, // 查询弹窗所需分页方法 + // searchCondition: [{ + // key:'workshopCode', + // value:'workshopCode', + // message: '请填写车间代码!', + // isMainValue: true + // },{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // } + // }, // { // label: '工序编号', // field: 'processCode', diff --git a/src/views/eam/equipmentSigning/index.vue b/src/views/eam/equipmentSigning/index.vue index d2968ff35..53b363c72 100644 --- a/src/views/eam/equipmentSigning/index.vue +++ b/src/views/eam/equipmentSigning/index.vue @@ -67,6 +67,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 UserApi from '@/api/system/user' +import * as EquipmentSupplierApi from '@/api/eam/equipmentSupplier' defineOptions({ name: 'EquipmentSigning' }) @@ -84,10 +85,17 @@ routeName.value = route.name const tableColumns = ref(EquipmentSigning.allSchemas.tableColumns) // 查询页面返回 -const searchTableSuccess = (formField, searchField, val, formRef) => { +const searchTableSuccess = async (formField, searchField, val, formRef) => { + const setV = {} + setV[formField] = val[0][searchField] + if(formField == 'equipmentCode'){ + setV['supplierCode'] = val[0]['supplierCode'] + const equipmentSupplierList = await EquipmentSupplierApi.getEquipmentSupplierNoPage({}) + const entry = equipmentSupplierList.find(item => item.number == val[0]['supplierCode']) + setV['supplierTelephone'] = entry.phone + setV['supplierPeople'] = Number(entry.contacts) + } nextTick(() => { - const setV = {} - setV[formField] = val[0][searchField] formRef.setValues(setV) }) } diff --git a/src/views/eam/toolMod/index.vue b/src/views/eam/toolMod/index.vue index 3df940dde..73ae1af75 100644 --- a/src/views/eam/toolMod/index.vue +++ b/src/views/eam/toolMod/index.vue @@ -57,7 +57,7 @@ - + diff --git a/src/views/eam/toolChangedRecord/toolChangedRecord.data.ts b/src/views/eam/toolChangedRecord/toolChangedRecord.data.ts new file mode 100644 index 000000000..b3001751d --- /dev/null +++ b/src/views/eam/toolChangedRecord/toolChangedRecord.data.ts @@ -0,0 +1,110 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as UserApi from '@/api/system/user' + +export interface User { + id: number, + nickname: string +} +// 表单校验 +export const ToolChangedRecordRules = reactive({ + code: [required], + name: [required], + concurrencyStamp: [required] +}) + +const userList = ref([]) +userList.value = await UserApi.getSimpleUserList() + +export const ToolChangedRecord = useCrudSchemas(reactive([ + { + label: '工装编号', + field: 'code', + sort: 'custom', + isSearch: true, + fixed: 'left' + }, + { + label: '工装名称', + field: 'name', + sort: 'custom', + isSearch: true + }, + { + label: '变更前状态', + field: 'statusBefore', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.DEVICE_STATUS, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + form: { + component: 'Select' + } + }, + { + label: '变更后状态', + field: 'statusAfter', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.DEVICE_STATUS, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + form: { + component: 'Select', + } + }, + { + label: '操作人', + field: 'operator', + sort: 'custom', + isSearch: true, + search: { + component: 'Select', + componentProps: { + options: userList.value, + optionsAlias: { + valueField: 'id', + labelField: 'nickname' + }, + filterable: true, + clearable: true + } + }, + }, + { + label: '操作时间', + field: 'operateTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + // { + // label: '操作', + // field: 'action', + // isForm: false, + // table: { + // width: 150, + // fixed: 'right' + // } + // } +])) diff --git a/src/views/eam/toolSigning/index.vue b/src/views/eam/toolSigning/index.vue new file mode 100644 index 000000000..abcad9423 --- /dev/null +++ b/src/views/eam/toolSigning/index.vue @@ -0,0 +1,280 @@ + + + diff --git a/src/views/eam/toolSigning/toolSigning.data.ts b/src/views/eam/toolSigning/toolSigning.data.ts new file mode 100644 index 000000000..32b8c320d --- /dev/null +++ b/src/views/eam/toolSigning/toolSigning.data.ts @@ -0,0 +1,487 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import { handleTreeToComponentOptions } from '@/utils/tree' +import * as DeptApi from '@/api/system/dept' +import * as UserApi from '@/api/system/user' +import { ToolAccounts,ToolAccountsRules } from '../toolAccounts/toolAccounts.data' +import * as ToolAccountsApi from '@/api/eam/toolAccounts' +import * as EquipmentSupplierApi from '@/api/eam/equipmentSupplier' +import * as BasicEamWorkshopApi from '@/api/eam/basicEamWorkshop' + + +export interface User { + id: number, + nickname: string +} + +const toolList = await ToolAccountsApi.getToolAccountsNoPage({}) +const workshopList = await BasicEamWorkshopApi.getBasicEamWorkshopNoPage({}) +const equipmentSupplierList = await EquipmentSupplierApi.getEquipmentSupplierNoPage({}) +const allDeptList = await DeptApi.getSimpleDeptList() +const deptList = ref([]) // 树形结构 +const userList = ref([]) +userList.value = await UserApi.getSimpleUserList() +// 加载部门树(默认格式) +deptList.value = handleTreeToComponentOptions(allDeptList) + +// 表单校验 +export const ToolSigningRules = reactive({ + toolCode: [required], + operationDate: [required], + operationer: [required], + operationDept: [required], + storageLocation: [required], + concurrencyStamp: [required] +}) + +export const ToolSigning = useCrudSchemas(reactive([ + { + label: '工装', + field: 'toolCode', + sort: 'custom', + isSearch: true, + isTable: true, + isForm: false, + isDetail: false, + isTableForm: false, + formatter: (_: Recordable, __: TableColumn, cellValue: string) => { + return toolList.find((item) => item.code == cellValue)?.name + }, + }, + { + label: '工装', + field: 'toolName', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择设备', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '设备信息', // 查询弹窗标题 + searchAllSchemas: ToolAccounts.allSchemas, // 查询弹窗所需类 + searchPage: ToolAccountsApi.getToolAccountsPage, // 查询弹窗所需分页方法 + searchCondition: + [{ + key: 'available', + value: 'TRUE', + isMainValue: false + },{ + key: 'status', + value: 'TOACCEPT', + isMainValue: false + }] + } + }, + }, + { + label: '验收日期', + field: 'operationDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '验收部门', + field: 'operationDept', + sort: 'custom', + isSearch: true, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return allDeptList.find((item) => item.id == cellValue)?.name + }, + form: { + component: 'TreeSelect', + componentProps: { // 假设deptList是部门数据列表 + data: deptList.value, + disabled: false, + placeholder: "请选择部门", + filterable: true, + multiple: false, + } + } + }, + { + label: '验收人', + field: 'operationer', + sort: 'custom', + isSearch: true, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userList.value.find((item) => item.id == cellValue)?.nickname + }, + form: { + component: 'Select', + componentProps: { // 假设deptList是部门数据列表 + options: userList.value, + optionsAlias: { + valueField: 'id', + labelField: 'nickname' + }, + disabled: false, + placeholder: "请先选择部门", + filterable: true, + multiple: false, + } + } + }, + { + label: '验收人联系方式', + field: 'telephone', + sort: 'custom', + isSearch: false + }, + { + label: '供应商编号', + field: 'supplierCode', + sort: 'custom', + isSearch: false, + isForm: true, + isDetail: false, + isTable: false, + isTableForm: false, + form: { + component: 'Select', + componentProps: { + options: equipmentSupplierList, + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + filterable: true, + disabled: true, + } + } + }, + // { + // label: '供应商编号', + // field: 'supplierName', + // sort: 'custom', + // isSearch: false, + // isForm: true, + // isDetail: false, + // isTable: false, + // isTableForm: false, + // form: { + // component: 'Input', + // componentProps: { + // disabled: true + // } + // } + // }, + { + label: '供应商联系人', + field: 'supplierPeople', + sort: 'custom', + isSearch: true, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userList.value.find((item) => item.id == cellValue)?.nickname + }, + form: { + component: 'Select', + componentProps: { + options: userList.value, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + disabled: true, + } + } + }, + { + label: '供应商联系方式', + field: 'supplierTelephone', + sort: 'custom', + isSearch: false, + isForm: true, + form: { + component: 'Input', + componentProps: { + disabled: true + } + } + }, + // { + // label: '流程状态', + // field: 'status', + // sort: 'custom', + // isSearch: true, + // dictType: DICT_TYPE.JOB_STATUS, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // form: { + // component: 'Select' + // } + // }, + // { + // label: '审核人', + // field: 'approver', + // sort: 'custom', + // isSearch: true, + // form: { + // component: 'InputNumber', + // value: 0 + // } + // }, + // { + // label: '审核内容', + // field: 'approveContent', + // sort: 'custom', + // isSearch: false, + // form: { + // component: 'Input', + // componentProps: { + // type: 'textarea', + // valueHtml: '', + // height: 200 + // } + // } + // }, + // { + // label: '审核时间', + // field: 'approveTime', + // sort: 'custom', + // formatter: dateFormatter, + // isSearch: false, + // search: { + // component: 'DatePicker', + // componentProps: { + // valueFormat: 'YYYY-MM-DD HH:mm:ss', + // type: 'daterange', + // defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + // } + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // type: 'datetime', + // valueFormat: 'x' + // } + // } + // }, + // { + // label: '自动审核', + // field: 'autoExamine', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '自动通过', + // field: 'autoAgree', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '直接生成记录', + // field: 'directCreateRecord', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + { + label: '存放位置描述', + field: 'storageLocation', + sort: 'custom', + isSearch: false, + isForm: true, + form: { + component: 'Input', + componentProps: { + type: 'textarea', + placeholder: '请输入存放位置描述' + } + } + }, + // { + // label: '所属厂区编号', + // field: 'factoryAreaCode', + // sort: 'custom', + // isSearch: false + // }, + { + label: '车间编号', + field: 'workshopCode', + sort: 'custom', + isSearch: true, + isForm: true, + formatter: (_: Recordable, __: TableColumn, cellValue: string) => { + return workshopList.find((item) => item.code == cellValue)?.name + }, + form: { + component: 'Select', + componentProps: { + options: workshopList, + placeholder: '请选择车间编号', + optionsAlias: { + valueField: 'code', + labelField: 'name' + } + } + } + }, + // { + // label: '产线编号', + // field: 'lineCode', + // sort: 'custom', + // isSearch: true, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 + // multiple:true, + // searchField: 'code', // 查询弹窗赋值字段 + // searchTitle: '生产线信息', // 查询弹窗标题 + // searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类 + // searchPage: ProductionlineApi.getProductionlinePage, // 查询弹窗所需分页方法 + // searchCondition: [{ + // key:'workshopCode', + // value:'workshopCode', + // message: '请填写车间代码!', + // isMainValue: true + // },{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // } + // }, + // { + // label: '工序编号', + // field: 'processCode', + // sort: 'custom', + // isSearch: true, + // form:{ + // componentProps: { + // isSearchList: true, + // searchListPlaceholder: '请选择工序代码', + // searchField: 'code', + // searchTitle: '工序信息', + // searchAllSchemas: Process.allSchemas, + // searchPage: ProcessApi.getProcessPage, + // searchCondition: [{ + // key:'productionLineCode', + // value:'lineCode', + // message: '请填写生产线代码!', + // isMainValue: true + // },{ + // key:'workshopCode', + // value:'workshopCode', + // message: '请填写车间代码!', + // isMainValue: true + // },{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // }, + // }, + // { + // label: '工位编号', + // field: 'workstationCode', + // sort: 'custom', + // isSearch: true, + // form:{ + // componentProps: { + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择工位', // 输入框占位文本 + // searchField: 'code', // 查询弹窗赋值字段 + // searchTitle: '工位信息', // 查询弹窗标题 + // searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类 + // searchPage: WorkStationApi.getWorkstationPage, // 查询弹窗所需分页方法 + // searchCondition: [{ + // key:'productionLineCode', + // value:'lineCode', + // message: '请填写生产线代码!', + // isMainValue: true + // },{ + // key:'workshopCode', + // value:'workshopCode', + // message: '请填写车间代码!', + // isMainValue: true + // },{ + // key:'available', + // value:'TRUE', + // isMainValue: false + // }] + // } + // }, + // }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false + }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: true, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '操作', + // field: 'action', + // isForm: false, + // table: { + // width: 150, + // fixed: 'right' + // } + // } +])) From ba6df9ec48f06ae24f546126e17ce69adac06805 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Wed, 17 Jul 2024 15:51:54 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E5=88=B6=E5=93=81=E6=8A=A5=E5=BA=9F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../productreceiptscrapRequestMain/index.vue | 2 +- .../productreceiptscrapRequestMain.data.ts | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue index a95bf54c1..664b1d5f9 100644 --- a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue +++ b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/index.vue @@ -686,7 +686,7 @@ const tableFormButton = async (val , row) => { bomModelVisible.value = true DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息' detatableDataBom.params = { - masterId: row.masterId + masterId: row.id } await getDetailListBom() } diff --git a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts index 7e3cc8a51..dc40e23b4 100644 --- a/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts +++ b/src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts @@ -32,6 +32,9 @@ import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplie import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' import * as ItemPackageApi from '@/api/wms/itempackage/index' +import {Location} from "@/views/wms/basicDataManage/factoryModeling/location/location.data"; +import * as LocationApi from "@/api/wms/location"; + const { t } = useI18n() // 国际化 // 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 @@ -877,6 +880,61 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive width: 150 }, }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择库位代码', + searchField: 'code', + searchTitle: '库位信息', + searchAllSchemas: Location.allSchemas, + searchPage: LocationApi.getLocationListByAreaAndBusinesstype, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'businessType', + value: 'ProductReceiptScrap', + isMainValue: false + },{ + key: 'isIn', + value: 'in', + isMainValue: false + }] + }, + form: { + // labelMessage: '信息提示说明!!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择库位代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库位信息', // 查询弹窗标题 + searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 + searchPage: LocationApi.getLocationListByAreaAndBusinesstype, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'businessType', + value: 'ProductReceiptScrap', + isMainValue: false + },{ + key: 'isIn', + value: 'in', + isMainValue: false + }] + } + } + }, { label: '物料名称', field: 'itemName', From 8cb1da3340648d788b82e2e011ea0e76b8265f7c Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Wed, 17 Jul 2024 16:31:07 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E5=8F=91=E8=BF=90=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=A4=B1=E5=8E=BB=E7=84=A6=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/saleDetail/index.ts | 4 + .../customerreturnRequestMain.data.ts | 76 +++++++++++++++++-- .../saleShipmentMain.data.ts | 16 ++-- .../stockupMainRequest.data.ts | 57 ++++++++++++-- 4 files changed, 133 insertions(+), 20 deletions(-) diff --git a/src/api/wms/saleDetail/index.ts b/src/api/wms/saleDetail/index.ts index 5c928c170..dcc17f21e 100644 --- a/src/api/wms/saleDetail/index.ts +++ b/src/api/wms/saleDetail/index.ts @@ -60,3 +60,7 @@ export const deleteSaleDetail = async (id: number) => { export const exportSaleDetail = async (params) => { return await request.download({ url: `/wms/sale-detail/export-excel`, params }) } + +export const getSaleDetailByCodes = async (params) => { + return await request.get({ url: `/wms/sale-detail/listByCodes`, params }) +} diff --git a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts index 8f442d8b0..586c9f476 100644 --- a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts +++ b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts @@ -100,7 +100,15 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -114,6 +122,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择发货记录单号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 @@ -144,7 +153,15 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ message: '请选择客户代码!', // 前置添加没填的提示语 isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 } - ] + ], + verificationParams: [{ + key: 'number', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -175,6 +192,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择客户月台代码', // 输入框占位文本 searchField: 'code', // 查询弹窗赋值字段 @@ -191,7 +209,15 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ value: 'customerCode', message: '请填写客户代码!', isMainValue: true - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -206,6 +232,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择承运商', // 输入框占位文本 searchField: 'code', // 查询弹窗赋值字段 @@ -216,7 +243,15 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -917,7 +952,8 @@ export const CustomerreturnRequestDetail = useCrudSchemas(reactive width: 150 }, isSearch: true, - tableForm:{ + tableForm: { + enterSearch:true, isInpuFocusShow: true, // 开启查询弹窗 searchListPlaceholder: '请选择到库位代码', searchField: 'toLocationCode', @@ -933,7 +969,15 @@ export const CustomerreturnRequestDetail = useCrudSchemas(reactive key: 'isIn', value: 'in', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 }, }, { @@ -1318,7 +1362,15 @@ export const CustomerReturnRequestDetailLabel = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -321,15 +329,11 @@ export const SaleShipmentDetail = useCrudSchemas(reactive([ table: { width: 200 }, - tableForm: { - type: 'Select', - disabled: true - }, form: { componentProps: { disabled: true } - } + }, }, { label: '销售订单行', diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts index e40c37748..373e50f03 100644 --- a/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts +++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts @@ -61,6 +61,7 @@ export const StockupMainRequest = useCrudSchemas(reactive([ form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch:true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择发货计划单号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 @@ -76,7 +77,15 @@ export const StockupMainRequest = useCrudSchemas(reactive([ key: 'status', value: '6', isMainValue: false - }] + }], + verificationParams: [{ + key: 'number', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -650,7 +659,17 @@ export const StockupDetailRequest = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationPage: ItemBasicApi.getItemListByCodes, // 校验数去焦点输入是否正确的方法 + isShowTableFormSearch: true, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 }, form: { componentProps: { @@ -664,7 +683,15 @@ export const StockupDetailRequest = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -754,7 +781,8 @@ export const StockupDetailRequest = useCrudSchemas(reactive([ table: { width: 120 }, - tableForm:{ + tableForm: { + enterSearch:true, isInpuFocusShow: true, // 开启查询弹窗 searchListPlaceholder: '请选择库位代码', searchField: 'location', @@ -770,10 +798,19 @@ export const StockupDetailRequest = useCrudSchemas(reactive([ key: 'areaType', value: confgiDataOne.areaType, isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 }, form: { componentProps: { + enterSearch: true, isSearchList: true, searchListPlaceholder: '请选择库位代码', searchField: 'location', @@ -789,7 +826,15 @@ export const StockupDetailRequest = useCrudSchemas(reactive([ key: 'areaType', value: confgiDataOne.areaType, isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, From 5eea276e38d9f993b2b2f3bea718128caa064697 Mon Sep 17 00:00:00 2001 From: songguoqiang <765017469@qq.com> Date: Wed, 17 Jul 2024 18:27:27 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95=E8=A1=8C=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereturnRecordMain/purchasereturnRecordMain.data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts index c31afc702..3dcbe84dc 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts @@ -663,7 +663,7 @@ export const PurchasereturnRecordDetail = useCrudSchemas(reactive( }, { label: '订单行', - field: 'poline', + field: 'poLine', sort: 'custom', table: { width: 150 From 018975d6916b86232b8c1f9ba0267724c7fe296e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B7=BB=E7=A0=96-JAVA=5CAdministrator?= <591141169@qq.com> Date: Thu, 18 Jul 2024 08:43:36 +0800 Subject: [PATCH 11/36] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/qms/inspectionJob/inspectionJobMain.data.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/qms/inspectionJob/inspectionJobMain.data.ts b/src/views/qms/inspectionJob/inspectionJobMain.data.ts index def7f46a5..9358b43cb 100644 --- a/src/views/qms/inspectionJob/inspectionJobMain.data.ts +++ b/src/views/qms/inspectionJob/inspectionJobMain.data.ts @@ -211,10 +211,11 @@ export const InspectionJobMain = useCrudSchemas( } }, { - label: '检验批次', + label: '批次', field: 'inspectionBatch', sort: 'custom', isSearch: false, + isDetail: true, form: { componentProps: { disabled: true From d5c65d6dece8aff1db827fbbaf25ebb87b746659 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 18 Jul 2024 10:14:51 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E9=87=8F=E4=BA=A7=E4=BB=B6=E5=A4=87?= =?UTF-8?q?=E4=BB=B6=E5=85=B3=E7=B3=BB=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../productionitemcodeSpareitemcode/index.ts | 50 ++++ .../productionitemcodeSpareitemcode/index.vue | 244 ++++++++++++++++++ .../productionitemcodeSpareitemcode.data.ts | 72 ++++++ 3 files changed, 366 insertions(+) create mode 100644 src/api/wms/productionitemcodeSpareitemcode/index.ts create mode 100644 src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue create mode 100644 src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts diff --git a/src/api/wms/productionitemcodeSpareitemcode/index.ts b/src/api/wms/productionitemcodeSpareitemcode/index.ts new file mode 100644 index 000000000..1bd325194 --- /dev/null +++ b/src/api/wms/productionitemcodeSpareitemcode/index.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +export interface ProductionitemcodeSpareitemcodeVO { + id: number + productionItemCode: string + spareItemCode: string + available: string + remark: string +} + +// 查询量产件备件关系列表 +export const getProductionitemcodeSpareitemcodePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productionitemcode-spareitemcode/senior', data }) + } else { + return await request.get({ url: `/wms/productionitemcode-spareitemcode/page`, params }) + } +} + +// 查询量产件备件关系详情 +export const getProductionitemcodeSpareitemcode = async (id: number) => { + return await request.get({ url: `/wms/productionitemcode-spareitemcode/get?id=` + id }) +} + +// 新增量产件备件关系 +export const createProductionitemcodeSpareitemcode = async (data: ProductionitemcodeSpareitemcodeVO) => { + return await request.post({ url: `/wms/productionitemcode-spareitemcode/create`, data }) +} + +// 修改量产件备件关系 +export const updateProductionitemcodeSpareitemcode = async (data: ProductionitemcodeSpareitemcodeVO) => { + return await request.put({ url: `/wms/productionitemcode-spareitemcode/update`, data }) +} + +// 删除量产件备件关系 +export const deleteProductionitemcodeSpareitemcode = async (id: number) => { + return await request.delete({ url: `/wms/productionitemcode-spareitemcode/delete?id=` + id }) +} + +// 导出量产件备件关系 Excel +export const exportProductionitemcodeSpareitemcode = async (params) => { + return await request.download({ url: `/wms/productionitemcode-spareitemcode/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productionitemcode-spareitemcode/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue new file mode 100644 index 000000000..94a81bb16 --- /dev/null +++ b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts new file mode 100644 index 000000000..2ebe01c0d --- /dev/null +++ b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts @@ -0,0 +1,72 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ProductionitemcodeSpareitemcodeRules = reactive({ + productionItemCode: [required], + available: [required], +}) + +export const ProductionitemcodeSpareitemcode = useCrudSchemas(reactive([ + { + label: '量产件', + field: 'productionItemCode', + sort: 'custom', + isSearch: true, + }, + { + label: '备件', + field: 'spareItemCode', + sort: 'custom', + isSearch: true, + }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) From d83c5aae3b9126752a77f582648319bbf75b59e3 Mon Sep 17 00:00:00 2001 From: TengXF <302828528@qq.com> Date: Thu, 18 Jul 2024 10:51:41 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=90=8E=E7=AB=AF=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemManage/itembasic/itembasic.data.ts | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts b/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts index 50d706355..fbb97b258 100644 --- a/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts @@ -64,27 +64,27 @@ export const Itembasic = useCrudSchemas(reactive([ width: 150 } , }, - { - label: '状态', - field: 'status', - sort: 'custom', - dictType: DICT_TYPE.ITEM_STATUS, - dictClass: 'string', - isForm: false, - isSearch: false, - isTable: false, - table: { - width: 100 - } , - form: { - component: 'Switch', - value: 'ENABLE', - componentProps: { - inactiveValue: 'DISABLE', - activeValue: 'ENABLE' - } - }, - }, + // { + // label: '状态', + // field: 'status', + // sort: 'custom', + // dictType: DICT_TYPE.ITEM_STATUS, + // dictClass: 'string', + // isForm: false, + // isSearch: false, + // isTable: false, + // table: { + // width: 100 + // } , + // form: { + // component: 'Switch', + // value: 'ENABLE', + // componentProps: { + // inactiveValue: 'DISABLE', + // activeValue: 'ENABLE' + // } + // }, + // }, { label: '计量单位', field: 'uom', @@ -498,9 +498,9 @@ export const rules = reactive({ { required: true, message: '请输入名称', trigger: 'blur' }, { max: 50, message: '不得超过50个字符', trigger: 'blur' }, ], - status: [ - { required: true, message: '请选择状态', trigger: 'change' }, - ], + // status: [ + // { required: true, message: '请选择状态', trigger: 'change' }, + // ], uom: [ { required: true, message: '请选择计量单位', trigger: 'change' }, ], From 77487115bd90e1e4fd0622a22ba026ba25900bb5 Mon Sep 17 00:00:00 2001 From: TengXF <302828528@qq.com> Date: Thu, 18 Jul 2024 10:52:21 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereturnJobMain.data.ts | 47 +++++++-------- .../purchasereturnRecordMain.data.ts | 60 +++++++++---------- 2 files changed, 53 insertions(+), 54 deletions(-) diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts index 253c42c5a..1fc7c1d07 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/purchasereturnJobMain.data.ts @@ -653,26 +653,6 @@ export const PurchasereturnJobMainRules = reactive({ * @returns {Array} 采购退货任务子表 */ export const PurchasereturnJobDetail = useCrudSchemas(reactive([ - { - label: '从货主代码', - field: 'fromOwnerCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault: 17, - hiddenInMain:true, - }, - { - label: '到货主代码', - field: 'toOwnerCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault: 17, - hiddenInMain:true, - }, { label: '包装号', field: 'packingNumber', @@ -758,17 +738,36 @@ export const PurchasereturnJobDetail = useCrudSchemas(reactive([ sortTableDefault: 15, hiddenInMain:true, }, + // { + // label: '到库位代码', + // field: 'toLocationCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // sortTableDefault: 15, + // hiddenInMain:true, + // }, { - label: '到库位代码', - field: 'toLocationCode', + label: '从货主代码', + field: 'fromOwnerCode', sort: 'custom', table: { width: 150 }, - sortTableDefault: 15, + sortTableDefault: 16, + hiddenInMain:true, + }, + { + label: '到货主代码', + field: 'toOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + sortTableDefault: 16, hiddenInMain:true, }, - { label: '订单号', field: 'poNumber', diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts index 3dcbe84dc..ef0a33ad3 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts @@ -569,16 +569,16 @@ export const PurchasereturnRecordDetail = useCrudSchemas(reactive( sortTableDefault: 1009, hiddenInMain: true }, - { - label: '到库位代码', - field: 'toLocationCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault: 1009, - hiddenInMain: true - }, + // { + // label: '到库位代码', + // field: 'toLocationCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // sortTableDefault: 1009, + // hiddenInMain: true + // }, { label: '从库位组代码', field: 'fromLocationGroupCode', @@ -589,16 +589,16 @@ export const PurchasereturnRecordDetail = useCrudSchemas(reactive( sortTableDefault: 1010, hiddenInMain: true }, - { - label: '到库位组代码', - field: 'toLocationGroupCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault: 1010, - hiddenInMain: true - }, + // { + // label: '到库位组代码', + // field: 'toLocationGroupCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // sortTableDefault: 1010, + // hiddenInMain: true + // }, { label: '从库区代码', field: 'fromAreaCode', @@ -609,16 +609,16 @@ export const PurchasereturnRecordDetail = useCrudSchemas(reactive( sortTableDefault: 1010, hiddenInMain: true }, - { - label: '到库区代码', - field: 'toAreaCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault: 1010, - hiddenInMain: true - }, + // { + // label: '到库区代码', + // field: 'toAreaCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // sortTableDefault: 1010, + // hiddenInMain: true + // }, { label: '从货主代码', field: 'fromOwnerCode', From 1a32a447f89fa0c520e3f31fc2fa63f2a9b43eaa Mon Sep 17 00:00:00 2001 From: zhaoyiran Date: Thu, 18 Jul 2024 11:04:02 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E8=AE=A1=E6=95=B0=E5=99=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=8B=E4=B8=80=E9=98=B6=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/qms/counter/index.ts | 4 +++ src/views/qms/counter/counter.data.ts | 37 ++++++++++++++++++++------- src/views/qms/counter/index.vue | 10 ++++++-- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/api/qms/counter/index.ts b/src/api/qms/counter/index.ts index cd6d8e2a9..9ae69ff10 100644 --- a/src/api/qms/counter/index.ts +++ b/src/api/qms/counter/index.ts @@ -60,3 +60,7 @@ export const exportCounter = async (params) => { export const importTemplate = () => { return request.download({ url: '/qms/counter/get-import-template' }) } + +export const getNextStage = async (id:number) => { + return await request.get({ url: `/qms/counter/getNextStage?id=` + id}) +} diff --git a/src/views/qms/counter/counter.data.ts b/src/views/qms/counter/counter.data.ts index 96a3cb3ea..9723b65a8 100644 --- a/src/views/qms/counter/counter.data.ts +++ b/src/views/qms/counter/counter.data.ts @@ -21,6 +21,7 @@ export const Counter = useCrudSchemas( sort: 'custom', isSearch: true, fixed: 'left', + isForm: false, table: { fixed: 'left', width: 175 @@ -32,6 +33,7 @@ export const Counter = useCrudSchemas( sort: 'custom', isSearch: true, dictType: DICT_TYPE.INSPECTION_TYPE, + isForm: false, table: { width: 175 } @@ -41,6 +43,7 @@ export const Counter = useCrudSchemas( field: 'supplierCode', sort: 'custom', isSearch: true, + isForm: false, table: { width: 175 } @@ -50,6 +53,7 @@ export const Counter = useCrudSchemas( field: 'qualifiedTimes', sort: 'custom', isSearch: false, + isForm: false, table: { width: 140 } @@ -59,6 +63,7 @@ export const Counter = useCrudSchemas( field: 'lastQualifiedBatch', sort: 'custom', isSearch: false, + isForm: false, table: { width: 140 } @@ -69,6 +74,7 @@ export const Counter = useCrudSchemas( sort: 'custom', formatter: dateFormatter, isSearch: true, + isForm: false, search: { component: 'DatePicker', componentProps: { @@ -93,6 +99,7 @@ export const Counter = useCrudSchemas( field: 'unqualifiedTimes', sort: 'custom', isSearch: false, + isForm: false, form: { component: 'InputNumber', value: 0 @@ -106,6 +113,7 @@ export const Counter = useCrudSchemas( field: 'lastUnqualifiedBatch', sort: 'custom', isSearch: false, + isForm: false, form: { component: 'InputNumber', value: 0 @@ -120,6 +128,7 @@ export const Counter = useCrudSchemas( sort: 'custom', formatter: dateFormatter, isSearch: false, + isForm: false, search: { component: 'DatePicker', componentProps: { @@ -144,6 +153,16 @@ export const Counter = useCrudSchemas( field: 'nextStage', sort: 'custom', isSearch: false, + form:{ + component: 'Select', + componentProps: { + options:[], + optionsAlias: { + labelField: 'stage', + valueField: 'stage' + } + } + }, table: { width: 140 } @@ -213,14 +232,14 @@ export const Counter = useCrudSchemas( } }, - // { - // label: '操作', - // field: 'action', - // isForm: false, - // table: { - // width: 150, - // fixed: 'right' - // } - // } + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } ]) ) diff --git a/src/views/qms/counter/index.vue b/src/views/qms/counter/index.vue index d58b262cf..943033c8e 100644 --- a/src/views/qms/counter/index.vue +++ b/src/views/qms/counter/index.vue @@ -134,7 +134,7 @@ const buttonBaseClick = (val, item) => { // 列表-操作按钮 const butttondata = [ - // defaultButtons.mainListEditBtn({hasPermi:'qms:counter:update'}), // 编辑 + defaultButtons.mainListEditBtn({hasPermi:'qms:counter:update'}), // 编辑 // defaultButtons.mainListDeleteBtn({hasPermi:'qms:counter:delete'}), // 删除 ] @@ -149,7 +149,13 @@ const buttonTableClick = async (val, row) => { /** 添加/修改操作 */ const basicFormRef = ref() -const openForm = (type: string, row?: any) => { + +const openForm = async (type: string, row?: any) => { + for (const item of Counter.allSchemas.formSchema) { + if (item.field === 'nextStage') { + item.componentProps.options = await CounterApi.getNextStage(row.id) + } + } basicFormRef.value.open(type, row) } From cb44c5bf955eeedcf5d66b9673d85d742bc4519c Mon Sep 17 00:00:00 2001 From: bjang03 <259278618@qq.com> Date: Thu, 18 Jul 2024 11:18:51 +0800 Subject: [PATCH 16/36] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=20HL-4248?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../countRecordMain/countRecordMain.data.ts | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts b/src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts index a130cb322..f94821a4a 100644 --- a/src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts +++ b/src/views/wms/countManage/count/countRecordMain/countRecordMain.data.ts @@ -155,27 +155,27 @@ export const CountRecordMain = useCrudSchemas(reactive([ } }, }, - { - label: '生效日期', - field: 'activeDate', - formatter: dateFormatter2, - detail: { - dateFormat: 'YYYY-MM-DD' - }, - sort: 'custom', - table: { - width: 180 - }, - form: { - component: 'DatePicker', - componentProps: { - style: {width: '100%'}, - type: 'date', - dateFormat: 'YYYY-MM-DD', - valueFormat: 'x', - } - }, - }, + // { + // label: '生效日期', + // field: 'activeDate', + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: {width: '100%'}, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x', + // } + // }, + // }, { label: '业务类型', field: 'businessType', From baa792be9dc2fc43ab745645ba57f325c94d3e3a Mon Sep 17 00:00:00 2001 From: wangyufei <2267742828@qq.com> Date: Thu, 18 Jul 2024 11:48:57 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E8=AF=A2=E8=AF=81=E5=87=BD=E8=B0=83?= =?UTF-8?q?=E8=8A=82=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/supplierApbalanceMain/index.ts | 2 +- src/components/Detail/src/Detail.vue | 14 +- src/components/TableFormAdjustment/index.ts | 3 + .../src/AdjustmentDialog.vue | 63 +++ .../src/TableFormAdjustment.vue | 442 ++++++++++++++++++ .../supplierApbalanceMain/index.vue | 47 +- 6 files changed, 552 insertions(+), 19 deletions(-) create mode 100644 src/components/TableFormAdjustment/index.ts create mode 100644 src/components/TableFormAdjustment/src/AdjustmentDialog.vue create mode 100644 src/components/TableFormAdjustment/src/TableFormAdjustment.vue diff --git a/src/api/wms/supplierApbalanceMain/index.ts b/src/api/wms/supplierApbalanceMain/index.ts index eb43a9d37..1eed92870 100644 --- a/src/api/wms/supplierApbalanceMain/index.ts +++ b/src/api/wms/supplierApbalanceMain/index.ts @@ -47,7 +47,7 @@ export const createSupplierApbalanceMain = async (data: SupplierApbalanceMainVO) } // 修改供应商余额明细主 -export const updateSupplierApbalanceMain = async (data: SupplierApbalanceMainVO) => { +export const updateSupplierApbalanceMain = async (data: any) => { return await request.put({ url: `/wms/supplier-apbalance-main/update`, data }) } diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue index df9993b8e..005429997 100644 --- a/src/components/Detail/src/Detail.vue +++ b/src/components/Detail/src/Detail.vue @@ -29,7 +29,7 @@ -->
+ [] }, + slotDetailTabList:{ + type:Array, + required: false, + default: () => [] + }, //主表单独操作--明细左上角新增按钮 mainSubmitCreateApi:{ type: Boolean, @@ -441,6 +447,10 @@ if (props.isBasic == true) { ] } } +// 插槽详情 +if(props.slotDetailTabList){ + tabsList.value = [...tabsList?.value,...props.slotDetailTabList] +} let otherList = [...props.annexTable,{ diff --git a/src/components/TableFormAdjustment/index.ts b/src/components/TableFormAdjustment/index.ts new file mode 100644 index 000000000..d078332ca --- /dev/null +++ b/src/components/TableFormAdjustment/index.ts @@ -0,0 +1,3 @@ +import TableFormAdjustment from './src/TableFormAdjustment.vue' + +export { TableFormAdjustment } diff --git a/src/components/TableFormAdjustment/src/AdjustmentDialog.vue b/src/components/TableFormAdjustment/src/AdjustmentDialog.vue new file mode 100644 index 000000000..9494e959a --- /dev/null +++ b/src/components/TableFormAdjustment/src/AdjustmentDialog.vue @@ -0,0 +1,63 @@ + + + + \ No newline at end of file diff --git a/src/components/TableFormAdjustment/src/TableFormAdjustment.vue b/src/components/TableFormAdjustment/src/TableFormAdjustment.vue new file mode 100644 index 000000000..0a9c01fbe --- /dev/null +++ b/src/components/TableFormAdjustment/src/TableFormAdjustment.vue @@ -0,0 +1,442 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/supplierManage/supplierApbalance/supplierApbalanceMain/index.vue b/src/views/wms/supplierManage/supplierApbalance/supplierApbalanceMain/index.vue index 42b27103a..26ff5eed0 100644 --- a/src/views/wms/supplierManage/supplierApbalance/supplierApbalanceMain/index.vue +++ b/src/views/wms/supplierManage/supplierApbalance/supplierApbalanceMain/index.vue @@ -61,10 +61,22 @@ :detailButtonIsShowAdd=false :detailButtonIsShowEdit=false :detailButtonIsShowDelete=false - /> + :slotDetailTabList="[ + { + label: '回调函明细', + prop: 'adjustment' + } + ]" + > + + + +