parent
8d7049ec42
commit
7473b607db
25 changed files with 2297 additions and 847 deletions
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 81 KiB |
@ -0,0 +1,263 @@ |
|||||||
|
<template> |
||||||
|
<div class="wrap"> |
||||||
|
<div class="join"> |
||||||
|
<h6>欢迎加入</h6> |
||||||
|
<div class="wel"> |
||||||
|
<div class="icon"> |
||||||
|
<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"> |
||||||
|
<el-form class="form" |
||||||
|
ref="form" |
||||||
|
:model="form" |
||||||
|
:rules="rules"> |
||||||
|
<el-form-item prop="phone"> |
||||||
|
<el-input v-model.trim="form.phone" |
||||||
|
placeholder="请输入手机号" |
||||||
|
maxlength="11" |
||||||
|
@change="phoneChange"></el-input> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item prop="code"> |
||||||
|
<div class="ver-code"> |
||||||
|
<el-input v-model="form.code" |
||||||
|
placeholder="请输入验证码" |
||||||
|
maxlength="6"></el-input> |
||||||
|
<el-button class="send" |
||||||
|
type="text" |
||||||
|
@click="sendPhoneCode" |
||||||
|
:disabled="phoneDisabled">{{ phoneBtnText }}</el-button> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<el-button class="submit" |
||||||
|
type="primary" |
||||||
|
@click="submit">立即加入</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Util from "@/libs/util" |
||||||
|
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) |
||||||
|
phone: '', |
||||||
|
code: '', |
||||||
|
userName: '', |
||||||
|
}, |
||||||
|
rules: { |
||||||
|
phone: [ |
||||||
|
{ required: true, message: '请输入手机号', trigger: 'blur' } |
||||||
|
], |
||||||
|
code: [ |
||||||
|
{ required: true, message: "请输入验证码", trigger: 'blur' } |
||||||
|
] |
||||||
|
}, |
||||||
|
repeat: false, // 是否有已存在用户,有的话禁填用户名和账号 |
||||||
|
phoneDisabled: false, |
||||||
|
phoneTimer: null, |
||||||
|
phoneOpener: '', |
||||||
|
phoneBtnText: '发送验证码', |
||||||
|
submiting: false // 新增编辑防抖标识 |
||||||
|
}; |
||||||
|
}, |
||||||
|
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) { |
||||||
|
Util.warningMsg("请输入手机号") |
||||||
|
return false |
||||||
|
} |
||||||
|
if (!/^1[3456789]\d{9}$/.test(phone) && !/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(phone)) { |
||||||
|
Util.warningMsg("请输入正确的手机号") |
||||||
|
return false |
||||||
|
} |
||||||
|
return true |
||||||
|
}, |
||||||
|
// 验证码倒计时 |
||||||
|
phoneCountdown () { |
||||||
|
let count = 60 |
||||||
|
if (!this.phoneTimer) { |
||||||
|
this.phoneDisabled = true |
||||||
|
this.phoneTimer = setInterval(() => { |
||||||
|
if (count > 0) { |
||||||
|
count-- |
||||||
|
this.phoneBtnText = `${count}秒后重试` |
||||||
|
} else { |
||||||
|
this.phoneDisabled = false |
||||||
|
clearInterval(this.phoneTimer) |
||||||
|
this.phoneTimer = null |
||||||
|
this.phoneBtnText = `发送验证码` |
||||||
|
} |
||||||
|
}, 1000) |
||||||
|
} |
||||||
|
}, |
||||||
|
// 发送验证码 |
||||||
|
sendPhoneCode () { |
||||||
|
const { phone } = this.form |
||||||
|
if (!this.verifyPhone(phone)) return false |
||||||
|
this.$post(this.api.sendPhoneOrEmailCode, { |
||||||
|
platform: Setting.platformId, |
||||||
|
phone, |
||||||
|
types: 2 |
||||||
|
}).then(({ message }) => { |
||||||
|
if (message.opener) { |
||||||
|
this.phoneCountdown() |
||||||
|
this.phoneOpener = message.opener |
||||||
|
} else { |
||||||
|
Util.errorMsg(message) |
||||||
|
} |
||||||
|
}).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') |
||||||
|
}).catch(res => { |
||||||
|
this.submiting = false |
||||||
|
}) |
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.wrap { |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
.ver-code { |
||||||
|
position: relative; |
||||||
|
.el-button { |
||||||
|
position: absolute; |
||||||
|
top: 11px; |
||||||
|
right: 10px; |
||||||
|
color: #319bf7; |
||||||
|
} |
||||||
|
} |
||||||
|
.join { |
||||||
|
width: 436px; |
||||||
|
margin: 100px auto 0; |
||||||
|
text-align: center; |
||||||
|
border-radius: 6px; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 6px; |
||||||
|
overflow: hidden; |
||||||
|
h6 { |
||||||
|
padding: 0 15px; |
||||||
|
font-size: 18px; |
||||||
|
line-height: 48px; |
||||||
|
color: #fff; |
||||||
|
background-color: #319bf7; |
||||||
|
} |
||||||
|
.icon { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
width: 70px; |
||||||
|
height: 70px; |
||||||
|
margin: 20px auto; |
||||||
|
border-radius: 4px; |
||||||
|
background-color: #007eff; |
||||||
|
} |
||||||
|
.text { |
||||||
|
margin-bottom: 10px; |
||||||
|
color: #565656; |
||||||
|
} |
||||||
|
.inner { |
||||||
|
padding: 20px; |
||||||
|
} |
||||||
|
/deep/.el-form-item { |
||||||
|
margin-bottom: 25px; |
||||||
|
} |
||||||
|
/deep/.el-input__inner { |
||||||
|
position: relative; |
||||||
|
height: 52px; |
||||||
|
line-height: 50px; |
||||||
|
background-color: #fbfbfb; |
||||||
|
border: 1px solid #e1e6f2; |
||||||
|
border-radius: 4px !important; |
||||||
|
} |
||||||
|
.submit { |
||||||
|
width: 100%; |
||||||
|
padding: 0; |
||||||
|
margin-top: 20px; |
||||||
|
font-size: 18px; |
||||||
|
line-height: 44px; |
||||||
|
background-color: #007eff; |
||||||
|
border-color: #007eff; |
||||||
|
border-radius: 30px; |
||||||
|
} |
||||||
|
} |
||||||
|
@media (max-width: 720px) { |
||||||
|
.join { |
||||||
|
width: 90%; |
||||||
|
margin: 20px auto 0; |
||||||
|
.submit { |
||||||
|
margin-top: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,70 @@ |
|||||||
|
<template> |
||||||
|
<div class="wrap"> |
||||||
|
<div class="inner"> |
||||||
|
<div class="icon"> |
||||||
|
<i class="el-icon-success icon"></i> |
||||||
|
<p class="tips">加入成功</p> |
||||||
|
</div> |
||||||
|
<p class="text">你已加入城市合伙人计划</p> |
||||||
|
<p class="text">请保存并用微信扫以下二维码打开城市合伙人小程序</p> |
||||||
|
<img class="qrcode" |
||||||
|
src="@/assets/images/mini.jpg" |
||||||
|
alt=""> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
|
||||||
|
}; |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
|
||||||
|
}, |
||||||
|
methods: { |
||||||
|
|
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.wrap { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
height: 100%; |
||||||
|
background-color: #f3f6fa; |
||||||
|
} |
||||||
|
.inner { |
||||||
|
width: 436px; |
||||||
|
padding: 50px 0; |
||||||
|
text-align: center; |
||||||
|
border-radius: 6px; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 10px; |
||||||
|
overflow: hidden; |
||||||
|
.icon { |
||||||
|
font-size: 40px; |
||||||
|
color: #007eff; |
||||||
|
} |
||||||
|
.tips { |
||||||
|
margin: 10px 0; |
||||||
|
font-size: 20px; |
||||||
|
} |
||||||
|
.text { |
||||||
|
margin-bottom: 15px; |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.qrcode { |
||||||
|
width: 200px; |
||||||
|
} |
||||||
|
} |
||||||
|
@media (max-width: 720px) { |
||||||
|
.inner { |
||||||
|
width: 90%; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,196 @@ |
|||||||
|
<template> |
||||||
|
<div class="page-content" |
||||||
|
style="padding: 24px"> |
||||||
|
<div class="tool"> |
||||||
|
<ul class="filter"> |
||||||
|
<li> |
||||||
|
<label>搜索:</label> |
||||||
|
<el-input placeholder="请输入姓名、姓名进行查询" |
||||||
|
prefix-icon="el-icon-search" |
||||||
|
v-model="keyword" |
||||||
|
clearable |
||||||
|
size="mini" |
||||||
|
style="width: 250px"></el-input> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<div></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<el-table ref="table" |
||||||
|
:data="list" |
||||||
|
class="table" |
||||||
|
stripe |
||||||
|
header-align="center" |
||||||
|
row-key="id"> |
||||||
|
<el-table-column type="index" |
||||||
|
width="60" |
||||||
|
label="序号" |
||||||
|
align="center"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
{{ scope.$index + (page - 1) * pageSize + 1 }} |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="phone" |
||||||
|
label="手机号"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="userName" |
||||||
|
label="姓名"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="角色"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }} |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="加入时间"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="实名认证"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="lastLoginTime" |
||||||
|
label="最近登录"> |
||||||
|
</el-table-column> |
||||||
|
<!-- <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> |
||||||
|
</template> |
||||||
|
</el-table-column> --> |
||||||
|
</el-table> |
||||||
|
<div class="pagination"> |
||||||
|
<el-pagination background |
||||||
|
layout="total, prev, pager, next" |
||||||
|
:total="total" |
||||||
|
@current-change="handleCurrentChange" |
||||||
|
:current-page="page"> |
||||||
|
</el-pagination> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import util from "@/libs/util"; |
||||||
|
import axios from 'axios' |
||||||
|
import Setting from "@/setting"; |
||||||
|
export default { |
||||||
|
name: "matchSignup", |
||||||
|
data () { |
||||||
|
return { |
||||||
|
id: this.$route.query.id, |
||||||
|
teamId: this.$route.query.teamId, |
||||||
|
keyword: '', |
||||||
|
list: [], |
||||||
|
multipleSelection: [], |
||||||
|
page: 1, |
||||||
|
pageSize: 10, |
||||||
|
total: 0, |
||||||
|
}; |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
keyword: function (val) { |
||||||
|
clearTimeout(this.searchTimer); |
||||||
|
this.searchTimer = setTimeout(() => { |
||||||
|
this.initData(); |
||||||
|
}, 500); |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.initData() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getData () { |
||||||
|
this.$post(this.api.platformTeamAccountList, { |
||||||
|
type: 1, |
||||||
|
pageNum: this.page, |
||||||
|
pageSize: this.pageSize, |
||||||
|
keyWord: this.keyword, |
||||||
|
platformId: 5, |
||||||
|
classificationId: this.teamId |
||||||
|
}).then(({ pageList }) => { |
||||||
|
this.list = pageList.records; |
||||||
|
this.total = pageList.total; |
||||||
|
}).catch(res => { }); |
||||||
|
}, |
||||||
|
initData () { |
||||||
|
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 => { }); |
||||||
|
}, |
||||||
|
delData (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) { |
||||||
|
// 1上2下 |
||||||
|
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() |
||||||
|
}, |
||||||
|
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])) |
||||||
|
}).catch(res => { }) |
||||||
|
} 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 => { }) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
/deep/.dia-form { |
||||||
|
.w-100 { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
.tips { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,132 @@ |
|||||||
|
<template> |
||||||
|
<div class="page"> |
||||||
|
<el-form label-width="170px" |
||||||
|
label-suffix=":" |
||||||
|
class="input-form model" |
||||||
|
size="small"> |
||||||
|
<el-form-item label="幼儿园名称"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input v-model="form.companyName" |
||||||
|
disabled /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="统一社会信用代码"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input disabled |
||||||
|
v-model="form.creditCode" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="法人"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input disabled |
||||||
|
v-model="form.legalPerson" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="营业执照"> |
||||||
|
<img v-if="form.businessLicensePicture" |
||||||
|
class="pic" |
||||||
|
:src="form.businessLicensePicture" |
||||||
|
alt=""> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="办学许可证件"> |
||||||
|
<img v-if="form.licenseForRunningSchool" |
||||||
|
class="pic" |
||||||
|
:src="form.licenseForRunningSchool" |
||||||
|
alt=""> |
||||||
|
</el-form-item> |
||||||
|
<div class="aline"></div> |
||||||
|
|
||||||
|
<div class="info"> |
||||||
|
<div class="field"> |
||||||
|
<label>申请人</label> |
||||||
|
<p class="val">{{ form.account }}</p> |
||||||
|
</div> |
||||||
|
<div class="field"> |
||||||
|
<label>联系方式</label> |
||||||
|
<p class="val">{{ form.contactInformation }}</p> |
||||||
|
</div> |
||||||
|
<div class="field"> |
||||||
|
<label>提交时间</label> |
||||||
|
<p class="val">{{ form.submitTime }}</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-form> |
||||||
|
|
||||||
|
<div class="btns"> |
||||||
|
<el-button type="primary" |
||||||
|
@click="submit(2)">通过</el-button> |
||||||
|
<el-button type="danger" |
||||||
|
@click="submit(3)">不通过</el-button> |
||||||
|
<el-button @click="$router.back()">返回</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Util from "@/libs/util"; |
||||||
|
import Setting from "@/setting"; |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
id: this.$route.query.id || '', |
||||||
|
form: {}, |
||||||
|
submiting: false, |
||||||
|
}; |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.$store.commit('user/setCrumbs', [ |
||||||
|
{ |
||||||
|
name: '幼儿园管理', |
||||||
|
route: '/preschool' |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: '幼儿园审核' |
||||||
|
}, |
||||||
|
]) |
||||||
|
this.getData() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getData () { |
||||||
|
const { id } = this |
||||||
|
id && this.$post(`${this.api.enterpriseCertificationDetails}?id=${id}`).then(({ data }) => { |
||||||
|
this.form = data |
||||||
|
}).catch(err => { }) |
||||||
|
}, |
||||||
|
// 提交 |
||||||
|
async submit (auditStatus) { |
||||||
|
if (this.submiting) return false |
||||||
|
this.submiting = true |
||||||
|
try { |
||||||
|
await this.$post(`${this.api.informationAudit}?auditStatus=${auditStatus}&id=${this.id}`).then(res => { |
||||||
|
this.$router.back() |
||||||
|
Util.successMsg('审核成功!'); |
||||||
|
}) |
||||||
|
} catch (e) { |
||||||
|
this.submiting = true |
||||||
|
} |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="scss"> |
||||||
|
.pic { |
||||||
|
max-width: 500px; |
||||||
|
} |
||||||
|
.info { |
||||||
|
.field { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
width: 470px; |
||||||
|
margin: 10px 0; |
||||||
|
} |
||||||
|
label { |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.val { |
||||||
|
font-size: 15px; |
||||||
|
font-weight: 600; |
||||||
|
color: #333; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,188 @@ |
|||||||
|
<template> |
||||||
|
<div class="page"> |
||||||
|
<div class="action"> |
||||||
|
<span v-if="form.auditStatus !== ''" |
||||||
|
class="status">{{ auditStatus.find(e => e.id === form.auditStatus).name }}</span> |
||||||
|
<el-button v-if="!editing" |
||||||
|
@click="edit">编辑</el-button> |
||||||
|
</div> |
||||||
|
<el-form label-width="170px" |
||||||
|
label-suffix=":" |
||||||
|
class="input-form model" |
||||||
|
size="small" |
||||||
|
:disabled="!editing"> |
||||||
|
<el-form-item label="认证状态"> |
||||||
|
<el-select v-model="form.authenticationStatus" |
||||||
|
clearable> |
||||||
|
<el-option v-for="(item, i) in authenticationStatus" |
||||||
|
:key="i" |
||||||
|
:label="item.name" |
||||||
|
:value="item.id"></el-option> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="幼儿园名称"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input v-model="form.companyName" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="统一社会信用代码"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input v-model="form.creditCode" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="法人"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input v-model="form.legalPerson" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="营业执照"> |
||||||
|
<img v-if="form.businessLicensePicture" |
||||||
|
class="pic" |
||||||
|
:src="form.businessLicensePicture" |
||||||
|
alt=""> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="办学许可证件"> |
||||||
|
<img v-if="form.licenseForRunningSchool" |
||||||
|
class="pic" |
||||||
|
:src="form.licenseForRunningSchool" |
||||||
|
alt=""> |
||||||
|
</el-form-item> |
||||||
|
<div class="aline"></div> |
||||||
|
|
||||||
|
<div class="info"> |
||||||
|
<div class="field"> |
||||||
|
<label>申请人</label> |
||||||
|
<p class="val">{{ form.account }}</p> |
||||||
|
</div> |
||||||
|
<div class="field"> |
||||||
|
<label>联系方式</label> |
||||||
|
<p class="val">{{ form.contactInformation }}</p> |
||||||
|
</div> |
||||||
|
<div class="field"> |
||||||
|
<label>提交时间</label> |
||||||
|
<p class="val">{{ form.submitTime }}</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-form> |
||||||
|
|
||||||
|
<div class="btns"> |
||||||
|
<el-button v-if="editing" |
||||||
|
type="primary" |
||||||
|
@click="submit">保存</el-button> |
||||||
|
<el-button @click="$router.back()">返回</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Util from "@/libs/util"; |
||||||
|
import Setting from "@/setting"; |
||||||
|
import Const from '@/const/user' |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
id: this.$route.query.id, |
||||||
|
auditStatus: Const.auditStatus, |
||||||
|
authenticationStatus: [ |
||||||
|
{ |
||||||
|
id: 2, |
||||||
|
name: '已认证' |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 0, |
||||||
|
name: '未认证' |
||||||
|
}, |
||||||
|
], |
||||||
|
form: { |
||||||
|
companyName: '', |
||||||
|
creditCode: '', |
||||||
|
legalPerson: '', |
||||||
|
auditStatus: '', |
||||||
|
authenticationStatus: '' |
||||||
|
}, |
||||||
|
editing: false, |
||||||
|
submiting: false, |
||||||
|
}; |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.$store.commit('user/setCrumbs', [ |
||||||
|
{ |
||||||
|
name: '幼儿园管理', |
||||||
|
route: '/preschool' |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: '认证信息' |
||||||
|
}, |
||||||
|
]) |
||||||
|
this.getData() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getData () { |
||||||
|
this.$post(`${this.api.enterpriseCertificationDetails}?id=${this.id}`).then(({ data }) => { |
||||||
|
if (data.authenticationStatus === 1) data.authenticationStatus = '' |
||||||
|
this.form = data |
||||||
|
}).catch(err => { }) |
||||||
|
}, |
||||||
|
// 编辑 |
||||||
|
edit () { |
||||||
|
this.editing = true |
||||||
|
}, |
||||||
|
// 提交 |
||||||
|
async submit () { |
||||||
|
const { form } = this |
||||||
|
if (form.authenticationStatus === '') return Util.warningMsg('请选择认证状态') |
||||||
|
if (!form.companyName) return Util.warningMsg('请输入幼儿园名称') |
||||||
|
if (!form.creditCode) return Util.warningMsg('请输入统一社会信用代码') |
||||||
|
if (!form.legalPerson) return Util.warningMsg('请输入法人') |
||||||
|
if (this.submiting) return false |
||||||
|
this.submiting = true |
||||||
|
try { |
||||||
|
await this.$post(this.api.updateCertification, form).then(res => { |
||||||
|
Util.successMsg('保存成功!'); |
||||||
|
this.$router.back() |
||||||
|
}) |
||||||
|
} catch (e) { |
||||||
|
this.submiting = true |
||||||
|
} |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="scss"> |
||||||
|
.page { |
||||||
|
position: relative; |
||||||
|
padding-bottom: 80px; |
||||||
|
.action { |
||||||
|
z-index: 1; |
||||||
|
position: absolute; |
||||||
|
right: 50px; |
||||||
|
.status { |
||||||
|
margin-right: 10px; |
||||||
|
color: #2962ff; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.pic { |
||||||
|
max-width: 500px; |
||||||
|
} |
||||||
|
.input-form.model { |
||||||
|
height: calc(100vh - 310px); |
||||||
|
} |
||||||
|
.info { |
||||||
|
.field { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
width: 470px; |
||||||
|
margin: 10px 0; |
||||||
|
} |
||||||
|
label { |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.val { |
||||||
|
font-size: 15px; |
||||||
|
font-weight: 600; |
||||||
|
color: #333; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,395 @@ |
|||||||
|
<template> |
||||||
|
<div class="page"> |
||||||
|
<div class="action"> |
||||||
|
<el-button @click="edit">编辑</el-button> |
||||||
|
</div> |
||||||
|
<el-form label-width="170px" |
||||||
|
label-suffix=":" |
||||||
|
class="input-form model" |
||||||
|
size="small" |
||||||
|
:disabled="!editing"> |
||||||
|
<el-form-item label="LOGO"> |
||||||
|
<el-upload class="avatar-uploader" |
||||||
|
accept=".jpg,.png,.jpeg,.gif" |
||||||
|
:limit="1" |
||||||
|
:on-exceed="handleExceed" |
||||||
|
:before-remove="beforeRemove" |
||||||
|
:on-remove="handleRemove('logoUrl')" |
||||||
|
:on-error="uploadError" |
||||||
|
action="" |
||||||
|
:http-request="e => handleRequest(e, 'logoUrl')"> |
||||||
|
<img v-if="form.logoUrl" |
||||||
|
:src="form.logoUrl" |
||||||
|
class="avatar"> |
||||||
|
<div class="uploader-default" |
||||||
|
v-else> |
||||||
|
<i class="el-icon-plus"></i> |
||||||
|
<p>上传LOGO</p> |
||||||
|
</div> |
||||||
|
</el-upload> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="幼儿园名称"> |
||||||
|
<div class="d-inline-block"> |
||||||
|
<el-input v-model="form.classificationName" /> |
||||||
|
</div> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="幼儿园slogan"> |
||||||
|
<el-input type="textarea" |
||||||
|
v-model="form.slogan" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="省份"> |
||||||
|
<el-select v-model="form.province" |
||||||
|
clearable |
||||||
|
placeholder="请选择省份" |
||||||
|
@change="getCity" |
||||||
|
@clear="clearprovince"> |
||||||
|
<el-option v-for="(item, i) in provinceList" |
||||||
|
:key="i" |
||||||
|
:value="item.provinceName"></el-option> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="城市"> |
||||||
|
<el-select v-model="form.city" |
||||||
|
clearable |
||||||
|
placeholder="请选择城市" |
||||||
|
:disabled="form.province ? false : true"> |
||||||
|
<el-option v-for="(item, i) in cityList" |
||||||
|
:key="i" |
||||||
|
:value="item.cityName"></el-option> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="地址"> |
||||||
|
<el-input type="textarea" |
||||||
|
v-model="form.address" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="幼儿园简介"> |
||||||
|
<el-input type="textarea" |
||||||
|
v-model="form.briefIntroduction" /> |
||||||
|
<Upload class="m-t-10" |
||||||
|
:limit="3" |
||||||
|
:file-list.sync="pics" |
||||||
|
:on-remove="handleAnnexRemove" |
||||||
|
@onSuccess="uploadPicSuccess"> |
||||||
|
<template slot="tip"> |
||||||
|
<p>最多选择3张图片</p> |
||||||
|
</template> |
||||||
|
</Upload> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="二维码一"> |
||||||
|
<el-input v-model="form.qrCodeOneName" |
||||||
|
placeholder="请输入二维码描述" /> |
||||||
|
|
||||||
|
<el-upload class="avatar-uploader m-t-10" |
||||||
|
accept=".jpg,.png,.jpeg,.gif" |
||||||
|
:limit="1" |
||||||
|
:on-exceed="handleExceed" |
||||||
|
:before-remove="beforeRemove" |
||||||
|
:on-remove="handleRemove('qrCodeOneUrl')" |
||||||
|
:on-error="uploadError" |
||||||
|
action="" |
||||||
|
:http-request="e => handleRequest(e, 'qrCodeOneUrl')"> |
||||||
|
<img v-if="form.qrCodeOneUrl" |
||||||
|
:src="form.qrCodeOneUrl" |
||||||
|
class="avatar"> |
||||||
|
<div class="uploader-default" |
||||||
|
v-else> |
||||||
|
<i class="el-icon-plus"></i> |
||||||
|
<p>上传第一张二维码</p> |
||||||
|
</div> |
||||||
|
</el-upload> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="二维码二"> |
||||||
|
<el-input v-model="form.qrCodeTwoName" |
||||||
|
placeholder="请输入二维码描述" /> |
||||||
|
|
||||||
|
<el-upload class="avatar-uploader m-t-10" |
||||||
|
accept=".jpg,.png,.jpeg,.gif" |
||||||
|
:limit="1" |
||||||
|
:on-exceed="handleExceed" |
||||||
|
:before-remove="beforeRemove" |
||||||
|
:on-remove="handleRemove('qrCodeTwoUrl')" |
||||||
|
:on-error="uploadError" |
||||||
|
action="" |
||||||
|
:http-request="e => handleRequest(e, 'qrCodeTwoUrl')"> |
||||||
|
<img v-if="form.qrCodeTwoUrl" |
||||||
|
:src="form.qrCodeTwoUrl" |
||||||
|
class="avatar"> |
||||||
|
<div class="uploader-default" |
||||||
|
v-else> |
||||||
|
<i class="el-icon-plus"></i> |
||||||
|
<p>上传第二张二维码</p> |
||||||
|
</div> |
||||||
|
</el-upload> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="二维码三"> |
||||||
|
<el-input v-model="form.qrCodeThreeName" |
||||||
|
placeholder="请输入二维码描述" /> |
||||||
|
|
||||||
|
<el-upload class="avatar-uploader m-t-10" |
||||||
|
accept=".jpg,.png,.jpeg,.gif" |
||||||
|
:limit="1" |
||||||
|
:on-exceed="handleExceed" |
||||||
|
:before-remove="beforeRemove" |
||||||
|
:on-remove="handleRemove('qrCodeThreeUrl')" |
||||||
|
:on-error="uploadError" |
||||||
|
action="" |
||||||
|
:http-request="e => handleRequest(e, 'qrCodeThreeUrl')"> |
||||||
|
<img v-if="form.qrCodeThreeUrl" |
||||||
|
:src="form.qrCodeThreeUrl" |
||||||
|
class="avatar"> |
||||||
|
<div class="uploader-default" |
||||||
|
v-else> |
||||||
|
<i class="el-icon-plus"></i> |
||||||
|
<p>上传第三张二维码</p> |
||||||
|
</div> |
||||||
|
</el-upload> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
|
||||||
|
<div class="btns"> |
||||||
|
<el-button v-if="editing" |
||||||
|
type="primary" |
||||||
|
@click="submit">保存</el-button> |
||||||
|
<el-button @click="$router.back()">返回</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Util from "@/libs/util"; |
||||||
|
import Setting from "@/setting"; |
||||||
|
import Upload from '@/components/upload'; |
||||||
|
import Oss from '@/components/upload/upload.js' |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
id: this.$route.query.id, |
||||||
|
teamId: this.$route.query.teamId, |
||||||
|
form: { |
||||||
|
address: '', |
||||||
|
briefIntroduction: '', |
||||||
|
city: '', |
||||||
|
classificationName: '', |
||||||
|
id: '', |
||||||
|
logoUrl: '', |
||||||
|
pictureUrl: '', |
||||||
|
province: '', |
||||||
|
qrCodeOneName: '', |
||||||
|
qrCodeOneUrl: '', |
||||||
|
qrCodeThreeName: '', |
||||||
|
qrCodeThreeUrl: '', |
||||||
|
qrCodeTwoName: '', |
||||||
|
qrCodeTwoUrl: '', |
||||||
|
slogan: '', |
||||||
|
}, |
||||||
|
provinceList: [], |
||||||
|
cityList: [], |
||||||
|
pics: [], |
||||||
|
editing: false, |
||||||
|
submiting: false, |
||||||
|
}; |
||||||
|
}, |
||||||
|
components: { |
||||||
|
Upload |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
// 监听信息是否有更改,有的话页面离开的时候要询问是否要保存 |
||||||
|
form: { |
||||||
|
handler () { |
||||||
|
this.updateTime++ |
||||||
|
}, |
||||||
|
deep: true |
||||||
|
}, |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.$store.commit('user/setCrumbs', [ |
||||||
|
{ |
||||||
|
name: '供应商管理', |
||||||
|
route: '/preschool' |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: '基本信息' |
||||||
|
}, |
||||||
|
]) |
||||||
|
this.getProvince() |
||||||
|
this.getData() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getData () { |
||||||
|
this.$get(`${this.api.queryTeamInfo}?teamId=${this.teamId}`).then(res => { |
||||||
|
Object.assign(this.form, res.teamInfo) |
||||||
|
}).catch(err => { }) |
||||||
|
}, |
||||||
|
|
||||||
|
getProvince () { |
||||||
|
this.$get(this.api.queryProvince).then(res => { |
||||||
|
this.provinceList = res.list |
||||||
|
}).catch(res => { }) |
||||||
|
}, |
||||||
|
clearprovince () { |
||||||
|
this.form.city = '' |
||||||
|
}, |
||||||
|
// 获取城市 |
||||||
|
getCity () { |
||||||
|
this.clearprovince() |
||||||
|
this.getCityData() |
||||||
|
}, |
||||||
|
getCityData () { |
||||||
|
this.$get(this.api.queryCity, { |
||||||
|
provinceId: this.provinceList.find(e => e.provinceName === this.form.province).provinceId |
||||||
|
}).then(res => { |
||||||
|
this.cityList = res.list |
||||||
|
}).catch(res => { }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 编辑 |
||||||
|
edit () { |
||||||
|
this.editing = true |
||||||
|
}, |
||||||
|
handleExceed (files, fileList) { |
||||||
|
Util.warningMsg(`当前限制选择 1 个文件,如需更换,请删除上一个文件再重新选择!`); |
||||||
|
}, |
||||||
|
beforeRemove (file, fileList) { |
||||||
|
return this.$confirm(`确定移除 ${file.name}?`); |
||||||
|
}, |
||||||
|
handleRemove (field) { |
||||||
|
Oss.del(this.form[field]) |
||||||
|
this.form[field] = '' |
||||||
|
}, |
||||||
|
uploadError (err, file, fileList) { |
||||||
|
this.$message({ |
||||||
|
message: "上传出错,请重试!", |
||||||
|
type: "error", |
||||||
|
center: true |
||||||
|
}) |
||||||
|
}, |
||||||
|
// logo自定义上传 |
||||||
|
async handleRequest ({ file }, field) { |
||||||
|
this.form[field] && Oss.del(this.form[field]) |
||||||
|
Oss.upload(file).then(res => { |
||||||
|
this.form[field] = res.url |
||||||
|
}) |
||||||
|
}, |
||||||
|
|
||||||
|
|
||||||
|
// 附件上传成功 |
||||||
|
uploadPicSuccess (file) { |
||||||
|
console.log(33, this.pics) |
||||||
|
}, |
||||||
|
handleAnnexRemove (file, fileList) { |
||||||
|
Oss.del(file.url) |
||||||
|
this.pics = fileList |
||||||
|
}, |
||||||
|
|
||||||
|
// 提交 |
||||||
|
async submit () { |
||||||
|
const { form } = this |
||||||
|
if (!form.classificationName) return Util.warningMsg('请输入幼儿园名称') |
||||||
|
if (this.submiting) return false |
||||||
|
this.submiting = true |
||||||
|
try { |
||||||
|
await this.$post(this.api.updateTeamInfo, form).then(res => { |
||||||
|
Util.successMsg('保存成功!'); |
||||||
|
this.$router.back() |
||||||
|
}) |
||||||
|
} catch (e) { |
||||||
|
this.submiting = true |
||||||
|
} |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="scss"> |
||||||
|
.page { |
||||||
|
position: relative; |
||||||
|
padding-bottom: 80px; |
||||||
|
.action { |
||||||
|
z-index: 1; |
||||||
|
position: absolute; |
||||||
|
right: 50px; |
||||||
|
.status { |
||||||
|
margin-right: 10px; |
||||||
|
color: #2962ff; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
$upload-width: 140px; |
||||||
|
$upload-height: 140px; |
||||||
|
$upload-lg-height: 150px; |
||||||
|
/deep/ .avatar-uploader { |
||||||
|
.el-upload { |
||||||
|
position: relative; |
||||||
|
width: $upload-width; |
||||||
|
height: $upload-height; |
||||||
|
border: 1px dashed #d9d9d9; |
||||||
|
border-radius: 6px; |
||||||
|
cursor: pointer; |
||||||
|
overflow: hidden; |
||||||
|
|
||||||
|
&:hover { |
||||||
|
border-color: #cb221c; |
||||||
|
} |
||||||
|
|
||||||
|
.uploader-default { |
||||||
|
display: flex; |
||||||
|
height: $upload-height; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: center; |
||||||
|
text-align: center; |
||||||
|
background: rgba(0, 0, 0, 0.04); |
||||||
|
|
||||||
|
i { |
||||||
|
font-size: 20px; |
||||||
|
font-weight: bold; |
||||||
|
color: #8c939d; |
||||||
|
} |
||||||
|
|
||||||
|
p { |
||||||
|
margin-top: 10px; |
||||||
|
font-size: 14px; |
||||||
|
color: rgba(0, 0, 0, 0.65); |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&.avatar-uploader-lg { |
||||||
|
.el-upload { |
||||||
|
width: 100%; |
||||||
|
max-width: 960px; |
||||||
|
height: $upload-lg-height; |
||||||
|
|
||||||
|
.uploader-default { |
||||||
|
height: $upload-lg-height; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.avatar { |
||||||
|
display: block; |
||||||
|
width: $upload-width; |
||||||
|
height: $upload-height; |
||||||
|
} |
||||||
|
|
||||||
|
.avatar-lg { |
||||||
|
display: block; |
||||||
|
width: 100%; |
||||||
|
height: $upload-lg-height; |
||||||
|
} |
||||||
|
|
||||||
|
.el-upload__tip { |
||||||
|
margin-top: 0; |
||||||
|
|
||||||
|
p { |
||||||
|
font-size: 14px; |
||||||
|
color: rgba(0, 0, 0, 0.45); |
||||||
|
line-height: 1; |
||||||
|
|
||||||
|
&:first-child { |
||||||
|
margin-bottom: 5px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,56 @@ |
|||||||
|
<template> |
||||||
|
<div class="page"> |
||||||
|
<div class="tabs"> |
||||||
|
<a class="item" |
||||||
|
v-for="(item, i) in tabs" |
||||||
|
:key="i" |
||||||
|
:class="{active: i == active}" |
||||||
|
@click="tabChange(i)">{{ item }}</a> |
||||||
|
</div> |
||||||
|
<Basic v-if="active == 'tab1'" /> |
||||||
|
<Auth v-else-if="active == 'tab2'" /> |
||||||
|
<Member v-else-if="active == 'tab3'" /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Setting from "@/setting"; |
||||||
|
import Basic from './basic' |
||||||
|
import Auth from './auth' |
||||||
|
import Member from './member' |
||||||
|
import { mapState } from "vuex"; |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
active: 'tab1', |
||||||
|
tabs: { |
||||||
|
tab1: "基本信息", |
||||||
|
tab2: "认证信息", |
||||||
|
tab3: "供应商成员", |
||||||
|
}, |
||||||
|
}; |
||||||
|
}, |
||||||
|
components: { |
||||||
|
Basic, |
||||||
|
Auth, |
||||||
|
Member |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
...mapState('auth', [ |
||||||
|
'btns' |
||||||
|
]) |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
|
||||||
|
}, |
||||||
|
methods: { |
||||||
|
// tab切换 |
||||||
|
tabChange (i) { |
||||||
|
this.active = i |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
</style> |
@ -0,0 +1,196 @@ |
|||||||
|
<template> |
||||||
|
<div class="page-content" |
||||||
|
style="padding: 24px"> |
||||||
|
<div class="tool"> |
||||||
|
<ul class="filter"> |
||||||
|
<li> |
||||||
|
<label>搜索:</label> |
||||||
|
<el-input placeholder="请输入姓名、姓名进行查询" |
||||||
|
prefix-icon="el-icon-search" |
||||||
|
v-model="keyword" |
||||||
|
clearable |
||||||
|
size="mini" |
||||||
|
style="width: 250px"></el-input> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<div></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<el-table ref="table" |
||||||
|
:data="list" |
||||||
|
class="table" |
||||||
|
stripe |
||||||
|
header-align="center" |
||||||
|
row-key="id"> |
||||||
|
<el-table-column type="index" |
||||||
|
width="60" |
||||||
|
label="序号" |
||||||
|
align="center"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
{{ scope.$index + (page - 1) * pageSize + 1 }} |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="phone" |
||||||
|
label="手机号"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="userName" |
||||||
|
label="姓名"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="角色"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
{{ scope.row.isTeam === '1' ? '负责人' : '成员' }} |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="加入时间"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="username" |
||||||
|
label="实名认证"> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="lastLoginTime" |
||||||
|
label="最近登录"> |
||||||
|
</el-table-column> |
||||||
|
<!-- <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> |
||||||
|
</template> |
||||||
|
</el-table-column> --> |
||||||
|
</el-table> |
||||||
|
<div class="pagination"> |
||||||
|
<el-pagination background |
||||||
|
layout="total, prev, pager, next" |
||||||
|
:total="total" |
||||||
|
@current-change="handleCurrentChange" |
||||||
|
:current-page="page"> |
||||||
|
</el-pagination> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import util from "@/libs/util"; |
||||||
|
import axios from 'axios' |
||||||
|
import Setting from "@/setting"; |
||||||
|
export default { |
||||||
|
name: "matchSignup", |
||||||
|
data () { |
||||||
|
return { |
||||||
|
id: this.$route.query.id, |
||||||
|
teamId: this.$route.query.teamId, |
||||||
|
keyword: '', |
||||||
|
list: [], |
||||||
|
multipleSelection: [], |
||||||
|
page: 1, |
||||||
|
pageSize: 10, |
||||||
|
total: 0, |
||||||
|
}; |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
keyword: function (val) { |
||||||
|
clearTimeout(this.searchTimer); |
||||||
|
this.searchTimer = setTimeout(() => { |
||||||
|
this.initData(); |
||||||
|
}, 500); |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.initData() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getData () { |
||||||
|
this.$post(this.api.platformTeamAccountList, { |
||||||
|
type: 1, |
||||||
|
pageNum: this.page, |
||||||
|
pageSize: this.pageSize, |
||||||
|
keyWord: this.keyword, |
||||||
|
platformId: 6, |
||||||
|
classificationId: this.teamId |
||||||
|
}).then(({ pageList }) => { |
||||||
|
this.list = pageList.records; |
||||||
|
this.total = pageList.total; |
||||||
|
}).catch(res => { }); |
||||||
|
}, |
||||||
|
initData () { |
||||||
|
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 => { }); |
||||||
|
}, |
||||||
|
delData (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) { |
||||||
|
// 1上2下 |
||||||
|
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() |
||||||
|
}, |
||||||
|
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])) |
||||||
|
}).catch(res => { }) |
||||||
|
} 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 => { }) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
/deep/.dia-form { |
||||||
|
.w-100 { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
.tips { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -1,17 +1,16 @@ |
|||||||
@import "lib/var"; |
@import 'lib/var'; |
||||||
@import "var"; |
@import 'var'; |
||||||
|
|
||||||
html, |
html, |
||||||
body, |
body, |
||||||
#app, |
#app, |
||||||
.wrapper { |
.wrapper { |
||||||
width: 100%; |
width: 100%; |
||||||
height: 100%; |
height: 100%; |
||||||
} |
} |
||||||
|
|
||||||
body { |
body { |
||||||
min-width: 1280px; |
font-family: PingFang, PingFang SC, 'Helvetica Neue', Helvetica, 'microsoft yahei', arial, STHeiTi, sans-serif; |
||||||
font-family: PingFang, PingFang SC, "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; |
font-size: 14px; |
||||||
font-size: 14px; |
background: #f0f2f5; |
||||||
background: #F0F2F5; |
|
||||||
} |
} |
Loading…
Reference in new issue