wangting
2023-07-28 4353ae3161ed3d237ca690172b0be7744e98ba37
Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -1,41 +1,52 @@
<template>
  <div>
    <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"class="app">
    <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app">
      <el-button-group>
      <!--新增-->
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && (!checkStatus || crudLCStatus=='Editing')" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button>
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )" size="small" type="primary" icon="el-icon-plus" plain @click="busineHandle">添加 {{ msg }}</el-button>
      <!--        全屏编辑-->
      <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && (!checkStatus || crudLCStatus=='Editing')" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button>
      <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button>
      <!--        验证规则-->
      <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button>
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button>
      <!--        属性分组-->
      <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
      </el-button-group>
      <el-button-group>
        <!--新增-->
      <!--        分类注入-->
      <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag"  icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
        <!--    组合规则-->
        <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="isShowHandler">组合规则</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small" @click="isShowHandler">组合规则</el-button>
      <!--        枚举注入-->
      <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="enmuVisHandle">枚举注入</el-button>
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original" size="small" @click="enmuVisHandle">枚举注入</el-button>
      <!--    级联属性-->
      <el-button v-if="!checkStatus|| crudLCStatus=='Editing'" size="small" @click="CascadeHandle">级联属性</el-button>
      <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small" @click="CascadeHandle">级联属性</el-button>
      </el-button-group>
      <el-button-group>
      <!--    预览排序-->
        <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button>
        <!--新增-->
      <!--    保存-->
      <el-button v-if="!checkStatus|| crudLCStatus=='Editing'" size="small" @click="addsHandler" icon="el-icon-check">保存</el-button>
      <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" @click="addsHandler" icon="el-icon-check">保存</el-button>
      <!--    删除-->
      <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button>
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" 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-group>
      <el-button-group>
      <!--    同步到其他模板-->
      <el-button size="small"@click="syncHandle" icon="el-icon-share">同步到其他模板</el-button>
      </el-button-group>
      <el-button-group>
      <!--    编码申请预览-->
      <el-button size="small" @click="applicationHandle" style="">编码申请预览</el-button>
      <!--        验证规则-->
      <el-button size="small" icon="el-icon-view" @click="applicationHandle" style="">编码申请预览</el-button>
      </el-button-group>
      <!-- 是否开启编辑     -->
    <el-button-group>
      <el-button size="small" plain  icon="el-icon-view"  v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag" @click="editOpen" >开启编辑</el-button>
    </el-button-group>
    </div>
<!--    弹窗-->
    <div>
@@ -266,7 +277,7 @@
      >
        <template slot-scope="{ row }">
          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )" v-model="row[item.prop]"
                    @blur="saveRows"></el-input>
                    @blur="saveRows" ></el-input>
          <el-input-number size="small" controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
                           @blur="saveRows" :style="{width:(item.width-10)+'px'}"></el-input-number>
          <el-select v-model="row[item.prop]" filterable  allow-create  default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @blur="selectChangeHandler(item.editConfig,index)">
@@ -278,7 +289,7 @@
            </el-option>
          </el-select>
          <el-switch
            v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true"
            v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" :disabled="!editOpenFlag"
            inactive-value="false">
          </el-switch>
          <span v-else>{{ row[item.prop] }}</span>
@@ -316,6 +327,10 @@
      default: ''
    },
    checkStatus:{
      type: Boolean,
      default: false
    },
    editOpenFlag:{
      type: Boolean,
      default: false
    },
@@ -365,29 +380,17 @@
      }
      return '';
    },
        ProData: {
          handler(newVal, oldVal) {
            if(this.initializing){
              newVal.forEach((item) => {
                item.classifyInvokeText = {
                  "注入类型": item.classifyInvokeAttr,
                  "注入类型名称": item.classifyInvokeAttrName,
                  "层级设置": item.classifyInvokeLevel,
                  "是否可修改": item.classifyInvokeEditFlag
                };
              });
            }
            this.ProData=newVal;
            this.initializing = false;
            console.log('ProData',this.ProData)
          },
          deep: true,
          immediate:true
    editOpenFlag:{
      handler(newval,oldval){
        console.log(newval)
      },
      deep:true,
      immediate:true
    }
  },
  data() {
    return {
      initializing:false,
      loading:false,
      referConfigText:"",
      referConfigVisble:false,
@@ -1594,50 +1597,52 @@
    //表格行编辑
    handleCellClicks(row, column) {
        this.editingRows = row;
        this.editShows = column.property;
        this.rowOid = row.oid;
      this.CurrentCell=row;
      if(column.property == 'referConfig' ){
        this.referConfigVisble= true;
        this.referConfigOption = {
          referConfig: this.referConfigText || '',
        }
        if(this.CurrentCell.referConfig == ''){
          this.referConfigOption = {
            referConfig:'',
          }
        }
        console.log('--',this.referConfigOption)
        // this.$refs.referConfigFormDialog.onloadAttrData();
      }else if(column.property == 'classifyInvokeText'){
        this.injectVisible=true;
      }else if(column.property == 'componentRule'){
        if(this.CurrentCell){
          this.CurrentCell.componentRule=this.componentRuleText;
        }
        this.isShowformulaEdit = true;
      }else if(column.property == 'enumString'){
        this.enumVisible=true;
        if(this.attrSelectList[0].enumString != ""){
          this.tableData=JSON.parse(this.attrSelectList[0].enumString)
          return
        }
      }else if(column.property == 'parentCode'){
        gridCodeClassifyTemplateAttr({
          'conditionMap[classifyTemplateOid]': this.Formlist[0].oid,
          'conditionMap[oid_notequal]': this.CurrentCell.oid
        }).then(res => {
          console.log(res)
          this.CascadeData = res.data.data;
        })
        this.CascadeVisible=true;
      }else if(column.property == 'verifyRule'){
        this.RulesForm.expressionTextt=this.CurrentCell.verifyRule;
        this.rulesVisible=true;
        console.log(this.CurrentCell.verifyRule)
        console.log(this.RulesForm.expressionText)
      }
       if(this.editOpenFlag){
         this.editingRows = row;
         this.editShows = column.property;
         this.rowOid = row.oid;
         this.CurrentCell=row;
         if(column.property == 'referConfig' ){
           this.referConfigVisble= true;
           this.referConfigOption = {
             referConfig: this.referConfigText || '',
           }
           if(this.CurrentCell.referConfig == ''){
             this.referConfigOption = {
               referConfig:'',
             }
           }
           console.log('--',this.referConfigOption)
           // this.$refs.referConfigFormDialog.onloadAttrData();
         }else if(column.property == 'classifyInvokeText'){
           this.injectVisible=true;
         }else if(column.property == 'componentRule'){
           if(this.CurrentCell){
             this.CurrentCell.componentRule=this.componentRuleText;
           }
           this.isShowformulaEdit = true;
         }else if(column.property == 'enumString'){
           this.enumVisible=true;
           if(this.attrSelectList[0].enumString != ""){
             this.tableData=JSON.parse(this.attrSelectList[0].enumString)
             return
           }
         }else if(column.property == 'parentCode'){
           gridCodeClassifyTemplateAttr({
             'conditionMap[classifyTemplateOid]': this.Formlist[0].oid,
             'conditionMap[oid_notequal]': this.CurrentCell.oid
           }).then(res => {
             console.log(res)
             this.CascadeData = res.data.data;
           })
           this.CascadeVisible=true;
         }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() {
      this.editingRows = null;
@@ -1761,7 +1766,6 @@
      } else if (this.attrSelectList.length < 1) {
        this.$message.warning('请选择一条模板数据')
      } else if (this.attrSelectList.length === 1) {
        console.log(this.injectOption)
        this.injectVisible = true;
      }
    },
@@ -1775,6 +1779,7 @@
        "是否可修改": this.injectOption.classifyInvokeEditFlag
      }
      //单元格编辑赋值一遍
      // noinspection JSCheckFunctionSignatures
      if(this.CurrentCell){
        //如果是指定层赋值为数字
        if(this.CurrentCell.classifyInvokeLevel!== 'min'){
@@ -1784,7 +1789,8 @@
        this.CurrentCell.classifyInvokeAttr=this.injectOption.classifyInvokeAttr,
        this.CurrentCell.classifyInvokeAttrName=this.injectOption.classifyInvokeAttrName,
        this.CurrentCell.classifyInvokeEditFlag=this.injectOption.classifyInvokeEditFlag,
        this.$set(this.CurrentCell, "classifyInvokeText", data);
        // this.$set(this.CurrentCell, 'classifyInvokeText', data)
          this.CurrentCell.classifyInvokeText = data;
        this.injectHandleReset()
      }else {
        //勾选操作
@@ -1896,16 +1902,12 @@
    // 排序
    sortChange(val) {
      console.log(val)
      // switch (val.order) {
      //   // case "ascending":
      //   //   this.data = this.data.sort((a,b) => { return b['name'].localeCompare(a['name']) })
      //   //   this.data = this.data.sort((a,b) => { return b['id'].localeCompare(a['id']) })
      //   //   break;
      //   // case "descending":
      //   //   this.data = this.data.sort((a,b) => { return a['name'].localeCompare(b['name']) })
      //   //   this.data = this.data.sort((a,b) => { return a['id'].localeCompare(b['id']) })
      //   //   break;
      // }
    },
    editOpen(){
      this.editOpenFlag=true;
      console.log('不等于',this.checkStatus)
      console.log('等于',this.editOpenFlag)
      console.log('等于',this.crudLCStatus)
    }
  }
}
@@ -1914,7 +1916,11 @@
<style scoped lang="scss" >
.app {
   /deep/ .el-button {
   margin: 0 10px 10px 0;
   //margin: 0 10px 10px 0;
   }
}
.el-button-group {
  margin-right: 10px;
  margin-bottom: 10px;
}
</style>