diff --git a/src/api/mes/dismantlingDetail/index.ts b/src/api/mes/dismantlingDetail/index.ts new file mode 100644 index 000000000..e9baec03e --- /dev/null +++ b/src/api/mes/dismantlingDetail/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface DismantlingDetailVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + mainBiilno: string + materialCode: string + materialStauts: string + materialProcessstauts: string +} + +// 查询报废拆解明细列表 +export const getDismantlingDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/dismantling-detail/senior', data }) + } else { + return await request.get({ url: `/mes/dismantling-detail/page`, params }) + } +} + +// 查询报废拆解明细详情 +export const getDismantlingDetail = async (id: number) => { + return await request.get({ url: `/mes/dismantling-detail/get?id=` + id }) +} + +// 新增报废拆解明细 +export const createDismantlingDetail = async (data: DismantlingDetailVO) => { + return await request.post({ url: `/mes/dismantling-detail/create`, data }) +} + +// 修改报废拆解明细 +export const updateDismantlingDetail = async (data: DismantlingDetailVO) => { + return await request.put({ url: `/mes/dismantling-detail/update`, data }) +} + +// 删除报废拆解明细 +export const deleteDismantlingDetail = async (id: number) => { + return await request.delete({ url: `/mes/dismantling-detail/delete?id=` + id }) +} + +// 导出报废拆解明细 Excel +export const exportDismantlingDetail = async (params) => { + return await request.download({ url: `/mes/dismantling-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/dismantling-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/ordermonthplan/index.ts b/src/api/mes/ordermonthplan/index.ts index daf0c42ea..b2b77a7d3 100644 --- a/src/api/mes/ordermonthplan/index.ts +++ b/src/api/mes/ordermonthplan/index.ts @@ -108,3 +108,11 @@ export const updateMesOrderMonthSub = async (data: MesOrderMonthSubVO) => { export const deleteMesOrderMonthSub = async (id: number) => { return await request.delete({ url: `/plan/mes-order-month-sub/delete?id=` + id }) } +export interface MesOrderMonthSubBreakdownReqVO{ + planMasterId: string + id: number +} +// 拆解为日计划 +export const breakdown = async (data: MesOrderMonthSubBreakdownReqVO) => { + return await request.post({ url: `/plan/mes-order-month-sub/breakdown`,data}) +} diff --git a/src/api/qms/aql/index.ts b/src/api/qms/aql/index.ts index e8726a613..dda72b699 100644 --- a/src/api/qms/aql/index.ts +++ b/src/api/qms/aql/index.ts @@ -101,3 +101,7 @@ export const exportAql = async (params) => { export const importTemplate = () => { return request.download({ url: '/qms/aql/get-import-template' }) } + +export const getSamplingScheme = async () => { + return await request.get({ url: `/qms/sampling-scheme/get-available-list`}) +} diff --git a/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts b/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts index db265c38d..aeb223f30 100644 --- a/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts +++ b/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts @@ -67,7 +67,7 @@ export const importTemplate = () => { export const publishInspectionRecordMain = async (data ) => { return await request.put({ url: `/qms/inspection-record-main/publish`, data }) } -//查询检验申请列表 +//查询包装列表 export const getInspectionRecordPackageList = async (id: number) => { return await request.get({ url: `/qms/inspection-record-package/list?masterId=` + id }) } \ No newline at end of file diff --git a/src/api/qms/samplingProcess/index.ts b/src/api/qms/samplingProcess/index.ts index 9f3f57dca..9fcdcd20f 100644 --- a/src/api/qms/samplingProcess/index.ts +++ b/src/api/qms/samplingProcess/index.ts @@ -1,4 +1,5 @@ import request from '@/config/axios' +import { validatePercent } from '@/utils/validator' export interface SamplingProcessVO { id: number @@ -7,10 +8,15 @@ export interface SamplingProcessVO { sampleType: string evaluationMode: string sampleSize: number - sampleProgCode: number + sampleProgCode: String available: string } +const rules = ref({ + sampleSize:[ + {validator:validatePercent,message:'百分比范围 0 ~ 100', trigger:'blur'} + ] +}) // 查询采样过程列表 export const getSamplingProcessPage = async (params) => { if (params.isSearch) { diff --git a/src/api/qms/selectedProject/index.ts b/src/api/qms/selectedProject/index.ts index a32d54b55..941fc48e4 100644 --- a/src/api/qms/selectedProject/index.ts +++ b/src/api/qms/selectedProject/index.ts @@ -54,4 +54,10 @@ export const exportSelectedProject = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/qms/selected-project/get-import-template' }) +} + + +// 查询选定集项目列表 +export const getSelectedProjectNoPage = async (params) => { + return await request.get({ url: `/qms/selected-project/noPage`, params }) } \ No newline at end of file diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue index 3971d6463..5f7a5e26c 100644 --- a/src/components/Detail/src/Detail.vue +++ b/src/components/Detail/src/Detail.vue @@ -713,6 +713,7 @@ const opensearchTable = ( // 列表-操作按钮事件 const buttonTableClick = async (val, row) => { + debugger if (val == 'edit') { // 编辑 if(props.isOpenSearchTable){ diff --git a/src/utils/dict.ts b/src/utils/dict.ts index a29a1fd4b..ab14d1b02 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -312,6 +312,10 @@ export enum DICT_TYPE { REWORK_STATUS='rework_status',//返工返修状态:待返修,返修中,返修完成 REWORK_REPLACE_FLAG = 'rework_replace_flag',//是否有替换件 DISMANTLING_BILL_TYPE = 'dismantling_bill_type',//工单类型 + DISMANTLING_MATERIAL_STATUS = 'dismantling_material_status',//报废拆解物料状态 + DISMANTLING_MATERIAL_HANDLE_STATUS = 'dismantling_material_handle_status',//报废拆解处理状态 + + SUPPLIERINVOICE_REQUEST_STATUS = 'supplierinvoice_request_status', //发票申请状态 SUPPLIERINVOICE_STATUS = 'supplierinvoice_status', //待开票审核状态 } diff --git a/src/utils/validator.ts b/src/utils/validator.ts index 490cd75e7..4bb0e51d0 100644 --- a/src/utils/validator.ts +++ b/src/utils/validator.ts @@ -748,6 +748,17 @@ export function validateYS(rule, value, callback) { callback() } } +// 校验百分比 +export function validatePercent(rule, value, callback){ + if (!value) { + return callback(new Error('百分比不能为空')) + } else { + if(value < 0 || value > 100){ + return callback(new Error('百分比范围 0 ~ 100')) + } + callback() + } +} export default { validateCode, @@ -780,5 +791,6 @@ export default { validateName, validateChargeperson, validateYS, - validateMaxNumber5 + validateMaxNumber5, + validatePercent } diff --git a/src/views/mes/dismantlingMain/dismantlingMain.data.ts b/src/views/mes/dismantlingMain/dismantlingMain.data.ts index 9e09bf0bb..7de151710 100644 --- a/src/views/mes/dismantlingMain/dismantlingMain.data.ts +++ b/src/views/mes/dismantlingMain/dismantlingMain.data.ts @@ -3,7 +3,7 @@ import { dateFormatter } from '@/utils/formatTime' import {Itembasic} from "@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data"; import * as ItembasicApi from "@/api/wms/itembasic"; -// 表单校验 +// 主表单校验 export const DismantlingMainRules = reactive({ productionCode: [required], workbillType: [required], @@ -175,3 +175,182 @@ export const DismantlingMain = useCrudSchemas(reactive([ } } ])) + +export const DismantlingDetail = useCrudSchemas(reactive([ + { + label: '删除时间', + field: 'deleteTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm: false, + isDetail: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: 'id', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'Radio' + }, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm: false, + isDetail: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')] + } + }, + }, + { + label: '删除用户名', + field: 'deleter', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '位置ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '单据编码', + field: 'mainBiilno', + sort: 'custom', + isSearch: true, + isForm: false, + isTable: false, + table: { + width: 150, + fixed: 'right' + } + }, + { + label: '物料编码', + field: 'materialCode', + sort: 'custom', + isSearch: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '物料编码', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchField: 'code', // 查询弹窗赋值字段 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'type', + action: 'in', // 查询拼接条件 + isSearch: true, // 使用自定义拼接条件 + value: 'BCP,CCP',//,SEMI] + isMainValue: false + }] + } + } + }, + { + label: '物料状态', + field: 'materialStauts', + sort: 'custom', + dictType: DICT_TYPE.DISMANTLING_MATERIAL_STATUS, + dictClass: 'string', + isSearch: true, + }, + { + label: '处理状态', + field: 'materialProcessstauts', + dictType: DICT_TYPE.DISMANTLING_MATERIAL_HANDLE_STATUS, + dictClass: 'string', + sort: 'custom', + isSearch: true, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 子表单校验 +export const DismantlingDetailRules = reactive({ + materialCode: [required], + materialStauts: [required], + materialProcessstauts: [required], +}) diff --git a/src/views/mes/dismantlingMain/index.vue b/src/views/mes/dismantlingMain/index.vue index bf517c993..d617b45e1 100644 --- a/src/views/mes/dismantlingMain/index.vue +++ b/src/views/mes/dismantlingMain/index.vue @@ -28,7 +28,7 @@ v-model:sort="tableObject.sort" > @@ -51,7 +51,21 @@ /> - + @@ -59,8 +73,9 @@