|
|
@ -42,29 +42,29 @@ |
|
|
|
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }} |
|
|
|
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }} |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="username" |
|
|
|
<el-table-column prop="joinTime" |
|
|
|
label="加入时间"> |
|
|
|
label="加入时间"> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="username" |
|
|
|
<el-table-column prop="authentication" |
|
|
|
label="实名认证"> |
|
|
|
label="实名认证"> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="lastLoginTime" |
|
|
|
<el-table-column prop="lastLoginTime" |
|
|
|
label="最近登录"> |
|
|
|
label="最近登录"> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<!-- <el-table-column label="操作" |
|
|
|
<el-table-column label="操作" |
|
|
|
align="center" |
|
|
|
align="center" |
|
|
|
width="320"> |
|
|
|
width="320"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="text" |
|
|
|
<!-- <el-button type="text" |
|
|
|
@click="delData(scope.row)">删除</el-button> |
|
|
|
@click="edit(scope.row)">编辑</el-button> --> |
|
|
|
<el-switch v-model="scope.row.isDisable" |
|
|
|
<el-button v-if="scope.row.isTeam == 1" |
|
|
|
:active-text="scope.row.isDisable ? '关' : '开'" |
|
|
|
type="text" |
|
|
|
:active-value="0" |
|
|
|
@click="transfer(scope.row)">转让管理员</el-button> |
|
|
|
:inactive-value="1" |
|
|
|
<el-button v-else |
|
|
|
style="margin-left: 5px" |
|
|
|
type="text" |
|
|
|
@change="switchOff($event,scope.row,scope.$index)"></el-switch> |
|
|
|
@click="remove(scope.row)">踢出</el-button> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> --> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-table> |
|
|
|
<div class="pagination"> |
|
|
|
<div class="pagination"> |
|
|
|
<el-pagination background |
|
|
|
<el-pagination background |
|
|
@ -74,6 +74,82 @@ |
|
|
|
:current-page="page"> |
|
|
|
:current-page="page"> |
|
|
|
</el-pagination> |
|
|
|
</el-pagination> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog title="请选择要转让的团队成员" |
|
|
|
|
|
|
|
:visible.sync="chooseVisible" |
|
|
|
|
|
|
|
width="300px" |
|
|
|
|
|
|
|
custom-class="choose-dia" |
|
|
|
|
|
|
|
:close-on-click-modal="false"> |
|
|
|
|
|
|
|
<ul class="member-list"> |
|
|
|
|
|
|
|
<li v-for="(item, i) in members" |
|
|
|
|
|
|
|
:key="i"> |
|
|
|
|
|
|
|
<div class="info"> |
|
|
|
|
|
|
|
<img src="@/assets/images/avatar.png" |
|
|
|
|
|
|
|
alt=""> |
|
|
|
|
|
|
|
<span class="name">{{ item.userName }}</span> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<el-radio v-model="choosePartnerId" |
|
|
|
|
|
|
|
:label="item.manageId" |
|
|
|
|
|
|
|
:disabled="curRow.accountId === item.accountId"></el-radio> |
|
|
|
|
|
|
|
</li> |
|
|
|
|
|
|
|
</ul> |
|
|
|
|
|
|
|
<span slot="footer" |
|
|
|
|
|
|
|
class="dialog-footer"> |
|
|
|
|
|
|
|
<el-button size="small" |
|
|
|
|
|
|
|
@click="chooseVisible = false">取 消</el-button> |
|
|
|
|
|
|
|
<el-button size="small" |
|
|
|
|
|
|
|
type="primary" |
|
|
|
|
|
|
|
@click="chooseSubmit">确 定</el-button> |
|
|
|
|
|
|
|
</span> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog title="编辑合伙人" |
|
|
|
|
|
|
|
:visible.sync="editVisible" |
|
|
|
|
|
|
|
width="400px" |
|
|
|
|
|
|
|
class="dialog" |
|
|
|
|
|
|
|
:close-on-click-modal="false"> |
|
|
|
|
|
|
|
<el-form ref="form" |
|
|
|
|
|
|
|
label-width="70px"> |
|
|
|
|
|
|
|
<el-form-item prop="userName" |
|
|
|
|
|
|
|
label="姓名"> |
|
|
|
|
|
|
|
<el-input v-model="form.userName" |
|
|
|
|
|
|
|
placeholder="请输入姓名" |
|
|
|
|
|
|
|
disabled></el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item prop="phone" |
|
|
|
|
|
|
|
label="手机号"> |
|
|
|
|
|
|
|
<el-input v-model="form.phone" |
|
|
|
|
|
|
|
placeholder="请输入手机号" |
|
|
|
|
|
|
|
disabled></el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="角色"> |
|
|
|
|
|
|
|
<el-select style="width: 100%" |
|
|
|
|
|
|
|
v-model="form.roles" |
|
|
|
|
|
|
|
multiple> |
|
|
|
|
|
|
|
<!-- 不显示超管 --> |
|
|
|
|
|
|
|
<el-option v-for="(item, i) in roles" |
|
|
|
|
|
|
|
:key="i" |
|
|
|
|
|
|
|
:label="item.roleName" |
|
|
|
|
|
|
|
:value="item.id"> |
|
|
|
|
|
|
|
</el-option> |
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="实名状态"> |
|
|
|
|
|
|
|
<el-input v-model="form.phone" |
|
|
|
|
|
|
|
disabled></el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="所属组织"> |
|
|
|
|
|
|
|
<el-input v-model="form.phone" |
|
|
|
|
|
|
|
disabled></el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
<span slot="footer" |
|
|
|
|
|
|
|
class="dialog-footer"> |
|
|
|
|
|
|
|
<el-button @click="editVisible = false">取消</el-button> |
|
|
|
|
|
|
|
<el-button type="primary" |
|
|
|
|
|
|
|
@click="submitEdit">确定</el-button> |
|
|
|
|
|
|
|
</span> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
@ -93,6 +169,21 @@ export default { |
|
|
|
page: 1, |
|
|
|
page: 1, |
|
|
|
pageSize: 10, |
|
|
|
pageSize: 10, |
|
|
|
total: 0, |
|
|
|
total: 0, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
transferVisible: false, |
|
|
|
|
|
|
|
chooseVisible: false, |
|
|
|
|
|
|
|
members: [], |
|
|
|
|
|
|
|
choosePartnerId: '', |
|
|
|
|
|
|
|
curRow: '', |
|
|
|
|
|
|
|
provinces: [], |
|
|
|
|
|
|
|
cities: [], |
|
|
|
|
|
|
|
editVisible: false, |
|
|
|
|
|
|
|
form: { |
|
|
|
|
|
|
|
userName: '', |
|
|
|
|
|
|
|
provinceId: '', |
|
|
|
|
|
|
|
cityId: '', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
roles: [] |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
watch: { |
|
|
@ -133,60 +224,95 @@ export default { |
|
|
|
this.page = 1 |
|
|
|
this.page = 1 |
|
|
|
this.getData() |
|
|
|
this.getData() |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleSelectionChange (val) { |
|
|
|
|
|
|
|
this.multipleSelection = val; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleCurrentChange (val) { |
|
|
|
handleCurrentChange (val) { |
|
|
|
this.page = val; |
|
|
|
this.page = val; |
|
|
|
this.getData(); |
|
|
|
this.getData(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
switchOff (val, row, index) { |
|
|
|
// 编辑 |
|
|
|
this.$put(`${this.api.disableActivityApplicant}?competitionRegistrationId=${row.id}&isDisable=${val}`).then(res => { }).catch(err => { }); |
|
|
|
edit (row) { |
|
|
|
|
|
|
|
this.editVisible = true |
|
|
|
|
|
|
|
this.form = JSON.parse(JSON.stringify(row)) |
|
|
|
}, |
|
|
|
}, |
|
|
|
delData (row) { |
|
|
|
// 删除 |
|
|
|
this.$confirm("此删除操作不可逆,是否确认删除选中项?", "提示", { |
|
|
|
del (row) { |
|
|
|
|
|
|
|
this.$confirm("确定要删除吗?", "提示", { |
|
|
|
type: "warning" |
|
|
|
type: "warning" |
|
|
|
}) |
|
|
|
}).then(() => { |
|
|
|
.then(() => { |
|
|
|
this.$post(`${this.api.delPartnerAccount}?accountId=${row.accountId}`).then(res => { |
|
|
|
this.$post(`${this.api.delActivityApplicant}?id=${row.id}`).then(res => { |
|
|
|
util.successMsg("删除成功") |
|
|
|
util.successMsg("删除成功"); |
|
|
|
this.getList() |
|
|
|
this.getData(); |
|
|
|
}).catch(res => { }) |
|
|
|
}).catch(res => { |
|
|
|
}).catch(() => { }) |
|
|
|
}); |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.catch(() => { |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
// 排序回调 |
|
|
|
// 移除 |
|
|
|
sortChange (column) { |
|
|
|
remove (row) { |
|
|
|
// 1上2下 |
|
|
|
this.$confirm("确定要移除吗?", "提示", { |
|
|
|
if (column.prop === 'school') this.schoolOrder = column.order ? column.order === 'ascending' ? 2 : 1 : '' |
|
|
|
type: "warning" |
|
|
|
if (column.prop === 'teamName') this.teamOrder = column.order ? column.order === 'ascending' ? 2 : 1 : '' |
|
|
|
}).then(() => { |
|
|
|
|
|
|
|
this.$get(this.api.removeOrganization, { |
|
|
|
|
|
|
|
manageId: row.manageId, |
|
|
|
|
|
|
|
teamId: row.classificationId, |
|
|
|
|
|
|
|
}).then(res => { |
|
|
|
|
|
|
|
util.successMsg("移除成功") |
|
|
|
this.getData() |
|
|
|
this.getData() |
|
|
|
|
|
|
|
}).catch(res => { }) |
|
|
|
|
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
}, |
|
|
|
exportAll () { |
|
|
|
// 转让超管 |
|
|
|
const data = this.multipleSelection |
|
|
|
transfer (row) { |
|
|
|
if (data.length) { |
|
|
|
this.curRow = row |
|
|
|
data.map((e, i) => e.id = i + 1) |
|
|
|
this.chooseVisible = true |
|
|
|
axios.post(this.api.exportDataInBatchesApplicant, data, { |
|
|
|
this.$post(this.api.platformTeamAccountList, { |
|
|
|
headers: { |
|
|
|
type: 1, |
|
|
|
token: this.token |
|
|
|
classificationId: this.teamId, |
|
|
|
|
|
|
|
keyWord: '', |
|
|
|
|
|
|
|
platformId: 5, |
|
|
|
|
|
|
|
pageNum: 1, |
|
|
|
|
|
|
|
pageSize: 10000 |
|
|
|
|
|
|
|
}).then(({ pageList }) => { |
|
|
|
|
|
|
|
this.members = pageList.records |
|
|
|
|
|
|
|
}).catch(err => { }) |
|
|
|
}, |
|
|
|
}, |
|
|
|
responseType: 'blob' |
|
|
|
// 选择成员提交 |
|
|
|
}).then((res) => { |
|
|
|
chooseSubmit () { |
|
|
|
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data])) |
|
|
|
const { curRow } = this |
|
|
|
}).catch(res => { }) |
|
|
|
const id = this.choosePartnerId |
|
|
|
|
|
|
|
const member = this.members.find(e => e.manageId === id) // 获取选择的成员 |
|
|
|
|
|
|
|
if (member) { |
|
|
|
|
|
|
|
this.$post(this.api.transferTeam, { |
|
|
|
|
|
|
|
adminManageId: curRow.manageId, |
|
|
|
|
|
|
|
adminTeamId: curRow.classificationId, |
|
|
|
|
|
|
|
memberManageId: member.manageId, |
|
|
|
|
|
|
|
memberName: member.userName, |
|
|
|
|
|
|
|
memberTeamId: member.classificationId |
|
|
|
|
|
|
|
}).then(res => { |
|
|
|
|
|
|
|
this.chooseVisible = false |
|
|
|
|
|
|
|
this.transferVisible = false |
|
|
|
|
|
|
|
this.getData() |
|
|
|
|
|
|
|
}).catch(err => { }) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
axios.get(`${this.api.excelExportApplicant}?activityId=${this.id}`, { |
|
|
|
util.warningMsg('请选择成员!') |
|
|
|
headers: { |
|
|
|
|
|
|
|
token: this.token |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
responseType: 'blob' |
|
|
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
|
|
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data])) |
|
|
|
|
|
|
|
}).catch(res => { }) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 编辑提交 |
|
|
|
|
|
|
|
submitEdit () { |
|
|
|
|
|
|
|
if (this.submiting) return false |
|
|
|
|
|
|
|
this.submiting = true |
|
|
|
|
|
|
|
const form = JSON.parse(JSON.stringify(this.form)) |
|
|
|
|
|
|
|
form.classificationId = form.partnerClassificationId |
|
|
|
|
|
|
|
this.$post(this.api.editProvinceCity, form).then(res => { |
|
|
|
|
|
|
|
this.getList() |
|
|
|
|
|
|
|
util.successMsg("编辑成功!") |
|
|
|
|
|
|
|
this.editVisible = false |
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
|
|
this.submiting = false |
|
|
|
|
|
|
|
}, 2000) |
|
|
|
|
|
|
|
}).catch(res => { |
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
|
|
this.submiting = false |
|
|
|
|
|
|
|
}, 2000) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
</script> |
|
|
@ -202,4 +328,28 @@ export default { |
|
|
|
align-items: center; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/deep/.choose-dia { |
|
|
|
|
|
|
|
.member-list { |
|
|
|
|
|
|
|
li { |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.info { |
|
|
|
|
|
|
|
display: inline-flex; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
img { |
|
|
|
|
|
|
|
width: 40px; |
|
|
|
|
|
|
|
height: 40px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.name { |
|
|
|
|
|
|
|
margin-left: 10px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.el-radio__label { |
|
|
|
|
|
|
|
display: none; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |