Merge pull request 'fix : 修复抄送人回显及取消箭头' (#631) from dd into master

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/631
This commit is contained in:
2024-07-25 14:10:27 +00:00
6 changed files with 35 additions and 23 deletions

View File

@@ -58,7 +58,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="title==='apply'||title==='check'"> <el-col :span="24" v-if="title==='apply'||title==='check'">
<el-form-item label="分管领导" :required="true" prop="" <el-form-item label="分管领导"
label-width="125"> label-width="125">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker"> <el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : getOptionalChargeLeadershipList(optionalChargeLeadershipList) ? '更改' : '请选择' }} {{ optionalChargeLeadershipList.length !== 0 ? '更改' : getOptionalChargeLeadershipList(optionalChargeLeadershipList) ? '更改' : '请选择' }}

View File

@@ -246,7 +246,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="分管领导" :required="true" prop="" <el-form-item label="分管领导"
label-width="125"> label-width="125">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker"> <el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : '请选择' }} {{ optionalChargeLeadershipList.length !== 0 ? '更改' : '请选择' }}

View File

@@ -19,7 +19,7 @@
</el-icon> </el-icon>
</div> </div>
</div> </div>
<div class="arrow" v-if="(index+1)%3!==0&&userInfo.length!==1&&(index+1)!==userInfo.length"> <div class="arrow" v-if="(index+1)%3!==0&&userInfo.length!==1&&(index+1)!==userInfo.length&&showArrow">
<el-icon size="20"> <el-icon size="20">
<Right/> <Right/>
</el-icon> </el-icon>
@@ -49,6 +49,11 @@ const props = defineProps({
mode: { mode: {
type: String, type: String,
default: 'design' default: 'design'
},
//是否显示箭头
showArrow: {
type: Boolean,
default: true
} }
}) })

View File

@@ -1,18 +1,20 @@
<template> <template>
<el-button size="mini" icon="Plus" type="primary" @click="selectUser" round>选择抄送人</el-button> <el-button size="mini" icon="Plus" type="primary" @click="selectUser" round style="margin-bottom: 10px">选择抄送人
<!-- <div class="option">--> </el-button>
<!-- <el-checkbox label="允许发起人添加抄送人" v-model="shouldAdd"></el-checkbox>--> <!-- <div class="option">-->
<!-- </div>--> <!-- <el-checkbox label="允许发起人添加抄送人" v-model="shouldAdd"></el-checkbox>-->
<!-- </div>-->
<!-- <org-items v-model="select"/>--> <!-- <org-items v-model="select"/>-->
<avatar-ellipsis :row="3" :user-info="assignedUser"/> <avatar-ellipsis :row="3" :user-info="assignedUser" :showArrow="false" />
<user-picker title="请选择抄送人" multiple ref="userPicker" :v-model="assignedUser" @ok="selectedUser"/> <user-picker title="请选择抄送人" multiple ref="userPicker" v-model:value="assignedUser" @ok="selectedUser"/>
</template> </template>
<script setup> <script setup>
import {computed, defineProps} from 'vue' import {computed, defineProps} from 'vue'
import UserPicker from "../common/UserPicker.vue"; import UserPicker from "../common/UserPicker.vue";
import AvatarEllipsis from "../common/AvatarEllipsis.vue"; import AvatarEllipsis from "../common/AvatarEllipsis.vue";
const userPicker=ref()
const userPicker = ref()
const props = defineProps({ const props = defineProps({
config: { config: {
type: Object, type: Object,
@@ -41,16 +43,16 @@ const selectUser = () => {
userPicker.value.showUserPicker() userPicker.value.showUserPicker()
} }
const selectedUser = (select) => { const selectedUser = (select) => {
let userInfoList = [] // let userInfoList = []
for (let val of select) { // for (let val of select) {
let userInfo = { // let userInfo = {
id: val.id, // id: val.id,
name: val.name, // name: val.name,
avatar: val.avatar, // avatar: val.avatar,
} // }
userInfoList.push(userInfo) // userInfoList.push(userInfo)
} // }
assignedUser.value = userInfoList assignedUser.value = select
} }
</script> </script>

View File

@@ -1,6 +1,6 @@
<template> <template>
<node :title="config.name" :show-error="showError" :select-user="selectUser" :mode="mode" :content="content" :node-id="config.id" <node :title="config.name" :show-error="showError" :select-user="selectUser" :mode="mode" :content="content" :node-id="config.id"
:error-info="errorInfo" :show-avatar="true" :user-info="config.props.assignedUser" :error-info="errorInfo" :show-avatar="true" :user-info="config.props.assignedUser" nodeType="carbonCopyRecipient"
@selected="emit('selected')" @delNode="emit('delNode')" @insertNode="type => emit('insertNode', type)" @selected="emit('selected')" @delNode="emit('delNode')" @insertNode="type => emit('insertNode', type)"
placeholder="请设置抄送人" :header-bgc="headerBgc" :header-icon="Promotion"/> placeholder="请设置抄送人" :header-bgc="headerBgc" :header-icon="Promotion"/>
</template> </template>

View File

@@ -18,12 +18,12 @@
<template v-if="selectUser.show && mode === 'view'"> <template v-if="selectUser.show && mode === 'view'">
<div class="avatar_button"> <div class="avatar_button">
<avatar-ellipsis :row="3" v-if="userInfo.length > 0" :mode="mode" :user-info="userInfo"/> <avatar-ellipsis :row="3" v-if="userInfo.length > 0" :mode="mode" :user-info="userInfo"/>
<el-button type="primary" :icon="Plus" circle/> <!-- <el-button type="primary" :icon="Plus" circle/>-->
</div> </div>
</template> </template>
<template v-else-if="showAvatar"> <template v-else-if="showAvatar">
<span class="placeholder" v-if="userInfo.length === 0">{{ placeholder }}</span> <span class="placeholder" v-if="userInfo.length === 0">{{ placeholder }}</span>
<avatar-ellipsis :row="3" v-if="userInfo.length > 0" :user-info="userInfo" :mode="mode"/> <avatar-ellipsis :row="3" v-if="userInfo.length > 0" :user-info="userInfo" :mode="mode" :show-arrow="nodeType!=='carbonCopyRecipient'"/>
</template> </template>
<template v-else> <template v-else>
<span class="placeholder" v-if="(content || '').trim() === ''">{{ placeholder }}</span> <span class="placeholder" v-if="(content || '').trim() === ''">{{ placeholder }}</span>
@@ -146,6 +146,11 @@ const props = defineProps({
mode: { mode: {
type: String, type: String,
default: 'design' default: 'design'
},
//节点类型,例如抄送人(区别该节点,去掉抄送人之间的箭头)
nodeType: {
type: String,
default: ''
} }
}) })