Files
xq-ui/src/views/xq/user/bind-invite-dialog.vue
张良(004796) 8f40a0c7dd init
2024-03-13 16:59:17 +08:00

102 lines
2.8 KiB
Vue

<template>
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="用户编号" prop="usercode">
<el-autocomplete
class="inline-input"
v-model="form.usercode"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>
</el-form-item>
<el-form-item label="昵称" v-if="info.nickname">
{{ info.nickname }} {{ info.usercode }}
</el-form-item>
<el-form-item label="性别" v-if="info.gender">
<cai-dict-tag :options="genderList" :value="info.gender" />
</el-form-item>
<el-form-item label="头像" v-if="info.avatar">
<image-avatar :src="info.avatar"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="open = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import ImageUpload from '@/components/ImageUpload/index'
import { getUserByUsercode, listUserByUserCode, userBindInvite } from '@/api/xq/user'
import { genderList } from '@/constant/statusMap'
export default {
components: {
ImageUpload,
},
data () {
return {
genderList,
open: false,
title: '',
form:{
id: undefined,
usercode: undefined,
},
info:{},
// 表单校验
rules: {
usercode: [
{ required: true, message: "数据不能为空", trigger: "blur" }
]
},
buttonLoading: false,
}
},
created() {
},
methods: {
init (id) {
this.open = true;
this.title = "设置用户邀请人"
this.info = {};
this.form.id = id
this.form.usercode = undefined
},
querySearch(querySearch,cb){
listUserByUserCode(querySearch).then(res => {
cb(res.data.map((terminal) => {
return {
value: terminal,
name: terminal,
};
}))
})
},
handleSelect(item){
getUserByUsercode(item.value).then(res => {
this.info = res.data
})
},
// 表单提交
submitForm () {
this.$refs['form'].validate((valid) => {
if (valid) {
this.buttonLoading = true;
userBindInvite(this.form.id,this.form.usercode).then(data => {
this.$modal.msgSuccess("绑定成功");
this.buttonLoading = false;
this.open = false
this.$emit('refreshDataList')
}).finally(() => {
this.buttonLoading = false;
});
}
})
},
}
}
</script>