|
@@ -35,9 +35,9 @@ const getSelectedLabel = computed(() => {
|
|
|
return item ? item.label : props.placeholder
|
|
|
}
|
|
|
|
|
|
- if(props.multiple) {
|
|
|
- if(Array.isArray(selectedValue.value)) {
|
|
|
- if(selectedValue.value.length <= 0) {
|
|
|
+ if (props.multiple) {
|
|
|
+ if (Array.isArray(selectedValue.value)) {
|
|
|
+ if (selectedValue.value.length <= 0) {
|
|
|
return props.placeholder
|
|
|
}
|
|
|
const item = getPersonnelListItems(selectedValue.value);
|
|
@@ -51,7 +51,7 @@ const getSelectedLabel = computed(() => {
|
|
|
})
|
|
|
|
|
|
function tagClose(_evt: MouseEvent) {
|
|
|
- if(Array.isArray(selectedValue.value)) {
|
|
|
+ if (Array.isArray(selectedValue.value)) {
|
|
|
selectedValue.value.shift()
|
|
|
updateValue(selectedValue.value)
|
|
|
}
|
|
@@ -84,7 +84,7 @@ function filterMethods(val: string) {
|
|
|
if (val == '') {
|
|
|
personnelArray.value = personnelList.value
|
|
|
selectLoading.value = false
|
|
|
- return
|
|
|
+ return personnelArray.value
|
|
|
}
|
|
|
getUserList(val)
|
|
|
}
|
|
@@ -101,17 +101,51 @@ onMounted(() => {
|
|
|
personnelArray.value = personnelList.value
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
-console.log(props, userInfo.value, '<==== 看看数据')
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <el-select v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
|
|
|
+ <!-- <el-select v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
|
|
|
:loading="selectLoading" :placeholder="placeholder" :disabled="disabled" clearable filterable collapse-tags
|
|
|
:style="`width: ${width}`"
|
|
|
:class="`custom-select ${userInfo.userNameNeedTranslate != 1 && !controlTranslation.visibleFlag ? 'setUpInput' : ''}`"
|
|
|
@change="updateValue" @visible-change="visibleChange"
|
|
|
:filter-method="(val: string) => { selectLoading = true, filterMethod(val) }">
|
|
|
+ 搜索内容显示
|
|
|
+ <template #prefix v-if="!multiple">
|
|
|
+ <div style="height: 100%;display: flex;align-items: center;">
|
|
|
+ 单选
|
|
|
+ <div v-if="!controlTranslation.visibleFlag" class="selectSingleChoice">
|
|
|
+ <template v-if="getSelectedLabel == placeholder">
|
|
|
+ {{ placeholder }}
|
|
|
+ </template>
|
|
|
+<template v-else>
|
|
|
+ <span style="color: #303133;">
|
|
|
+ <TextTranslation translationTypes="userName" :translationValue="getSelectedLabel"></TextTranslation>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+</div>
|
|
|
+</div>
|
|
|
+</template>
|
|
|
+<template #tag v-if="multiple">
|
|
|
+ 多选
|
|
|
+ <template v-if="Array.isArray(selectedValue) && selectedValue.length > 0">
|
|
|
+ <el-tag type="info" :size="size" closable @close="tagClose">
|
|
|
+ <TextTranslation translationTypes="userName" :translationValue="getSelectedLabel"></TextTranslation>
|
|
|
+ </el-tag>
|
|
|
+ <el-tag type="info" :size="size" v-if="selectedValue.length > 1">+{{ selectedValue.length }}</el-tag>
|
|
|
+ </template>
|
|
|
+<template v-else>
|
|
|
+ <span style="color: #A8ABB2">{{ placeholder }}</span>
|
|
|
+ </template>
|
|
|
+</template>
|
|
|
+主题内容显示
|
|
|
+<el-option v-for="item in personnelArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+</el-select> -->
|
|
|
+ <el-select-v2 v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
|
|
|
+ :loading="selectLoading" :placeholder="placeholder" :disabled="disabled" clearable filterable collapse-tags
|
|
|
+ :style="`width: ${width}`" :options="personnelArray"
|
|
|
+ :class="`custom-select ${!controlTranslation.visibleFlag ? 'setUpInput' : ''}`" @change="updateValue"
|
|
|
+ @visible-change="visibleChange" :filter-method="filterMethod">
|
|
|
<!-- 搜索内容显示 -->
|
|
|
<template #prefix v-if="!multiple">
|
|
|
<div style="height: 100%;display: flex;align-items: center;">
|
|
@@ -137,12 +171,16 @@ console.log(props, userInfo.value, '<==== 看看数据')
|
|
|
<el-tag type="info" :size="size" v-if="selectedValue.length > 1">+{{ selectedValue.length }}</el-tag>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <span style="color: #A8ABB2">{{ placeholder }}</span>
|
|
|
+ <span style="color: #A8ABB2">{{ placeholder }}</span>
|
|
|
</template>
|
|
|
</template>
|
|
|
- <!-- 主题内容显示 -->
|
|
|
- <el-option v-for="item in personnelArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
+ <!-- 基础 -->
|
|
|
+ <template #default="{ item }">
|
|
|
+ <div class="flex items-center">
|
|
|
+ <TextTranslation translationTypes="userName" :translationValue="item.label"></TextTranslation>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-select-v2>
|
|
|
<span class="aabbcc">aabbcc</span>
|
|
|
</template>
|
|
|
|
|
@@ -151,6 +189,7 @@ console.log(props, userInfo.value, '<==== 看看数据')
|
|
|
:deep(.el-select__placeholder.is-transparent) {
|
|
|
color: transparent !important;
|
|
|
}
|
|
|
+
|
|
|
:deep(.el-select__placeholder) {
|
|
|
span {
|
|
|
display: none;
|
|
@@ -161,6 +200,7 @@ console.log(props, userInfo.value, '<==== 看看数据')
|
|
|
.setUpInput :deep(.el-input__inner) {
|
|
|
color: #fff !important;
|
|
|
}
|
|
|
+
|
|
|
.aabbcc {
|
|
|
color: $modena;
|
|
|
}
|