田源
2023-07-25 0479902b6cc9d23e561a3d6f6dad067dd8edd216
Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -3,7 +3,7 @@
  <el-container>
    <!--    左侧菜单-->
    <el-aside >
      <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;">
      <basic-container style="overflow:hidden;">
        <div>
        <div>
          <div style="display: flex; flex-direction: column;">
@@ -33,14 +33,14 @@
            <el-form-item :label="this.TreeFlag ? '分类名称:' :'主题库名称:'" label-width="110px" style="display: inline-block" prop="name">
              <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input>
            </el-form-item>
            <el-form-item label="存储的业务类型:" label-width="150px" v-if="TreeFlagCode==false" prop="btmTypeName">
              <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input>
            </el-form-item>
            <el-form-item label="描述:" label-width="150px">
              <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input>
            </el-form-item>
            <el-form-item label="编码规则:" label-width="150px">
              <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input>
            </el-form-item>
            <el-form-item label="业务类型:" label-width="150px" v-if="TreeFlagCode==false">
              <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input>
            </el-form-item>
            <el-form-item label="关键属性查询规则:" label-width="150px">
                <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" @focus="Keyfouce"
@@ -62,7 +62,7 @@
        </el-dialog>
        <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false"
                   :option="Treeoption"
                   style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px"
                   style="height: calc(100vh - 230px);"
                   @node-click="nodeClick"
                   class="classifyTree"
        >
@@ -71,7 +71,7 @@
      </basic-container>
    </el-aside>
    <el-main>
      <basic-container style="height: 85vh; max-height: 155vh; ">
      <basic-container style="height: calc(100vh - 150px);">
        <!--        右侧表格-->
        <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs>
        <span v-if="type.prop==='tab1'">
@@ -124,10 +124,10 @@
                      <div style="margin-bottom: 5px"><el-tag>主题库分类</el-tag></div>
                      <!--                      克隆模板的树 沿用首页树的loading和option,但是data和v-model绑定的数据创建一个新的变量,另外点击方法也是重新获取来操作克隆模板的数据-->
                        <avue-tree  v-model="TreeAvueform" v-loading="loading" :data="Treedata"
                                   :defaultExpandAll="false"
                                   :option="Treeoption"
                                   style="height: 50.5vh;margin-right: 10px"
                                   @node-click="ClonenodeClick"
                                    :defaultExpandAll="false"
                                    :option="Treeoption"
                                    style="height: 50.5vh;margin-right: 10px"
                                    @node-click="ClonenodeClick"
                        >
                        </avue-tree>
                    </el-aside>
@@ -172,11 +172,12 @@
            </template>
                  <template #menu="{ size, row ,index}">
                    <el-button type="text"
                               v-if="row.lcStatus != 'Released'"
                               v-if="row.lcStatus == 'Editing'"
                               icon="el-icon-edit-outline "
                                :size="size"
                                @click="$refs.textCrud.rowEdit(row)">编辑</el-button>
                               :size="size"
                               @click="$refs.textCrud.rowEdit(row)">编辑</el-button>
                    <el-button type="text"
                               v-if="row.lcStatus == 'Editing'"
                               icon="el-icon-delete"
                               :size="size"
                               @click="$refs.textCrud.rowDel(row,index)">删除</el-button>
@@ -211,7 +212,7 @@
          </avue-crud>
          </basic-container>
          <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro>
          <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudLCStatus="this.crudLCStatus" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro>
        </span>
        <!--     编码规则-->
        <el-dialog  :visible.sync="MasterdialogVisible"   title="为【编码规则】选取值" append-to-body>
@@ -351,7 +352,7 @@
      masterSelectList:[],
      masterName:"",
      masterOid:"",
      //关键属性
      //关键属性btmTypeId
      KeydialogVisible:false,
      KeyName:"",
      KeyOid:"",
@@ -403,17 +404,11 @@
      ],
      SelectValue:"",
      SelectFInd:"",
      rules: {
        id: [
          { required: true, message: '请输入名称', trigger: 'blur' },
        ],
        name:[
          { required: true, message: '请输入编号', trigger: 'blur' },
        ]
      },
      addFlag:false,
      // 表格当前行id
      crudOid:"",
      //当前选中模板状态
      crudLCStatus:'',
      //表格当前选择数组
      crudArray:[],
      //模板属性展示内容
@@ -475,6 +470,17 @@
        codeRuleOidName: "",
        //存储的业务类型
        btmTypeName: ""
      },
      rules: {
        id: [
          { required: true, message: '请输入名称', trigger: 'blur' },
        ],
        name:[
          { required: true, message: '请输入编号', trigger: 'blur' },
        ],
        btmTypeName:[
          { required: true, message: '请选择业务类型', trigger: 'blur' },
        ]
      },
      //avue-tree数据,暂时没有作用,里面功能用element写了,只用avue的一个树组件不用内置表单了。
      TreeAvueform: {},
@@ -625,13 +631,13 @@
        },
        stopLose: {
          tip: "模板只有发布状态才能被使用,是否确定停用?",
          typeText: "停用/失效",
          typeText: "停用",
          funAPi: stopLose,
          load: 'stopLoseLoad'
        },
        startRelease: {
          tip: "是否确定启用/发布这个模板,模板只有发布状态才能被使用,是否继续?",
          typeText: "启用/发布",
          typeText: "启用",
          funAPi: startRelease,
          load: 'startReleaseLoad'
        }
@@ -785,8 +791,8 @@
          'conditionMap[id]':this.SelectFInd
        }
        this.KeydefaultRend(masterParameter);
        this.SelectValue=""
        this.SelectFInd=""
        this.SelectValue="";
        this.SelectFInd="";
      }else if(this.SelectValue == 'name'){
        const masterParameter={
          'conditionMap[name]':this.SelectFInd
@@ -897,33 +903,32 @@
        const masterParameter={
          'conditionMap[name]':this.SelectFInd
        }
        this.btmdefaultRend(masterParameter)
        this.SelectValue=""
        this.SelectFInd=""
        this.btmdefaultRend(masterParameter);
        this.SelectValue="";
        this.SelectFInd="";
      }
    },
    //业务类型多选
    btmSelect(row){
      this.btmSelectList=row;
      this.btmName=row[0].name;
      this.btmOid=row[0].oid;
      this.btmOid=row[0].id;
    },
    //业务类型接口
    btmdefaultRend(masterParameter){
      referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{
        // console.log(res)
        this.BtmData=res.data.data.records
      })
    },
    //子传父
    MasterHandler(val){
      this.TreeList=val
      this.TreeList=val;
    },
    //行单选事件
    selectHandle(selection,row){
      this.crudOid=row.oid;
      this.crudLCStatus=row.lcStatus;
      this.crudArray=selection;
      console.log(selection,row)
      gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': row.oid}).then(res => {
        this.ProData = res.data.data;
      }).catch(res => {
@@ -1223,6 +1228,7 @@
        });
      } else {
        this.$set(row, "codeclassifyoid", this.nodeClickList.oid)
        console.log(this.nodeClickList)
        addSave(row).then(() => {
          this.$message({
            type: "success",
@@ -1390,6 +1396,15 @@
</script>
<style lang="scss" scoped>
.el-container{
  height: 100%;
}
.el-aside {
  height: calc(100% - 30px);
}
.el-main {
  height: calc(100% - 30px);
}
.el-form {
  display: flex;
  flex-wrap: wrap; /* 设置可换行,以便在小屏幕设备上使用多行布局 */