Source/UBCS-WEB/src/views/modeling/original.vue
@@ -4,15 +4,33 @@
      <basic-container>
        <avue-crud v-model="form" :option="option" :data="data" ref="crud" @on-load="onLoad" @row-save="rowSave"
          @row-update="rowUpdate" :before-open="beforeOpen" @row-del="rowDel" :page.sync="page"
          @refresh-change="refreshChange" @row-click="rowClick">
          @refresh-change="refreshChange" @row-click="rowClick"
          @selection-change="selectChange">
          <template slot-scope="{row,index,type}" slot="selInputForm">
          <div style="margin-left: 75px">
            <el-input v-model="form.text" :size="size" style="width: 210px" :readonly="true" @focus="selectBtmType" :disabled="referType.disable"></el-input>
            <!-- <el-button type="primary" style="margin-left: 10px" @click="addHandle">选择</el-button> -->
            <!-- <el-button type="info">取消</el-button> -->
          </div>
        </template>
        <template slot="radio"
                slot-scope="{row}">
                    <el-radio v-model="selectRow"
                        :label="row.$index">&nbsp;
                    </el-radio>
                </template>
         <template slot="menuLeft">
            <el-button size="small"
                       plain
                       type="primary"
                       icon="el-icon-zoom-in"
                       @click="applyRangeOpen">查看使用范围
            </el-button>
          </template>
        </avue-crud>
        <el-dialog :visible.sync="applyRange.display" append-to-body :title="applyRange.title" width="600px"
        @close="applyRangeClose">
            <avue-crud v-model="applyRange.model" :option="applyRange.option" :data="applyRange.data" class="applyRangeTable"
            ></avue-crud>
        </el-dialog>
        <el-dialog :visible.sync="referType.display" append-to-body :title="referType.title" width="1000px">
          <original-range @rowchange="rowchange"></original-range>
          <span slot="footer" class="dialog-footer">
@@ -35,10 +53,10 @@
          <el-tab-pane label="属性项" name="attrTab">
            <el-form ref="form" :model="itemData" label-width="80px" style="height: 656px;">
              <el-form-item label="属性编码">
                <el-input v-model="itemData.key" :disabled="true"></el-input>
                <el-input v-model="itemData.id" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="属性名称">
                <el-input v-model="itemData.label" :disabled="true"></el-input>
                <el-input v-model="itemData.name" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="属性类型">
                <el-input v-model="itemData.typeValue" :disabled="true"></el-input>
@@ -91,7 +109,7 @@
  getList,
  remove,
  add,
  update, getPage
  update, getPage, getApplyRange
} from "@/api/omd/OmdAttribute";
import { getDictionary } from "@/api/omd/enum";
@@ -136,26 +154,34 @@
        currentPage: 1,
        total: 100
      },
      selectRow: '',
      data: [
      ],
      option: {
        height: "550px",
        selection: true,
        headerAlign: 'center',
        border: true,
        index: true,
        rowKey: 'id',
        tabs: true,
        column: [
        highlightCurrentRow: true,
        column: [{
            label: '选择',
            prop: 'radio',
            width: 60,
            hide: false,
            display: false
          },
          {
            label: '属性编号',
            prop: 'key',
            prop: 'id',
            align: 'left',
            display: false
            display: false,
            width: 200
          }, {
            label: '属性名称',
            prop: 'label',
            prop: 'name',
            align: 'left',
            display: false
          },
@@ -225,13 +251,13 @@
            prop: "index",
            column: [
              {
                label: '属性编码',
                prop: 'key',
                label: '属性编号',
                prop: 'id',
                align: 'left',
              },
              {
                label: '属性名称',
                prop: 'label',
                prop: 'name',
                align: 'left',
              },
              {
@@ -409,6 +435,36 @@
          }
        ]
      },
      applyRange: {
        model: "",
        title: "应用的业务类型",
        option: {
          height: 360,
          addBtn: false,
          refreshBtn: false,
          columnBtn: false,
          menu: false,
          border: true,
          reserveSelection: true,
          searchMenuSpan:8,
          searchShowBtn: false,
          highlightCurrentRow: true,
          column: [
            {
                label: '业务类型编号',
                prop: 'id',
                align: 'left',
              },
              {
                label: '业务类型名称',
                prop: 'name',
                align: 'left',
              },
          ]
        },
        data: [],
        display: false,
      }
    }
  },
@@ -454,7 +510,6 @@
      this.packageLinkBox = false
    },
    selectChange(val) {
       console.log(val);
       this.referType.key = val.value
      if (val.value == 'businessType'){
        this.referType.value = '业务类型'
@@ -465,7 +520,6 @@
      if(val.value){
        this.referType.disable = false
      }
      console.log(this.referType.disable)
    },
    selchange(val) {
      this.banList = val
@@ -475,17 +529,7 @@
      this.onLoad(this.pageParent, this.query);
    },
    beforeOpen(done, type) {
      if (['view', 'edit'].includes(type)) {
        // 查看和编辑逻辑
        console.log("编辑")
      } else {
        //新增逻辑
        console.log(this.Typelist)
        console.log(this.banList)
        console.log("新增")
        console.log(this.typeSelectList)
      }
      done();
    },
@@ -543,14 +587,39 @@
      })
    },
    rowClick(row) {
      this.itemData = row
      this.itemData = row;
      this.selectRow = row.$index;
    }
    ,selectBtmType(){
        this.referType.display = true;
        this.referType.title = "请选择" + this.referType.value
    },
    applyRangeOpen(){
        if (!this.selectRow){
          this.$message({
            type:"warning",
            message: "请先选择属性"
          })
        }
        var oid = this.data[this.selectRow].oid;
        console.log(oid);
        getApplyRange(oid).then(res => {
            this.applyRange.data = res.data.data;
        })
        console.log("success");
        this.applyRange.display = true;
    },
    applyRangeClose(){
      this.applyRange.data = [];
      this.applyRange.display = false;
    }
  },
}
</script>
<style lang="scss"></style>
<style lang="scss">
.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
    display: none !important;
}
</style>