Commit 1d3760d6 authored by Damon's avatar Damon

Merge branch 'dev' of https://git.banshouhui.com/lijundan/self-support into dev

parents f4dc3c60 99ade134
...@@ -9,6 +9,7 @@ const UNI_APP = { ...@@ -9,6 +9,7 @@ const UNI_APP = {
// apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头 // apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
}, },
qn_base_url: 'https://qn-static.banshouhui.com/self-support/', qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
qn_asset_url: 'http://deudn.c.pp.cc/', qn_asset_url: 'http://deudn.c.pp.cc/',
argoDebugMode: 1
} }
module.exports = UNI_APP; module.exports = UNI_APP;
...@@ -8,7 +8,8 @@ const UNI_APP = { ...@@ -8,7 +8,8 @@ const UNI_APP = {
apiUrl:'https://system.banshouhui.com', //java端域名请求头 apiUrl:'https://system.banshouhui.com', //java端域名请求头
}, },
qn_base_url: 'https://qn-static.banshouhui.com/self-support/', qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
qn_asset_url: 'https://qn-static.banshouhui.com' qn_asset_url: 'https://qn-static.banshouhui.com',
argoDebugMode: 0
} }
module.exports = UNI_APP; module.exports = UNI_APP;
...@@ -8,6 +8,7 @@ const UNI_APP = { ...@@ -8,6 +8,7 @@ const UNI_APP = {
apiUrl: 'https://system.dev.banshouhui.com', //java端域名请求头 apiUrl: 'https://system.dev.banshouhui.com', //java端域名请求头
}, },
qn_base_url: 'https://qn-static.banshouhui.com/self-support/', qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
qn_asset_url: 'https://qn-static.banshouhui.com' qn_asset_url: 'https://qn-static.banshouhui.com',
argoDebugMode: 1
} }
module.exports = UNI_APP; module.exports = UNI_APP;
...@@ -245,7 +245,7 @@ export default { ...@@ -245,7 +245,7 @@ export default {
let userInfo = { let userInfo = {
mobile: user.mobile, mobile: user.mobile,
userfrom_id: user.uid, userfrom_id: user.uid,
userfrom: "家维广场", userfrom: "自营平台",
avatar: user.avatar, avatar: user.avatar,
nickname: user.nickname, nickname: user.nickname,
username: user.username, username: user.username,
......
...@@ -7,7 +7,7 @@ let argo ={ ...@@ -7,7 +7,7 @@ let argo ={
1 开启调试模式,数据不入库。类型:Number。 1 开启调试模式,数据不入库。类型:Number。
2 开启调试模式,数据入库。类型:Number。 2 开启调试模式,数据入库。类型:Number。
*/ */
debugMode:0, debugMode: process.uniEnv.argoDebugMode,
autoTrack:true, autoTrack:true,
uploadURL: 'https://argo.banshouhui.com/' uploadURL: 'https://argo.banshouhui.com/'
} }
......
...@@ -674,7 +674,7 @@ export default { ...@@ -674,7 +674,7 @@ export default {
} }
if (res.data.examStatus == 1) { if (res.data.examStatus == 1) {
that.examList[i].isComplete = that.examList[i].isComplete =
this.examList[i].status == "通过"; this.examList[i].status == "通过";
that.examScore = res.data.examScore; that.examScore = res.data.examScore;
return; return;
} }
......
<template> <template>
<view class="backView"> <view class="backView">
<Examine :index="3"> <Examine :index="3">
<view class="bottom-padding" v-if="currentItem"> <view class="bottom-padding">
<view class="title-view"> <view class="title-view">
<view :class="['title-text', {'radio': currentItem.question ? currentItem.question.answerType == 1 : true}]"> <view :class="['title-text', {'radio': currentItem.question ? currentItem.question.answerType == 1 : true}]">
<text>{{ titleText[Math.max(0, currentItem.question ? currentItem.question.answerType - 1 : 0)] }}</text> <text>{{ titleText[Math.max(0, currentItem.question ? currentItem.question.answerType - 1 : 0)] }}</text>
...@@ -70,7 +70,13 @@ export default { ...@@ -70,7 +70,13 @@ export default {
userAnswerIds: "", userAnswerIds: "",
isStart: true, isStart: true,
currentNumber: 1, currentNumber: 1,
currentItem: null, currentItem: {
question: {
answerType: 1,
content: ""
},
answerList: {}
},
isSelect: false, isSelect: false,
timeDefine: { timeDefine: {
"time-id-2": 1800, "time-id-2": 1800,
...@@ -89,6 +95,7 @@ export default { ...@@ -89,6 +95,7 @@ export default {
timer: null, timer: null,
isComplete: false, // 是否已经考试完成判定 isComplete: false, // 是否已经考试完成判定
examInfo: null, examInfo: null,
isLoadQuestion: true
}; };
}, },
computed: { computed: {
...@@ -107,11 +114,15 @@ export default { ...@@ -107,11 +114,15 @@ export default {
}, },
onLoad(e) { onLoad(e) {
this.examId = e.examId; this.examId = e.examId;
this.applyExam(); this.userExamId = e.userExamId;
this.getNext();
// this.applyExam();
// this.getUserExamInfo(); // this.getUserExamInfo();
}, },
onUnload() { onUnload() {
clearTimeout(this.timer); clearTimeout(this.timer);
let key = 'exma-' + this.examId;
uni.setStorageSync(key, this.endTime);
}, },
methods: { methods: {
formatTimeToMini(timestamp) { formatTimeToMini(timestamp) {
...@@ -335,11 +346,6 @@ export default { ...@@ -335,11 +346,6 @@ export default {
(this.userAnswerIds || "9999") + (this.userAnswerIds || "9999") +
",", // 9999超时自动下一题 ",", // 9999超时自动下一题
method: "POST", method: "POST",
data: {
// userExamId:this.userExamId,
// questionId:this.currentItem.question.id,
// userAnswerIds:this.userAnswerIds,
},
header: { header: {
"Content-Type": "application/x-www-form-urlencoded", "Content-Type": "application/x-www-form-urlencoded",
}, },
...@@ -359,6 +365,20 @@ export default { ...@@ -359,6 +365,20 @@ export default {
if (res.data.code == 200) { if (res.data.code == 200) {
that.currentItem = res.data.data; that.currentItem = res.data.data;
that.progress = res.data.data.progress; that.progress = res.data.data.progress;
if(this.isLoadQuestion){
this.isLoadQuestion = false;
if(!res.data.data.isQuestion){
this.applyExam()
return
}
let key = 'exma-' + this.examId;
let limitTime = uni.getStorageSync(key);
console.log(limitTime);
// let limitTime = this.getLimitTime(that.progress);
// console.log(limitTime);
this.endTime = parseInt(limitTime);
this.currentTime = parseInt(limitTime * 1000);
}
if (res.data.data.isQuestion) { if (res.data.data.isQuestion) {
let str = res.data.data.question.content; let str = res.data.data.question.content;
var wz = str.indexOf("."); var wz = str.indexOf(".");
...@@ -397,7 +417,12 @@ export default { ...@@ -397,7 +417,12 @@ export default {
}, },
}); });
}, },
getLimitTime(progress){
let arr = progress.split('/');
let how = arr[0].replace(/[^0-9]/ig,"");
let total = arr[1].replace(/[^0-9]/ig,"");
return (total - how + 1) * this.currentTime;
},
handleData: function () { handleData: function () {
this.currentItem.answerList.forEach((item, index) => { this.currentItem.answerList.forEach((item, index) => {
item.isSelect = false; item.isSelect = false;
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
这是一场严肃的考试,请认真查看 规则,预祝您顺利通过考试! 这是一场严肃的考试,请认真查看 规则,预祝您顺利通过考试!
</view> </view>
<view class="text"> <view class="text">
<text class="left">考试科目:</text><text style="color: #007aff">{{ desc.title }}</text> <text class="left">考试科目:</text><text style="color: #007aff">{{ title }}</text>
</view> </view>
<view class="text"> <view class="text">
<text class="left">合格条件:</text><text>{{ desc.score }}</text> <text class="left">合格条件:</text><text>{{ score }}</text>
</view> </view>
<view class="text"> <view class="text">
<text class="left">考试时间:</text><text>{{ desc.time }}</text> <text class="left">考试时间:</text><text>{{ time }}</text>
</view> </view>
<view class="text"> <view class="text">
<text class="left">题目来源:</text><text>{{ ruleDisc }}</text> <text class="left">题目来源:</text><text>{{ ruleDisc }}</text>
...@@ -24,122 +24,46 @@ ...@@ -24,122 +24,46 @@
</template> </template>
<script> <script>
let condition = {
dev: {
"id-2": {
score: "60分",
time: "30分钟",
number: "20",
title: "服务规范",
},
"id-3": {
score: "30分",
time: "15分钟",
number: "10",
title: "服务规范",
},
"id-4": {
score: "15分",
time: "6分钟",
number: "4",
title: "交付规范",
},
},
test: {
"id-2": {
score: "60分",
time: "30分钟",
number: "20",
title: "服务规范",
},
"id-3": {
score: "30分",
time: "15分钟",
number: "10",
title: "服务规范",
},
"id-4": {
score: "15分",
time: "6分钟",
number: "4",
title: "交付规范",
},
},
prod: {
"id-2": {
score: "60分",
time: "30分钟",
number: "20",
title: "服务规范",
},
"id-3": {
score: "30分",
time: "15分钟",
number: "10",
title: "服务规范",
},
"id-4": {
score: "15分",
time: "6分钟",
number: "4",
title: "交付规范",
},
},
};
let env = process.uniEnv.node_env;
let desc = condition[env];
export default { export default {
data() { data() {
return { return {
desc: null, title: "",
score: "",
time: "",
ruleDisc: "",
examId: null, examId: null,
exam: null, exam: null,
userExamId: null, userExamId: null
ruleDisc: "",
}; };
}, },
onLoad(param) { onLoad(param) {
this.examId = param.examId; this.examId = param.examId;
this.desc = desc["id-" + this.examId];
this.getExamResult(); this.getExamResult();
// this.getUserExamInfo(); // this.getUserExamInfo();
}, },
onUnload() {
uni.switchTab({
url: '/pages/index/learn'
});
},
methods: { methods: {
//申请考试获取userExamId //申请考试获取userExamId
getUserExamId: function () { getUserExamId: function () {
let examId = this.examId; let examId = this.examId;
let userExamId = this.userExamId;
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
let length = routes.length
if(length > 8){
uni.showToast({
icon: "none",
title: "打开页面过多,请返回后再操作",
});
return;
}
console.log(length);
wx.navigateTo({ wx.navigateTo({
url: "/pages/learn/answer?examId=" + examId, url: "/pages/learn/answer?examId=" + examId + "&userExamId=" + userExamId,
});
},
getUserExamInfo() {
uni.request({
url:
process.uniEnv.systemUrl.apiUrl +
"/wxh-worker-rest/rest/exam/serviceRule/" +
this.vuex_token +
"?examId=" +
this.examId,
method: "POST",
header: {
"Content-Type": "application/x-www-from-urlencoded",
},
success: (res) => {
uni.hideLoading();
if (res.data.code == 200) {
if (res.data.data.userExamId) {
this.userExamId = res.data.data.userExamId;
}
}
},
}); });
setTimeout(() => {
wx.navigateTo({
url: "/pages/learn/answer?userExamId=" + this.userExamId,
});
}, 1000);
}, },
getExamResult() { getExamResult() {
uni.request({ uni.request({
...@@ -158,10 +82,12 @@ export default { ...@@ -158,10 +82,12 @@ export default {
if (res.data.code == 200) { if (res.data.code == 200) {
if (res.data.data.ruleDisc) { if (res.data.data.ruleDisc) {
var str = res.data.data.ruleDisc; var str = res.data.data.ruleDisc;
this.userExamId = res.data.data.id;
let strArr = str.split("(")[0].split(","); let strArr = str.split("(")[0].split(",");
this.desc.title = strArr[0]; this.title = strArr[0];
this.desc.score = strArr[1]; this.score = strArr[1];
this.desc.time = strArr[2]; this.time = strArr[2];
this.ruleDisc = strArr[3]; this.ruleDisc = strArr[3];
} }
} }
......
...@@ -77,7 +77,6 @@ export default { ...@@ -77,7 +77,6 @@ export default {
//再次考试 //再次考试
getAgain: function () { getAgain: function () {
let examId = this.examId; let examId = this.examId;
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
uni.navigateTo({ uni.navigateTo({
url: "/pages/learn/assessment?examId=" + examId, url: "/pages/learn/assessment?examId=" + examId,
}); });
......
...@@ -10,25 +10,20 @@ ...@@ -10,25 +10,20 @@
<view class="left">电话</view> <view class="left">电话</view>
<input disabled v-model="mobile" type="text" placeholder-class="line" placeholder="请填写电话" /> <input disabled v-model="mobile" type="text" placeholder-class="line" placeholder="请填写电话" />
</view> </view>
<u-field <view class="item address">
v-model="address" <view class="left label">地址</view>
label="地址" <textarea v-model="address" type="text" placeholder-class="line" placeholder="请填写地址" />
label-width="88" <view class="right" @tap="autoLocation">
type="textarea" <u-icon
:border-bottom="false" name="map"
placeholder="请填写地址"> color="#2272FF"
<view slot="right" class="right" @tap="autoLocation"> size="30"
<u-icon name="map" color="#2272FF" size="30"></u-icon> label="自动定位"
<text>自动定位</text> label-size="24"
label-color="#2272FF"
></u-icon>
</view> </view>
</u-field> </view>
<!-- <view class="site-clipboard">
<textarea placeholder-class="line" value="" placeholder="粘贴文本,可自动识别姓名和地址等" />
<view class="clipboard">
地址粘贴板
<u-icon name="arrow-down" class="icon" :size="20"></u-icon>
</view>
</view> -->
</view> </view>
<view class="bottom"> <view class="bottom">
<button class="btn, bottom-btn" @click="show = true"> <button class="btn, bottom-btn" @click="show = true">
...@@ -70,7 +65,6 @@ ...@@ -70,7 +65,6 @@
<script> <script>
let r = require("libs/bmap-wx.min.js"); let r = require("libs/bmap-wx.min.js");
let h = new r.BMapWX({ let h = new r.BMapWX({
// ak: "rpVq5d3yxaRCoKzVwmFMo0o4iC524CAG",
ak: "lF1HoyXdiv4uZx6TrGQEZs48F5y8kEHI" ak: "lF1HoyXdiv4uZx6TrGQEZs48F5y8kEHI"
}); });
export default { export default {
...@@ -142,8 +136,6 @@ export default { ...@@ -142,8 +136,6 @@ export default {
}; };
if (lat && long) { if (lat && long) {
let e = lat + "," + long let e = lat + "," + long
// let e = "113.88308" + ',' + "22.55329"
// let e = "22.55329" + ',' + "113.88308"
t.location = e; t.location = e;
} }
h.regeocoding(t); h.regeocoding(t);
...@@ -176,14 +168,11 @@ export default { ...@@ -176,14 +168,11 @@ export default {
address: self.address address: self.address
} }
let res = await self.$u.api.syncAddress(params) let res = await self.$u.api.syncAddress(params)
const callback = (vm, res) => {
vm.$u.route({type: 'back'})
}
if(res && res.code == 200) { if(res && res.code == 200) {
self.$u.route({ getApp().getBaseInfo(this, callback);
type: 'redirect',
url: "pages/mine/address/index",
params: {
sync: true
}
})
} }
} }
} }
...@@ -218,59 +207,24 @@ export default { ...@@ -218,59 +207,24 @@ export default {
text-align: left; text-align: left;
} }
} }
/deep/ .u-field {
.address {
padding: 24rpx 0; padding: 24rpx 0;
border-bottom: solid 2rpx $u-border-color; align-items: flex-start;
.u-label-text {
font-weight: 400;
color: #999999;
}
textarea { textarea {
line-height: 40rpx; height: 240rpx;
} background-color: #f7f7f7;
.u-button-wrap { line-height: 60rpx;
align-self: flex-start; padding: 20rpx;
margin-left: 42rpx; width: 400rpx;
} }
.right { .right {
text-align: right;
width: 160rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: 400; font-weight: 400;
color: #2272FF; color: #2272FF;
line-height: 40rpx; line-height: 88rpx;
}
}
.address {
padding: 20rpx 0;
textarea {
// width: 100%;
height: 150rpx;
background-color: #f7f7f7;
line-height: 60rpx;
margin: 40rpx auto;
padding: 20rpx;
}
}
.site-clipboard {
padding-right: 40rpx;
textarea {
// width: 100%;
height: 150rpx;
background-color: #f7f7f7;
line-height: 60rpx;
margin: 40rpx auto;
padding: 20rpx;
}
.clipboard {
display: flex;
justify-content: center;
align-items: center;
font-size: 26rpx;
color: $u-tips-color;
height: 80rpx;
.icon {
margin-top: 6rpx;
margin-left: 10rpx;
}
} }
} }
} }
......
<template> <template>
<view class="address-wrap"> <view class="address-wrap">
<w-navbar title="收货地址"></w-navbar> <w-navbar title="收货地址"></w-navbar>
<view class="item" v-if="hasAdderss"> <view class="item" v-if="hasAdderss" @tap="toAddSite('修改地址')">
<view class="top"> <view class="top">
<view class="name">{{ settled.id_card_name || settled.nickname || settled.name || '--' }}</view> <view class="name">{{ settled.id_card_name || settled.nickname || settled.name || '--' }}</view>
<view class="phone">{{ settled.mobile }}</view> <view class="phone">{{ settled.mobile }}</view>
</view> </view>
<view class="bottom"> <view class="bottom">
<view class="address">{{ settled.address }}</view> <view class="address">{{ settled.address }}</view>
<u-icon :name="editPen" :size="32" color="#999999" @tap="toAddSite('修改地址')"></u-icon> <u-icon :name="editPen" :size="32" color="#999999"></u-icon>
</view> </view>
<view class="default" v-show="true"> <view class="default" v-show="true">
<u-icon name="checkmark-circle" color="#2272FF" size="32"></u-icon> <u-icon name="checkmark-circle" color="#2272FF" size="32"></u-icon>
<text class="txt">默认地址</text> <text class="txt">默认地址</text>
</view> </view>
</view> </view>
<!-- <view class="addSite" @tap="toAddSite('新增地址')">
<view class="add">
<u-icon name="plus" color="#ffffff" class="icon" :size="30"></u-icon>新建收货地址
</view>
</view> -->
</view> </view>
</template> </template>
...@@ -45,11 +40,9 @@ export default { ...@@ -45,11 +40,9 @@ export default {
return this.settled && this.settled.address && this.settled.id_card_name return this.settled && this.settled.address && this.settled.id_card_name
}, },
}, },
onLoad(e) { onShow() {
if(!this.vuex_token) { if(!this.vuex_token) {
this.$u.route({url: 'pages/login/index'}) this.$u.route({url: 'pages/login/index'})
} else if (e && e.sync) {
this.getData();
} else if(!this.settled) { } else if(!this.settled) {
this.getData(); this.getData();
} }
...@@ -61,7 +54,6 @@ export default { ...@@ -61,7 +54,6 @@ export default {
}, },
toAddSite(title){ toAddSite(title){
this.$u.route({ this.$u.route({
type: 'redirect',
url: 'pages/mine/address/addSite', url: 'pages/mine/address/addSite',
params: { params: {
title: title title: title
...@@ -120,24 +112,4 @@ export default { ...@@ -120,24 +112,4 @@ export default {
} }
} }
} }
.addSite {
display: flex;
justify-content: space-around;
width: 600rpx;
line-height: 100rpx;
position: absolute;
bottom: 30rpx;
left: 80rpx;
background-color: red;
border-radius: 60rpx;
font-size: 30rpx;
.add{
display: flex;
align-items: center;
color: #ffffff;
.icon{
margin-right: 10rpx;
}
}
}
</style> </style>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
}, },
computed: { computed: {
amount() { amount() {
return this.settled && this.settled.deposit || '0.00'; return this.vuex_settled && this.vuex_settled.hasPaid || '0.00';
}, },
settled() { settled() {
return this.vuex_settled && this.vuex_settled.record || null return this.vuex_settled && this.vuex_settled.record || null
......
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