田源
2023-12-06 14d39ee4fab77642a9ab7c4229407a1a3b0defac
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -2,45 +2,49 @@
<template>
  <el-container>
    <!--    左侧菜单-->
    <el-aside>
    <el-aside style="width: 20%;">
      <basic-container>
        <div>
          <div>
            <div style="display: flex; flex-direction: column;">
              <div style="display: flex;">
                <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">添加
        <el-collapse accordion>
          <el-collapse-item style="padding-left: 3px;">
            <template slot="title">
              <div style="display: flex;justify-content: space-around;">
                <el-button v-if="permissionList.TreeAddStatus" plain size="mini" type="primary" @click="TreeAdd">添加
                </el-button>
                <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">修改
                <el-button v-if="permissionList.TreeEditStatus" plain size="mini" type="primary" @click="TreeEdit">修改
                </el-button>
                <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">删除
                <el-button v-if="permissionList.TreeDelStatus" plain size="mini" type="primary" @click="TreeDel">删除
                </el-button>
                <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">刷新
                <el-button v-if="permissionList.flushedStatus" plain size="mini" type="primary" @click="flushed">刷新
                </el-button>
              </div>
              <div style="display: flex; margin-top: 10px">
                <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">启用
                </el-button>
                <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate">
                  停用
                </el-button>
                <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary"
                           @click.native="ImportExcel">导入
                </el-button>
                <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary"
                           @click="ExportExcel">导出
                </el-button>
              </div>
            </template>
            <div>
              <el-button v-if="permissionList.EnableStatus" plain size="mini" type="primary" @click="Enable">启用
              </el-button>
              <el-button v-if="permissionList.DeactivateStatus" plain size="mini" type="primary" @click="Deactivate">
                停用
              </el-button>
              <el-button v-if="permissionList.ImportExcelStatus" plain size="mini" type="primary"
                         @click.native="ImportExcel">导入
              </el-button>
              <el-button v-if="permissionList.ExportExcelStatus" plain size="mini" type="primary"
                         @click="ExportExcel">导出
              </el-button>
            </div>
            <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
            <div style="margin-top: 10px;margin-bottom: 10px">
              <el-button v-if="permissionList.ExportExcelStatus" plain size="mini" type="primary" @click="testHandler">流水处理
              </el-button>
            </div>
          </div>
          </el-collapse-item>
        </el-collapse>
          <!--          左侧树-->
          <div style="height: calc(100vh - 230px);overflow: auto">
          <div style="height: calc(100vh - 194px);overflow: auto;">
            <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                       :defaultExpandAll="false"
                       :option="Treeoption"
                       class="classifyTree"
                       style="height: calc(100vh - 280px)"
                       style="height: calc(100vh - 280px);"
                       @node-click="nodeClick"
            >
            </avue-tree>
@@ -102,7 +106,6 @@
                              :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed"
                              @referTreeForm="referTreeForm"></classifyTreeform>
          </el-dialog>
        </div>
      </basic-container>
    </el-aside>
    <el-main>
@@ -423,7 +426,8 @@
  upVersion,
  stopLose,
  startRelease,
  exportClassify
  exportClassify,
  flowingDependencyGen
} from "@/api/template/templateAttr";
import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
import func from "@/util/func";
@@ -433,6 +437,7 @@
  name: "classifyTrees.vue",
  data() {
    return {
      activeName: 'first',
      masterRow: null,
      AddLoading: false,
      // 定义一个变量来保存树请求的数量
@@ -879,6 +884,21 @@
  created() {
  },
  methods: {
    handleTabClick(){
    },
    testHandler(){
      if(this.nodeClickList.length <=0 ){
        this.$message.warning('请至少选择一条数据!')
        return;
      }
      console.log(this.nodeClickList.oid)
      flowingDependencyGen(this.nodeClickList.oid).then(res => {
        this.$message.success('操作成功')
      }).catch(res => {
        this.$message.error(res)
      })
    },
    // switch
    switchChange() {
      this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0;
@@ -1114,6 +1134,7 @@
    },
    //分类树数据处理
    getAttr() {
      this.loading = true;
      return new Promise((resolve, reject) => {
        getAtrrList()
          .then(res => {
@@ -1132,6 +1153,7 @@
              }
              return item;
            });
            this.loading = false;
            resolve(); // 完成请求,调用resolve方法
          })
          .catch(error => {
@@ -1185,35 +1207,31 @@
      this.$refs.myForm.clearValidate();
    },
    //树节点添加事件
    TreeAddHandler() {
    async TreeAddHandler() {
      if ((!this.TreeAddform.id || !this.TreeAddform.name) || (this.TreeFlagCode && !this.TreeAddform.btmTypeName)) {
        this.$message.warning('请输入内容!');
      } else {
        return;
      }
      try {
        const data = this.TreeAddform;
        this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid);
        TreeSave(data)
          .then(() => {
            this.$message({
              type: "success",
              message: "添加成功!",
            });
            Object.keys(this.TreeAddform).forEach(key => {
              this.TreeAddform[key] = "";
              this.TreeAddform.codeKeyAttrValue = true;
              this.TreeAddform.isParticipateCheck = 1;
            });
            this.getAttr();
            this.TreeAddFormVisible = false;
            //添加完成后右侧清空
            this.ProData = [];
            this.Formlist = [];
          })
          .catch((res) => {
            this.$message({
              type: "warning",
              message: res,
            });
          });
        await TreeSave(data)
        this.$message.success("添加成功!");
        Object.keys(this.TreeAddform).forEach(key => {
          this.TreeAddform[key] = "";
        });
        this.TreeAddform.codeKeyAttrValue = true;
        this.TreeAddform.isParticipateCheck = 1;
        this.getAttr();
        this.TreeAddFormVisible = false;
        //添加完成后右侧清空
        this.ProData = [];
        this.Formlist = [];
      } catch (res) {
        this.$message({
          type: "warning",
          message: res,
        });
      }
    },
    //树节点删除按钮
@@ -1285,16 +1303,11 @@
    },
    //树刷新
    async flushed() {
      this.loading = true;
      try {
        await this.getAttr()
        this.$refs.tree.setCurrentKey(null);
        this.nodeClickList = {}
        this.TreeList = []
        this.TreeFlagCode = true;
      } finally {
        this.loading = false;
      }
    },
    //启用和停用都先判断状态
    //启用