Commit 37ec2a16 authored by 杨梦雪's avatar 杨梦雪

比对

parent c5e32e8a
<template>
<div id="app">
<router-view />
<router-view v-if="isRouterAlive"/>
</div>
</template>
<script>
......@@ -8,13 +8,17 @@
export default {
name: "app",
data() {
return {};
return { isRouterAlive: true
};
},
created() {
this.$store.commit('setActiveIndex', this.$route.path)
},
methods: {
reload () {
this.isRouterAlive = false
this.$nextTick(() => (this.isRouterAlive = true))
}
},
watch: {
'$route.path'(val) {
......
.btn {
padding-bottom: 0 !important;
}
.referInfo {
}
.referInfo {
padding: 0 50px 110px 50px;
.checkForm {
flex: 1;
.cont_title {
height: 48px;
line-height: 48px;
......@@ -13,6 +15,7 @@
font-weight: 500;
color: #12141c;
}
.tipsMsg {
padding: 0 10px;
margin-bottom: 15px;
......@@ -22,8 +25,18 @@
color: #a7a2a6;
}
.school .el-form-item {
margin-bottom: 5px !important;
height: 85px !important;
}
::v-deep .multiform .el-form-item__label {
font-size: 15px !important;
}
::v-deep .el-form-item {
margin-bottom: 20px;
height: 70px;
.el-form-item__label {
height: 32px;
......@@ -32,19 +45,24 @@
font-family: PingFang SC;
font-weight: 500;
color: #12141c;
}
&.no_label .el-form-item__label:before {
content: "" !important;
}
.el-form-item__content {
// height: 40px;
// line-height: 40px;
.el-input {
height: 40px;
.el-input--small .el-input__inner {
min-height: 40px !important;
}
.el-input__inner {
min-height: 40px;
line-height: 40px;
......@@ -61,6 +79,20 @@
}
}
}
.el-textarea .el-input__count{
right: 15px!important;
}
.el-textarea__inner {
padding: 5px 17px 59px 10px!important;
&:hover {
border-color: var(--color);
}
&:focus {
border-color: var(--color);
}
}
// 圆
.el-radio-group {
.el-radio {
......@@ -74,6 +106,7 @@
height: 20px;
line-height: 20px;
border-radius: 50%;
&:hover {
border-color: var(--color);
}
......@@ -103,10 +136,11 @@
}
&.bgPic {
// height: 260px;
.el-form-item__label {
font-size: 14px;
}
.bgInfo {
font-size: 12px;
font-family: PingFang SC;
......@@ -115,22 +149,27 @@
line-height: 24px;
}
}
.el-select {
width: 100%;
}
.image_add {
position: relative;
margin-top: 24px;
.image_in {
.limit_10 {
display: none;
}
.el-upload-list--picture-card {
.item_img {
width: 100%;
}
}
}
//去除upload组件过渡效果 css
.el-upload-list__item {
transition: none !important;
......@@ -138,15 +177,19 @@
.is-ready {
display: none;
}
div {
height: 100%;
}
}
.el-upload--picture-card {
display: inline-block;
}
.el-upload {
position: relative;
.el-icon-circle-plus {
font-size: 52px;
color: var(--color);
......@@ -156,10 +199,12 @@
transform: translate(-50%, -50%);
}
}
i {
font-size: 22px;
color: #ffffff;
}
.text {
font-size: 14px;
color: #a7a2a6;
......@@ -168,4 +213,4 @@
}
}
}
}
\ No newline at end of file
}
.flex{
display: flex;
}
.referHome {
::v-deep .readForm {
flex: 1;
.cont_title {
position: relative;
height: 38px;
line-height: 38px;
font-size: 16px;
font-family: PingFang SC;
font-weight: 500;
color: #12141c;
padding-left: 10px;
margin-top: 10px;
span {
margin-right: 15px;
}
.line {
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 14px;
background-color: #12141c;
opacity: 0.4;
}
}
.cont_title_2 {
height: 28px;
line-height: 28px;
font-size: 14px;
font-family: PingFang SC;
font-weight: 500;
color: #12141c;
padding: 0 10px;
}
.cont_info {
line-height: 20px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
padding: 0 10px 10px 10px;
}
.fj_info {
line-height: 24px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
}
.el-form-item {
margin-bottom: 15px;
padding: 0 10px;
.el-form-item__label {
height: 32px;
line-height: 32px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #12141c;
}
.el-form-item__content {
.el-input,
.el-input-number {
width: 100%;
height: 36px;
.el-input__inner {
text-align: left;
height: 36px;
border-radius: 4px;
border: 1px solid #e1e3e6;
background-color: #ffffff;
color: #656872;
&:hover {
border-color: #4d75f3;
}
&:focus {
border-color: #4d75f3;
}
}
}
.el-textarea__inner {
min-height: 100px !important;
}
}
&.btn {
margin-top: 50px;
.el-form-item__content {
text-align: center;
}
}
}
.image_add {
position: relative;
margin-top: 24px;
.image_in {
.limit_10 {
display: none;
}
.el-upload-list--picture-card {
.item_img {
width: 100%;
}
}
}
//去除upload组件过渡效果 css
.el-upload-list__item {
transition: none !important;
.is-ready {
display: none;
}
div {
height: 100%;
}
}
.el-upload--picture-card {
display: inline-block;
}
.el-upload {
position: relative;
.el-icon-circle-plus {
font-size: 52px;
color: var(--color);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
i {
font-size: 22px;
color: #ffffff;
}
.text {
font-size: 14px;
color: #a7a2a6;
text-align: center;
}
}
.upload_box {
.img_list {
position: relative;
float: left;
width: 160px;
height: 120px;
text-align: center;
background: transparent;
border-radius: 4px;
border: 2px dashed #e1e3e6;
margin: 0 8px 8px 0;
padding: 5px;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
> div {
width: 100%;
// .home_icon {
// width: 30px;
// height: 30px;
// display: block;
// margin: 0 auto;
.el-image{
width: 30px;
height: 30px;
display: block;
margin: 0 auto;
img {
width: auto;
height: auto;
max-width: 100% !important;
max-height: 100% !important;
}
}
.item_name {
font-size: 12px;
color: #999999;
line-height: 16px;
word-wrap: break-word;
margin: 5px 0 10px;
}
.item_remove {
// width: 40px;
font-size: 12px;
color: #999999;
font-weight: bold;
line-height: 16px;
margin: 0 auto;
&:hover {
cursor: pointer;
color: red;
}
}
}
}
.el-upload {
width: 160px !important;
height: 120px !important;
line-height: 120px !important;
background: transparent;
border-radius: 4px;
border: 2px dashed #e1e3e6;
text-align: center !important;
}
}
}
}
\ No newline at end of file
......@@ -80,9 +80,7 @@ export function getDate(fmt, dt = new Date()) {
export function timeSpan(d1, d2) {
let dateBegin = new Date(d1.replace(/-/g, "/")); //将-转化为/,使用new Date
let dateEnd = new Date(d2.replace(/-/g, "/")); //将-转化为/,使用new Date
let dateDiff = dateEnd.getTime() - dateBegin.getTime(); //时间差的毫秒数
return Math.round(dateDiff / 1000);
}
......
......@@ -14,6 +14,7 @@ const emailReg = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/
const phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/
export default {
//手机号验证
validatePhone: function (rule, value, callback) {
if (!phoneReg.test(value) || value.length !== 11) {
......@@ -25,10 +26,13 @@ export default {
validateid_card: function (rule, value, callback) {
// console.log(value, 'sss')
if (value) {
if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
callback(new Error("你输入的身份证长度或格式错误"));
return callback(new Error("你输入的身份证长度或格式错误"));
}
}
callback();
},
// 数字验证
validateNumber: function (rule, value, callback) {
......@@ -48,7 +52,7 @@ export default {
},
// 邮箱验证
validateEmail: function (rule, value, callback) {
console.log(value,'ssss')
console.log(value, 'ssss')
if (!emailReg.test(value)) {
callback(new Error('邮箱格式错误!'))
} else {
......
......@@ -4,9 +4,9 @@
<div class="footer">
<div class="com-container content">
<ul class="contact_list">
<li>
<li v-if="$store.state.human != 1">
<i class="el-icon-message"></i>
<span>联系邮箱</span>ydhdservice@163.com
<span>联系邮箱</span>service@campcenter.cn
</li>
<!-- <li>
<i class="el-icon-phone-outline"></i>
......@@ -43,6 +43,7 @@ export default {
<style lang="scss" scoped>
@import "a/scss/common";
.footer {
margin-top: 20px;
font-family: PingFang SC;
font-size: 14px;
height: 169px;
......
......@@ -2,7 +2,7 @@
<div class="Header">
<div class="H_content com-container">
<div class="image">
<img :src="system_logo" alt=""/>
<img :src="system_logo" alt="" />
</div>
<div class="right" v-if="!isLogin">
<span
......@@ -21,19 +21,18 @@
<div class="right alreadyLogin" v-else>
<el-dropdown @command="handleCommand" trigger="click">
<div class="el-dropdown-link">
<img src="@/assets/img/default.svg" class="img_user"/>
<img src="@/assets/img/default.svg" class="img_user" />
<span class="phone">{{ phone }}</span>
<i class="el-icon-arrow-down el-icon--right"></i>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1" @click="toCenter">
<!-- <el-dropdown-item command="1" @click="toCenter">
<i class="el-icon-user"></i>个人中心
</el-dropdown-item
>
> -->
<el-dropdown-item command="2" @click="logout">
<i class="el-icon-switch-button"></i>退出
</el-dropdown-item
>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
......@@ -41,11 +40,10 @@
</div>
</template>
<script>
/* eslint-disable */
import Cookie from "js-cookie";
import {logout} from "r/index/login";
/* eslint-disable */
import { logout } from "r/index/login";
export default {
export default {
name: "Header",
data() {
return {
......@@ -93,11 +91,10 @@
}).catch((err) => err);
if (confirmResult !== "confirm")
return this.$message.info("您取消了退出");
// 清除本地缓存除了大学logo
// window.localStorage.clear();
// window.localStorage.clear();]
this.reload()
let code = this.$store.state.indexIdentity;
window.localStorage.removeItem("doubt_code" + code);
window.localStorage.removeItem("doubt_info" + code);
window.localStorage.removeItem("doubt_check" + code);
......@@ -113,26 +110,49 @@
window.localStorage.removeItem("bk_pic" + code);
window.localStorage.removeItem("examine_status" + code);
window.localStorage.removeItem("examine_reason" + code);
window.localStorage.removeItem("sign_up_file_18355151517" + code);
window.localStorage.removeItem(
"sign_up_file_18355151517" +
window.localStorage.getItem("phone" + code) +
code
);
window.localStorage.removeItem("schoolName" + code);
window.localStorage.removeItem("camp_statement" + code);
// window.localStorage.removeItem("restet_code_time" + code, )
window.localStorage.removeItem("transfer_account" + code);
window.localStorage.removeItem("payee" + code);
window.localStorage.removeItem("bank_first" + code);
window.localStorage.removeItem("bank_idcard" + code);
window.localStorage.removeItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code
);
this.isLogin = false;
this.$message.success('退出成功');
this.reload()
console.log(this.$store.state.human)
if (this.$store.state.human == 1) {
console.log(222)
await this.$router.replace({
path: "/login",
query: {
code: code,
},
});
} else {
console.log(code)
await this.$router.replace("/" + code);
}
this.$message.success("退出成功");
await logout({});
},
onMouserEnter(val) {
this.isHover = val;
},
},
};
};
</script>
<style lang="scss" scoped>
@import "a/scss/common";
@import "a/scss/common";
.Header {
.Header {
font-family: PingFang SC;
height: 80px;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.12);
......@@ -201,5 +221,5 @@
}
}
}
}
}
</style>
<template>
<div class="Header">
<div class="H_content com-container">
<div class="image" @click="toRecruit">
<img :src="system_logo" alt="" />
</div>
<div class="right">
<el-dropdown @command="handleCommand" trigger="click">
<div class="el-dropdown-link">
<img src="@/assets/img/default.svg" class="img_user" />
<span class="phone">{{ phone }}</span>
<i class="el-icon-arrow-down el-icon--right"></i>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1">
<i class="el-icon-switch-button"></i>退出
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</template>
<script>
/* eslint-disable */
import Cookie from "js-cookie";
import { logout } from "r/index/login";
export default {
name: "Header",
data() {
return {
phone: window.localStorage.getItem(
"phone" + this.$store.state.indexIdentity
),
system_logo: window.localStorage.getItem(
"system_logo" + this.$store.state.indexIdentity
),
};
},
methods: {
handleCommand(command) {
if (command == 1) {
this.logout();
}
},
// 退出
async logout() {
const confirmResult = await this.$confirm(`确认退出登录?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
closeOnClickModal: false,
type: "warning",
}).catch((err) => err);
if (confirmResult !== "confirm")
return this.$message.info("您取消了退出");
// 清除本地缓存除了大学logo
window.localStorage.clear();
let code = this.$store.state.indexIdentity;
await this.$router.replace("/" + code);
this.$message.success("退出成功");
await logout({});
},
// 点击图片跳转到招生简章页面
toRecruit() {
// 清除本地缓存除了大学logo
let code = this.$store.state.indexIdentity;
this.$router.replace("/" + code);
},
},
};
</script>
<style lang="scss" scoped>
@import "a/scss/common";
.Header {
font-family: PingFang SC;
height: 80px;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.12);
.H_content {
height: 100%;
display: flex;
flex-flow: row;
align-items: center;
justify-content: space-between;
.image img {
// width: 318px;
height: 62px;
}
.right {
height: 80px;
::v-deep .el-dropdown {
height: 80px;
.el-dropdown-link {
height: 80px;
display: flex;
flex-flow: row;
align-items: center;
.img_user {
width: 34px;
height: 34px;
background-color: #d8d8d8;
border-radius: 50%;
}
.phone {
margin: 0 10px 0 12px;
}
}
&:hover {
cursor: pointer;
}
}
}
}
}
</style>
<template>
<template>
<el-dialog
title="微信支付"
:visible.sync="dialogVisible"
......@@ -9,16 +9,18 @@
@close="cancelBtn()"
>
<div class="pay_code">
<div v-if="isShowqr">
<div v-show="isShowqr == 1">
<!-- <div class="pay_time">支付剩余时间<span>15分30秒</span></div> -->
<div class="money">{{ has_amount }}</div>
<div class="img_qr">
<div class="qrcode" ref="qrCodeUrl"></div>
</div>
<div>请使用<span>微信</span>扫一扫,扫描二维码支付</div>
<div>付款码为动态码,仅支持通过本页面进行扫描付款操作,不支持另存图片后扫描支付。</div>
<div>
付款码为动态码,仅支持通过本页面进行扫描付款操作,不支持另存图片后扫描支付。
</div>
<div v-if="!isShowqr">
</div>
<div v-show="isShowqr == 2">
<div class="info_2" style="color: #000; font-size: 18px">
<i class="el-icon-warning"></i>{{ message }}
</div>
......@@ -35,7 +37,6 @@
<script>
/* eslint-disable */
import Cookie from "js-cookie"
import { getWxConfig } from "r/index/pay";
import { SERVER_WS_URL } from "config/server";
import QRCode from "qrcodejs2";
......@@ -48,7 +49,7 @@ export default {
return {
dialogVisible: this.confirmSignUpDialogFu,
message: "",
isShowqr: true, // 展示支付二维码
isShowqr: 0, // 展示支付二维码
token: "",
websocket: null, //websocket连接
lockReconnect: false, //是否真正建立连接
......@@ -60,26 +61,32 @@ export default {
};
},
created() {
this.token = window.localStorage.getItem("index-token"+this.$store.state.indexIdentity);
this.has_amount = window.localStorage.getItem("has_amount"+this.$store.state.indexIdentity);
this.token = window.localStorage.getItem(
"index-token" + this.$store.state.indexIdentity
);
this.has_amount = window.localStorage.getItem(
"has_amount" + this.$store.state.indexIdentity
);
},
methods: {
async confirm() {
// console.log(SERVER_WS_URL);
let { data: res } = await getWxConfig({
// exam_uuid: this.examuuid,
pay_type: 1,
pay_type: 3,
});
// console.log(res);
if (res.code !== 200) {
if (res.code == 400801) {
return this.cancelBtn();
}
this.isShowqr = 2;
this.message = res.message;
this.isShowqr = false;
return;
}
this.isShowqr = true;
this.isShowqr = 1;
console.log(res.code_url);
this.createQrCode(res.code_url);
//初始化 websocket 链接
this.initWebSocket();
......@@ -129,9 +136,9 @@ export default {
} else if (!this.dialogVisible) {
return;
} else {
let code=this.$store.state.indexIdentity
let code = this.$store.state.indexIdentity;
if (!this.token || this.token == "") {
this.token = window.localStorage.getItem("index-token"+code);
this.token = window.localStorage.getItem("index-token" + code);
}
let token = this.token;
const wssURL = SERVER_WS_URL + "/order?token=" + token + "&channel=pc";
......@@ -216,15 +223,19 @@ export default {
websocketSend() {
//数据发送
let sendData = {
order_no: window.localStorage.getItem("order_no"+this.$store.state.indexIdentity),
cam_id: window.localStorage.getItem("campsite_id"+this.$store.state.indexIdentity),
order_no: window.localStorage.getItem(
"order_no" + this.$store.state.indexIdentity
),
cam_id: window.localStorage.getItem(
"campsite_id" + this.$store.state.indexIdentity
),
token: this.token,
};
this.websocket.send(JSON.stringify(sendData));
},
// 接收到消息的回调方法
websocketOnmessage(event) {
// console.log(event, "event");
console.log(event, "event");
if (event.data !== "Opened") {
//const data = JSON.parse(event.data);
// console.log("接收到消息的回调方法", event.data);
......@@ -237,7 +248,7 @@ export default {
// status=6,跳转到报名成功页面
// this.$emit("getstatus", res.data.status.status);
let code = this.$store.state.indexIdentity;
this.$router.push("/signUp/success?code="+code);
this.$router.push("/signUp/success?code=" + code);
} else {
//收到服务器信息,心跳重置
this.reset();
......
......@@ -2,20 +2,22 @@
<div class="Header">
<div class="H_content com-container">
<div class="image" @click="toRecruit">
<img :src="system_logo" alt=""/>
<img :src="system_logo" alt="" />
</div>
<div class="right">
<el-dropdown @command="handleCommand" trigger="click">
<div class="el-dropdown-link">
<img src="@/assets/img/default.svg" class="img_user"/>
<img src="@/assets/img/default.svg" class="img_user" />
<span class="phone">{{ phone }}</span>
<i class="el-icon-arrow-down el-icon--right"></i>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1">
<!-- <el-dropdown-item command="1">
<i class="el-icon-user"></i>个人资料
</el-dropdown-item> -->
<el-dropdown-item command="2">
<i class="el-icon-switch-button"></i>退出
</el-dropdown-item
>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
......@@ -23,21 +25,28 @@
</div>
</template>
<script>
/* eslint-disable */
import Cookie from "js-cookie"
import {logout} from "r/index/login";
/* eslint-disable */
import Cookie from "js-cookie";
import { logout } from "r/index/login";
export default {
export default {
name: "Header",
data() {
return {
phone: window.localStorage.getItem("phone" + this.$store.state.indexIdentity),
system_logo: window.localStorage.getItem("system_logo" + this.$store.state.indexIdentity),
phone: window.localStorage.getItem(
"phone" + this.$store.state.indexIdentity
),
system_logo: window.localStorage.getItem(
"system_logo" + this.$store.state.indexIdentity
),
};
},
methods: {
handleCommand(command) {
if (command == 1) {
let code = this.$store.state.indexIdentity;
this.$router.push("/Info/personalInfo?code=" + code);
} else if (command == 2) {
this.logout();
}
},
......@@ -55,8 +64,18 @@
// 清除本地缓存除了大学logo
window.localStorage.clear();
let code = this.$store.state.indexIdentity;
if (this.$store.state.human == 1) {
await this.$router.replace({
path: "/login",
query: {
code: code,
},
});
} else {
await this.$router.replace("/" + code);
this.$message.success('退出成功');
}
// await this.$router.replace("/" + code);
this.$message.success("退出成功");
await logout({});
},
// 点击图片跳转到招生简章页面
......@@ -66,12 +85,12 @@
this.$router.replace("/" + code);
},
},
};
};
</script>
<style lang="scss" scoped>
@import "a/scss/common";
@import "a/scss/common";
.Header {
.Header {
font-family: PingFang SC;
height: 80px;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.12);
......@@ -83,10 +102,15 @@
align-items: center;
justify-content: space-between;
.image img {
.image {
img {
// width: 318px;
height: 62px;
}
&:hover {
cursor: pointer;
}
}
.right {
height: 80px;
......@@ -118,5 +142,5 @@
}
}
}
}
}
</style>
......@@ -2,7 +2,29 @@
<!--底部-->
<div class="confirm">
<div class="title">{{ info.name }}报名须知</div>
<el-form
ref="referRef"
:model="referForm"
label-position="top"
class="checkForm"
:rules="referInfoRules"
>
<el-form-item v-if="is_multiform == 1"
label="活动形式"
prop="multiform"
class="multiform"
style="height: 100%"
:rules="
is_multiform == 1 ? referInfoRules.multiform : [{ required: false }]
"
>
<el-radio-group ref="multiform" v-model="referForm.multiform">
<div v-for="item in multiform" :key="item.id">
<el-radio :label="item.id.toString()">{{item.multiform_name}}</el-radio>
</div>
</el-radio-group>
</el-form-item>
</el-form>
<div v-html="info.exam_instructions"></div>
<!-- <p>
南开大学是教育部直属重点综合性大学,是敬爱的周恩来总理的母校。新中国成立以来,学校发展始终得到党和国家的亲切关怀。毛泽东主席题写校名、亲临视察;周恩来总理三回母校指导;邓小平同志会见数学大师陈省身,批示成立南开数学研究所;江泽民同志、胡锦涛同志先后视察南开。特别是党的十八大以来,习近平总书记多次对南开的发展给予肯定,并对相关工作回信和勉励,更在百年校庆之际亲临南开视察。
......@@ -27,58 +49,85 @@
</template>
<script>
/* eslint-disable */
import Cookie from "js-cookie";
import { setSignShould } from "r/index/signUp";
import { getCam } from "r/index/login";
export default {
/* eslint-disable */
import Cookie from "js-cookie";
import {setSignShould} from "r/index/signUp";
import {getCam} from "r/index/login";
export default {
name: "Confirm",
// props: { statusNum: [String, Number] }, //进度参数
data() {
return {
checked: false,
info: {},
};
referForm: {multiform: null,},
//是否开启多形式报名
is_multiform: 0,
multiform: [],
referInfoRules: {
multiform: [{required: true, message: '请选择活动形式', trigger: 'change'}],
},
}
},
created() {
this.getCams();
const code = this.$store.state.indexIdentity;
//是否开启多形式报名
this.is_multiform = this.$store.state.isMultiform;
if (this.is_multiform == 1) {
this.multiform = JSON.parse(window.localStorage.getItem("multiform" + code));
}
let multiform_id = window.localStorage.getItem("multiform_id" + code);
if (multiform_id && multiform_id !== null) {
this.referForm.multiform = multiform_id;
}
},
methods: {
next() {
// console.log(this.checked);
setSignShould({}).then((res) => {
// console.log(res, "setSignShould");
if (this.referForm.multiform == 0 && this.is_multiform == 1) {
return this.$message.error('请选择活动形式')
} else {
let _this = this;
let obj = {};
//是否选择活动形式
obj.multiform_id = _this.referForm.multiform;
setSignShould(obj).then((res) => {
if (res.data.code !== 200) return this.$message.error(res.data.message);
this.$emit("getstatus", res.data.status);
this.$message.success(res.data.message);
// let code = this.$store.state.indexIdentity;
// this.$router.push("/signUp/invitation?code="+code);
});
}
},
getCams() {
getCam(this.$store.state.indexIdentity).then((res) => {
// console.log(res, "res");
if (res.data.code != 200) {
return this.$message.error(res.data.message);
}
// this.$message.success(res.data.message);
this.info = res.data;
});
},
},
};
}
,
}
,
};
</script>
<style lang="scss" scoped>
@import "a/scss/btn";
.btn {
@import "a/scss/btn";
.btn {
padding-bottom: 34px !important;
}
.confirm {
}
.confirm {
padding: 0 50px 60px;
.line {
border-bottom: 1px solid #d4d0d4;
}
.title {
font-size: 20px;
font-weight: 600;
......@@ -87,6 +136,7 @@ export default {
text-align: center;
margin: 0 0 24px 0;
}
p {
font-size: 14px;
font-weight: 400;
......@@ -99,9 +149,73 @@ export default {
margin-top: 42px;
}
::v-deep .multiform .el-form-item__label {
font-size: 15px !important;
}
::v-deep .el-form-item {
margin-bottom: 20px;
height: 70px;
.el-form-item__label {
height: 32px;
line-height: 32px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #12141c;
}
&.no_label .el-form-item__label:before {
content: "" !important;
}
.el-form-item__content {
// 圆
.el-radio-group {
.el-radio {
.el-radio__label {
color: #656872;
}
.el-radio__input {
.el-radio__inner {
width: 20px;
height: 20px;
line-height: 20px;
border-radius: 50%;
&:hover {
border-color: var(--color);
}
}
&.is-checked {
.el-radio__inner {
background: #ffffff !important;
border-color: var(--color);
&::after {
width: 7.5px;
height: 7.5px;
background: var(--color) !important;
}
}
}
}
}
}
}
}
::v-deep .el-checkbox__inner:hover {
border-color: var(--color);
}
::v-deep .el-checkbox__input.is-checked {
.el-checkbox__inner {
background-color: var(--color);
......@@ -112,5 +226,5 @@ export default {
color: var(--color);
}
}
}
}
</style>
This diff is collapsed.
......@@ -62,15 +62,20 @@
<div class="btn">
<el-button @click="next()">提交/跳过</el-button>
</div>
<!-- 多形式报名邀请码报错弹框 -->
<cueDialog :dialogVisible="dialogVisible" :msg="msg"></cueDialog>
</div>
</template>
<script>
/* eslint-disable */
import { setInviteCode } from "r/index/signUp";
export default {
/* eslint-disable */
import {setInviteCode} from "r/index/signUp";
import cueDialog from "c/index/cueDialog";
export default {
name: "Invitation",
props: { invitation_code: String },
props: {invitation_code: String},
components:{cueDialog},
data() {
return {
invatation1: "",
......@@ -78,6 +83,8 @@ export default {
invatation3: "",
invatation4: "",
inputFlag: true,
dialogVisible: false,
msg: null,
};
},
created() {
......@@ -121,17 +128,14 @@ export default {
},
},
methods: {
// next() {
// this.$router.push("/signUp/referInfo");
// },
//第一个输入框
changeValue1(e) {
const code = e.trim();
console.log(code, "输入111");
// console.log(code, "输入111");
if (code.indexOf("-") !== -1) {
//如果是复制过来的带'-'邀请码
let copyCode = code.split("-");
console.log(copyCode, "输入222");
// console.log(copyCode, "输入222");
this.invatation1 = copyCode[0];
this.invatation2 = copyCode[1];
this.invatation3 = copyCode[2];
......@@ -198,6 +202,7 @@ export default {
getFocus(index, e) {
this.currentIndex = index;
},
// 下一步
async next() {
// console.log(111);
......@@ -224,27 +229,35 @@ export default {
this.invatation4;
}
setInviteCode({ code: code }).then((res) => {
setInviteCode({code: code}).then((res) => {
// console.log(res, "code");
if (res.data.code !== 200) {
return this.$message.error(res.data.message);
}
if (res.data.code == 4000346 || res.data.code == 4000347) {
this.dialogVisible = true;
this.msg = res.data.message
return;
}
this.$emit("getstatus", res.data.status);
});
},
},
};
};
</script>
<style lang="scss" scoped>
@import "a/scss/btn";
.flex {
@import "a/scss/btn";
.flex {
display: flex;
}
.invitation {
}
.invitation {
.iv_content {
justify-content: center;
height: 44px;
::v-deep .el-input__inner {
width: 110px;
height: 38px;
......@@ -252,6 +265,7 @@ export default {
border: 2px solid var(--color);
margin-right: 15px;
}
.code_titile {
height: 16px;
font-size: 16px;
......@@ -260,10 +274,12 @@ export default {
line-height: 48px;
margin-right: 10px;
}
.errorCode {
margin-top: 10px;
}
}
.tips {
font-size: 14px;
font-weight: 500;
......@@ -277,11 +293,14 @@ export default {
width: 100%;
height: 100%;
}
.errorCode {
font-size: 12px;
font-weight: 400;
color: #d7373f;
line-height: 12px;
}
}
}
</style>
This diff is collapsed.
This diff is collapsed.
<template>
<div class="sucess">
<div class="p_content">
<div v-if="$store.state.human == 1" class="p_content">
<div class="top">
<div class="p_title">恭喜你!成功报名</div>
<div>
<img src="@/assets/img/signUp/offer.png" alt="" />
<img src="@/assets/img/signUp/offer.jpg" alt="" />
</div>
<div class="lips">
<!-- <div>提醒事项:</div> -->
<div>
<span></span>
:请及时完成入营通知书内的要求事项。
</div>
</div>
<div class="flex btnList">
<div class="btn">
<el-button @click="handleDownload">下载入营通知书</el-button>
<el-button @click="handleDownload">下载课程通知书</el-button>
</div>
<div class="btn">
<el-button @click="openAddress">输入邮寄地址</el-button>
</div>
</div>
</div>
</div>
<div v-else class="p_content">
<div class="top">
<div class="p_title">恭喜你!成功报名</div>
<div class="offer_img">
<img src="@/assets/img/signUp/offer.jpg" alt="" />
</div>
<div class="lips">
<div>提醒事项:</div>
<div>报名成功后,请及时下载入营通知书,以便提前做好入营准备。</div>
<!-- <div>提醒事项:</div> -->
<div>
<span></span>
:请及时完成入营通知书内的要求事项。
</div>
</div>
<div class="flex btnList">
<div class="btn">
<el-button @click="handleDownload">下载入营通知书</el-button>
</div>
<div class="btn">
<el-button @click="openAddress">输入邮寄地址</el-button>
</div>
</div>
</div>
</div>
<!-- 收货地址 -->
<delivery-address
:dialogVisibleAddress="dialogVisibleAddress"
@closeAddressDialog="closeAddressDialog"
>
</delivery-address>
</div>
</template>
<script>
/* eslint-disable */
import { signUpInit } from "r/index/signUp";
import deliveryAddress from "@/components/index/SignUp/deliveryAddress.vue";
export default {
name: "Sucess",
components: {
deliveryAddress,
},
data() {
return {};
return {
dialogVisibleAddress: false,
};
},
created() {
// console.log(123);
// var url = location.search;
// console.log(url);
},
created() {},
methods: {
handleDownload() {
signUpInit({}).then((res) => {
......@@ -44,6 +92,14 @@ export default {
}
});
},
openAddress() {
this.dialogVisibleAddress = true;
},
// 子组件触发,关闭确认报名弹框
closeAddressDialog(val) {
console.log(val, "val");
this.dialogVisibleAddress = val;
},
},
};
</script>
......@@ -71,6 +127,15 @@ export default {
color: #666666;
line-height: 18px;
}
.offer_img img {
width: 500px;
}
}
.btnList {
justify-content: center;
div {
padding: 0 30px;
}
}
}
// 注意事项
......@@ -82,6 +147,10 @@ export default {
color: #999999;
line-height: 21px;
}
span {
color: red;
font-weight: 600;
}
}
}
</style>
<template>
<el-dialog
:visible.sync="dialogVisibleFU"
width="30%"
:before-close="handleClose">
<div class="multiform">
<img src="../../assets/img/cue.png"/>
<span>{{msgFU}}</span>
</div>
</el-dialog>
</template>
<script>
export default {
name: "cueDialog",
props: {dialogVisible: Boolean , msg: String,},
data() {
return {
dialogVisibleFU: this.dialogVisible,
msgFU: this.msg,
};
},
methods: {
handleClose(done) {
done();
},
},
watch: {
dialogVisible() {
this.dialogVisibleFU = this.dialogVisible;
},
signTitle() {
this.msgFU = this.msg;
},
}
}
</script>
<style lang="scss" scoped>
.multiform {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 35px;
height: 35px;
margin-bottom: 16px;
}
}
::v-deep .el-dialog__body {
padding: 10px 30px 35px 30px;
}
</style>
This diff is collapsed.
//bus.js
import Vue from 'vue'
export default new Vue()
......@@ -6,11 +6,17 @@
// export const DEVELOPMENT_SERVER_URL = "http://123.56.237.167:20202"; //测试环境
// export const SERVER_WS_URL = "wss://123.56.237.167:20202"; // websocket
// 正式
// 正式(暂时不用)
// export const SERVER_URL = 'https://api1.testgate.cn' // 正式环境
// export const DEVELOPMENT_SERVER_URL = 'https://api1.testgate.cn' // 开发环境
// export const SERVER_WS_URL = 'wss://api1.testgate.cn' // websocket
// 线上测试
export const SERVER_URL = "http://api.campcenter.cn/"; // 正式环境
export const DEVELOPMENT_SERVER_URL = "http://api.campcenter.cn/"; //开发环境
export const SERVER_WS_URL = "ws://api.campcenter.cn"; // websocket
// 正式
export const SERVER_URL = "https://apiy.thuers.com/"; // 正式环境
export const DEVELOPMENT_SERVER_URL = "http://192.168.1.145:9212/"; //开发环境
export const SERVER_WS_URL = "wss://apiy.thuers.com"; // websocket
// 测试
// export const SERVER_URL = "https://ying-test.campcenter.cn"; // 正式环境
// export const DEVELOPMENT_SERVER_URL = "https://ying-test.campcenter.cn/"; //开发环境
// export const SERVER_WS_URL = "wss://ying-test.campcenter.cn"; // websocket
......@@ -7,12 +7,34 @@ import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import '@/assets/scss/index.scss'
import {
download,
upload
} from "r/index/network.js";
import 'default-passive-events'
Vue.config.devtools = true;
Vue.config.productionTip = false
// 弹出框的时候滚动条隐藏和出现导致页面抖动问题
ElementUI.Dialog.props.lockScroll.default = false;
Vue.use(ElementUI)
Vue.prototype.download = download
Vue.prototype.upload = upload
// 防止重复点击自定义属性
import preventReClick from './utils/preventRepeatClick.js'
Vue.use(preventReClick);
//埋点公共方法
import {commonApi}from './utils/common'
Vue.prototype.commonApi = commonApi;
// 禁止浏览器前进后退 另一部本在router的index.js中
window.addEventListener('popstate', function() {
history.pushState(null, null, document.URL)
})
Vue.prototype.$errorScroll = function errorScroll(callback) {
this.$nextTick(() => {
......@@ -29,7 +51,7 @@ Vue.prototype.$errorScroll = function errorScroll(callback) {
// })
if(document.getElementsByClassName('el-form-item__error').length>0){
if (document.getElementsByClassName('el-form-item__error').length > 0) {
this.$notify.error({
title: '提示',
message: document.getElementsByClassName('el-form-item__error')[0].innerText
......
/* eslint-disable */
import {
request
} from './network'
import store from '@/store'
// 登录
export function login(data) {
return request({
method: 'post',
url: '/web/auth/login',
params: data
})
}
// 退出
export function logout(data) {
return request({
method: 'post',
url: '/web/auth/loginOut',
data
})
}
// 通过旧密码找回密码
export function changePassOld(data) {
return request({
method: 'post',
url: '/web/auth/changePassOld',
data
})
}
// 通过验证码找回密码
export function changePassCode(data) {
return request({
method: 'post',
url: '/web/auth/changePassCode',
data
})
}
This diff is collapsed.
/* eslint-disable */
import {
request
} from './network'
import store from '@/store'
// 添加地址
export function setAddress(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/setAddress ',
data
})
}
// 获取地址
export function getAddress(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/getAddress ',
data
})
}
/* eslint-disable */
import {
request
} from './network'
import store from '@/store'
// 获取营地作业列表
export function getTeacherWork(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/getTeacherWork',
params: data
})
}
// 获取学生上传作业的oss
export function PostWorkStudentOss(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/getPostWorkStudent',
data
})
}
//下载
export function downloadTeacherWork(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: 'web/download/downloadTeacherWork',
params: data
})
}
//删除图片
export function delPic(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/delPic',
params: data
})
}
// 获取学生提交营地作业
export function getStudentWork(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/getStudentWork',
params: data
})
}
// 提交营地作业
export function subStudentWork(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/download/subStudentWork',
params: data
})
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment