You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.8 KiB
177 lines
5.8 KiB
<template>
|
|
<el-card shadow="never" class="aui-card--fill">
|
|
<div class="mod-__masteruserrelation}">
|
|
<el-form :inline="true" :rules="dataRule" ref="dataForm" :model="dataForm" @keyup.enter.native="dataFormSubmitHandle()">
|
|
<el-form-item>
|
|
<el-button type="primary" @click="backToUserRelationList">{{"返回"}}</el-button>
|
|
<el-button type="primary" :disabled="isAble" @click="dataFormSubmitHandle()">{{"确定"}}</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div v-for="(item, index) in this.formData" :key="index">
|
|
<el-form :inline="true" :rules="dataRule" ref="item" :model="item" @keyup.enter.native="dataFormSubmitHandle()">
|
|
<el-row>
|
|
<div style="text-align: left;">{{"书记"+(index+1)+":"}}</div>
|
|
<el-row>
|
|
<el-form-item label="选择书记:" prop="deptName">
|
|
<el-input v-model="item.deptName"
|
|
:disabled="true"
|
|
type="text"
|
|
clearable
|
|
style="width: 30rem;">
|
|
</el-input> 
|
|
<el-input v-model="item.realName"
|
|
:disabled="true"
|
|
type="text"
|
|
clearable
|
|
style="width: 10rem;">
|
|
</el-input>  
|
|
<el-button @click="selectUserMethod(index)">{{"选择书记"}}</el-button>  
|
|
</el-form-item>
|
|
<el-form-item label="群内昵称:" prop="nickName">
|
|
<el-input v-model="item.nickName"
|
|
type="text"
|
|
style="width: 30rem;">
|
|
</el-input> 
|
|
<el-button @click="deleteUserMethod(index)">{{"删除"}}</el-button>  
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<!-- 弹窗, 新增 / 修改 -->
|
|
<master-user v-if="masterUserVisible" ref="masterUser" @refreshDataList="getDataList" v-on:connectResponse="connectResponse"></master-user>
|
|
</div>
|
|
</el-card>
|
|
</template>
|
|
|
|
<script>
|
|
import mixinViewModule from '@/mixins/view-module'
|
|
import MasterUser from './master-user'
|
|
export default {
|
|
mixins: [mixinViewModule],
|
|
data () {
|
|
return {
|
|
mixinViewModuleOptions: {
|
|
getDataListURL: '/cloudAnalysis/masteruserrelation/page',
|
|
getDataListIsPage: true,
|
|
deleteURL: '/cloudAnalysis/masteruserrelation',
|
|
deleteIsBatch: true
|
|
},
|
|
dataForm: {
|
|
id: ''
|
|
},
|
|
masterUserVisible: false,
|
|
isAble: false,
|
|
formData: [{ deptName: '', username: '', nickName: '' }],
|
|
updateIndex: 0,
|
|
dataCheckAble: true
|
|
}
|
|
},
|
|
computed: {
|
|
dataRule () {
|
|
return {
|
|
nickName: [
|
|
{ required: this.dataCheckAble, message: this.$t('validate.required'), trigger: 'blur' }
|
|
],
|
|
realName: [
|
|
{ required: this.dataCheckAble, message: this.$t('validate.required'), trigger: 'blur' }
|
|
]
|
|
}
|
|
}
|
|
},
|
|
components: {
|
|
MasterUser
|
|
},
|
|
methods: {
|
|
// 返回按钮点击事件
|
|
backToUserRelationList () {
|
|
this.$emit('refreshDataList')
|
|
this.$parent.selectComponent = 'Masteruserrelation'
|
|
this.$router.push({ path: '/master-masteruserrelationroute' })
|
|
},
|
|
// 选择书记按钮点击事件
|
|
selectUserMethod (index) {
|
|
this.updateIndex = index
|
|
this.masterUserVisible = true
|
|
this.$nextTick(() => {
|
|
this.$refs.masterUser.init()
|
|
})
|
|
// 关闭数据校验
|
|
this.dataCheckAble = false
|
|
},
|
|
// 删除单个人员
|
|
deleteUserMethod (index) {
|
|
if (this.formData.length === 1) {
|
|
this.formData = [{ deptName: '', username: '', nickName: '' }]
|
|
return false
|
|
}
|
|
this.formData.splice(index, 1)
|
|
},
|
|
// dialog回调函数
|
|
connectResponse (connectResponse) {
|
|
for (var i = 0; i < connectResponse.length; i++) {
|
|
let item = connectResponse[i]
|
|
let nickname = item.username
|
|
this.$set(item, 'nickName', nickname)
|
|
}
|
|
// 打开数据校验
|
|
this.dataCheckAble = true
|
|
if (connectResponse.length === 1) {
|
|
this.formData.splice(this.updateIndex, 1, connectResponse[0])
|
|
} else {
|
|
this.formData = connectResponse
|
|
}
|
|
},
|
|
// 表单提交
|
|
dataFormSubmitHandle () {
|
|
if (this.formData.length < 1 || this.formData[0].username === '') {
|
|
this.$message({
|
|
message: '请选择书记!',
|
|
type: 'warning'
|
|
})
|
|
return false
|
|
}
|
|
// 昵称非空校验
|
|
for (var i = 0; i < this.formData.length; i++) {
|
|
if (this.formData[i].nickName === '' || this.formData[i].nickName === null) {
|
|
this.$message({
|
|
message: '存在空昵称,请完善昵称!',
|
|
type: 'warning'
|
|
})
|
|
return false
|
|
}
|
|
}
|
|
this.isAble = true
|
|
let postData = {
|
|
aformDataParams: this.formData
|
|
}
|
|
this.$http['post'](
|
|
'/cloudAnalysis/masteruserrelation/addMasterUserRelation',
|
|
postData
|
|
).then(({ data: res }) => {
|
|
if (res.code !== 0) {
|
|
this.isAble = false
|
|
return this.$message.error(res.msg)
|
|
}
|
|
this.$message({
|
|
message: this.$t('prompt.success'),
|
|
type: 'success',
|
|
duration: 500,
|
|
onClose: () => {
|
|
this.isAble = false
|
|
this.$emit('refreshDataList')
|
|
if (res.data !== '') {
|
|
this.$message({
|
|
message: res.data + '已存在!',
|
|
type: 'warning'
|
|
})
|
|
}
|
|
// 返回主列表
|
|
this.backToUserRelationList()
|
|
}
|
|
})
|
|
}).catch(() => {})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|