From 46e024bfbc560dca49dc26ac756890e135871bd0 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Mon, 8 Nov 2021 15:25:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=88=A0=E9=99=A4vue3?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=EF=BC=8C=E5=9B=A0=E4=B8=BAvue3=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=A1=B9=E7=9B=AE=E6=9C=AA=E6=AD=A3=E5=BC=8F=E5=8F=91?= =?UTF-8?q?=E5=B8=83=EF=BC=8C=E5=87=8F=E5=B0=91=E5=A4=A7=E5=AE=B6=E7=9A=84?= =?UTF-8?q?=E8=AF=AF=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vue3/${entityName}List.vuei | 244 ------ .../vue3/${entityName}__api.tsi | 61 -- .../vue3/${entityName}__data.tsi | 352 --------- .../vue3/components/${entityName}Modal.vuei | 58 -- .../vue3/${entityName}__api.tsi | 82 -- .../vue3/${entityName}__data.tsi | 352 --------- .../vue3/components/${entityName}Modal.vuei | 87 --- .../${entityPackage}/vue3/index.vuei | 295 -------- .../vue3/${entityName}List.vuei | 244 ------ .../vue3/${entityName}__api.tsi | 72 -- .../vue3/${entityName}__data.tsi | 698 ------------------ .../vue3/components/${entityName}Modal.vuei | 179 ----- .../vue3/components/[1-n]Form.vuei | 64 -- 13 files changed, 2788 deletions(-) delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/index.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei delete mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei deleted file mode 100644 index 70ea973e..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei +++ /dev/null @@ -1,244 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi deleted file mode 100644 index c579f917..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi +++ /dev/null @@ -1,61 +0,0 @@ -import {defHttp} from '/@/utils/http/axios'; -import {Modal} from 'ant-design-vue'; - -enum Api { - list = '/${entityPackage}/${entityName?uncap_first}/list', - save='/${entityPackage}/${entityName?uncap_first}/add', - edit='/${entityPackage}/${entityName?uncap_first}/edit', - deleteOne = '/${entityPackage}/${entityName?uncap_first}/delete', - deleteBatch = '/${entityPackage}/${entityName?uncap_first}/deleteBatch', - importExcel = '/${entityPackage}/${entityName?uncap_first}/importExcel', - exportXls = '/${entityPackage}/${entityName?uncap_first}/exportXls', -} -/** - * 导出api - * @param params - */ -export const getExportUrl = Api.exportXls; -/** - * 导入api - */ -export const getImportUrl = Api.importExcel; -/** - * 列表接口 - * @param params - */ -export const list = (params) => - defHttp.get({url: Api.list, params}); - -/** - * 删除单个 - */ -export const deleteOne = (params,handleSuccess) => { - return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); -} -/** - * 批量删除 - * @param params - */ -export const batchDelete = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); - } - }); -} -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdate = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({url: url, params}); -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi deleted file mode 100644 index 57949c53..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi +++ /dev/null @@ -1,352 +0,0 @@ -import {BasicColumn} from '/@/components/Table'; -import {FormSchema} from '/@/components/Table'; -import { rules} from '/@/utils/helper/validator'; -import { render } from '/@/utils/common/renderUtils'; -//列表数据 -export const columns: BasicColumn[] = [ - <#list columns as po> - <#if po.isShowList =='Y' && po.fieldName !='id'> - { - title: '${po.filedComment}', - align:"center", - <#if po.sort=='Y'> - sorter: true, - - <#if po.classType=='date'> - dataIndex: '${po.fieldName}', - customRender:({text}) =>{ - return !text?"":(text.length>10?text.substr(0,10):text) - }, - <#elseif po.fieldDbType=='Blob'> - dataIndex: '${po.fieldName}String' - <#elseif po.classType=='umeditor'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'htmlSlot' }, - <#elseif po.classType=='pca'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'pcaSlot' },//TODO 未翻译 - <#elseif po.classType=='file'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'fileSlot' }, - <#elseif po.classType=='image'> - dataIndex: '${po.fieldName}', - customRender:render.renderAvatar, - <#elseif po.classType=='switch'> - dataIndex: '${po.fieldName}', -<#assign switch_extend_arr=['Y','N']> -<#if po.dictField?default("")?contains("[")> -<#assign switch_extend_arr=po.dictField?eval> - -<#list switch_extend_arr as a> -<#if a_index == 0> -<#assign switch_extend_arr1=a> -<#else> -<#assign switch_extend_arr2=a> - - - customRender:({text}) => { - return render.renderSwitch(text, [{text:'是',value:'${switch_extend_arr1}'},{text:'否',value:'${switch_extend_arr2}'}]) - }, - <#elseif po.classType == 'sel_tree' || po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart' || po.classType=='sel_user'> - dataIndex: '${po.fieldName}_dictText' - <#elseif po.classType=='cat_tree'> - dataIndex: '${po.fieldName}', - <#if po.dictText?default("")?trim?length == 0> - customRender:({text}) => { - return render.renderCategoryTree(text,'${po.dictField?default("")}') - }, - <#else> - customRender: (text, record) => (text ? record['${po.dictText}'] : '') - - <#else> - dataIndex: '${po.fieldName}' - - }, - - -]; -//查询数据 -export const searchFormSchema: FormSchema[] = [ -<#-- 开始循环 --> -<#list columns as po> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isQuery=='Y'> -<#assign query_flag=true> - <#assign query_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictField}"> - -<#if po.queryMode=='single'> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${po.dictTable},${po.dictText},${po.dictField}" - }, -<#elseif po.classType=='sel_user'> - component: 'JSelectUserByDept', -<#elseif po.classType=='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:"${po.dictField}" - - }, - <#elseif po.classType=='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType=='list_multi'> - component: 'JMultiSelectTag',//暂无该组件 - componentProps:{ - dictCode:"query_field_dictCode?default("")" - }, - <#elseif po.classType=='cat_tree'> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}",//back和事件未添加,暂时有问题 - }, -<#elseif po.classType=='date'> - component: 'DatePicker', -<#elseif po.classType=='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, -<#elseif po.classType=='pca'> - component: 'JAreaLinkage', -<#elseif po.classType=='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:"${po.dictField}", - multi:${po.extendParams.popupMulti?c}, - } - }, -<#elseif po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'> -<#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- --> - component: 'JDictSelectTag', - componentProps:{ - <#if po.dictTable?default("")?trim?length gt 1> - dictCode:"${po.dictTable},${po.dictText},${po.dictField}" - <#elseif po.dictField?default("")?trim?length gt 1> - dictCode:"${po.dictField}" - - }, -<#else> - component: 'Input', - -<#else> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='date'> - component: 'RangePicker', -<#elseif po.classType=='datetime'> - component: 'RangePicker', - componentProps: { - showTime:true - }, -<#else> - component: 'Input', //TODO 范围查询 - - colProps: {span: 6}, - }, - - - -<#-- 结束循环 --> -]; -//表单数据 -export const formSchema: FormSchema[] = [ -<#assign form_cat_tree = false> -<#assign form_cat_back = ""> -<#assign bpm_flag=false> -<#list columns as po><#rt/> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isShow =='Y'> -<#assign form_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictField}"> - - { - label: '${po.filedComment}', - field: '${po.fieldName}', - <#if po.classType =='date'> - component: 'DatePicker', - <#elseif po.fieldType =='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, - <#elseif po.fieldType =='time'> - component: 'TimePicker', - <#elseif po.classType =='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:${po.dictField}, - multi:${po.extendParams.popupMulti?c}, - } - } - <#elseif po.classType =='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType =='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:${po.dictField} - - } - <#elseif po.classType =='pca'> - component: 'JAreaLinkage', - <#elseif po.classType =='markdown'> - component: 'JMarkdownEditor',//注意string转换问题 - <#elseif po.classType =='password'> - component: 'InputPassword', - <#elseif po.classType =='sel_user'> - component: 'JSelectUserByDept', - componentProps:{ - labelKey:'realname', - } - <#elseif po.classType =='textarea'> - component: 'InputTextArea',//TODO 注意string转换问题 - <#elseif po.classType=='list' || po.classType=='radio'> - component: 'JDictSelectTag', - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='list_multi' || po.classType=='checkbox'> - component: 'JMultiSelectTag',//TODO 暂无该组件 - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${form_field_dictCode}" - } -<#elseif po.classType=='cat_tree'> - <#assign form_cat_tree = true> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}", //TODO back和事件未添加,暂时有问题 - } - <#if po.dictText?default("")?trim?length gt 1> - <#assign form_cat_back = "${po.dictText}"> - - <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> - component: 'InputNumber', - <#elseif po.classType=='file'> - component: 'JUpload', - componentProps:{ - <#if po.uploadnum??> - maxCount:${po.uploadnum} - - } - <#elseif po.classType=='image'> - component: 'JImageUpload', - componentProps:{ - <#if po.uploadnum??> - fileMax:${po.uploadnum} - - } - <#elseif po.classType=='umeditor'> - component: 'JCodeEditor', //TODO String后缀暂未添加 - <#elseif po.classType == 'sel_tree'> - component: 'JTreeSelect', - componentProps:{ - <#if po.dictText??> - <#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??> - dict:"${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}", - <#elseif po.dictText?split(',')[1]??> - pidField:"${po.dictText?split(',')[1]}", - <#elseif po.dictText?split(',')[3]??> - hasChildField:"${po.dictText?split(',')[3]}", - - - pidValue:"${po.dictField}", - } - <#else> - component: 'Input', - - <#include "/common/utils.ftl"> - <#if po.isShow == 'Y' && poHasCheck(po)> - dynamicRules: ({model,schema}) => { - <#if po.fieldName != 'id'> - <#assign fieldValidType = po.fieldValidType!''> - return [ - <#-- 非空校验 --> - <#if po.nullable == 'N' || fieldValidType == '*'> - { required: true, message: '请输入${po.filedComment}!'}, - <#elseif fieldValidType!=''> - { required: false}, - - <#-- 唯一校验 --> - <#if fieldValidType == 'only'> - {...rules.duplicateCheckRule(<#if sub?default("")?trim?length gt 1>'${sub.tableName}'<#else>'${tableName}', '${po.fieldDbName}',model,schema,true)[0]}, - <#-- 6到16位数字 --> - <#elseif fieldValidType == 'n6-16'> - { pattern: /^\d{6,16}$/, message: '请输入6到16位数字!'}, - <#-- 6到16位任意字符 --> - <#elseif fieldValidType == '*6-16'> - { pattern: /^.{6,16}$/, message: '请输入6到16位任意字符!'}, - <#-- 6到18位字符串 --> - <#elseif fieldValidType == 's6-18'> - { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, - <#-- 网址 --> - <#elseif fieldValidType == 'url'> - { pattern: /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:\/~+#]*[\w\-@?^=%&\/~+#])?$/, message: '请输入正确的网址!'}, - <#-- 电子邮件 --> - <#elseif fieldValidType == 'e'> - { pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/, message: '请输入正确的电子邮件!'}, - <#-- 手机号码 --> - <#elseif fieldValidType == 'm'> - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, - <#-- 邮政编码 --> - <#elseif fieldValidType == 'p'> - { pattern: /^[1-9]\d{5}$/, message: '请输入正确的邮政编码!'}, - <#-- 字母 --> - <#elseif fieldValidType == 's'> - { pattern: /^[A-Z|a-z]+$/, message: '请输入字母!'}, - <#-- 数字 --> - <#elseif fieldValidType == 'n'> - { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'}, - <#-- 整数 --> - <#elseif fieldValidType == 'z'> - { pattern: /^-?\d+$/, message: '请输入整数!'}, - <#-- 金额 --> - <#elseif fieldValidType == 'money'> - { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!'}, - <#-- 正则校验 --> - <#elseif fieldValidType != '' && fieldValidType != '*'> - { pattern: '${fieldValidType}', message: '不符合校验规则!'}, - <#-- 无校验 --> - <#else> - <#t> - - ]; - - }, - - <#if po.readonly=='Y'> - dynamicDisabled:true - - }, - - -]; diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei deleted file mode 100644 index 1570c46c..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei +++ /dev/null @@ -1,58 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi deleted file mode 100644 index df69b124..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi +++ /dev/null @@ -1,82 +0,0 @@ -import {defHttp} from "/@/utils/http/axios"; -import {Modal} from 'ant-design-vue'; - -enum Api { - list = '/${entityPackage}/${entityName?uncap_first}/rootList', - save='/${entityPackage}/${entityName?uncap_first}/add', - edit='/${entityPackage}/${entityName?uncap_first}/edit', - delete${entityName} = '/sys/${entityName?uncap_first}/delete', - deleteBatch = '/${entityPackage}/${entityName?uncap_first}/deleteBatch', - importExcel = '/${entityPackage}/${entityName?uncap_first}/importExcel', - exportXls = '/${entityPackage}/${entityName?uncap_first}/exportXls', - loadTreeData = '/${entityPackage}/${entityName?uncap_first}/loadTreeRoot', - getChildList = '/${entityPackage}/${entityName?uncap_first}/childList', - getChildListBatch = '/${entityPackage}/${entityName?uncap_first}/getChildListBatch', -} -/** - * 导出api - * @param params - */ -export const getExportUrl = Api.exportXls; -/** - * 导入api - * @param params - */ -export const getImportUrl = Api.importExcel; -/** - * 列表接口 - * @param params - */ -export const list = (params) => - defHttp.get({url: Api.list, params}); -/** - * 删除 - */ -export const delete${entityName} = (params,handleSuccess) => { - return defHttp.delete({url: Api.delete${entityName}, params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); -} -/** - * 批量删除 - * @param params - */ -export const batchDelete${entityName} = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); - } - }); -} -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdateDict = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({url: url, params}); -} -/** - * 查询全部树形节点数据 - * @param params - */ -export const loadTreeData = (params) => - defHttp.get({url: Api.loadTreeData,params}); -/** - * 查询子节点数据 - * @param params - */ -export const getChildList = (params) => - defHttp.get({url: Api.getChildList, params}); -/** - * 批量查询子节点数据 - * @param params - */ -export const getChildListBatch = (params) => - defHttp.get({url: Api.getChildListBatch, params},{isTransformResponse:false}); diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi deleted file mode 100644 index 57949c53..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi +++ /dev/null @@ -1,352 +0,0 @@ -import {BasicColumn} from '/@/components/Table'; -import {FormSchema} from '/@/components/Table'; -import { rules} from '/@/utils/helper/validator'; -import { render } from '/@/utils/common/renderUtils'; -//列表数据 -export const columns: BasicColumn[] = [ - <#list columns as po> - <#if po.isShowList =='Y' && po.fieldName !='id'> - { - title: '${po.filedComment}', - align:"center", - <#if po.sort=='Y'> - sorter: true, - - <#if po.classType=='date'> - dataIndex: '${po.fieldName}', - customRender:({text}) =>{ - return !text?"":(text.length>10?text.substr(0,10):text) - }, - <#elseif po.fieldDbType=='Blob'> - dataIndex: '${po.fieldName}String' - <#elseif po.classType=='umeditor'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'htmlSlot' }, - <#elseif po.classType=='pca'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'pcaSlot' },//TODO 未翻译 - <#elseif po.classType=='file'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'fileSlot' }, - <#elseif po.classType=='image'> - dataIndex: '${po.fieldName}', - customRender:render.renderAvatar, - <#elseif po.classType=='switch'> - dataIndex: '${po.fieldName}', -<#assign switch_extend_arr=['Y','N']> -<#if po.dictField?default("")?contains("[")> -<#assign switch_extend_arr=po.dictField?eval> - -<#list switch_extend_arr as a> -<#if a_index == 0> -<#assign switch_extend_arr1=a> -<#else> -<#assign switch_extend_arr2=a> - - - customRender:({text}) => { - return render.renderSwitch(text, [{text:'是',value:'${switch_extend_arr1}'},{text:'否',value:'${switch_extend_arr2}'}]) - }, - <#elseif po.classType == 'sel_tree' || po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart' || po.classType=='sel_user'> - dataIndex: '${po.fieldName}_dictText' - <#elseif po.classType=='cat_tree'> - dataIndex: '${po.fieldName}', - <#if po.dictText?default("")?trim?length == 0> - customRender:({text}) => { - return render.renderCategoryTree(text,'${po.dictField?default("")}') - }, - <#else> - customRender: (text, record) => (text ? record['${po.dictText}'] : '') - - <#else> - dataIndex: '${po.fieldName}' - - }, - - -]; -//查询数据 -export const searchFormSchema: FormSchema[] = [ -<#-- 开始循环 --> -<#list columns as po> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isQuery=='Y'> -<#assign query_flag=true> - <#assign query_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictField}"> - -<#if po.queryMode=='single'> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${po.dictTable},${po.dictText},${po.dictField}" - }, -<#elseif po.classType=='sel_user'> - component: 'JSelectUserByDept', -<#elseif po.classType=='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:"${po.dictField}" - - }, - <#elseif po.classType=='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType=='list_multi'> - component: 'JMultiSelectTag',//暂无该组件 - componentProps:{ - dictCode:"query_field_dictCode?default("")" - }, - <#elseif po.classType=='cat_tree'> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}",//back和事件未添加,暂时有问题 - }, -<#elseif po.classType=='date'> - component: 'DatePicker', -<#elseif po.classType=='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, -<#elseif po.classType=='pca'> - component: 'JAreaLinkage', -<#elseif po.classType=='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:"${po.dictField}", - multi:${po.extendParams.popupMulti?c}, - } - }, -<#elseif po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'> -<#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- --> - component: 'JDictSelectTag', - componentProps:{ - <#if po.dictTable?default("")?trim?length gt 1> - dictCode:"${po.dictTable},${po.dictText},${po.dictField}" - <#elseif po.dictField?default("")?trim?length gt 1> - dictCode:"${po.dictField}" - - }, -<#else> - component: 'Input', - -<#else> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='date'> - component: 'RangePicker', -<#elseif po.classType=='datetime'> - component: 'RangePicker', - componentProps: { - showTime:true - }, -<#else> - component: 'Input', //TODO 范围查询 - - colProps: {span: 6}, - }, - - - -<#-- 结束循环 --> -]; -//表单数据 -export const formSchema: FormSchema[] = [ -<#assign form_cat_tree = false> -<#assign form_cat_back = ""> -<#assign bpm_flag=false> -<#list columns as po><#rt/> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isShow =='Y'> -<#assign form_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictField}"> - - { - label: '${po.filedComment}', - field: '${po.fieldName}', - <#if po.classType =='date'> - component: 'DatePicker', - <#elseif po.fieldType =='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, - <#elseif po.fieldType =='time'> - component: 'TimePicker', - <#elseif po.classType =='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:${po.dictField}, - multi:${po.extendParams.popupMulti?c}, - } - } - <#elseif po.classType =='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType =='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:${po.dictField} - - } - <#elseif po.classType =='pca'> - component: 'JAreaLinkage', - <#elseif po.classType =='markdown'> - component: 'JMarkdownEditor',//注意string转换问题 - <#elseif po.classType =='password'> - component: 'InputPassword', - <#elseif po.classType =='sel_user'> - component: 'JSelectUserByDept', - componentProps:{ - labelKey:'realname', - } - <#elseif po.classType =='textarea'> - component: 'InputTextArea',//TODO 注意string转换问题 - <#elseif po.classType=='list' || po.classType=='radio'> - component: 'JDictSelectTag', - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='list_multi' || po.classType=='checkbox'> - component: 'JMultiSelectTag',//TODO 暂无该组件 - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${form_field_dictCode}" - } -<#elseif po.classType=='cat_tree'> - <#assign form_cat_tree = true> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}", //TODO back和事件未添加,暂时有问题 - } - <#if po.dictText?default("")?trim?length gt 1> - <#assign form_cat_back = "${po.dictText}"> - - <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> - component: 'InputNumber', - <#elseif po.classType=='file'> - component: 'JUpload', - componentProps:{ - <#if po.uploadnum??> - maxCount:${po.uploadnum} - - } - <#elseif po.classType=='image'> - component: 'JImageUpload', - componentProps:{ - <#if po.uploadnum??> - fileMax:${po.uploadnum} - - } - <#elseif po.classType=='umeditor'> - component: 'JCodeEditor', //TODO String后缀暂未添加 - <#elseif po.classType == 'sel_tree'> - component: 'JTreeSelect', - componentProps:{ - <#if po.dictText??> - <#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??> - dict:"${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}", - <#elseif po.dictText?split(',')[1]??> - pidField:"${po.dictText?split(',')[1]}", - <#elseif po.dictText?split(',')[3]??> - hasChildField:"${po.dictText?split(',')[3]}", - - - pidValue:"${po.dictField}", - } - <#else> - component: 'Input', - - <#include "/common/utils.ftl"> - <#if po.isShow == 'Y' && poHasCheck(po)> - dynamicRules: ({model,schema}) => { - <#if po.fieldName != 'id'> - <#assign fieldValidType = po.fieldValidType!''> - return [ - <#-- 非空校验 --> - <#if po.nullable == 'N' || fieldValidType == '*'> - { required: true, message: '请输入${po.filedComment}!'}, - <#elseif fieldValidType!=''> - { required: false}, - - <#-- 唯一校验 --> - <#if fieldValidType == 'only'> - {...rules.duplicateCheckRule(<#if sub?default("")?trim?length gt 1>'${sub.tableName}'<#else>'${tableName}', '${po.fieldDbName}',model,schema,true)[0]}, - <#-- 6到16位数字 --> - <#elseif fieldValidType == 'n6-16'> - { pattern: /^\d{6,16}$/, message: '请输入6到16位数字!'}, - <#-- 6到16位任意字符 --> - <#elseif fieldValidType == '*6-16'> - { pattern: /^.{6,16}$/, message: '请输入6到16位任意字符!'}, - <#-- 6到18位字符串 --> - <#elseif fieldValidType == 's6-18'> - { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, - <#-- 网址 --> - <#elseif fieldValidType == 'url'> - { pattern: /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:\/~+#]*[\w\-@?^=%&\/~+#])?$/, message: '请输入正确的网址!'}, - <#-- 电子邮件 --> - <#elseif fieldValidType == 'e'> - { pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/, message: '请输入正确的电子邮件!'}, - <#-- 手机号码 --> - <#elseif fieldValidType == 'm'> - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, - <#-- 邮政编码 --> - <#elseif fieldValidType == 'p'> - { pattern: /^[1-9]\d{5}$/, message: '请输入正确的邮政编码!'}, - <#-- 字母 --> - <#elseif fieldValidType == 's'> - { pattern: /^[A-Z|a-z]+$/, message: '请输入字母!'}, - <#-- 数字 --> - <#elseif fieldValidType == 'n'> - { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'}, - <#-- 整数 --> - <#elseif fieldValidType == 'z'> - { pattern: /^-?\d+$/, message: '请输入整数!'}, - <#-- 金额 --> - <#elseif fieldValidType == 'money'> - { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!'}, - <#-- 正则校验 --> - <#elseif fieldValidType != '' && fieldValidType != '*'> - { pattern: '${fieldValidType}', message: '不符合校验规则!'}, - <#-- 无校验 --> - <#else> - <#t> - - ]; - - }, - - <#if po.readonly=='Y'> - dynamicDisabled:true - - }, - - -]; diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei deleted file mode 100644 index 2360e9b3..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei +++ /dev/null @@ -1,87 +0,0 @@ - - diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/index.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/index.vuei deleted file mode 100644 index ca919769..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/index.vuei +++ /dev/null @@ -1,295 +0,0 @@ - - - - - diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei deleted file mode 100644 index 70ea973e..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei +++ /dev/null @@ -1,244 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi deleted file mode 100644 index 3b9ce591..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi +++ /dev/null @@ -1,72 +0,0 @@ -import {defHttp} from '/@/utils/http/axios'; -import {Modal} from 'ant-design-vue'; - -enum Api { - list = '/${entityPackage}/${entityName?uncap_first}/list', - save='/${entityPackage}/${entityName?uncap_first}/add', - edit='/${entityPackage}/${entityName?uncap_first}/edit', - deleteOne = '/${entityPackage}/${entityName?uncap_first}/delete', - deleteBatch = '/${entityPackage}/${entityName?uncap_first}/deleteBatch', - importExcel = '/${entityPackage}/${entityName?uncap_first}/importExcel', - exportXls = '/${entityPackage}/${entityName?uncap_first}/exportXls', -<#list subTables as sub><#rt/> - ${sub.entityName?uncap_first}List = '/${entityPackage}/${entityName?uncap_first}/query${sub.entityName}ByMainId', - -} -/** - * 导出api - * @param params - */ -export const getExportUrl = Api.exportXls; - -/** - * 导入api - */ -export const getImportUrl = Api.importExcel; -<#list subTables as sub><#rt/> -/** - * 查询子表数据 - * @param params - */ -export const ${sub.entityName?uncap_first}List = Api.${sub.entityName?uncap_first}List; - -/** - * 列表接口 - * @param params - */ -export const list = (params) => - defHttp.get({url: Api.list, params}); - -/** - * 删除单个 - */ -export const deleteOne = (params,handleSuccess) => { - return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); -} -/** - * 批量删除 - * @param params - */ -export const batchDelete = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { - handleSuccess(); - }); - } - }); -} -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdate = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({url: url, params}); -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi deleted file mode 100644 index 4380bc23..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi +++ /dev/null @@ -1,698 +0,0 @@ -import {BasicColumn} from '/@/components/Table'; -import {FormSchema} from '/@/components/Table'; -import { rules} from '/@/utils/helper/validator'; -import { render } from '/@/utils/common/renderUtils'; -import {JVxeTypes,JVxeColumn} from '/@/components/jeecg/JVxeTable/types' -//列表数据 -export const columns: BasicColumn[] = [ - <#list columns as po> - <#if po.isShowList =='Y' && po.fieldName !='id'> - { - title: '${po.filedComment}', - align:"center", - <#if po.sort=='Y'> - sorter: true, - - <#if po.classType=='date'> - dataIndex: '${po.fieldName}', - customRender:({text}) =>{ - return !text?"":(text.length>10?text.substr(0,10):text) - }, - <#elseif po.fieldDbType=='Blob'> - dataIndex: '${po.fieldName}String' - <#elseif po.classType=='umeditor'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'htmlSlot' }, - <#elseif po.classType=='pca'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'pcaSlot' },//TODO 未翻译 - <#elseif po.classType=='file'> - dataIndex: '${po.fieldName}', - slots: { customRender: 'fileSlot' }, - <#elseif po.classType=='image'> - dataIndex: '${po.fieldName}', - customRender:render.renderAvatar, - <#elseif po.classType=='switch'> - dataIndex: '${po.fieldName}', -<#assign switch_extend_arr=['Y','N']> -<#if po.dictField?default("")?contains("[")> -<#assign switch_extend_arr=po.dictField?eval> - -<#list switch_extend_arr as a> -<#if a_index == 0> -<#assign switch_extend_arr1=a> -<#else> -<#assign switch_extend_arr2=a> - - - customRender:({text}) => { - return render.renderSwitch(text, [{text:'是',value:'${switch_extend_arr1}'},{text:'否',value:'${switch_extend_arr2}'}]) - }, - <#elseif po.classType == 'sel_tree' || po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart' || po.classType=='sel_user'> - dataIndex: '${po.fieldName}_dictText' - <#elseif po.classType=='cat_tree'> - dataIndex: '${po.fieldName}', - <#if po.dictText?default("")?trim?length == 0> - customRender:({text}) => { - return render.renderCategoryTree(text,'${po.dictField?default("")}') - }, - <#else> - customRender: (text, record) => (text ? record['${po.dictText}'] : '') - - <#else> - dataIndex: '${po.fieldName}' - - }, - - -]; -//查询数据 -export const searchFormSchema: FormSchema[] = [ -<#-- 开始循环 --> -<#list columns as po> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isQuery=='Y'> -<#assign query_flag=true> - <#assign query_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign query_field_dictCode="${po.dictField}"> - -<#if po.queryMode=='single'> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${po.dictTable},${po.dictText},${po.dictField}" - }, -<#elseif po.classType=='sel_user'> - component: 'JSelectUserByDept', -<#elseif po.classType=='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:"${po.dictField}" - - }, - <#elseif po.classType=='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType=='list_multi'> - component: 'JMultiSelectTag',//暂无该组件 - componentProps:{ - dictCode:"query_field_dictCode?default("")" - }, - <#elseif po.classType=='cat_tree'> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}",//back和事件未添加,暂时有问题 - }, -<#elseif po.classType=='date'> - component: 'DatePicker', -<#elseif po.classType=='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, -<#elseif po.classType=='pca'> - component: 'JAreaLinkage', -<#elseif po.classType=='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:"${po.dictField}", - multi:${po.extendParams.popupMulti?c}, - } - }, -<#elseif po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'> -<#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- --> - component: 'JDictSelectTag', - componentProps:{ - <#if po.dictTable?default("")?trim?length gt 1> - dictCode:"${po.dictTable},${po.dictText},${po.dictField}" - <#elseif po.dictField?default("")?trim?length gt 1> - dictCode:"${po.dictField}" - - }, -<#else> - component: 'Input', - -<#else> - { - label: "${po.filedComment}", - field: "${po.fieldName}", -<#if po.classType=='date'> - component: 'RangePicker', -<#elseif po.classType=='datetime'> - component: 'RangePicker', - componentProps: { - showTime:true - }, -<#else> - component: 'Input', //TODO 范围查询 - - colProps: {span: 6}, - }, - - - -<#-- 结束循环 --> -]; -//表单数据 -export const formSchema: FormSchema[] = [ -<#assign form_cat_tree = false> -<#assign form_cat_back = ""> -<#assign bpm_flag=false> -<#list columns as po><#rt/> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isShow =='Y'> -<#assign form_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictField}"> - - { - label: '${po.filedComment}', - field: '${po.fieldName}', - <#if po.classType =='date'> - component: 'DatePicker', - <#elseif po.fieldType =='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, - <#elseif po.fieldType =='time'> - component: 'TimePicker', - <#elseif po.classType =='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:${po.dictField}, - multi:${po.extendParams.popupMulti?c}, - } - } - <#elseif po.classType =='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType =='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:${po.dictField} - - } - <#elseif po.classType =='pca'> - component: 'JAreaLinkage', - <#elseif po.classType =='markdown'> - component: 'JMarkdownEditor',//注意string转换问题 - <#elseif po.classType =='password'> - component: 'InputPassword', - <#elseif po.classType =='sel_user'> - component: 'JSelectUserByDept', - componentProps:{ - labelKey:'realname', - } - <#elseif po.classType =='textarea'> - component: 'InputTextArea',//TODO 注意string转换问题 - <#elseif po.classType=='list' || po.classType=='radio'> - component: 'JDictSelectTag', - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='list_multi' || po.classType=='checkbox'> - component: 'JMultiSelectTag',//TODO 暂无该组件 - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${form_field_dictCode}" - } -<#elseif po.classType=='cat_tree'> - <#assign form_cat_tree = true> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}", //TODO back和事件未添加,暂时有问题 - } - <#if po.dictText?default("")?trim?length gt 1> - <#assign form_cat_back = "${po.dictText}"> - - <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> - component: 'InputNumber', - <#elseif po.classType=='file'> - component: 'JUpload', - componentProps:{ - <#if po.uploadnum??> - maxCount:${po.uploadnum} - - } - <#elseif po.classType=='image'> - component: 'JImageUpload', - componentProps:{ - <#if po.uploadnum??> - fileMax:${po.uploadnum} - - } - <#elseif po.classType=='umeditor'> - component: 'JCodeEditor', //TODO String后缀暂未添加 - <#elseif po.classType == 'sel_tree'> - component: 'JTreeSelect', - componentProps:{ - <#if po.dictText??> - <#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??> - dict:"${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}", - <#elseif po.dictText?split(',')[1]??> - pidField:"${po.dictText?split(',')[1]}", - <#elseif po.dictText?split(',')[3]??> - hasChildField:"${po.dictText?split(',')[3]}", - - - pidValue:"${po.dictField}", - } - <#else> - component: 'Input', - - <#include "/common/utils.ftl"> - <#if po.isShow == 'Y' && poHasCheck(po)> - dynamicRules: ({model,schema}) => { - <#if po.fieldName != 'id'> - <#assign fieldValidType = po.fieldValidType!''> - return [ - <#-- 非空校验 --> - <#if po.nullable == 'N' || fieldValidType == '*'> - { required: true, message: '请输入${po.filedComment}!'}, - <#elseif fieldValidType!=''> - { required: false}, - - <#-- 唯一校验 --> - <#if fieldValidType == 'only'> - {...rules.duplicateCheckRule(<#if sub?default("")?trim?length gt 1>'${sub.tableName}'<#else>'${tableName}', '${po.fieldDbName}',model,schema,true)[0]}, - <#-- 6到16位数字 --> - <#elseif fieldValidType == 'n6-16'> - { pattern: /^\d{6,16}$/, message: '请输入6到16位数字!'}, - <#-- 6到16位任意字符 --> - <#elseif fieldValidType == '*6-16'> - { pattern: /^.{6,16}$/, message: '请输入6到16位任意字符!'}, - <#-- 6到18位字符串 --> - <#elseif fieldValidType == 's6-18'> - { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, - <#-- 网址 --> - <#elseif fieldValidType == 'url'> - { pattern: /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:\/~+#]*[\w\-@?^=%&\/~+#])?$/, message: '请输入正确的网址!'}, - <#-- 电子邮件 --> - <#elseif fieldValidType == 'e'> - { pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/, message: '请输入正确的电子邮件!'}, - <#-- 手机号码 --> - <#elseif fieldValidType == 'm'> - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, - <#-- 邮政编码 --> - <#elseif fieldValidType == 'p'> - { pattern: /^[1-9]\d{5}$/, message: '请输入正确的邮政编码!'}, - <#-- 字母 --> - <#elseif fieldValidType == 's'> - { pattern: /^[A-Z|a-z]+$/, message: '请输入字母!'}, - <#-- 数字 --> - <#elseif fieldValidType == 'n'> - { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'}, - <#-- 整数 --> - <#elseif fieldValidType == 'z'> - { pattern: /^-?\d+$/, message: '请输入整数!'}, - <#-- 金额 --> - <#elseif fieldValidType == 'money'> - { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!'}, - <#-- 正则校验 --> - <#elseif fieldValidType != '' && fieldValidType != '*'> - { pattern: '${fieldValidType}', message: '不符合校验规则!'}, - <#-- 无校验 --> - <#else> - <#t> - - ]; - - }, - - <#if po.readonly=='Y'> - dynamicDisabled:true - - }, - - -]; -//子表单数据 -<#list subTables as sub> -<#if sub.foreignRelationType =='1'> -export const ${sub.entityName?uncap_first}FormSchema: FormSchema[] = [ -<#assign form_cat_tree = false> -<#assign form_cat_back = ""> -<#assign bpm_flag=false> -<#list sub.colums as po><#rt/> -<#if po.fieldDbName=='bpm_status'> - <#assign bpm_flag=true> - -<#if po.isShow =='Y'> -<#assign form_field_dictCode=""> - <#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}"> - <#elseif po.dictField?default("")?trim?length gt 1> - <#assign form_field_dictCode="${po.dictField}"> - - { - label: '${po.filedComment}', - field: '${po.fieldName}', - <#if po.classType =='date'> - component: 'DatePicker', - <#elseif po.fieldType =='datetime'> - component: 'DatePicker', - componentProps: { - showTime:true - }, - <#elseif po.fieldType =='time'> - component: 'TimePicker', - <#elseif po.classType =='popup'> - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"${po.dictTable}", - fieldConfig:${po.dictField}, - multi:${po.extendParams.popupMulti?c}, - } - } - <#elseif po.classType =='sel_depart'> - component: 'JSelectDept', - <#elseif po.classType =='switch'> - component: 'JSwitch', - componentProps:{ - <#if po.dictField != 'is_open'> - options:${po.dictField} - - } - <#elseif po.classType =='pca'> - component: 'JAreaLinkage', - <#elseif po.classType =='markdown'> - component: 'JMarkdownEditor',//注意string转换问题 - <#elseif po.classType =='password'> - component: 'InputPassword', - <#elseif po.classType =='sel_user'> - component: 'JSelectUserByDept', - componentProps:{ - labelKey:'realname', - } - <#elseif po.classType =='textarea'> - component: 'InputTextArea',//TODO 注意string转换问题 - <#elseif po.classType=='list' || po.classType=='radio'> - component: 'JDictSelectTag', - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='list_multi' || po.classType=='checkbox'> - component: 'JMultiSelectTag',//TODO 暂无该组件 - componentProps:{ - dictCode:"${form_field_dictCode}" - } - <#elseif po.classType=='sel_search'> - component: 'JSearchSelect', - componentProps:{ - dict:"${form_field_dictCode}" - } -<#elseif po.classType=='cat_tree'> - <#assign form_cat_tree = true> - component: 'JCategorySelect', - componentProps:{ - pcode:"${po.dictField?default("")}", //TODO back和事件未添加,暂时有问题 - } - <#if po.dictText?default("")?trim?length gt 1> - <#assign form_cat_back = "${po.dictText}"> - - <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> - component: 'InputNumber', - <#elseif po.classType=='file'> - component: 'JUpload', - componentProps:{ - <#if po.uploadnum??> - maxCount:${po.uploadnum} - - } - <#elseif po.classType=='image'> - component: 'JImageUpload', - componentProps:{ - <#if po.uploadnum??> - fileMax:${po.uploadnum} - - } - <#elseif po.classType=='umeditor'> - component: 'JCodeEditor', //TODO String后缀暂未添加 - <#elseif po.classType == 'sel_tree'> - component: 'JTreeSelect', - componentProps:{ - <#if po.dictText??> - <#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??> - dict:"${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}", - <#elseif po.dictText?split(',')[1]??> - pidField:"${po.dictText?split(',')[1]}", - <#elseif po.dictText?split(',')[3]??> - hasChildField:"${po.dictText?split(',')[3]}", - - - pidValue:"${po.dictField}", - } - <#else> - component: 'Input', - - <#include "/common/utils.ftl"> - <#if po.isShow == 'Y' && poHasCheck(po)> - dynamicRules: ({model,schema}) => { - <#if po.fieldName != 'id'> - <#assign fieldValidType = po.fieldValidType!''> - return [ - <#-- 非空校验 --> - <#if po.nullable == 'N' || fieldValidType == '*'> - { required: true, message: '请输入${po.filedComment}!'}, - <#elseif fieldValidType!=''> - { required: false}, - - <#-- 唯一校验 --> - <#if fieldValidType == 'only'> - {...rules.duplicateCheckRule(<#if sub?default("")?trim?length gt 1>'${sub.tableName}'<#else>'${tableName}', '${po.fieldDbName}',model,schema,true)[0]}, - <#-- 6到16位数字 --> - <#elseif fieldValidType == 'n6-16'> - { pattern: /^\d{6,16}$/, message: '请输入6到16位数字!'}, - <#-- 6到16位任意字符 --> - <#elseif fieldValidType == '*6-16'> - { pattern: /^.{6,16}$/, message: '请输入6到16位任意字符!'}, - <#-- 6到18位字符串 --> - <#elseif fieldValidType == 's6-18'> - { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, - <#-- 网址 --> - <#elseif fieldValidType == 'url'> - { pattern: /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:\/~+#]*[\w\-@?^=%&\/~+#])?$/, message: '请输入正确的网址!'}, - <#-- 电子邮件 --> - <#elseif fieldValidType == 'e'> - { pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/, message: '请输入正确的电子邮件!'}, - <#-- 手机号码 --> - <#elseif fieldValidType == 'm'> - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, - <#-- 邮政编码 --> - <#elseif fieldValidType == 'p'> - { pattern: /^[1-9]\d{5}$/, message: '请输入正确的邮政编码!'}, - <#-- 字母 --> - <#elseif fieldValidType == 's'> - { pattern: /^[A-Z|a-z]+$/, message: '请输入字母!'}, - <#-- 数字 --> - <#elseif fieldValidType == 'n'> - { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'}, - <#-- 整数 --> - <#elseif fieldValidType == 'z'> - { pattern: /^-?\d+$/, message: '请输入整数!'}, - <#-- 金额 --> - <#elseif fieldValidType == 'money'> - { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!'}, - <#-- 正则校验 --> - <#elseif fieldValidType != '' && fieldValidType != '*'> - { pattern: '${fieldValidType}', message: '不符合校验规则!'}, - <#-- 无校验 --> - <#else> - <#t> - - ]; - - }, - - <#if po.readonly=='Y'> - dynamicDisabled:true - - }, - - -]; - - -//子表表格配置 -<#list subTables as sub> -<#if sub.foreignRelationType =='0'> -export const ${sub.entityName?uncap_first}Columns: JVxeColumn[] = [ -<#assign popupBackFields = ""> - -<#-- 循环子表的列 开始 --> -<#list sub.colums as col><#rt/> -<#if col.isShow =='Y'> -<#if col.filedComment !='外键' > - { - title: '${col.filedComment}', - key: '${autoStringSuffixForModel(col)}', -<#if col.classType =='date'> - type: JVxeTypes.date, - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='datetime'> - type: JVxeTypes.datetime, - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='textarea'> - type: JVxeTypes.textarea, - <#if col.readonly=='Y'> - disabled:true, - -<#elseif "int,decimal,double,"?contains(col.classType)> - type: JVxeTypes.inputNumber, - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='list' || col.classType =='radio'> - type: JVxeTypes.select, - options:[], - <#if col.dictTable?default("")?trim?length gt 1> - dictCode:"${col.dictTable},${col.dictText},${col.dictField}", - <#else> - dictCode:"${col.dictField}", - - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='list_multi' || col.classType =='checkbox'> - type: JVxeTypes.selectMultiple, - options:[], - <#if col.dictTable?default("")?trim?length gt 1> - dictCode:"${col.dictTable},${col.dictText},${col.dictField}", - <#else> - dictCode:"${col.dictField}", - - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='sel_search'> - type: JVxeTypes.selectSearch, - <#if col.dictTable?default("")?trim?length gt 1> - dictCode:"${col.dictTable},${col.dictText},${col.dictField}", - <#else> - dictCode:"${col.dictField}", - - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='image'> - type: JVxeTypes.image, - token:true, - responseName:"message", - <#if col.readonly=='Y'> - disabled:true, - - <#if col.uploadnum??> - number: ${col.uploadnum}, - -<#elseif col.classType =='file'> - type: JVxeTypes.file, - token:true, - responseName:"message", - <#if col.readonly=='Y'> - disabled:true, - - <#if col.uploadnum??> - number: ${col.uploadnum}, - -<#elseif col.classType =='switch'> - type: JVxeTypes.checkbox, - <#if col.dictField == 'is_open'> - customValue: ['Y', 'N'], - <#else> - customValue: ${col.dictField}, - - <#if col.readonly=='Y'> - disabled:true, - -<#elseif col.classType =='popup'> -<#if popupBackFields?length gt 0> - <#assign popupBackFields = "${popupBackFields}"+","+"${col.dictText}"> -<#else> - <#assign popupBackFields = "${col.dictText}"> - - type: JVxeTypes.popup, - popupCode:"${col.dictTable}", - field:"${col.dictField}", - orgFields:"${col.dictField}", - destFields:"${Format.underlineToHump(col.dictText)}", - <#if col.readonly=='Y'> - disabled:true, - -<#else> - type: JVxeTypes.input, - <#if col.readonly=='Y'> - disabled:true, - - -<#if col.classType =='list_multi' || col.classType =='checkbox'> - width:"250px", -<#else> - width:"200px", - -<#if col.classType =='file'> - placeholder: '请选择文件', -<#else> - placeholder: '请输入${'$'}{title}', - -<#if col.defaultVal??> -<#if col.fieldDbType=="BigDecimal" || col.fieldDbType=="double" || col.fieldDbType=="int"> - defaultValue:${col.defaultVal}, - <#else> - defaultValue:"${col.defaultVal}", - -<#else> - defaultValue:'', - -<#-- 子表的校验 --> -<#assign subFieldValidType = col.fieldValidType!''> -<#-- 非空校验 --> -<#if col.nullable == 'N' || subFieldValidType == '*'> - validateRules: [{ required: true, message: '${'$'}{title}不能为空' }], -<#-- 其他情况下,只要有值就被认为是正则校验 --> -<#elseif subFieldValidType?length gt 0> -<#assign subMessage = '格式不正确'> -<#if subFieldValidType == 'only' > - <#assign subMessage = '不能重复'> - - validateRules: [{ pattern: "${subFieldValidType}", message: "${'$'}{title}${subMessage}" }], - - }, - - - -<#-- 循环子表的列 结束 --> - ] - - \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei deleted file mode 100644 index 590d2eb5..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei +++ /dev/null @@ -1,179 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei deleted file mode 100644 index afa4e7bd..00000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei +++ /dev/null @@ -1,64 +0,0 @@ -<#list subTables as sub> -<#if sub.foreignRelationType=='1'> -#segment#${sub.entityName}Form.vue - - - -