wangting
2024-11-01 b900796bc062f34908fedb9bfc74a3f840d06c73
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -37,7 +37,7 @@
        </avue-crud>
      </basic-container>
    </el-main>
    <!-- 右侧信息   -->
    <!-- 右侧信息 -->
    <el-aside width="30%">
      <basic-container>
        <div style="height: 85vh; overflow-y: auto">
@@ -215,7 +215,7 @@
        </div>
      </basic-container>
    </el-aside>
    <!-- 新增对话框    -->
    <!-- 新增对话框 -->
    <el-dialog
      v-dialogDrag
      v-loading="addLoading"
@@ -232,7 +232,7 @@
            <h3 style="border-bottom: 1px solid #eee;margin: -10px 0 20px;line-height: 40px">属性项</h3>
            <el-col :span="8">
              <el-form-item label="名称:" prop="id">
                <el-input v-model="form.id"></el-input>
                <el-input v-model="form.id" :disabled="dialogTitle !== 'add'"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
@@ -263,8 +263,8 @@
              <el-col :span="8">
                <el-form-item v-if="form.enumSwitch" label="默认值:"  prop="defaultValue">
                  <el-select v-model="form.defaultValue">
                    <el-option v-for="(item,index) in rangeOptionValue" :key="index" :label="item"
                               :value="item"></el-option>
                    <el-option v-for="(item,index) in enumAddListChange" :key="index" :label="item.replace('=','')"
                               :value="item.replace('=','')"></el-option>
                  </el-select>
                </el-form-item>
                <el-form-item v-else label="默认值:"  prop="defaultValue">
@@ -321,9 +321,9 @@
                    </div>
                  </el-form-item>
                </el-col>
                <el-col :span="24" v-if="form.rangeValue.length>0">
                <el-col :span="24" v-if="form.rangeValue && form.rangeValue.length>0">
                  <el-form-item :label="form.enumSwitch ? '当前枚举值:' : '当前值域:'" prop="rangeValue">
                    <el-tag  :key="item" v-for="item in rangeValueList" plain :closable="!form.enumSwitch" type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                    <el-tag  :key="item" v-for="item in form.rangeValue.split('\n')" plain :closable="!form.enumSwitch" type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                    <el-input v-model="form.rangeValue" :readonly="form.enumSwitch" type="textarea" :rows="2" style="width: 0;height:0;overflow: hidden"></el-input>
                  </el-form-item>
                </el-col>
@@ -335,8 +335,8 @@
              <el-col :span="8">
                <el-form-item v-if="form.enumSwitch" label="默认值:"  prop="defaultValue">
                  <el-select v-model="form.defaultValue">
                    <el-option v-for="(item,index) in rangeOptionValue" :key="index" :label="item"
                               :value="item"></el-option>
                    <el-option v-for="(item,index) in enumAddListChange" :key="index" :label="item.replace('=','')"
                               :value="item.replace('=','')"></el-option>
                  </el-select>
                </el-form-item>
                <el-form-item v-else label="默认值:"  prop="defaultValue">
@@ -378,9 +378,9 @@
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="24" v-if="form.rangeValue.length>0">
              <el-col :span="24" v-if="form.rangeValue && form.rangeValue.length>0">
                <el-form-item :label="form.enumSwitch ? '当前枚举值:' : '当前值域:'" prop="rangeValue">
                  <el-tag  :key="item" v-for="item in rangeValueList" plain :closable="!form.enumSwitch" type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                  <el-tag  :key="item" v-for="item in form.rangeValue.split('\n')" plain :closable="!form.enumSwitch" type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                  <el-input v-model="form.rangeValue" :readonly="form.enumSwitch" type="textarea" :rows="2" style="width: 0;height:0;overflow: hidden"></el-input>
                </el-form-item>
              </el-col>
@@ -390,23 +390,23 @@
              <h3 style="border-bottom: 1px solid #eee;margin: -10px 0 20px;line-height: 40px">{{ form.attributeDataType }}</h3>
              <el-col :span="8">
                <el-form-item label="精度:" prop="precisionLength">
                  <el-input-number v-model="form.precisionLength" controls-position="right" :min="0"></el-input-number>
                  <el-input-number v-model="form.precisionLength" controls-position="right" :precision="0" :step="1" :min="0"></el-input-number>
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="长度:" prop="scaleLength">
                  <el-input-number v-model="form.scaleLength" controls-position="right" :min="0"></el-input-number>
                  <el-input-number v-model="form.scaleLength" controls-position="right"  :precision="0" :step="1" :min="0"></el-input-number>
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item v-if="form.enumSwitch" label="默认值:"  prop="defaultValue">
                  <el-select v-model="form.defaultValue">
                    <el-option v-for="(item,index) in rangeOptionValue" :key="index" :label="item"
                               :value="item"></el-option>
                    <el-option v-for="(item,index) in enumAddListChange" :key="index" :label="item.replace('=','')"
                               :value="item.replace('=','')"></el-option>
                  </el-select>
                </el-form-item>
                <el-form-item v-else label="默认值:"  prop="defaultValue">
                  <el-input-number v-model="form.defaultValue" controls-position="right"></el-input-number>
                  <el-input-number v-model="form.defaultValue" controls-position="right" :precision="form.precisionLength"></el-input-number>
                </el-form-item>
              </el-col>
              <el-col :span="8">
@@ -433,9 +433,9 @@
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="24" v-if="form.rangeValue.length>0">
              <el-col :span="24" v-if="form.rangeValue && form.rangeValue.length>0">
                <el-form-item :label="form.enumSwitch ? '当前枚举值:' : '当前值域:'" prop="rangeValue">
                  <el-tag  :key="item" v-for="item in rangeValueList" plain closable type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                  <el-tag  :key="item" v-for="item in form.rangeValue.split('\n')" plain closable type="success" @close="handleRangeValueDel(item)" style="margin: 0 10px 5px 0">{{ item }}</el-tag>
                  <el-input v-model="form.rangeValue" type="textarea" :rows="2" style="width: 0;height:0;overflow: hidden"></el-input>
                </el-form-item>
              </el-col>
@@ -459,7 +459,7 @@
          </div>
        </el-form>
        <!-- 业务类型对话框      -->
        <!-- 业务类型对话框 -->
        <el-dialog
          v-dialogDrag
          :visible.sync="businessVisible"
@@ -485,7 +485,7 @@
        </span>
        </el-dialog>
        <!-- 链接类型对话框      -->
        <!-- 链接类型对话框 -->
        <el-dialog
          v-dialogDrag
          :visible.sync="linkTypeVisible"
@@ -519,7 +519,7 @@
    <!--导入    -->
    <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导入"
                 @updata="getTableList"></upload-file>
    <!-- 查看使用范围    -->
    <!-- 查看使用范围 -->
    <el-dialog
      v-dialogDrag
      v-loading="checkViewLoading"
@@ -708,7 +708,7 @@
        referValue: "",
        btmTypeId: "",
        linkTypeName: "",
        rangeValue: "" //当前值域\当前枚举值
        rangeValue: [] //当前值域\当前枚举值
      },
      typeSelectList: ['VTString', 'VTInteger', 'VTLong', 'VTDouble', 'VTBoolean', 'VTDate', 'VTTime', 'VTDateTime', 'VTNote', 'VTFilePath', 'VTClob'],
@@ -753,21 +753,6 @@
        this.form.attributeDataType === 'VTClob' ||
        this.form.attributeDataType === 'VTDateTime' ||
        this.form.attributeDataType === 'VTFilePath';
    },
    rangeOptionValue() {
      let values = this.form.rangeValue.split('\n');
      // 处理每个值,去除等号前的部分,只保留等号后的部分
      return values.map(value => {
        let parts = value.split('=');
        return parts.length > 1 ? parts[1].trim() : value.trim();
      });
    },
    //表单种当前值域List
    rangeValueList(){
      if (this.form.rangeValue) {
        return this.form.rangeValue.split('\n');
      }
    }
  },
  watch: {},
@@ -1006,7 +991,8 @@
    enumSelectChange(val) {
      const list = this.attributeDataTypePickList.find(item => item.key === val).values;
      this.form.rangeValue = list.join('\n');
      this.form.defaultValue = this.rangeOptionValue[0];
      this.enumAddListChange=list;
      this.form.defaultValue = list[0].replace('=','');
    },
    // 使用枚举switch滑块change事件
@@ -1015,15 +1001,17 @@
        this.form.enumId = this.attributeDataTypePickList[0].key;
        const list = this.attributeDataTypePickList[0].values;
        this.form.rangeValue = list.join('\n');
        this.form.defaultValue = this.rangeOptionValue[0];
        this.enumAddListChange=list;
        this.form.defaultValue = list[0].replace('=','');
      } else {
        this.form.defaultValue = "";
        this.form.rangeValue = "";
        this.enumAddListChange=[];
        this.enumId = "";
      }
    },
    // 不使用枚举 手动添加枚举值
    // 不使用枚举 手动添加枚举值 VTString
    enumAddHandler() {
      // 检查和转换 this.form.range 为数组,同时排除空值
      let currentRangeArray = this.form.rangeValue ? this.form.rangeValue.split('\n').filter(item => item.trim() !== '') : [];
@@ -1054,8 +1042,6 @@
        let lastValue = this.form.enumAddValue[(this.form.enumAddValue.length - 1)];
        // 切割 enumAddValue 的逗号
        let values = this.form.enumAddValue.split(regex).map(item => item.trim()).filter(item => item !== "");
        ;
        // 检查是否有有效的值
        if (values.length < 2 || values.some(item => item === '')) {
@@ -1103,7 +1089,10 @@
        '=': '=',
        '!=': '!='
      };
      if (isNaN(this.form.enumAddValue.trim())) {
        this.$message.error('请输入有效的数字值!');
        return;
      }
      // 创建新的值
      let newValue = operatorMap[val] + this.form.enumAddValue.trim();
@@ -1387,7 +1376,7 @@
.addDialogBottom > .el-divider--vertical {
  width: 1px;
  height: 78%;
  height: 70%;
  position: absolute;
  top: 50%;
  left: 50%;