| | |
| | | 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; |
| | |
| | | import { UserConfigFn } from 'vite'; |
| | | import { useGlobSetting } from '/@/hooks/setting'; |
| | | import { buildUUID } from '../../utils/uuid'; |
| | | import { DateFormat } from '../../utils/dataformat'; |
| | |
| | | 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', |
| | |
| | | EntitySqlList = '/Base/QuerySQL', |
| | | EntityPageList = '/Base/QueryCustomPage', |
| | | IsAccountExist = '/Base/IsExist', |
| | | AddAfterDelete = '/Base/AddAfterDelete', |
| | | setRoleStatus = '/system/setRoleStatus', |
| | | MenuList = '/SYS/getMenuListAll', |
| | | SaveMenu = '/SYS/SaveMenu', |
| | |
| | | * @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 ( |
| | |
| | | } |
| | | } |
| | | } |
| | | 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) { |
| | |
| | | ); |
| | | } else { |
| | | var check = await isExist(genAction(entityName, args[0])); |
| | | if(check.Data){ |
| | | if (check.Data) { |
| | | check.IsSuccessed = false; |
| | | check.Message = '记录已经存在,不能新增!'; |
| | | return check; |
| | |
| | | } |
| | | |
| | | /** |
| | | * @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 |
| | |
| | | * @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(); |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description: 工艺路线初始化 |
| | | * @param {*} lf |
| | | * @return {*} |
| | | */ |
| | | * @description: 工艺路线初始化 |
| | | * @param {*} lf |
| | | * @return {*} |
| | | */ |
| | | export async function initRoute(lf, rotId, routeData, currlf) { |
| | | currlf.value = unref(lf); |
| | | //通过工艺路线ID获取图形数据,并渲染 |
| | |
| | | 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 */ |
| | |
| | | * @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'; |
| | |
| | | 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() { |
| | |
| | | * @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, |
| | |
| | | }) |
| | | }; |
| | | }, |
| | | /** |
| | | * @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 }; |
| | | } /** |
| | |
| | | * @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: 获取标题信息 |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ] |
| | | ] as FormSchema[], |
| | | } |
| | | |
| | | const crudForms = { |
| | |
| | | }, |
| | | show: false, |
| | | }, |
| | | ] |
| | | ] as FormSchema[], |
| | | } |
| | | |
| | | return [methods, ActionColumn]; |
| | |
| | | * @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'; |
| | |
| | | CODE: params['record']['DFTG_CODE'], |
| | | ID: params['record']['ID'], |
| | | Name: 'BAS_DEFECT', |
| | | SessionName: 'BAS_DEFECT_update', |
| | | Title: `编辑不良代码组:${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字符串并保存到sessionStorage |
| | | 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]; |
| | |
| | | * @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 = { |
| | |
| | | * @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: 高级表单和详情页面返回主页面的url |
| | |
| | | * @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, |
| | |
| | | }, //自定义操作列 |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @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: 获取标题信息 |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | const baseColumns = { |
| | |
| | | title: '更新人', |
| | | dataIndex: 'UPDATE_USER', |
| | | }, |
| | | ], |
| | | ] as BasicColumn[], |
| | | }; |
| | | |
| | | const crudForms = { |
| | |
| | | }, |
| | | show: false, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | return [methods, ActionColumn]; |
| | |
| | | * @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'; |
| | |
| | | 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字符串并保存到sessionStorage |
| | | 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]; |
| | |
| | | * @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 = { |
| | |
| | | * @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: 高级表单和详情页面返回主页面的url |
| | |
| | | * @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, |
| | |
| | | }, //自定义操作列 |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @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 }; |
| | |
| | | title: '更新人', |
| | | dataIndex: 'UPDATE_USER', |
| | | }, |
| | | ], |
| | | ] as BasicColumn[], |
| | | }; |
| | | |
| | | const searchForms = { |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | const crudForms = { |
| | |
| | | }, |
| | | show: false, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | return [methods, ActionColumn]; |
| | |
| | | * @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'; |
| | |
| | | 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字符串并保存到sessionStorage |
| | | 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]; |
| | |
| | | * @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'; |
| | |
| | | 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: '操作', |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | }), |
| | | }; |
| | | }, |
| | | /** |
| | | * @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 }; |
| | | } /** |
| | |
| | | * @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: 获取标题信息 |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | MES_SHIFT_PRD: [ |
| | | { |
| | | field: 'PRD_CODE', |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | const crudForms = { |
| | |
| | | span: 24, |
| | | }, |
| | | componentProps: () => { |
| | | const options = _data.map((entity) => ({ |
| | | const options = _data.value['MES_SHIFT'].map((entity) => ({ |
| | | value: entity.SFT_CODE, |
| | | label: entity.SFT_NAME, |
| | | })); |
| | |
| | | * @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'; |
| | |
| | | CODE: params['record']['SFTS_CODE'], //CODE的值 |
| | | ID: params['record']['ID'], //ID值 |
| | | Name: 'MES_SHIFT', //实体名 |
| | | SessionName: 'MES_SHIFT_update', //SessionStorage的key |
| | | Title: `编辑班制:${params['record']['SFTS_CODE']}`, //标题 |
| | | // pCode: 'SFTS_CODE', //主信息关键字段CODE,高级表单用下面drawers里的code |
| | | IsID: false, //是否带过去侧边框的是ID,false就是CODE,true是ID |
| | |
| | | { name: 'MES_SHIFT_PRD', code: 'SFT_CODE' }, |
| | | ], //drawers是右边弹出增改侧框的名字列表 |
| | | }; |
| | | args[5](`/MES_SHIFT/High/${encodeURI(JSON.stringify(param))}`); |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | | 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]; |
| | |
| | | * @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'; |
| | |
| | | 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() { |
| | |
| | | * @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: 获取新增按钮的行为 |
| | |
| | | * @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, |
| | |
| | | }), |
| | | 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 }; |
| | |
| | | title: '更新人', |
| | | dataIndex: 'UPDATE_USER', |
| | | }, |
| | | ], |
| | | ] as BasicColumn[], |
| | | }; |
| | | |
| | | const searchForms = { |
| | |
| | | span: 8, |
| | | }, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | const crudForms = { |
| | |
| | | }, |
| | | show: false, |
| | | }, |
| | | ], |
| | | ] as FormSchema[], |
| | | }; |
| | | |
| | | return [methods, ActionColumn]; |
| | |
| | | * @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'; |
| | |
| | | CODE: params['record']['STD_CODE'], |
| | | ID: params['record']['ID'], |
| | | Name: 'QMS_INS_ITEM', //一般是明细表实体 |
| | | SessionName: 'QMS_INS_ITEM_update', //SessionStorage的key |
| | | 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字符串并保存到sessionStorage |
| | | 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]; |
| | |
| | | * @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 |
| | |
| | | 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 [ |
| | | { |
| | |
| | | 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)) { |
| | |
| | | |
| | | 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: [] } }, |
| | |
| | | }); |
| | | 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(); |
| | |
| | | ] = 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) => { |
| | |
| | | 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, |
| | |
| | | if (isNullOrUnDef(custImport.value)) { |
| | | return actionItem; |
| | | } |
| | | const [{ ActionItem }] = custImport.value['default'](); |
| | | return ActionItem( |
| | | return nActionItem( |
| | | params, |
| | | actionItem, |
| | | useDrawers[index][item][1].openDrawer, |
| | |
| | | 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, |
| | | }); |
| | |
| | | * @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_ |
| | |
| | | @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" |
| | |
| | | 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'; |
| | |
| | | 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(); |
| | | |
| | |
| | | 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); |
| | | // 从sessionStorage中读取参数并转换回对象 |
| | | 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({}); //弹出框或高级页面多表单结构 |
| | |
| | | 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(); |
| | |
| | | /* 动态import实体名.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; |
| | |
| | | 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(); |
| | | } |
| | | }); |
| | | }); |
| | |
| | | } |
| | | |
| | | /** |
| | | * @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 自定义onChange方法 |
| | | * @param {*} obj |
| | | * @return {*} |
| | |
| | | const result = CreateAction(fnName); |
| | | switch (result.action) { |
| | | case 'go': |
| | | go(`/${result.url}/${encodeURI(JSON.stringify(result.params))}`); |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | | 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, { |