BUG 29777

This commit is contained in:
aixianling
2022-05-30 15:07:25 +08:00
parent 69509c43f1
commit c17018ae9d

View File

@@ -50,70 +50,24 @@
</ai-table> </ai-table>
<ai-dialog <ai-dialog
:visible.sync="isShow" :visible.sync="isShow"
width="890px" width="1100px"
@close="closeDialog" @close="closeDialog"
title="添加户主" title="添加户主"
@onConfirm="onConfirm"> @onConfirm="onConfirm">
<ai-area-select clearable always-show :instance="instance" v-model="areaId" @change="search.current = 1, getUserList()"></ai-area-select> <el-form ref="DialogForm" size="small" label-width="0">
<span style="margin-top:16px;"><span style="color:#f46;margin-right:4px;">*</span>网格</span> <el-form-item>
<el-select size="small" style="width: 280px;margin-top:16px;" v-model="girdId" placeholder="请选择网格" clearable> <ai-area-select clearable always-show :instance="instance" v-model="areaId" :disabled-level="disabledLevel"/>
<el-option </el-form-item>
v-for="(item,i) in girdList" <el-form-item label="网格:" required label-width="80px">
:key="i" <el-select size="small" v-model="girdId" placeholder="请选择网格" clearable>
:label="item.girdName" <el-option v-for="(item,i) in girdList" :key="i" :label="item.girdName" :value="item.id"/>
:value="item.id"
>
</el-option>
</el-select> </el-select>
<div class="AiWechatSelecter-container"> </el-form-item>
<div class="AiWechatSelecter-container__left" v-loading="isLoading"> <el-form-item>
<div class="AiWechatSelecter-header"> <ai-table-select :instance="instance" :action="`/app/appresident/list?householdName=1&areaId=${areaId}`"
<div class="AiWechatSelecter-header__left"> @select="v=>chooseUser=v" multiple/>
<h2>户主信息列表</h2> </el-form-item>
</div> </el-form>
<el-input
class="search-input"
size="mini"
placeholder="请输入姓名/身份证号"
v-model="name"
clearable
@keyup.enter.native="getUserList()"
@clear="name = '', getUserList()"
suffix-icon="iconfont iconSearch">
</el-input>
</div>
<el-scrollbar class="AiWechatSelecter-list">
<el-checkbox-group v-model="chooseUser">
<el-checkbox
:label="`${item.name}~${item.id}`"
v-for="(item, index) in userList"
:key="index">
{{ item.name }}-{{ item.idNumber }}
</el-checkbox>
</el-checkbox-group>
<AiEmpty v-if="!this.userList.length"></AiEmpty>
</el-scrollbar>
</div>
<div class="AiWechatSelecter-container__right">
<div class="AiWechatSelecter-header AiWechatSelecter-header__right">
<h2>已选择</h2>
<el-button size="mini" icon="el-icon-delete" @click="clearAll">清空</el-button>
</div>
<el-scrollbar class="AiWechatSelecter-list">
<div class="tags-wrapper">
<el-tag
v-for="(item, index) in chooseUser"
:key="index"
closable
@close="del(item)"
size="small"
type="info">
{{ item.split('~')[0] }}
</el-tag>
</div>
</el-scrollbar>
</div>
</div>
</ai-dialog> </ai-dialog>
</template> </template>
</ai-list> </ai-list>
@@ -121,6 +75,7 @@
<script> <script>
import {mapState} from 'vuex' import {mapState} from 'vuex'
export default { export default {
name: 'Family', name: 'Family',
@@ -139,9 +94,7 @@
girdId: '' girdId: ''
}, },
isLoading: false, isLoading: false,
form: { form: {},
},
userList: [], userList: [],
name: '', name: '',
chooseUser: [], chooseUser: [],
@@ -230,8 +183,8 @@
const residentList = this.chooseUser.map(v => { const residentList = this.chooseUser.map(v => {
return { return {
girdMemberId: this.params.id, girdMemberId: this.params.id,
name: v.split('~')[0], name: v.name,
residentId: v.split('~')[1], residentId: v.id,
girdId: this.girdId girdId: this.girdId
} }
}) })
@@ -300,198 +253,5 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.Family { .Family {
.AiWechatSelecter-container {
display: flex;
height: 380px;
margin-top: 20px;
::v-deep {
.el-icon-circle-close {
display: inline-block!important;
}
}
.tree-container {
& > span {
display: block;
margin-bottom: 4px;
}
.tree-user__item {
display: flex;
align-items: center;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
img {
width: 27px;
height: 27px;
margin-right: 10px;
}
}
::v-deep .el-tree {
background: transparent;
.el-tree-node {
margin-bottom: 8px;
&:last-child {
margin-bottom: 0;
}
}
.el-tree-node__content {
height: auto;
margin-top: 2px;
// align-items: inherit;
}
.el-tree-node__expand-icon {
height: 24px;
}
}
.mask-btn__wrapper {
position: relative;
}
.mask-btn {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
}
.userlist-item {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 8px;
padding: 0 17px;
cursor: pointer;
user-select: none;
::v-deep .el-checkbox__label {
display: none;
}
.userlist-item__left {
display: flex;
align-items: center;
span {
color: #222222;
font-size: 14px;
}
img {
width: 40px;
height: 40px;
margin-right: 8px;
}
}
}
& > div {
width: 280px;
background: #FCFCFC;
border: 1px solid #D0D4DC;
}
.AiWechatSelecter-list {
height: calc(100% - 40px);
padding: 8px 0;
::v-deep .el-scrollbar__wrap {
margin-bottom: 0!important;
overflow-x: hidden;
}
::v-deep .el-checkbox-group {
padding: 0 8px;
.el-checkbox {
display: block;
margin-right: 0;
}
}
}
.AiWechatSelecter-container__left {
flex: 1;
}
.AiWechatSelecter-container__right {
flex: 1;
margin-left: 20px;
.AiWechatSelecter-list {
.tags-wrapper {
padding: 0 8px;
}
.el-tag {
margin: 0 8px 8px 0px;
color: #222222;
font-size: 14px;
}
}
}
.AiWechatSelecter-header {
display: flex;
align-items: center;
justify-content: space-between;
height: 40px;
padding: 0 8px 0 0;
border-bottom: 1px solid #D0D4DC;
background: #F5F7FA;
.AiWechatSelecter-header__left {
display: flex;
align-items: center;
padding: 0 8px;
h2 {
height: 100%;
line-height: 40px;
color: #222222;
font-size: 14px;
text-align: center;
cursor: pointer;
border-bottom: 2px solid transparent;
&.active {
color: #2266FF;
border-color: #2266FF;
}
}
}
.el-button {
height: 28px;
padding: 7px 5px;
}
.el-input {
width: 160px;
}
}
.AiWechatSelecter-header__right {
padding: 0 8px;
h2 {
color: #222222;
font-size: 14px;
text-align: center;
}
}
}
} }
</style> </style>