From 2069d53e9be24adec3c8d6717fd7317555bd9a52 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 02 七月 2024 23:02:51 +0800 Subject: [PATCH] 高级表单优化 --- src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts | 104 +++---- src/views/tigerprojects/system/lowcode/high/baseForm.vue | 10 src/views/tigerprojects/system/lowcode/entityts/BAS_REASON.ts | 80 +++-- src/views/tigerprojects/system/lowcode/entityts/QMS_INS_STD.ts | 8 src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts | 78 +++-- src/views/tigerprojects/system/lowcode/data.ts | 73 ++++- src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT_GRP.ts | 8 src/views/tigerprojects/system/lowcode/high/index.vue | 92 +++++- src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT_SYS.ts | 8 src/api/tigerapi/model/basModel.ts | 1 src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts | 80 +++-- src/views/tigerprojects/system/lowcode/entityts/BAS_REASON_GRP.ts | 8 src/views/tigerprojects/system/lowcode/high/dtl.vue | 26 + src/views/tigerprojects/system/lowcode/normal/mainTable.vue | 4 src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_RULE.ts | 8 src/api/tigerapi/system.ts | 99 +++++-- src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts | 79 +++-- 17 files changed, 460 insertions(+), 306 deletions(-) diff --git a/src/api/tigerapi/model/basModel.ts b/src/api/tigerapi/model/basModel.ts index 658acd4..c2a9d7e 100644 --- a/src/api/tigerapi/model/basModel.ts +++ b/src/api/tigerapi/model/basModel.ts @@ -143,6 +143,7 @@ GetUseDrawers: () => []; GetUseTables: (data: Ref<Recordable[]>, ...args) => []; SubmitFunc: (values: Recordable<any>, type: string, emit) => void; + FormSearch: (d) => string | {}; GetSlots: (type: string | undefined) => {}; GenerateHtml: (type: string | null) => HTMLElement | null; CustFunc: (type: string | undefined, ...args) => void | any; diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts index 775bfba..0d53fb4 100644 --- a/src/api/tigerapi/system.ts +++ b/src/api/tigerapi/system.ts @@ -1,4 +1,3 @@ -import { UserConfigFn } from 'vite'; import { useGlobSetting } from '/@/hooks/setting'; import { buildUUID } from '../../utils/uuid'; import { DateFormat } from '../../utils/dataformat'; @@ -31,7 +30,7 @@ iSYS_ROLE_PROD, } from './model/systemModel'; import { defHttp } from '/@/utils/http/axios'; -import { isArray, isDate, isNullOrEmpty, isTimeType, isTimeViaRegExp8601, isTimeViaRegExpSimple } from '/@/utils/is'; +import { isArray, isNullOrEmpty, isTimeViaRegExp8601 } from '/@/utils/is'; export enum Api { QueryUrl = '/Base/Query', @@ -39,6 +38,7 @@ EntitySqlList = '/Base/QuerySQL', EntityPageList = '/Base/QueryCustomPage', IsAccountExist = '/Base/IsExist', + AddAfterDelete = '/Base/AddAfterDelete', setRoleStatus = '/system/setRoleStatus', MenuList = '/SYS/getMenuListAll', SaveMenu = '/SYS/SaveMenu', @@ -704,9 +704,46 @@ * @return {*} */ export async function getListByPage<T>(params: T) { + const sqlcmd = ReturnSqlcmd(params); + let order = ''; + if (!isNullOrEmpty(params['order'])) { + order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field']; + } + const rParams = genAction(params['TABLE_NAME'], { + QueryAble_T: '', + where: sqlcmd, + order: order, + page: { + pageAble_T: 'string', + draw: 1, + pageIndex: params['page'], + pageSize: params['pageSize'], + }, + }); + return getListByPageAsync(rParams); +} +async function getListByPageAsync(params: any) { + const data = await defHttp.post( + { url: Api.QueryUrl, params, timeout: 50000 }, + { + isTransformResponse: false, + }, + ); + const model = { + items: data.Data.page.data, + total: data.Data.page.totals, + }; + return model; +} + +/** + * @description: 鏍规嵁鏌ヨ鏉′欢鍙傛暟鎷兼帴鏌ヨ鏉′欢 + * @param {T} params + * @return {*} + */ +export function ReturnSqlcmd<T>(params: T) { const Keys = Object.getOwnPropertyNames(params); let sqlcmd = '1=1 '; - let order = ''; for (const k in Keys) { console.log(`${k}:${Keys[k]}`); if ( @@ -727,34 +764,7 @@ } } } - if (!isNullOrEmpty(params['order'])) { - order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field']; - } - const rParams = genAction(params['TABLE_NAME'], { - QueryAble_T: '', - where: sqlcmd, - order: order, - page: { - pageAble_T: 'string', - draw: 1, - pageIndex: params['page'], - pageSize: params['pageSize'], - }, - }); - return getListByPageAsync(rParams); -} -async function getListByPageAsync(params: any) { - const data = await defHttp.post( - { url: Api.QueryUrl, params,timeout:50000 }, - { - isTransformResponse: false, - }, - ); - const model = { - items: data.Data.page.data, - total: data.Data.page.totals, - }; - return model; + return sqlcmd; } export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) { @@ -769,7 +779,7 @@ ); } else { var check = await isExist(genAction(entityName, args[0])); - if(check.Data){ + if (check.Data) { check.IsSuccessed = false; check.Message = '璁板綍宸茬粡瀛樺湪锛屼笉鑳芥柊澧烇紒'; return check; @@ -809,6 +819,31 @@ } /** + * @description: 鍏堝垹闄ゅ悗娣诲姞Api + * @param {T} params + * @param {string} entityName + * @param {*} items + * @return {*} + */ +export async function AddAfterDelete(entityName: string, items: [], where: string) { + let data = await defHttp.post( + { + url: Api.AddAfterDelete, + params: genAction(entityName, { + QueryAble_T: '', + where: where, + Items: items, + }), + }, + { + errorMessageMode: 'none', + isTransformResponse: false, + }, + ); + return data; +} + +/** * @description: 鏍规嵁鏉′欢鍒犻櫎 * @param {string} sqlcmd * @param {string} entityName diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts index d1ad12c..80cde58 100644 --- a/src/views/tigerprojects/system/lowcode/data.ts +++ b/src/views/tigerprojects/system/lowcode/data.ts @@ -4,27 +4,19 @@ * @version: * @Date: 2024-06-02 17:52:35 * @LastEditors: Ben Lin - * @LastEditTime: 2024-06-29 06:12:26 + * @LastEditTime: 2024-07-02 19:40:27 */ -import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; +import { ActionItem, FormSchema } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; import { isNullOrEmpty } from '/@/utils/is'; import { woCustFn, woformSchema } from '/@/views/components/bizMesWo'; import { useModal } from '/@/components/Modal'; -import LogicFlow from '@logicflow/core'; -import { BpmnElement } from '@logicflow/extension/es/bpmn'; -import { Ref, ref, unref } from 'vue'; -import customEdge from '/@/components/FlowChart/src/customEdge'; -import actionRect from '/@/components/FlowChart/src/actionRect'; -import TestNode from '/@/components/FlowChart/src/TestNode'; -import CollectNode from '/@/components/FlowChart/src/CollectNode'; -import AssemblyNode from '/@/components/FlowChart/src/AssemblyNode'; -import PackingNode from '/@/components/FlowChart/src/PackingNode'; -import RepairNode from '/@/components/FlowChart/src/RepairNode'; +import { Ref, unref } from 'vue'; import { getRouteData } from '/@/api/tigerapi/mes/router'; -import { toLogicFlowData } from '/@/components/FlowChart/src/adpterForTurbo'; -import { SelectionSelect } from '@logicflow/extension'; +import { buildUUID } from '/@/utils/uuid'; +import { useUserStore } from '/@/store/modules/user'; +import { formatToDateTime } from '/@/utils/dateUtil'; const { t } = useI18n(); /** @@ -157,10 +149,10 @@ } /** - * @description: 宸ヨ壓璺嚎鍒濆鍖� - * @param {*} lf - * @return {*} - */ + * @description: 宸ヨ壓璺嚎鍒濆鍖� + * @param {*} lf + * @return {*} + */ export async function initRoute(lf, rotId, routeData, currlf) { currlf.value = unref(lf); //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋 @@ -184,3 +176,48 @@ unref(lf).render(routeData.value); } } + +/* 楂樼骇琛ㄥ崟鍏敤鏂规硶 *********************************Start */ + +/** + * @description: 鏌ヨ鑷畾涔夋柟娉曪紝褰撳湪楂樼骇琛ㄥ崟涓殑琛ㄦ牸涓煡璇㈡椂瑙﹀彂浜嬩欢锛屽苟鎶妠 type: type, data: data }浼犲埌鐖剁粍浠� + * @param {string} type 琛ㄦ牸鐨勫悕瀛楋紝濂界‘瀹氭槸鍝釜琛ㄦ牸瑕佹煡璇� + * @param {Ref} data 姝よ〃鏍肩殑鍘熸暟鎹� + * @param {*} emit dtl缁勪欢鐨勪簨浠讹紝瑙﹀彂涓�涓�'search'浜嬩欢 + * @return {*} + */ +export async function Search(type: string, data: Ref<any>, emit) { + emit('search', { type: type, data: data }); +} + +/** + * @description: 楂樼骇琛ㄥ崟鏂板缂栬緫鏂规硶 + * @param {Ref} data + * @param {*} d + * @param {*} u + * @param {*} item + * @param {*} updates + * @return {*} + */ +export function EditOperation(data: Ref<any[]>, d, u, item, updates) { + if (u.isUpdate) { + //鏇存柊 + data.value[item] = updates; + } else { + //鏂板 + d.ID = buildUUID(); + d.CREATE_USER = useUserStore().getUserInfo.userId as string; + d.UPDATE_TIME = formatToDateTime(new Date()); + d.UPDATE_USER = useUserStore().getUserInfo.userId as string; + var _data2: any[] = []; + if (!isNullOrEmpty(data.value[item])) { + _data2 = data.value[item].map((item) => { + return item; + }); + } + _data2.push(d); + data.value[item] = _data2; + } +} + +/* 楂樼骇琛ㄥ崟鍏敤鏂规硶 *********************************End */ diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts index 614a8d4..d2cd403 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT.ts @@ -4,12 +4,12 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 17:04:43 + * @LastEditTime: 2024-07-02 20:00:10 */ import { Ref, h, unref } from 'vue'; import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; @@ -17,6 +17,7 @@ import { Tag } from 'ant-design-vue'; import { useLocale } from '/@/locales/useLocale'; import { useDrawer } from '/@/components/Drawer'; +import { EditOperation, Search } from '../data'; const { getLocale } = useLocale(); function _default() { @@ -145,15 +146,16 @@ * @param {array} args * @return {*} */ - GetUseTables: (data: any[], ...args) => { + GetUseTables: (data: Ref<{}>, ...args) => { return { BAS_DEFECT: useTable({ title: '鍒楄〃淇℃伅', - dataSource: data, + dataSource: data.value['BAS_DEFECT'], columns: baseColumns['BAS_DEFECT'], formConfig: { labelWidth: 140, schemas: searchForms['BAS_DEFECT'], + submitFunc: () => Search('BAS_DEFECT', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -170,6 +172,26 @@ }) }; }, + /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇 + * @param {*} d + * @return {*} + */ + FormSearch: (d) => { + let data = {} as any; + switch (d.type) { + case 'BAS_DEFECT': + data = d.data.value[d.type].filter( + (item) => + item.DFT_CODE.includes(d.values.DFT_CODE) || item.DFT_NAME == d.values.DFT_NAME, + ); + if (isNullOrEmpty(d.values.DFT_CODE) && isNullOrEmpty(d.values.DFT_NAME)) { + data = d.data.value[d.type]; + } + break; + } + return data; + }, OthersValues: (val: string, id: string) => { return { DFTG_CODE: val }; } /** @@ -179,36 +201,20 @@ * @param {*} u * @return {*} */, - EditOperation: (data: Ref<any[]>, d, u) => { - if (u.isUpdate) { - //鏇存柊 - var _data = data.value.map((item) => { - if (item['ID'] == d.ID) - return { - ...item, - DFT_CODE: d.DFT_CODE, - DFT_NAME: d.DFT_NAME, - DFT_LEVEL: d.DFT_LEVEL, - REMARK: d.REMARK, - }; - return item; - }); - data.value = _data; - } else { - //鏂板 - d.ID = buildUUID(); - d.CREATE_USER = useUserStore().getUserInfo.userId as string; - d.UPDATE_TIME = formatToDateTime(new Date()); - d.UPDATE_USER = useUserStore().getUserInfo.userId as string; - var _data2: any[] = []; - if (!isNullOrEmpty(data.value)) { - _data2 = data.value.map((item) => { - return item; - }); - } - _data2.push(d); - data.value = _data2; - } + EditOperation: (data: Ref<any[]>, d, u, item) => { + //鏇存柊 + var _data = data.value[item].map((item) => { + if (item['ID'] == d.ID) + return { + ...item, + DFT_CODE: d.DFT_CODE, + DFT_NAME: d.DFT_NAME, + DFT_LEVEL: d.DFT_LEVEL, + REMARK: d.REMARK, + }; + return item; + }); + EditOperation(data,d, u, item, _data); }, /** * @description: 鑾峰彇鏍囬淇℃伅 @@ -324,7 +330,7 @@ span: 8, }, }, - ] + ] as FormSchema[], } const crudForms = { @@ -398,7 +404,7 @@ }, show: false, }, - ] + ] as FormSchema[], } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT_GRP.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT_GRP.ts index ec51dd6..a450218 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT_GRP.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_DEFECT_GRP.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 20:14:03 + * @LastEditTime: 2024-07-02 21:06:18 */ import { ActionItem, BasicColumn } from '/@/components/Table'; @@ -120,12 +120,16 @@ CODE: params['record']['DFTG_CODE'], ID: params['record']['ID'], Name: 'BAS_DEFECT', + SessionName: 'BAS_DEFECT_update', Title: `缂栬緫涓嶈壇浠g爜缁勶細${params['record']['DFTG_CODE']}`, pCode: 'DFTG_CODE', IsID: false, drawers: [{ name: 'BAS_DEFECT', code: 'DFTG_CODE' }], //drawers鏄彸杈瑰脊鍑哄鏀逛晶妗嗙殑鍚嶅瓧鍒楄〃 }; - args[5](`/BAS_DEFECT/High/${encodeURI(JSON.stringify(param))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${param.SessionName}_params`); + sessionStorage.setItem(`${param.SessionName}_params`, encodeURI(JSON.stringify(param))); + args[5](`/BAS_DEFECT/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`); } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts index d957ead..d26dd9d 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts @@ -4,17 +4,18 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 17:08:25 + * @LastEditTime: 2024-07-02 19:59:52 */ import { Ref } from 'vue'; import { DeleteEntity, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; import { formatToDateTime } from '/@/utils/dateUtil'; import { useDrawer } from '/@/components/Drawer'; +import { EditOperation, Search } from '../data'; function _default(): any[] { const ActionColumn: BasicColumn = { @@ -57,37 +58,21 @@ * @param {*} u * @return {*} */ - EditOperation: (data: Ref<any[]>, d, u) => { - if (u.isUpdate) { - //鏇存柊 - var _data = data.value.map((item) => { - if (item['ID'] == d.ID) - return { - ...item, - PKG_CODE: d.PKG_CODE, - PKG_LEVEL: d.PKG_LEVEL, - PKG_QTY: d.PKG_QTY, - LABEL_CODE: d.LABEL_CODE, - REMARK: d.REMARK, - }; - return item; - }); - data.value = _data; - } else { - //鏂板 - d.ID = buildUUID(); - d.CREATE_USER = useUserStore().getUserInfo.userId as string; - d.UPDATE_TIME = formatToDateTime(new Date()); - d.UPDATE_USER = useUserStore().getUserInfo.userId as string; - var _data2: any[] = []; - if (!isNullOrEmpty(data.value)) { - _data2 = data.value.map((item) => { - return item; - }); - } - _data2.push(d); - data.value = _data2; - } + EditOperation: (data: Ref<any[]>, d, u, item) => { + //鏇存柊 + var _data = data.value[item].map((item) => { + if (item['ID'] == d.ID) + return { + ...item, + PKG_CODE: d.PKG_CODE, + PKG_LEVEL: d.PKG_LEVEL, + PKG_QTY: d.PKG_QTY, + LABEL_CODE: d.LABEL_CODE, + REMARK: d.REMARK, + }; + return item; + }); + EditOperation(data,d, u, item, _data); }, /** * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl @@ -218,15 +203,16 @@ * @param {array} args * @return {*} */ - GetUseTables: (data: any[], ...args) => { + GetUseTables: (data: Ref<{}>, ...args) => { return { BAS_PKG_DTL: useTable({ title: '鍒楄〃淇℃伅', - dataSource: data, + dataSource: data.value['BAS_PKG_DTL'], columns: baseColumns['BAS_PKG_DTL'], formConfig: { labelWidth: 140, schemas: searchForms['BAS_PKG_DTL'], + submitFunc: () => Search('BAS_PKG_DTL', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -242,6 +228,23 @@ }, //鑷畾涔夋搷浣滃垪 }), }; + }, + /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇 + * @param {*} d + * @return {*} + */ + FormSearch: (d) => { + let data = {} as any; + switch (d.type) { + case 'BAS_PKG_DTL': + data = d.data.value[d.type].filter((item) => item.PKG_CODE.includes(d.values.PKG_CODE)); + if (isNullOrEmpty(d.values.PKG_CODE)) { + data = d.data.value[d.type]; + } + break; + } + return data; }, /** * @description: 鑾峰彇鏍囬淇℃伅 @@ -297,7 +300,7 @@ span: 8, }, }, - ], + ] as FormSchema[], }; const baseColumns = { @@ -333,7 +336,7 @@ title: '鏇存柊浜�', dataIndex: 'UPDATE_USER', }, - ], + ] as BasicColumn[], }; const crudForms = { @@ -399,7 +402,7 @@ }, show: false, }, - ], + ] as FormSchema[], }; return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_RULE.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_RULE.ts index 8a3daed..a4ccad7 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_RULE.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_RULE.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 20:14:42 + * @LastEditTime: 2024-07-02 21:03:23 */ import { ActionItem, BasicColumn } from '/@/components/Table'; @@ -69,12 +69,16 @@ CODE: params['record']['RULE_CODE'], ID: params['record']['ID'], Name: 'BAS_PKG_DTL', + SessionName: 'BAS_PKG_DTL_update', Title: `缂栬緫鍖呰瑙勫垯锛�${params['record']['RULE_CODE']}`, pCode: 'PKG_RULE_ID', IsID: true, drawers: [{ name: 'BAS_PKG_DTL', code: 'PKG_RULE_ID' }], //drawers鏄彸杈瑰脊鍑哄鏀逛晶妗嗙殑鍚嶅瓧鍒楄〃 }; - go(`/BAS_PKG_DTL/High/${encodeURI(JSON.stringify(param))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${param.SessionName}_params`); + sessionStorage.setItem(`${param.SessionName}_params`, encodeURI(JSON.stringify(param))); + go(`/BAS_PKG_DTL/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`); } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON.ts index b1ff66d..2474329 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON.ts @@ -4,17 +4,18 @@ * @version: * @Date: 2024-06-22 00:58:43 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 17:13:16 + * @LastEditTime: 2024-07-02 19:59:39 */ import { Ref, h } from 'vue'; import { DeleteEntity, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; import { formatToDateTime } from '/@/utils/dateUtil'; import { Tag } from 'ant-design-vue'; import { useDrawer } from '/@/components/Drawer'; +import { EditOperation, Search } from '../data'; function _default() { const ActionColumn: BasicColumn = { @@ -56,36 +57,20 @@ * @param {*} u * @return {*} */ - EditOperation: (data: Ref<any[]>, d, u) => { - if (u.isUpdate) { - //鏇存柊 - var _data = data.value.map((item) => { - if (item['ID'] == d.ID) - return { - ...item, - RSN_CODE: d.RSN_CODE, - RSN_NAME: d.RSN_NAME, - NEED_REPLACE: d.NEED_REPLACE, - REMARK: d.REMARK, - }; - return item; - }); - data.value = _data; - } else { - //鏂板 - d.ID = buildUUID(); - d.CREATE_USER = useUserStore().getUserInfo.userId as string; - d.UPDATE_TIME = formatToDateTime(new Date()); - d.UPDATE_USER = useUserStore().getUserInfo.userId as string; - var _data2: any[] = []; - if (!isNullOrEmpty(data.value)) { - _data2 = data.value.map((item) => { - return item; - }); - } - _data2.push(d); - data.value = _data2; - } + EditOperation: (data: Ref<any[]>, d, u, item) => { + //鏇存柊 + var _data = data.value[item].map((item) => { + if (item['ID'] == d.ID) + return { + ...item, + RSN_CODE: d.RSN_CODE, + RSN_NAME: d.RSN_NAME, + NEED_REPLACE: d.NEED_REPLACE, + REMARK: d.REMARK, + }; + return item; + }); + EditOperation(data,d, u, item, _data); }, /** * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl @@ -170,15 +155,16 @@ * @param {array} args * @return {*} */ - GetUseTables: (data: any[], ...args) => { + GetUseTables: (data: Ref<{}>, ...args) => { return { BAS_REASON: useTable({ title: '鍒楄〃淇℃伅', - dataSource: data, + dataSource: data.value['BAS_REASON'], columns: baseColumns['BAS_REASON'], formConfig: { labelWidth: 140, schemas: searchForms['BAS_REASON'], + submitFunc: () => Search('BAS_REASON', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -194,6 +180,26 @@ }, //鑷畾涔夋搷浣滃垪 }), }; + }, + /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇 + * @param {*} d + * @return {*} + */ + FormSearch: (d) => { + let data = {} as any; + switch (d.type) { + case 'BAS_REASON': + data = d.data.value[d.type].filter( + (item) => + item.RSN_CODE.includes(d.values.RSN_CODE) || item.RSN_NAME == d.values.RSN_NAME, + ); + if (isNullOrEmpty(d.values.RSN_CODE) && isNullOrEmpty(d.values.RSN_NAME)) { + data = d.data.value[d.type]; + } + break; + } + return data; }, OthersValues: (val: string, id: string) => { return { RSNG_CODE: val }; @@ -289,7 +295,7 @@ title: '鏇存柊浜�', dataIndex: 'UPDATE_USER', }, - ], + ] as BasicColumn[], }; const searchForms = { @@ -310,7 +316,7 @@ span: 8, }, }, - ], + ] as FormSchema[], }; const crudForms = { @@ -391,7 +397,7 @@ }, show: false, }, - ], + ] as FormSchema[], }; return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON_GRP.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON_GRP.ts index ca3d931..7b03b74 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON_GRP.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_REASON_GRP.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 20:15:46 + * @LastEditTime: 2024-07-02 21:29:04 */ import { ActionItem, BasicColumn } from '/@/components/Table'; @@ -111,12 +111,16 @@ CODE: params['record']['RSNG_CODE'], ID: params['record']['ID'], Name: 'BAS_REASON', + SessionName: 'BAS_REASON_update', Title: `缂栬緫涓嶈壇鍘熷洜缁勶細${params['record']['RSNG_CODE']}`, pCode: 'RSNG_CODE', IsID: false, drawers: [{ name: 'BAS_REASON', code: 'RSNG_CODE' }], //drawers鏄彸杈瑰脊鍑哄鏀逛晶妗嗙殑鍚嶅瓧鍒楄〃 }; - args[5](`/BAS_REASON/High/${encodeURI(JSON.stringify(param))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${param.SessionName}_params`); + sessionStorage.setItem(`${param.SessionName}_params`, encodeURI(JSON.stringify(param))); + args[5](`/BAS_REASON/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`); } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts index 900d7f2..be4ec99 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts @@ -4,12 +4,12 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-02 03:40:15 + * @LastEditTime: 2024-07-02 19:41:38 */ import { Ref, h, ref, unref } from 'vue'; import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; @@ -17,29 +17,11 @@ import { Tag } from 'ant-design-vue'; import { useLocale } from '/@/locales/useLocale'; import { useDrawer } from '/@/components/Drawer'; +import { EditOperation, Search } from '../data'; const { getLocale } = useLocale(); function _default() { - let _data = ref([ - { - SFT_CODE: '1', - SFT_NAME: '1', - SFTS_CODE: '1', - SFT_BEGIN: 1, - SFT_END: 1, - IS_ACROSS_DAY: 'N', - REMARK: '1', - AUTH_ORG: '1', - AUTH_PROD: '1', - AUTH_WH: '1', - GHOST_ROW: false, - CREATE_TIME: '2024-07-01 12:34:29', - CREATE_USER: '1', - UPDATE_TIME: '2024-07-01 12:34:29', - UPDATE_USER: '1', - ID: '6632a14fec8c470c9216f5c7354baa22', - }, - ] as Recordable<any>[]); + let _data = ref<any>({}); const ActionColumn: BasicColumn = { width: 80, title: '鎿嶄綔', @@ -203,9 +185,11 @@ title: '鍒楄〃淇℃伅', dataSource: data.value['MES_SHIFT'], columns: baseColumns['MES_SHIFT'], + maxHeight: 230, formConfig: { labelWidth: 140, schemas: searchForms['MES_SHIFT'], + submitFunc: () => Search('MES_SHIFT', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -224,9 +208,11 @@ title: '鍒楄〃淇℃伅', dataSource: data.value['MES_SHIFT_PRD'], columns: baseColumns['MES_SHIFT_PRD'], + maxHeight: 260, formConfig: { labelWidth: 140, schemas: searchForms['MES_SHIFT_PRD'], + submitFunc: () => Search('MES_SHIFT_PRD', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -243,6 +229,28 @@ }), }; }, + /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇 + * @param {*} d + * @return {*} + */ + FormSearch: (d) => { + let data = {} as any; + switch (d.type) { + case 'MES_SHIFT': + data = d.data.value[d.type].filter( + (item) => + item.SFT_CODE.includes(d.values.SFT_CODE) || item.SFT_NAME == d.values.SFT_NAME, + ); + if (isNullOrEmpty(d.values.SFT_CODE) && isNullOrEmpty(d.values.SFT_NAME)) { + data = d.data.value[d.type]; + } + break; + case 'MES_SHIFT_PRD': + break; + } + return data; + }, OthersValues: (val: string, id: string) => { return { SFTS_CODE: val }; } /** @@ -253,37 +261,21 @@ * @return {*} */, EditOperation: (data: Ref<any[]>, d, u, item) => { - if (u.isUpdate) { - //鏇存柊 - var _data = data.value.map((item) => { - if (item['ID'] == d.ID) - return { - ...item, - SFT_CODE: d.SFT_CODE, - SFT_NAME: d.SFT_NAME, - SFT_BEGIN: d.SFT_BEGIN, - SFT_END: d.SFT_END, - IS_ACROSS_DAY: d.IS_ACROSS_DAY, - REMARK: d.REMARK, - }; - return item; - }); - data.value = _data; - } else { - //鏂板 - d.ID = buildUUID(); - d.CREATE_USER = useUserStore().getUserInfo.userId as string; - d.UPDATE_TIME = formatToDateTime(new Date()); - d.UPDATE_USER = useUserStore().getUserInfo.userId as string; - var _data2: any[] = []; - if (!isNullOrEmpty(data.value[item])) { - _data2 = data.value[item].map((item) => { - return item; - }); - } - _data2.push(d); - data.value[item] = _data2; - } + //鏇存柊 + var _data = data.value[item].map((item) => { + if (item['ID'] == d.ID) + return { + ...item, + SFT_CODE: d.SFT_CODE, + SFT_NAME: d.SFT_NAME, + SFT_BEGIN: d.SFT_BEGIN, + SFT_END: d.SFT_END, + IS_ACROSS_DAY: d.IS_ACROSS_DAY, + REMARK: d.REMARK, + }; + return item; + }); + EditOperation(data,d, u, item, _data); }, /** * @description: 鑾峰彇鏍囬淇℃伅 @@ -492,7 +484,7 @@ span: 8, }, }, - ], + ] as FormSchema[], MES_SHIFT_PRD: [ { field: 'PRD_CODE', @@ -510,7 +502,7 @@ span: 8, }, }, - ], + ] as FormSchema[], }; const crudForms = { @@ -643,7 +635,7 @@ span: 24, }, componentProps: () => { - const options = _data.map((entity) => ({ + const options = _data.value['MES_SHIFT'].map((entity) => ({ value: entity.SFT_CODE, label: entity.SFT_NAME, })); diff --git a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT_SYS.ts b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT_SYS.ts index ad2cdae..ab2ffb7 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT_SYS.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT_SYS.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-02 03:29:35 + * @LastEditTime: 2024-07-02 21:28:53 */ import { ActionItem, BasicColumn } from '/@/components/Table'; @@ -123,6 +123,7 @@ CODE: params['record']['SFTS_CODE'], //CODE鐨勫�� ID: params['record']['ID'], //ID鍊� Name: 'MES_SHIFT', //瀹炰綋鍚� + SessionName: 'MES_SHIFT_update', //SessionStorage鐨刱ey Title: `缂栬緫鐝埗锛�${params['record']['SFTS_CODE']}`, //鏍囬 // pCode: 'SFTS_CODE', //涓讳俊鎭叧閿瓧娈礐ODE锛岄珮绾ц〃鍗曠敤涓嬮潰drawers閲岀殑code IsID: false, //鏄惁甯﹁繃鍘讳晶杈规鐨勬槸ID锛宖alse灏辨槸CODE锛宼rue鏄疘D @@ -131,7 +132,10 @@ { name: 'MES_SHIFT_PRD', code: 'SFT_CODE' }, ], //drawers鏄彸杈瑰脊鍑哄鏀逛晶妗嗙殑鍚嶅瓧鍒楄〃 }; - args[5](`/MES_SHIFT/High/${encodeURI(JSON.stringify(param))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${param.SessionName}_params`); + sessionStorage.setItem(`${param.SessionName}_params`, encodeURI(JSON.stringify(param))); + args[5](`/MES_SHIFT/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`); } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts index 73e3193..1efbb48 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts @@ -4,12 +4,12 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 17:17:58 + * @LastEditTime: 2024-07-02 19:43:08 */ import { Ref, h, unref } from 'vue'; import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn, useTable } from '/@/components/Table'; +import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; @@ -17,6 +17,7 @@ import { Tag } from 'ant-design-vue'; import { useLocale } from '/@/locales/useLocale'; import { useDrawer } from '/@/components/Drawer'; +import { EditOperation, Search } from '../data'; const { getLocale } = useLocale(); function _default() { @@ -33,36 +34,20 @@ * @return {*} */ const methods = { - EditOperation: (data: Ref<any[]>, d, u) => { - if (u.isUpdate) { - //鏇存柊 - var _data = data.value.map((item) => { - if (item['ID'] == d.ID) - return { - ...item, - STD_CODE: d.STD_CODE, - STD_NAME: d.STD_NAME, - STD_TYPE: d.STD_TYPE, - REMARK: d.REMARK, - }; - return item; - }); - data.value = _data; - } else { - //鏂板 - d.ID = buildUUID(); - d.CREATE_USER = useUserStore().getUserInfo.userId as string; - d.UPDATE_TIME = formatToDateTime(new Date()); - d.UPDATE_USER = useUserStore().getUserInfo.userId as string; - var _data2: any[] = []; - if (!isNullOrEmpty(data.value)) { - _data2 = data.value.map((item) => { - return item; - }); - } - _data2.push(d); - data.value = _data2; - } + EditOperation: (data: Ref<any[]>, d, u, item) => { + //鏇存柊 + var _data = data.value[item].map((item) => { + if (item['ID'] == d.ID) + return { + ...item, + STD_CODE: d.STD_CODE, + STD_NAME: d.STD_NAME, + STD_TYPE: d.STD_TYPE, + REMARK: d.REMARK, + }; + return item; + }); + EditOperation(data,d, u, item, _data); }, /** * @description: 鑾峰彇鏂板鎸夐挳鐨勮涓� @@ -183,15 +168,16 @@ * @param {array} args * @return {*} */ - GetUseTables: (data: any[], ...args) => { + GetUseTables: (data: Ref<{}>, ...args) => { return { QMS_INS_ITEM: useTable({ title: '鍒楄〃淇℃伅', - dataSource: data, + dataSource: data.value['QMS_INS_ITEM'], columns: baseColumns['QMS_INS_ITEM'], formConfig: { labelWidth: 140, schemas: searchForms['QMS_INS_ITEM'], + submitFunc: () => Search('QMS_INS_ITEM', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, useSearchForm: true, showTableSetting: true, @@ -208,6 +194,26 @@ }), MES_SHIFT_PRD: useTable(), }; + }, + /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇 + * @param {*} d + * @return {*} + */ + FormSearch: (d) => { + let data = {} as any; + switch (d.type) { + case 'QMS_INS_ITEM': + data = d.data.value[d.type].filter( + (item) => + item.INS_CODE.includes(d.values.INS_CODE) || item.INS_NAME == d.values.INS_NAME, + ); + if (isNullOrEmpty(d.values.INS_CODE) && isNullOrEmpty(d.values.INS_NAME)) { + data = d.data.value[d.type]; + } + break; + } + return data; }, OthersValues: (val: string, id: string) => { return { TECH_STD: val }; @@ -359,7 +365,7 @@ title: '鏇存柊浜�', dataIndex: 'UPDATE_USER', }, - ], + ] as BasicColumn[], }; const searchForms = { @@ -380,7 +386,7 @@ span: 8, }, }, - ], + ] as FormSchema[], }; const crudForms = { @@ -462,7 +468,7 @@ }, show: false, }, - ], + ] as FormSchema[], }; return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_STD.ts b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_STD.ts index 4352564..78087a2 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_STD.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_STD.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-01 20:16:53 + * @LastEditTime: 2024-07-02 21:29:12 */ import { ActionItem, BasicColumn } from '/@/components/Table'; @@ -122,13 +122,17 @@ CODE: params['record']['STD_CODE'], ID: params['record']['ID'], Name: 'QMS_INS_ITEM', //涓�鑸槸鏄庣粏琛ㄥ疄浣� + SessionName: 'QMS_INS_ITEM_update', //SessionStorage鐨刱ey Title: `缂栬緫妫�楠岄」鐩細${params['record']['STD_CODE']}`, pCode: 'TECH_STD', //璺宠浆鍒伴珮绾ц〃鍗曠殑鍏抽敭瀛楁鍚� mCode: 'STD_CODE', //璺宠浆鍒伴珮绾ц〃鍗曠殑鍏抽敭瀛楁鍚嶆槧灏勫瓧娈� IsID: false, drawers: [{ name: 'QMS_INS_ITEM', code: 'STD_CODE' }], //drawers鏄彸杈瑰脊鍑哄鏀逛晶妗嗙殑鍚嶅瓧鍒楄〃 }; - args[5](`/QMS_INS_ITEM/High/${encodeURI(JSON.stringify(param))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${param.SessionName}_params`); + sessionStorage.setItem(`${param.SessionName}_update_params`, encodeURI(JSON.stringify(param))); + args[5](`/QMS_INS_ITEM/High/${encodeURI(JSON.stringify({ sName: param.SessionName, Name: param.Name }))}`); } return [methods, ActionColumn]; diff --git a/src/views/tigerprojects/system/lowcode/high/baseForm.vue b/src/views/tigerprojects/system/lowcode/high/baseForm.vue index 1549a67..80bf4ef 100644 --- a/src/views/tigerprojects/system/lowcode/high/baseForm.vue +++ b/src/views/tigerprojects/system/lowcode/high/baseForm.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-23 17:21:29 * @LastEditors: Ben Lin - * @LastEditTime: 2024-06-23 18:08:08 + * @LastEditTime: 2024-07-02 21:26:46 --> <template> <a-card @@ -22,13 +22,15 @@ import { Card } from 'ant-design-vue'; import { getEntity } from '/@/api/tigerapi/system'; import { isNullOrEmpty } from '/@/utils/is'; - + const props = defineProps({ + entityName: { type: String }, + }); const ACard = Card; const objParams = inject('objParams') as Ref<any>; const useFormData = inject('useFormData') as Ref<{}>; const baseCards = inject('baseCards') as Ref<any>; const custImport = ref<any[]>( - await import(`../entityts/${objParams['Name']}.ts`), + await import(`../entityts/${props.entityName}.ts`), ); const [ { @@ -55,7 +57,7 @@ onMounted(() => { useFormData.value[_baseCards.value[0]['name']][1].resetFields(); getEntity({ - sqlcmd: ` ID = '${objParams['ID']}'`, + sqlcmd: ` ID = '${objParams.value['ID']}'`, entityName: _baseCards.value[0]['entityName'], }).then((res) => { if (!isNullOrEmpty(res.Data.Items)) { diff --git a/src/views/tigerprojects/system/lowcode/high/dtl.vue b/src/views/tigerprojects/system/lowcode/high/dtl.vue index f7b1691..389a2b9 100644 --- a/src/views/tigerprojects/system/lowcode/high/dtl.vue +++ b/src/views/tigerprojects/system/lowcode/high/dtl.vue @@ -53,6 +53,7 @@ const { t } = useI18n(); const ACard = Card; + const emit = defineEmits(['search']); const props = defineProps({ colSlots: { type: Array as PropType<any[]> }, useTableData: { type: Object as PropType<{}>, default: { table: [] } }, @@ -61,6 +62,7 @@ }); const objParams = inject('objParams') as Ref<any>; const data = inject('data') as Ref<any>; + const _useTables = inject('useTables') as Ref<any>; const useFormData = inject('useFormData') as Ref<{}>; const others = inject('others') as Ref<Recordable[]>; const go = useGo(); @@ -103,10 +105,11 @@ ] = isNullOrUnDef(custImport.value['default']) ? EntityCustFunction.value : custImport.value['default'](); - others.value = OthersValues(objParams['CODE'], objParams['ID']); - const drawers = ref<any[]>(objParams['drawers']); - const useTables = GetUseTables(data); + others.value = OthersValues(objParams.value['CODE'], objParams.value['ID']); + const drawers = ref<any[]>(objParams.value['drawers']); + const useTables = GetUseTables(data, emit); const useDrawers = GetUseDrawers(); + _useTables.value = useTables; // watch( // () => props.dataSource, // (newVal, oldVal) => { @@ -157,7 +160,7 @@ isUpdate: true, ifSave: true, entityName: props.entityName, - formJson: GetCrudForm(item), //getFormSchema(`${entityName.value}_Crud`), + formJson: GetCrudForm(item, data), //getFormSchema(`${entityName.value}_Crud`), cType, dtlSlots, useModalData, @@ -183,8 +186,7 @@ if (isNullOrUnDef(custImport.value)) { return actionItem; } - const [{ ActionItem }] = custImport.value['default'](); - return ActionItem( + return nActionItem( params, actionItem, useDrawers[index][item][1].openDrawer, @@ -242,18 +244,18 @@ const Keys = Object.getOwnPropertyNames(useFormData.value); let i; for (i = 0; i < Keys.length; i++) { - others.value[objParams['pCode']] = objParams['IsID'] + others.value[objParams.value['pCode']] = objParams.value['IsID'] ? res[Keys[i]]['ID'] - : res[Keys[i]][objParams['pCode']] == '0' || - isNullOrUnDef(res[Keys[i]][objParams['pCode']]) - ? res[Keys[i]][objParams['mCode']] - : res[Keys[i]][objParams['pCode']]; + : res[Keys[i]][objParams.value['pCode']] == '0' || + isNullOrUnDef(res[Keys[i]][objParams.value['pCode']]) + ? res[Keys[i]][objParams.value['mCode']] + : res[Keys[i]][objParams.value['pCode']]; } useDrawers[index][item][1].openDrawer(true, { isUpdate: false, ifSave: true, entityName: props.entityName, - formJson: GetCrudForm(item), //getFormSchema(`${entityName.value}_Crud`), + formJson: GetCrudForm(item, data), //getFormSchema(`${entityName.value}_Crud`), crudColSlots: props.crudColSlots, others: others.value, }); diff --git a/src/views/tigerprojects/system/lowcode/high/index.vue b/src/views/tigerprojects/system/lowcode/high/index.vue index 8a05ce8..2fc2b7a 100644 --- a/src/views/tigerprojects/system/lowcode/high/index.vue +++ b/src/views/tigerprojects/system/lowcode/high/index.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-18 15:09:48 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-02 03:42:25 + * @LastEditTime: 2024-07-02 22:51:31 --> <!-- * _oo0oo_ @@ -49,12 +49,12 @@ @back="goBack" > <Suspense> - <baseForm /> + <baseForm :entityName="entityName" /> </Suspense> <!-- <a-card :title="titleInfo['baseTableTitle']" :bordered="false" class="!mt-5"> --> - <Suspense> - <dtl :entityName="entityName" /> - </Suspense> + <Suspense> + <dtl :entityName="entityName" @search="dtlFormSearch" /> + </Suspense> <!-- </a-card> --> <a-card :title="item.title" @@ -105,7 +105,13 @@ import dtl from './dtl.vue'; import baseForm from './baseForm.vue'; import GeneralModal from '/@/views/components/GeneralModal.vue'; - import { AddListEntity, DeleteWhere, SaveEntity, getEntity } from '/@/api/tigerapi/system'; + import { + AddAfterDelete, + AddListEntity, + DeleteWhere, + SaveEntity, + getEntity, + } from '/@/api/tigerapi/system'; import { useGlobSetting } from '/@/hooks/setting'; import { useRoute, useRouter } from 'vue-router'; import CustModal from '/@/views/components/CustModal.vue'; @@ -119,7 +125,6 @@ import { buildUUID } from '/@/utils/uuid'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { useI18n } from '/@/hooks/web/useI18n'; -import { Reactified } from '@vueuse/core'; const { t } = useI18n(); @@ -135,9 +140,12 @@ return tabStore.getTabList.find((item) => item.fullPath === route.fullPath)!; } const currentTab = getCurrentTab(); - const objParams = ref(JSON.parse(decodeURI(route.params?.id as string))); + const routeParams = ref(JSON.parse(decodeURI(route.params?.id as string))); + const entityName = ref(routeParams.value.Name); + // 浠巗essionStorage涓鍙栧弬鏁板苟杞崲鍥炲璞� + const savedParams = sessionStorage.getItem(`${routeParams.value.sName}_params`); + const objParams = savedParams ? ref(JSON.parse(decodeURI(savedParams))) : ref({}); const titleInfo = ref({}); //getTitle(objParams.value.Name); - const entityName = ref(objParams.value.Name); const isAllUpdate = ref(objParams.value.CODE != '0'); const globSetting = useGlobSetting(); const formSchemas = ref({}); //寮瑰嚭妗嗘垨楂樼骇椤甸潰澶氳〃鍗曠粨鏋� @@ -153,14 +161,16 @@ const custImport = ref<any[]>([]); const others = ref<any>(null); const data = ref<any>({}); - for(const i in objParams.value['drawers']){ + const useTables = ref<any>({}); + for (const i in objParams.value['drawers']) { data.value[objParams.value['drawers'][i]['name']] = ref<Recordable[]>([]); } - provide<Ref<any>>('objParams', objParams.value); + provide<Ref<any>>('objParams', objParams); provide<Ref<any>>('data', data); provide<Ref<any>>('others', others); provide<Ref<{}>>('useFormData', useFormData); provide<Ref<any>>('baseCards', baseCards); + provide<Ref<any>>('useTables', useTables); const [registerCust, { openModal: openCustomModal, closeModal }] = useModal(); const { setTitle } = useTabs(); @@ -180,7 +190,7 @@ /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */ try { custImport.value = await import(`../entityts/${entityName.value}.ts`); - const [{GetTitle}] = custImport.value['default'](); + const [{ GetTitle }] = custImport.value['default'](); titleInfo.value = GetTitle(); } catch (e) {} isMounted.value = true; @@ -200,19 +210,32 @@ p.push(SaveEntity(res[Keys[i]], unref(isAllUpdate), baseCards.value[i]['entityName'])); } Promise.all(p).then((action) => { - DeleteWhere( - ` ${objParams.value.pCode} = '${others.value[objParams.value.pCode]}'`, - entityName.value, - ).then((res) => { - if (res.IsSuccessed) { - data.value.forEach((item) => { - item.ID = buildUUID(); - }); - AddListEntity(data.value, entityName.value).then((action) => { - if (action.IsSuccessed) { - cancel(); - } - }); + // DeleteWhere( + // ` ${objParams.value.pCode} = '${others.value[objParams.value.pCode]}'`, + // entityName.value, + // ).then((res) => { + // if (res.IsSuccessed) { + // data.value.forEach((item) => { + // item.ID = buildUUID(); + // }); + // AddListEntity(data.value, entityName.value).then((action) => { + // if (action.IsSuccessed) { + // cancel(); + // } + // }); + // } + // }); + let where = `${objParams.value['drawers'][0]['code']} = '${others.value[objParams.value['drawers'][0]['code']]}'`; + data.value[objParams.value['drawers'][0]['name']].forEach((item) => { + item.ID = buildUUID(); + }); + AddAfterDelete( + objParams.value['drawers'][0]['name'], + data.value[objParams.value['drawers'][0]['name']], + where, + ).then((action) => { + if (action.IsSuccessed) { + cancel(); } }); }); @@ -249,6 +272,25 @@ } /** + * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛屾牴鎹搴斿瓙缁勪欢涓〃鏍肩殑鏌ヨ鎸夐挳鎻愪氦浜嬩欢杞叆鍔ㄦ�佽皟鐢ㄧ殑瀹炰綋鍚嶆柟娉曞幓鎵ц瀵瑰簲鐨勬煡璇㈤�昏緫锛岃繑鍥炲悗鍒锋柊鏁版嵁 + * @param {*} d + * @return {*} + */ + function dtlFormSearch(d) { + try { + var values = useTables.value[d.type][1].getForm().getFieldsValue(); + let data = custImport.value['default']()[0].FormSearch({ ...d, ...{ values: values } }); + useTables.value[d.type][1].setProps({ + dataSource: [], + }); + useTables.value[d.type][1].setProps({ + dataSource: data, + }); + useTables.value[d.type][1].reload(); + } catch (e) {} + } + + /** * @description: Select 鑷畾涔塷nChange鏂规硶 * @param {*} obj * @return {*} diff --git a/src/views/tigerprojects/system/lowcode/normal/mainTable.vue b/src/views/tigerprojects/system/lowcode/normal/mainTable.vue index ff8814e..22e76eb 100644 --- a/src/views/tigerprojects/system/lowcode/normal/mainTable.vue +++ b/src/views/tigerprojects/system/lowcode/normal/mainTable.vue @@ -254,7 +254,9 @@ const result = CreateAction(fnName); switch (result.action) { case 'go': - go(`/${result.url}/${encodeURI(JSON.stringify(result.params))}`); + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.setItem(`${result.params.Name}_params`, encodeURI(JSON.stringify(result.params))); + go(`/${result.url}/${encodeURI(JSON.stringify({ sName: result.params.Name, Name: result.params.Name }))}`); break; case 'drawer': openDrawer(true, { -- Gitblit v1.9.3