Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java
@@ -126,6 +126,11 @@ private String modeType; /** * 功能类型:0:功能菜单节点,1:分类,3:按钮 */ private int functionType; /** * 是模块下子对象是模块还是操作:0表示无子节点,1表示是模块,2表示是操作 */ private Integer childType; @@ -166,6 +171,30 @@ return funcId; } public void setFunctionType(int functionType) { this.functionType = functionType; } public void setValid(Boolean valid) { isValid = valid; } public void setHavePermission(Integer havePermission) { this.havePermission = havePermission; } public int getFunctionType() { return functionType; } public Boolean getValid() { return isValid; } public Integer getHavePermission() { return havePermission; } public String getOperId() { return operId; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
@@ -263,7 +263,7 @@ } MenuVO functionVO = new MenuVO(); functionVO.setId(menu.id); functionVO.setSource(menu.icon); functionVO.setSource(menu.image); //if(StringUtils.isBlank(menu.resourceB)){ // continue; //} @@ -341,6 +341,7 @@ menuVO.setIsValid(info.isValid); menuVO.setHasChildren(false); menuVO.setCategory(1); menuVO.setFunctionType(2); menuVOList.add(menuVO); } } @@ -421,6 +422,7 @@ menuVO.setCode(operateInfo.identify); menuVO.setAlias(operateInfo.alias); menuVO.setCategory(1); menuVO.setFunctionType(2); menuVO.setChildType(0); menuVO.setRemark(operateInfo.desc); menuVO.getMeta().put("keepAlive",false); @@ -447,7 +449,8 @@ MenuVO menuVO = new MenuVO(); menuVO.setId(funcInfo.id); menuVO.setIsValid(funcInfo.isValid); menuVO.setSource(funcInfo.icon); menuVO.setSource(funcInfo.image); menuVO.setFunctionType(funcInfo.functionType); menuVO.setPathC(funcInfo.resourceC); menuVO.setResourceDotNet(funcInfo.resourceDotNet); menuVO.setResourceMobile(funcInfo.resourceMobile); @@ -496,7 +499,8 @@ } MenuVO functionVO = new MenuVO(); functionVO.setId(menu.id); functionVO.setSource(menu.icon); functionVO.setSource(menu.image); functionVO.setFunctionType(menu.functionType); // if(StringUtils.isBlank(menu.resourceB) ){ // continue; // } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmHMSysModConfigServiceImpl.java
@@ -1245,7 +1245,8 @@ //info.suffixB = object.getSuffixB() == null ? "" : object.getSuffixB(); info.desc = object.getRemark() == null ? "" : object.getRemark(); info.seq = object.getSort(); info.icon = object.getSource() == null ? "" : object.getSource(); info.image = object.getSource() == null ? "" : object.getSource(); info.functionType = object.getFunctionType(); info.isValid = object.getIsValid(); info.aliasName = object.getAlias() == null ? "" : object.getAlias(); info.resourceDotNet = object.getResourceDotNet() == null ? "" : object.getResourceDotNet(); @@ -1312,7 +1313,8 @@ /*obj.suffixC = ""; obj.suffixB = "";*/ obj.seq = sequence; obj.icon = menuVO.getSource(); obj.image = menuVO.getSource(); obj.functionType = menuVO.getFunctionType(); obj.isValid = Func.isNotEmpty(menuVO.getIsValid()) ? menuVO.getIsValid():false; obj.aliasName = aliasName; obj.resourceDotNet = resDotNet; Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1428,7 +1428,7 @@ } catch (PLException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new VciBaseException("检查密码策略符合情况失败!2"); throw new VciBaseException("检查密码策略符合情况失败!"); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -722,7 +722,7 @@ rootTreeList.add(tree); } } rootTreeList = rootTreeList.stream().sorted((o1, o2) -> o1.getId().compareTo(o2.getId())).collect(Collectors.toList()); return rootTreeList; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -1469,7 +1469,7 @@ platformClientUtil.getUIService().savePLCommandParameter(plCommandParameter); } catch (PLException e) { e.printStackTrace(); throw new VciBaseException("保存按钮信息时发生异常:"+ e.getMessage()); throw new VciBaseException("保存按钮参数时发生异常:"+ e.getMessage()); } } } Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -80,8 +80,8 @@ v-model="item.value" :placeholder="item.text"> </el-input> <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"></el-input-number> <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1" size="mini"></el-input-number> <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="请输入密码" show-password></el-input> <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio> @@ -90,15 +90,14 @@ v-model="item.value" :disabled="false" placeholder="请选择" size="mini"> </el-select> <el-date-picker class="formItemMargin" v-if="item.itemType === 'date' || item.itemType === 'datetime'" v-model="item.value" :placeholder="item.itemType === 'date' ? '请选择日期' : '请选择日期时间'" class="formItemMargin" type="date"> </el-date-picker> <el-time-select class="formItemMargin" v-if="item.itemType === 'time'" v-model="item.value" :picker-options="{ @@ -106,6 +105,7 @@ step: '00:15', end: '18:30' }" class="formItemMargin" placeholder="选择时间"> </el-time-select> <el-button v-if="item.itemType === 'file'" @@ -147,9 +147,13 @@ <el-form-item label="使用字段"> <div style="display: flex;align-items: center"> <el-input v-model="form.text" :readonly="true" placeholder="请输入使用字段" size="mini"></el-input> <el-checkbox v-model="form.itemIsEditable" true-label="1" false-label="0" style="margin-left: 5px; margin-right: 5px">只读 <el-checkbox v-model="form.itemIsEditable" false-label="0" style="margin-left: 5px; margin-right: 5px" true-label="1">只读 </el-checkbox> <el-checkbox v-model="form.itemIsRequired" true-label="1" false-label="0" style="margin-left: 5px;margin-right: 0px">必填 <el-checkbox v-model="form.itemIsRequired" false-label="0" style="margin-left: 5px;margin-right: 0px" true-label="1">必填 </el-checkbox> </div> </el-form-item> @@ -731,8 +735,8 @@ :placeholder="item.text"> </el-input> <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"></el-input-number> <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1" size="mini"></el-input-number> <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="请输入密码" show-password></el-input> <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio> @@ -806,10 +810,9 @@ <script> import {getObjTypeQTs, getTreeAttributes, savePortalVI, refPersonOrgTree} from "@/api/UI/formDefine/api"; import {gridAttribute} from "@/api/modeling/attributePool/api"; import func from "@/util/func"; import basicOption from "@/util/basic-option"; import {gridAttribute} from "@/api/modeling/attributePool/api"; import {getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api"; export default { name: "formDialog", @@ -1113,7 +1116,9 @@ oid: data.oid, itemType: 'text', itemName: data.data.name, itemCols :"1" itemCols: "1", itemIsEditable:"0", itemIsRequired:"0", } console.log(data); const isDuplicate = this.formList.some(item => item.text === data.text); @@ -1130,11 +1135,9 @@ this.activeItem = item; this.activeItemIndex = index; this.form = {...item}; // this.form.itemCols = "1"; console.log(item); // console.log(item,index); this.topForm.position = index += 1; // this.$forceUpdate(); console.log(this.form); }, // 设置显示行数 @@ -1202,7 +1205,7 @@ this.$message.error('请选择一条数据进行删除'); return; } this.formList = this.formList.filter(item => item.text != this.activeItem.text); this.formList = this.formList.filter(item => item.text !== this.activeItem.text); this.activeItem = {}; this.form = {}; }, @@ -1332,9 +1335,7 @@ } if (!this.form.text) { this.$message.error('请在右侧选择数据后进行操作!'); return; } }, // 自定义组件修改显示类型 @@ -1421,9 +1422,12 @@ this.$message.error('请添加一条数据进行保存!'); return; } this.formList = this.formList.map(item => item.text === this.form.text ? this.form : item ); console.log(this.formList); this.$message.success('应用成功'); }, Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
@@ -5,7 +5,7 @@ <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> <!-- 左侧树 --> <div style="height: calc(100vh - 190px);"> <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> <avue-tree v-loading="loading" :data="treeData" :option="treeOption" @node-click="nodeClick"> <span slot-scope="{ node, data }" class="el-tree-node__label"> <span style="font-size: 15px"> <i class="el-icon-s-promotion"></i> @@ -170,6 +170,7 @@ components: {plShow, uiAuthor}, data() { return { loading:false, dialog: { showDialog: false, title: "上下文详情", @@ -363,7 +364,7 @@ methods: { //树表查询 getTreeList() { const loading = this.$loading({}); this.loading = true; getBizTree().then(res => { this.treeData = [res.data.obj]; const dicData = res.data.obj.children.map(item => { @@ -377,9 +378,9 @@ disabled: true, children: dicData }]; loading.close(); this.loading = false; }).catch(error => { loading.close(); this.loading = false; }) }, // 树点击 Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -74,27 +74,40 @@ <el-form-item label="模块别名:"> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="模块别名用来记录日志使用"></el-input> </el-form-item> <el-form-item label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> </el-form-item> <el-form-item label="B/S:"> <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label="B/S:"> <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径" type="textarea"></el-input> </el-form-item> <el-form-item label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="Mobile:"> <el-input v-model="form.resourceMobile" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入Mobile" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="序号:"> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item label="图标:"> <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="请选择图标"> <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="请选择图标"> </avue-input-icon> </el-form-item> <el-form-item label="描述:"> <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="请输入描述" type="textarea"></el-input> <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="请输入描述" type="textarea"></el-input> </el-form-item> <el-form-item label="是否菜单:"> <el-switch v-model="form.functionType" :active-value="0" :disabled="!editStatus && !addStatus" :inactive-value="1" active-color="#13ce66" inactive-color="#ff4949"> </el-switch> </el-form-item> <el-form-item label="是否有效:"> <el-switch Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -18,8 +18,10 @@ <el-main> <basic-container> <div v-if="(form.childType || form.childType === 0) && !addStatus && !editStatus && form.category !== 1" class="btnBox"> <el-button :disabled="(mangeShowBtn || form.childType === 0) ? false : !childTypeBtn" icon="el-icon-plus" plain <div v-if="(form.childType || form.childType === 0) && !addStatus && !editStatus && form.category !== 1" class="btnBox"> <el-button :disabled="(mangeShowBtn || form.childType === 0) ? false : !childTypeBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">增加 </el-button> @@ -75,27 +77,40 @@ <el-form-item label="模块别名:"> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="模块别名用来记录日志使用"></el-input> </el-form-item> <el-form-item label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> </el-form-item> <el-form-item label="B/S:"> <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label="B/S:"> <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径" type="textarea"></el-input> </el-form-item> <el-form-item label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="Mobile:"> <el-input v-model="form.resourceMobile" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入Mobile" type="textarea"></el-input> <el-form-item v-if="form.functionType === 0" label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="序号:"> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item label="图标:"> <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="请选择图标"> <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="请选择图标"> </avue-input-icon> </el-form-item> <el-form-item label="描述:"> <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="请输入描述" type="textarea"></el-input> <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="请输入描述" type="textarea"></el-input> </el-form-item> <el-form-item label="是否菜单:"> <el-switch v-model="form.functionType" :active-value="0" :disabled="!editStatus && !addStatus" :inactive-value="1" active-color="#13ce66" inactive-color="#ff4949"> </el-switch> </el-form-item> <el-form-item label="是否有效:"> <el-switch