ludc
2023-12-26 ff15fb3ec4e29dc0ddcddfda711209831fd2ac59
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -2,59 +2,69 @@
<template>
  <el-container>
    <!--    左侧菜单-->
    <el-aside style="width: 20%;">
    <el-aside>
      <basic-container>
        <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">添加
        <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-button>
                <el-button v-if="permissionList.TreeEditStatus" plain size="mini" type="primary" @click="TreeEdit">修改
                <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">修改
                </el-button>
                <el-button v-if="permissionList.TreeDelStatus" plain size="mini" type="primary" @click="TreeDel">删除
                <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">删除
                </el-button>
                <el-button v-if="permissionList.flushedStatus" plain size="mini" type="primary" @click="flushed">刷新
                <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">刷新
                </el-button>
              </div>
            </template>
            <div>
              <el-button v-if="permissionList.EnableStatus" plain size="mini" type="primary" @click="Enable">启用
              <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>
            </div>
            <div style="display: flex;margin-top: 5px;margin-bottom: 5px">
              <el-button v-if="permissionList.flowingBtnStuatus" plain size="mini" type="primary" @click="flowingDependHandler">流水处理
              </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 v-if="permissionList.classifyAuth" plain size="mini" type="primary" @click="classifyAuthHandler">分类授权
              </el-button>
            </div>
            <div style="margin-top: 10px;margin-bottom: 10px">
              <el-button v-if="permissionList.ExportExcelStatus" plain size="mini" type="primary" @click="testHandler">流水处理
              </el-button>
            </div>
          </el-collapse-item>
        </el-collapse>
          <!--          左侧树-->
          <div style="height: calc(100vh - 194px);overflow: auto;">
          </div>
        </div>
          <!-- 左侧树-->
          <div style="height: calc(100vh - 230px);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 - 290px)"
                       @node-click="nodeClick"
            >
              <template slot-scope="{ node, data }" class="el-tree-node__label">
                <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark"
                            open-delay="500"
                            placement="right-start">
                <span style="font-size: 14px;">
                {{ (node || {}).label }}
              </span>
                </el-tooltip>
              </template>
            </avue-tree>
          </div>
          <!--        树节点添加对话框-->
          <!-- 树节点添加对话框-->
          <el-dialog v-loading="AddLoading" :before-close="TreeEscHandler"
                     :title="this.TreeFlag ? '添加分类' :'添加主题库'" :visible.sync="TreeAddFormVisible" append-to-body
                     style="width: 1700px;margin: auto">
            <el-form ref="myForm" :model="TreeAddform" :rules="rules">
            <el-form ref="myForm" :model="TreeAddform" :rules=  "rules">
              <el-form-item :label="this.TreeFlag ? '分类编号:' :'主题库编号:'" label-width="150px" prop="id"
                            style="display: inline-block">
                <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input>
@@ -98,7 +108,7 @@
              <el-button type="primary" @click="TreeAddHandler">确 定</el-button>
            </div>
          </el-dialog>
          <!--        修改对话框-->
          <!-- 修改对话框-->
          <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="修改分类">
            <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode"
                              :flag="'edit'"
@@ -106,6 +116,11 @@
                              :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed"
                              @referTreeForm="referTreeForm"></classifyTreeform>
          </el-dialog>
           <!-- 分类授权对话框-->
           <classify-auth-dialog
              :visible.sync="classifyAuthVisible"
              :classifyData="classifyData"
              ></classify-auth-dialog>
      </basic-container>
    </el-aside>
    <el-main>
@@ -432,8 +447,10 @@
import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
import func from "@/util/func";
import {mapGetters} from "vuex";
import ClassifyAuth from './ClassifyAuthDialog.vue';
export default {
  components: { ClassifyAuth },
  name: "classifyTrees.vue",
  data() {
    return {
@@ -477,6 +494,8 @@
      masterOption: {
        addBtn: false,
        index: true,
        refreshBtn:false,
        columnBtn: false,
        border: true,
        menu: false,
        height: 380,
@@ -505,6 +524,7 @@
        addBtn: false,
        index: true,
        columnBtn: false,
        refreshBtn:false,
        border: true,
        menu: false,
        height: 380,
@@ -596,6 +616,8 @@
      TreeEditFormVisible: false,
      //添加对话框
      TreeAddFormVisible: false,
      //分类授权对话框
      classifyAuthVisible: false,
      //当前点击项
      nodeClickList: "",
      ClonenodeClickList: "",
@@ -791,6 +813,8 @@
      },
      //模板管理编辑
      showEditBtn: false,
      //传递给分类授权子组件对话框的当前选中的分类节点信息
      classifyData: "",
    }
  },
  watch: {},
@@ -822,6 +846,8 @@
        FindStatus: this.vaildData(this.permission.classifyTree.manage_search, false),
        TemRefreshStatus: this.vaildData(this.permission.classifyTree.manage_break, false),
        CloneBtnStuatus: this.vaildData(this.permission.classifyTree.manage_clone, false),
        flowingBtnStuatus: this.vaildData(this.permission.classifyTree.tree_flowing, false),
        classifyAuth: this.vaildData(this.permission.classifyTree.classify_auth, false),
      }
    },
    crudTreeOption() {
@@ -884,15 +910,20 @@
  created() {
  },
  methods: {
    handleTabClick(){
    // 分类授权对话框打开
    classifyAuthHandler(){
      if(this.nodeClickList.oid === '' || this.nodeClickList.oid === undefined){
        this.$message.warning('请至少选择一条数据!')
        return;
      }
      this.classifyData = this.nodeClickList;
      this.classifyAuthVisible = true;
    },
    testHandler(){
    flowingDependHandler(){
      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 => {
@@ -902,7 +933,6 @@
    // switch
    switchChange() {
      this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0;
      // console.log(this.TreeAddform.isParticipateCheck)
    },
    //存储的业务类型关闭
    BtmEscHandler() {
@@ -1346,7 +1376,7 @@
          });
        }
      } catch (error) {
        console.error(error);
        // console.error(error);
      } finally {
        this.loading = false;
      }
@@ -1389,7 +1419,7 @@
          });
        }
      } catch (error) {
        console.error(error);
        // console.error(error);
      } finally {
        this.loading = false;
      }
@@ -1459,7 +1489,7 @@
      }
    },
    treeClick(e) {
      console.log(e);
      // console.log(e);
    },
    //基本信息表单刷新
    referTreeForm() {