dev_202412
yujialong 8 months ago
parent dc44e73e80
commit 896fc92195
  1. 827
      src/pages/account/login/index.vue
  2. 15
      src/pages/station/list/index.vue
  3. 2
      src/pages/station/product/index.vue

@ -4,77 +4,51 @@
<div class="form">
<h6 class="title">欢迎使用请登录</h6>
<ul class="tab">
<li v-for="(item,index) in tabList"
:key="index"
:class="{active: form.distinguish == item.id}"
@click="typeClick(item)">{{item.label}}</li>
<li v-for="(item, index) in tabList" :key="index" :class="{ active: form.distinguish == item.id }"
@click="typeClick(item)">{{ item.label }}</li>
</ul>
<el-form :model="form"
:rules="rules"
ref="form"
style="margin-top: 20px">
<el-form :model="form" :rules="rules" ref="form" style="margin-top: 20px">
<!-- 学号工号 -->
<div v-show="!form.distinguish">
<el-form-item class="school-select"
prop="schoolId">
<el-form-item class="school-select" prop="schoolId">
<label class="label school"></label>
<el-select v-model="form.schoolId"
clearable
filterable
placeholder="请选择学校">
<el-option v-for="(item, i) in schoolList"
:key="i"
:label="item.schoolName"
:value="item.schoolId"></el-option>
<el-select v-model="form.schoolId" clearable filterable placeholder="请选择学校">
<el-option v-for="(item, i) in schoolList" :key="i" :label="item.schoolName"
:value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<div class="items">
<el-form-item prop="type"
style="width: 35%;margin-right: 15px">
<el-form-item prop="type" style="width: 35%;margin-right: 15px">
<label class="label workNumber"></label>
<el-select v-model="form.type"
placeholder="请选择类型"
@change="typeChange">
<el-option label="学生学号"
:value="1"></el-option>
<el-option label="老师工号"
:value="0"></el-option>
<el-select v-model="form.type" placeholder="请选择类型" @change="typeChange">
<el-option label="学生学号" :value="1"></el-option>
<el-option label="老师工号" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item class="flex-1"
prop="workNumber">
<el-form-item class="flex-1" prop="workNumber">
<label class="label account"></label>
<el-input v-model.trim="form.workNumber"
:placeholder="'请输入' + (form.type ? '学生学号' : '老师工号')"
@keyup.enter.native="submit"></el-input>
<el-input v-model.trim="form.workNumber" :placeholder="'请输入' + (form.type ? '学生学号' : '老师工号')"
@keyup.enter.native="submit"></el-input>
</el-form-item>
</div>
</div>
<!-- 手机号登录 -->
<el-form-item v-show="form.distinguish === 1"
prop="account">
<el-form-item v-show="form.distinguish === 1" prop="account">
<label class="label account"></label>
<el-input v-model.trim="form.account"
placeholder="请输入账号"
@keyup.enter.native="submit"></el-input>
<el-input v-model.trim="form.account" placeholder="请输入账号" @keyup.enter.native="submit"></el-input>
</el-form-item>
<template v-if="form.distinguish === 2">
<el-form-item prop="account">
<label class="label account"></label>
<el-input v-model.trim="form.account"
placeholder="请输入手机号/邮箱"
@keyup.enter.native="submit"></el-input>
<el-input v-model.trim="form.account" placeholder="请输入手机号/邮箱" @keyup.enter.native="submit"></el-input>
</el-form-item>
<el-form-item prop="code">
<label class="label code"></label>
<div class="ver-code">
<el-input v-model="form.code"
placeholder="请输入验证码"
maxlength="6"
@keyup.enter.native="submit"></el-input>
<el-button type="text"
@click="sendPhoneCodeLogin"
:disabled="phoneDisabledLogin">{{ phoneBtnTextLogin }}
<el-input v-model="form.code" placeholder="请输入验证码" maxlength="6"
@keyup.enter.native="submit"></el-input>
<el-button type="text" @click="sendPhoneCodeLogin" :disabled="phoneDisabledLogin">{{ phoneBtnTextLogin
}}
</el-button>
</div>
</el-form-item>
@ -82,116 +56,73 @@
<template v-if="form.distinguish !== 2">
<el-form-item prop="password">
<label class="password label"></label>
<el-input type="password"
placeholder="请输入密码"
v-model.trim="form.password"
@keyup.enter.native="submit">
<el-input type="password" placeholder="请输入密码" v-model.trim="form.password" @keyup.enter.native="submit">
</el-input>
</el-form-item>
<el-form-item prop="code">
<label class="label code"></label>
<el-input placeholder="请输入验证码"
v-model.trim="form.code"
@keyup.enter.native="submit">
<el-input placeholder="请输入验证码" v-model.trim="form.code" @keyup.enter.native="submit">
</el-input>
<img @click="getVerImg"
:src="verificationIMG"
class="ver-img"
alt="">
<img @click="getVerImg" :src="verificationIMG" class="ver-img" alt="">
</el-form-item>
</template>
<div class="bottom">
<el-link v-if="toMatch"
:underline="false"
type="primary"
@click="toAccount">暂无账号点击申请</el-link>
<el-checkbox v-show="!form.distinguish"
v-model="setDefault">设置为默认学校</el-checkbox>
<el-link v-if="toMatch" :underline="false" type="primary" @click="toAccount">暂无账号点击申请</el-link>
<el-checkbox v-show="!form.distinguish" v-model="setDefault">设置为默认学校</el-checkbox>
</div>
<el-button class="submit"
type="primary"
@click="submit">登录</el-button>
<el-button class="submit" type="primary" @click="submit">登录</el-button>
</el-form>
</div>
</div>
<el-dialog title="绑定手机号"
:visible.sync="phoneVisible"
:close-on-click-modal="false"
width="30%">
<el-dialog title="绑定手机号" :visible.sync="phoneVisible" :close-on-click-modal="false" width="30%">
<div style='padding: 0 13px 20px 13px;'>
依据国家政策法规需绑定手机号进行网络实名才可登录使用本平台
</div>
<el-form label-width="60px">
<el-form-item label="手机号">
<el-input style="width: 100%;"
placeholder="请输入手机号"
v-model="phone"
maxlength="11"
@change="phoneChange"></el-input>
<el-input style="width: 100%;" placeholder="请输入手机号" v-model="phone" maxlength="11"
@change="phoneChange"></el-input>
</el-form-item>
<el-form-item label="验证码">
<div class="ver-code">
<el-input v-model="phoneCode"
placeholder="请输入验证码"
maxlength="6"></el-input>
<el-button style="top: 1px"
type="text"
@click="sendPhoneCode(1)"
:disabled="binding === '' || phoneDisabled">{{ phoneBtnText }}
<el-input v-model="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input>
<el-button style="top: 1px" type="text" @click="sendPhoneCode(1)"
:disabled="binding === '' || phoneDisabled">{{
phoneBtnText }}
</el-button>
</div>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button size="small"
@click="phoneVisible = false"> </el-button>
<el-button size="small"
type="primary"
@click="phoneSubmit"> </el-button>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="phoneVisible = false"> </el-button>
<el-button size="small" type="primary" @click="phoneSubmit"> </el-button>
</span>
</el-dialog>
<el-dialog title="请选择"
:visible.sync="selectVisible"
:close-on-click-modal="false"
custom-class="select-dia"
width="643px">
<el-dialog title="请选择" :visible.sync="selectVisible" :close-on-click-modal="false" custom-class="select-dia"
width="643px">
<ul class="port">
<li :class="{active: selectedRole === 1}"
@click="selectRole(1)">
<img src="@/assets/img/login/male.png"
alt="">
<li :class="{ active: selectedRole === 1 }" @click="selectRole(1)">
<img src="@/assets/img/login/male.png" alt="">
<p>学生端</p>
</li>
<li :class="{active: selectedRole === 2}"
@click="selectRole(2)">
<img src="@/assets/img/login/female.png"
alt="">
<li :class="{ active: selectedRole === 2 }" @click="selectRole(2)">
<img src="@/assets/img/login/female.png" alt="">
<p>教师管理端</p>
</li>
</ul>
</el-dialog>
<el-dialog title="请选择您要登录的用户"
:visible.sync="userVisible"
:close-on-click-modal="false"
custom-class="user-dia"
width="500px">
<el-dialog title="请选择您要登录的用户" :visible.sync="userVisible" :close-on-click-modal="false" custom-class="user-dia"
width="500px">
<p class="tips">该手机号已绑定以下用户信息</p>
<ul class="users">
<li :class="{isEnable: !user.isEnable}"
v-for="(user, i) in users"
:key="i"
@click="chooseUser(user)">
<span>{{ user.schoolName }}{{ user.userName }}{{ user.workNumber }}{{ user.isEnable ? '' : '(已禁用)'}}</span>
<li :class="{ isEnable: !user.isEnable }" v-for="(user, i) in users" :key="i" @click="chooseUser(user)">
<span>{{ user.schoolName }}{{ user.userName }}{{ user.workNumber }}{{ user.isEnable ? '' : '(已禁用)' }}</span>
<i class="el-icon-right"></i>
</li>
</ul>
</el-dialog>
<el-dialog :visible.sync="infoVisible"
:close-on-click-modal="false"
custom-class="info-dia"
:show-close="false"
width="400px">
<el-dialog :visible.sync="infoVisible" :close-on-click-modal="false" custom-class="info-dia" :show-close="false"
width="400px">
<div class="info-header">
<i class="el-icon-warning"></i>
提示
@ -199,115 +130,64 @@
<div class="info-wrap">
<p class="tips">该手机号已与以下用户绑定</p>
<ul class="users">
<li v-for="(user, i) in infos"
:key="i">
<li v-for="(user, i) in infos" :key="i">
<span>{{ user.userName }}{{ user.schoolName }}</span>
</li>
</ul>
<div class="info-footer">
<el-button size="small"
type="primary"
@click="bindPhone">是本人继续绑定</el-button>
<el-button class="unbind"
size="small"
@click="unbindPhone">不是本人解绑以上用户并绑定新用户</el-button>
<el-button size="small" type="primary" @click="bindPhone">是本人继续绑定</el-button>
<el-button class="unbind" size="small" @click="unbindPhone">不是本人解绑以上用户并绑定新用户</el-button>
</div>
</div>
</el-dialog>
<!-- 购买弹框 -->
<el-dialog title="温馨提示"
:visible.sync="buyVisible"
width="400px"
center
:close-on-click-modal="false">
<el-dialog title="温馨提示" :visible.sync="buyVisible" width="400px" center :close-on-click-modal="false">
<div class="buy">
<p class="tips">您所选择的院校暂未在本平台开通组织账号请通知院校老师联系下方二维码客服咨询</p>
<img src="@/assets/img/wechat-code.jpeg"
alt="">
<img src="@/assets/img/wechat-code.jpeg" alt="">
</div>
</el-dialog>
<el-dialog title="账号申请"
:visible.sync="accountVisible"
:close-on-click-modal="false"
width="500px"
@close="accountClose">
<el-form class="dia-form"
ref="accountForm"
label-width="110px"
:model="accountForm"
:rules="accountRules">
<el-form-item prop="schoolId"
label="所属院校">
<el-select class="w-100"
v-model="accountForm.schoolId"
filterable
placeholder="请选择院校"
@change="schoolChange">
<el-option v-for="(item, i) in schoolList"
:key="i"
:label="item.schoolName"
:value="item.schoolId"></el-option>
<el-dialog title="账号申请" :visible.sync="accountVisible" :close-on-click-modal="false" width="500px"
@close="accountClose">
<el-form class="dia-form" ref="accountForm" label-width="110px" :model="accountForm" :rules="accountRules">
<el-form-item prop="schoolId" label="所属院校">
<el-select class="w-100" v-model="accountForm.schoolId" filterable placeholder="请选择院校" @change="schoolChange">
<el-option v-for="(item, i) in schoolList" :key="i" :label="item.schoolName"
:value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="workNumber"
label="学号">
<el-input placeholder="申请后无法修改,请确认填写正确"
v-model="accountForm.workNumber"
@change="workNumberChange"></el-input>
<el-form-item prop="workNumber" label="学号">
<el-input placeholder="申请后无法修改,请确认填写正确" v-model="accountForm.workNumber"
@change="workNumberChange"></el-input>
</el-form-item>
<el-form-item prop="userName"
label="姓名">
<el-input placeholder="请输入姓名"
v-model="accountForm.userName"
:disabled="formEnable"></el-input>
<el-form-item prop="userName" label="姓名">
<el-input placeholder="请输入姓名" v-model="accountForm.userName" :disabled="formEnable"></el-input>
</el-form-item>
<el-form-item prop="phone"
label="手机号">
<el-input placeholder="请输入手机号"
maxlength="11"
v-model.trim="accountForm.phone"
:disabled="formEnable"></el-input>
<el-form-item prop="phone" label="手机号">
<el-input placeholder="请输入手机号" maxlength="11" v-model.trim="accountForm.phone"
:disabled="formEnable"></el-input>
</el-form-item>
<el-form-item prop="code"
label="验证码">
<el-form-item prop="code" label="验证码">
<div class="ver-code">
<el-input v-model="accountForm.code"
placeholder="请输入验证码"
maxlength="6"
:disabled="formEnable"></el-input>
<el-button style="top: 1px"
type="text"
@click="sendCode"
:disabled="phoneDisabled && formEnable">{{ phoneBtnText }}
<el-input v-model="accountForm.code" placeholder="请输入验证码" maxlength="6" :disabled="formEnable"></el-input>
<el-button style="top: 1px" type="text" @click="sendCode" :disabled="phoneDisabled && formEnable">{{
phoneBtnText }}
</el-button>
</div>
</el-form-item>
<el-form-item prop="password"
label="登录密码">
<el-input placeholder="请输入登录密码"
type="password"
maxlength="6"
v-model="accountForm.password"
:disabled="formEnable"></el-input>
<el-form-item prop="password" label="登录密码">
<el-input placeholder="请输入登录密码" type="password" maxlength="6" v-model="accountForm.password"
:disabled="formEnable"></el-input>
</el-form-item>
<el-form-item prop="rePassword"
label="确认登录密码">
<el-input placeholder="请再次输入登录密码"
type="password"
maxlength="6"
v-model="accountForm.rePassword"
:disabled="formEnable"></el-input>
<el-form-item prop="rePassword" label="确认登录密码">
<el-input placeholder="请再次输入登录密码" type="password" maxlength="6" v-model="accountForm.rePassword"
:disabled="formEnable"></el-input>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer">
<el-button v-if="!formEnable"
size="small"
type="primary"
@click="accountSubmit">申请</el-button>
<el-button size="small"
@click="accountVisible = false">取消</el-button>
<span slot="footer" class="dialog-footer">
<el-button v-if="!formEnable" size="small" type="primary" @click="accountSubmit">申请</el-button>
<el-button size="small" @click="accountVisible = false">取消</el-button>
</span>
</el-dialog>
<v-footer ref="footer"></v-footer>
@ -441,6 +321,7 @@ export default {
vFooter
},
mounted () {
localStorage.removeItem('opened')
this.getVerImg()
this.getSchool()
//
@ -874,278 +755,332 @@ export default {
<style scoped lang="scss">
.wrap {
min-height: 100%;
background-color: #f3f6fa;
min-height: 100%;
background-color: #f3f6fa;
}
.ver-code {
position: relative;
.el-button {
position: absolute;
top: 10px;
right: 10px;
}
position: relative;
.el-button {
position: absolute;
top: 10px;
right: 10px;
}
}
.login {
min-height: calc(100vh - 43px);
padding-top: calc((100vh - 584px) / 2);
background: url(../../../assets/img/shapes/shape1.png) (0 123px) / auto no-repeat,
url(../../../assets/img/shapes/shape2.png) (35px 238px) / auto no-repeat,
url(../../../assets/img/shapes/shape3.png) (0 485px) / auto no-repeat,
url(../../../assets/img/shapes/shape4.png) (right 50%) / auto no-repeat,
url(../../../assets/img/shapes/shape5.png) (right 80%) / auto no-repeat,
url(../../../assets/img/shapes/shape6.png) (right bottom) / auto no-repeat;
.tab {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
border-bottom: 2px solid #e1e6f2;
li {
padding: 18px 0;
margin-bottom: -1px;
font-size: 16px;
color: #555;
cursor: pointer;
border-bottom: 4px solid transparent;
&:last-child {
margin-right: 0;
}
&.active {
color: $main-color;
border-bottom-color: $main-color;
}
}
}
.items {
display: flex;
align-items: center;
}
.form {
width: 436px;
padding: 38px 38px 60px;
margin: 0 auto 0;
border-radius: 6px;
background-color: #fff;
.title {
margin-bottom: 25px;
font-size: 26px;
color: #0b1d30;
letter-spacing: 4px;
}
}
/deep/.el-form-item {
margin-bottom: 20px;
}
/deep/.el-input__inner {
position: relative;
height: 52px;
padding: 0 20px 0 34px;
line-height: 50px;
background-color: #fbfbfb;
border: 1px solid #e1e6f2;
border-radius: 4px !important;
}
.bottom {
display: flex;
justify-content: space-between;
}
.el-select {
width: 100%;
}
.label {
z-index: 1;
position: absolute;
top: 17px;
left: 11px;
width: 18px;
height: 18px;
background: url(../../../assets/img/login/account.png) 0 0/100% 100% no-repeat;
}
.school {
background-image: url(../../../assets/img/login/school.png);
}
.workNumber {
width: 17px;
background-image: url(../../../assets/img/login/workNumber.png);
}
.password {
top: 18px;
background-image: url(../../../assets/img/login/password.png);
}
.code {
top: 18px;
background-image: url(../../../assets/img/login/code.png);
}
.ver-img {
position: absolute;
top: 1px;
right: 1px;
}
/deep/.el-form-item__error {
top: 105%;
left: auto;
right: 0;
color: #ffa94e;
min-height: calc(100vh - 43px);
padding-top: calc((100vh - 584px) / 2);
background: url(../../../assets/img/shapes/shape1.png) (0 123px) / auto no-repeat,
url(../../../assets/img/shapes/shape2.png) (35px 238px) / auto no-repeat,
url(../../../assets/img/shapes/shape3.png) (0 485px) / auto no-repeat,
url(../../../assets/img/shapes/shape4.png) (right 50%) / auto no-repeat,
url(../../../assets/img/shapes/shape5.png) (right 80%) / auto no-repeat,
url(../../../assets/img/shapes/shape6.png) (right bottom) / auto no-repeat;
.tab {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
border-bottom: 2px solid #e1e6f2;
li {
padding: 18px 0;
margin-bottom: -1px;
font-size: 16px;
color: #555;
cursor: pointer;
border-bottom: 4px solid transparent;
&:last-child {
margin-right: 0;
}
&.active {
color: $main-color;
border-bottom-color: $main-color;
}
}
.submit {
width: 100%;
height: 48px;
margin-top: 30px;
line-height: 48px;
padding: 0;
font-size: 20px;
background-color: $main-color;
border-radius: 4px;
border: 0;
}
.items {
display: flex;
align-items: center;
}
.form {
width: 436px;
padding: 38px 38px 60px;
margin: 0 auto 0;
border-radius: 6px;
background-color: #fff;
.title {
margin-bottom: 25px;
font-size: 26px;
color: #0b1d30;
letter-spacing: 4px;
}
}
/deep/.el-form-item {
margin-bottom: 20px;
}
/deep/.el-input__inner {
position: relative;
height: 52px;
padding: 0 20px 0 34px;
line-height: 50px;
background-color: #fbfbfb;
border: 1px solid #e1e6f2;
border-radius: 4px !important;
}
.bottom {
display: flex;
justify-content: space-between;
}
.el-select {
width: 100%;
}
.label {
z-index: 1;
position: absolute;
top: 17px;
left: 11px;
width: 18px;
height: 18px;
background: url(../../../assets/img/login/account.png) 0 0/100% 100% no-repeat;
}
.school {
background-image: url(../../../assets/img/login/school.png);
}
.workNumber {
width: 17px;
background-image: url(../../../assets/img/login/workNumber.png);
}
.password {
top: 18px;
background-image: url(../../../assets/img/login/password.png);
}
.code {
top: 18px;
background-image: url(../../../assets/img/login/code.png);
}
.ver-img {
position: absolute;
top: 1px;
right: 1px;
}
/deep/.el-form-item__error {
top: 105%;
left: auto;
right: 0;
color: #ffa94e;
}
.submit {
width: 100%;
height: 48px;
margin-top: 30px;
line-height: 48px;
padding: 0;
font-size: 20px;
background-color: $main-color;
border-radius: 4px;
border: 0;
}
}
.copyright {
padding: 18px 0;
padding: 18px 0;
font-size: 12px;
text-align: center;
background-color: #f3f6fa;
a {
color: #b1b4b8;
font-size: 12px;
text-align: center;
background-color: #f3f6fa;
a {
color: #b1b4b8;
font-size: 12px;
&:hover {
opacity: 0.8;
}
&:hover {
opacity: 0.8;
}
}
}
.port {
display: flex;
justify-content: center;
padding: 60px 0;
li {
text-align: center;
cursor: pointer;
&:first-child {
margin-right: 86px;
}
&:hover img {
opacity: 0.9;
}
&.active p,
&:hover p {
background-color: #9278ff;
}
display: flex;
justify-content: center;
padding: 60px 0;
li {
text-align: center;
cursor: pointer;
&:first-child {
margin-right: 86px;
}
img {
width: 122px;
margin-bottom: 20px;
&:hover img {
opacity: 0.9;
}
p {
width: 88px;
margin: 0 auto;
line-height: 21px;
color: #fff;
background-color: #e8e3ff;
border-radius: 4px;
&.active p,
&:hover p {
background-color: #9278ff;
}
}
img {
width: 122px;
margin-bottom: 20px;
}
p {
width: 88px;
margin: 0 auto;
line-height: 21px;
color: #fff;
background-color: #e8e3ff;
border-radius: 4px;
}
}
/deep/.select-dia {
margin-top: calc((100vh - 383px) / 2) !important;
margin-top: calc((100vh - 383px) / 2) !important;
}
/deep/.user-dia {
.tips {
margin-bottom: 20px;
text-align: center;
color: #666;
}
.users {
li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 15px;
margin-bottom: 10px;
line-height: 40px;
font-size: 14px;
background-color: #ebeef5;
cursor: pointer;
&.isEnable {
color: #c0c4cc;
background-color: #f5f7fa;
cursor: not-allowed;
}
&:last-child {
margin-bottom: 0;
}
&:hover {
background-color: #d3e0ff;
}
i {
font-size: 16px;
}
}
.tips {
margin-bottom: 20px;
text-align: center;
color: #666;
}
.users {
li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 15px;
margin-bottom: 10px;
line-height: 40px;
font-size: 14px;
background-color: #ebeef5;
cursor: pointer;
&.isEnable {
color: #c0c4cc;
background-color: #f5f7fa;
cursor: not-allowed;
}
&:last-child {
margin-bottom: 0;
}
&:hover {
background-color: #d3e0ff;
}
i {
font-size: 16px;
}
}
}
}
/deep/.info-dia {
.el-dialog__header {
border-bottom: 0;
}
.info-header {
position: absolute;
top: 20px;
display: flex;
align-items: center;
font-size: 16px;
color: #333;
}
.el-icon-warning {
margin-right: 10px;
color: #e6a23c;
font-size: 24px;
}
.info-wrap {
padding: 10px 33px;
}
.users {
max-height: 125px;
margin-top: 20px;
overflow: auto;
li {
margin: 5px;
font-size: 14px;
color: #333;
}
}
.info-footer {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.el-button {
width: 142px;
}
.unbind {
white-space: normal;
line-height: 1.6;
.el-dialog__header {
border-bottom: 0;
}
.info-header {
position: absolute;
top: 20px;
display: flex;
align-items: center;
font-size: 16px;
color: #333;
}
.el-icon-warning {
margin-right: 10px;
color: #e6a23c;
font-size: 24px;
}
.info-wrap {
padding: 10px 33px;
}
.users {
max-height: 125px;
margin-top: 20px;
overflow: auto;
li {
margin: 5px;
font-size: 14px;
color: #333;
}
}
.info-footer {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.el-button {
width: 142px;
}
.unbind {
white-space: normal;
line-height: 1.6;
}
}
/deep/.dia-form {
.w-100 {
width: 100%;
}
.tips {
display: flex;
justify-content: center;
align-items: center;
}
.w-100 {
width: 100%;
}
.tips {
display: flex;
justify-content: center;
align-items: center;
}
}
.buy {
text-align: center;
.tips {
margin-bottom: 10px;
font-size: 14px;
}
img {
width: 85%;
}
text-align: center;
.tips {
margin-bottom: 10px;
font-size: 14px;
}
img {
width: 85%;
}
}
@media (max-height: 680px) {
.wrap .login {
padding: 40px 0;
}
.wrap .login {
padding: 40px 0;
}
}
</style>

@ -21,7 +21,8 @@
<div v-else class="cover" :style="{ backgroundImage: 'url(' + item.coverUrl + ')' }"></div>
<div class="bottom">
<p class="text"><span>{{ item.goodsName || item.curriculumName }}</span></p>
<a>{{ item.isInEffect ? '进入实验' : '续费' }}</a>
<a v-if="!item.isInEffect">续费</a>
<a v-else-if="item.cid">进入实验</a>
</div>
</div>
</template>
@ -55,7 +56,7 @@ export default {
isZj: location.host === '10.60.32.76', //
isSq: Setting.isSq,
keyword: this.$route.query.keyword || '',
active: +this.$route.query.active || '',
active: +this.$route.query.active || 0,
searchTimer: null,
tabs: [],
products: [],
@ -78,15 +79,15 @@ export default {
async getTab () {
const { data } = await this.$get(this.api.getSchoolCourseAuthority)
this.tabs = [
{
classificationId: 0,
classificationName: '最近使用',
},
{
classificationId: '',
classificationName: '全部',
},
...data,
{
classificationId: 0,
classificationName: '最近使用',
},
]
this.getList()
},
@ -99,7 +100,7 @@ export default {
pageSize: 100,
goodsName: this.keyword,
})
this.curriculumList = page.records
this.products = page.records
} else {
const { data } = await this.$get(this.api.schoolCourse, {
authority: this.active,

@ -120,6 +120,7 @@
<script>
import breadcrumb from '@/components/breadcrumb'
import Util from "@/libs/util";
export default {
components: { breadcrumb },
data () {
@ -290,6 +291,7 @@ export default {
dangerouslyUseHTMLString: true,
})
await this.$post(`${this.api.requestRenewalNotice}?mallId=${this.id}`)
Util.successMsg('续费申请提交成功!')
} catch (e) { }
},
//

Loading…
Cancel
Save