Commit 1d3760d6 authored by Damon's avatar Damon

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

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