ludc
2024-10-24 69dbc35a84b948acc2166aef6876c300da03f2c6
Merge remote-tracking branch 'origin/master'

# Conflicts:
# Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java
已修改8个文件
已删除1个文件
已重命名1个文件
798 ■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/OsPvolumeDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue 111 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue 433 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/OsPvolumeDTO.java
@@ -20,5 +20,5 @@
    private String service; // æœåŠ¡å
    private short type; //卷服务类型 0:Unix,1:Win NT
    private String path; //卷服务路径
    private boolean isvalid; //是否为首选路径,如果修改了这个值会提醒:您确实要修改卷的首选路径吗?
    private boolean isvalid; //是否为首选路径,如果修改了这个值会提醒:您确实要修改卷的首选路径吗?false ä¸ºæœªé€‰æ‹©ï¼Œtrue为选择
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java
@@ -39,14 +39,20 @@
    /**
     * åˆ†é¡µæŸ¥è¯¢å·
     * @param pageSize é¡µæ•°
     * @param pageIndex ç¬¬å‡ é¡µ
     * @param pageSize ç¬¬å‡ é¡µ
     * @param pageIndex é¡µæ•°
     * @return åˆ†é¡µæ•°æ®
     */
    @GetMapping("/getPvolumesPage")
    public BaseResult getPvolumesPage(short pageSize, short pageIndex){
    public BaseResult getPvolumesPage(Integer pageSize, Integer pageIndex){
        try {
            return osPvolumesServiceI.getPvolumesPage(pageSize, pageIndex);
            if(pageIndex == null){
                pageIndex = 1000 ;
            }
            if(pageSize == null){
                pageSize = 0;
            }
            return osPvolumesServiceI.getPvolumesPage(pageSize.shortValue(), pageIndex.shortValue());
        } catch (PLException e) {
            BaseResult objectBaseResult = new BaseResult<>();
            objectBaseResult.setCode(Integer.parseInt(e.code));
@@ -95,7 +101,7 @@
     * @return åˆ é™¤ç»“æžœ
     */
    @DeleteMapping("/deletePvolume")
    public BaseResult deletePvolume(String[] ids){
    public BaseResult deletePvolume(String ids){
        try {
            return osPvolumesServiceI.deletePvolume(ids);
        } catch (PLException e) {
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java
@@ -1,10 +1,8 @@
package com.vci.web.service;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.PvolumeInfo;
import com.vci.dto.*;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.web.util.Func;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@@ -12,7 +10,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
 * æ–‡ä»¶æŸœç®¡ç†çš„æœåŠ¡
@@ -22,8 +19,8 @@
public interface OsPvolumesServiceI {
    /**
     * åˆ†é¡µæŸ¥è¯¢å·
     * @param pageSize é¡µæ•°
     * @param pageIndex ç¬¬å‡ é¡µ
     * @param pageSize ç¬¬å‡ é¡µ
     * @param pageIndex é¡µæ•°
     * @return åˆ†é¡µæ•°æ®
     */
    BaseResult getPvolumesPage(short pageSize, short pageIndex) throws PLException;
@@ -66,4 +63,5 @@
     * @return
     */
    boolean savePvolumeUser(String pvolumId ,String[] userIds) throws PLException;
    BaseResult deletePvolume(String ids) throws PLException;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java
@@ -38,8 +38,8 @@
    /**
     * åˆ†é¡µæŸ¥è¯¢å·
     * @param pageSize é¡µæ•°
     * @param pageIndex ç¬¬å‡ é¡µ
     * @param pageSize ç¬¬å‡ é¡µ
     * @param pageIndex é¡µæ•°
     * @return åˆ†é¡µæ•°æ®
     */
    @Override
@@ -59,7 +59,7 @@
    public BaseResult savePvolume(OsPvolumeDTO dto) throws PLException {
        PvolumeInfo pvoInfo = new PvolumeInfo();
        pvoInfo.service = dto.getService();
        pvoInfo.id = dto.getId();
//        pvoInfo.id = dto.getId();
        pvoInfo.name = dto.getName();
        pvoInfo.host = dto.getHost();
        pvoInfo.isvalid = dto.isIsvalid();
@@ -127,11 +127,11 @@
     * @return åˆ é™¤ç»“æžœ
     */
    @Override
    public BaseResult deletePvolume(String[] ids) throws PLException {
        if ( ids.length == 0){
    public BaseResult deletePvolume(String ids) throws PLException {
        if ( StringUtils.isBlank(ids)){
            throw new PLException("500", new String[]{"请选择相关数据!!"});
        }
        for (String id : ids) {
        for (String id : ids.split(",")) {
            boolean isvalid = platformClientUtil.getFrameworkService().checkIsvalid(id);
            if(isvalid) {
                throw new PLException("500", new String[]{"选择数据为首选路径,不能删除!"});
@@ -140,7 +140,7 @@
        UserEntityInfo userInfo = new UserEntityInfo();
        userInfo.setUserName(WebUtil.getCurrentUserId());
        userInfo.setModules("com.vci.client.framework.systemConfig.volumn.PvolumePanel");
        boolean rs = platformClientUtil.getFrameworkService().deletePvolume(ids, userInfo);
        boolean rs = platformClientUtil.getFrameworkService().deletePvolume(ids.split(","), userInfo);
        if(!rs){
            return BaseResult.fail("删除失败!");
        }
Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue
@@ -1,50 +1,62 @@
<template>
  <el-container>
    <el-aside>
      <basic-container>
        <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
          <div class="headerCon">
            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
            </el-button>
            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">修改
            </el-button>
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
            </el-button>
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出
            </el-button>
            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">导入
            </el-button>
            <el-button class="smallBtn" plain size="small" type="primary"
                       @click="checkViewClickHandler">查看使用范围
            </el-button>
          </div>
          <!-- å·¦ä¾§æ ‘         -->
          <div style="height:  calc(100vh - 280px);">
            <avue-tree :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>
                {{ (node || {}).label }}
            </span>
          </span>
            </avue-tree>
          </div>
        </div>
      </basic-container>
    </el-aside>
    <el-main>
      <basic-container>
      </basic-container>
    </el-main>
    <basic-container style="height: calc(100vh - 118px);width: 100%;">
      <avue-form ref="form" v-model="form" :option="formOption" @submit="saveHandler"></avue-form>
    </basic-container>
  </el-container>
</template>
<script>
import {deleteLog, getPeroid, savePeriod} from "@/api/system/log/logBasic";
export default {
  name: "index"
  name: "index",
  data: function () {
    return {
      form:{
        type:[],
      },
      formOption:{
        submitBtn: true,
        submitText:"保存",
        emptyBtn: false,
        menuPosition:'left',
        column: [{
          label: '用户\\机器密级停启用配置',
          labelWidth:185,
          prop: 'type',
          span: 24,
          type: 'checkbox',
          dicData: [
            { label: '用户密级', value: 0 },
            { label: '机器密级', value: 1 },
          ]
        }]
      },
    }
  },
  created() {
    this.getPeroid()
  },
  methods:{
    getPeroid:function (){
      getPeroid().then(res => {
        //this.form=res.data.data;
      }).catch(error => {
      })
    },
    saveHandler:function (form,done){
      debugger;
      savePeriod({'type':this.form.type}).then(res => {
        if (res.data.success) {
          this.$message.success('保存成功')
        }
        done()
      }).catch(error=>{
        done()
      });
    },
  }
}
</script>
@@ -53,40 +65,5 @@
  .el-scrollbar__wrap {
    overflow: auto !important;
  }
  .headerCon{
    .el-button{
      width: 82px;
    }
  }
}
.headerCon {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5px;
  .el-button + .el-button {
    margin-left: 5px;
  }
  .el-button {
    margin-top: 5px;
  }
}
.headerCon > .el-button:nth-child(4) {
  margin-left: 0;
}
.headerCon > .el-button:nth-child(7) {
  margin-left: 0;
}
.smallBtn {
  width: 82px;
  text-align: center;
  padding-left: 4.5px;
}
</style>
Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
@@ -1,33 +1,17 @@
<template>
  <el-container>
    <el-aside>
      <basic-container>
        <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
          <div class="headerCon">
            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
            </el-button>
            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">修改
            </el-button>
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
            </el-button>
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出
            </el-button>
            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">导入
            </el-button>
            <el-button class="smallBtn" plain size="small" type="primary"
                       @click="checkViewClickHandler">查看使用范围
            </el-button>
          </div>
        <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
          <!-- å·¦ä¾§æ ‘         -->
          <div style="height:  calc(100vh - 280px);">
          <div style="height:  calc(100vh - 190px);">
            <avue-tree :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>
                {{ (node || {}).label }}
            </span>
          </span>
              <span slot-scope="{ node, data }" class="el-tree-node__label">
               <span style="font-size: 15px">
                  <i class="el-icon-s-promotion"></i>
                    {{ (node || {}).label }}
                </span>
              </span>
            </avue-tree>
          </div>
        </div>
@@ -43,8 +27,51 @@
</template>
<script>
import {getBizTree} from "@/api/UI/uiDefine";
export default {
  name: "index"
  name: "index",
  data:function (){
    return{
      treeOption: {
        height: 'auto',
        defaultExpandAll: true,
        menu: false,
        addBtn: false,
        props: {
          label: 'text',
          value: 'oid',
          children: 'children'
        }
      },
      nodeRow: {},
      treeData: [],
    }
  },
  created() {
    this.getTreeList();
  },
  methods: {
    //树表查询
    getTreeList() {
      const loading = this.$loading({});
      getBizTree().then(res => {
        this.treeData = [res.data.obj];
        loading.close();
      }).catch(error => {
        loading.close();
      })
    },
    // æ ‘点击
    nodeClick(row) {
      if (row.oid) {
        this.nodeRow = row;
        this.getTableList();
      }
    },
    getTableList() {
    },
  }
}
</script>
@@ -53,40 +80,6 @@
  .el-scrollbar__wrap {
    overflow: auto !important;
  }
  .headerCon{
    .el-button{
      width: 82px;
    }
  }
}
.headerCon {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5px;
  .el-button + .el-button {
    margin-left: 5px;
  }
  .el-button {
    margin-top: 5px;
  }
}
.headerCon > .el-button:nth-child(4) {
  margin-left: 0;
}
.headerCon > .el-button:nth-child(7) {
  margin-left: 0;
}
.smallBtn {
  width: 82px;
  text-align: center;
  padding-left: 4.5px;
}
</style>
Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue
@@ -33,7 +33,7 @@
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">移除</el-button>
          </template>
        </avue-crud>
        <action-dialog ref="actionDialog"></action-dialog>
        <action-dialog ref="actionDialog" :is-muti="true" @updataAction="actionSaveHandler"></action-dialog>
      </basic-container>
    </el-main>
@@ -42,16 +42,9 @@
<script>
import basicOption from "@/util/basic-option";
import {
  cloneUIContextData,
  delUIContextData, expUIContextData,
  getBizTree, getExpContextTree,
  gridUIContextData,
  saveUIContextData,
  updateUIContextData
} from "@/api/UI/uiDefine";
import { delUIContextData, getBizTree, gridUIContextData} from "@/api/UI/uiDefine";
import func from "@/util/func";
import actionDialog from "@/views/modelingMenu/ui/Aciton/dialog"
import actionDialog from "@/views/modelingMenu/ui/Aciton/components/dialog"
export default {
  name: "index",
@@ -71,8 +64,7 @@
      },
      nodeRow: {},
      treeData: [],
      searchParams: {
      },
      searchParams: {},
      tableLoading: false,
      selectList: [],
      option: {
@@ -191,11 +183,20 @@
    //创建
    addHandler() {
      if (this.nodeRow && this.nodeRow.oid && this.nodeRow.oid!='') {
        this.$refs.actionDialog.openDialog(this.nodeRow);
        this.$refs.actionDialog.openDialog();
      } else {
        this.$message.error('请选择业务类型');
      }
    },
    // ä¿å­˜action
    actionSaveHandler(val) {
      addAction(val).then(res => {
        if(res.data.code == 200){
          this.$message.success(res.data.obj);
        }
      })
    },
    delHandler() {
      if (this.selectList.length <= 0) {
        this.$message.error('请至少选择一条数据');
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue
ÎļþÃû´Ó Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/dialog.vue ÐÞ¸Ä
@@ -8,11 +8,11 @@
             class="avue-dialog"
             width="1400px"
             @close="cancelDialog">
    <el-container>
    <el-container style="height: 580px;">
      <el-aside>
        <basic-container>
        <basic-container style="height: 560px;">
          <!-- å·¦ä¾§æ ‘ -->
          <div style="height: 200px;">
          <div style="height: 520px;">
            <avue-tree
              ref="tree"
              v-model="treeForm"
@@ -31,7 +31,7 @@
      </el-aside>
      <el-main>
        <basic-container>
        <basic-container style="height: 560px;">
          <div>
            <avue-crud
              ref="crud"
@@ -62,27 +62,13 @@
</template>
<script>
import {
  getActionTree,
  getActionTableData,
  saveAction,
  updateAction,
  exportAction,
  deleteAction,
  getPLActionParam,
  savePLActionParam,
  updatePLActionParam,
  deletePLActionParam,
  saveActionCls,
  updateActionCls,
  deleteActionCls
} from '@/api/UI/Action/api'
import { getActionTree, getActionTableData} from '@/api/UI/Action/api'
import func from "@/util/func";
import basicOption from "@/util/basic-option";
import {clonePageDef, cloneTabButton, clonetabPage} from "@/api/UI/uiDefine";
export default {
  name: "index",
  props:['isMuti'],
  data() {
    return {
      dialog: {
@@ -99,7 +85,7 @@
      option: {
        ...basicOption,
        addBtn: false,
        height: 200,
        height: 420,
        highlightCurrentRow: true,
        menu:false,
        column: [
@@ -168,7 +154,7 @@
  created() {
  },
  methods: {
    openDialog(data) {
    openDialog() {
      this.dialog.showDialog = true;
      this.getTreeList()
      this.data = [];
@@ -176,21 +162,25 @@
    cancelDialog() {
      this.dialog.loading = false;
      this.dialog.showDialog = false;
      this.$refs.tree.setCurrentKey(null);
    },
    submitDialog() {
      if (this.selectList.length==0) {
        this.$message.error('请选择Action');
        return;
      }
      const saveFunction = {
        'pageDef': ''
      };
      saveFunction[this.type](params).then(res => {
        if(res.data.code == 200){
          this.$message.success(res.data.obj);
          this.cancelDialog();
      if(this.isMuti){
        this.$emit('updataAction', this.selectList);
      }else {
        if(this.selectList.length>1){
          this.$message.error('请选择一条Action');
          return;
        }
      })
        this.$emit('updataAction', this.selectList[0]);
      }
      this.cancelDialog();
    },
    // å·¦ä¾§æ ‘请求
    getTreeList(status) {
@@ -207,7 +197,6 @@
    nodeClick(row) {
      this.treeNodeRow = row;
      this.getRightTableList(row);
      this.bottomData = [];
    },
    // å¤´éƒ¨åˆ·æ–°æŒ‰é’®
@@ -228,6 +217,7 @@
        const data = res.data.data;
        this.data = data;
        this.tableLoading = false;
      })
    },
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue
ÎļþÒÑɾ³ý
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -209,10 +209,6 @@
import basicOption from "@/util/basic-option";
import func from "@/util/func";
import {
  getBtmDatasByPage,
  getPortalVIDatasByPage,
  getQTInfoDatasByPage,
  getLinkDatasByPage,
  getPLPageDefinations,
  getTabButtons,
  addTapButton,
@@ -223,7 +219,7 @@
  joinBtn,
  exitBtn
} from "@/api/UI/uiDefine";
import actionDialog from '@/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action';
import actionDialog from '@/views/modelingMenu/ui/Aciton/components/dialog';
import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog";
export default {
@@ -1195,7 +1191,7 @@
    // é€‰æ‹©action
    actionFoucus() {
      this.$refs.actionDialog.btnActionVisible = true;
      this.$refs.actionDialog.openDialog();
    },
    // ä¿å­˜action