Merge remote-tracking branch 'origin/0.8.X' into 0.8.X

This commit is contained in:
朱昊天
2026-07-07 17:05:25 +08:00
126 changed files with 8272 additions and 1387 deletions

View File

@@ -84,7 +84,10 @@
</el-form-item>
<el-form-item label="业务员" prop="saleName" v-if="orderBy">
<el-input v-model="queryParams.saleName" placeholder="请输入业务员" clearable size="small" />
<el-select v-model="queryParams.saleName" placeholder="请选择业务员" clearable size="small" filterable allow-create>
<el-option v-for="item in dict.type.wip_pack_saleman" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="合同号" prop="contractNo" v-if="orderBy">
@@ -303,7 +306,7 @@ export default {
DragResizePanel,
OrderDetail
},
dicts: ['coil_itemname', 'coil_material', 'coil_manufacturer', 'coil_quality_status'],
dicts: ['coil_itemname', 'coil_material', 'coil_manufacturer', 'coil_quality_status', 'wip_pack_saleman'],
props: {
// 非触发器模式下,外部控制显隐(触发器模式下无效)
visible: {

View File

@@ -1,26 +1,28 @@
<template>
<el-select
v-model="selectedValue"
:multiple="multiple"
filterable
remote
:remote-method="handleSearch"
:loading="loading"
:placeholder="placeholder"
style="width: 100%"
@change="handleChange"
:clearable="clearable"
>
<el-option
v-for="user in filteredUsers"
:key="user.userId"
:label="`${user.nickName}${user.dept && user.dept.deptName ? user.dept.deptName : '无部门'}`"
:value="user.userId"
<div class="user-select-wrapper" :class="{ 'has-value': selectedValue && (Array.isArray(selectedValue) ? selectedValue.length > 0 : true) }">
<el-select
v-model="selectedValue"
:multiple="multiple"
filterable
remote
:remote-method="handleSearch"
:loading="loading"
:placeholder="placeholder"
style="width: 100%"
@change="handleChange"
:clearable="clearable"
>
<span>{{ user.nickName }}</span>
<span style="color: #999; font-size: 12px; margin-left: 8px;">{{ user.dept && user.dept.deptName ? user.dept.deptName : '无部门' }}</span>
</el-option>
</el-select>
<el-option
v-for="user in filteredUsers"
:key="user.userId"
:label="`${user.nickName}${user.dept && user.dept.deptName ? user.dept.deptName : '无部门'}`"
:value="user.userId"
>
<span>{{ user.nickName }}</span>
<span style="color: #999; font-size: 12px; margin-left: 8px;">{{ user.dept && user.dept.deptName ? user.dept.deptName : '无部门' }}</span>
</el-option>
</el-select>
</div>
</template>
<script>
@@ -109,4 +111,62 @@ export default {
</script>
<style scoped>
.user-select-wrapper {
position: relative;
border: 1px solid #dcdfe6;
border-radius: 4px;
padding: 2px 8px;
transition: border-color 0.2s, box-shadow 0.2s;
min-height: 32px;
}
.user-select-wrapper:hover {
border-color: #c0c4cc;
}
.user-select-wrapper.has-value {
border-color: #5F7BA0;
box-shadow: 0 0 0 1px rgba(95, 123, 160, 0.1);
}
.user-select-wrapper /deep/ .el-select {
width: 100%;
}
.user-select-wrapper /deep/ .el-select__tags {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
position: relative !important;
top: auto !important;
left: auto !important;
transform: none !important;
overflow: visible;
padding: 2px 0;
}
.user-select-wrapper /deep/ .el-select__tags .el-tag {
margin: 2px 0;
}
.user-select-wrapper /deep/ .el-input {
width: auto;
min-width: 60px;
}
.user-select-wrapper /deep/ .el-select .el-select__input {
margin-left: 0;
}
.user-select-wrapper /deep/ .el-select__tags-text {
display: inline;
}
/* Hide the original el-select border since wrapper provides it */
.user-select-wrapper /deep/ .el-select .el-input__inner {
border: none !important;
box-shadow: none !important;
padding-left: 0;
}
</style>