实名制ios适配

This commit is contained in:
zzyuan 2024-12-30 16:53:41 +08:00
parent ff21ddf44d
commit 8cf298ddad
6 changed files with 498 additions and 700 deletions

110
config.js
View File

@ -1,61 +1,18 @@
// 产线 // 产线
module.exports = {
// http://192.168.0.14:19999
loginBaseUrl: 'http://112.29.103.165:1616',
baseUrl: 'http://112.29.103.165:1616/exam',
// login: 'http://112.29.103.165:1616',
login: 'http://112.29.103.165:1616/exam/exam-auth/',
// 图片展示基础地址
fileUrl: 'http://112.29.103.165:1616/exam-file/',
// 上传文件地址
uploadUrl: 'http://112.29.103.165:1616/exam-file/file/uploadBase64',
bmwUrl: 'http://112.29.103.165:1616/exam-bmw',
// 体检-基础路径
tjBaseUrl: 'http://112.29.103.165:1616/AppPeaManager',
tjFile: 'http://112.29.103.165:1616/medicalDocumentation/statics/',
//实名制移动端-登录接口
realLoginUrl: 'http://192.168.0.14:9200/',
//实名制移动端-移动
realAppUrl: 'http://192.168.0.14:1913/app',
//实名制移动端-安培
realExamUrl: 'http://192.168.0.14:1910',
//实名制移动端-文件
realFileUrl: 'http://192.168.0.14:1909/file/',
//实名制移动端
realBmwUrl: 'http://192.168.0.14:1911/bmw',
//实名制移动端 -- 新
realNewBmwUrl: 'http://192.168.0.14:1911',
//实名制移动端 -- 新
realNewYnUrl: 'http://192.168.0.14:1918',
// 应用信息
appInfo: {
// 应用名称
name: '作业管控智慧平台',
// 应用版本
version: '1.1.0'
}
}
// 测试环境
// module.exports = { // module.exports = {
// // baseUrl:'/prod-api',
// // http://192.168.0.14:19999 // // http://192.168.0.14:19999
// loginBaseUrl: 'http://192.168.0.14:27018', // loginBaseUrl: 'http://112.29.103.165:1616',
// // loginBaseUrl:'http://192.168.0.14:19999', // baseUrl: 'http://112.29.103.165:1616/exam',
// // baseUrl:'http://192.168.0.14:2900', // // login: 'http://112.29.103.165:1616',
// baseUrl: 'http://192.168.0.14:19999', // login: 'http://112.29.103.165:1616/exam/exam-auth/',
// // loginUrl: 'http://112.29.103.165:1616',
// login: 'http://192.168.0.14:19200',
// // 图片展示基础地址 // // 图片展示基础地址
// fileUrl: 'http://192.168.0.14:19999/exam-file/', // fileUrl: 'http://112.29.103.165:1616/exam-file/',
// // 上传文件地址 // // 上传文件地址
// uploadUrl: 'http://192.168.0.14:19999/exam-file/file/uploadBase64', // uploadUrl: 'http://112.29.103.165:1616/exam-file/file/uploadBase64',
// bmwUrl: 'http://192.168.0.14:19999/exam-bmw', // bmwUrl: 'http://112.29.103.165:1616/exam-bmw',
// // 体检-基础路径 // // 体检-基础路径
// tjBaseUrl: 'http://192.168.0.14:18077/AppPeaManager', // tjBaseUrl: 'http://112.29.103.165:1616/AppPeaManager',
// // tjBaseUrl: 'http://192.168.2.91:19100/AppPeaManager', // tjFile: 'http://112.29.103.165:1616/medicalDocumentation/statics/',
// tjFile: 'http://192.168.0.14:18077/medicalDocumentation/statics/',
// //实名制移动端-登录接口 // //实名制移动端-登录接口
// realLoginUrl: 'http://192.168.0.14:1616/auth/', // realLoginUrl: 'http://192.168.0.14:1616/auth/',
@ -86,3 +43,52 @@ module.exports = {
// version: '1.1.0' // version: '1.1.0'
// } // }
// } // }
// 测试环境
module.exports = {
// baseUrl:'/prod-api',
// http://192.168.0.14:19999
loginBaseUrl: 'http://192.168.0.14:27018',
// loginBaseUrl:'http://192.168.0.14:19999',
// baseUrl:'http://192.168.0.14:2900',
baseUrl: 'http://192.168.0.14:19999',
// loginUrl: 'http://112.29.103.165:1616',
login: 'http://192.168.0.14:19200',
// 图片展示基础地址
fileUrl: 'http://192.168.0.14:19999/exam-file/',
// 上传文件地址
uploadUrl: 'http://192.168.0.14:19999/exam-file/file/uploadBase64',
bmwUrl: 'http://192.168.0.14:19999/exam-bmw',
// 体检-基础路径
tjBaseUrl: 'http://192.168.0.14:18077/AppPeaManager',
// tjBaseUrl: 'http://192.168.2.91:19100/AppPeaManager',
tjFile: 'http://192.168.0.14:18077/medicalDocumentation/statics/',
//实名制移动端-登录接口
realLoginUrl: 'http://192.168.0.14:1616/auth/',
realBaseUrl: 'http://192.168.0.14:1910/',
//实名制移动端-移动
realAppUrl: 'http://192.168.0.14:1913/app',
//实名制移动端-安培
realExamUrl: 'http://192.168.0.14:1616/system',
//实名制移动端-文件
realFileUrl: 'http://192.168.0.14:1909/file/',
//实名制移动端
realBmwUrl: 'http://192.168.0.14:1616/bmw',
//实名制移动端 -- 新
realNewBmwUrl: 'http://192.168.0.14:1616',
loginUrl: 'http://192.168.0.14:27018',
//实名制移动端 -- 新
realNewYnUrl: 'http://192.168.0.14:1918',
realIdCardUrl: 'http://192.168.0.14:26699',
//作业计划 -- 新
workPlanNewYnUrl: 'http://192.168.0.14:19191',
// 应用信息
appInfo: {
// 应用名称
name: '作业管控智慧平台',
// 应用版本
version: '1.1.0'
}
}

View File

@ -6,6 +6,8 @@
"versionCode" : 111, "versionCode" : 111,
"transformPx" : false, "transformPx" : false,
"app-plus" : { "app-plus" : {
"screenOrientation" : [ "portrait-primary", "landscape-primary" ],
"flexible" : true,
"runmode" : "liberate", "runmode" : "liberate",
"compatible" : { "compatible" : {
"ignoreVersion" : true "ignoreVersion" : true
@ -98,7 +100,7 @@
} }
} }
}, },
"orientation" : [ "portrait-primary" ], "screenOrientation" : [ "portrait-primary", "landscape-primary" ],
"icons" : { "icons" : {
"ios" : { "ios" : {
"iphone" : { "iphone" : {

View File

@ -23,7 +23,7 @@ export default {
return { return {
viewerUrl: '/hybrid/html/web/viewer.html', // html hybrid/html viewerUrl: '/hybrid/html/web/viewer.html', // html hybrid/html
fileUrl: '', // 访pdf fileUrl: '', // 访pdf
url: '', // web-view // url: '', // web-view
currentPage: 1, // currentPage: 1, //
totalPage: 0, // totalPage: 0, //
currentReadPage: 0, // currentReadPage: 0, //
@ -80,7 +80,7 @@ export default {
pageInt() { pageInt() {
console.log(this.viewerUrlWithParams) console.log(this.viewerUrlWithParams)
// #ifdef H5 // #ifdef H5
this.url = `${this.viewerUrl}?file=${encodeURIComponent(this.fileUrl)}&page=`+this.currentPage this.viewerUrlWithParams = `${this.viewerUrl}?file=${encodeURIComponent(this.fileUrl)}&page=`+this.currentPage
console.log(this.viewerUrlWithParams) console.log(this.viewerUrlWithParams)
// #endif // #endif
// #ifdef APP-PLUS // #ifdef APP-PLUS

View File

@ -1,170 +1,105 @@
<template> <template>
<view class="page"> <view class="page">
<u-navbar <u-navbar class="u-navbar" title="人员信息" placeholder @leftClick="leftClick" leftIconColor="#fff" bgColor="#00337A" :titleStyle="{ color: '#FFF', fontSize: '32rpx' }"/>
class="u-navbar"
title="人员信息"
placeholder
@leftClick="leftClick"
leftIconColor="#fff"
bgColor="#00337A"
:titleStyle="{ color: '#FFF', fontSize: '32rpx' }"
/>
<scroll-view class="content" scroll-y="true"> <scroll-view class="content" scroll-y="true">
<view class="view-box"> <view class="view-box">
<view class="title-view">基本信息</view> <view class="title-view">
<view style="display: flex; width: 94%; margin: 20rpx auto; height: auto; justify-content: space-between"> 基本信息
</view>
<view style="display: flex;width: 94%;margin: 20rpx auto;height: auto;justify-content: space-between;">
<view class="img-item"> <view class="img-item">
<image class="img" :src="faceImgUrl" mode=""></image> <image class="img" :src="faceImgUrl" mode=""></image>
<view style="margin-top: 20rpx">{{ detailData.workerType }}</view> <view style="margin-top: 20rpx;">{{detailData.workerType}}</view>
</view> </view>
<view class="base-info"> <view class="base-info">
<view style="margin-bottom: 20rpx; display: flex; align-items: center"> <view style="margin-bottom: 20rpx;display: flex;align-items: center;">
<text style="font-weight: bold; margin-right: 20rpx">{{ detailData.name }}</text> <text style="font-weight: bold;margin-right: 20rpx;">{{detailData.name}}</text>
<text style="color:#06E7A3;margin-right: 20rpx;" v-if="detailData.lightStatus=='绿灯'">{{detailData.lightStatus}}</text> <text style="color:#06E7A3;margin-right: 20rpx;" v-if="detailData.lightStatus=='绿灯'">{{detailData.lightStatus}}</text>
<text style="color:#e8717f;margin-right: 20rpx;" v-if="detailData.lightStatus=='红灯'">{{detailData.lightStatus}}</text> <text style="color:#e8717f;margin-right: 20rpx;" v-if="detailData.lightStatus=='红灯'">{{detailData.lightStatus}}</text>
<text style="color:#e89c2d;margin-right: 20rpx;" v-if="detailData.lightStatus=='黄灯'">{{detailData.lightStatus}}</text> <text style="color:#e89c2d;margin-right: 20rpx;" v-if="detailData.lightStatus=='黄灯'">{{detailData.lightStatus}}</text>
<image class="iconImg" src="../../../../static/realName/tips.png" mode="" @click="openInfo"></image> <image class="iconImg" src="../../../../static/realName/tips.png" mode="" @click="openInfo"></image>
</view> </view>
<image <image class="lightImg" v-if="detailData.lightStatus=='绿灯'" src="../../../../static/realName/green_light.png" mode=""></image>
class="lightImg" <image class="lightImg" v-if="detailData.lightStatus=='黄灯'" src="../../../../static/realName/yellow_light.png" mode=""></image>
v-if="detailData.lightStatus == '绿灯'" <image class="lightImg" v-if="detailData.lightStatus=='红灯'" src="../../../../static/realName/red_light.png" mode=""></image>
src="../../../../static/realName/green_light.png" <view style="font-weight: bold;">{{detailData.postName}}</view>
mode="" <view style="font-weight: bold;">{{detailData.phone}}</view>
></image> <view style="font-weight: bold;">{{detailData.einStatus}}</view>
<image <view style="margin-top: 20rpx;color: #999;">{{detailData.subName}}</view>
class="lightImg" <view style="margin-top: 20rpx;color: #999;">{{detailData.proName}}</view>
v-if="detailData.lightStatus == '黄灯'"
src="../../../../static/realName/yellow_light.png"
mode=""
></image>
<image
class="lightImg"
v-if="detailData.lightStatus == '红灯'"
src="../../../../static/realName/red_light.png"
mode=""
></image>
<view style="font-weight: bold">{{ detailData.postName }}</view>
<view style="font-weight: bold">{{ detailData.phone }}</view>
<view style="font-weight: bold">{{ detailData.einStatus }}</view>
<view style="margin-top: 20rpx; color: #999">{{ detailData.subName }}</view>
<view style="margin-top: 20rpx; color: #999">{{ detailData.proName }}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="view-box"> <view class="view-box">
<view class="title-view">安全培训考试</view> <view class="title-view">
<view style="width: 94%; margin: 20rpx auto; height: auto" @click="openTrain"> 安全培训考试
</view>
<view style="width: 94%;margin: 20rpx auto;height: auto;" @click="openTrain">
<view class="list-item" v-for="(item,index) in detailData.listExam" :key="index"> <view class="list-item" v-for="(item,index) in detailData.listExam" :key="index">
<view style="display: flex; align-items: center"> <view style="display: flex;align-items: center;">
<image <image v-if="item.status==0" class="iconImg" src="../../../../static/realName/incomplete.png" mode=""></image>
v-if="item.status == 0" <image v-if="item.status==1" class="iconImg" src="../../../../static/realName/complete.png" mode=""></image>
class="iconImg" <view v-if="item.status==0" style="margin-left: 40rpx;color: #FF2F2F;font-weight: bold;">{{item.name}}</view>
src="../../../../static/realName/incomplete.png" <view v-if="item.status==1" style="margin-left: 40rpx;color: #10BF95;font-weight: bold;">{{item.name}}</view>
mode=""
></image>
<image
v-if="item.status == 1"
class="iconImg"
src="../../../../static/realName/complete.png"
mode=""
></image>
<view v-if="item.status == 0" style="margin-left: 40rpx; color: #ff2f2f; font-weight: bold">
{{ item.name }}
</view> </view>
<view v-if="item.status == 1" style="margin-left: 40rpx; color: #10bf95; font-weight: bold"> <view v-if="item.status==0" class="status-btn" style="background: #FF2F2F;">未完成</view>
{{ item.name }} <view v-if="item.status==1" class="status-btn" style="background: #10BF95;">完成</view>
</view>
</view>
<view v-if="item.status == 0" class="status-btn" style="background: #ff2f2f">未完成</view>
<view v-if="item.status == 1" class="status-btn" style="background: #10bf95">完成</view>
</view> </view>
</view> </view>
</view> </view>
<view class="view-box"> <view class="view-box">
<view class="title-view">今日考勤</view> <view class="title-view">
<view 今日考勤
style=" </view>
width: 94%; <view style="width: 94%;margin: 20rpx auto;height: auto;display: flex;align-items: center;justify-content: space-between;">
margin: 20rpx auto;
height: auto;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<view>上班{{detailData.isToWork}}</view> <view>上班{{detailData.isToWork}}</view>
<view>下班{{detailData.isOffWork}}</view> <view>下班{{detailData.isOffWork}}</view>
<view v-if="detailData.isToWork == '未打卡'" class="status-btn" style="background: #ff2f2f">未打卡</view> <view v-if="detailData.isToWork=='未打卡'" class="status-btn" style="background: #FF2F2F;">未打卡</view>
<view v-if="detailData.isToWork != '未打卡'" class="status-btn" style="background: #10bf95">已打卡</view> <view v-if="detailData.isToWork!='未打卡'" class="status-btn" style="background: #10BF95;">已打卡</view>
</view> </view>
</view> </view>
<view class="view-box"> <view class="view-box">
<view class="title-view">今日作业计划</view> <view class="title-view">
<view class="title-view">作业内容</view> 今日作业计划
<view style="width: 94%; margin: 20rpx auto; height: auto"> </view>
<view class="title-view">
作业内容
</view>
<view style="width: 94%;margin: 20rpx auto;height: auto;">
{{detailData.zynr}} {{detailData.zynr}}
</view> </view>
</view> </view>
<view class="view-box"> <view class="view-box">
<view class="title-view">合同信息</view> <view class="title-view">
<view style="width: 94%; margin: 20rpx auto; height: auto"> 合同信息
</view>
<view style="width: 94%;margin: 20rpx auto;height: auto;">
<view class="list-item" v-for="(item,index) in detailData.listContract" :key="index" @click="openContract"> <view class="list-item" v-for="(item,index) in detailData.listContract" :key="index" @click="openContract">
<view style="display: flex; align-items: center"> <view style="display: flex;align-items: center;">
<image <image v-if="item.contractStatus==0" class="iconImg" src="../../../../static/realName/incomplete.png" mode=""></image>
v-if="item.contractStatus == 0" <image v-if="item.contractStatus==1" class="iconImg" src="../../../../static/realName/complete.png" mode=""></image>
class="iconImg" <view v-if="item.contractStatus==0" style="margin-left: 40rpx;color: #FF2F2F;font-weight: bold;">{{item.contractType}}</view>
src="../../../../static/realName/incomplete.png" <view v-if="item.contractStatus==1" style="margin-left: 40rpx;color: #10BF95;font-weight: bold;">{{item.contractType}}</view>
mode=""
></image>
<image
v-if="item.contractStatus == 1"
class="iconImg"
src="../../../../static/realName/complete.png"
mode=""
></image>
<view v-if="item.contractStatus == 0" style="margin-left: 40rpx; color: #ff2f2f; font-weight: bold">
{{ item.contractType }}
</view> </view>
<view v-if="item.contractStatus == 1" style="margin-left: 40rpx; color: #10bf95; font-weight: bold"> <view v-if="item.contractStatus==0" class="status-btn" style="background: #FF2F2F;">未签订</view>
{{ item.contractType }} <view v-if="item.contractStatus==1" class="status-btn" style="background: #10BF95;">已签订</view>
</view>
</view>
<view v-if="item.contractStatus == 0" class="status-btn" style="background: #ff2f2f">未签订</view>
<view v-if="item.contractStatus == 1" class="status-btn" style="background: #10bf95">已签订</view>
</view> </view>
</view> </view>
</view> </view>
<view class="view-box"> <view class="view-box">
<view class="title-view">持证信息</view> <view class="title-view">
<view style="width: 94%; margin: 20rpx auto; height: auto"> 持证信息
<view
class="list-item"
v-for="(item, index) in detailData.listCertificate"
:key="index"
@click="openListCertificate"
>
<view style="display: flex; align-items: center">
<image
v-if="item.isActive == 0"
class="iconImg"
src="../../../../static/realName/incomplete.png"
mode=""
></image>
<image
v-if="item.isActive == 1"
class="iconImg"
src="../../../../static/realName/complete.png"
mode=""
></image>
<view v-if="item.isActive == 0" style="margin-left: 40rpx; color: #ff2f2f; font-weight: bold">
{{ item.certificateName }}
</view> </view>
<view v-if="item.isActive == 1" style="margin-left: 40rpx; color: #10bf95; font-weight: bold"> <view style="width: 94%;margin: 20rpx auto;height: auto;">
{{ item.certificateName }} <view class="list-item" v-for="(item,index) in detailData.listCertificate" :key="index" @click="openListCertificate">
<view style="display: flex;align-items: center;">
<image v-if="item.isActive==0" class="iconImg" src="../../../../static/realName/incomplete.png" mode=""></image>
<image v-if="item.isActive==1" class="iconImg" src="../../../../static/realName/complete.png" mode=""></image>
<view v-if="item.isActive==0" style="margin-left: 40rpx;color: #FF2F2F;font-weight: bold;">{{item.certificateName}}</view>
<view v-if="item.isActive==1" style="margin-left: 40rpx;color: #10BF95;font-weight: bold;">{{item.certificateName}}</view>
</view> </view>
</view> <view v-if="item.isActive==0" class="status-btn" style="background: #FF2F2F;">无效</view>
<view v-if="item.isActive == 0" class="status-btn" style="background: #ff2f2f">无效</view> <view v-if="item.isActive==1" class="status-btn" style="background: #10BF95;">有效</view>
<view v-if="item.isActive == 1" class="status-btn" style="background: #10bf95">有效</view>
</view> </view>
</view> </view>
</view> </view>
@ -172,72 +107,30 @@
<!-- 信息弹窗 --> <!-- 信息弹窗 -->
<u-popup :show="showPopup1" mode="center" @close="closePopup1"> <u-popup :show="showPopup1" mode="center" @close="closePopup1">
<view style="width: 600rpx; height: auto; position: relative; background-color: #fff"> <view style="width:600rpx;height: auto;position: relative;background-color: #fff;">
<view <view style="width: 100%;height: 80rpx;margin: 0 auto;display: flex;justify-content: center;align-items: center;background-color: #fff;">
style=" <view style="font-size: 32rpx;: bold;">红绿灯</view>
width: 100%;
height: 80rpx;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
"
>
<view style="font-size: 32rpx; :bold ">红绿灯</view>
</view> </view>
<view style="width: 100%; height: 22vh; background-color: #fff"> <view style="width: 100%;height: 22vh;background-color: #fff;">
<view style="width: 90%; height: auto; margin: 20rpx auto; display: flex; align-items: center"> <view style="width: 90%;height: auto;margin: 20rpx auto;display: flex;align-items: center;">
<view <view style="width: 120rpx;height: 50rpx;color: #FFF;background: #DE3C23;text-align: center;line-height: 50rpx;">红灯</view>
style=" <view style="margin-left: 40rpx;width: 75%;">
width: 120rpx; <view style="color: #CD4F3C;font-weight: bold;">安全教育培训考试未完成</view>
height: 50rpx;
color: #fff;
background: #de3c23;
text-align: center;
line-height: 50rpx;
"
>
红灯
</view> </view>
<view style="margin-left: 40rpx; width: 75%">
<view style="color: #cd4f3c; font-weight: bold">安全教育培训考试未完成</view> </view>
<view style="width: 90%;height: auto;margin: 20rpx auto;display: flex;align-items: center;">
<view style="width: 120rpx;height: 50rpx;color: #FFF;background: #FF7F26;text-align: center;line-height: 50rpx;">黄灯</view>
<view style="margin-left: 40rpx;width: 75%;">
<view style="color: #2DBB9D;font-weight: bold;">安全教育培训考试已完成</view>
<view style="color: #CD4F3C;font-weight: bold;">合同/工资卡未上传分包班组未绑定</view>
</view> </view>
</view> </view>
<view style="width: 90%; height: auto; margin: 20rpx auto; display: flex; align-items: center"> <view style="width: 90%;height: auto;margin: 20rpx auto;display: flex;align-items: center;">
<view <view style="width: 120rpx;height: 50rpx;color: #FFF;background: #10BF96;text-align: center;line-height: 50rpx;">绿灯</view>
style=" <view style="margin-left: 40rpx;width: 75%;">
width: 120rpx; <view style="color: #2DBB9D;font-weight: bold;">安全教育培训考试已完成</view>
height: 50rpx; <view style="color: #2DBB9D;font-weight: bold;">合同/工资卡已上传分包班组已绑定</view>
color: #fff;
background: #ff7f26;
text-align: center;
line-height: 50rpx;
"
>
黄灯
</view>
<view style="margin-left: 40rpx; width: 75%">
<view style="color: #2dbb9d; font-weight: bold">安全教育培训考试已完成</view>
<view style="color: #cd4f3c; font-weight: bold">合同/工资卡未上传分包班组未绑定</view>
</view>
</view>
<view style="width: 90%; height: auto; margin: 20rpx auto; display: flex; align-items: center">
<view
style="
width: 120rpx;
height: 50rpx;
color: #fff;
background: #10bf96;
text-align: center;
line-height: 50rpx;
"
>
绿灯
</view>
<view style="margin-left: 40rpx; width: 75%">
<view style="color: #2dbb9d; font-weight: bold">安全教育培训考试已完成</view>
<view style="color: #2dbb9d; font-weight: bold">合同/工资卡已上传分包班组已绑定</view>
</view> </view>
</view> </view>
</view> </view>
@ -246,20 +139,16 @@
<!-- 考试弹窗 --> <!-- 考试弹窗 -->
<u-popup :show="showPopup2" mode="center" @close="closePopup2"> <u-popup :show="showPopup2" mode="center" @close="closePopup2">
<view style="width: 600rpx; height: auto; position: relative; background-color: #fff"> <view style="width:600rpx;height: auto;position: relative;background-color: #fff;">
<view style="width: 100%; height: 20vh; background-color: #fff"> <view style="width: 100%;height: 20vh;background-color: #fff;">
<view class="list-item" style="margin: 30rpx 10rpx" v-for="(item, index) in detailData.listExam" :key="index"> <view class="list-item" style="margin: 30rpx 10rpx;" v-for="(item,index) in detailData.listExam" :key="index">
<view style="display: flex; align-items: center; width: 50%"> <view style="display: flex;align-items: center;width: 50%;">
<view v-if="item.status == 0" style="margin-left: 10rpx; color: #ff2f2f; font-weight: bold"> <view v-if="item.status==0" style="margin-left: 10rpx;color: #FF2F2F;font-weight: bold;">{{item.name}}</view>
{{ item.name }} <view v-if="item.status==1" style="margin-left: 10rpx;color: #10BF95;font-weight: bold;">{{item.name}}</view>
</view> </view>
<view v-if="item.status == 1" style="margin-left: 10rpx; color: #10bf95; font-weight: bold"> <view v-if="item.status==0" style="font-weight: bold;">未完成</view>
{{ item.name }} <view v-if="item.status==1" style="font-weight: bold;">完成</view>
</view> <view style="font-weight: bold;">{{item.score}}</view>
</view>
<view v-if="item.status == 0" style="font-weight: bold">未完成</view>
<view v-if="item.status == 1" style="font-weight: bold">完成</view>
<view style="font-weight: bold">{{ item.score }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -267,61 +156,57 @@
<!-- 合同弹窗 --> <!-- 合同弹窗 -->
<u-popup :show="showPopup3" mode="center" @close="closePopup3"> <u-popup :show="showPopup3" mode="center" @close="closePopup3">
<view style="width: 600rpx; height: auto; position: relative; background-color: #fff"> <view style="width:600rpx;height: auto;position: relative;background-color: #fff;">
<view style="width: 100%; height: auto; background-color: #fff"> <view style="width: 100%;height: auto;background-color: #fff;">
<u--form class="addForm" :model="contractData" > <u--form class="addForm" :model="contractData" >
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同照片</view> <view style="width:30%;height: 100%;">合同照片</view>
<view style="width: 70%; height: 100%" v-if="contractWitnessType == 'img'"> <view style="width:70%;height: 100%;" v-if="contractWitnessType=='img'">
<image style="width: 200rpx; height: 200rpx; margin: 10rpx" :src="contractImgUrl" mode=""></image> <image style="width:200rpx;height: 200rpx;margin: 10rpx;" :src="contractImgUrl" mode=""></image>
</view> </view>
<view style="width: 70%; height: 100%" v-if="contractWitnessType == 'file'" @click="openPdf2"> <view style="width:70%;height: 100%;" v-if="contractWitnessType=='file'" @click="openPdf2">
<image <image style="width:200rpx;height: 200rpx;margin: 10rpx;" src="../../../../static/realName/pdf.png" mode=""></image>
style="width: 200rpx; height: 200rpx; margin: 10rpx"
src="../../../../static/realName/pdf.png"
mode=""
></image>
</view> </view>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同编号</view> <view style="width:30%;height: 100%;">合同编号</view>
<u-form-item prop="contractCode" style="width: 70%; height: 100%"> <u-form-item prop='contractCode' style="width:70%;height: 100%;" >
<u--input v-model="contractData.contractCode" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.contractCode" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同期限类型</view> <view style="width:30%;height: 100%;">合同期限类型</view>
<u-form-item prop="laborContractType" style="width: 70%; height: 100%"> <u-form-item prop='laborContractType' style="width:70%;height: 100%;" >
<u--input v-model="contractData.laborContractType" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.laborContractType" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同签订日期</view> <view style="width:30%;height: 100%;">合同签订日期</view>
<u-form-item prop="contractValidDate" style="width: 70%; height: 100%"> <u-form-item prop='contractValidDate' style="width:70%;height: 100%;" >
<u--input v-model="contractData.contractValidDate" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.contractValidDate" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同终止日期</view> <view style="width:30%;height: 100%;">合同终止日期</view>
<u-form-item prop="contractInvalidDate" style="width: 70%; height: 100%"> <u-form-item prop='contractInvalidDate' style="width:70%;height: 100%;" >
<u--input v-model="contractData.contractInvalidDate" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.contractInvalidDate" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">合同类型</view> <view style="width:30%;height: 100%;">合同类型</view>
<u-form-item prop="contractType" style="width: 70%; height: 100%"> <u-form-item prop='contractType' style="width:70%;height: 100%;" >
<u--input v-model="contractData.contractType" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.contractType" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">工资核定方式</view> <view style="width:30%;height: 100%;">工资核定方式</view>
<u-form-item prop="wageApprovedWay" style="width: 70%; height: 100%"> <u-form-item prop='wageApprovedWay' style="width:70%;height: 100%;" >
<u--input v-model="contractData.wageApprovedWay" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.wageApprovedWay" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box"> <view class="form-input-box">
<view style="width: 30%; height: 100%">工资核定标准</view> <view style="width:30%;height: 100%;">工资核定标准</view>
<u-form-item prop="wageCriterion" style="width: 70%; height: 100%"> <u-form-item prop='wageCriterion' style="width:70%;height: 100%;" >
<u--input v-model="contractData.wageCriterion" type="text" border="surround" readonly></u--input> <u--input v-model="contractData.wageCriterion" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
@ -332,63 +217,40 @@
<!-- 持证弹窗 --> <!-- 持证弹窗 -->
<u-popup :show="showPopup4" mode="center" @close="closePopup4"> <u-popup :show="showPopup4" mode="center" @close="closePopup4">
<view style="width: 600rpx; height: auto; position: relative; background-color: #fff"> <view style="width:600rpx;height: auto;position: relative;background-color: #fff;">
<view style="width: 100%; height: auto; background-color: #fff"> <view style="width: 100%;height: auto;background-color: #fff;">
<u--form class="addForm" :model="listCertificate" > <u--form class="addForm" :model="listCertificate" >
<view class="form-input-box" style="flex-direction: column; align-items: flex-start"> <view class="form-input-box" style="flex-direction: column;align-items: flex-start;">
<view style="font-size: 24rpx; margin-top: 20rpx">证件名称</view> <view style="font-size: 24rpx;margin-top: 20rpx;">证件名称</view>
<u-form-item prop="certificateName"> <u-form-item prop='certificateName'>
<u--input v-model="listCertificate.certificateName" type="text" border="surround" readonly></u--input> <u--input v-model="listCertificate.certificateName" type="text" border="surround" readonly></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box" style="flex-direction: column; align-items: flex-start"> <view class="form-input-box" style="flex-direction: column;align-items: flex-start;">
<view style="font-size: 24rpx; margin-top: 20rpx">证件有效期</view> <view style="font-size: 24rpx;margin-top: 20rpx;">证件有效期</view>
<u-form-item prop="certificateName"> <u-form-item prop='certificateName'>
<u--input <u--input :value="listCertificate.startDate+'至'+listCertificate.stopDate" type="text" border="surround" readonly></u--input>
:value="listCertificate.startDate + '至' + listCertificate.stopDate"
type="text"
border="surround"
readonly
></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box" style="flex-direction: column; align-items: flex-start"> <view class="form-input-box" style="flex-direction: column;align-items: flex-start;">
<view style="font-size: 24rpx; margin-top: 20rpx">是否有效</view> <view style="font-size: 24rpx;margin-top: 20rpx;">是否有效</view>
<u-form-item prop="certificateName"> <u-form-item prop='certificateName'>
<u--input <u--input v-if="listCertificate.isActive==0" value="无效" type="text" border="surround" readonly></u--input>
v-if="listCertificate.isActive == 0" <u--input v-if="listCertificate.isActive==1" value="有效" color="#10BF95" type="text" border="surround" readonly></u--input>
value="无效"
type="text"
border="surround"
readonly
></u--input>
<u--input
v-if="listCertificate.isActive == 1"
value="有效"
color="#10BF95"
type="text"
border="surround"
readonly
></u--input>
</u-form-item> </u-form-item>
</view> </view>
<view class="form-input-box" style="flex-direction: column; align-items: flex-start"> <view class="form-input-box" style="flex-direction: column;align-items: flex-start;">
<view style="font-size: 24rpx; margin-top: 20rpx">证件附件</view> <view style="font-size: 24rpx;margin-top: 20rpx;">证件附件</view>
<view <view v-if="listCertificate.certificateTypeFile!=''" @click="openPdf" style="font-size: 28rpx;margin: 20rpx;color: #00337A;">附件查看</view>
v-if="listCertificate.certificateTypeFile != ''" <view v-if="!listCertificate.certificateTypeFile" style="font-size: 28rpx;margin: 20rpx;color: #FF2F2F;">无附件</view>
@click="openPdf"
style="font-size: 28rpx; margin: 20rpx; color: #00337a"
>
附件查看
</view>
<view v-if="!listCertificate.certificateTypeFile" style="font-size: 28rpx; margin: 20rpx; color: #ff2f2f">
无附件
</view>
</view> </view>
</u--form> </u--form>
</view> </view>
</view> </view>
</u-popup> </u-popup>
</view> </view>
</template> </template>
@ -403,26 +265,27 @@ export default {
showPopup1:false,// showPopup1:false,//
showPopup2:false,// showPopup2:false,//
contractData:{},// contractData:{},//
contractImgUrl: '', contractImgUrl:"",
contractWitnessType: '', contractWitnessType:"",
showPopup3:false,// showPopup3:false,//
listCertificate:{},// listCertificate:{},//
showPopup4: false // showPopup4:false,//
} }
}, },
onLoad(option) { onLoad(option) {
console.log(option) console.log(option)
this.idNumber = option.idNumber || '' this.idNumber=option.idNumber||"";
if (this.idNumber != '') { if(this.idNumber!=""){
this.selectPersonQualificationsContent() this.selectPersonQualificationsContent()
} }
}, },
onShow() {}, onShow() {
},
methods: { methods: {
// //
selectPersonQualificationsContent(){ selectPersonQualificationsContent(){
let param={ let param={
idNumber: this.idNumber idNumber:this.idNumber,
} }
uni.request({ uni.request({
url: config.realAppUrl+'/BasePerson/selectPersonQualificationsContent', url: config.realAppUrl+'/BasePerson/selectPersonQualificationsContent',
@ -434,10 +297,10 @@ export default {
}, },
success: res => { success: res => {
console.log(res) console.log(res)
res = res.data res = res.data;
if(res.code==200){ if(res.code==200){
this.detailData = res.data this.detailData=res.data;
this.faceImgUrl = config.realBaseUrl + res.data.facePhoto this.faceImgUrl=config.realBaseUrl+res.data.facePhoto;
}else{ }else{
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
@ -451,45 +314,45 @@ export default {
}) })
}, },
openInfo(){ openInfo(){
this.showPopup1 = true this.showPopup1=true;
}, },
closePopup1(){ closePopup1(){
this.showPopup1 = false this.showPopup1=false;
}, },
openTrain(){ openTrain(){
this.showPopup2 = true this.showPopup2=true;
}, },
closePopup2(){ closePopup2(){
this.showPopup2 = false this.showPopup2=false;
}, },
openContract(){ openContract(){
this.contractData = this.detailData.listContract[0] this.contractData = this.detailData.listContract[0]
if (this.contractData.witnessPath && this.contractData.witnessPath.split('.')[1] == 'pdf') { if(this.contractData.witnessPath&&this.contractData.witnessPath.split(".")[1]=="pdf"){
this.contractWitnessType = 'file' this.contractWitnessType="file"
}else{ }else{
this.contractWitnessType = 'img' this.contractWitnessType="img"
} }
this.contractImgUrl = config.realFileUrl + this.contractData.witnessPath this.contractImgUrl=config.realFileUrl+this.contractData.witnessPath;
this.showPopup3 = true this.showPopup3=true;
}, },
closePopup3(){ closePopup3(){
this.showPopup3 = false this.showPopup3=false;
}, },
openListCertificate(){ openListCertificate(){
this.listCertificate = this.detailData.listCertificate[0] this.listCertificate = this.detailData.listCertificate[0]
this.showPopup4 = true this.showPopup4=true;
}, },
closePopup4(){ closePopup4(){
this.showPopup4 = false this.showPopup4=false;
}, },
openPdf(){ openPdf(){
console.log('附件打开', this.listCertificate.certificateTypeFile) console.log("附件打开",this.listCertificate.certificateTypeFile)
uni.navigateTo({ uni.navigateTo({
url: `/pages/realName/workbench/qualifications/listCertificatePdf?pdfUrl=${this.listCertificate.certificateTypeFile}` url: `/pages/realName/workbench/qualifications/listCertificatePdf?pdfUrl=${this.listCertificate.certificateTypeFile}`
}) })
}, },
openPdf2(){ openPdf2(){
console.log('附件打开', this.contractImgUrl) console.log("附件打开",this.contractImgUrl)
// let url = config.realFileUrl+this.contractData.witnessPath // let url = config.realFileUrl+this.contractData.witnessPath
uni.navigateTo({ uni.navigateTo({
url: `/pages/realName/workbench/qualifications/listCertificatePdf?pdfUrl=${this.contractImgUrl}` url: `/pages/realName/workbench/qualifications/listCertificatePdf?pdfUrl=${this.contractImgUrl}`
@ -499,82 +362,10 @@ export default {
console.log('返回') console.log('返回')
uni.navigateBack({ uni.navigateBack({
delta: 1 // delta: 1 //
}) });
} }
}, },
onShow() {},
methods: {
//
selectPersonQualificationsContent() {
let param = {
idNumber: this.idNumber
}
uni.request({
url: config.realAppUrl + '/BasePerson/selectPersonQualificationsContent',
method: 'post',
data: param,
header: {
'Content-Type': 'application/json;charset=UTF-8;',
Authorization: uni.getStorageSync('realNameToken')
},
success: res => {
console.log(res)
res = res.data
if (res.code == 200) {
this.detailData = res.data
this.faceImgUrl = config.realBaseUrl + res.data.facePhoto
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
fail: err => {
console.log(err)
}
})
},
openInfo() {
this.showPopup1 = true
},
closePopup1() {
this.showPopup1 = false
},
openTrain() {
this.showPopup2 = true
},
closePopup2() {
this.showPopup2 = false
},
openContract() {
this.contractData = this.detailData.listContract[0]
this.contractImgUrl = config.realBaseUrl + this.contractData.witnessPath
this.showPopup3 = true
},
closePopup3() {
this.showPopup3 = false
},
openListCertificate() {
this.listCertificate = this.detailData.listCertificate[0]
this.showPopup4 = true
},
closePopup4() {
this.showPopup4 = false
},
openPdf() {
console.log('附件打开')
uni.navigateTo({
url: `/pages/realName/workbench/qualifications/listCertificatePdf?pdfUrl=${this.listCertificate.certificateTypeFile}`
})
},
leftClick() {
console.log('返回')
uni.navigateBack({
delta: 1 //
})
}
}
} }
</script> </script>
@ -582,7 +373,7 @@ export default {
.page { .page {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
background-color: #efefef; background-color: #EFEFEF;
box-sizing: border-box; box-sizing: border-box;
// padding: 0 20px; // padding: 0 20px;
.content{ .content{
@ -590,12 +381,12 @@ export default {
height: 90vh; height: 90vh;
margin-top: 20rpx; margin-top: 20rpx;
padding-bottom: 80rpx; padding-bottom: 80rpx;
background-color: #efefef; background-color: #EFEFEF;
} }
.view-box{ .view-box{
width: 90%; width: 90%;
margin: 20rpx auto; margin: 20rpx auto;
background-color: #fff; background-color: #FFF;
border-radius: 10rpx; border-radius: 10rpx;
padding: 30rpx 10rpx; padding: 30rpx 10rpx;
.title-view{ .title-view{
@ -642,7 +433,7 @@ export default {
width: 120rpx; width: 120rpx;
height: 50rpx; height: 50rpx;
line-height: 50rpx; line-height: 50rpx;
color: #fff; color: #FFF;
font-size:24rpx; font-size:24rpx;
text-align: center; text-align: center;
border-radius: 10rpx; border-radius: 10rpx;

View File

@ -5,7 +5,7 @@
<view style="margin: 20rpx;font-weight: bold;"> <view style="margin: 20rpx;font-weight: bold;">
合同视频 合同视频
</view> </view>
<video :src="videoSrc" controls="false" :autoplay="autoPlay" style="width: 100%;height: 600rpx;" v-if="!showPopup"></video> <video :src="videoSrc" :controls="false" style="width: 100%;height: 600rpx;" v-if="!showPopup"></video>
<view style="margin: 20rpx;font-weight: bold;color: red;"> <view style="margin: 20rpx;font-weight: bold;color: red;">
确认视频无误进行下一步签订 确认视频无误进行下一步签订
@ -88,7 +88,7 @@ export default {
compressed: false, compressed: false,
success: res => { success: res => {
console.log('chooseVideo',res) console.log('chooseVideo',res)
this.videoSrc = res.tempFilePath+'?_t=' + Date.now(); this.videoSrc = res.tempFilePath;
this.videoUrl = res.tempFilePath; this.videoUrl = res.tempFilePath;
}, },

View File

@ -26,8 +26,8 @@
<web-view :src="webUrl4" v-if="hIndex==4" :fullscreen="false" :webview-styles="webviewStyles" style="overflow: auto;margin-top: 400rpx;"></web-view> <web-view :src="webUrl4" v-if="hIndex==4" :fullscreen="false" :webview-styles="webviewStyles" style="overflow: auto;margin-top: 400rpx;"></web-view>
</view> </view>
<view class="screen-btn" v-if="screenType==2" @click="lockOrientation('landscape')">横屏</view> <view class="screen-btn" v-if="screenType==2" @click="lockOrientation('landscape-primary')">横屏</view>
<view class="screen-btn" v-if="screenType==1" @click="lockOrientation('portrait')">竖屏</view> <view class="screen-btn" v-if="screenType==1" @click="lockOrientation('portrait-primary')">竖屏</view>
</view> </view>
</template> </template>
@ -105,15 +105,14 @@
// //
//this.lockOrientation('portrait') //this.lockOrientation('portrait')
lockOrientation(orientation) { lockOrientation(orientation) {
if(orientation=='landscape'){ if(orientation=='landscape-primary'){
this.screenType=1 this.screenType=1
}else if(orientation=='portrait'){ }else if(orientation=='portrait-primary'){
this.screenType=2 this.screenType=2
} }
if (typeof plus !== 'undefined' && typeof plus.screen !== 'undefined') { // if (typeof plus !== 'undefined' && typeof plus.screen !== 'undefined') {
plus.screen.lockOrientation(orientation) plus.screen.lockOrientation(orientation)
} // }
this.webviewStyles = { this.webviewStyles = {
progress: false, progress: false,
width:'90%', width:'90%',