From a4ee6ba0ca28833cbbb8cf0e675561b10fa4c1af Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 12 九月 2024 01:23:40 +0800 Subject: [PATCH] 规则维护更新 --- src/views/tigerprojects/system/lowcode/entityts/BAS_ITEM_CUST.ts | 88 ++++++++++++----- src/views/tigerprojects/bas/MaterialInfo/index.vue | 15 ++- src/views/tigerprojects/system/lowcode/high/dtl.vue | 14 +- src/api/tigerapi/mes/mesApi.ts | 3 src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts | 5 src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO_BATCH.ts | 58 +++++++---- src/api/tigerapi/mes/wo.ts | 16 +++ src/api/tigerapi/model/mesModel.ts | 35 +++++++ src/views/components/CustModal.vue | 7 9 files changed, 174 insertions(+), 67 deletions(-) diff --git a/src/api/tigerapi/mes/mesApi.ts b/src/api/tigerapi/mes/mesApi.ts index 4feab4d..bcd4887 100644 --- a/src/api/tigerapi/mes/mesApi.ts +++ b/src/api/tigerapi/mes/mesApi.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-04-27 15:54:50 * @LastEditors: Ben Lin - * @LastEditTime: 2024-09-11 19:32:57 + * @LastEditTime: 2024-09-11 23:13:42 */ export enum mesApi { GetRoute = '/MES/GetRoute', @@ -32,6 +32,7 @@ DeleteWoRoute = '/MES/DeleteWoRoute', DeleteProdRoute = '/MES/DeleteProdRoute', UpdateWoStatus = '/MES/UpdateWoStatus', + UpdateWoBatchStatus = '/MES/UpdateWoBatchStatus', SaveLabelTemplate = '/MES/SaveLabelTemplate', DeleteLabelTemplate = '/MES/DeleteLabelTemplate', } diff --git a/src/api/tigerapi/mes/wo.ts b/src/api/tigerapi/mes/wo.ts index 20bb852..ab321b3 100644 --- a/src/api/tigerapi/mes/wo.ts +++ b/src/api/tigerapi/mes/wo.ts @@ -100,6 +100,22 @@ return data; }; +/** + * @description: 宸ュ崟鎵规鐘舵�佹洿鏂� + * @param {BizMesWoInput} params + * @return {*} + */ +export const UpdateWoBatchStatus = async (params: BizMesWoInput) => { + const data = await defHttp.post( + { url: mesApi.UpdateWoBatchStatus, params: genAction('', params) }, + { + errorMessageMode: 'none', + isTransformResponse: false, + }, + ); + return data; +}; + /* * 鍒犻櫎宸ュ崟 */ diff --git a/src/api/tigerapi/model/mesModel.ts b/src/api/tigerapi/model/mesModel.ts index 2643ffe..f0ec61a 100644 --- a/src/api/tigerapi/model/mesModel.ts +++ b/src/api/tigerapi/model/mesModel.ts @@ -314,6 +314,7 @@ export interface BizMesWoInput { WorkOrder: string; + WoBatch: string; UserId: string; Status: number; RouteStatus: number; @@ -457,6 +458,40 @@ PkgProd: BAS_PKG_PROD[]; } +export interface BAS_ITEM { + ID: string; + CREATE_TIME: Date; + CREATE_USER: string; + UPDATE_TIME: Date; + UPDATE_USER: string; + GHOST_ROW: boolean; + AUTH_ORG: string; + AUTH_PROD: string; + AUTH_WH: string; + ITEM_CODE: string; + ITEM_NAME: string; + ITEM_DESC: string; + ITEM_TYPE: string; + ITEM_VER: string; + SPEC: string; + SPEC_WH: string; + COLOR: string; + UNIT: string; + IS_PROD: string; + PROD_TYPE: string; + CUST_PROD_CODE: string; + IS_ACTIVE: string; + CTRL_MODE: string; + RELEASE_TIME: Date; + EFFECTIVE_TIME: Date; + VALIDITY_DAYS: number; + DLVY_TYPE: number; + ENABLE_FIFO: string; + RULE_CODE: string; + REMARK: string; +} + export interface BizBasItemRuleInput { + Item: BAS_ITEM; ItemCusts: BAS_ITEM_CUST[]; } diff --git a/src/views/components/CustModal.vue b/src/views/components/CustModal.vue index 9f1cc14..4470946 100644 --- a/src/views/components/CustModal.vue +++ b/src/views/components/CustModal.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-05 15:46:07 * @LastEditors: Ben Lin - * @LastEditTime: 2024-08-22 12:00:25 + * @LastEditTime: 2024-09-11 23:38:35 --> <template> <BasicModal @@ -102,7 +102,7 @@ emit('modalInner', dtlSlots.value, async () => { await nextTick(); - //寰幆琛ㄥ崟鍚嶆暟缁勶紝鎿嶄綔鍚勮〃鍗曞瓧娈� + /* 寰幆琛ㄥ崟鍚嶆暟缁勶紝鎿嶄綔鍚勮〃鍗曞瓧娈� */ formElName.value.forEach((name) => { if (!isNullOrUnDef(useFormData.value[name])) { useFormData.value[name][1]['resetFields'](); @@ -114,7 +114,7 @@ } }); }); - //鍒濆鍖栨柟娉曡嚜瀹氫箟 + /* 鍒濆鍖栨柟娉曡嚜瀹氫箟 */ if (!isNullOrEmpty(data?.initFnName)) { initFnName.value = data?.initFnName; let param: CustModalParams = { @@ -124,6 +124,7 @@ others: data?.others, FnName: initFnName.value[cType.value], initFnName: '', + data: ref<any[]>([]) }; CustFunc(param); } diff --git a/src/views/tigerprojects/bas/MaterialInfo/index.vue b/src/views/tigerprojects/bas/MaterialInfo/index.vue index 28595b2..aa7b5a0 100644 --- a/src/views/tigerprojects/bas/MaterialInfo/index.vue +++ b/src/views/tigerprojects/bas/MaterialInfo/index.vue @@ -36,7 +36,7 @@ import { onMounted, ref } from 'vue'; import { getRoleButtons } from '/@/api/sys/menu'; import { isNullOrEmpty } from '/@/utils/is'; -import { useUserStore } from '/@/store/modules/user'; + import { useUserStore } from '/@/store/modules/user'; const go = useGo(); const { currentRoute } = useRouter(); @@ -100,7 +100,7 @@ }; } } - if(x['DO_METHOD'] == 'goRule'){ + if (x['DO_METHOD'] == 'goRule') { _click = goRule.bind(null, record); } actionItem.push({ @@ -108,7 +108,7 @@ onClick: _click, color: color, popConfirm: _popConfirm, - name: '' + name: '', }); } }); @@ -156,7 +156,10 @@ Title: `缂栬緫鐗╂枡鏉$爜瑙勫垯锛�${record['ITEM_CODE']}`, IsExist: 'RULE_CODE', IsID: false, - crudColSlots: {BAS_ITEM_CUST:['BAS_CUSTOMER1add', 'BAS_CODE_RULE1add']} /* 澧炲垹鏀硅〃鍗曞瓧娈电殑鎻掓Ы鍒楄〃锛屼竴鑸敤浜庡脊鍑洪�夋嫨妗嗘寜閽� */, + crudColSlots: { + BAS_ITEM_CUST: ['BAS_CUSTOMER1add', 'BAS_CODE_RULE1add'], + } /* 澧炲垹鏀硅〃鍗曞瓧娈电殑鎻掓Ы鍒楄〃锛屼竴鑸敤浜庡脊鍑洪�夋嫨妗嗘寜閽� */, + colSlotsInHigh: ['BAS_CODE_RULE1add'], drawers: [ { name: 'BAS_ITEM_CUST', @@ -171,7 +174,9 @@ // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage sessionStorage.removeItem(`${id.SessionName}_params`); sessionStorage.setItem(`${id.SessionName}_params`, encodeURI(JSON.stringify(id))); - go(`/BAS_ITEM_CUST/High/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`); + go( + `/BAS_ITEM_CUST/High/${encodeURI(JSON.stringify({ sName: id.SessionName, Name: id.Name }))}`, + ); } onMounted(async () => { diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_ITEM_CUST.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_ITEM_CUST.ts index 35e8f54..d233f83 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_ITEM_CUST.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_ITEM_CUST.ts @@ -4,18 +4,19 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-09-11 19:33:59 + * @LastEditTime: 2024-09-12 01:13:02 */ import { Ref, h, unref } from 'vue'; -import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; -import { Tag } from 'ant-design-vue'; import { useLocale } from '/@/locales/useLocale'; import { useDrawer } from '/@/components/Drawer'; import { EditOperation, Search, custDel } from '../data'; import { SaveBasItemRule } from '/@/api/tigerapi/mes/baserule'; +import { useModal } from '/@/components/Modal'; +import { SaveEntity } from '/@/api/tigerapi/system'; +import { useUserStore } from '/@/store/modules/user'; const { getLocale } = useLocale(); function _default() { @@ -26,7 +27,7 @@ slots: { customRender: 'action' }, fixed: undefined, }; - + /** * @description: 浜涜嚜瀹氫箟鏂规硶 * @return {*} @@ -61,6 +62,15 @@ GetBaseColumns: (type: string) => { return baseColumns[type]; }, + /** + * @description: 鑾峰彇妯℃�佹搴旂敤鍒楄〃 + * @return {*} + */ + GetUseModals: () => { + return { + BAS_CODE_RULE1add: useModal(), + }; + }, GetSearchForm: (type: string) => { return searchForms[type]; }, @@ -94,6 +104,23 @@ }, }, { + label: '瑙勫垯缂栫爜', + field: 'RULE_CODE', + required: true, + component: 'Input', + colProps: { + span: 7, + }, + }, + { + field: 'BAS_CODE_RULE1PSelect_0', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+PSelect_0锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝PSelect_0杩欐槸涓浐瀹氬悗缂� + label: '1', + defaultValue: 'BAS_CODE_RULE', + component: 'Input', + colProps: { span: 1 }, + colSlot: 'BAS_CODE_RULE1add', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+add锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝add杩欐槸涓浐瀹氬悗缂� + }, + { label: 'ID', field: 'ID', component: 'Input', @@ -107,7 +134,7 @@ /** * @description: 鑾峰彇鍗$墖鍐呴厤缃垪琛紝浠ュ惊鐜樉绀哄涓崱鐗囧苟閰嶇疆澶氫釜鎻掓Ы * @return {*} - */ + */ GetBaseCards: (type: string) => { return [ { @@ -129,18 +156,20 @@ /** * @description: 鑾峰彇鍙充晶杈规use鏂规硶 * @return {*} - */ + */ GetUseDrawers: () => { - return [{ - 'BAS_ITEM_CUST': useDrawer(), - }]; + return [ + { + BAS_ITEM_CUST: useDrawer(), + }, + ]; }, /** * @description: 鑾峰彇琛ㄦ牸use鍒楄〃 * @param {string} type * @param {array} args * @return {*} - */ + */ GetUseTables: (data: Ref<{}>, ...args) => { return { BAS_ITEM_CUST: useTable({ @@ -164,7 +193,7 @@ slots: { customRender: 'action' }, fixed: 'right', }, //鑷畾涔夋搷浣滃垪 - }) + }), }; }, /** @@ -176,10 +205,7 @@ let data = {} as any; switch (d.type) { case 'BAS_ITEM_CUST': - data = d.data.value[d.type].filter( - (item) => - item.RULE_CODE.includes(d.values.RULE_CODE), - ); + data = d.data.value[d.type].filter((item) => item.RULE_CODE.includes(d.values.RULE_CODE)); if (isNullOrEmpty(d.values.RULE_CODE)) { data = d.data.value[d.type]; } @@ -187,15 +213,22 @@ } return data; }, + /** + * @description: + * @param {string} val + * @param {string} id + * @return {*} + */ KeyFieldValues: (val: string, id: string) => { return { ITEM_CODE: val, ITEM_ID: id }; - } /** + }, + /** * @description: 鑷畾涔夋槑缁嗚〃涓紪杈戣繑鍥炴柟娉� * @param {string} type * @param {*} d * @param {*} u * @return {*} - */, + */ EditOperation: (data: Ref<any[]>, d, u, item) => { //鏇存柊 var _data = data.value[item].map((item) => { @@ -208,7 +241,7 @@ }; return item; }); - EditOperation(data,d, u, item, _data); + EditOperation(data, d, u, item, _data); }, /** * @description: 鑾峰彇鏍囬淇℃伅 @@ -217,11 +250,11 @@ */ GetTitle: () => { return { - pageTitle: '鐗╂枡绠$悊', + pageTitle: '鐗╂枡瑙勫垯绠$悊', pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀圭墿鏂欒鍒欍��', tableTitle: { - BAS_ITEM_CUST: '鐗╂枡瑙勫垯绠$悊', - } + BAS_ITEM_CUST: '鐗╂枡瀹㈡埛瑙勫垯绠$悊', + }, }; }, GetUseForm: () => { @@ -232,7 +265,11 @@ * @return {*} */ SubmitAll: (data: Ref<any[]>, keyFieldValues: Ref<{}>, ...args) => { + const validates = args[1].validates; + const Keys = args[1].Keys; + validates[Keys[0]].AUTH_ORG = useUserStore().getUserInfo.orgCode.toString() SaveBasItemRule({ + Item: validates[Keys[0]], ItemCusts: data.value['BAS_ITEM_CUST'], }).then((action) => { if (action.IsSuccessed) { @@ -272,9 +309,10 @@ title: '鏇存柊浜�', dataIndex: 'UPDATE_USER', }, - ] - } + ], + }; + /* 鎼滅储鏌ヨ缁撴瀯 */ const searchForms = { BAS_ITEM_CUST: [ { @@ -294,7 +332,7 @@ // }, // }, ] as FormSchema[], - } + }; const crudForms = { BAS_ITEM_CUST: [ @@ -369,7 +407,7 @@ show: false, }, ] as FormSchema[], - } + }; return [methods, ActionColumn]; } diff --git a/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts b/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts index 4aeaebd..a3c71f8 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-09-11 20:21:25 + * @LastEditTime: 2024-09-11 22:41:44 */ import { Ref, h, ref, render, unref } from 'vue'; @@ -300,8 +300,7 @@ try { const form = param.values['forminfo']; const wo = param.values['mValues']; - wo.ROUTE_CODE = form.ROUTE_CODE; - wo.STATUS = 2; + wo.STATUS = wo.STATUS == 3?wo.STATUS: 2; let input: SaveWoBatchInput = { Wo: wo, WoBatch: { diff --git a/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO_BATCH.ts b/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO_BATCH.ts index fb85766..4c58462 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO_BATCH.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BIZ_MES_WO_BATCH.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-08-28 08:53:22 + * @LastEditTime: 2024-09-11 23:22:41 */ import { Tag, Tooltip } from 'ant-design-vue'; @@ -17,7 +17,7 @@ import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; import { useForm } from '/@/components/Form'; import { useMessage } from '/@/hooks/web/useMessage'; -import { UpdateWoStatus } from '/@/api/tigerapi/mes/wo'; +import { UpdateWoBatchStatus, UpdateWoStatus } from '/@/api/tigerapi/mes/wo'; import { useUserStore } from '/@/store/modules/user'; const { getLocale } = useLocale(); @@ -55,7 +55,7 @@ data.map((x) => { if (x.name == 'handlePause') { x.onClick = handlePause.bind(null, args, params); - x.color = 'error' + x.color = 'error'; x.tooltip = '鏆傚仠'; } if (x.name == 'handleStart') { @@ -346,7 +346,7 @@ return new Promise((resolve, reject) => { try { const wo = param.values['mValues']; - wo.STATUS = 2; + wo.STATUS = wo.STATUS == 3 ? wo.STATUS : 2; wo.ACT_LINE = param.values['forminfo'].ACT_LINE; SaveEntity(wo, true, 'BIZ_MES_WO_BATCH').then((action) => { if (action.IsSuccessed) { @@ -378,20 +378,20 @@ }); return; } - // params['record'].STATUS = 4; - // SaveEntity(params['record'], true, 'BIZ_MES_WO_BATCH').then((action) => { - // if (action.IsSuccessed) { - // createMessage.success(t('宸叉殏鍋�')); - // reload(); - // } else { - // createMessage.success(t('鏆傚仠鎿嶄綔澶辫触')); - // } - // }); - UpdateWoStatus({ + /* 鏇存柊宸ュ崟鎵规鐘舵�� */ + UpdateWoBatchStatus({ UserId: useUserStore().getUserInfo.userId as string, WorkOrder: params['record'].ORDER_NO, - Status: -1, + WoBatch: params['record'].BATCH_NO, + Status: 4, RouteStatus: 0, + }).then((action) => { + if (action.IsSuccessed) { + createMessage.success(t('宸叉殏鍋�')); + reload(); + } else { + createMessage.success(t('鏆傚仠鎿嶄綔澶辫触')); + } }); } @@ -411,10 +411,16 @@ }); return; } - params['record'].STATUS = 3; - SaveEntity(params['record'], true, 'BIZ_MES_WO_BATCH').then((action) => { + /* 鏇存柊宸ュ崟鎵规鐘舵�� */ + UpdateWoBatchStatus({ + UserId: useUserStore().getUserInfo.userId as string, + WorkOrder: params['record'].ORDER_NO, + WoBatch: params['record'].BATCH_NO, + Status: 3, + RouteStatus: 0, + }).then((action) => { if (action.IsSuccessed) { - createMessage.success(t('宸插彇娑堟殏鍋�')); + createMessage.success(t('鏆傚仠宸插彇娑�')); reload(); } else { createMessage.success(t('鍙栨秷鏆傚仠鎿嶄綔澶辫触')); @@ -467,14 +473,20 @@ getContainer: () => document.body, }); return; - } - params['record'].STATUS = 0; - SaveEntity(params['record'], true, 'BIZ_MES_WO_BATCH').then((action) => { + } + /* 鏇存柊宸ュ崟鎵规鐘舵�� */ + UpdateWoBatchStatus({ + UserId: useUserStore().getUserInfo.userId as string, + WorkOrder: params['record'].ORDER_NO, + WoBatch: params['record'].BATCH_NO, + Status: 0, //鍙栨秷涓嬪彂鐘舵�� + RouteStatus: 0, + }).then((action) => { if (action.IsSuccessed) { - createMessage.success(t('宸插彇娑�')); + createMessage.success(t('涓嬪彂宸插彇娑�')); reload(); } else { - createMessage.success(t('鍙栨秷鎿嶄綔澶辫触')); + createMessage.success(t('鍙栨秷涓嬪彂鎿嶄綔澶辫触')); } }); } diff --git a/src/views/tigerprojects/system/lowcode/high/dtl.vue b/src/views/tigerprojects/system/lowcode/high/dtl.vue index d35f173..4dd220c 100644 --- a/src/views/tigerprojects/system/lowcode/high/dtl.vue +++ b/src/views/tigerprojects/system/lowcode/high/dtl.vue @@ -173,20 +173,20 @@ function createActions(record, index, item) { const params = { record, - isUpdate: true, - ifSave: objParams.value['ifSave'], - entityName: props.entityName, - formJson: [], //getFormSchema(`${entityName.value}_Crud`), - cType, + isUpdate: true, //鏄洿鏂拌繕鏄柊澧� + ifSave: objParams.value['ifSave'], //鏄惁鐩存帴淇濆瓨琛ㄥ崟鍒版暟鎹簱锛宖alse鐨勮瘽瑕佹渶鍚庝竴璧锋彁浜� + entityName: props.entityName, //瀹炰綋鍚嶇О + formJson: [], //getFormSchema(`${entityName.value}_Crud`), //琛ㄥ崟缁撴瀯 + cType, //绫诲瀷锛屼互姝ゆ潵纭畾鏄摢绉嶆柟娉曟垨鑰呯粨鏋勶紝鏍规嵁瀹為檯鎯呭喌鑰屽畾 dtlSlots, useModalData, useFormData, crudColSlots: isNullOrUnDef(objParams.value['crudColSlots']) ? [] - : objParams.value['crudColSlots'][item['name']], + : objParams.value['crudColSlots'][item['name']], //鎻掓Ы鍒楄〃 data, name: item.name, //drawers鍒楄〃閲岄潰鐨刵ame锛岃〃绀烘槸鍝竴涓疄浣擄紝涔熷氨鏄珮绾ц〃鍗曚腑琛ㄦ牸鐨勫悕瀛� - keyName: item.keyName, + keyName: item.keyName, //瀹為檯鐢ㄦ潵纭畾鍔ㄦ�佸紩鍏ュ疄浣�.ts鐨勫疄浣撳悕绉� }; const actionItem = [ { -- Gitblit v1.9.3