| | |
| | | } |
| | | |
| | | /* 通用获取实体记录 */ |
| | | export const getEntity = async (params: { sqlcmd: string; entityName: string }) => { |
| | | export const getEntity = async (params: { sqlcmd: string; entityName: string, order: string }) => { |
| | | const usParams = genAction(params.entityName, { |
| | | QueryAble_T: '', |
| | | where: params.sqlcmd, |
| | | order: '', |
| | | order: params.order, |
| | | }); |
| | | return await defHttp.post( |
| | | { url: Api.QueryUrl, params: usParams }, |
| | |
| | | getEntity({ |
| | | sqlcmd: `ASSEMBLY_NAME ='${path.split('/')[1]}'`, |
| | | entityName: 'SYS_LOW_CODE', |
| | | order: '' |
| | | }).then((data) => { |
| | | var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); |
| | | let colSlots = [] as string[]; |
| | |
| | | * @Author: Ben Lin |
| | | * @version: |
| | | * @Date: 2024-06-05 16:10:24 |
| | | * @LastEditors: your name |
| | | * @LastEditTime: 2024-06-15 22:43:55 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 21:56:56 |
| | | */ |
| | | /* 工单相关自定义方法 */ |
| | | import { FunctionType } from '/@/api/tigerapi/model/systemModel'; |
| | |
| | | }, |
| | | componentProps: { |
| | | api: getEntity, |
| | | params: { entityName: 'MES_LINE', sqlcmd: ' 1=1 ' }, |
| | | params: { entityName: 'MES_LINE', sqlcmd: ' 1=1 ', order: '' }, |
| | | resultField: 'Data.Items', |
| | | labelField: 'LINE_NAME', |
| | | valueField: 'LINE_CODE', |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-02 20:00:10 |
| | | * @LastEditTime: 2024-07-03 21:37:02 |
| | | */ |
| | | |
| | | import { Ref, h, unref } from 'vue'; |
| | |
| | | * @return {*} |
| | | */ |
| | | function DftGrpDel(args: Fn[], params: {}) { |
| | | const name = params['name']; |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value = _data; |
| | | var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value[name] = _data; |
| | | args[6]({ |
| | | dataSource: [], |
| | | }); |
| | | args[6]({ |
| | | dataSource: params['data'], |
| | | dataSource: params['data'].value[name], |
| | | }); |
| | | args[1](); |
| | | } else { |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-02 19:59:52 |
| | | * @LastEditTime: 2024-07-04 00:10:35 |
| | | */ |
| | | |
| | | import { Ref } from 'vue'; |
| | | import { Ref, ref } from 'vue'; |
| | | import { DeleteEntity, getEntity } from '/@/api/tigerapi/system'; |
| | | 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'; |
| | | |
| | |
| | | fixed: undefined, |
| | | }; |
| | | |
| | | let _data = ref<any>({}); |
| | | let record = {}; |
| | | /** |
| | | * @description: 一些自定义方法 |
| | | * @return {*} |
| | |
| | | }; |
| | | return item; |
| | | }); |
| | | EditOperation(data,d, u, item, _data); |
| | | EditOperation(data, d, u, item, _data); |
| | | }, |
| | | /** |
| | | * @description: 高级表单和详情页面返回主页面的url |
| | |
| | | * @description: 高级表单增删改表单字段 |
| | | * @return {*} |
| | | */ |
| | | GetCrudForm: (type: string) => { |
| | | GetCrudForm: (type: string, ...args) => { |
| | | _data = args[0]; |
| | | record = args[1]; |
| | | return crudForms[type]; |
| | | }, |
| | | KeyFieldValues: (val: string, id: string) => { |
| | |
| | | * @return {*} |
| | | */ |
| | | function custDel(args: Fn[], params: {}) { |
| | | const name = params['name']; |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value = _data; |
| | | var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value[name] = _data; |
| | | args[6]({ |
| | | dataSource: [], |
| | | }); |
| | | args[6]({ |
| | | dataSource: params['data'], |
| | | dataSource: params['data'].value[name], |
| | | }); |
| | | args[1](); |
| | | } else { |
| | |
| | | const crudForms = { |
| | | BAS_PKG_DTL: [ |
| | | { |
| | | field: 'PKG_CODE', |
| | | label: '包装/载具编码', |
| | | component: 'ApiSelect', |
| | | required: true, |
| | | label: '包装规则ID', |
| | | field: 'PKG_RULE_ID', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | componentProps: { |
| | | api: getEntity, |
| | | params: { entityName: 'BAS_PKG_TYPE', sqlcmd: ' 1=1 ' }, |
| | | resultField: 'Data.Items', |
| | | labelField: 'PKG_NAME', |
| | | valueField: 'PKG_CODE', |
| | | dynamicDisabled: ({ values }) => { |
| | | return true; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | }, |
| | | { |
| | | label: '包装规则ID', |
| | | field: 'PKG_RULE_ID', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 24, |
| | | componentProps: ({ formModel }) => { |
| | | formModel.PKG_LEVEL = |
| | | _data['BAS_PKG_DTL'].reduce((max, item) => { |
| | | return max < Number(item.PKG_LEVEL) ? Number(item.PKG_LEVEL) : max; |
| | | }, 0) + 1; |
| | | return { |
| | | onChange: (e) => {}, |
| | | }; |
| | | }, |
| | | dynamicDisabled: ({ values }) => { |
| | | return true; |
| | | }, |
| | | }, |
| | | { |
| | | field: 'PKG_CODE', |
| | | label: '包装/载具编码', |
| | | component: 'ApiSelect', |
| | | required: true, |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | componentProps: ({ formModel }) => { |
| | | let sqlcmd = ' 1=1 '; |
| | | if (!isNullOrEmpty(record) && record['PKG_LEVEL'] == 1) { |
| | | sqlcmd += ` And IS_MIN_PKG = 'Y'`; |
| | | } else { |
| | | sqlcmd += ` And IS_MIN_PKG != 'Y'`; |
| | | } |
| | | return { |
| | | api: getEntity, |
| | | params: { entityName: 'BAS_PKG_TYPE', sqlcmd: sqlcmd }, |
| | | resultField: 'Data.Items', |
| | | labelField: 'PKG_NAME', |
| | | valueField: 'PKG_CODE', |
| | | }; |
| | | }, |
| | | }, |
| | | { |
| | | label: '包装数量', |
| | | field: 'PKG_QTY', |
| | | component: 'Input', |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 11:42:41 |
| | | * @LastEditTime: 2024-07-03 22:04:40 |
| | | */ |
| | | |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | |
| | | Title: '新增包装规则', |
| | | pCode: 'PKG_RULE_ID', |
| | | IsID: true, |
| | | drawers: [{ name: 'BAS_PKG_DTL', code: 'PKG_RULE_ID', type: 'one' }], //drawers是右边弹出增改侧框的名字列表 |
| | | drawers: [{ name: 'BAS_PKG_DTL', code: 'PKG_RULE_ID', type: 'one', order: 'PKG_LEVEL' }], //drawers是右边弹出增改侧框的名字列表 |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | Title: `编辑包装规则:${params['record']['RULE_CODE']}`, |
| | | pCode: 'PKG_RULE_ID', |
| | | IsID: true, |
| | | drawers: [{ name: 'BAS_PKG_DTL', code: 'PKG_RULE_ID', type: 'one' }], //drawers是右边弹出增改侧框的名字列表 |
| | | drawers: [{ name: 'BAS_PKG_DTL', code: 'PKG_RULE_ID', type: 'one', order: 'PKG_LEVEL' }], //drawers是右边弹出增改侧框的名字列表 |
| | | }; |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | | sessionStorage.removeItem(`${param.SessionName}_params`); |
| | |
| | | * @version: |
| | | * @Date: 2024-06-22 00:58:43 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-02 19:59:39 |
| | | * @LastEditTime: 2024-07-03 21:39:08 |
| | | */ |
| | | import { Ref, h } from 'vue'; |
| | | import { DeleteEntity, getEntity } from '/@/api/tigerapi/system'; |
| | |
| | | * @return {*} |
| | | */ |
| | | function rsnGrpDel(args: Fn[], params: {}) { |
| | | const name = params['name']; |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value = _data; |
| | | var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']); |
| | | params['data'].value[name] = _data; |
| | | args[6]({ |
| | | dataSource: [], |
| | | }); |
| | | args[6]({ |
| | | dataSource: params['data'], |
| | | dataSource: params['data'].value[name], |
| | | }); |
| | | args[1](); |
| | | } else { |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 10:15:44 |
| | | * @LastEditTime: 2024-07-03 22:27:11 |
| | | */ |
| | | |
| | | import { Ref, h, ref, unref } from 'vue'; |
| | | import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; |
| | | import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; |
| | | import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; |
| | | import { buildUUID } from '/@/utils/uuid'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { formatToDateTime } from '/@/utils/dateUtil'; |
| | | import { Tag } from 'ant-design-vue'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { useDrawer } from '/@/components/Drawer'; |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 11:42:15 |
| | | * @LastEditTime: 2024-07-03 21:59:28 |
| | | */ |
| | | |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | |
| | | pCode: 'SFTS_CODE', //主信息关键字段CODE |
| | | IsID: false, //是否带过去侧边框的是ID,false就是CODE,true是ID |
| | | drawers: [ |
| | | { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one' }, |
| | | { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT' }, |
| | | { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', order: '' }, |
| | | { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: '' }, |
| | | ], //drawers是右边弹出增改侧框的名字列表 |
| | | }, |
| | | }; |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 20:40:54 |
| | | * @LastEditTime: 2024-07-03 21:57:20 |
| | | */ |
| | | |
| | | import { Ref, h, ref, render, unref } from 'vue'; |
| | |
| | | sqlcmd: sqlcmd, |
| | | entityName: |
| | | params['selectedNodes'].value[0].type == 'Action' ? 'MES_PROD_ACTION' : 'MES_PROD_OPER', |
| | | order: '', |
| | | }).then((res) => { |
| | | params['resetFields'](); |
| | | if (params['selectedNodes'].value[0].type == 'Action') { |
| | |
| | | * @version: |
| | | * @Date: 2024-06-23 17:21:29 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-02 21:26:46 |
| | | * @LastEditTime: 2024-07-03 21:57:32 |
| | | --> |
| | | <template> |
| | | <a-card |
| | |
| | | getEntity({ |
| | | sqlcmd: ` ID = '${objParams.value['ID']}'`, |
| | | entityName: _baseCards.value[0]['entityName'], |
| | | order: '' |
| | | }).then((res) => { |
| | | if (!isNullOrEmpty(res.Data.Items)) { |
| | | useFormData.value[_baseCards.value[0]['name']][1].setFieldsValue(res.Data.Items[0]); |
| | |
| | | if (!isNullOrEmpty(keyFieldValues.value[drawers.value[i].code])) { |
| | | sqlcmd += ` And ${drawers.value[i].code} = '${keyFieldValues.value[drawers.value[i].code]}'`; |
| | | } |
| | | /* type: all-表示需要code的所有的值 */ |
| | | if (drawers.value[i]['type'] == 'all') { |
| | | sqlcmd += ` And ${drawers.value[i]['code']} in (${data.value[drawers.value[i]['keyName']].map((value) => `'${value[drawers.value[i]['code']]}'`).join(',')})`; |
| | | } |
| | | const list = await getEntity({ |
| | | sqlcmd: sqlcmd, |
| | | entityName: drawers.value[i].name, |
| | | order: drawers.value[i].order, |
| | | }); |
| | | if (!isNullOrEmpty(list.Data) && !isNullOrEmpty(list.Data.Items)) { |
| | | data.value[drawers.value[i].name] = list.Data.Items; |
| | |
| | | isUpdate: true, |
| | | ifSave: true, |
| | | entityName: props.entityName, |
| | | formJson: GetCrudForm(item, data), //getFormSchema(`${entityName.value}_Crud`), |
| | | formJson: [], //getFormSchema(`${entityName.value}_Crud`), |
| | | cType, |
| | | dtlSlots, |
| | | useModalData, |
| | |
| | | isUpdate: false, |
| | | ifSave: true, |
| | | entityName: drawers.value[t]['name'], //props.entityName, |
| | | formJson: GetCrudForm(item, data), //获取增删改表单字段 |
| | | // formJson: GetCrudForm(item, data), //获取增删改表单字段 |
| | | crudColSlots: props.crudColSlots, |
| | | keyFieldValues: keyFieldValues.value, |
| | | data, |
| | | name: item, //drawers列表里面的name,表示是哪一个实体,也就是高级表单中表格的名字 |
| | | }); |
| | | } |
| | | }); |
| | |
| | | * @version: |
| | | * @Date: 2024-05-30 13:28:20 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-03 08:52:44 |
| | | * @LastEditTime: 2024-07-03 21:57:53 |
| | | --> |
| | | <template> |
| | | <div> |
| | |
| | | const data = await getEntity({ |
| | | sqlcmd: "ASSEMBLY_NAME ='" + objParams.value.ID + "'", |
| | | entityName: 'SYS_LOW_CODE', |
| | | order: '' |
| | | }); |
| | | var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); |
| | | for (const i in searchForms) { |
| | |
| | | }); |
| | | |
| | | const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { |
| | | isUpdate.value = !!data?.isUpdate; |
| | | ifSave.value = !!data?.ifSave; |
| | | entityName.value = data?.entityName; |
| | | // formSchema.value = await fetchJson( |
| | | // `${globSetting.downloadUrl}/LowCode/${unref(entityName)}/${ |
| | | // entityName.value |
| | | // }_addEditform.json`, |
| | | // ); |
| | | formSchema.value = data?.formJson; |
| | | crudColSlots.value = data?.crudColSlots; |
| | | isExistSql.value = data?.isExistSql; |
| | | resetFields(); |
| | | setDrawerProps({ confirmLoading: false }); |
| | | /* 动态import实体名.ts的自定义方法 */ |
| | | try { |
| | | import(`./entityts/${data?.name}.ts`) |
| | | .then((m) => { |
| | | const [{ GetCrudForm }] = m.default(); |
| | | isUpdate.value = !!data?.isUpdate; |
| | | ifSave.value = !!data?.ifSave; |
| | | entityName.value = data?.entityName; |
| | | formSchema.value = GetCrudForm(data?.name, data?.data, data.record); |
| | | crudColSlots.value = data?.crudColSlots; |
| | | isExistSql.value = data?.isExistSql; |
| | | resetFields(); |
| | | setDrawerProps({ confirmLoading: false }); |
| | | |
| | | if (unref(isUpdate)) { |
| | | setFieldsValue({ |
| | | ...data.record, |
| | | }); |
| | | } else { |
| | | if (!isNullOrUnDef(data?.keyFieldValues)) { |
| | | setFieldsValue(data?.keyFieldValues); |
| | | } |
| | | } |
| | | if (unref(isUpdate)) { |
| | | setFieldsValue({ |
| | | ...data.record, |
| | | }); |
| | | } else { |
| | | if (!isNullOrUnDef(data?.keyFieldValues)) { |
| | | setFieldsValue(data?.keyFieldValues); |
| | | } |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | } catch (e) {} |
| | | }); |
| | | |
| | | const getTitle = computed(() => (!unref(isUpdate) ? '新增' : '编辑')); |
| | |
| | | function handleItemSuccess(d, u, item) { |
| | | /* 动态import实体名.ts的自定义方法 */ |
| | | try { |
| | | import(`./entityts/${getFieldsValue()[`${item.replace(/add/, '')}PSelect_0`]}.ts` |
| | | ) |
| | | import(`./entityts/${getFieldsValue()[`${item.replace(/add/, '')}PSelect_0`]}.ts`) |
| | | .then((m) => { |
| | | const [{ GetSelectSuccess }] = m.default(); |
| | | setFieldsValue(GetSelectSuccess(d, u)); |
| | |
| | | function handleSelectItem(item) { |
| | | /* 动态import实体名.ts的自定义方法 */ |
| | | try { |
| | | import(`./entityts/${getFieldsValue()[`${item.replace(/add/, '')}PSelect_0`]}.ts` |
| | | ) |
| | | import(`./entityts/${getFieldsValue()[`${item.replace(/add/, '')}PSelect_0`]}.ts`) |
| | | .then((m) => { |
| | | const [{ OpenSelectItem }] = m.default(); |
| | | OpenSelectItem(openItemModal); |
| | |
| | | * @version: |
| | | * @Date: 2024-05-30 22:00:44 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-06-18 11:37:37 |
| | | * @LastEditTime: 2024-07-03 21:58:06 |
| | | --> |
| | | <!-- eslint-disable prettier/prettier --> |
| | | <template> |
| | |
| | | getEntity({ |
| | | sqlcmd: "ID ='" + objParams.value.ID + "'", |
| | | entityName: 'SYS_LOW_CODE', |
| | | order: '' |
| | | }).then((data) => { |
| | | /* 查询加载 */ |
| | | var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); |
| | |
| | | } |
| | | if (unref(treeDataProd).length === 0) { |
| | | // treeDataProd.value = (await getProdTreeList()) as any as TreeItem[]; |
| | | let prodTreeData = await getEntity({sqlcmd: '', entityName: 'V_PROD_TREE'}); |
| | | let prodTreeData = await getEntity({sqlcmd: '', entityName: 'V_PROD_TREE', order: ''}); |
| | | treeDataProd.value = convertToTree(prodTreeData.Data.Items,'PARENT_CODE', 'CODE', ''); |
| | | } |
| | | if (unref(treeDataWh).length === 0) { |