| | |
| | | # @version: |
| | | # @Date: 2024-06-17 14:51:25 |
| | | # @LastEditors: Ben Lin |
| | | # @LastEditTime: 2024-06-28 10:36:06 |
| | | # @LastEditTime: 2024-07-06 22:01:00 |
| | | ### |
| | | # Whether to open mock |
| | | VITE_USE_MOCK = false |
| | |
| | | VITE_GLOB_DOWNLOAD_URL=http://localhost:8800/files |
| | | |
| | | # Interface prefix |
| | | VITE_GLOB_API_URL_PREFIX =4I4BZ-HLFC4-WRLUP-XXYTX-FFHY2-DQFH4 |
| | | VITE_GLOB_API_URL_PREFIX = |
| | | VITE_GLOB_MAP_KEY = 4I4BZ-HLFC4-WRLUP-XXYTX-FFHY2-DQFH4 |
| | | VITE_USE_ORG = 'N' |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 11:21:08 |
| | | * @LastEditTime: 2024-07-05 09:53:32 |
| | | */ |
| | | |
| | | import { Ref, ref } from 'vue'; |
| | |
| | | ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { |
| | | /* 重写删除方法 */ |
| | | if (!isNullOrUnDef(data[1])) { |
| | | data[1].popConfirm.confirm = custDel.bind(null, args, params); |
| | | data[1].popConfirm.confirm = Del.bind(null, args, params); |
| | | } |
| | | return data; |
| | | }, |
| | |
| | | return { |
| | | ...item, |
| | | PKG_CODE: d.PKG_CODE, |
| | | PKG_NAME: d.PKG_NAME, |
| | | PKG_LEVEL: d.PKG_LEVEL, |
| | | PKG_QTY: d.PKG_QTY, |
| | | LABEL_CODE: d.LABEL_CODE, |
| | |
| | | |
| | | /* 以下是内部方法,不export,供上面的方法调用 */ |
| | | |
| | | /** |
| | | * @description: 自定义删除方法 |
| | | * @param {Fn} args |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | function Del(args: Fn[], params: {}) { |
| | | const name = params['name']; |
| | | const useTables = args[1]; |
| | | if (!isNullOrEmpty(params['data'])) { |
| | | var _data = params['data'].value[name] |
| | | .filter((x) => x['ID'] != params['record']['ID']) //过滤掉删除掉的记录 |
| | | .map((item) => { |
| | | //如果序号大于删除掉的记录的序号的,则序号减1 |
| | | item['PKG_LEVEL'] = |
| | | item['PKG_LEVEL'] > params['record']['PKG_LEVEL'] |
| | | ? item['PKG_LEVEL'] - 1 |
| | | : item['PKG_LEVEL']; |
| | | return item; |
| | | }); |
| | | params['data'].value[name] = _data; |
| | | useTables[name][1].setProps({ |
| | | dataSource: [], |
| | | }); |
| | | useTables[name][1].setProps({ |
| | | dataSource: params['data'].value[name], |
| | | }); |
| | | useTables[name][1].reload(); |
| | | } else { |
| | | DeleteEntity(params['record'], params['entityName']).then((action) => { |
| | | if (action.IsSuccessed) { |
| | | useTables[name][1].reload(); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | const searchForms = { |
| | | BAS_PKG_DTL: [ |
| | | { |
| | |
| | | { |
| | | title: '包装/载具编码', |
| | | dataIndex: 'PKG_CODE', |
| | | // ifShow: false, |
| | | ifShow: false, |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '包装/载具名称', |
| | | dataIndex: 'PKG_NAME', |
| | | ifShow: false, |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '包装/载具', |
| | | dataIndex: 'PKG_FULL', |
| | | width: 180, |
| | | customRender: ({ record }) => { |
| | | return `${record.PKG_CODE} - ${record.PKG_NAME}`; |
| | | }, |
| | | }, |
| | | { |
| | | title: '包装层级', |
| | |
| | | resultField: 'Data.Items', |
| | | labelField: 'PKG_NAME', |
| | | valueField: 'PKG_CODE', |
| | | onChange: (e, v) => { |
| | | console.log('ApiSelect====>:', e, v); |
| | | formModel.PKG_NAME = isNullOrUnDef(v) ? formModel.PKG_NAME : v.label; |
| | | }, |
| | | }; |
| | | }, |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | { |
| | | label: '包装名称', |
| | | field: 'PKG_NAME', |
| | | component: 'Input', |
| | | colProps: { |
| | | span: 24, |
| | | }, |
| | | show: false, |
| | | }, |
| | | { |
| | | label: '备注', |
| | | field: 'REMARK', |
| | | component: 'Input', |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 09:25:27 |
| | | * @LastEditTime: 2024-07-05 00:15:04 |
| | | */ |
| | | |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | |
| | | IsID: true, |
| | | drawers: [ |
| | | { |
| | | name: 'BAS_PKG_DTL', |
| | | name: 'BAS_PKG_DTL', //实际的实体名 |
| | | dataType: 'V_BAS_PKG_DTL', //如果这里给了值,则会替换name的实体名去查义数据库 |
| | | code: 'PKG_RULE_ID', |
| | | type: 'one', |
| | | keyName: 'BAS_PKG_DTL', |
| | |
| | | drawers: [ |
| | | { |
| | | name: 'BAS_PKG_DTL', |
| | | dataType: 'V_BAS_PKG_DTL', //如果这里给了值,则会替换name的实体名去查义数据库 |
| | | code: 'PKG_RULE_ID', |
| | | type: 'one', |
| | | keyName: 'BAS_PKG_DTL', |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 23:06:52 |
| | | * @LastEditTime: 2024-07-04 23:53:48 |
| | | */ |
| | | |
| | | import { Ref, h, ref, unref } from 'vue'; |
| | |
| | | title: '列表信息', |
| | | dataSource: data.value['MES_SHIFT'], |
| | | columns: baseColumns['MES_SHIFT'], |
| | | maxHeight: 230, |
| | | maxHeight: 160, |
| | | formConfig: { |
| | | labelWidth: 140, |
| | | schemas: searchForms['MES_SHIFT'], |
| | |
| | | title: '列表信息', |
| | | dataSource: data.value['MES_SHIFT_PRD'], |
| | | columns: baseColumns['MES_SHIFT_PRD'], |
| | | maxHeight: 260, |
| | | maxHeight: 550, |
| | | formConfig: { |
| | | labelWidth: 140, |
| | | schemas: searchForms['MES_SHIFT_PRD'], |
| | | submitFunc: () => Search('MES_SHIFT_PRD', data, args[0]), //自定义查询提交按钮的方法,触发查询提交事件 |
| | | }, |
| | | useSearchForm: true, |
| | | useSearchForm: false, |
| | | showTableSetting: false, |
| | | bordered: true, |
| | | canResize: true, |
| | | canResize: false, |
| | | showIndexColumn: false, |
| | | actionColumn: { |
| | | width: 130, |
| | |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 23:08:08 |
| | | * @LastEditTime: 2024-07-04 23:23:35 |
| | | */ |
| | | |
| | | 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', keyName: 'MES_SHIFT', order: '' }, |
| | | { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: 'SFT_CODE' }, |
| | | { |
| | | name: 'MES_SHIFT_PRD', |
| | | code: 'SFT_CODE', |
| | | type: 'all', |
| | | keyName: 'MES_SHIFT', |
| | | order: 'SEQ', |
| | | order: 'SFT_CODE, SEQ', |
| | | }, |
| | | ], //drawers是右边弹出增改侧框的名字列表 |
| | | }, |
| | |
| | | // pCode: 'SFTS_CODE', //主信息关键字段CODE,高级表单用下面drawers里的code |
| | | IsID: false, //是否带过去侧边框的是ID,false就是CODE,true是ID |
| | | drawers: [ |
| | | { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: '' }, //type: one-表示需要code: 'SFTS_CODE'只要唯一值 |
| | | { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: 'SEQ' }, //type: all-表示需要code: 'SFT_CODE'所有的值,keyName:表示需要所有值的code的实体名 |
| | | { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: 'SFT_CODE' }, //type: one-表示需要code: 'SFTS_CODE'只要唯一值 |
| | | { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: 'SFT_CODE,SEQ' }, //type: all-表示需要code: 'SFT_CODE'所有的值,keyName:表示需要所有值的code的实体名 |
| | | ], //drawers是右边弹出增改侧框的名字列表 |
| | | }; |
| | | // 将对象转换为JSON字符串并保存到sessionStorage |
| | |
| | | } |
| | | const list = await getEntity({ |
| | | sqlcmd: sqlcmd, |
| | | entityName: drawers.value[i].name, |
| | | entityName: isNullOrEmpty(drawers.value[i].dataType)? drawers.value[i].name: drawers.value[i].dataType, |
| | | order: drawers.value[i].order, |
| | | }); |
| | | if (!isNullOrEmpty(list.Data) && !isNullOrEmpty(list.Data.Items)) { |
| | |
| | | * @version: |
| | | * @Date: 2024-06-18 15:09:48 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-07-04 19:26:59 |
| | | * @LastEditTime: 2024-07-04 23:59:15 |
| | | --> |
| | | <!-- |
| | | * _oo0oo_ |
| | |
| | | import dtl from './dtl.vue'; |
| | | import baseForm from './baseForm.vue'; |
| | | import GeneralModal from '/@/views/components/GeneralModal.vue'; |
| | | import { |
| | | AddAfterDelete, |
| | | AddListEntity, |
| | | DeleteWhere, |
| | | SaveEntity, |
| | | getEntity, |
| | | } from '/@/api/tigerapi/system'; |
| | | import { AddAfterDelete, SaveEntity } from '/@/api/tigerapi/system'; |
| | | import { useGlobSetting } from '/@/hooks/setting'; |
| | | import { useRoute, useRouter } from 'vue-router'; |
| | | import CustModal from '/@/views/components/CustModal.vue'; |
| | |
| | | import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { isFunction } from 'xe-utils'; |
| | | import { tsToHHmm } from '/@/utils/dateUtil'; |
| | | |
| | | const { t } = useI18n(); |
| | | |