From 6e6fec028ffc9a27b3c8d30eb484cd361a119d76 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 25 十一月 2024 23:53:12 +0800 Subject: [PATCH] 入库单更新 --- src/views/tigerprojects/system/lowcode/data.ts | 148 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 132 insertions(+), 16 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts index fb22e6e..dca6657 100644 --- a/src/views/tigerprojects/system/lowcode/data.ts +++ b/src/views/tigerprojects/system/lowcode/data.ts @@ -4,20 +4,26 @@ * @version: * @Date: 2024-06-02 17:52:35 * @LastEditors: Ben Lin - * @LastEditTime: 2024-08-03 23:48:01 + * @LastEditTime: 2024-10-23 23:01:49 */ import { ActionItem, FormSchema, PopConfirm } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; -import { isNullOrEmpty } from '/@/utils/is'; +import { isArray, isNullOrEmpty, isNullOrUnDef, isTimeViaRegExp8601 } from '/@/utils/is'; import { woCustFn, woformSchema } from '/@/views/components/bizMesWo'; import { useModal } from '/@/components/Modal'; import { Ref, unref } from 'vue'; -import { getRouteData } from '/@/api/tigerapi/mes/router'; +import { getRouteData, getWoRouteData } from '/@/api/tigerapi/mes/router'; import { buildUUID } from '/@/utils/uuid'; import { useUserStore } from '/@/store/modules/user'; -import { formatToDateTime } from '/@/utils/dateUtil'; -import { DeleteEntity } from '/@/api/tigerapi/system'; +import { dateUtil, formatToDateTime } from '/@/utils/dateUtil'; +import { DeleteEntity, getEntity } from '/@/api/tigerapi/system'; +import { useGo } from '/@/hooks/web/usePage'; +import { useQueryStore } from '/@/store/modules/queryInpage'; +import { RouteRecordName } from 'vue-router'; +import { cloneDeep } from 'lodash-es'; +import dayjs from 'dayjs'; +import { utils } from 'sortablejs'; const { t } = useI18n(); /** @@ -38,7 +44,7 @@ * @return {*} */ export function GetActionsData(params: {}, ...args) { - let data = [] as ActionItem[]; + const data = [] as ActionItem[]; return data; } @@ -154,10 +160,10 @@ * @param {*} lf * @return {*} */ -export async function initRoute(lf, rotId, routeData, currlf) { +export async function initRoute(lf, rotId, routeData, currlf, rotType) { currlf.value = unref(lf); //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋 - var _data = await getRouteData(rotId); + const _data = rotType == 'Wo' ? await getWoRouteData(rotId) : await getRouteData(rotId); console.log('缁勪欢宸叉寕杞�', _data); if (_data.Data != null) { _data.Data.nodes.forEach((n) => { @@ -212,12 +218,7 @@ 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; - }); - } + let _data2: any[] = cloneDeep(data.value[item]); _data2.push(d); data.value[item] = _data2; } @@ -233,7 +234,7 @@ const name = params['name']; const useTables = args[1]; if (!isNullOrEmpty(params['data'])) { - var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']); + const _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']); params['data'].value[name] = _data; useTables[name][1].setProps({ dataSource: [], @@ -259,7 +260,7 @@ * @return {*} */ export function GenerateActionButton(params: any, buttons: Ref<[]>, openDrawer: Fn, reload: Fn) { - let actionItem = [] as ActionItem[]; + const actionItem = [] as ActionItem[]; buttons.value.map((x) => { if (x['BUTTON_TYPE'] == 1) { let url = ''; @@ -322,3 +323,118 @@ } }); } + +/** + * @description: 璺宠浆骞舵牴鎹紶鍏ョ殑鍙傛暟閫氳繃session浼犲叆 + * @param {string} path 璺宠浆鍦板潃 + * @return {*} + */ +export function goByParams(path: string, params: {}, go) { + if (path.split('/').length > 2 && path.split('/')[2] == 'LC') { + getEntity({ + sqlcmd: `ASSEMBLY_NAME ='${path.split('/')[1]}'`, + entityName: 'SYS_LOW_CODE', + order: '', + }).then((data) => { + const searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); + const colSlots = [] as string[]; + for (const i in searchForms) { + if (!isNullOrUnDef(searchForms[i]['colSlot'])) { + colSlots.push('form-' + searchForms[i]['colSlot']); + } + } + + const _cruds = JSON.parse(data.Data.Items[0].FORM_JSON); + const crudColSlots = [] as string[]; + for (const i in _cruds) { + if (!isNullOrUnDef(_cruds[i]['colSlot'])) { + crudColSlots.push(_cruds[i]['colSlot']); + } + } + const id = { + ID: path.split('/')[1], + colSlots: colSlots, + crudColSlots: crudColSlots, + sName: `${path.split('/')[1]}_update`, + }; + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${id.sName}_params`); + sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify({ params: params }))); + go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify(id))}`); + }); + } else if ( + (path.split('/').length > 2 && path.split('/')[2] == 'High') || + path.split('/')[2] == 'CP' + ) { + const id = { sName: `${path.split('/')[1]}_update`, Name: path.split('/')[1], params: params }; + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${id.sName}_params`); + sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify(id))); + go( + `/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify({ sName: id.sName, Name: id.Name }))}`, + ); + } else { + const id = { sName: `${path.split('/')[1]}_update`, params: params }; + // 灏嗗璞¤浆鎹负JSON瀛楃涓插苟淇濆瓨鍒皊essionStorage + sessionStorage.removeItem(`${id.sName}_params`); + sessionStorage.setItem(`${id.sName}_params`, encodeURI(JSON.stringify(id))); + go(`${path}/${encodeURI(JSON.stringify({ sName: id.sName }))}`); + } +} + +/** + * @description: 璋冪敤api鍓嶏紝鍙傛暟鏁寸悊 + * @param {*} t + * @return {*} + */ +export function SearchInfoFn(param: any, name: RouteRecordName | null | undefined, ByOrg: boolean) { + const useQuery = useQueryStore(); + if ( + !isNullOrUnDef(useQuery.getCurSearchInfo) && + useQuery.getCurSearchInfo.some((q) => q.name == name) + ) { + const curSearchInfo = useQuery.getCurSearchInfo.filter((q) => q.name == name); + const Keys = Object.getOwnPropertyNames(curSearchInfo[0].searchInfo); + for (const k in Keys) { + if (Keys[k] != 'page' && Keys[k] != 'pageSize') { + param[Keys[k]] = curSearchInfo[0].searchInfo[Keys[k]]; + } + } + useQuery.setCurSearchInfo({ name: name, searchInfo: param }); + } + if (isNullOrEmpty(param.option) && ByOrg) { + param.option = { + //鏍规嵁鎹偣鏌ヨ锛屽繀闇�甯﹁繖涓弬鏁� + UserId: useUserStore().getUserInfo.userId, + ByOrg: true, + CurOrg: useUserStore().getUserInfo.orgCode, + }; + } + return param; +} + +/** + * @description: 璇锋眰涔嬪悗瀵硅繑鍥炲�艰繘琛屽鐞� + * @param {*} t + * @return {*} + */ +export function afterFetchFn(t: any, name: RouteRecordName | null | undefined, f) { + const useQuery = useQueryStore(); + if ( + !isNullOrUnDef(useQuery.getCurSearchInfo) && + useQuery.getCurSearchInfo.some((q) => q.name == name) + ) { + const curSearchInfo = useQuery.getCurSearchInfo.filter((q) => q.name == name); + const params = cloneDeep(curSearchInfo[0].searchInfo); + const Keys = Object.getOwnPropertyNames(params); + for (const k in Keys) { + if (!isNullOrEmpty(params[Keys[k]].length) && isArray(params[Keys[k]])) { + if (isTimeViaRegExp8601(params[Keys[k]][0])) { + params[Keys[k]][0] = dateUtil(params[Keys[k]][0]) + params[Keys[k]][1] = dateUtil(params[Keys[k]][1]) + } + } + } + f.setFieldsValue(params); + } +} -- Gitblit v1.9.3