From d92e70785122a4505396d4b67e66e378f7a51b7d Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 30 十月 2024 17:39:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java       |    1 
 Source/plt-web/plt-web-ui/src/page/login/userlogin.vue                                                   |    7 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue                           |    2 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue                        |  385 ++++++++++++++++++++++++-----------------------
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue                |   22 +-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java |   42 ++++
 6 files changed, 247 insertions(+), 212 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
index 55f843c..b4860b3 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -55,6 +55,7 @@
 import java.util.*;
 import java.util.List;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 //import static com.vci.client.omd.attribpool.ui.VTDataTypePanel.*;
 import static com.vci.omd.constants.AttributeConstants.*;
@@ -167,7 +168,7 @@
 	}
 
 	/**
-	 * 澶熺潃灞炴�ф爲鑺傜偣
+	 * 鏋勯�犲睘鎬ф爲鑺傜偣
 	 * @param parentTreeList
 	 * @param refTypeName
 	 * @param refFlag
@@ -342,7 +343,10 @@
 				attributeVO.setLastModifyTime(new Date(attribItem.modifyTime));
 				attributeVO.setTs(VciDateUtil.str2Date(attribItem.ts,VciDateUtil.DateTimeMillFormat));
 			}catch (Throwable e){
-
+				e.printStackTrace();
+				String errorLog = "灞炴�O杞琕O鏃跺嚭閿欙紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e);
+				logger.error(errorLog);
+				throw new VciBaseException(errorLog);
 			}
 			attributeVO.setLastModifier(attribItem.modifier);
 			attributeVO.setName(attribItem.label);
@@ -639,9 +643,10 @@
 		//妫�鏌ラ粯璁ゅ�间笌灞炴�х被鍨嬫槸鍚﹀尮閰�
 		checkDefValue(osAttributeDTO);
 		boolean compatible = isCompatible(osAttributeVO,osAttributeDTO);
-		boolean hasInstance = hasInstance(osAttributeDTO.getName());
-		//浜х敓鏁版嵁, 骞朵笖涓嶅吋瀹�
-		if(hasInstance && !compatible){
+		//boolean hasInstance = hasInstance(osAttributeDTO.getId()); //涓嶅垽鏂槸鍚︿骇鐢熸暟鎹彧瑕佽寮曠敤灏遍渶瑕佽繘涓�姝ュ垽鏂被鍨嬫槸鍚﹀吋瀹�
+		boolean checkAttrIsUse = this.checkAttrIsUse(osAttributeDTO.getId());
+		//TODO锛氭寜鐓т互鍓嶆搷浣滈厤缃枃妗d腑鐨勯�昏緫搴旇鏄細涓嶈鏄惁浜х敓鏁版嵁鍙琚紩鐢ㄥ氨闇�瑕佽鍒ゆ柇绫诲瀷鏄惁鍏煎锛堝VTString涓嶈兘杞负VTIntger鎴朧TLong锛�
+		if(checkAttrIsUse/*hasInstance*/ && !compatible){
 			throw new PLException("500",new String[]{"鏃犳晥鍙樻洿, 涓嶅吋瀹瑰凡浜х敓鐨勬暟鎹紒"});
 		}
 		String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
@@ -791,6 +796,26 @@
 	 */
 	private boolean hasInstance(String abName) throws PLException {
 		return osBtmService.hasInstance(abName) && osLinkTypeServiceI.hasInstance(abName);
+	}
+
+	/**
+	 * 鏌ョ湅灞炴�ф槸鍚﹁寮曠敤
+	 * @param abName
+	 * @return false鏈寮曠敤 true琚紩鐢�
+	 */
+	private boolean checkAttrIsUse(String abName) throws PLException {
+		if(Func.isBlank(abName)){
+			return false;
+		}
+		String[] btNames = platformClientUtil.getBtmService().getBTNamesByAPName(abName);
+		if(Func.isNotEmpty(btNames)){
+			return true;
+		}
+		String[] ltNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(abName);
+		if(Func.isNotEmpty(ltNames)){
+			return true;
+		}
+		return false;
 	}
 
 	/**
@@ -974,11 +999,14 @@
 			throw new PLException("500",new String[]{"璇烽�夋嫨瑕佹煡璇㈠簲鐢ㄨ寖鍥寸殑灞炴��!"});
 		}
 		String[] btNames = platformClientUtil.getBtmService().getBTNamesByAPName(attributeName);
-		if(Func.isEmpty(btNames)){
+		String[] ltNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(attributeName);
+		String[] mergedArray = Stream.concat(Stream.of(btNames), Stream.of(ltNames)).toArray(String[]::new);
+
+		if(Func.isEmpty(mergedArray)){
 			return new ArrayList<>();
 		}
 		List<Map<String,String>> btmNameMapList = new ArrayList<>();
-		Arrays.stream(btNames).forEach(btName->{
+		Arrays.stream(mergedArray).forEach(btName->{
 			Map<String, String> itemMap = new HashMap<>();
 			itemMap.put("attributeName",attributeName);
 			itemMap.put("source",btName);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
index 73a4fac..a5c6e59 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -495,7 +495,6 @@
 
     /**
      * 鍒ゆ柇璇ュ睘鎬ф槸鍚﹀凡缁忓湪涓氬姟绫诲瀷涓骇鐢熶簡鏁版嵁
-     *
      * @param abName
      * @return
      * @throws PLException
diff --git a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
index 48701ab..2bd8b81 100644
--- a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
+++ b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
@@ -71,7 +71,7 @@
   name: "userlogin",
   data() {
     return {
-      userName:'',
+      userName: '',
       passwordVisible: false,
       passwordForm: {},
       passwordOption: {
@@ -256,7 +256,8 @@
                 });
                 return false;
               }
-            };
+            }
+            ;
             this.$router.push({path: this.tagWel.value});
             loading.close();
           }).catch((err) => {
@@ -293,7 +294,7 @@
           this.$message.success('淇敼鎴愬姛锛屽嵆灏嗚烦杞埌棣栭〉');
           this.passwordVisible = false;
           this.$refs.changeForm.resetFields();
-          this.$store.dispatch("LoginByUsername",{...this.loginForm,password:form.confirmPassword}).then(data => {
+          this.$store.dispatch("LoginByUsername", {...this.loginForm, password: form.confirmPassword}).then(data => {
             if (data.obj.failCode !== 'loginSuccess') {
               this.$message.error(data.msg);
             }
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
index b49b2bd..60bf00a 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -229,103 +229,104 @@
       width="65%"
       @close="addEscHandler"
     >
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <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>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="鏍囩锛�" prop="name">
-                  <el-input v-model="form.name"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="灞炴�х被鍨嬶細" prop="attributeDataType">
-                  <el-select v-model="form.attributeDataType" placeholder="璇烽�夋嫨灞炴�х被鍨�" @change="attributeDataTypeChange">
-                    <el-option v-for="item in typeSelectList" :label="item" :value="item"></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="鎻忚堪锛�" prop="description">
-                  <el-input v-model="form.description" :rows="2" type="textarea"></el-input>
-                </el-form-item>
-              </el-col>
-
-            </div>
-            <div v-if="!hideType" class="addDialogBottom">
-              <div class="left">
-                <h3>{{ form.attributeDataType }}</h3>
-
-                <el-form-item
-                  v-if="form.attributeDataType !== 'VTInteger' && form.attributeDataType !== 'VTLong'
-                  && form.attributeDataType !== 'VTDouble' && form.attributeDataType !== 'VTBoolean'"
-                  label="闀垮害锛�" prop="attrLength">
-                  <el-input v-model="form.attrLength"></el-input>
-                </el-form-item>
-
-                <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="绮惧害锛�" prop="precisionLength">
-                  <el-input v-model="form.precisionLength"></el-input>
-                </el-form-item>
-
-                <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="闀垮害锛�" prop="scaleLength">
-                  <el-input v-model="form.scaleLength"></el-input>
-                </el-form-item>
-
-
-                <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && !form.enumSwitch" label="榛樿鍊硷細"
-                              prop="defaultValue">
-                  <el-input v-model="form.defaultValue"></el-input>
-                </el-form-item>
-
-                <el-form-item v-if="form.attributeDataType === 'VTBoolean'" label="榛樿鍊硷細" prop="defaultValue">
-                  <el-select v-model="form.defaultValue">
-                    <el-option label="false" value="false"></el-option>
-                    <el-option label="true" value="true"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && 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-select>
-                </el-form-item>
-
-                <el-form-item label="鍏佽涓虹┖锛�" prop="nullableFlag">
-                  <el-switch v-model="form.nullableFlag"></el-switch>
-                </el-form-item>
+      <div style="height: 650px">
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px" size="small">
+          <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>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="鏍囩锛�" prop="name">
+                    <el-input v-model="form.name"></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="灞炴�х被鍨嬶細" prop="attributeDataType">
+                    <el-select v-model="form.attributeDataType" placeholder="璇烽�夋嫨灞炴�х被鍨�" @change="attributeDataTypeChange">
+                      <el-option v-for="item in typeSelectList" :label="item" :value="item"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="鎻忚堪锛�" prop="description">
+                    <el-input v-model="form.description" :rows="2" type="textarea"></el-input>
+                  </el-form-item>
+                </el-col>
 
               </div>
-              <el-divider direction="vertical"></el-divider>
-              <!--  VTString   -->
-              <div v-if="form.attributeDataType === 'VTString'" class="right">
-                <h3>鍊煎煙</h3>
-                <el-form-item label="褰撳墠鍊煎煙绫诲瀷锛�" prop="attributeSelectType">
-                  <el-select v-model="form.attributeSelectType" placeholder="璇烽�夋嫨灞炴�х被鍨�"
-                             @change="attributeSelectTypeChange">
-                    <el-option label="涓氬姟绫诲瀷" value="business"></el-option>
-                    <el-option label="閾炬帴绫诲瀷" value="link"></el-option>
-                  </el-select>
-                </el-form-item>
+              <div v-if="!hideType" class="addDialogBottom">
+                <div class="left">
+                  <h3>{{ form.attributeDataType }}</h3>
 
-                <el-form-item v-if="form.attributeSelectType === 'link'" label="鐗堟湰娆★細" prop="version">
-                  <el-select v-model="form.version" placeholder="璇烽�夋嫨鐗堟湰娆�">
-                    <el-option :value="1" label="褰撳墠鐗堟湰娆�"></el-option>
-                    <el-option :value="3" label="鏈�鏂扮増鏈"></el-option>
-                  </el-select>
-                </el-form-item>
+                  <el-form-item
+                    v-if="form.attributeDataType !== 'VTInteger' && form.attributeDataType !== 'VTLong'
+                  && form.attributeDataType !== 'VTDouble' && form.attributeDataType !== 'VTBoolean'"
+                    label="闀垮害锛�" prop="attrLength">
+                    <el-input v-model="form.attrLength"></el-input>
+                  </el-form-item>
 
-                <el-form-item label="閫夋嫨鍙傜収绫诲瀷锛�" prop="referValue">
-                  <el-input v-model="form.referValue" @focus="referFormFocusHandler"></el-input>
-                </el-form-item>
+                  <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="绮惧害锛�" prop="precisionLength">
+                    <el-input v-model="form.precisionLength"></el-input>
+                  </el-form-item>
 
-                <span v-if="!form.referValue">
+                  <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="闀垮害锛�" prop="scaleLength">
+                    <el-input v-model="form.scaleLength"></el-input>
+                  </el-form-item>
+
+
+                  <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && !form.enumSwitch" label="榛樿鍊硷細"
+                                prop="defaultValue">
+                    <el-input v-model="form.defaultValue"></el-input>
+                  </el-form-item>
+
+                  <el-form-item v-if="form.attributeDataType === 'VTBoolean'" label="榛樿鍊硷細" prop="defaultValue">
+                    <el-select v-model="form.defaultValue">
+                      <el-option label="false" value="false"></el-option>
+                      <el-option label="true" value="true"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && 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-select>
+                  </el-form-item>
+
+                  <el-form-item label="鍏佽涓虹┖锛�" prop="nullableFlag">
+                    <el-switch v-model="form.nullableFlag"></el-switch>
+                  </el-form-item>
+
+                </div>
+                <el-divider direction="vertical"></el-divider>
+                <!--  VTString   -->
+                <div v-if="form.attributeDataType === 'VTString'" class="right">
+                  <h3>鍊煎煙</h3>
+                  <el-form-item label="褰撳墠鍊煎煙绫诲瀷锛�" prop="attributeSelectType">
+                    <el-select v-model="form.attributeSelectType" placeholder="璇烽�夋嫨灞炴�х被鍨�"
+                               @change="attributeSelectTypeChange">
+                      <el-option label="涓氬姟绫诲瀷" value="business"></el-option>
+                      <el-option label="閾炬帴绫诲瀷" value="link"></el-option>
+                    </el-select>
+                  </el-form-item>
+
+                  <el-form-item v-if="form.attributeSelectType === 'link'" label="鐗堟湰娆★細" prop="version">
+                    <el-select v-model="form.version" placeholder="璇烽�夋嫨鐗堟湰娆�">
+                      <el-option :value="1" label="褰撳墠鐗堟湰娆�"></el-option>
+                      <el-option :value="3" label="鏈�鏂扮増鏈"></el-option>
+                    </el-select>
+                  </el-form-item>
+
+                  <el-form-item label="閫夋嫨鍙傜収绫诲瀷锛�" prop="referValue">
+                    <el-input v-model="form.referValue" @focus="referFormFocusHandler"></el-input>
+                  </el-form-item>
+
+                  <span v-if="!form.referValue">
                 <el-form-item label="浣跨敤鏋氫妇锛�" prop="enumSwitch">
                   <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch>
                 </el-form-item>
@@ -351,122 +352,124 @@
                   </textarea>
                 </el-form-item>
                 </span>
-              </div>
-              <!--  VTInteger VTLong   -->
-              <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' " class="right">
-                <h3>鍊煎煙</h3>
+                </div>
+                <!--  VTInteger VTLong   -->
+                <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' "
+                     class="right">
+                  <h3>鍊煎煙</h3>
 
-                <el-form-item label="浣跨敤鏋氫妇锛�" prop="enumSwitch">
-                  <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch>
-                </el-form-item>
+                  <el-form-item label="浣跨敤鏋氫妇锛�" prop="enumSwitch">
+                    <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch>
+                  </el-form-item>
 
 
-                <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumSwitch">
-                  <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="璇烽�夋嫨鏋氫妇绫诲瀷"
-                             @change="enumSelectChange">
-                    <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key"
-                               :value="item.key"></el-option>
-                  </el-select>
-                  <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue">
-                  </el-input>
-                </el-form-item>
-                <el-form-item v-if="!form.enumSwitch" label="杩愮畻绗︼細">
-                  <div>
-                    <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>
-                    <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">
+                  <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumSwitch">
+                    <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="璇烽�夋嫨鏋氫妇绫诲瀷"
+                               @change="enumSelectChange">
+                      <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key"
+                                 :value="item.key"></el-option>
+                    </el-select>
+                    <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue">
+                    </el-input>
+                  </el-form-item>
+                  <el-form-item v-if="!form.enumSwitch" label="杩愮畻绗︼細">
+                    <div>
+                      <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>
+                      <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">
                   <textarea v-model="form.rangeValue" :readonly="form.enumSwitch"
                             style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;">
                   </textarea>
-                </el-form-item>
-              </div>
-              <!--   VTDouble    -->
-              <div v-if="form.attributeDataType === 'VTDouble'" class="right">
-                <h3>鍊煎煙</h3>
-                <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumAddValue">
-                  <el-input v-model="form.enumAddValue">
-                  </el-input>
-                </el-form-item>
-                <el-form-item label="杩愮畻绗︼細">
-                  <div>
-                    <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>
-                    <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">
+                  </el-form-item>
+                </div>
+                <!--   VTDouble    -->
+                <div v-if="form.attributeDataType === 'VTDouble'" class="right">
+                  <h3>鍊煎煙</h3>
+                  <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumAddValue">
+                    <el-input v-model="form.enumAddValue">
+                    </el-input>
+                  </el-form-item>
+                  <el-form-item label="杩愮畻绗︼細">
+                    <div>
+                      <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>
+                      <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">
                   <textarea v-model="form.rangeValue"
                             style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;">
                   </textarea>
-                </el-form-item>
+                  </el-form-item>
+                </div>
               </div>
             </div>
-          </div>
-        </el-row>
-      </el-form>
+          </el-row>
+        </el-form>
 
-      <!-- 涓氬姟绫诲瀷瀵硅瘽妗�      -->
-      <el-dialog
-        v-dialogDrag
-        :visible.sync="businessVisible"
-        append-to-body="true"
-        class="avue-dialog"
-        title="涓氬姟绫诲瀷閫夋嫨"
-        width="70%"
-      >
-        <avue-crud
-          ref="businessCrud"
-          :data="businessData"
-          :option="businessOption"
-          :table-loading="businessLoading"
-          @search-change="businessHandleSearch"
-          @search-reset="businessHandleReset"
-          @row-click="businessRowClick"
+        <!-- 涓氬姟绫诲瀷瀵硅瘽妗�      -->
+        <el-dialog
+          v-dialogDrag
+          :visible.sync="businessVisible"
+          append-to-body="true"
+          class="avue-dialog"
+          title="涓氬姟绫诲瀷閫夋嫨"
+          width="70%"
         >
-        </avue-crud>
-        <span slot="footer" class="dialog-footer">
+          <avue-crud
+            ref="businessCrud"
+            :data="businessData"
+            :option="businessOption"
+            :table-loading="businessLoading"
+            @search-change="businessHandleSearch"
+            @search-reset="businessHandleReset"
+            @row-click="businessRowClick"
+          >
+          </avue-crud>
+          <span slot="footer" class="dialog-footer">
           <el-button @click="businessEmpty">娓� 绌�</el-button>
          <el-button @click="businessVisible = false">鍙� 娑�</el-button>
          <el-button type="primary" @click="businessSaveHandler">纭� 瀹�</el-button>
         </span>
-      </el-dialog>
+        </el-dialog>
 
-      <!-- 閾炬帴绫诲瀷瀵硅瘽妗�      -->
-      <el-dialog
-        v-dialogDrag
-        :visible.sync="linkTypeVisible"
-        append-to-body="true"
-        class="avue-dialog"
-        title="閾炬帴绫诲瀷閫夋嫨"
-        width="70%"
-      >
-        <avue-crud
-          ref="linkTypeCrud"
-          :data="linkTypeData"
-          :option="linkTypeOption"
-          :table-loading="linkTypeLoading"
-          @search-change="linkHandleSearch"
-          @search-reset="linkHandleReset"
-          @row-click="linkRowClick"
+        <!-- 閾炬帴绫诲瀷瀵硅瘽妗�      -->
+        <el-dialog
+          v-dialogDrag
+          :visible.sync="linkTypeVisible"
+          append-to-body="true"
+          class="avue-dialog"
+          title="閾炬帴绫诲瀷閫夋嫨"
+          width="70%"
         >
-        </avue-crud>
-        <span slot="footer" class="dialog-footer">
+          <avue-crud
+            ref="linkTypeCrud"
+            :data="linkTypeData"
+            :option="linkTypeOption"
+            :table-loading="linkTypeLoading"
+            @search-change="linkHandleSearch"
+            @search-reset="linkHandleReset"
+            @row-click="linkRowClick"
+          >
+          </avue-crud>
+          <span slot="footer" class="dialog-footer">
           <el-button @click="linkEmpty">娓� 绌�</el-button>
          <el-button @click="linkTypeVisible = false">鍙� 娑�</el-button>
          <el-button type="primary" @click="linkSaveHandler">纭� 瀹�</el-button>
         </span>
-      </el-dialog>
+        </el-dialog>
+      </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addEscHandler">鍙� 娑�</el-button>
         <el-button type="primary" @click="addSaveHandler">纭� 瀹�</el-button>
@@ -718,6 +721,7 @@
       });
     }
   },
+  watch: {},
   methods: {
     //琛ㄦ牸鏌ヨ璇锋眰
     getTableList() {
@@ -907,8 +911,13 @@
         this.form.attributeSelectType = 'link'
         this.form.referValue = row.linkTypeName;
       }
+      if (!row.btmTypeId && !row.linkTypeName) {
+        this.form.attributeSelectType = 'business'
+        this.form.referValue = row.btmTypeId;
+      }
+      // console.log(row);
 
-      this.getEnumMapByTypeHandler(this.form.attributeDataType)
+      this.getEnumMapByTypeHandler(this.form.attributeDataType);
       this.addVisible = true;
 
     },
@@ -1072,9 +1081,6 @@
 
     // 閫夋嫨鍙傜収
     referFormFocusHandler() {
-      this.form.enumSwitch = false;
-      this.form.rangeValue = "";
-      this.form.enumId = "";
       const handlers = {
         business: () => {
           this.businessVisible = true;
@@ -1169,6 +1175,7 @@
 
       this.form.referValue = this.businessRow.name;
       this.businessVisible = false;
+
     },
 
     // 涓氬姟绫诲瀷娓呯┖
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
index cfbe5d6..ba9c85f 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
@@ -35,7 +35,7 @@
       width="40%"
       @close="visibleCloseHandler"
     >
-      <el-form ref="form" :model="form" :rules="rules" label-width="95px">
+      <el-form ref="form" size="small" :model="form" :rules="rules" label-width="95px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="鍚嶇О锛�" prop="id">
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
index 3e8a6f5..96e3090 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
@@ -9,30 +9,30 @@
     width="60%"
     @close="closeDialog"
   >
-    <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
+    <el-form ref="form" size="small" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
       <el-row>
         <el-col :span="12">
           <el-form-item label="鍚嶇О" prop="viName">
-            <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" size="mini"></el-input>
+            <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" ></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="姣忛〉琛屾暟">
-            <el-input v-model="form.itemPageSize" placeholder="璇疯緭鍏ユ瘡椤佃鏁�" size="mini" type="number"></el-input>
+            <el-input v-model="form.itemPageSize" placeholder="璇疯緭鍏ユ瘡椤佃鏁�"  type="number"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="24">
           <el-form-item label="闄勫姞鏌ヨ鏉′欢">
-            <el-input v-model="form.itemAddFilter" placeholder="璇疯緭鍏ユ煡璇㈡潯浠�" size="mini"></el-input>
+            <el-input v-model="form.itemAddFilter" placeholder="璇疯緭鍏ユ煡璇㈡潯浠�"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="缁戝畾琛ㄥ崟" prop="itemInObj">
             <div style="display: flex;align-items: center;">
-              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini"
+              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟"
                          @change="formSelectChange">
                 <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName"
                            :value="item.id"></el-option>
@@ -45,7 +45,7 @@
         <el-col :span="12">
           <el-form-item label="鐖跺悕绉�">
             <div style="display: flex;align-items: center;">
-              <el-input v-model="form.itemParentFolderName" placeholder="璇疯緭鍏ョ埗鍚嶇О" size="mini"></el-input>
+              <el-input v-model="form.itemParentFolderName" placeholder="璇疯緭鍏ョ埗鍚嶇О" ></el-input>
               <el-checkbox v-model="form.itemIsNavigatorExpand" style="margin-left: 5px; margin-right: 5px">鏄剧ず鏌ヨ鍖哄煙
               </el-checkbox>
               <el-checkbox v-model="form.itemIsShowFolder" style="margin-left: 5px;margin-right: 0px">鏄剧ず鏂囦欢澶�
@@ -94,7 +94,7 @@
       </el-col>
 
       <el-col :span="8">
-        <el-form-item label="鏌ヨ瀛楁">
+        <el-form-item label="鏌ヨ瀛楁"  >
           <el-input v-model="form.searchLabel" placeholder="璇疯緭鍏ユ煡璇㈠瓧娈�" size="mini"></el-input>
         </el-form-item>
       </el-col>
@@ -158,7 +158,7 @@
 
       <el-col :span="24">
         <el-form-item label="鍙屽嚮鎿嶄綔">
-          <el-select v-model="form.itemDbl" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔" size="mini">
+          <el-select v-model="form.itemDbl" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔" >
             <el-option v-for="(item,index) in itemDblList" :key="index" :label="item.value"
                        :value="item.key"></el-option>
           </el-select>
@@ -170,11 +170,11 @@
           <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center;width: 100%;">
               <span>闀匡細</span>
-              <el-input v-model="itemImgHeight" placeholder="璇疯緭鍏ラ暱搴�" size="mini"></el-input>
+              <el-input v-model="itemImgHeight" placeholder="璇疯緭鍏ラ暱搴�" ></el-input>
             </div>
             <div style="display: flex;align-items: center;width: 100%;margin-left: 30px">
               <span>瀹斤細</span>
-              <el-input v-model="itemImgWidth" placeholder="璇疯緭鍏ュ搴�" size="mini"></el-input>
+              <el-input v-model="itemImgWidth" placeholder="璇疯緭鍏ュ搴�"></el-input>
             </div>
           </div>
         </el-form-item>
@@ -194,7 +194,7 @@
 
       <el-col :span="24">
         <el-form-item label="鏌ヨ妯℃澘">
-          <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini">
+          <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" >
             <el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName"
                        :value="item.qtName"></el-option>
           </el-select>

--
Gitblit v1.9.3