yujialong 10 months ago
parent 47ee20af77
commit 1c3b3407ce
  1. 6
      src/api/index.js
  2. BIN
      src/assets/images/auth.png
  3. BIN
      src/assets/images/avatar.png
  4. BIN
      src/assets/images/org.png
  5. BIN
      src/assets/images/user1.png
  6. 32
      src/pages/activity/add/index.vue
  7. 3
      src/pages/activity/manage/index.vue
  8. 156
      src/pages/activity/manage/matchSignup.vue
  9. 62
      src/pages/join/add/index.vue
  10. 10
      src/pages/miniProgramMg/index/banner/list/index.vue
  11. 262
      src/pages/preschool/manage/member.vue
  12. 262
      src/pages/supplier/manage/member.vue
  13. 36
      src/pages/user/detail/index.vue
  14. 4
      src/setting.js

@ -31,6 +31,10 @@ export default {
excelExportCom: `${host}competition/competition/registration/excelExport`,
exportDataInBatchesCom: `${host}competition/competition/registration/exportDataInBatches`,
enterpriseCertificationDetails: `nakadai/enterprise/certification/enterpriseCertificationDetails`,
addNewApplicantsInTheBackground: `competition/competition/registration/addNewApplicantsInTheBackground`,
detailsOfApplicants: `competition/competition/registration/detailsOfApplicants`,
editRegistrationInformation: `competition/competition/registration/editRegistrationInformation`,
getOrganizationInformationByPhone: `competition/competition/registration/getOrganizationInformationByPhone`,
delCertification: `nakadai/enterprise/certification/batchDeletion`,
findCertification: `nakadai/enterprise/certification/findById`,
@ -52,6 +56,8 @@ export default {
platformTeamAccountList: `nakadai/kindergarten/platformTeamAccount/platformTeamAccountList`,
removeOrganization: `nakadai/kindergarten/platformTeamAccount/removeOrganization`,
updateAccountStatus: `nakadai/kindergarten/platformTeamAccount/updateAccountStatus`,
transferTeam: `nakadai/kindergarten/platformTeamAccount/transferTeam`,
inviteJoinOrganization: `nakadai/kindergarten/platformTeamAccount/inviteJoinOrganization`,
delSupplierClass: `nakadai/supplierClassification/batchDeletion`,
findSupplierClass: `nakadai/supplierClassification/findById`,

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

@ -134,13 +134,13 @@
label="发布范围">
<div>
<el-radio v-model="form.competitionScope"
:label="1">全平台</el-radio>
label="1">全平台</el-radio>
</div>
<div class="flex a-center">
<el-radio v-model="form.competitionScope"
:label="0">指定范围</el-radio>
label="0">指定范围</el-radio>
<el-checkbox-group v-if="!form.competitionScope"
<el-checkbox-group v-if="form.competitionScope === '0'"
v-model="competitionScope">
<el-checkbox v-for="(item, i) in scopes"
:key="i"
@ -289,7 +289,7 @@ export default {
description: '',
name: '',
publishStatus: 0,
competitionScope: 1,
competitionScope: '1',
whetherToShowApplicants: '1',
reportingPlace: '',
createSource: 0,
@ -301,11 +301,11 @@ export default {
competitionScope: [],
scopes: [
{
id: 5,
id: '5',
name: '幼儿园端'
},
{
id: 6,
id: '6',
name: '供应商端'
},
],
@ -412,11 +412,11 @@ export default {
if (data.playStartTime) this.playTime = [data.playStartTime, data.playEndTime]
if (data.sponsor) this.sponsorList = data.sponsor.split(",")
if (data.undertaker) this.undertakerList = data.undertaker.split(",")
if (!data.competitionScope) {
data.competitionScope = 1
} else if (data.competitionScope !== 1) {
this.competitionScope = data.competitionScope.split(',').map(e => +e)
data.competitionScope = 0
if (data.competitionScope === '0') {
data.competitionScope = '1'
} else if (data.competitionScope !== '1') {
this.competitionScope = data.competitionScope.split(',')
data.competitionScope = '0'
}
//
const fileList = data.competitionAnnexList
@ -565,7 +565,7 @@ export default {
},
//
save (status) {
const { form } = this
const form = JSON.parse(JSON.stringify(this.form))
if (!form.name) return Util.warningMsg("请填写活动名称");
//
if (status) {
@ -580,12 +580,12 @@ export default {
if (!form.playStartTime) return Util.warningMsg("请选择举办时间");
if (playStartTime && signUpEndTime && playStartTime < signUpEndTime) return Util.warningMsg("举办时间不能早于报名结束时间");
if (form.isNeedCode && (!form.invitationCode || form.invitationCode.length !== 4)) return Util.warningMsg('请填写四位数邀请码')
if (!form.competitionScope && !this.competitionScope.length) return Util.warningMsg('请选择指定范围')
if (form.competitionScope === '0' && !this.competitionScope.length) return Util.warningMsg('请选择指定范围')
if (!form.quantityLimit) return Util.warningMsg('请填写报名人数上限')
if (!form.description) return Util.warningMsg("请填写活动详情");
}
form.publishStatus = status
if (!form.competitionScope) {
if (form.competitionScope === '0') {
form.competitionScope = this.competitionScope.join(',')
}
form.sponsor = this.sponsorList.filter(d => d).join();
@ -729,7 +729,9 @@ $upload-lg-height: 150px;
}
}
}
.input-form.model {
height: calc(100vh - 300px);
}
/deep/ .d-inline-block {
width: 216px;

@ -1,7 +1,6 @@
<template>
<!-- 活动管理 -->
<div class="page"
style="margin-bottom: 24px">
<div class="page">
<div class="tabs">
<a class="item"
v-for="(item,index) in tabs"

@ -42,7 +42,7 @@
</li>
<li>
<label>搜索</label>
<el-input placeholder="请输入姓名、姓名进行查询"
<el-input placeholder="请输入姓名、手机号进行查询"
prefix-icon="el-icon-search"
v-model="form.keyWord"
clearable
@ -51,8 +51,8 @@
</li>
</ul>
<div>
<!-- <el-button type="primary"
@click="add">新增</el-button> -->
<el-button type="primary"
@click="add">新增</el-button>
<el-button @click="exportAll">批量导出</el-button>
</div>
</div>
@ -90,8 +90,7 @@
label="报名时间">
</el-table-column>
<el-table-column prop="signInStatus"
label="签到情况">
</el-table-column>
label="签到情况"></el-table-column>
<el-table-column prop="phone"
label="手机号">
</el-table-column>
@ -99,8 +98,10 @@
align="center"
width="320">
<template slot-scope="scope">
<!-- <el-button type="text"
@click="delData(scope.row)">删除</el-button> -->
<el-button type="text"
@click="edit(scope.row, true)">查看</el-button>
<el-button type="text"
@click="edit(scope.row, false)">编辑</el-button>
<el-switch v-model="scope.row.isDisable"
:active-text="scope.row.isDisable ? '关' : '开'"
:active-value="0"
@ -118,6 +119,60 @@
:current-page="page">
</el-pagination>
</div>
<el-dialog :title="(memberForm.id ? '编辑' : '新增') + '报名人员'"
:visible.sync="memberVisible"
width="400px"
class="dialog"
:close-on-click-modal="false"
@close="closeAdd">
<el-form ref="form"
:model="memberForm"
:rules="rules"
label-width="80px"
:disabled="disalbed"
style='margin-right: 10px;'>
<el-form-item prop="phone"
label="手机号">
<el-input v-model="memberForm.phone"
maxlength="11"
placeholder="请输入手机号"
@input="phoneChange"></el-input>
</el-form-item>
<el-form-item prop="username"
label="姓名">
<el-input v-model="memberForm.username"
placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item prop="teamId"
label="组织">
<el-select v-model="memberForm.teamId"
filterable
style="width: 100%">
<el-option v-for="(item, i) in orgs"
:key="i"
:label="item.schoolName"
:value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="memberForm.id"
prop="signInTime"
label="签到时间">
<el-date-picker v-model="memberForm.signInTime"
style="width: 100%"
type="datetime"
placeholder="请选择">
</el-date-picker>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button @click="memberVisible = false">取消</el-button>
<el-button v-if="!disalbed"
type="primary"
@click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
@ -181,6 +236,10 @@ export default {
},
{
id: 0,
name: '待签到'
},
{
id: 2,
name: '未签到'
},
],
@ -190,6 +249,28 @@ export default {
page: 1,
pageSize: 10,
total: 0,
memberVisible: false,
memberForm: {
accountId: '',
identification: 1,
signInTime: '',
teamId: '',
phone: '',
username: '',
},
rules: {
phone: [
{ required: true, message: "请输入手机号", trigger: "blur" }
],
username: [
{ required: true, message: "请输入姓名", trigger: "blur" }
],
},
orgs: [],
disalbed: false,
timer: null,
submiting: false
};
},
watch: {
@ -272,7 +353,66 @@ export default {
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data]))
}).catch(res => { })
}
}
},
//
phoneChange (val) {
clearTimeout(this.timer)
if (/^1[3456789]\d{9}$/.test(val)) {
this.timer = setTimeout(async () => {
const { data } = await this.$post(`${this.api.getOrganizationInformationByPhone}?phone=${val}`)
const peoole = data.find(e => !e.organizationName) //
const org = data.find(e => e.organizationName) //
this.memberForm.username = peoole.userName
this.memberForm.accountId = peoole.accountId
// this.memberForm.username = org.organizationName
}, 500)
}
},
//
edit (row, disalbed) {
this.memberForm = {
accountId: row.accountId,
identification: 1,
signInTime: row.createTime,
teamId: '',
phone: row.phone,
username: row.username,
signInStatus: 1,
id: row.id,
}
this.disalbed = disalbed
this.memberVisible = true
},
//
add () {
this.memberVisible = true
},
//
closeAdd () {
this.memberForm = {
accountId: '',
identification: 1,
signInTime: '',
teamId: '',
phone: '',
username: '',
signInStatus: 1,
}
},
//
submit () {
this.$refs.form.validate(async (valid) => {
if (valid) {
if (this.submiting) return false
this.submiting = true
const form = this.memberForm
form.competitionId = this.id
await this.$post(this.api[form.id ? 'editRegistrationInformation' : 'addNewApplicantsInTheBackground'], form)
this.memberVisible = false
this.getData()
}
})
},
}
};
</script>

@ -7,8 +7,6 @@
<img src="@/assets/images/house.png"
alt="">
</div>
<p class="text"
style="font-size: 16px">城市合伙人计划</p>
<p class="text">{{ teamName ? (teamName + '邀请你加入他的团队') : '加入并自动为你创建一个团队群组' }}</p>
</div>
<div class="inner">
@ -16,11 +14,13 @@
ref="form"
:model="form"
:rules="rules">
<el-form-item prop="name">
<el-input v-model.trim="form.name"
placeholder="请输入你的真实姓名"></el-input>
</el-form-item>
<el-form-item prop="phone">
<el-input v-model.trim="form.phone"
placeholder="请输入手机号"
maxlength="11"
@change="phoneChange"></el-input>
placeholder="请输入手机号"></el-input>
</el-form-item>
<el-form-item prop="code">
<div class="ver-code">
@ -48,20 +48,18 @@ import Setting from "@/setting"
export default {
data () {
return {
provinceId: this.$route.query.provinceId,
provinces: [],
cities: [],
isMobile: Util.isMobile(),
userName: this.$route.query.userName,
teamName: this.$route.query.teamName,
admin: this.$route.query.admin, //
form: {
id: this.$route.query.accountId,
partnerClassificationId: this.$route.query.id,
isTeam: this.$route.query.isTeam, // (0)pc(1)
accountId: this.$route.query.accountId,
classificationId: this.$route.query.id,
platformId: this.$route.query.platformId,
// isTeam: this.$route.query.isTeam, // (0)pc(1)
phone: '',
code: '',
userName: '',
name: '',
},
rules: {
phone: [
@ -80,25 +78,9 @@ export default {
};
},
mounted () {
this.getProvince()
this.form.cityId && this.getCity()
},
methods: {
//
getProvince () {
this.$get(this.api.queryProvince).then(res => {
this.provinces = res.list
}).catch(res => { })
},
//
getCity (val) {
this.$get(this.api.queryCity, {
provinceId: this.form.provinceId
}).then(res => {
this.cities = res.list
if (val) this.form.cityId = ''
}).catch(res => { })
},
//
verifyPhone (phone) {
if (!phone) {
@ -134,7 +116,6 @@ export default {
const { phone } = this.form
if (!this.verifyPhone(phone)) return false
this.$post(this.api.sendPhoneOrEmailCode, {
platform: Setting.platformId,
phone,
types: 2
}).then(({ message }) => {
@ -146,34 +127,17 @@ export default {
}
}).catch(res => { })
},
//
phoneChange () {
const { form } = this
this.$get(this.api.queryUserInfoByPhone, {
phone: form.phone
}).then(({ info }) => {
//
if (info) {
this.repeat = true
form.account = info.account
form.userName = info.userName
} else {
this.repeat = false
}
}).catch(res => { })
},
//
submit () {
this.$refs.form.validate((valid) => {
if (valid) {
if (this.submiting) return false
if (this.phoneRepeat) return Util.warningMsg("该手机号已存在")
if (this.emailRepeat) return Util.warningMsg("该邮箱已存在")
const { form } = this
form.uniqueIdentification = Date.now()
this.submiting = true
this.$post(this.api[this.admin ? 'transferAdmin' : 'savePartnerAccount'], form).then(res => {
this.$router.push('/success')
this.$post(this.api[this.admin ? 'transferAdmin' : 'inviteJoinOrganization'], form).then(res => {
this.$router.push('/join/success')
}).catch(res => {
this.submiting = false
})

@ -32,7 +32,12 @@
<el-table-column label="链接"
align="center">
<template slot-scope="scope">
<a v-if="scope.row.link === '2' && scope.row.jumpLink"
class="link"
:href="scope.row.jumpLink"
target="_blank">{{ scope.row.jumpLink }}</a>
<span v-else-if="scope.row.link === '1'">小程序内链接</span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="操作"
@ -162,4 +167,7 @@ export default {
cursor: pointer;
}
}
.link {
color: #267bff;
}
</style>

@ -42,29 +42,29 @@
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }}
</template>
</el-table-column>
<el-table-column prop="username"
<el-table-column prop="joinTime"
label="加入时间">
</el-table-column>
<el-table-column prop="username"
<el-table-column prop="authentication"
label="实名认证">
</el-table-column>
<el-table-column prop="lastLoginTime"
label="最近登录">
</el-table-column>
<!-- <el-table-column label="操作"
<el-table-column label="操作"
align="center"
width="320">
<template slot-scope="scope">
<el-button type="text"
@click="delData(scope.row)">删除</el-button>
<el-switch v-model="scope.row.isDisable"
:active-text="scope.row.isDisable ? '关' : '开'"
:active-value="0"
:inactive-value="1"
style="margin-left: 5px"
@change="switchOff($event,scope.row,scope.$index)"></el-switch>
<!-- <el-button type="text"
@click="edit(scope.row)">编辑</el-button> -->
<el-button v-if="scope.row.isTeam == 1"
type="text"
@click="transfer(scope.row)">转让管理员</el-button>
<el-button v-else
type="text"
@click="remove(scope.row)">踢出</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
@ -74,6 +74,82 @@
:current-page="page">
</el-pagination>
</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>
</template>
@ -93,6 +169,21 @@ export default {
page: 1,
pageSize: 10,
total: 0,
transferVisible: false,
chooseVisible: false,
members: [],
choosePartnerId: '',
curRow: '',
provinces: [],
cities: [],
editVisible: false,
form: {
userName: '',
provinceId: '',
cityId: '',
},
roles: []
};
},
watch: {
@ -133,60 +224,95 @@ export default {
this.page = 1
this.getData()
},
handleSelectionChange (val) {
this.multipleSelection = val;
},
handleCurrentChange (val) {
this.page = val;
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"
})
.then(() => {
this.$post(`${this.api.delActivityApplicant}?id=${row.id}`).then(res => {
util.successMsg("删除成功");
this.getData();
}).catch(res => {
});
})
.catch(() => {
});
},
//
sortChange (column) {
// 12
if (column.prop === 'school') this.schoolOrder = column.order ? column.order === 'ascending' ? 2 : 1 : ''
if (column.prop === 'teamName') this.teamOrder = column.order ? column.order === 'ascending' ? 2 : 1 : ''
this.getData()
}).then(() => {
this.$post(`${this.api.delPartnerAccount}?accountId=${row.accountId}`).then(res => {
util.successMsg("删除成功")
this.getList()
}).catch(res => { })
}).catch(() => { })
},
exportAll () {
const data = this.multipleSelection
if (data.length) {
data.map((e, i) => e.id = i + 1)
axios.post(this.api.exportDataInBatchesApplicant, data, {
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data]))
//
remove (row) {
this.$confirm("确定要移除吗?", "提示", {
type: "warning"
}).then(() => {
this.$get(this.api.removeOrganization, {
manageId: row.manageId,
teamId: row.classificationId,
}).then(res => {
util.successMsg("移除成功")
this.getData()
}).catch(res => { })
}).catch(() => { })
},
//
transfer (row) {
this.curRow = row
this.chooseVisible = true
this.$post(this.api.platformTeamAccountList, {
type: 1,
classificationId: this.teamId,
keyWord: '',
platformId: 5,
pageNum: 1,
pageSize: 10000
}).then(({ pageList }) => {
this.members = pageList.records
}).catch(err => { })
},
//
chooseSubmit () {
const { curRow } = this
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 {
axios.get(`${this.api.excelExportApplicant}?activityId=${this.id}`, {
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data]))
}).catch(res => { })
util.warningMsg('请选择成员!')
}
}
},
//
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>
@ -202,4 +328,28 @@ export default {
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>

@ -42,29 +42,29 @@
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }}
</template>
</el-table-column>
<el-table-column prop="username"
<el-table-column prop="joinTime"
label="加入时间">
</el-table-column>
<el-table-column prop="username"
<el-table-column prop="authentication"
label="实名认证">
</el-table-column>
<el-table-column prop="lastLoginTime"
label="最近登录">
</el-table-column>
<!-- <el-table-column label="操作"
<el-table-column label="操作"
align="center"
width="320">
<template slot-scope="scope">
<el-button type="text"
@click="delData(scope.row)">删除</el-button>
<el-switch v-model="scope.row.isDisable"
:active-text="scope.row.isDisable ? '关' : '开'"
:active-value="0"
:inactive-value="1"
style="margin-left: 5px"
@change="switchOff($event,scope.row,scope.$index)"></el-switch>
<!-- <el-button type="text"
@click="edit(scope.row)">编辑</el-button> -->
<el-button v-if="scope.row.isTeam == 1"
type="text"
@click="transfer(scope.row)">转让管理员</el-button>
<el-button v-else
type="text"
@click="remove(scope.row)">踢出</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
@ -74,6 +74,82 @@
:current-page="page">
</el-pagination>
</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>
</template>
@ -93,6 +169,21 @@ export default {
page: 1,
pageSize: 10,
total: 0,
transferVisible: false,
chooseVisible: false,
members: [],
choosePartnerId: '',
curRow: '',
provinces: [],
cities: [],
editVisible: false,
form: {
userName: '',
provinceId: '',
cityId: '',
},
roles: []
};
},
watch: {
@ -133,60 +224,95 @@ export default {
this.page = 1
this.getData()
},
handleSelectionChange (val) {
this.multipleSelection = val;
},
handleCurrentChange (val) {
this.page = val;
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"
})
.then(() => {
this.$post(`${this.api.delActivityApplicant}?id=${row.id}`).then(res => {
util.successMsg("删除成功");
this.getData();
}).catch(res => {
});
})
.catch(() => {
});
},
//
sortChange (column) {
// 12
if (column.prop === 'school') this.schoolOrder = column.order ? column.order === 'ascending' ? 2 : 1 : ''
if (column.prop === 'teamName') this.teamOrder = column.order ? column.order === 'ascending' ? 2 : 1 : ''
this.getData()
}).then(() => {
this.$post(`${this.api.delPartnerAccount}?accountId=${row.accountId}`).then(res => {
util.successMsg("删除成功")
this.getList()
}).catch(res => { })
}).catch(() => { })
},
exportAll () {
const data = this.multipleSelection
if (data.length) {
data.map((e, i) => e.id = i + 1)
axios.post(this.api.exportDataInBatchesApplicant, data, {
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data]))
//
remove (row) {
this.$confirm("确定要移除吗?", "提示", {
type: "warning"
}).then(() => {
this.$get(this.api.removeOrganization, {
manageId: row.manageId,
teamId: row.classificationId,
}).then(res => {
util.successMsg("移除成功")
this.getData()
}).catch(res => { })
}).catch(() => { })
},
//
transfer (row) {
this.curRow = row
this.chooseVisible = true
this.$post(this.api.platformTeamAccountList, {
type: 1,
classificationId: this.teamId,
keyWord: '',
platformId: 6,
pageNum: 1,
pageSize: 10000
}).then(({ pageList }) => {
this.members = pageList.records
}).catch(err => { })
},
//
chooseSubmit () {
const { curRow } = this
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 {
axios.get(`${this.api.excelExportApplicant}?activityId=${this.id}`, {
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data]))
}).catch(res => { })
util.warningMsg('请选择成员!')
}
}
},
//
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>
@ -202,4 +328,28 @@ export default {
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>

@ -2,7 +2,12 @@
<div>
<p class="page-name mb">用户信息</p>
<div class="page m-b-20">
<p class="l-title">账号信息</p>
<p class="l-title">
<img class="icon"
src="@/assets/images/user1.png"
alt="">
账号信息
</p>
<el-form v-for="(item, i) in userAccountList"
:key="i"
ref="form"
@ -16,19 +21,22 @@
</el-form-item>
<el-form-item label="个人手机">
<el-input v-model="item.phone"
placeholder="请输入手机号"
maxlength="11"></el-input>
</el-form-item>
</div>
<el-form-item label="组织名称">
<el-input v-model="item.account"
placeholder="请输入用户名称"></el-input>
<el-form-item :label="item.platformId === '7' ? '用户名称' : '组织名称'">
<el-input v-model="item.account"></el-input>
</el-form-item>
</el-form>
</div>
<div class="page m-b-20">
<p class="l-title">实名认证信息{{ form.authentication }}</p>
<p class="l-title">
<img class="icon"
src="@/assets/images/auth.png"
alt="">
实名认证信息{{ form.authentication }}
</p>
<el-form ref="form"
class="input-form"
:model="form"
@ -71,7 +79,12 @@
</div>
<div class="page">
<p class="l-title">已绑定的组织信息</p>
<p class="l-title">
<img class="icon"
src="@/assets/images/org.png"
alt="">
已绑定的组织信息
</p>
<el-table :data="platformList"
class="table"
stripe
@ -104,11 +117,9 @@
width="180"
align="center">
<template slot-scope="scope">
<el-button type="text"
@click="show(scope.row)">查看</el-button>
<el-button type="text"
@click="del(scope.row)">移除</el-button>
<el-switch v-if="scope.row.openId!==1"
<el-switch v-if="scope.row.openId !== 1"
v-model="scope.row.isEnable"
:active-value="0"
:inactive-value="1"
@ -218,9 +229,14 @@ export default {
border-bottom: 1px dashed #e3e3e3;
}
.l-title {
display: flex;
align-items: center;
margin-bottom: 15px;
font-size: 15px;
color: #000;
.icon {
margin-right: 5px;
}
}
.arrowTransform {

@ -5,7 +5,7 @@ const isDev = process.env.NODE_ENV === 'development' // 开发环境
let host = `${location.origin}/`
if (isDev) {
host = 'http://124.71.79.122/'
host = 'http://192.168.31.217:10010/'
// host = 'http://192.168.31.51:10010/'
}
const Setting = {
@ -24,7 +24,7 @@ const Setting = {
/**
* 路由白名单
* */
whiteList: ['/login', '/redirect'],
whiteList: ['/login', '/redirect', '/join', '/join/success'],
/**
* localStorage里保存的token的key
*/

Loading…
Cancel
Save