Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -18,10 +18,11 @@
          @current-change="currentChange"
        >
          <template slot="menuLeft" slot-scope="scope">
            <el-button icon="el-icon-plus" size="small" type="primary" @click="rowSaveHandlerClick">创建</el-button>
            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="rowSaveHandlerClick">创建</el-button>
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">删除</el-button>
            <el-button icon="el-icon-view" plain size="small" type="primary" @click="chekView">查看使用范围</el-button>
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadTemplateHandler">下载导入模板
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadTemplateHandler">
              下载导入模板
            </el-button>
            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadHandler">导入</el-button>
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="downLoadHandler">导出</el-button>
@@ -45,19 +46,25 @@
              <template slot="label">
                名称
              </template>
              {{ lastItem.id }}
              <div style="width: 330px">
                {{ lastItem.id }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                标签
              </template>
              {{ lastItem.name }}
              <div style="width: 330px">
                {{ lastItem.name }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                描述
              </template>
              {{ lastItem.description }}
              <div style="width: 330px">
                {{ lastItem.description }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
@@ -75,9 +82,11 @@
              <template slot="label">
                允许为空
              </template>
              <el-tag :type="lastItem.nullableFlag ? 'success' : 'danger'">
                {{ lastItem.nullableFlag ? '是' : '否' }}
              </el-tag>
              <div style="width: 330px">
                <el-tag :type="lastItem.nullableFlag ? 'success' : 'danger'">
                  {{ lastItem.nullableFlag ? '是' : '否' }}
                </el-tag>
              </div>
            </el-descriptions-item>
            <el-descriptions-item v-if="accuracy">
              <template slot="label">
@@ -89,13 +98,17 @@
              <template slot="label">
                长度
              </template>
              {{ lastItem.attrLength }}
              <div style="width: 330px">
                {{ lastItem.attrLength }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                默认值
              </template>
              {{ lastItem.defaultValue }}
              <div style="width: 330px">
                {{ lastItem.defaultValue }}
              </div>
            </el-descriptions-item>
          </el-descriptions>
@@ -106,33 +119,43 @@
              <template slot="label">
                当前类型
              </template>
              {{ lastItem.version ? '链接类型' : '业务类型' }}
              <div style="width: 345px">
                {{ lastItem.version ? '链接类型' : '业务类型' }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                当前类型值
              </template>
              {{ lastItem.version ? lastItem.linkTypeName : lastItem.btmTypeId }}
              <div style="width: 345px">
                {{ lastItem.version ? lastItem.linkTypeName : lastItem.btmTypeId }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item v-if="lastItem.version">
              <template slot="label">
                当前版本次
              </template>
              {{ lastItem.version }}
              <div style="width: 345px">
                {{ lastItem.version }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                使用枚举
              </template>
              <el-tag :type="lastItem.enumId ? 'success' : 'danger'">
                {{ lastItem.enumId ? '是' : '否' }}
              </el-tag>
              <div style="width: 345px">
                <el-tag :type="lastItem.enumId ? 'success' : 'danger'">
                  {{ lastItem.enumId ? '是' : '否' }}
                </el-tag>
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                当前枚举类型
              </template>
              {{ lastItem.enumId }}
              <div style="width: 345px">
                {{ lastItem.enumId }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
@@ -153,21 +176,25 @@
              <template slot="label">
                使用枚举
              </template>
              <el-tag :type="lastItem.enumFlag ? 'success' : 'danger'">
                {{ lastItem.enumFlag ? '是' : '否' }}
              </el-tag>
              <div style="width: 330px">
                <el-tag :type="lastItem.enumFlag ? 'success' : 'danger'">
                  {{ lastItem.enumFlag ? '是' : '否' }}
                </el-tag>
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                枚举类型
              </template>
              {{ lastItem.enumFlag }}
              <div style="width: 330px">
                {{ lastItem.enumFlag }}
              </div>
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                取值范围
              </template>
              <div style="width: 330px; height: 80px;overflow: auto">
              <div style="width: 345px; height: 80px;overflow: auto">
                <el-tag v-for="item in rangeList" plain style="margin: 5px">{{ item }}</el-tag>
              </div>
            </el-descriptions-item>
@@ -206,9 +233,7 @@
        <el-row>
          <div class="addDialog">
            <div>
              <h3>属性项</h3>
              <el-col :span="12">
                <el-form-item label="名称:" prop="id">
                  <el-input v-model="form.id"></el-input>
@@ -353,7 +378,7 @@
                    <el-button size="mini" @click="operationHandler('<=')"> <=</el-button>
                    <el-button size="mini" @click="operationHandler('=')"> =</el-button>
                    <el-button size="mini" @click="operationHandler('!=')"> !=</el-button>
                    <el-button size="mini" @click="operationHandler('()')"> ()</el-button>
                    <el-button size="mini" @click="operationHandler('()')"> ([])</el-button>
                  </div>
                </el-form-item>
                <el-form-item :label="form.enumSwitch ? '当前枚举值:' : '当前值域:'" prop="rangeValue">
@@ -377,7 +402,7 @@
                    <el-button size="mini" @click="operationHandler('<=')"> <=</el-button>
                    <el-button size="mini" @click="operationHandler('=')"> =</el-button>
                    <el-button size="mini" @click="operationHandler('!=')"> !=</el-button>
                    <el-button size="mini" @click="operationHandler('()')"> ()</el-button>
                    <el-button size="mini" @click="operationHandler('()')">([])</el-button>
                  </div>
                </el-form-item>
                <el-form-item :label="form.enumSwitch ? '当前枚举值:' : '当前值域:'" prop="rangeValue">
@@ -576,6 +601,7 @@
        addBtn: false,
        editBtn: false,
        delBtn: false,
        menuWidth: 160,
        column
      },
      tableLoading: false,
@@ -967,8 +993,13 @@
      // 处理 '()' 运算符的情况
      if (val === '()') {
        let regex = /[,\[\]()]+/g;
        let firstValue = this.form.enumAddValue[0];
        let lastValue = this.form.enumAddValue[(this.form.enumAddValue.length - 1)];
        // 切割 enumAddValue 的逗号
        let values = this.form.enumAddValue.split(',').map(item => item.trim());
        let values = this.form.enumAddValue.split(regex).map(item => item.trim()).filter(item => item !== "");
        ;
        // 检查是否有有效的值
        if (values.length < 2 || values.some(item => item === '')) {
@@ -991,7 +1022,7 @@
        }
        // 构建 newValue 的形式 (值1,值2)
        let newValue = `(${values.join(',')})`;
        let newValue = `${firstValue}${values.join(',')}${lastValue}`;
        // 检查新的值是否已存在
        if (currentRangeArray.includes(newValue)) {
@@ -1220,7 +1251,7 @@
      this.$refs.form.validate((valid) => {
        if (valid) {
          if (this.dialogTitle === 'add') {
            this.form.range = this.form.rangeValue.replace(/\n/g, ';');
            this.form.range = this.form.rangeValue ? this.form.rangeValue.replace(/\n/g, ';') : '';
            if (this.form.attributeSelectType === 'business') {
              this.form.btmTypeId = this.form.referValue;
            } else {
@@ -1236,7 +1267,7 @@
            })
          }
          if (this.dialogTitle === 'edit') {
            this.form.range = this.form.rangeValue.replace(/\n/g, ';');
            this.form.range = this.form.rangeValue ? this.form.rangeValue.replace(/\n/g, ';') : '';
            if (this.form.attributeSelectType === 'business') {
              this.form.btmTypeId = this.form.referValue;
            } else {