yuxc
2025-01-15 2bea732496b4f5051233ed94e206160992351596
Merge remote-tracking branch 'origin/master'
已修改12个文件
已添加4个文件
786 ■■■■ 文件已修改
Source/plt-web/plt-web-ui/src/api/processTemplate/define.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/processTemplate/type.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/processTemplate/define.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
import request from '@/router/axios';
// åˆ—表查询
export function getProcessTempList(params) {
  return request({
    url: "/api/pvolumesController/getPvolumesPage",
    method: "get",
    params
  });
}
export function saveProcessTemp(params) {
  return request({
    url: "/api/pvolumesController/savePvolume",
    method: "post",
    data: params
  });
}
export function updateProcessTemp(params) {
  return request({
    url: "/api/pvolumesController/updatePvolume",
    method: "post",
    data: params
  });
}
export function deleteProcessTemp(params) {
  return request({
    url: "/api/pvolumesController/deletePvolume",
    method: "delete",
    params
  })
}
// å¯¼å‡º
export function download  (params) {
  return request({
    url: '/api/webEnumController/exportEnumTypes',
    method: 'get',
    headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
    responseType: 'blob',
    params
  })
}
// ä¸‹è½½å¯¼å…¥æ¨¡æ¿
export function downloadTemplate  (params) {
  return request({
    url: '/api/webEnumController/downloadEnumTemplate',
    method: 'get',
    headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
    responseType: 'blob',
    params
  })
}
Source/plt-web/plt-web-ui/src/api/processTemplate/type.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
import request from '@/router/axios';
// åˆ—表查询
export function getTypeList(params) {
  return request({
    url: "/api/pvolumesController/getPvolumesPage",
    method: "get",
    params
  });
}
export function saveType(params) {
  return request({
    url: "/api/pvolumesController/savePvolume",
    method: "post",
    data: params
  });
}
export function updateType(params) {
  return request({
    url: "/api/pvolumesController/updatePvolume",
    method: "post",
    data: params
  });
}
export function deleteType(params) {
  return request({
    url: "/api/pvolumesController/deletePvolume",
    method: "delete",
    params
  })
}
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
@@ -1,6 +1,6 @@
<template>
  <!--动态模板-->
  <avue-form ref="form" :option="option" v-model="form" v-loading="loading">
  <avue-form ref="basicform" :option="option" v-model="form" v-loading="loading">
    <template v-for="item in allColumn" :slot="item.prop+ ''">
      <vciWebRefer
        v-if="item.type === 'refer'"
@@ -326,7 +326,7 @@
    // è¡¨å•校验
    validate(done) {
      return new Promise((resolve) => {
        this.$refs.form.validate((valid,fields) => {
        this.$refs.basicform.validate((valid,fields) => {
          done(valid,fields);
          if (valid) {
            resolve(true);
@@ -339,19 +339,19 @@
      });
    },
    resetFields(){
      this.$refs.form.resetFields()
      this.$refs.basicform.resetFields()
    },
    clearValidate(props){
      this.$refs.form.clearValidate(props)
      this.$refs.basicform.clearValidate(props)
    },
    updateDic(prop,data){
      this.$refs.form.updateDic(prop,data)
      this.$refs.basicform.updateDic(prop,data)
    },
    dicInit(){
      this.$refs.form.dicInit()
      this.$refs.basicform.dicInit()
    },
    getPropRef(){
      this.$refs.form.getPropRef()
      this.$refs.basicform.getPropRef()
    }
  },
};
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -516,8 +516,8 @@
        </el-form>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button type="primary" @click="addSaveHandler">ç¡® å®š</el-button>
        <el-button @click="addEscHandler">取 æ¶ˆ</el-button>
        <el-button size="small" type="primary" @click="addSaveHandler">ç¡® å®š</el-button>
        <el-button size="small" @click="addEscHandler">取 æ¶ˆ</el-button>
      </span>
    </el-dialog>
    <!--导入    -->
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -319,8 +319,8 @@
        </avue-crud>
      </div>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="addDialogSavaHandler">ç¡® å®š</el-button>
         <el-button @click="addDialogClose">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="addDialogSavaHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="addDialogClose">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
@@ -350,8 +350,8 @@
      >
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="dialogAttrAddClickHandler">ç¡® å®š</el-button>
         <el-button @click="dialogAttrClose">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="dialogAttrAddClickHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="dialogAttrClose">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
@@ -394,8 +394,8 @@
        :table-loading="conCheckLoading">
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="repairClickHandler">ä¿® å¤</el-button>
         <el-button @click="conCheckVisible = false">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="repairClickHandler">ä¿® å¤</el-button>
         <el-button size="small" @click="conCheckVisible = false">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
@@ -459,8 +459,8 @@
        </span>
      </el-dialog>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="indexClickAddHandler">保 å­˜</el-button>
         <el-button @click="indexDialogClose">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="indexClickAddHandler">保 å­˜</el-button>
         <el-button size="small" @click="indexDialogClose">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
@@ -114,8 +114,8 @@
            </el-row>
          </el-form>
          <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="rowSaveHandler">ç¡® å®š</el-button>
            <el-button @click="dialogVisible = false">取 æ¶ˆ</el-button>
            <el-button size="small" type="primary" @click="rowSaveHandler">ç¡® å®š</el-button>
            <el-button size="small" @click="dialogVisible = false">取 æ¶ˆ</el-button>
          </span>
        </el-dialog>
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
@@ -294,8 +294,8 @@
        </avue-crud>
      </div>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="addDialogSavaHandler">ç¡® å®š</el-button>
         <el-button @click="addDialogClose">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="addDialogSavaHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="addDialogClose">取 æ¶ˆ</el-button>
      </span>
      <!-- å±žæ€§æ± åˆ—表 -->
@@ -324,8 +324,8 @@
        >
        </avue-crud>
        <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="dialogAttrAddClickHandler">ç¡® å®š</el-button>
         <el-button @click="dialogAttrClose">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="dialogAttrAddClickHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="dialogAttrClose">取 æ¶ˆ</el-button>
        </span>
      </el-dialog>
    </el-dialog>
@@ -345,8 +345,8 @@
        :table-loading="conCheckLoading">
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button @click="conCheckVisible = false">取 æ¶ˆ</el-button>
         <el-button type="primary" @click="repairClickHandler">ä¿® å¤</el-button>
         <el-button size="small" @click="conCheckVisible = false">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="repairClickHandler">ä¿® å¤</el-button>
        </span>
    </el-dialog>
@@ -372,8 +372,8 @@
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="bizTypeAddHandler">ç¡® å®š</el-button>
         <el-button @click="bizTypeVisible = false">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="bizTypeAddHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="bizTypeVisible = false">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
@@ -97,8 +97,8 @@
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="addSaveHandler">ç¡® å®š</el-button>
         <el-button @click="visibleCloseHandler">取 æ¶ˆ</el-button>
         <el-button size="small" type="primary" @click="addSaveHandler">ç¡® å®š</el-button>
         <el-button size="small" @click="visibleCloseHandler">取 æ¶ˆ</el-button>
        </span>
    </el-dialog>
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue
@@ -295,7 +295,6 @@
      this.$refs.form.validate((valid) => {
        if (valid) {
          const formData = this.initFormData();
          console.log(formData)
          btmSave(formData).then(res => {
            if (res.data.success) {
              this.$message.success("保存成功");
@@ -365,7 +364,7 @@
      this.orderFieldList.unshift({
        id: data.row.orderField
      });
      this.tableFormOption.column[0].dicData = this.orderFieldList
      this.$refs.tableForm.updateDic('orderField',this.orderFieldList);
    },
    //获取排序设置中所有排序字段
    getAllAttr() {
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue
@@ -143,7 +143,16 @@
        }, {
          label: '反向',
          value: 'opposite'
        }]
        }],
        control: (val, form) => {
          const dicData=this.getDicData(val);
          this.form.btmType=dicData[0].value
          return {
            btmType: {
              dicData: dicData
            }
          };
        }
      },{
        label: '业务类型',
        prop: 'btmType',
@@ -155,7 +164,14 @@
          message: "请选择业务类型",
          trigger: "blur"
        }],
        dicData: []
        dicData: [],
        change: ({ value, column, item, dic }) => {
          this.form.btmType=value;
          if(value){
            this.getAllAttr();
            this.getTemp(value,false);
          }
        },
      }, {
        label: '版本版次',
        prop: 'version',
@@ -315,54 +331,7 @@
    };
  },
  watch: {
    //方向
    'form.direction': {
      handler(val) {
        if(val=='positive'){
          //正向
          const dicData=this.treeData.btmItemsTo.map(item=>{
            return {
              label: item,
              value: item
            }
          })
          dicData.push({
            label: '所有类型',
            value: '*'
          })
          this.$refs.form.updateDic('btmType', dicData);
          this.form.btmType=dicData[0].value
          this.getAllAttr();
        }else if(val=='opposite'){
          //反向
          const dicData=this.treeData.btmItemsFrom.map(item=>{
            return {
              label: item,
              value: item
            }
          })
          dicData.push({
            label: '所有类型',
            value: '*'
          })
          this.$refs.form.updateDic('btmType', dicData);
          this.form.btmType=dicData[0].value
          this.getAllAttr();
        }
      },
      immediate: true,
    },
    //业务类型
    'form.btmType': {
      handler(val) {
        if(val && val!='*'){
          this.getTemp(val,false);
        }
      },
      immediate: true,
    }
  },
  watch: {},
  methods: {
    openDialog(btmName, title, mode, data) {
      this.dialog.title = title;
@@ -384,6 +353,9 @@
        this.queryCondition=this.selectData.queryTemplate.condition;
        this.queryTree=this.selectData.tree;
        this.form.levelFlag=this.selectData.levelFlag;
        const dicData=this.getDicData(this.form.direction);
        this.formItems[2].dicData=dicData;
      } else {
        this.form.direction='positive';
        this.selectData = {};
@@ -393,10 +365,39 @@
          connector:'并且',
          child:[]
        };
        const dicData=this.getDicData(this.form.direction);
        this.formItems[2].dicData=dicData;
        this.form.btmType=dicData[0].value;
      }
      this.dialog.showDialog = true;
      this.treeOption.defaultExpandedKeys=[data.treeData.label]
      this.getTemp(data.treeData.label, true)
    },
    //获取业务类型下拉数据
    getDicData(directionVal){
      let dicData=[];
      if(directionVal=='positive'){
        //正向
        dicData=this.treeData.btmItemsTo.map(item=>{
          return {
            label: item,
            value: item
          }
        })
      }else if(directionVal=='opposite'){
        //反向
        dicData=this.treeData.btmItemsFrom.map(item=>{
          return {
            label: item,
            value: item
          }
        })
      }
      dicData.push({
        label: '所有类型',
        value: '*'
      })
      return dicData;
    },
    cancelDialog() {
      this.dialog.loading = false;
@@ -497,7 +498,7 @@
      this.orderFieldList.unshift({
        id: data.row.orderField
      });
      this.tableFormOption.column[0].dicData= this.orderFieldList
      this.$refs.tableForm.updateDic('orderField',this.orderFieldList);
    },
    //获取排序设置中所有排序字段
    getAllAttr() {
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
@@ -49,11 +49,11 @@
                 @node-click="nodeClick"></avue-tree>
    </div>
    <div v-if="!readOnly" style="text-align: right;margin-top: 10px;">
      <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="addHandler">增加逻辑</el-button>
      <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="editHandler">修改条件</el-button>
      <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="delHandler">删除</el-button>
      <el-button v-show="radioForm==1" plain size="mini" type="primary" @click="addHandler">增加逻辑</el-button>
      <el-button v-show="radioForm==1" plain size="mini" type="primary" @click="editHandler">修改条件</el-button>
      <el-button v-show="radioForm==1" plain size="mini" type="primary" @click="delHandler">删除</el-button>
      <el-button plain size="mini" type="primary" @click="queryHandler">查询</el-button>
      <el-button plain size="mini" type="primary" @click="">取消</el-button>
      <!--<el-button plain size="mini" type="primary" @click="">取消</el-button>-->
    </div>
    <!--修改条件-->
@@ -155,7 +155,6 @@
<script>
import basicOption from "@/util/basic-option";
import {getAllQTs} from "@/api/queryTemplate/queryDefine";
import {getCriteria} from "@/api/queryTemplate/linkTypeQuery";
import {dateFormat} from "@/util/date"
export default {
@@ -506,7 +505,9 @@
    }
  },
  created() {
    this.getTemp();
    if (!this.readOnly) {
      this.getTemp();
    }
  },
  methods: {
    // æ‹–拽到时
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
@@ -141,7 +141,11 @@
          prop: 'btmType',
          width: 130,
          formatter:function (row, value) {
            return row.queryTemplate.btmType;
            if (row.queryTemplate.btmType == '*') {
              return '所有类型'
            } else {
              return row.queryTemplate.btmType;
            }
          }
        }, {
          label: '版本版次',
@@ -164,7 +168,11 @@
          prop: 'queryISLeaf',
          width: 120,
          formatter:function (row, value) {
            return row.queryTemplate.queryISLeaf
            if(row.queryTemplate.queryISLeaf=='false' || row.queryTemplate.queryISLeaf==false){
              return '否'
            }else{
              return '是'
            }
          }
        }, {
          label: '子节点层次数',
Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,303 @@
<template>
  <!--流程模板定义-->
  <basic-container>
    <div>
      æµç¨‹åˆ†ç±»ï¼š
      <el-select v-model="tempType" :clearable="true" placeholder="请选择" size="small"
                 style="width: 300px;margin-right: 20px;"
                 @change="tempTypeChange">
        <el-option
          v-for="item in tempTypeData"
          :key="item.oid"
          :label="item.name"
          :value="item.oid">
        </el-option>
      </el-select>
      æµç¨‹æ¨¡æ¿åç§°ï¼š
      <el-input size="small" v-model="tempName" style="width: 300px;margin-right: 10px;"></el-input>
      <el-button icon="el-icon-search" plain size="small" style="margin-right: 40px;" type="primary"
                 @click="searchData">
        æŸ¥è¯¢
      </el-button>
    </div>
    <div>
      <el-main>
          <avue-crud
            ref="userCrud"
            :data="tableData"
            :option="option"
            :table-loading="tableLoading"
            @on-load="getTableList"
            @refresh-change="getTableList"
            @selection-change="selectionChange"
            @row-click="rowClickHandler"
          >
            <template slot="menuLeft" slot-scope="scope">
              <el-button v-if="permissionList.addBtn" class="button-custom-icon" plain size="small" type="primary"
                         @click="addHandler">
                <icon-show :name="permissionList.addBtn.source"></icon-show>
                å¢žåŠ 
              </el-button>
              <el-button v-if="permissionList.downloadImportTemplateBtn" class="button-custom-icon" plain size="small"
                         type="primary" @click="downloadTemplateHandler">
                <icon-show :name="permissionList.downloadImportTemplateBtn.source"></icon-show>
                ä¸‹è½½å¯¼å…¥æ¨¡æ¿
              </el-button>
              <el-button v-if="permissionList.importBtn" class="button-custom-icon" plain size="small" type="primary"
                         @click="uploadHandler">
                <icon-show :name="permissionList.importBtn.source"></icon-show>
                å¯¼å…¥
              </el-button>
              <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary"
                         @click="downloadHandler">
                <icon-show :name="permissionList.exportBtn.source"></icon-show>
                å¯¼å‡º
              </el-button>
            </template>
            <template slot="menu" slot-scope="scope">
              <el-button v-if="permissionList.editBtn" size="small" type="text"
                         @click="editBtnClick(scope.row)">
                <icon-show :name="permissionList.editBtn.source"></icon-show>
                ç¼–辑
              </el-button>
              <el-button v-if="permissionList.delBtn" size="small" type="text"
                         @click="rowDeleteHandler(scope.row)">
                <icon-show :name="permissionList.delBtn.source"></icon-show>
                åˆ é™¤
              </el-button>
              <el-button size="small" type="text" @click.stop="stopUserHandler(scope.row)">
                <span v-if="scope.row.status === 0 && permissionList.stopBtn" style="color: #fa3434;display: flex">
                  <icon-show :name="permissionList.stopBtn.source"></icon-show>
                  åœç”¨
                </span>
                      <span v-if="scope.row.status === 1 && permissionList.actionBtn" style="color: #55b61d;display: flex">
                  <icon-show :name="permissionList.actionBtn.source"></icon-show>
                  å¯ç”¨
                </span>
              </el-button>
            </template>
          </avue-crud>
          <!-- åˆ›å»ºç¼–辑自定义对话框    -->
          <el-dialog
            v-dialogDrag
            v-loading="dialogLoading"
            :title="dialogType === 'add' ? ' åˆ›å»º' : '编辑'"
            :visible.sync="dialogVisible"
            append-to-body="true"
            class="avue-dialog"
            width="1000px"
            @close="dialogClose"
          >
            <span slot="footer" class="dialog-footer">
              <el-button size="small" type="primary" @click="rowSaveHandler">ç¡® å®š</el-button>
              <el-button size="small" @click="dialogVisible = false">取 æ¶ˆ</el-button>
            </span>
          </el-dialog>
      </el-main>
      <el-aside width="35%">
        <div></div>
      </el-aside>
    </div>
  </basic-container>
</template>
<script>
import {mapGetters} from "vuex";
import basicOption from "@/util/basic-option";
import {getTypeList} from "@/api/processTemplate/type";
import {getProcessTempList,saveProcessTemp,updateProcessTemp,deleteProcessTemp,downloadTemplate,download} from "@/api/processTemplate/define";
import func from "@/util/func";
export default {
  name: "index",
  data(){
    return {
      tempType:'',
      tempName:'',
      tempTypeData:[],
      form:{},
      tableLoading: false,
      tableData: [],
      currentRow:null,
      selectionList: [],
    }
  },
  computed: {
    ids() {
      let ids = [];
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
        downloadImportTemplateBtn: this.vaildData(this.permission[this.$route.query.id].DOWNLOADFILE, false),
        stopBtn: this.vaildData(this.permission[this.$route.query.id].FREEZE, false),
        actionBtn: this.vaildData(this.permission[this.$route.query.id].UNFREZE, false),
      };
    },
    option(){
      return  {
        ...basicOption,
        addBtn:false,
        editBtn:false,
        delBtn:false,
        calcHeight: -60,
        align:'left',
        headerAlign:'center',
        menuWidth:160,
        dialogMenuPosition: 'right',
        dialogWidth:600,
        column: [
          {
            label: '流程模板名称',
            prop: 'name'
          },{
            label: '版本',
            prop: 'desc'
          },{
            label: '状态',
            prop: 'status'
          }]
      }
    }
  },
  created() {
    getTypeList().then(res => {
      this.tempTypeData = res.data.data;
    })
  },
  methods:{
    getTableList(){
      this.tableLoading = true;
      getProcessTempList({tempType:this.tempType,tempName:this.tempName}).then(res => {
        this.tableData = res.data.data;
        this.tableLoading = false;
      })
    },
    //流程分类选择
    tempTypeChange(val){
      this.getTableList();
    },
    searchData(){
      this.getTableList();
    },
    // æ–°å¢ž
    saveHandler(row, done, loading) {
      saveProcessTemp(row).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done();
        }
      }).catch(err => {
        loading()
      });
    },
    handleEdit(row,index){
      this.$refs.crud.rowEdit(row, index);
    },
    // ç¼–辑
    updateHandler(row, index, done, loading) {
      updateProcessTemp(row).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done()
        }
      }).catch(err => {
        loading()
      });
    },
    // åˆ é™¤
    handleDel(row,index) {
      let params = {
        ids: row.id
      }
      this.$confirm('您确定要删除当前数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteProcessTemp(params).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getTableList();
          }
        });
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    //选择的行
    selectionChange(list) {
      this.selectionList = list;
    },
    // è¡Œå•选
    rowClickHandler(row) {
      func.rowClickHandler(
        row,
        this.$refs.crud,
        this.lastIndex,
        (newIndex) => {
          this.lastIndex = newIndex;
        },
        () => {
          this.selectionList = [row];
        }
      );
    },
    // å¯¼å‡º
    downloadHandler() {
      if (this.selectionList.length <= 0) {
        this.$message.warning('请至少选择一条数据进行导出');
        return;
      }
      download({enumNames: this.ids}).then(res => {
        func.downloadFileByBlobHandler(res);
        this.$message.success('导出成功');
      }).catch(err => {
      })
    },
    // ä¸‹è½½å¯¼å…¥æ¨¡æ¿
    downloadTemplateHandler() {
      downloadTemplate().then(res => {
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功');
      }).catch(err => {
      })
    },
    //导入
    uploadHandler() {
      this.$refs.upload.visible = true;
    }
  }
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,202 @@
<template>
  <!--流程模板分类-->
  <basic-container>
    <avue-crud
      ref="crud"
      v-model="form"
      :data="tableData"
      :option="option"
      :table-loading="tableLoading"
      @on-load="getTableList"
      @refresh-change="getTableList"
      @row-save="rowSaveHandler"
      @row-update="rowUpdateHandler"
      @row-click="rowClickHandler"
      @selection-change="selectionChange"
    >
      <template slot="menuLeft" slot-scope="scope">
        <el-button v-if="permissionList.addBtn" class="button-custom-icon" size="small" type="primary"
                   @click="$refs.crud.rowAdd()">
          <icon-show :name="permissionList.addBtn.source"></icon-show>
          æ–° å¢ž
        </el-button>
        <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary" @click="exportClickHandler">
          <icon-show :name="permissionList.exportBtn.source"></icon-show>
          å¯¼å‡º
        </el-button>
      </template>
      <template slot="menu" slot-scope="{ row, index }">
        <el-button
          v-if="permissionList.editBtn"
          size="small"
          type="text"
          @click="handleEdit(row, index)"
        >
          <icon-show :name="permissionList.editBtn.source"></icon-show>
          ç¼–辑
        </el-button>
        <el-button
          v-if="permissionList.delBtn"
          size="small"
          type="text"
          @click="handleDel(row, index)"
        >
          <icon-show :name="permissionList.delBtn.source"></icon-show>
          åˆ é™¤
        </el-button>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
import {mapGetters} from "vuex";
import basicOption from "@/util/basic-option";
import {getTypeList, saveType, updateType, deleteType} from "@/api/processTemplate/type";
import func from "@/util/func";
export default {
  name: "index",
  data: function () {
    return {
      form:{},
      tableLoading: false,
      tableData: [],
      currentRow:null,
      selectionList: [],
    }
  },
  computed: {
    ids() {
      let ids = [];
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
      };
    },
    option(){
      return  {
        ...basicOption,
        addBtn:false,
        editBtn:false,
        delBtn:false,
        calcHeight: -60,
        align:'left',
        headerAlign:'center',
        menuWidth:160,
        dialogMenuPosition: 'right',
        dialogWidth:600,
        column: [
          {
            label: '分类名称',
            prop: 'name',
            span: 24,
            rules: [{ required: true, message: '请输入分类名称', trigger: 'blur' }]
          },{
            label: '描述',
            prop: 'desc',
            span: 24,
            type:'textarea'
          }]
      }
    }
  },
  methods: {
    // è¡¨æ ¼è¯·æ±‚
    getTableList() {
      this.tableLoading = true;
      getTypeList().then(res => {
        this.tableData = res.data.data;
        this.tableLoading = false;
      })
    },
    // æ–°å¢ž
    rowSaveHandler(row, done, loading) {
      saveType(row).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done();
        }
      }).catch(err => {
        loading()
      });
    },
    handleEdit(row,index){
      this.$refs.crud.rowEdit(row, index);
    },
    // ç¼–辑
    rowUpdateHandler(row, index, done, loading) {
      updateType(row).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done()
        }
      }).catch(err => {
        loading()
      });
    },
    // åˆ é™¤
    handleDel(row,index) {
      let params = {
        ids: row.id
      }
      this.$confirm('您确定要删除当前的分类吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteType(params).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getTableList();
          }
        });
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    //选择的行
    selectionChange(list) {
      this.selectionList = list;
    },
    // è¡Œå•选
    rowClickHandler(row) {
      func.rowClickHandler(
        row,
        this.$refs.crud,
        this.lastIndex,
        (newIndex) => {
          this.lastIndex = newIndex;
        },
        () => {
          this.selectionList = [row];
        }
      );
    },
  }
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -564,7 +564,9 @@
          let node = this.currentClickNode.parent;
          node.loaded = false;
          node.expand();
          this.$refs.tree.setCurrentNode(this.currentClickNode);
          this.$nextTick(()=>{
            this.$refs.tree.setCurrentKey(this.currentClickNode.data.id);
          });
        } else {
          this.refresh = Math.random(); // åˆ·æ–°å·¦ä¾§æ ‘
        }
Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -294,7 +294,6 @@
  methods: {
    // æ ‘行点击
    nodeClick(row, node) {
      console.log(row.childType);
      this.form = {...row};
      this.nodeRow = {...row};
      this.currentClickNode = node;
@@ -553,7 +552,9 @@
          let node = this.currentClickNode.parent;
          node.loaded = false;
          node.expand();
          this.$refs.tree.setCurrentNode(this.currentClickNode);
          this.$nextTick(()=>{
            this.$refs.tree.setCurrentKey(this.currentClickNode.data.id);
          });
        } else {
          this.refresh = Math.random(); // åˆ·æ–°å·¦ä¾§æ ‘
        }