diff --git a/src/api/formdesign/index.ts b/src/api/formdesign/index.ts index cdb2a22..4dff974 100644 --- a/src/api/formdesign/index.ts +++ b/src/api/formdesign/index.ts @@ -6,6 +6,8 @@ enum Api { FORMSTYPES_LIST = '/api/SysDataItemDetail/Load', //字典 FORMS_LIST = '/api/FormScheme/LoadFormPage', //查询表单列表 DATABASE_LIST = '/api/CodeTable/LoadCodeTablePage', //数据对象选择表 + GETIMPORTDATA_FORM = '/api/FormModule/GetTableList', // 查询导入数据表列表 + IMPORTDATABASE_TABLE = '/api/CodeTable/ImportTable?dbCode=', //导入数据表 OUTKEY_LIST = '/api/CodeTable/GetForms', //获取数据表 GETBASE_LIST = '/api/FormScheme/GetForm', //获取列表详情 ADDFORM_DATA = '/api/FormScheme/AddForm', //新增表单设计 @@ -13,6 +15,7 @@ enum Api { ADDSql_DATA = '/api/FormScheme/GetDataColName?dbCode=', // 添加编辑SQL } + /** * @description: Get sample options value */ @@ -40,5 +43,11 @@ export const editFormDesignData = (params: NoOptionsParam) => export const addFormSqlData = (params: NoOptionsParam) => defHttp.post({ url: Api.ADDSql_DATA+params.dbCode+"&sql="+params.sql, params }); +export const getImportBaseTableList = (params: NoOptionsParam) => + defHttp.get({ url: Api.GETIMPORTDATA_FORM, params }); + +export const importDataBaseTable = (params: NoOptionsParam) => + defHttp.post({ url: Api.IMPORTDATABASE_TABLE+params.dbCode, params }); + \ No newline at end of file diff --git a/src/router/routes/modules/dashboard.ts b/src/router/routes/modules/dashboard.ts index c8a5798..febd17e 100644 --- a/src/router/routes/modules/dashboard.ts +++ b/src/router/routes/modules/dashboard.ts @@ -17,7 +17,7 @@ const dashboard: AppRouteModule = { { path: '/dashboard/analysis', name: 'Analysis', - component: () => import('@/views/demo/onlineform/formdesign/index.vue'), + component: () => import('@/views/dashboard/analysis/index.vue'), meta: { // affix: true, title: t('routes.dashboard.analysis'), diff --git a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue index 4409449..2649a90 100644 --- a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue +++ b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue @@ -7,6 +7,14 @@
+ { - // console.log('showModal-', jsonData); + console.log('showModal-', jsonData); formatRules(jsonData.schemas); state.formConfig = jsonData as any; state.visible = true; diff --git a/src/views/demo/form-design/components/VformRender/index.vue b/src/views/demo/form-design/components/VformRender/index.vue new file mode 100644 index 0000000..e5b6549 --- /dev/null +++ b/src/views/demo/form-design/components/VformRender/index.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/views/demo/form-design/components/VformRender/useForm.vue b/src/views/demo/form-design/components/VformRender/useForm.vue new file mode 100644 index 0000000..84db5a7 --- /dev/null +++ b/src/views/demo/form-design/components/VformRender/useForm.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/demo/onlineform/formCall/index.data.ts b/src/views/demo/onlineform/formCall/index.data.ts new file mode 100644 index 0000000..82b8c01 --- /dev/null +++ b/src/views/demo/onlineform/formCall/index.data.ts @@ -0,0 +1,49 @@ +import { BasicColumn, FormSchema } from '@/components/Table'; +import { h } from 'vue'; +import { Tag } from 'ant-design-vue'; + +export const columns: BasicColumn[] = [ + + { + title: '名称', + dataIndex: 'name', + }, + { + title: '分类', + dataIndex: 'category', + }, + { + title: '类型', + dataIndex: 'formType', + width: 80, + customRender: ({ record }) => { + const status = record.formType; + const enable = ~~status === 0; + const color = enable ? '#67c23a' : '#e6a23c'; + const text = enable ? '常规表单' : '视图表单'; + return h(Tag, { color: color }, () => text); + }, + }, + { + title: '创建人', + dataIndex: 'createUserName' + }, + { + title: '创建时间', + dataIndex: 'createDate' + }, + // { + // title: '备注', + // dataIndex: 'remark', + // }, +]; + +export const searchFormSchema: FormSchema[] = [ + { + field: 'key', + label: '关键字', + component: 'Input', + colProps: { span: 8 }, + }, +]; + diff --git a/src/views/demo/onlineform/formCall/index.vue b/src/views/demo/onlineform/formCall/index.vue new file mode 100644 index 0000000..7b229e9 --- /dev/null +++ b/src/views/demo/onlineform/formCall/index.vue @@ -0,0 +1,121 @@ + + \ No newline at end of file diff --git a/src/views/demo/onlineform/formdesign/FormModal.vue b/src/views/demo/onlineform/formdesign/FormModal.vue index 8ee2c2f..bda5f30 100644 --- a/src/views/demo/onlineform/formdesign/FormModal.vue +++ b/src/views/demo/onlineform/formdesign/FormModal.vue @@ -135,17 +135,30 @@ console.log('adddata',data) if(data.table){ data.table.forEach(item =>{ - arr.push(item) + arr.push({ + field: item.field, + name: item.name, + relationField: item.relationField, + relationName: item.relationName, + type: item.type + }) }) } if(isAddVisible.value){ //新增 let schems if(saveFormDatas.value.scheme.scheme){ - schems = JSON.parse(saveFormDatas.value.scheme.scheme) + schems = JSON.parse(saveFormDatas.value.scheme.scheme) || { + db: arr, + rdb: data.connect || [], + dbCode: data.form.DbCode, + formInfo:{} + } + schems.db = arr schems.rdb = data.connect || [], schems.dbCode = data.form.DbCode }else{ + schems = { db: arr, rdb: data.connect || [], @@ -153,14 +166,14 @@ formInfo:{} } } - + let loginUser = localStorage.getItem('fireUserLoginName') saveFormDatas.value.info = data.form + saveFormDatas.value.info.createUserName = loginUser saveFormDatas.value.scheme.scheme = JSON.stringify(schems) - console.log('add') + console.log('add',saveFormDatas.value.scheme) }else{ //编辑 console.log('edit') - let schems = JSON.parse(saveFormDatas.value.scheme.scheme) schems.db = arr schems.rdb = data.connect || [], diff --git a/src/views/demo/onlineform/formdesign/MenuTree.vue b/src/views/demo/onlineform/formdesign/MenuTree.vue deleted file mode 100644 index 8538e7b..0000000 --- a/src/views/demo/onlineform/formdesign/MenuTree.vue +++ /dev/null @@ -1,95 +0,0 @@ - - \ No newline at end of file diff --git a/src/views/demo/onlineform/formdesign/form.vue b/src/views/demo/onlineform/formdesign/form.vue deleted file mode 100644 index 9c4d708..0000000 --- a/src/views/demo/onlineform/formdesign/form.vue +++ /dev/null @@ -1,802 +0,0 @@ - - \ No newline at end of file diff --git a/src/views/demo/onlineform/formdesign/form/DataBaseTable.vue b/src/views/demo/onlineform/formdesign/form/DataBaseTable.vue deleted file mode 100644 index 7d6cc9f..0000000 --- a/src/views/demo/onlineform/formdesign/form/DataBaseTable.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/demo/onlineform/formdesign/form/DataObject.vue b/src/views/demo/onlineform/formdesign/form/DataObject.vue index 89bac9c..c185764 100644 --- a/src/views/demo/onlineform/formdesign/form/DataObject.vue +++ b/src/views/demo/onlineform/formdesign/form/DataObject.vue @@ -1,5 +1,18 @@