田源
2023-08-18 d23181c2f673a6f911a61572099cebb84a84d2d8
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -71,19 +71,19 @@
                   size="small"
                   @click="editOpen">开启编辑
        </el-button>
        <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="请选择"
                   size="small">
          <el-option
            v-for="item in selectoptions"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
        </el-select>
        <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue"
                   active-value="true" style="margin:6px 0 0 10px" @change="batchSetFlag">
        </el-switch>
      </el-button-group>
      <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="请选择"
                 size="small">
        <el-option
          v-for="item in selectoptions"
          :key="item.value"
          :label="item.label"
          :value="item.value">
        </el-option>
      </el-select>
      <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue"
                 active-value="true" style="margin:6px 0 0 10px" @change="batchSetFlag">
      </el-switch>
    </div>
    <!--    弹窗-->
    <div>
@@ -326,10 +326,11 @@
      >
        <template slot-scope="{ row }">
          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
                    ref="inputRef"
                    :ref="'input' + row.oid"
                    v-show="!AddCellFlag"
                    v-model="row[item.prop]"
                    autofocus @blur="saveRows"></el-input>
                    @blur="saveRows(row)"
                    ></el-input>
          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
                           :style="{width:(item.width-10)+'px'}"
                           controls-position="right"
@@ -372,6 +373,7 @@
import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto, listByFlag} from '@/api/template/templateAttr'
import {getList} from "@/api/refer/table";
import func from "@/util/func";
import {getCurrentInstance} from "vue";
export default {
  name: "attrCrud .vue",
@@ -428,7 +430,7 @@
      }
    },
    crudArrayFlag: {
      handler(newval, olaval) {
      handler(newval, oldval) {
        console.log('crudArrayFlag', newval)
      }
    },
@@ -453,6 +455,16 @@
        }
      }
    },
    // editingRows:{
    //   handler(newval,oldval){
    //     if(newval){
    //       const inputElement = document.querySelector(`#inputRef${newval.oid}`);
    //       if (inputElement) {
    //         inputElement.focus();
    //       };
    //     }
    //   }
    // },
    ProData: {
      handler(newval, oldval) {
        if (newval) {
@@ -1078,11 +1090,13 @@
        column: [
          {
            label: "属性英文名称",
            prop: "id"
            prop: "id",
            width:100,
          },
          {
            label: "属性中文名称",
            prop: "name"
            prop: "name",
            width:100,
          },
          {
            label: "长度",
@@ -1123,7 +1137,7 @@
            prop: "precisionLength"
          },
          {
            label: "小精刻度",
            label: "小数刻度",
            prop: "scaleLength"
          },
          {
@@ -1565,9 +1579,6 @@
    //可输可选下拉
    selectChangeHandler(editConfig, index) {
      let that = this;
      /*if(that.option.column[index].data && that.option.column[index].data.length>=0){
        return;
      }*/
      listByFlag(editConfig.extraParams).then(res => {
        that.option.column[index].data = res.data.data;
      })
@@ -1586,7 +1597,7 @@
        item.attributeGroup = this.attrModel
      })
      if (this.CurrentCell) {
        this.$set(this.CurrentCell, 'attributeGroup', this.attrModel)
        this.$set(this.CurrentCell, 'attributeGroup', this.attrModel);
      } else {
        this.$set(this.attrSelectList[0], 'attributeGroup', this.attrModel)
      }
@@ -1747,7 +1758,6 @@
      this.ProData.forEach((item, index) => {
        if ((item.requireFlag && item.requireFlag.toString() == 'true') && (item.readOnlyFlag && item.readOnlyFlag.toString() == 'true')) {
          this.$message.warning(item.name + "(" + item.id + ")必输的属性不能是只读");
          console.log(item)
          ischeck = false;
          return;
        }
@@ -1755,29 +1765,23 @@
        if (item.componentRule) {
          //组合规则
          num++
          console.log('componentRule', num)
        }
        if (item.enumString || item.enumId) {
          //枚举
          num++
          console.log('enumString', num)
        }
        if (item.referConfig || item.referBtmId) {
          //参照
          num++
          console.log('referConfig', num)
        }
        if (item.codeDateFormat) {
          //时间格式
          num++
          console.log('codeDateFormat', num)
        }
        //如果空后台返回none
        if (item.classifyInvokeLevel && item.classifyInvokeLevel != 'none') {
          //分类注入
          num++
          console.log('classifyInvokeLevel', num)
          console.log(item.classifyInvokeLevel)
        }
        if (num > 1 && ischeck) {
          this.$message({
@@ -1809,11 +1813,19 @@
    },
    //表格行编辑
    handleCellClicks(row, column) {
      console.log(row,column)
      if (this.editOpenFlag) {
        this.editingRows = row;
        this.editShows = column.property;
        this.rowOid = row.oid;
        this.CurrentCell = row;
        this.$nextTick(() => {
          const inputs = this.$refs['input' + row.oid];
          const input = inputs && inputs.length > 0 ? inputs[0].$el : null;
          if (input) {
            input.focus();
          }
        });
        if (column.property == 'referConfig') {
          this.referConfigVisble = true;
          this.referConfigOption = {
@@ -1845,8 +1857,9 @@
          this.isShowformulaEdit = true;
        } else if (column.property == 'enumString') {
          this.enumVisible = true;
          if (this.attrSelectList[0].enumString != "") {
            this.tableData = JSON.parse(this.attrSelectList[0].enumString)
          this.tableData=[];
          if (this.CurrentCell.enumString != "") {
            this.tableData = JSON.parse(this.CurrentCell.enumString)
            return
          }
        } else if (column.property == 'parentCode') {
@@ -1871,6 +1884,11 @@
    },
    saveRows() {
      this.editingRows = null;
      this.editShows = null;
      // const inputElement = document.querySelector(`#inputRef${this.CurrentCell.oid}`);
      // if (inputElement) {
      //   inputElement.blur();
      // }
    },
    // 枚举注入添加一行空数据
    addRow() {
@@ -1974,6 +1992,7 @@
    rulesHandle() {
      if (this.CurrentCell) {
        this.$set(this.CurrentCell, 'verifyRule', this.RulesForm.expressionText)
        this.AddCellFlag = !this.AddCellFlag;
      } else {
        this.attrSelectList.forEach((item) => {
          this.$set(item, 'verifyRule', this.RulesForm.expressionText)
@@ -2092,6 +2111,7 @@
        this.editStyleFlag = true;
        this.attrEditVisible = true;
        this.attrFlag = true;
        this.AddCellFlag=true;
      }
    },
@@ -2120,7 +2140,7 @@
        this.$set(this.attrRow, 'referConfig', JSON.stringify(content))
      }
    },
    // 排序
    // 排序 this.AddCellFlag=false;
    sortChange(val) {
      console.log(val)
    },