田源
2024-01-24 3e17faf676860e7b65079bed632b552bc4be2fc1
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -277,7 +277,7 @@
      <!--        全屏编辑-->
      <el-dialog :before-close="escEdit" :visible.sync="attrEditVisible" append-to-body fullscreen="true">
        <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :crudArrayFlag="this.crudArrayFlag"
                  :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag"
                  :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" :btnAuthList="btnAuthList"
                  @editCloseChildren="editClose"></attrCrud>
      </el-dialog>
      <!--      组合规则-->
@@ -320,12 +320,13 @@
      ></refer-config-dialog>
    </div>
    <div>
      <el-table v-if="this.crudArrayFlag"
                ref="referAttrCrud"
                v-loading="loading"
                :data="ProData"
                :height="this.tableHeight"
                :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
                border
                style="width: 100%"
                @select="selectHandle"
@@ -358,13 +359,14 @@
              @blur="saveRows(row)"
            ></el-input>
            <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
                             v-show="!AddCellFlag"
                             v-model="row[item.prop]"
                             :style="{width:(item.width-10)+'px'}"
                             controls-position="right"
                             size="small" @blur="saveRows"></el-input-number>
            <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend"
            <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" :clearable="true"
                       v-model="row[item.prop]" allow-create default-first-option
                       filterable
                       filterable v-show="!AddCellFlag"
                       @blur="selectChangeHandler(item.editConfig,index)">
              <el-option
                v-for="optionItem in item.data"
@@ -395,7 +397,6 @@
        </el-table-column>
      </el-table>
    </div>
  </div>
</template>
<script>
@@ -450,6 +451,9 @@
      type: Boolean,
      default: false
    },
    btnAuthList: {
      type:Array
    }
  },
  watch: {
    crudOid: {
@@ -1108,6 +1112,8 @@
        index: true,
        indexFixed:false,
        selectionFixed:false,
        columnBtn: false,
        refreshBtn:false,
        border: true,
        addBtn: false,
        menu: false,
@@ -1555,23 +1561,22 @@
  },
  computed: {
    ...mapGetters(["permission"]),
    //页面按钮权限
    permissionList() {
      return {
        busineStatus: this.vaildData(this.permission.classifyTree.attr_add, false),
        fullscreenStatus: this.vaildData(this.permission.classifyTree.attr_view_edit, false),
        ruleStatus: this.vaildData(this.permission.classifyTree.attr_rule, false),
        attrStatus: this.vaildData(this.permission.classifyTree.attr_group, false),
        saveStatus: this.vaildData(this.permission.classifyTree.attr_save, false),
        resetStatus: this.vaildData(this.permission.classifyTree.attr_reset, false),
        injectStatus: this.vaildData(this.permission.classifyTree.attr_inject, false),
        isShowStatus: this.vaildData(this.permission.classifyTree.attr_formrule, false),
        enumStatus: this.vaildData(this.permission.classifyTree.attr_enum, false),
        cascadStatus: this.vaildData(this.permission.classifyTree.attr_parentcode, false),
        syncStatus: this.vaildData(this.permission.classifyTree.attr_sync, false),
        applicationStatus: this.vaildData(this.permission.classifyTree.attr_application, false),
        orderStatus: this.vaildData(this.permission.classifyTree.attr_sort, false),
        removeStatus: this.vaildData(this.permission.classifyTree.attr_delete, false),
        busineStatus: this.vaildData(this.btnAuthList.attr_add, false) ,
        fullscreenStatus: this.vaildData(this.btnAuthList.attr_view_edit, false),
        ruleStatus: this.vaildData(this.btnAuthList.attr_rule, false),
        attrStatus: this.vaildData(this.btnAuthList.attr_group, false),
        saveStatus: this.vaildData(this.btnAuthList.attr_save, false),
        resetStatus: this.vaildData(this.btnAuthList.attr_reset, false),
        injectStatus: this.vaildData(this.btnAuthList.attr_inject, false),
        isShowStatus: this.vaildData(this.btnAuthList.attr_formrule, false),
        enumStatus: this.vaildData(this.btnAuthList.attr_enum, false),
        cascadStatus: this.vaildData(this.btnAuthList.attr_parentcode, false),
        syncStatus: this.vaildData(this.btnAuthList.attr_sync, false),
        applicationStatus: this.vaildData(this.btnAuthList.attr_application, false),
        orderStatus: this.vaildData(this.btnAuthList.attr_sort, false),
        removeStatus: this.vaildData(this.btnAuthList.attr_delete, false),
      }
    },
    attrOids() {
@@ -1592,7 +1597,7 @@
      if (this.editStyleFlag) {
        return '800px'
      } else {
        return 'calc(100vh - 595px)'
        return 'calc(100vh - 565px)'
      }
    }
  },
@@ -1718,7 +1723,10 @@
            attrTableWidth: 120,
            ts: ""
          })
          this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)))
          // 将英文编号转换为小写
          let { id, ...res } = this.busineAddList;
          this.busineAddList = { id: id.toLowerCase(), ...res };
          this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)));
        }
      })
      this.addVisible = false;
@@ -1800,6 +1808,7 @@
      this.attrSelectList = [row];
      this.$refs.referAttrCrud.setCurrentRow(row);
      this.$refs.referAttrCrud.toggleRowSelection(row); //选中当前行
      this.attrOid = row.oid;
      this.attrRow = row;
    },
@@ -1851,8 +1860,8 @@
      // 新函数用于执行batchAddSave方法
      const executeBatchAddSave = () => {
        batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => {
          this.$message.success('保存成功')
          this.editOpenFlag = false;
          this.$message.success('保存成功')
          // 调用父组件修改按钮状态
          this.$emit('editCloseChildren')
          this.AddCellFlag = true;
@@ -2063,16 +2072,23 @@
      const regex = new RegExp(this.rulesData.ruleRowBds);
      if (regex.test(this.RulesForm.TestContent)) {
        this.$message.success('校验成功')
      }else {
        this.$message.error('校验失败')
      }
    },
    //点击分类注入按钮
    injectBtn() {
      if (this.attrSelectList.length > 1) {
        this.$message.warning('只能选择一条模板数据')
      } else if (this.attrSelectList.length < 1) {
        return;
      }
      if (this.attrSelectList.length < 1) {
        this.$message.warning('请选择一条模板数据')
      } else if (this.attrSelectList.length === 1) {
        return;;
      }
      if (this.attrSelectList.length === 1) {
        this.injectVisible = true;
        return;
      }
    },
    //分类注入保存
@@ -2105,15 +2121,17 @@
      } else {
        this.injectOption.classifyNumber = 0;
      }
      // console.log(this.ProData)
      this.injectVisible = false;
    },
    //分类注入清空
    injectHandleReset() {
      this.$set(this.CurrentCell, 'classifyInvokeText', '')
      this.$set(this.CurrentCell, 'classifyInvokeAttr:', '')
      this.$set(this.CurrentCell, 'classitwInvokeAttrName', '')
      this.$set(this.CurrentCell, 'classifyInvokeEditFlag', 'false')
      this.$set(this.CurrentCell, 'classifyInvokeLevel', 'none')
      this.CurrentCell.classifyInvokeText = null;
      this.CurrentCell.classifyInvokeAttr = '';
      this.CurrentCell.classifyInvokeAttrName = '';
      this.CurrentCell.classifyInvokeEditFlag = '';
      this.CurrentCell.classifyInvokeLevel = null;
      // console.log(this.ProData)
      this.injectVisible = false;
    },
    // 分类注入取消
@@ -2226,7 +2244,7 @@
<style lang="scss" scoped>
//固定列高度
/deep/ .el-table__fixed {
  height: calc(100vh - 612px) !important;
  height: calc(100vh - 584px) !important;
}
///deep/ .el-table__fixed[v-if='editStyleFlag'] {