From 0108df13340210bebd5ad6c693fc1a6bd1b061ff Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 05 三月 2024 22:57:51 +0800 Subject: [PATCH] !88 合并flowable工作流功能 * merge 合并dev * add 添加抄送查询 * add 添加我的已办 * add 添加抄送 * add 添加附件下载 * update 优化类型 * Merge remote-tracking branch 'origin/future/flowable' into future/flowable * fix 修复 流程设计器打包部署报错问题 * add 添加审批附件上传 * update 修复固定值未在xml显示问题 * update 修复跳转条件回显Object问题 * update 优化面板文件名称 * update 调整key * remove 移除旧设计器,添加xml保存 * update 增加任务面板提示 * update 优化xml预览和svg预览 * update 优化xml预览和svg预览 * update 优化模型设计 * update 优化设计器 * update 优化设计器 * update 优化设计器 * update 删除旧设计器 * update 删除console.log * add 添加模型接口 * update 优化预览xml和svg样式被修改问题 * update 优化属性面板,增加展开动画 * update 去除开发模式 * update 优化任务栏样式 * update 优化图标渲染样式 * update 增加BpmnFactory类型 * update 增加BpmnFactory * update 移除users和group * update 移除无用类型 * update 优化页面类型 * update 去除多余属性 * update 完善流程线 * update 增加复杂网关 * update 完善流程 * update 完善网关 * update 优化网关汉化 * update 优化过期时间选择 * update 支持多实例 * update 增加类容提示 * update 支持选择组 * update 新增角色api * update 优化roleSelect 选中未确定,再次打开还保留选中的问题 * update 优化userSelect 选中未确定,再次打开还保留选中的问题 * update 优化userSelect 选中未确定,再次打开还保留选中的问题 * update 去掉modeler store多余属性 bpmnModel * update 优化属性面板,当面板未选中时默认展示流程面板 * update 优化TaskPanel类型,去掉roles属性 * update 优化用户api * update 优化用户选择器 * update 优化执行监听器 * update 优化任务监听器 * update 优化usePanel方法 * update 选人优化 * update 增加扩展节点信息 * update 增加usePanel默认方法 * update 去除处理事件 * update 扩展flowable userinfo属性 * update 全局modeler 改为非响应式 * update 增加hooks方法 * update 修改命名 * update 修改面板formData来源 * update 重写用户任务面板选择逻辑 * update 重写用户任务面板选择逻辑 * update 修改用户选择组件获取数据逻辑 * update 修改枚举类型 * update 修改默认配置列 * update 增加修改节点方法 * update 调整预览窗口大小 * update 优化用户选择组件 返回值 * update 优化用户选择组件 * update 新增通过ids 获取用户信息 * update 重写task面板选人 未完成 * update 升级用户选择 支持多选配置 * update 升级bpmnjs依赖版本 * update 增加useDialog类型 * update 调整全局样式 * update 代码高亮设置 * update 优化领用,归还加载 * update 增加选择角色 * update 新增角色选择组件 * update 新增过期时间选择组件 * update 调整任务面板样式 * update 调整全局dialog header 增加分割线 * update 代码高亮设置 * update 调整面板位置 * update 封装用户选择组件 * update 移除所有的节点描述 * update 删除分类 * update 调整面板位置 * update 修改命名,增加自定义渲染 * update 修改命名,增加自定义渲染 * update 增加 Element类型定义 * update 调整样式 * update 移除bpmn panel依赖,升级bpmn.js依赖到最新,修改汉化包 * update 调整类型声明文件 * update 调整类型声明文件 * update 优化面板工具 * update 优化面板工具 * Merge remote-tracking branch 'origin/future/flowable' into future/flowable * update 优化面板工具 * Merge branch 'future/flowable' of https://gitee.com/JavaLionLi/plus-ui… * add 添加修改办理人 * update 优化面板工具 * update 初始化流程数据 * Merge remote-tracking branch 'origin/future/flowable' into future/flowable * add 流程设计面板 * update 调整初始化xml * add 任务面板 * add 新增bpmn.js * update 优化request请求类判断请求头方式 * update 流程定义预览 优化 * update 流程定义预览 优化 * update 去掉console.log * update 优化工作流代码 * fix 修复待办任务 重置查询条件失效问题 * add 增加待办任务 接口类型,优化页面 * add 增加vite 启动预编译css * fix 修复i18n无感刷新问题 * Merge branch 'dev' into future/flowable * update 调整选择请假事件 * Merge branch 'dev' into future/flowable * 同步dev代码 * Merge branch 'dev' into future/flowable * 合并dev * remove 设计器无用代码 调整请假查询 * update 调整请假申请 * update 移动请假表单包结构,调整设计器选择引用表单请求错误 * remove 移除动态表单 * update 调整流程办理 * Merge branch 'dev' into future/flowable * Merge branch 'dev' into future/flowable * Merge branch 'dev' into future/flowable * Merge branch 'dev' into future/flowable * 合并 * update 调整请假申请流程提交 * update 修改业务单据流程提交 * update 调整业务单据流程提交 * 优化代码 * 优化工作流代码缩进 * 项目格式化配置修改 * 调整代码缩进 * Merge branch 'ts' into future/flowable * add 添加动态表单提交流程 * add 添加动态表单单据 * add 新增流程定义与表单关联 * update 调整点击左侧部门查询人员,部门刷新问题 * update 调整按钮图标 * 调整错别字 * update 调整流程定义图片预览 * add 添加流程实例迁移版本 * fix 修复我的单据无法提交问题 * Merge branch 'ts' into future/flowable * remove 还原代码后端解决 * update 流程设计器中分配发起人变量错误,先移除 * fix 修复设计器无法编辑问题 * update 调整设计器请求头 * Merge branch 'ts' into future/flowable * Merge branch 'ts' into future/flowable * add 添加流程定义历史列表 * update 审批记录v2改为v3 * update 调整请假必填项 * add 添加请假申请示例,添加流程定义文件部署 * update 移除流程表单 formConfig 属性,表单配置信息都放一起便于使用。 * add 添加任务加签,减签 * update 调整流程作废 * update 优化流程状态 * add 添加任务驳回 * add 添加查询当前租户所有待办,已办任务 * add 增加审批意见 * add 添加流程办理弹窗确认组件 * add 添加任务作废理由 * update 调整流程实例,流程定义检索 * add 添加我的单据页面 * add 添加任务归还认领 * add 添加流程实例,流程定义分类查询 * add 添加模型分类查询 * add 添加流程分类 * Merge remote-tracking branch 'origin/future/flowable' into future/flowable * add 添加流程表单管理页面 * add 集成vForm动态表单组件 * update xml调整超出滚动 * add 添加已办列表 * add 添加单据状态 * update 优化流程实例删除 * fix 修复流程实例查询挂起状态错误 * update 调整流程实例挂起激活状态 * add 添加流程实例列表 * update 调整流程定义弹窗提示 * add 添加流程定义列表,添加流程图,xml预览,添加简单流程启动,办理 * 调整审批记录悬浮逻辑 * 删除无用代码 * add 添加节点悬浮信息 * 调整流程预览 * 调整流程追踪 * add 添加审批记录 * add 模型设计的types * update 修改排版 * add lang=ts * update 修改ele的废弃api * fix调整审批记录图片不显示问题 * add 添加任务待办,流程图 * 调整设计器关闭 * add 添加待办 * remove 删除无用代码 * update types * 添加模型token验证 * 隐藏设计器验证按钮,隐藏表单,案例,应用程序等 * 添加模型部署 * 添加画图接口token,优化画图接口 * 添加工作流模型新增,修改,查询,删除,画图工具 --- src/views/tool/gen/genInfoForm.vue | 522 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 264 insertions(+), 258 deletions(-) diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue index b738de8..a8d7e13 100644 --- a/src/views/tool/gen/genInfoForm.vue +++ b/src/views/tool/gen/genInfoForm.vue @@ -1,26 +1,243 @@ +<template> + <el-form ref="genInfoForm" :model="infoForm" :rules="rules" label-width="150px"> + <el-row> + <el-col :span="12"> + <el-form-item prop="tplCategory"> + <template #label>鐢熸垚妯℃澘</template> + <el-select v-model="infoForm.tplCategory" @change="tplSelectChange"> + <el-option label="鍗曡〃锛堝鍒犳敼鏌ワ級" value="crud" /> + <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" /> + </el-select> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="packageName"> + <template #label> + 鐢熸垚鍖呰矾寰� + <el-tooltip content="鐢熸垚鍦ㄥ摢涓猨ava鍖呬笅锛屼緥濡� com.ruoyi.system" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-input v-model="infoForm.packageName" /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="moduleName"> + <template #label> + 鐢熸垚妯″潡鍚� + <el-tooltip content="鍙悊瑙d负瀛愮郴缁熷悕锛屼緥濡� system" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-input v-model="infoForm.moduleName" /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="businessName"> + <template #label> + 鐢熸垚涓氬姟鍚� + <el-tooltip content="鍙悊瑙d负鍔熻兘鑻辨枃鍚嶏紝渚嬪 user" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-input v-model="infoForm.businessName" /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="functionName"> + <template #label> + 鐢熸垚鍔熻兘鍚� + <el-tooltip content="鐢ㄤ綔绫绘弿杩帮紝渚嬪 鐢ㄦ埛" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-input v-model="infoForm.functionName" /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item> + <template #label> + 涓婄骇鑿滃崟 + <el-tooltip content="鍒嗛厤鍒版寚瀹氳彍鍗曚笅锛屼緥濡� 绯荤粺绠$悊" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-tree-select + v-model="infoForm.parentMenuId" + :data="menuOptions" + :props="{ value: 'menuId', label: 'menuName', children: 'children' }" + value-key="menuId" + node-key="menuId" + placeholder="閫夋嫨涓婄骇鑿滃崟" + check-strictly + filterable + clearable + highlight-current + /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="genType"> + <template #label> + 鐢熸垚浠g爜鏂瑰紡 + <el-tooltip content="榛樿涓簔ip鍘嬬缉鍖呬笅杞斤紝涔熷彲浠ヨ嚜瀹氫箟鐢熸垚璺緞" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-radio v-model="infoForm.genType" label="0">zip鍘嬬缉鍖�</el-radio> + <el-radio v-model="infoForm.genType" label="1">鑷畾涔夎矾寰�</el-radio> + </el-form-item> + </el-col> + + <el-col v-if="infoForm.genType == '1'" :span="24"> + <el-form-item prop="genPath"> + <template #label> + 鑷畾涔夎矾寰� + <el-tooltip content="濉啓纾佺洏缁濆璺緞锛岃嫢涓嶅~鍐欙紝鍒欑敓鎴愬埌褰撳墠Web椤圭洰涓�" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-input v-model="infoForm.genPath"> + <template #append> + <el-dropdown> + <el-button type="primary"> + 鏈�杩戣矾寰勫揩閫熼�夋嫨 + <i class="el-icon-arrow-down el-icon--right"></i> + </el-button> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item @click="infoForm.genPath = '/'">鎭㈠榛樿鐨勭敓鎴愬熀纭�璺緞</el-dropdown-item> + </el-dropdown-menu> + </template> + </el-dropdown> + </template> + </el-input> + </el-form-item> + </el-col> + </el-row> + + <template v-if="info.tplCategory == 'tree'"> + <h4 class="form-header">鍏朵粬淇℃伅</h4> + <el-row v-show="info.tplCategory == 'tree'"> + <el-col :span="12"> + <el-form-item> + <template #label> + 鏍戠紪鐮佸瓧娈� + <el-tooltip content="鏍戞樉绀虹殑缂栫爜瀛楁鍚嶏紝 濡傦細dept_id" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-select v-model="infoForm.treeCode" placeholder="璇烽�夋嫨"> + <el-option + v-for="(column, index) in info.columns" + :key="index" + :label="column.columnName + '锛�' + column.columnComment" + :value="column.columnName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <template #label> + 鏍戠埗缂栫爜瀛楁 + <el-tooltip content="鏍戞樉绀虹殑鐖剁紪鐮佸瓧娈靛悕锛� 濡傦細parent_Id" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-select v-model="infoForm.treeParentCode" placeholder="璇烽�夋嫨"> + <el-option + v-for="(column, index) in infoForm.columns" + :key="index" + :label="column.columnName + '锛�' + column.columnComment" + :value="column.columnName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <template #label> + 鏍戝悕绉板瓧娈� + <el-tooltip content="鏍戣妭鐐圭殑鏄剧ず鍚嶇О瀛楁鍚嶏紝 濡傦細dept_name" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-select v-model="infoForm.treeName" placeholder="璇烽�夋嫨"> + <el-option + v-for="(column, index) in info.columns" + :key="index" + :label="column.columnName + '锛�' + column.columnComment" + :value="column.columnName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + </template> + + <template v-if="info.tplCategory == 'sub'"> + <h4 class="form-header">鍏宠仈淇℃伅</h4> + <el-row> + <el-col :span="12"> + <el-form-item> + <template #label> + 鍏宠仈瀛愯〃鐨勮〃鍚� + <el-tooltip content="鍏宠仈瀛愯〃鐨勮〃鍚嶏紝 濡傦細sys_user" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-select v-model="infoForm.subTableName" placeholder="璇烽�夋嫨" @change="subSelectChange"> + <el-option v-for="(t, index) in table" :key="index" :label="t.tableName + '锛�' + t.tableComment" :value="t.tableName"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <template #label> + 瀛愯〃鍏宠仈鐨勫閿悕 + <el-tooltip content="瀛愯〃鍏宠仈鐨勫閿悕锛� 濡傦細user_id" placement="top"> + <el-icon><question-filled /></el-icon> + </el-tooltip> + </template> + <el-select v-model="infoForm.subTableFkName" placeholder="璇烽�夋嫨"> + <el-option + v-for="(column, index) in subColumns" + :key="index" + :label="column.columnName + '锛�' + column.columnComment" + :value="column.columnName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + </template> + </el-form> +</template> + <script setup lang="ts"> import { listMenu } from '@/api/system/menu'; -import { ComponentInternalInstance, PropType } from 'vue'; +import { propTypes } from '@/utils/propTypes'; interface MenuOptionsType { - menuId: number; + menuId: number | string; menuName: string; - children: MenuOptionsType[] | undefined; + children?: MenuOptionsType[]; } +const { proxy } = getCurrentInstance(); const subColumns = ref<any>([]); const menuOptions = ref<Array<MenuOptionsType>>([]); -const { proxy } = getCurrentInstance() as ComponentInternalInstance; const props = defineProps({ - info: { - type: Object as PropType<any>, - default: null - }, - tables: { - type: Array as PropType<any[]>, - default: null - } + info: propTypes.any.isRequired, + tables: propTypes.any.isRequired }); const infoForm = computed(() => props.info); @@ -29,261 +246,50 @@ // 琛ㄥ崟鏍¢獙 const rules = ref({ - tplCategory: [{ required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur" }], - packageName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愬寘璺緞", trigger: "blur" }], - moduleName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愭ā鍧楀悕", trigger: "blur" }], - businessName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愪笟鍔″悕", trigger: "blur" }], - functionName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur" }] + tplCategory: [{ required: true, message: '璇烽�夋嫨鐢熸垚妯℃澘', trigger: 'blur' }], + packageName: [{ required: true, message: '璇疯緭鍏ョ敓鎴愬寘璺緞', trigger: 'blur' }], + moduleName: [{ required: true, message: '璇疯緭鍏ョ敓鎴愭ā鍧楀悕', trigger: 'blur' }], + businessName: [{ required: true, message: '璇疯緭鍏ョ敓鎴愪笟鍔″悕', trigger: 'blur' }], + functionName: [{ required: true, message: '璇疯緭鍏ョ敓鎴愬姛鑳藉悕', trigger: 'blur' }] }); const subSelectChange = () => { - infoForm.value.subTableFkName = ""; -} + infoForm.value.subTableFkName = ''; +}; const tplSelectChange = (value: string) => { - if (value !== "sub") { - infoForm.value.subTableName = ""; - infoForm.value.subTableFkName = ""; + if (value !== 'sub') { + infoForm.value.subTableName = ''; + infoForm.value.subTableFkName = ''; } -} +}; const setSubTableColumns = (value: string) => { - table.value.forEach(item => { - const name = item.tableName; - if (value === name) { - subColumns.value = item.columns; - return; + table.value.forEach((item: any) => { + const name = item.tableName; + if (value === name) { + subColumns.value = item.columns; + return; } - }) -} + }); +}; + /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */ const getMenuTreeselect = async () => { - const res = await listMenu(); - const data = proxy?.handleTree<MenuOptionsType>(res.data, "menuId"); - if (data) { - menuOptions.value = data - } -} + const res = await listMenu(); + res.data.forEach((m) => (m.menuId = m.menuId.toString())); + const data = proxy?.handleTree<MenuOptionsType>(res.data, 'menuId'); -watch(() => props.info.subTableName, val => { - setSubTableColumns(val); -}); + if (data) { + menuOptions.value = data; + } +}; + +watch( + () => props.info.subTableName, + (val) => { + setSubTableColumns(val); + } +); onMounted(() => { - getMenuTreeselect(); -}) + getMenuTreeselect(); +}); </script> - -<template> - <el-form ref="genInfoForm" :model="infoForm" :rules="rules" label-width="150px"> - <el-row> - <el-col :span="12"> - <el-form-item prop="tplCategory"> - <template #label>鐢熸垚妯℃澘</template> - <el-select v-model="infoForm.tplCategory" @change="tplSelectChange"> - <el-option label="鍗曡〃锛堝鍒犳敼鏌ワ級" value="crud" /> - <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" /> - </el-select> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="packageName"> - <template #label> - 鐢熸垚鍖呰矾寰� - <el-tooltip content="鐢熸垚鍦ㄥ摢涓猨ava鍖呬笅锛屼緥濡� com.ruoyi.system" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-input v-model="infoForm.packageName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="moduleName"> - <template #label> - 鐢熸垚妯″潡鍚� - <el-tooltip content="鍙悊瑙d负瀛愮郴缁熷悕锛屼緥濡� system" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-input v-model="infoForm.moduleName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="businessName"> - <template #label> - 鐢熸垚涓氬姟鍚� - <el-tooltip content="鍙悊瑙d负鍔熻兘鑻辨枃鍚嶏紝渚嬪 user" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-input v-model="infoForm.businessName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="functionName"> - <template #label> - 鐢熸垚鍔熻兘鍚� - <el-tooltip content="鐢ㄤ綔绫绘弿杩帮紝渚嬪 鐢ㄦ埛" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-input v-model="infoForm.functionName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item> - <template #label> - 涓婄骇鑿滃崟 - <el-tooltip content="鍒嗛厤鍒版寚瀹氳彍鍗曚笅锛屼緥濡� 绯荤粺绠$悊" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <tree-select - v-model:value="infoForm.parentMenuId" - :options="menuOptions" - :objMap="{ value: 'menuId', label: 'menuName', children: 'children' }" - placeholder="璇烽�夋嫨绯荤粺鑿滃崟" - /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="genType"> - <template #label> - 鐢熸垚浠g爜鏂瑰紡 - <el-tooltip content="榛樿涓簔ip鍘嬬缉鍖呬笅杞斤紝涔熷彲浠ヨ嚜瀹氫箟鐢熸垚璺緞" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-radio v-model="infoForm.genType" label="0">zip鍘嬬缉鍖�</el-radio> - <el-radio v-model="infoForm.genType" label="1">鑷畾涔夎矾寰�</el-radio> - </el-form-item> - </el-col> - - <el-col :span="24" v-if="infoForm.genType == '1'"> - <el-form-item prop="genPath"> - <template #label> - 鑷畾涔夎矾寰� - <el-tooltip content="濉啓纾佺洏缁濆璺緞锛岃嫢涓嶅~鍐欙紝鍒欑敓鎴愬埌褰撳墠Web椤圭洰涓�" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-input v-model="infoForm.genPath"> - <template #append> - <el-dropdown> - <el-button type="primary"> - 鏈�杩戣矾寰勫揩閫熼�夋嫨 - <i class="el-icon-arrow-down el-icon--right"></i> - </el-button> - <template #dropdown> - <el-dropdown-menu> - <el-dropdown-item @click="infoForm.genPath = '/'">鎭㈠榛樿鐨勭敓鎴愬熀纭�璺緞</el-dropdown-item> - </el-dropdown-menu> - </template> - </el-dropdown> - </template> - </el-input> - </el-form-item> - </el-col> - </el-row> - - <template v-if="info.tplCategory == 'tree'"> - <h4 class="form-header">鍏朵粬淇℃伅</h4> - <el-row v-show="info.tplCategory == 'tree'"> - <el-col :span="12"> - <el-form-item> - <template #label> - 鏍戠紪鐮佸瓧娈� - <el-tooltip content="鏍戞樉绀虹殑缂栫爜瀛楁鍚嶏紝 濡傦細dept_id" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-select v-model="infoForm.treeCode" placeholder="璇烽�夋嫨"> - <el-option - v-for="(column, index) in info.columns" - :key="index" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item> - <template #label> - 鏍戠埗缂栫爜瀛楁 - <el-tooltip content="鏍戞樉绀虹殑鐖剁紪鐮佸瓧娈靛悕锛� 濡傦細parent_Id" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-select v-model="infoForm.treeParentCode" placeholder="璇烽�夋嫨"> - <el-option - v-for="(column, index) in infoForm.columns" - :key="index" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item> - <template #label> - 鏍戝悕绉板瓧娈� - <el-tooltip content="鏍戣妭鐐圭殑鏄剧ず鍚嶇О瀛楁鍚嶏紝 濡傦細dept_name" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-select v-model="infoForm.treeName" placeholder="璇烽�夋嫨"> - <el-option - v-for="(column, index) in info.columns" - :key="index" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - </template> - - <template v-if="info.tplCategory == 'sub'"> - <h4 class="form-header">鍏宠仈淇℃伅</h4> - <el-row> - <el-col :span="12"> - <el-form-item> - <template #label> - 鍏宠仈瀛愯〃鐨勮〃鍚� - <el-tooltip content="鍏宠仈瀛愯〃鐨勮〃鍚嶏紝 濡傦細sys_user" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-select v-model="infoForm.subTableName" placeholder="璇烽�夋嫨" @change="subSelectChange"> - <el-option v-for="(t, index) in table" :key="index" :label="t.tableName + '锛�' + t.tableComment" :value="t.tableName"></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item> - <template #label> - 瀛愯〃鍏宠仈鐨勫閿悕 - <el-tooltip content="瀛愯〃鍏宠仈鐨勫閿悕锛� 濡傦細user_id" placement="top"> - <el-icon><question-filled /></el-icon> - </el-tooltip> - </template> - <el-select v-model="infoForm.subTableFkName" placeholder="璇烽�夋嫨"> - <el-option - v-for="(column, index) in subColumns" - :key="index" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - </template> - </el-form> -</template> -- Gitblit v1.9.3