From a756aed2072b98ed02967ddf2b013fc77be65f94 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 31 十月 2024 09:42:19 +0800
Subject: [PATCH] 修改业务类型类型改变时和业务类型移除属性时校验逻辑
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue | 577 +++++++++++++++++++++++++++++++-------------------------
1 files changed, 319 insertions(+), 258 deletions(-)
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 c2cb92a..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
@@ -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>
@@ -202,111 +229,110 @@
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>
- <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鏋氫妇鍊硷細'" prop="enumSwitch">
+ <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"
@@ -320,128 +346,130 @@
<el-button size="mini" @click="enumAddHandler"> = </el-button>
</div>
</el-form-item>
- <el-form-item label="褰撳墠鏋氫妇鍊硷細" prop="rangeValue">
- <textarea v-model="form.rangeValue"
+ <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>
</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="褰撳墠鏋氫妇鍊硷細" 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">
<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>
- </div>
- <!-- VTDouble -->
- <div v-if="form.attributeDataType === 'VTDouble'" class="right">
- <h3>鍊煎煙</h3>
- <el-form-item label="娣诲姞鏋氫妇鍊硷細" 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="褰撳墠鏋氫妇鍊硷細" 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>
@@ -458,7 +486,7 @@
append-to-body="true"
class="avue-dialog"
title="鏌ョ湅浣跨敤鑼冨洿"
- width="70%"
+ width="60%"
>
<avue-crud
ref="checkViewCrud"
@@ -479,7 +507,7 @@
getUsedAttributeList,
getEnumMapByType,
deleteAttributes,
- download,
+ exportAttributes,
downloadAttributeTemplate,
getBizTypes,
getAllLtName,
@@ -576,6 +604,7 @@
addBtn: false,
editBtn: false,
delBtn: false,
+ menuWidth: 160,
column
},
tableLoading: false,
@@ -649,6 +678,7 @@
],
upFileType: ['xls', 'xlsx'],
fileUrl: 'api/attributeController/importAttributes',
+ lastIndex: null
}
},
computed: {
@@ -682,9 +712,16 @@
this.form.attributeDataType === 'VTFilePath';
},
rangeOptionValue() {
- return this.form.rangeValue.split('\n')
+ let values = this.form.rangeValue.split('\n');
+
+ // 澶勭悊姣忎釜鍊硷紝鍘婚櫎绛夊彿鍓嶇殑閮ㄥ垎锛屽彧淇濈暀绛夊彿鍚庣殑閮ㄥ垎
+ return values.map(value => {
+ let parts = value.split('=');
+ return parts.length > 1 ? parts[1].trim() : value.trim();
+ });
}
},
+ watch: {},
methods: {
//琛ㄦ牸鏌ヨ璇锋眰
getTableList() {
@@ -726,7 +763,17 @@
// 鐐瑰嚮琛�
rowClickHandler(row) {
- this.$refs.userCrud.toggleRowSelection(row);
+ func.rowClickHandler(
+ row,
+ this.$refs.userCrud,
+ this.lastIndex,
+ (newIndex) => {
+ this.lastIndex = newIndex;
+ },
+ () => {
+ this.selectList = [];
+ }
+ );
},
// 鏉℃暟
@@ -864,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;
},
@@ -907,16 +959,16 @@
enumSelectChange(val) {
const list = this.attributeDataTypePickList.find(item => item.key === val).values;
this.form.rangeValue = list.join('\n');
- this.form.defaultValue = list[0];
+ this.form.defaultValue = this.rangeOptionValue[0];
},
// 浣跨敤鏋氫妇switch婊戝潡change浜嬩欢
switchEnumChange(status) {
if (status) {
this.form.enumId = this.attributeDataTypePickList[0].key;
- this.form.defaultValue = this.attributeDataTypePickList[0].values[0];
const list = this.attributeDataTypePickList[0].values;
this.form.rangeValue = list.join('\n');
+ this.form.defaultValue = this.rangeOptionValue[0];
} else {
this.form.defaultValue = "";
this.form.rangeValue = "";
@@ -950,8 +1002,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 === '')) {
@@ -974,7 +1031,7 @@
}
// 鏋勫缓 newValue 鐨勫舰寮� (鍊�1,鍊�2)
- let newValue = `(${values.join(',')})`;
+ let newValue = `${firstValue}${values.join(',')}${lastValue}`;
// 妫�鏌ユ柊鐨勫�兼槸鍚﹀凡瀛樺湪
if (currentRangeArray.includes(newValue)) {
@@ -1024,9 +1081,6 @@
// 閫夋嫨鍙傜収
referFormFocusHandler() {
- this.form.enumSwitch = false;
- this.form.rangeValue = "";
- this.form.enumId = "";
const handlers = {
business: () => {
this.businessVisible = true;
@@ -1121,6 +1175,7 @@
this.form.referValue = this.businessRow.name;
this.businessVisible = false;
+
},
// 涓氬姟绫诲瀷娓呯┖
@@ -1200,38 +1255,44 @@
linkTypeName: "",
rangeValue: ""
};
- if (this.dialogTitle === 'add') {
- this.form.range = this.form.rangeValue.replace(/\n/g, ';');
- if (this.form.attributeSelectType === 'business') {
- this.form.btmTypeId = this.form.referValue;
- } else {
- this.form.linkTypeName = this.form.referValue;
- }
- addAttribute(this.form).then(res => {
- if (res.data.code === 200) {
- this.$message.success(res.data.msg);
- this.getTableList();
- this.form = form;
- this.addVisible = false;
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ if (this.dialogTitle === 'add') {
+ this.form.range = this.form.rangeValue ? this.form.rangeValue.replace(/\n/g, ';') : '';
+ if (this.form.attributeSelectType === 'business') {
+ this.form.btmTypeId = this.form.referValue;
+ } else {
+ this.form.linkTypeName = this.form.referValue;
+ }
+ addAttribute(this.form).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ this.form = form;
+ this.addVisible = false;
+ }
+ })
}
- })
- }
- if (this.dialogTitle === 'edit') {
- this.form.range = this.form.rangeValue.replace(/\n/g, ';');
- if (this.form.attributeSelectType === 'business') {
- this.form.btmTypeId = this.form.referValue;
- } else {
- this.form.linkTypeName = this.form.referValue;
- }
- updateAttribute(this.form).then(res => {
- if (res.data.code === 200) {
- this.$message.success(res.data.obj);
- this.getTableList();
- this.form = form;
- this.addVisible = false;
+ if (this.dialogTitle === 'edit') {
+ this.form.range = this.form.rangeValue ? this.form.rangeValue.replace(/\n/g, ';') : '';
+ if (this.form.attributeSelectType === 'business') {
+ this.form.btmTypeId = this.form.referValue;
+ } else {
+ this.form.linkTypeName = this.form.referValue;
+ }
+ updateAttribute(this.form).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ this.form = form;
+ this.addVisible = false;
+ }
+ })
}
- })
- }
+ } else {
+ return false;
+ }
+ });
},
// 瀵煎叆
@@ -1247,7 +1308,7 @@
}
let attrNames = this.selectList.map(item => item.id).join(',');
- download({attrNames: attrNames}).then(res => {
+ exportAttributes({attrNames: attrNames}).then(res => {
func.downloadFileByBlobHandler(res);
this.$message.success('瀵煎嚭鎴愬姛');
}).catch(err => {
--
Gitblit v1.9.3