|
@@ -63,20 +63,22 @@
|
|
|
</view>
|
|
|
<!-- 考试疫情承诺书 -->
|
|
|
<view v-if="reportStatus == 1" class="appointmentItem">
|
|
|
- <view class="title"><text class="star_red">*</text>考试疫情防控承诺书</view>
|
|
|
+ <view class="title"
|
|
|
+ ><text class="star_red">*</text>考试疫情防控承诺书</view
|
|
|
+ >
|
|
|
<view class="commitment">
|
|
|
- 本人参加“住房和城乡建设领域施工现场专业人员岗位”考试,愿意遵守疫情防控各项管理的相关要求,秉承对自己、对他人负责的原则,承担疫情防控社会责任,郑重作出以下承诺:<br/>
|
|
|
- 一、充分理解并遵守考试期间考点各项防疫安全的要求。<br/>
|
|
|
- 二、在考试前14天内,没有到过国内疫情中风险、高风险地区,未出境,不存在自境外回国情形。<br/>
|
|
|
- 三、在考试前14天内,每日自觉监测体温,体温均未出现高于37.3度的情形,无发热和呼吸道门诊就诊史。<br/>
|
|
|
- 四、在考试前14天内,未和新冠肺炎病例或疑似病例密切接触或间接接触,没有发烧、干咳、乏力、咳痰、气短、肌肉痛或关节痛、咽喉痛、头痛、寒颤、恶心或呕吐、鼻塞、腹泻、咳血、结膜充血等疑似新冠肺炎症状。<br/>
|
|
|
- 五、如出现与前述第二、三、四项任何一项不符的情形之一的,本人将及时在考前向相关管理机构报告,自觉配合采取隔离或其他防疫措施,并根据情况,自愿放弃参加考试。<br/>
|
|
|
- 六、考试当日自行做好防护工作,佩戴防护口罩。提前抵达考点,配合查验健康码、测量体温等。<br/>
|
|
|
- 七、考试期间,将严格遵守应考人员考场守则及疫情防控相关管理要求,完成考试后立即离场,不扎堆,不聚集。<br/>
|
|
|
+ 本人参加“住房和城乡建设领域施工现场专业人员岗位”考试,愿意遵守疫情防控各项管理的相关要求,秉承对自己、对他人负责的原则,承担疫情防控社会责任,郑重作出以下承诺:<br />
|
|
|
+ 一、充分理解并遵守考试期间考点各项防疫安全的要求。<br />
|
|
|
+ 二、在考试前14天内,没有到过国内疫情中风险、高风险地区,未出境,不存在自境外回国情形。<br />
|
|
|
+ 三、在考试前14天内,每日自觉监测体温,体温均未出现高于37.3度的情形,无发热和呼吸道门诊就诊史。<br />
|
|
|
+ 四、在考试前14天内,未和新冠肺炎病例或疑似病例密切接触或间接接触,没有发烧、干咳、乏力、咳痰、气短、肌肉痛或关节痛、咽喉痛、头痛、寒颤、恶心或呕吐、鼻塞、腹泻、咳血、结膜充血等疑似新冠肺炎症状。<br />
|
|
|
+ 五、如出现与前述第二、三、四项任何一项不符的情形之一的,本人将及时在考前向相关管理机构报告,自觉配合采取隔离或其他防疫措施,并根据情况,自愿放弃参加考试。<br />
|
|
|
+ 六、考试当日自行做好防护工作,佩戴防护口罩。提前抵达考点,配合查验健康码、测量体温等。<br />
|
|
|
+ 七、考试期间,将严格遵守应考人员考场守则及疫情防控相关管理要求,完成考试后立即离场,不扎堆,不聚集。<br />
|
|
|
八、本人承诺遵守《应考人员安全承诺书》中所有承诺内容,若因有瞒报、谎报造成新冠肺炎疫情传播的,一经查实,由本人承担相应的法律和经济责任。
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-if="reportStatus == 1" class="appointmentItem ">
|
|
|
+ <view v-if="reportStatus == 1" class="appointmentItem">
|
|
|
<view class="title"><text class="star_red">*</text>签名板</view>
|
|
|
<view class="dis_stys">
|
|
|
<text style="color: #999999">请在下方签名区进行签名</text>
|
|
@@ -142,6 +144,39 @@
|
|
|
<view class="btn" @click="sureAddress">确认</view>
|
|
|
</view>
|
|
|
</u-popup>
|
|
|
+ <u-modal v-model="showSuccessTip" width="560" @confirm="confirmTip">
|
|
|
+ <view class="slot-content">
|
|
|
+ <view class="modal_centent">
|
|
|
+ <view>
|
|
|
+ <text>考试时间:</text
|
|
|
+ ><text v-if="activeList.length">{{
|
|
|
+ activeList[0].dataTime +
|
|
|
+ " " +
|
|
|
+ activeList[0].startTime +
|
|
|
+ " ~ " +
|
|
|
+ activeList[0].endTime
|
|
|
+ }}</text>
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <text>考试地址:</text><text>{{ addressName }}</text>
|
|
|
+ </view>
|
|
|
+ <view> <text>考试时间:</text><text>2小时 </text> </view>
|
|
|
+ <view> <text>考试形式:</text><text>机考</text> </view>
|
|
|
+ <view>
|
|
|
+ <text>考试成绩:</text>
|
|
|
+ <text>提交试卷后即刻显示成绩,60 分以上合格。</text>
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <text style="width: 194rpx">学校咨询电话:</text
|
|
|
+ ><text>{{ userInfo && userInfo.eduPhone }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="modal_tip">
|
|
|
+ 注意事项:考试当天请学员携带本人身份证提前 30
|
|
|
+ 分钟到达考场,迟到将不得进入考场,并被认定为缺考处理。
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </u-modal>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -162,15 +197,16 @@ export default {
|
|
|
applyStatus: null, //学员状态ID
|
|
|
sysTime: 0,
|
|
|
dataId: null, //跳转拷贝
|
|
|
- handwriting: '',
|
|
|
+ handwriting: "",
|
|
|
lineColor: "black",
|
|
|
slideValue: 30,
|
|
|
openVerify: false, // 控制是否手动验证
|
|
|
- commitment_electr_signature: '',
|
|
|
+ commitment_electr_signature: "",
|
|
|
isUploading: false,
|
|
|
- siteId: '', // 考场id
|
|
|
+ siteId: "", // 考场id
|
|
|
reportStatus: 0, // 是否线上签署疫情防控承诺书, 1是,0否
|
|
|
- baseAddress: '', // 签名转成base64
|
|
|
+ baseAddress: "", // 签名转成base64
|
|
|
+ showSuccessTip: false,
|
|
|
};
|
|
|
},
|
|
|
async onLoad(option) {
|
|
@@ -179,7 +215,7 @@ export default {
|
|
|
this.applyStatus = Number(option.applyStatus);
|
|
|
this.dataId = Number(option.dataId);
|
|
|
this.orderGoodsId = Number(option.orderGoodsId);
|
|
|
- this.reportStatus = option.reportStatus
|
|
|
+ this.reportStatus = option.reportStatus;
|
|
|
await this.commonSystemTime();
|
|
|
this.getInfo();
|
|
|
},
|
|
@@ -212,7 +248,7 @@ export default {
|
|
|
item.checked = false;
|
|
|
});
|
|
|
this.listData = res.data.data;
|
|
|
- console.log('this.listData:', this.listData)
|
|
|
+ console.log("this.listData:", this.listData);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -220,7 +256,7 @@ export default {
|
|
|
this.address_show = true;
|
|
|
},
|
|
|
choAddress(item, index) {
|
|
|
- this.siteId = item.siteId
|
|
|
+ this.siteId = item.siteId;
|
|
|
this.listData.forEach((item, idx) => {
|
|
|
this.$set(item, "checked", false);
|
|
|
if (idx === index) {
|
|
@@ -238,14 +274,14 @@ export default {
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- this.siteId = this.listData[index].siteId
|
|
|
- console.log('siteId: ', this.siteId, index)
|
|
|
+ this.siteId = this.listData[index].siteId;
|
|
|
+ console.log("siteId: ", this.siteId, index);
|
|
|
if (this.addressId === this.listData[index].id) {
|
|
|
this.address_show = false;
|
|
|
return;
|
|
|
}
|
|
|
this.addressName = this.listData[index].siteAddress;
|
|
|
- console.log('addressName', this.addressName, this.listData)
|
|
|
+ console.log("addressName", this.addressName, this.listData);
|
|
|
this.addressId = this.listData[index].id;
|
|
|
var arrays = [];
|
|
|
this.listData[index].examUserApplySiteTime.forEach((item) => {
|
|
@@ -271,7 +307,7 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
- console.log('arrays', arrays)
|
|
|
+ console.log("arrays", arrays);
|
|
|
this.activeList = arrays.filter((item, index) => {
|
|
|
console.log(item);
|
|
|
// const newTime = parseInt(new Date().getTime() / 1000)
|
|
@@ -290,7 +326,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- console.log('----',this.activeList);
|
|
|
+ console.log("----", this.activeList);
|
|
|
this.address_show = false;
|
|
|
},
|
|
|
choItem(index) {
|
|
@@ -309,82 +345,80 @@ export default {
|
|
|
if (this.isUploading) {
|
|
|
return;
|
|
|
}
|
|
|
- this.isUploading = true
|
|
|
+ this.isUploading = true;
|
|
|
|
|
|
var self = this;
|
|
|
if (self.addressId) {
|
|
|
var ast = self.activeList.some((item) => {
|
|
|
return item.checked === true;
|
|
|
});
|
|
|
- console.log('ast',this.activeList, ast)
|
|
|
+ console.log("ast", this.activeList, ast);
|
|
|
if (ast) {
|
|
|
if (this.reportStatus == 1) {
|
|
|
- await this.subCanvas()
|
|
|
+ await this.subCanvas();
|
|
|
if (!this.commitment_electr_signature) {
|
|
|
uni.showToast({
|
|
|
title: "请签名",
|
|
|
icon: "none",
|
|
|
- })
|
|
|
- this.isUploading = false
|
|
|
- return
|
|
|
+ });
|
|
|
+ this.isUploading = false;
|
|
|
+ return;
|
|
|
} else {
|
|
|
// await this.submitApi()
|
|
|
- uni.getFileSystemManager().readFile({
|
|
|
- filePath: this.commitment_electr_signature, //临时路径
|
|
|
- encoding: 'base64', //编码格式
|
|
|
- success: res => {
|
|
|
- console.log('返回结果', res)
|
|
|
- const base64 = "data:image/png;base64," + res.data
|
|
|
- console.log('sfs签名转成base64', base64)
|
|
|
- this.baseAddress = base64
|
|
|
- // return
|
|
|
- this.submits()
|
|
|
- },
|
|
|
- fail: err => {
|
|
|
- console.log('转base64错误', err)
|
|
|
- this.isUploading = false
|
|
|
- }
|
|
|
- })
|
|
|
- // uni.request({
|
|
|
- // url: this.commitment_electr_signature, //临时路径
|
|
|
- // responseType: 'arraybuffer', //设置返回的数据格式为arraybuffer
|
|
|
- // success: res => {
|
|
|
- // const base64 = "data:image/png;base64," + uni.arrayBufferToBase64(res.data)
|
|
|
- // console.log('sfs签名转成base64', base64)
|
|
|
- // this.baseAddress = base64
|
|
|
- // this.submits()
|
|
|
- // },
|
|
|
- // fail: err => {
|
|
|
- // console.log('转base64错误', err)
|
|
|
- // this.isUploading = false
|
|
|
- // }
|
|
|
- // })
|
|
|
+ uni.getFileSystemManager().readFile({
|
|
|
+ filePath: this.commitment_electr_signature, //临时路径
|
|
|
+ encoding: "base64", //编码格式
|
|
|
+ success: (res) => {
|
|
|
+ console.log("返回结果", res);
|
|
|
+ const base64 = "data:image/png;base64," + res.data;
|
|
|
+ console.log("sfs签名转成base64", base64);
|
|
|
+ this.baseAddress = base64;
|
|
|
+ // return
|
|
|
+ this.submits();
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.log("转base64错误", err);
|
|
|
+ this.isUploading = false;
|
|
|
+ },
|
|
|
+ });
|
|
|
+ // uni.request({
|
|
|
+ // url: this.commitment_electr_signature, //临时路径
|
|
|
+ // responseType: 'arraybuffer', //设置返回的数据格式为arraybuffer
|
|
|
+ // success: res => {
|
|
|
+ // const base64 = "data:image/png;base64," + uni.arrayBufferToBase64(res.data)
|
|
|
+ // console.log('sfs签名转成base64', base64)
|
|
|
+ // this.baseAddress = base64
|
|
|
+ // this.submits()
|
|
|
+ // },
|
|
|
+ // fail: err => {
|
|
|
+ // console.log('转base64错误', err)
|
|
|
+ // this.isUploading = false
|
|
|
+ // }
|
|
|
+ // })
|
|
|
}
|
|
|
} else {
|
|
|
- this.submits()
|
|
|
+ this.submits();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
title: "请选择考试时间",
|
|
|
icon: "none",
|
|
|
});
|
|
|
- this.isUploading = false
|
|
|
+ this.isUploading = false;
|
|
|
}
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
title: "请选择考试地点",
|
|
|
icon: "none",
|
|
|
});
|
|
|
- this.isUploading = false
|
|
|
+ this.isUploading = false;
|
|
|
}
|
|
|
},
|
|
|
submits() {
|
|
|
uni.showLoading({
|
|
|
- title: '拼命加载中...',
|
|
|
- mask:true,
|
|
|
- })
|
|
|
+ title: "拼命加载中...",
|
|
|
+ mask: true,
|
|
|
+ });
|
|
|
var copyData = JSON.parse(JSON.stringify(this.activeList));
|
|
|
const index = copyData.findIndex((item) => item.checked);
|
|
|
var data = {
|
|
@@ -397,12 +431,11 @@ export default {
|
|
|
applySiteEndTime: copyData[index].endTimeC,
|
|
|
orderGoodsId: this.orderGoodsId,
|
|
|
siteId: this.siteId, // 考场id
|
|
|
-
|
|
|
};
|
|
|
if (this.reportStatus == 1) {
|
|
|
- data.signImageStr = this.baseAddress
|
|
|
+ data.signImageStr = this.baseAddress;
|
|
|
}
|
|
|
- console.log('-----data', data, this.dataId)
|
|
|
+ console.log("-----data", data, this.dataId);
|
|
|
// return
|
|
|
if (this.dataId === 1) {
|
|
|
this.$store.commit("updateApplyData", data);
|
|
@@ -412,24 +445,28 @@ export default {
|
|
|
goodsId: this.goodsId,
|
|
|
orderGoodsId: this.orderGoodsId,
|
|
|
});
|
|
|
- uni.hideLoading()
|
|
|
+ uni.hideLoading();
|
|
|
}
|
|
|
if (this.dataId === 2) {
|
|
|
this.$api.addApply(data).then((res) => {
|
|
|
if (res.data.code === 200) {
|
|
|
- uni.reLaunch({
|
|
|
- url: `/pages2/appointment/appointment_success?subscribeId=${res.data.data}`,
|
|
|
- });
|
|
|
+ // uni.reLaunch({
|
|
|
+ // url: `/pages2/appointment/appointment_success?subscribeId=${res.data.data}`,
|
|
|
+ // });
|
|
|
+ this.$u.toast("预约成功");
|
|
|
+ setTimeout(() => {
|
|
|
+ this.showSuccessTip = true;
|
|
|
+ }, 500);
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
icon: "none",
|
|
|
- title: res.data.msg || '预约失败,请重新预约',
|
|
|
+ title: res.data.msg || "预约失败,请重新预约",
|
|
|
});
|
|
|
}
|
|
|
- uni.hideLoading()
|
|
|
+ uni.hideLoading();
|
|
|
});
|
|
|
}
|
|
|
- this.isUploading = false
|
|
|
+ this.isUploading = false;
|
|
|
},
|
|
|
backPage() {
|
|
|
uni.navigateBack({
|
|
@@ -437,8 +474,8 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
retDraw() {
|
|
|
- this.handwriting.retDraw()
|
|
|
- this.commitment_electr_signature = ''
|
|
|
+ this.handwriting.retDraw();
|
|
|
+ this.commitment_electr_signature = "";
|
|
|
// this.$set(this.form, "commitment_electr_signature", "");
|
|
|
this.openVerify = false;
|
|
|
},
|
|
@@ -458,23 +495,32 @@ export default {
|
|
|
resolve();
|
|
|
return;
|
|
|
}
|
|
|
- this.handwriting.saveCanvas().then((res) => {
|
|
|
+ this.handwriting
|
|
|
+ .saveCanvas()
|
|
|
+ .then((res) => {
|
|
|
if (this.handwriting.linePrack.length) {
|
|
|
- console.log('签名-----res', res)
|
|
|
- this.commitment_electr_signature = res
|
|
|
+ console.log("签名-----res", res);
|
|
|
+ this.commitment_electr_signature = res;
|
|
|
}
|
|
|
- resolve(res)
|
|
|
+ resolve(res);
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
uni.showToast({
|
|
|
title: "签名上传失败",
|
|
|
icon: "error",
|
|
|
});
|
|
|
- this.isUploading = false
|
|
|
+ this.isUploading = false;
|
|
|
});
|
|
|
-
|
|
|
});
|
|
|
},
|
|
|
+ confirmTip() {
|
|
|
+ uni.switchTab({
|
|
|
+ url: "/pages/learn/index",
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(["userInfo"]),
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -488,9 +534,35 @@ page {
|
|
|
}
|
|
|
</style>
|
|
|
<style scoped lang="scss">
|
|
|
- .safeAreas {
|
|
|
- padding-bottom: 30rpx;
|
|
|
+.slot-content {
|
|
|
+ padding: 30rpx;
|
|
|
+ .modal_centent {
|
|
|
+ view {
|
|
|
+ display: flex;
|
|
|
+ margin: 20rpx 0;
|
|
|
+ text {
|
|
|
+ &:nth-of-type(1) {
|
|
|
+ width: 140rpx;
|
|
|
+ color: #606266;
|
|
|
+ font-size: 28rpx;
|
|
|
+ }
|
|
|
+ &:nth-of-type(2) {
|
|
|
+ flex: 1;
|
|
|
+ color: #909399;
|
|
|
+ font-size: 26rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .modal_tip {
|
|
|
+ margin-top: 30rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: red;
|
|
|
}
|
|
|
+}
|
|
|
+.safeAreas {
|
|
|
+ padding-bottom: 30rpx;
|
|
|
+}
|
|
|
.appointment {
|
|
|
padding: 0 8rpx;
|
|
|
.appointmentItem {
|
|
@@ -522,7 +594,9 @@ page {
|
|
|
background: #ffffff;
|
|
|
overflow-y: auto;
|
|
|
}
|
|
|
- .handCenter, .dis_stys, .commitment {
|
|
|
+ .handCenter,
|
|
|
+ .dis_stys,
|
|
|
+ .commitment {
|
|
|
margin: 0rpx 24rpx;
|
|
|
}
|
|
|
.dis_stys {
|
|
@@ -532,7 +606,8 @@ page {
|
|
|
margin-bottom: 16rpx;
|
|
|
}
|
|
|
.handCenter {
|
|
|
- .handWriting, .no_true {
|
|
|
+ .handWriting,
|
|
|
+ .no_true {
|
|
|
width: 100%;
|
|
|
height: 400rpx;
|
|
|
background: #fff;
|