xiejun
2023-07-19 ded6e8d2312e139e8ce770c7f1d5830bf2db4af6
Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -1,38 +1,38 @@
<template>
  <div>
    <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app">
      <el-button-group>
    <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag">
      <!--新增-->
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button>
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && crudLCStatus=='Editing'" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button>
      <!--        全屏编辑-->
      <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button>
      <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && crudLCStatus=='Editing'" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button>
      <!--        验证规则-->
      <el-button icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button>
      <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button>
      <!--        属性分组-->
      <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
      </el-button-group>
      <el-button-group>
      <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
      <!--        分类注入-->
      <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
      <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
        <!--    组合规则-->
        <el-button size="small" @click="isShowHandler">组合规则</el-button>
        <el-button v-if="crudLCStatus=='Editing'" size="small" @click="isShowHandler">组合规则</el-button>
      <!--        枚举注入-->
      <el-button size="small" @click="enmuVisHandle">枚举注入</el-button>
      <el-button v-if="crudLCStatus=='Editing'" size="small" @click="enmuVisHandle">枚举注入</el-button>
      <!--    级联属性-->
      <el-button size="small" @click="CascadeHandle">级联属性</el-button>
      <el-button v-if="crudLCStatus=='Editing'" size="small" @click="CascadeHandle">级联属性</el-button>
      <!--    预览排序-->
        <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button>
      </el-button-group>
      <el-button-group>
      <!--    保存-->
      <el-button size="small" @click="addsHandler" icon="el-icon-check">保存</el-button>
      <el-button v-if="crudLCStatus=='Editing'" size="small" @click="addsHandler" icon="el-icon-check">保存</el-button>
      <!--    删除-->
      <el-button size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button>
      <el-button v-if="crudLCStatus=='Editing'" size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button>
      <!--    重置-->
      <el-button size="small" @click="reset" icon="el-icon-refresh-right">重置</el-button>
      <!--    同步到其他模板-->
      <el-button size="small"@click="syncHandle" icon="el-icon-share">同步到其他模板</el-button>
      </el-button-group>
      <!--    编码申请预览-->
      <el-button size="small" @click="applicationHandle" style="">编码申请预览</el-button>
      <!--        验证规则-->
@@ -242,7 +242,7 @@
    </div>
    <el-table :data="ProData"
              style="width: 100%"
              :height='attrEditVisible == false && attrFlagChiledren==false?400 :750'
              height="750"
              @cell-click="handleCellClicks"
              @select="selectHandle"
              @selection-change="selectionChange"
@@ -316,6 +316,10 @@
      type: String,
      default: ''
    },
    crudLCStatus: {
      type: String,
      default: 'Editing'
    },
    crudArray: {
      type: Array,
    },
@@ -374,6 +378,7 @@
      editingRows: null,
      editShows:"",
      attrFlag: false,
      referObject:{},
      //编码申请预览option
      applicationoption: {
        column: []
@@ -936,13 +941,11 @@
        column: [
          {
            label: "属性英文名称",
            prop: "id",
            width:110
            prop: "id"
          },
          {
            label: "属性中文名称",
            prop: "name",
            width:110
            prop: "name"
          },
          {
            label: "长度",
@@ -1393,6 +1396,7 @@
    //参照配置子组件
    echoReferConfig(val){
      console.log('val--',val)
      this.referObject=val
      this.$set(this.CurrentCell,'referConfig',JSON.stringify(val))
    },
@@ -1486,7 +1490,6 @@
    //业务类型选择
    businessSelect(selection, row) {
      this.busineSelectList = selection
      console.log(selection)
    },
    // 从业务类型中选择数据弹窗
    busineHandle() {
@@ -1548,7 +1551,7 @@
      console.log(row)
    },
    //表格选择
    selectionChange(list,) {
    selectionChange(list) {
      this.attrSelectList = list;
      console.log(list)
    },
@@ -1590,6 +1593,8 @@
      }else if(column.property == 'verifyRule'){
        this.RulesForm.expressionTextt=this.CurrentCell.verifyRule;
        this.rulesVisible=true;
        console.log(this.CurrentCell.verifyRule)
        console.log(this.RulesForm.expressionText)
      }
    },
    saveRows() {
@@ -1636,15 +1641,26 @@
    },
    //枚举注入保存
    enumAddHandle() {
      if (this.enumRow.length < 1) {
        this.$message.warning('请至少选择一条数据')
      } else {
        if(this.CurrentCell){
          this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.enumRow));
      let hasError = false; // 添加一个变量
      this.tableData.forEach((item, index) => {
        if (item.key === '') {
          this.$message.warning(`第${index + 1}行的选项值不能为空`);
          hasError = true;
          return;
        } else if (item.value === '') {
          this.$message.warning(`第${index + 1}行的选项中文标签不能为空`);
          hasError = true;
          return;
        }
      });
        // 保存执行逻辑
      if (!hasError) {
        if (this.CurrentCell) {
          this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.tableData));
          this.enumVisible = false;
        }else {
          this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.enumRow));
          this.tableData=[]
        } else {
          this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.tableData));
          this.tableData=[];
          this.enumVisible = false;
        }
      }
@@ -1816,9 +1832,7 @@
</script>
<style scoped lang="scss" >
.app {
   /deep/ .el-button {
     margin: 0 10px 10px 0;
     }
/deep/ .el-button {
  margin: 0 10px 10px 0;
}
</style>