田源
2024-12-30 cd68e400dec06aa87d093aebc691c127ca816cb8
Merge remote-tracking branch 'origin/master'
已修改13个文件
已删除2个文件
437 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/config/ConfigCorbaReader.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebIconController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/data.s.json 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/SmHMSysModConfigServiceI.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmHMSysModConfigServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/styles/ui.scss 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue 227 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/config/ConfigCorbaReader.java
ÎļþÒÑɾ³ý
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -3,6 +3,7 @@
import com.vci.constant.FrameWorkLangCodeConstant;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.FuncOperationInfo;
import com.vci.corba.framework.data.OnlinUserInfo;
import com.vci.corba.framework.data.OperateInfo;
import com.vci.dto.RoleInfoDTO;
import com.vci.dto.RoleRightParamDTO;
@@ -524,4 +525,21 @@
        }
    }
    /**
     * èŽ·å–å½“å‰ç”¨æˆ·åœ¨çº¿äººæ•°
     * @return
     */
    @GetMapping("/getOnlinUsers")
    public BaseResult<OnlinUserInfo> getOnlinUsers(){
        try {
            BaseResult baseResult = BaseResult.success();
            List<OnlinUserInfo> onlineUserList = hmSysModConfigService.getOnlinUsers();
            baseResult.setData(onlineUserList);
            return baseResult;
        } catch (Exception e) {
            String errorMsg = "获取当前在线用户时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebIconController.java
@@ -4,6 +4,7 @@
import com.vci.dto.PLIconDTO;
import com.vci.pagemodel.PLIconGroupVO;
import com.vci.pagemodel.PLIconVO;
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
@@ -148,6 +149,7 @@
     * @param baseQueryObject æŸ¥è¯¢å¯¹è±¡
     * @return å›¾æ ‡ä¿¡æ¯
     */
    @VciUnCheckRight
    @VciBusinessLog(operateName = "获取所有图标", description = "获取所有图标")
    @GetMapping("/getAllIcon")
    public BaseResult<PLIconGroupVO> getAllIcon(BaseQueryObject baseQueryObject){
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/data.s.json
ÎļþÒÑɾ³ý
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/SmHMSysModConfigServiceI.java
@@ -2,10 +2,7 @@
import com.vci.common.exception.VciException;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.AppConfigCategoryInfo;
import com.vci.corba.framework.data.AppConfigDetailInfo;
import com.vci.corba.framework.data.FuncOperationInfo;
import com.vci.corba.framework.data.OperateInfo;
import com.vci.corba.framework.data.*;
import com.vci.pagemodel.ExpExcelConditionVO;
import com.vci.pagemodel.MenuVO;
import com.vci.starter.web.exception.VciBaseException;
@@ -164,4 +161,10 @@
     */
    long getOnlineUsersNum();
    /**
     * èŽ·å–åœ¨çº¿äººå‘˜
     * @return
     */
    List<OnlinUserInfo> getOnlinUsers();
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmHMSysModConfigServiceImpl.java
@@ -1613,4 +1613,18 @@
    }
    /**
     * èŽ·å–åœ¨çº¿äººå‘˜
     *
     * @return
     */
    @Override
    public List<OnlinUserInfo> getOnlinUsers() {
        try {
            OnlinUserInfo[] onlinUserInfos = platformClientUtil.getFrameworkService().getOnlineUsers();
            return Arrays.asList(onlinUserInfos);
        } catch (PLException e) {
            throw new VciBaseException(String.valueOf(e.code), e.messages);
        }
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -849,9 +849,11 @@
    public DataGrid getTabByContextIdAndType(String contextId, int areaType) throws PLException {
        VciBaseUtil.alertNotNull(contextId,"上下文主键",areaType,"区域类型");
        PLTabPage[] plTabPages = platformClientUtil.getUIService().getTabPagesByContextIdAndType(contextId, (short) areaType);
        List<PLTabPage> tabPageList = Arrays.stream(plTabPages).sorted(((o1, o2) -> Math.toIntExact(o1.plSeq - o2.plSeq)))
                .collect(Collectors.toList());
        DataGrid dataGrid = new DataGrid();
        dataGrid.setTotal(plTabPages.length);
        dataGrid.setData(Arrays.asList(plTabPages));
        dataGrid.setData(Arrays.asList(tabPageList));
        return dataGrid;
    }
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
@@ -14,7 +14,7 @@
               @close="dialogClose">
      <div style="display: flex;justify-content: space-between;flex-wrap: wrap">
        <div class="tag-group">
          <span class="tag-group__title">分类</span>
          <span class="tag-group__title" v-if="types.length>0">分组</span>
          <el-tag
            v-for="item in types"
            :key="item.key"
Source/plt-web/plt-web-ui/src/styles/ui.scss
@@ -377,7 +377,7 @@
  margin-top: 0 !important;
}
.avue-dialog .el-dialog__body{
  padding: 20px 20px 0px 20px; // ä¸Šå³ä¸‹å·¦ å–消表格下边距(会出现滚动条)
  padding: 15px 15px 0px 15px; // ä¸Šå³ä¸‹å·¦ å–消表格下边距(会出现滚动条)
  margin-bottom: 10px !important;
}
.avue-dialog .el-dialog__body .avue-form{
@@ -390,6 +390,10 @@
.el-dialog__footer{
  border-top: 1px solid #e9e7e7;
  padding: 10px 20px 10px;
  z-index: 10000;
}
.avue-dialog__footer{
  z-index: 10000;
}
/*
@@ -528,7 +532,7 @@
}
/*
树
  æ ‘
 */
/***隐藏树懒加载时节点上的loading,防止节点抖动*****/
.el-tree .el-tree-node__loading-icon{
@@ -540,6 +544,9 @@
  height: 14px !important;
  margin-right: 3px;
}
.el-tree-node__label [class*=" el-icon-"],.el-tree-node__label [class^=el-icon-]{
  font-size: 14px;margin-top: 3px;
}
.el-select{
  width: 100%;
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue
@@ -163,6 +163,7 @@
      this.dialog.loading = false;
      this.dialog.showDialog = false;
      this.$refs.tree.setCurrentKey(null);
      this.$emit('cancelAction',null);
    },
    submitDialog() {
      if (this.selectList.length==0) {
@@ -179,8 +180,9 @@
        this.$emit('updataAction', this.selectList[0]);
      }
      this.cancelDialog();
      this.dialog.loading = false;
      this.dialog.showDialog = false;
      this.$refs.tree.setCurrentKey(null);
    },
    // å·¦ä¾§æ ‘请求
    getTreeList(status) {
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
@@ -214,10 +214,11 @@
        highlightCurrentRow: true,
        rowKey: 'id',
        rowParentKey: 'pid',
        menuWidth: 360,
        menuWidth: 300,
        span: 24,
        labelWidth: 100,
        dialogWidth: '800',
        align:'left',
        column: [{
          label: '分类名称',
          prop: 'name',
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
@@ -4,7 +4,7 @@
      <basic-container>
        <div style="display: flex;justify-content: space-between;flex-wrap: wrap">
          <div class="tag-group">
            <span class="tag-group__title">分组</span>
            <span class="tag-group__title" v-if="types.length>0">分组</span>
            <el-tag
              v-for="item in types"
              :key="item.key"
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -16,12 +16,12 @@
        <el-button v-if="permissionChildrenList.UiPageLayoutAddBtn" icon="el-icon-plus" plain size="small" type="primary"
                   @click="addClickHandler">增加
        </el-button>
        <el-button v-if="permissionChildrenList.UiPageLayoutDesignBtn" icon="el-icon-edit-outline" plain size="small" type="primary"
                   @click="btnDesignClickHandler">按钮设计
        </el-button>
      </template>
      <template slot="menu" slot-scope="scope">
        <el-button v-if="permissionChildrenList.UiPageLayoutDesignBtn" icon="el-icon-edit-outline" size="small" type="text"
                   @click="btnDesignClickHandler(scope.row)">按钮设计
        </el-button>
        <el-button v-if="permissionChildrenList.UiPageLayoutEditBtn" icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">编辑
        </el-button>
        <el-button v-if="permissionChildrenList.UiPageLayoutDelBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">删除
@@ -109,28 +109,28 @@
      append-to-body="true"
      class="avue-dialog"
      title="配置按钮"
      width="75%"
      @close="dialogClose">
      width="1200px"
      @close="$refs.form.clearValidate();disabledBtn=true;">
      <el-container v-loading="dialogLoading">
        <el-header style="height: 40px !important;">
        <el-header style="height: 40px !important;padding-left: 5px;">
          <div style="display: flex">
            <el-button :disabled="!disabledBtn" plain size="mini" type="primary" @click="addClickBtnHandler">添加
            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="primary" @click="addClickBtnHandler">添加
            </el-button>
            <el-button :disabled="!disabledBtn" plain size="mini" type="primary" @click="editClickBtnHandler">修改
            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="primary" @click="editClickBtnHandler">修改
            </el-button>
            <el-button :disabled="!disabledBtn" plain size="mini" type="danger" @click="delClickBtnHandler">删除
            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="danger" @click="delClickBtnHandler">删除
            </el-button>
            <el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="saveClickBtnHandler">保存
            <el-button v-show="!disabledBtn" :disabled="disabledBtn" plain size="mini" icon="el-icon-check" type="success" @click="saveClickBtnHandler">保存
            </el-button>
            <el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="escClickBtnHandler">取消
            <el-button v-show="!disabledBtn" :disabled="disabledBtn" plain size="mini" icon="el-icon-close" type="danger" @click="escClickBtnHandler">取消
            </el-button>
            <el-button plain size="mini" type="primary" @click="changeBottomBtnHandler">调整为下级按钮</el-button>
            <el-button plain size="mini" type="primary" @click="changeTopBtnHandler">调整为上级按钮</el-button>
            <el-button plain size="mini" type="primary" @click="cloneClickBtnHandler">复制到其他组件</el-button>
            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="changeBottomBtnHandler">调整为下级按钮</el-button>
            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="changeTopBtnHandler">调整为上级按钮</el-button>
            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="cloneClickBtnHandler">复制到其他组件</el-button>
          </div>
        </el-header>
        <el-container>
          <el-aside width="20%">
          <el-aside width="25%">
            <basic-container>
              <div style="height:650px;">
                <avue-tree
@@ -141,9 +141,10 @@
                  node-key="value"
                  @node-click="nodeTreeClick">
                  <span slot-scope="{ node, data }" class="el-tree-node__label">
                    <span style="font-size: 14px">
                    <i class="el-icon-s-promotion"></i>
                      {{ (node || {}).label }}
                    <span style="display: flex">
                      <i v-if="data.oId=='parentNode'" class="iconShow el-icon-s-home"></i>
                      <icon-show v-else :name="data.iconPath"></icon-show>
                        {{ (node || {}).label }}
                    </span>
                  </span>
                </avue-tree>
@@ -154,30 +155,29 @@
          <el-main>
            <basic-container>
              <el-divider content-position="left">基础信息</el-divider>
              <el-form ref="form" :model="basicForm" :rules="rules" label-width="90px" size="small"
              <el-form ref="form" :model="basicForm" :rules="rules" label-width="100px" size="small"
                       style="margin-top: 20px">
                <el-row>
                  <el-form-item :inline-message='true' label="编号:" prop="seq">
                    <el-input-number v-model="basicForm.seq" :disabled="disabledBtn" :max="9999" :min="1"
                                     controls-position="right"></el-input-number>
                  </el-form-item>
                  <el-col :span="12">
                    <el-form-item :inline-message='true' label="编号:" prop="seq">
                      <el-input-number v-model="basicForm.seq" :disabled="disabledBtn" :max="9999" :min="1"
                                       controls-position="right"></el-input-number>
                    </el-form-item>
                  </el-col>
                  <el-form-item :inline-message='true' label="名称:" prop="label">
                    <el-col :span="14">
                      <el-input v-model="basicForm.label" :readonly="disabledBtn"></el-input>
                    </el-col>
                  </el-form-item>
                  <el-col :span="12">
                    <el-form-item :inline-message='true' label="名称:" prop="label">
                      <el-input v-model="basicForm.label" :disabled="disabledBtn"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-form-item label="Action:" prop="Action">
                    <el-col :span="14">
                      <div style="display: flex">
                        <el-input v-model="basicForm.actionName" :readonly="disabledBtn"></el-input>
                        <el-button :disabled="disabledBtn" size="mini" style="margin-left: 10px" type="success"
                                   @click="actionFoucus">选择
                        </el-button>
                      </div>
                    </el-col>
                  </el-form-item>
                  <el-col :span="12">
                    <el-form-item label="Action:" prop="actionName">
                      <el-input v-model="basicForm.actionName" :disabled="disabledBtn" :clearable="true" @focus="actionFoucus" @clear="clearActionValue">
                        <i slot="suffix" class="el-input__icon el-icon-search" style="cursor: pointer" @click="actionFoucus"></i>
                      </el-input>
                    </el-form-item>
                  </el-col>
                  <el-col :span="12">
                    <el-form-item label="是否授权:" prop="authorization">
@@ -185,7 +185,8 @@
                      <el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="1">否</el-radio>
                    </el-form-item>
                  </el-col>
                  <el-col :span="24">
                  </el-col>
                  <el-col :span="12">
                    <el-form-item label="是否显示:" prop="show">
                      <el-radio v-model="basicForm.show" :disabled="disabledBtn" label="0">是</el-radio>
@@ -193,18 +194,22 @@
                    </el-form-item>
                  </el-col>
                  <el-col :span="12">
                  <el-col :span="12" v-show="basicForm.show=='0'">
                    <el-form-item label="显示方式:" prop="showType">
                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="text">文字</el-radio>
                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="image">图标</el-radio>
                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="textandimage">文字和图标
                      </el-radio>
                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="textandimage">文字和图标</el-radio>
                    </el-form-item>
                  </el-col>
                  <el-col :span="24" v-show="basicForm.show=='0' && (basicForm.displayMode=='image'||basicForm.displayMode=='textandimage')">
                    <el-form-item label="图标:" prop="iconPath">
                      <input-icon v-model="basicForm.iconPath" :disabled="disabledBtn"></input-icon>
                    </el-form-item>
                  </el-col>
                  <el-col :span="12">
                  <el-col :span="24">
                    <el-form-item label="提示信息:" prop="desc">
                      <el-input v-model="basicForm.desc" :readonly="disabledBtn" type="textarea"></el-input>
                      <el-input v-model="basicForm.desc" :disabled="disabledBtn" type="textarea"></el-input>
                    </el-form-item>
                  </el-col>
@@ -241,7 +246,7 @@
        </el-container>
      </el-container>
    </el-dialog>
    <action-dialog ref="actionDialog" @updataAction="actionSaveHandler"></action-dialog>
    <action-dialog ref="actionDialog" @cancelAction="actionCancelHandler" @updataAction="actionSaveHandler"></action-dialog>
    <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" paramsType="tab"
                  type="pageDef"></clone-dialog>
    <clone-dialog ref="cloneBtnDialog" :fromOid="formBtnOid" :sourceOId="sourceBtnOid" paramsType="pageDef"
@@ -358,10 +363,13 @@
        editBtn: false,
        delBtn: false,
        refreshBtn: false,
        dialogWidth:'600',
        menuWidth:'150',
        column: [
          {
            label: '名称',
            prop: 'name',
            width:180,
            span: 24,
            rules: [
              {
@@ -374,6 +382,7 @@
          {
            label: '值',
            prop: 'value',
            type:'textarea',
            span: 24,
            rules: [
              {
@@ -391,6 +400,9 @@
        ],
        label: [
          {required: true, message: '请输入名称', trigger: 'blur'},
        ],
        actionName: [
          {required: true, message: '请选择Action', trigger: 'blur'},
        ],
      },
      // æŒ‰é’®è®¾è®¡ åŸºç¡€ä¿¡æ¯
@@ -422,10 +434,12 @@
        calcHeight: -30,
        editBtn: false,
        delBtn: false,
        menuWidth:300,
        column: [
          {
            label: '名称',
            prop: 'name',
            width: 220,
            labelWidth: 110,
            rules: [
              {
@@ -438,6 +452,7 @@
          {
            label: '编号',
            prop: 'seq',
            width:100,
            labelWidth: 110,
            hide: false,
            rules: [
@@ -449,13 +464,13 @@
            ],
          },
          {
            label: '',
            label: 'UI解析类型',
            prop: 'uiParser',
            hide: true,
            labelWidth: 110,
          },
          {
            label: '',
            label: '扩展属性',
            prop: 'extAttr',
            hide: true,
            labelWidth: 110,
@@ -911,7 +926,7 @@
          this.lastIndex = newIndex;
        },
        () => {
          this.selectList = [];
          this.selectList = [row];
        }
      );
    },
@@ -949,7 +964,6 @@
          };
        });
      }
      console.log('row',row);
      this.searchTargerChangeFlag = false;
      this.$refs.crud.rowEdit(row);
    },
@@ -1026,24 +1040,6 @@
    // å¯¹è¯æ¡†è¡¨æ ¼æ·»åŠ 
    formDataAddClickHandler() {
      // if (!this.form.eventKey) {
      //   this.$message.error('请选择EventKey');
      //   return;
      // }
      //
      // if (!this.form.eventValue) {
      //   this.$message.error('请输入EventValue');
      //   return;
      // }
      //
      // if (this.eventData.length >= 1) {
      //   const eventValueStatus = this.eventData.some(item => item.eventValue === this.form.eventValue);
      //
      //   if (eventValueStatus) {
      //     this.$message.error('已存在相同的 EventValue,不能重复添加');
      //     return;
      //   }
      // }
      const obj = {
        index: this.eventData.length,
        eventKey: this.form.eventKey || 'SelectionEvent',
@@ -1135,34 +1131,34 @@
    },
    // æŒ‰é’®è®¾è®¡
    btnDesignClickHandler() {
      if (this.selectList.length != 1) {
    btnDesignClickHandler(row) {
      /*if (this.selectList.length != 1) {
        this.$message.error('请选择一条数据');
        return;
      }
      }*/
      this.btnDesignVisible = true;
      this.formBtnOid = this.selectList[0].id;
      this.getTabBtnTree();
      this.formBtnOid = row.id;
      this.getTabBtnTree(row);
    },
    // å·¦ä¾§æ ‘请求
    getTabBtnTree() {
    getTabBtnTree(row) {
      const params = {
        pageDefinationOid: this.selectList[0].id
        pageDefinationOid: row && row.id ? row.id : this.selectList[0].id
      }
      this.treeLoading = true;
      getTabButtons(params).then(res => {
        if (res.data.code === 200) {
          const data = res.data.data;
          this.treeData = [{
            label: this.selectList[0].name,
            label: row && row.id ? row.name : this.selectList[0].name,
            oId: 'parentNode',
            disabled: true,
            children: data
          }];
          this.treeLoading = false;
        } else {
          this.$message.error('请检查控制台错误');
          this.$message.error(res.data.msg);
        }
      })
    },
@@ -1176,6 +1172,7 @@
        value: value
      })) : [];
      this.disabledBtn = true;
      this.$refs.form.clearValidate()
    },
    // æŒ‰é’®è®¾è®¡å‚数信息删除
@@ -1253,37 +1250,47 @@
    // æŒ‰é’®è®¾è®¡ä¿å­˜
    saveClickBtnHandler() {
      this.dialogLoading = true;
      const saveFunction = this.saveType === 'add' ? addTapButton : updateTapButton;
      const bottomParams = {};
      if (this.paramsData.length > 0) {
        this.paramsData.forEach(item => {
          bottomParams[item.name] = item.value
        })
      if (this.basicForm.show == '0' && (this.basicForm.displayMode == 'image' || this.basicForm.displayMode == 'textandimage') && this.basicForm.iconPath == '') {
        this.$message.error('请选择图标');
        return;
      }
      this.$refs.form.validate((valid, done) => {
        if (valid) {
          this.dialogLoading = true;
          const saveFunction = this.saveType === 'add' ? addTapButton : updateTapButton;
          const bottomParams = {};
          if (this.paramsData.length > 0) {
            this.paramsData.forEach(item => {
              bottomParams[item.name] = item.value
            })
          }
          const params = this.saveType === 'add' ? {
            ...this.basicForm,
            parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
            buttonParams: bottomParams,
            tableOId: this.selectList[0].id
          } : {
            ...this.basicForm,
            buttonParams: bottomParams
          }
      const params = this.saveType === 'add' ? {
        ...this.basicForm,
        parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
        buttonParams: bottomParams,
        tableOId: this.selectList[0].id
      } : {
        ...this.basicForm,
        buttonParams: bottomParams
      }
      saveFunction(params).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.disabledBtn = true;
          this.getTabBtnTree();
          this.basicForm = {};
          this.paramsData = [];
          this.dialogLoading = false;
          saveFunction(params).then(res => {
            if (res.data.code === 200) {
              this.$message.success(res.data.obj);
              this.disabledBtn = true;
              this.getTabBtnTree();
              this.basicForm = {};
              this.paramsData = [];
              this.dialogLoading = false;
            }
          }).catch(err => {
            this.dialogLoading = false;
          })
        } else {
          return false;
        }
      }).catch(err => {
        this.dialogLoading = false;
      })
        done();
      });
    },
    // æŒ‰é’®è®¾è®¡åˆ é™¤
@@ -1342,8 +1349,20 @@
    actionSaveHandler(val) {
      this.$set(this.basicForm, 'actionName', val.plName);
      this.$set(this.basicForm, 'actionOId', val.plOId);
      this.$refs.form.clearValidate('Action')
    },
    // action选择弹窗直接关闭
    actionCancelHandler() {
      if(this.basicForm.actionOId){
        this.$refs.form.clearValidate('Action')
      }
    },
    //清除action
    clearActionValue(){
      this.$set(this.basicForm, 'actionName', '');
      this.$set(this.basicForm, 'actionOId', '');
    },
    // æ‰“开克隆对话框
    rowCloneHandler(row) {
      this.fromOid = this.sourceData.plOId;
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
@@ -54,7 +54,8 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="序号:" prop="plSeq">
              <el-input v-model="form.plSeq"></el-input>
              <el-input-number  v-model="form.plSeq" :max="9999" :min="1"
                                controls-position="right"></el-input-number >
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -269,7 +270,7 @@
          this.lastIndex = newIndex;
        },
        () => {
          this.selectList = [];
          this.selectList = [row];
        }
      );
    },
@@ -324,7 +325,7 @@
    },
    // ç¼–辑按钮
    rowEditBtnClick(row) {
      this.form=row;
      this.form=JSON.parse(JSON.stringify(row));
      this.dialogType = 'edit';
      this.dialogVisible = true;
    },
@@ -388,6 +389,7 @@
        } else {
          return false;
        }
        done();
      });
    },
    rowCloneHandler(row) {
Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -495,7 +495,7 @@
          this.lastIndex = newIndex;
        },
        () => {
          this.methodsList = [];
          this.methodsList = [row];
        }
      );
    },