diff --git a/config.js b/config.js
index 7cc9c74..3541cc9 100644
--- a/config.js
+++ b/config.js
@@ -37,6 +37,12 @@ module.exports = {
bmwUrl: 'http://192.168.0.14:19999/exam-bmw',
// 体检-基础路径
tjBaseUrl: 'http://192.168.0.14:20000/AppPeaManager',
+ //实名制移动端-登录接口
+ realLoginUrl:'http://192.168.0.14:9200/',
+ //实名制移动端-移动
+ realAppUrl:'http://192.168.0.14:1913/app',
+
+
// 应用信息
appInfo: {
// 应用名称
diff --git a/package-lock.json b/package-lock.json
index de0bb9a..452d3bb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,43 +1,19 @@
{
"name": "hello-uniapp",
"version": "3.4.5",
- "lockfileVersion": 2,
+ "lockfileVersion": 1,
"requires": true,
- "packages": {
- "": {
- "name": "hello-uniapp",
- "version": "3.4.5",
- "license": "MIT",
- "dependencies": {
- "image-tools": "^1.4.0",
- "luch-request": "^3.1.1"
- }
- },
- "node_modules/@dcloudio/types": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/@dcloudio/types/-/types-2.6.12.tgz",
- "integrity": "sha512-mrCMwcINy1IFjU9VUqLeWBkj404yWs5paLDttBcA+eqUjanuUQbBcTVPqlrGgkyzLXDcV2oDDZRSNxNpXi4kMQ=="
- },
- "node_modules/image-tools": {
- "version": "1.4.0",
- "resolved": "https://registry.npmmirror.com/image-tools/-/image-tools-1.4.0.tgz",
- "integrity": "sha512-TKtvJ6iUwM0mfaD4keMnk1ENHFC470QEjBfA3IlvKdEOufzvWbjbaoNcoyYq6HlViF8+d5tOS1ooE6j7CHf1lQ=="
- },
- "node_modules/luch-request": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/luch-request/-/luch-request-3.1.1.tgz",
- "integrity": "sha512-p7+mlcEtgRcd0OfXC4XZbyiwSr1XgCeqNT7LlVUjnk7InYl/8d5Rk7BUqAYNA2WRafI1wRIUQWRWZRpeUwWR0w==",
- "dependencies": {
- "@dcloudio/types": "^2.0.16"
- }
- }
- },
"dependencies": {
"@dcloudio/types": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/@dcloudio/types/-/types-2.6.12.tgz",
"integrity": "sha512-mrCMwcINy1IFjU9VUqLeWBkj404yWs5paLDttBcA+eqUjanuUQbBcTVPqlrGgkyzLXDcV2oDDZRSNxNpXi4kMQ=="
},
+ "crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+ },
"image-tools": {
"version": "1.4.0",
"resolved": "https://registry.npmmirror.com/image-tools/-/image-tools-1.4.0.tgz",
diff --git a/package.json b/package.json
index 0bbe15b..1452229 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
},
"homepage": "https://github.com/dcloudio/hello-uniapp#readme",
"dependencies": {
+ "crypto-js": "^4.2.0",
"image-tools": "^1.4.0",
"luch-request": "^3.1.1"
},
diff --git a/pages.json b/pages.json
index 2fd41dd..51896f3 100644
--- a/pages.json
+++ b/pages.json
@@ -5,7 +5,7 @@
"pages": [
// pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
// {
- // "path": "pages/YNEduApp/index/index",
+ // "path": "pages/YNEduApp/index/index",
// "style": {
// "navigationStyle" : "custom"
// }
@@ -189,7 +189,7 @@
{
"path": "pages/YNEduApp/user/myMsg",
"style": {
- "navigationStyle": "custom"
+ "navigationBarTitleText": "消息通知"
}
},
{
@@ -199,42 +199,103 @@
}
},
{
- "path": "pages/HealthExaminationApp/index/index",
- "style": {
- "navigationStyle": "custom"
- }
- },
- {
- "path": "pages/HealthExaminationApp/appointment/appointment",
- "style": {
- "navigationBarTitleText": "体检预约"
- }
- },
- {
- "path": "pages/HealthExaminationApp/report/report",
- "style": {
- "navigationBarTitleText": "提交报告"
- }
- },
- {
- "path": "pages/HealthExaminationApp/myAppointment/myAppointment",
- "style": {
- "navigationBarTitleText": "我的预约"
- }
- },
- {
- "path": "pages/HealthExaminationApp/jobAppointment/jobAppointment",
- "style": {
- "navigationBarTitleText": "职业预约"
- }
- },
- {
- "path" : "pages/YNEduApp/index/notices",
+ "path" : "pages/HealthExaminationApp/index/index",
"style" :
{
- "navigationBarTitleText" : "公告通知"
+ "navigationStyle": "custom"
}
- }
+ },
+ ////实名制二期-移动端
+ {//首页
+ "path": "pages/realName/index/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//工作台
+ "path": "pages/realName/workbench/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ //人员录入
+ {//人员录入
+ "path": "pages/realName/workbench/personEnter/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//新增人员
+ "path": "pages/realName/workbench/personEnter/addPeople",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//查询人员列表
+ "path": "pages/realName/workbench/personEnter/searchPeople",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//查询人员列表
+ "path": "pages/realName/workbench/personEnter/editPeople",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },{//人员库
+ "path": "pages/realName/workbench/peopleLibrary/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ //合同见证
+ {//合同见证-首页
+ "path": "pages/realName/workbench/contractWitness/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ //工资卡见证
+ {//工资卡见证-首页
+ "path": "pages/realName/workbench/wageWitness/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ //电子合同
+ {//电子合同-pdf
+ "path": "pages/realName/workbench/electronicContract/contractVideo",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//电子合同-pdf
+ "path": "pages/realName/workbench/electronicContract/contractPdf",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },{//电子合同-填写
+ "path": "pages/realName/workbench/electronicContract/contractFill",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+
+
+
+
+ {//考勤
+ "path": "pages/realName/workAttendance/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {//我的
+ "path": "pages/realName/my/my",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ }
],
"globalStyle": {
"fontFamily": "Helvetica, Arial, sans-serif",
diff --git a/pages/gzt/index.vue b/pages/gzt/index.vue
index f97353e..52e47c3 100644
--- a/pages/gzt/index.vue
+++ b/pages/gzt/index.vue
@@ -95,6 +95,7 @@
+
+
diff --git a/pages/realName/index/index.vue b/pages/realName/index/index.vue
index 4106b30..50a2893 100644
--- a/pages/realName/index/index.vue
+++ b/pages/realName/index/index.vue
@@ -26,6 +26,7 @@ import TabbarConfig from '../util/tabbar.js'
// import face from '../../../uni_modules/mcc-face/index'
import { getStudentStudyWorkList } from '@/api/eduApp'
import config from '@/config'
+import AES from "@/utils/realNameAes.js";
export default {
data() {
return {
@@ -51,9 +52,47 @@ export default {
},
onLoad() {
console.log('🚀 ~ mounted ~ mounted-index:')
+ this.getLogin()
// this.getMsgList()
},
methods: {
+ getLogin(){
+ const realParams = {
+ username: AES.encrypt(uni.getStorageSync('userPhone')),
+ password: AES.encrypt('YNsbd@123456'),
+ jwtToken: uni.getStorageSync('App-Token')
+ }
+ uni.request({
+ url: config.realLoginUrl + 'login',
+ method: 'POST',
+ data: JSON.stringify(realParams),
+ header: {
+ 'Content-Type': 'application/json'
+ },
+ success: res => {
+ console.log('🚀 ~ gotoYy ~ res:', res)
+ // console.log('🚀 ~ gotoYy ~ res:', res.data.token)
+ if (res.data.code == 200) {
+ // uni.setStorageSync('tjToken', res.data.token)
+ uni.setStorageSync('realNameToken', res.data.data.access_token)
+ uni.setStorageSync('realNameUser', res.data.data.loginUser.sysUser)
+
+ } else {
+ uni.showToast({
+ title: res.message,
+ icon: 'none'
+ })
+ }
+ },
+ fail: err => {
+ console.log('🚀 ~ gotoYy ~ err:', err)
+ uni.showToast({
+ title: err.message,
+ icon: 'none'
+ })
+ }
+ })
+ },
// 获取消息列表
async getMsgList() {
uni.request({
diff --git a/pages/realName/util/chooseFile.js b/pages/realName/util/chooseFile.js
new file mode 100644
index 0000000..272af53
--- /dev/null
+++ b/pages/realName/util/chooseFile.js
@@ -0,0 +1,94 @@
+export function chooseFile(callback, acceptType) {
+
+ var CODE_REQUEST = 1000;
+ var main = plus.android.runtimeMainActivity();
+ if (plus.os.name == 'Android') {
+ console.log("666");
+ var Intent = plus.android.importClass('android.content.Intent');
+ var intent = new Intent(Intent.ACTION_GET_CONTENT);
+ intent.addCategory(Intent.CATEGORY_OPENABLE);
+ if (acceptType) {
+ intent.setType(acceptType);
+ } else {
+ intent.setType("*/*");
+ }
+ main.onActivityResult = (requestCode, resultCode, data) => {
+ if (requestCode == CODE_REQUEST) {
+ const uri = data.getData();
+ plus.android.importClass(uri);
+ const Build = plus.android.importClass('android.os.Build');
+ const isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
+ const DocumentsContract = plus.android.importClass('android.provider.DocumentsContract');
+ if (isKitKat && DocumentsContract.isDocumentUri(main, uri)) {
+ if ("com.android.externalstorage.documents" == uri.getAuthority()) {
+ console.log("6666");
+ var docId = DocumentsContract.getDocumentId(uri);
+ var split = docId.split(":");
+ var type = split[0];
+
+ if ("primary" == type) {
+ var Environment = plus.android.importClass('android.os.Environment');
+ callback(Environment.getExternalStorageDirectory() + "/" + split[1]);
+ } else {
+ var System = plus.android.importClass('java.lang.System');
+ var sdPath = System.getenv("SECONDARY_STORAGE");
+ if (sdPath) {
+ callback(sdPath + "/" + split[1]);
+ }
+ }
+ } else if ("com.android.providers.downloads.documents" == uri.getAuthority()) {
+ var id = DocumentsContract.getDocumentId(uri);
+ var ContentUris = plus.android.importClass('android.content.ContentUris');
+ var contentUri = ContentUris.withAppendedId(
+ // Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
+ Uri.parse("content://downloads/public_downloads"), id);
+ callback(getDataColumn(main, contentUri, null, null));
+ } else if ("com.android.providers.media.documents" == uri.getAuthority()) {
+ var docId = DocumentsContract.getDocumentId(uri);
+ var split = docId.split(":");
+ console.log(split);
+ var type = split[0];
+ console.log(type);
+ var MediaStore = plus.android.importClass('android.provider.MediaStore');
+ if ("image" == type) {
+ contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
+ } else if ("video" == type) {
+ contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
+ } else if ("audio" == type) {
+ contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
+ } else {
+ contentUri = MediaStore.Files.getContentUri("external");
+ }
+
+ console.log(contentUri);
+ var selection = "_id=?";
+ var selectionArgs = new Array();
+ selectionArgs[0] = split[1];
+
+ callback(getDataColumn(main, contentUri, selection, selectionArgs));
+ }
+ } else if ("content" == uri.getScheme()) {
+ callback(getDataColumn(main, uri, null, null));
+ } else if ("file" == uri.getScheme()) {
+ callback(uri.getPath());
+ }
+ }
+ }
+ main.startActivityForResult(intent, CODE_REQUEST);
+ }
+}
+
+function getDataColumn(main, uri, selection, selectionArgs) {
+ plus.android.importClass(main.getContentResolver());
+ let cursor = main.getContentResolver().query(uri, ['_data'], selection, selectionArgs,
+ null);
+ plus.android.importClass(cursor);
+ if (cursor != null && cursor.moveToFirst()) {
+ var column_index = cursor.getColumnIndexOrThrow('_data');
+ var result = cursor.getString(column_index)
+ cursor.close();
+ return result;
+ }
+ return null;
+}
+export default chooseFile
\ No newline at end of file
diff --git a/pages/realName/workbench/contractWitness/index.vue b/pages/realName/workbench/contractWitness/index.vue
new file mode 100644
index 0000000..a1a5925
--- /dev/null
+++ b/pages/realName/workbench/contractWitness/index.vue
@@ -0,0 +1,529 @@
+
+
+
+
+
+
+ 工程名称
+ xxx工程
+
+
+ 合同见证
+
+
+
+
+
+
+
+
+
+
+ 人脸识别
+ 点击人脸识别
+
+
+
+
+
+
+
+ 合同编号
+
+
+
+
+
+
+
+
+ 合同期限类型
+
+
+
+
+
+
+
+
+
+
+ 人员角色
+
+
+
+
+
+
+
+ 合同签订日期
+
+
+
+
+
+
+
+ 合同终止日期
+
+
+
+
+
+
+
+ 合同类型
+
+
+
+
+
+
+
+ 工资核定方式
+
+
+
+
+
+
+
+ 工资核定标准
+
+
+
+
+
+
+
+
+ 是否参加城乡居民医疗保险
+
+
+
+
+
+
+
+
+
+
+ 是否参加城乡居民养老保险
+
+
+
+
+
+
+
+
+
+
+ 是否在职
+
+
+
+
+
+
+
+
+
+
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/electronicContract/contractFill.vue b/pages/realName/workbench/electronicContract/contractFill.vue
new file mode 100644
index 0000000..b1163f1
--- /dev/null
+++ b/pages/realName/workbench/electronicContract/contractFill.vue
@@ -0,0 +1,388 @@
+
+
+
+
+ 点击人脸识别
+
+
+
+
+ 甲方
+
+
+
+
+
+
+
+ 法人代表
+
+
+
+
+
+
+
+ 联系电话
+
+
+
+
+
+
+
+ 地址
+
+
+
+
+
+
+
+
+ 乙方
+
+
+
+
+
+
+
+ 性别
+
+
+
+
+
+
+
+
+
+
+ 联系方式
+
+
+
+
+
+
+
+ 家庭地址
+
+
+
+
+
+
+
+ 工种
+
+
+
+
+
+
+
+ 工作任务
+
+
+
+
+
+
+
+ 工作地点
+
+
+
+
+
+
+
+ 工资核定方式
+
+
+
+
+
+
+
+ 工资核定标准
+
+
+
+
+
+
+
+ 生效日期
+
+
+
+
+
+
+
+ 其他补充事项
+
+
+
+
+
+
+
+ 人员角色
+
+
+
+
+
+
+
+ 乙方签名
+
+
+
+
+
+
+
+ 班组长签名
+
+
+
+
+
+
+
+ 验证码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+ 预览合同
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/electronicContract/contractPdf.vue b/pages/realName/workbench/electronicContract/contractPdf.vue
new file mode 100644
index 0000000..a6e560d
--- /dev/null
+++ b/pages/realName/workbench/electronicContract/contractPdf.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ 返回
+ 填写合同
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/electronicContract/contractVideo.vue b/pages/realName/workbench/electronicContract/contractVideo.vue
new file mode 100644
index 0000000..c174827
--- /dev/null
+++ b/pages/realName/workbench/electronicContract/contractVideo.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+ 重新录制
+ 下一步
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/index.vue b/pages/realName/workbench/index.vue
index 0b43857..a2ef7d0 100644
--- a/pages/realName/workbench/index.vue
+++ b/pages/realName/workbench/index.vue
@@ -4,10 +4,33 @@
+
+
+ 合同见证
+
人员信息录入
+
+
+ 人员库
+
+
+
+ 电子合同
+
+
+
+ 工资卡见证
+
+
+
+ 工资卡见证
+
+
+
+
@@ -43,10 +66,30 @@
},
methods: {
goPersonEnter(){
- uni.navigateTo({
+ uni.navigateTo({//人员录入
url: `/pages/realName/workbench/personEnter/index`
})
- }
+ },
+ goPeopleLibrary(){//人员库
+ uni.navigateTo({
+ url: `/pages/realName/workbench/peopleLibrary/index`
+ })
+ },
+ goeleContract(){//电子合同
+ uni.navigateTo({
+ url: `/pages/realName/workbench/electronicContract/contractVideo`
+ })
+ },
+ goContractWitness(){//合同见证
+ uni.navigateTo({
+ url: `/pages/realName/workbench/contractWitness/index`
+ })
+ },
+ goWageWitness(){//工资卡见证
+ uni.navigateTo({
+ url: `/pages/realName/workbench/wageWitness/index`
+ })
+ },
}
}
@@ -55,11 +98,12 @@
.page {
width: 100%;
height: 100vh;
- background: linear-gradient(#eaf0f7, #f8f8f8);
+
// box-sizing: border-box;
// padding: 15vh 8vw;
.view-box{
- width: 100%;height: 84vh;display: flex;flex-wrap: wrap;
+ width: 100%;height: auto;display: flex;flex-wrap: wrap;flex-direction: row;
+ margin-bottom: 100rpx;
}
.view-item{
width: 33%;height: 200rpx;display: flex;flex-direction:column;align-items: center;justify-content: center;
diff --git a/pages/realName/workbench/peopleLibrary/index.vue b/pages/realName/workbench/peopleLibrary/index.vue
new file mode 100644
index 0000000..c4c4c3b
--- /dev/null
+++ b/pages/realName/workbench/peopleLibrary/index.vue
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 姓名:
+ {{item.name}}
+ 绿灯
+ 黄灯
+ 红灯
+
+
+ 身份证:
+ {{item.idNumber}}
+
+
+ 用工类型:
+ 临时用工
+ 固定用工
+ 分包管理
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/personEnter/addPeople.vue b/pages/realName/workbench/personEnter/addPeople.vue
new file mode 100644
index 0000000..6ac12bc
--- /dev/null
+++ b/pages/realName/workbench/personEnter/addPeople.vue
@@ -0,0 +1,1251 @@
+
+
+
+
+
+ 身份证
+
+
+
+ 关键信息
+
+
+
+ 安全培训
+
+
+
+ 分包班组
+
+
+
+ 合同
+
+
+
+ 工资卡
+
+
+
+ 其他
+
+
+
+
+
+
+
+
+
+
+ 姓名
+
+
+
+
+
+
+
+ 身份证号
+
+
+
+
+
+
+
+ 性别
+
+
+
+
+
+
+
+ 出身日期
+
+
+
+
+
+
+
+ 民族
+
+
+
+
+
+
+
+ 住址
+
+
+
+
+
+
+
+
+ 生效日期
+
+
+
+
+
+
+
+ 失效日期
+
+
+
+
+
+
+
+ 签发机关
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+ 此页面全部为必填项
+
+
+
+
+ 入场工程
+
+
+
+
+
+
+
+ 工种
+
+
+
+
+
+
+
+ 手机号码
+
+
+
+
+
+
+ 特征信息采集
+
+
+
+ 人脸照片采集
+
+
+
+
+
+
+
+ 电子签名采集
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.入场工程后,即为入场即可考勤打卡;
+
+
+ 2.手机号会自动创建施工人员级别APP账号,默认密码:YNsbd@123456)
+
+
+ 3.人脸照片采集用于考勤打卡(APP打卡,考勤机打卡)
+
+
+ 4.电子签名用于电子合同签订使用。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 培训结果
+ 非必填
+
+
+
+
+ 安规培训
+
+
+
+
+
+
+
+
+
+
+ 保命教育实操
+
+
+
+
+
+
+
+
+
+
+ 保命教育理论
+
+
+
+
+
+
+
+
+
+
+ 准军事化培训
+
+
+
+
+
+
+
+
+
+ 培训成绩结果
+
+
+
+ 安规培训
+
+
+
+
+
+
+
+ 保命教育实操
+
+
+
+
+
+
+
+ 保命教育理论
+
+
+
+
+
+
+
+ 准军事化培训
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成安全培训考试为【红灯】人员;
+
+
+ 2.工资册生成时需要处理红灯打卡是否有效,(红灯打卡为待生效打卡)
+
+
+ 3.红灯人员只可打卡7天,作业计划无法选择红灯人员。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 关键信息已选择工程(只可选择工程下绑定得分包商
+
+
+
+ {{entryCruxBean.proName}}
+
+ 非必填
+
+
+
+
+ 所属分包
+
+
+
+
+
+
+
+ 所属班组
+
+
+
+
+
+
+
+ 是否为班组固定人员
+
+
+
+
+
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成分包班组绑定为【黄灯人员】;
+
+
+ 2.生成工资册之前必须绑定分包班组信息;
+
+
+ 3.班组固定人员不可使用【强制转场】
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+ 纸质合同见证上传
+ (电子合同在【电子合同】完成及审核)
+
+ 非必填
+
+
+
+
+ 合同类型
+
+
+
+
+
+
+
+ 合同编号
+
+
+
+
+
+
+
+ 合同期限类型
+
+
+
+
+
+
+
+
+
+
+
+ 合同签订日期
+
+
+
+
+
+
+
+ 合同终止日期
+
+
+
+
+
+
+
+ 工资核定方式
+
+
+
+
+
+
+
+ 工资核定标准
+
+
+
+
+
+
+
+ 人员角色
+
+
+
+
+
+
+
+ 是否参加城乡居民医疗保险
+
+
+
+
+
+
+
+
+
+
+ 是否参加城乡居民养老保险
+
+
+
+
+
+
+
+
+
+
+ 是否在职
+
+
+
+
+
+
+
+
+
+
+
+
+ 合同见证照片上传
+
+
+
+ 合同上传
+
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成合同上传为【黄灯】人员;
+
+
+ 2.工资册生成之前必须上传合同信息,工资册根据合同核定标准生成
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 工资卡见证
+ 非必填
+
+
+
+
+ 见证照片
+
+
+
+
+
+
+
+
+ 银行名称
+
+
+
+
+
+
+
+ 银行卡号
+
+
+
+
+
+
+
+ 银行支行名称
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成工资卡上传为【黄灯】人员;
+
+
+ 2.工资册生成之前必须上传工资卡。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+ 社保信息
+ (分包自有人员)
+
+
+ 非必填
+
+
+
+
+ 社保证明
+
+
+
+
+
+
+
+ 社保号
+
+
+
+
+
+
+
+ 社保单位
+
+
+
+
+
+
+ 其他信息
+
+
+
+ 人员类型
+
+
+
+
+
+
+
+ 工人技能
+
+
+
+
+
+
+
+ 重要人员
+
+
+
+
+
+
+
+ 紧急联系人
+
+
+
+
+
+
+
+ 紧急联系人电话
+
+
+
+
+
+
+
+
+ 文化程度
+
+
+
+
+
+
+
+ 政治面貌
+
+
+
+
+
+
+
+ 家庭电话
+
+
+
+
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/personEnter/editPeople.vue b/pages/realName/workbench/personEnter/editPeople.vue
new file mode 100644
index 0000000..d6cd363
--- /dev/null
+++ b/pages/realName/workbench/personEnter/editPeople.vue
@@ -0,0 +1,1279 @@
+
+
+
+
+
+ 身份证
+
+
+
+ 关键信息
+
+
+
+ 安全培训
+
+
+
+ 分包班组
+
+
+
+ 合同
+
+
+
+ 工资卡
+
+
+
+ 其他
+
+
+
+
+
+
+
+
+
+
+ 姓名
+
+
+
+
+
+
+
+ 身份证号
+
+
+
+
+
+
+
+ 性别
+
+
+
+
+
+
+
+ 出身日期
+
+
+
+
+
+
+
+ 民族
+
+
+
+
+
+
+
+ 住址
+
+
+
+
+
+
+
+
+ 生效日期
+
+
+
+
+
+
+
+ 失效日期
+
+
+
+
+
+
+
+ 签发机关
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+ 此页面全部为必填项
+
+
+
+
+ 入场工程
+
+
+
+
+
+
+
+ 工种
+
+
+
+
+
+
+
+ 手机号码
+
+
+
+
+
+
+ 特征信息采集
+
+
+
+ 人脸照片采集
+
+
+
+
+
+
+
+ 电子签名采集
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.入场工程后,即为入场即可考勤打卡;
+
+
+ 2.手机号会自动创建施工人员级别APP账号,默认密码:YNsbd@123456)
+
+
+ 3.人脸照片采集用于考勤打卡(APP打卡,考勤机打卡)
+
+
+ 4.电子签名用于电子合同签订使用。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 培训结果
+ 非必填
+
+
+
+
+ 安规培训
+
+
+
+
+
+
+
+
+
+
+ 保命教育实操
+
+
+
+
+
+
+
+
+
+
+ 保命教育理论
+
+
+
+
+
+
+
+
+
+
+ 准军事化培训
+
+
+
+
+
+
+
+
+
+ 培训成绩结果
+
+
+
+ 安规培训
+
+
+
+
+
+
+
+ 保命教育实操
+
+
+
+
+
+
+
+ 保命教育理论
+
+
+
+
+
+
+
+ 准军事化培训
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成安全培训考试为【红灯】人员;
+
+
+ 2.工资册生成时需要处理红灯打卡是否有效,(红灯打卡为待生效打卡)
+
+
+ 3.红灯人员只可打卡7天,作业计划无法选择红灯人员。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 关键信息已选择工程(只可选择工程下绑定得分包商
+
+
+
+ {{entryCruxBean.proName}}
+
+ 非必填
+
+
+
+
+ 所属分包
+
+
+
+
+
+
+
+ 所属班组
+
+
+
+
+
+
+
+ 是否为班组固定人员
+
+
+
+
+
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成分包班组绑定为【黄灯人员】;
+
+
+ 2.生成工资册之前必须绑定分包班组信息;
+
+
+ 3.班组固定人员不可使用【强制转场】
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+ 纸质合同见证上传
+ (电子合同在【电子合同】完成及审核)
+
+ 非必填
+
+
+
+
+ 合同类型
+
+
+
+
+
+
+
+ 合同编号
+
+
+
+
+
+
+
+ 合同期限类型
+
+
+
+
+
+
+
+
+
+
+
+ 合同签订日期
+
+
+
+
+
+
+
+ 合同终止日期
+
+
+
+
+
+
+
+ 工资核定方式
+
+
+
+
+
+
+
+ 工资核定标准
+
+
+
+
+
+
+
+ 人员角色
+
+
+
+
+
+
+
+ 是否参加城乡居民医疗保险
+
+
+
+
+
+
+
+
+
+
+ 是否参加城乡居民养老保险
+
+
+
+
+
+
+
+
+
+
+ 是否在职
+
+
+
+
+
+
+
+
+
+
+
+
+ 合同见证照片上传
+
+
+
+ 合同上传
+
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成合同上传为【黄灯】人员;
+
+
+ 2.工资册生成之前必须上传合同信息,工资册根据合同核定标准生成
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+ 工资卡见证
+ 非必填
+
+
+
+
+ 见证照片
+
+
+
+
+
+
+
+
+ 银行名称
+
+
+
+
+
+
+
+ 银行卡号
+
+
+
+
+
+
+
+ 银行支行名称
+
+
+
+
+
+
+ 提醒事项:
+
+ 1.未完成工资卡上传为【黄灯】人员;
+
+
+ 2.工资册生成之前必须上传工资卡。
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+ 社保信息
+ (分包自有人员)
+
+
+ 非必填
+
+
+
+
+ 社保证明
+
+
+
+
+
+
+
+ 社保号
+
+
+
+
+
+
+
+ 社保单位
+
+
+
+
+
+
+ 其他信息
+
+
+
+ 人员类型
+
+
+
+
+
+
+
+ 工人技能
+
+
+
+
+
+
+
+ 重要人员
+
+
+
+
+
+
+
+ 紧急联系人
+
+
+
+
+
+
+
+ 紧急联系人电话
+
+
+
+
+
+
+
+
+ 文化程度
+
+
+
+
+
+
+
+ 政治面貌
+
+
+
+
+
+
+
+ 家庭电话
+
+
+
+
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/personEnter/index.vue b/pages/realName/workbench/personEnter/index.vue
index 6b2e121..54581f8 100644
--- a/pages/realName/workbench/personEnter/index.vue
+++ b/pages/realName/workbench/personEnter/index.vue
@@ -2,7 +2,7 @@
新增人员信息
- 修改人员信息
+ 修改人员信息
人员识别查找
@@ -15,8 +15,8 @@
临时人员
- 固定人员
- 分包管理人员
+ 固定人员
+ 分包管理人员
@@ -48,14 +48,32 @@ export default {
closeAdd() {
this.addPopup = false
},
+ //临时
tempPeople(){
this.addPopup = false;
uni.navigateTo({
- url: `/pages/realName/workbench/personEnter/tempPeople`
+ url: `/pages/realName/workbench/personEnter/addPeople?workerType=0`
+ })
+ },
+ //固定
+ fixedPeople(){
+ this.addPopup = false;
+ uni.navigateTo({
+ url: `/pages/realName/workbench/personEnter/addPeople?workerType=1`
+ })
+ },
+ //分包管理
+ subPeople(){
+ this.addPopup = false;
+ uni.navigateTo({
+ url: `/pages/realName/workbench/personEnter/addPeople?workerType=2`
+ })
+ },
+ searchPerson(){
+ uni.navigateTo({
+ url: `/pages/realName/workbench/personEnter/searchPeople`
})
},
-
-
// 返回
diff --git a/pages/realName/workbench/personEnter/searchPeople.vue b/pages/realName/workbench/personEnter/searchPeople.vue
new file mode 100644
index 0000000..643b123
--- /dev/null
+++ b/pages/realName/workbench/personEnter/searchPeople.vue
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+ 已查询{{number}}条数据
+
+
+
+
+
+
+
+
+
+
+
+ 姓名:
+ {{item.name}}
+ 绿灯
+ 黄灯
+ 红灯
+
+
+ 身份证:
+ {{item.idNumber}}
+
+
+ 用工类型:
+ 临时用工
+ 固定用工
+ 分包管理
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/realName/workbench/personEnter/tempPeople.vue b/pages/realName/workbench/personEnter/tempPeople.vue
deleted file mode 100644
index f48cc74..0000000
--- a/pages/realName/workbench/personEnter/tempPeople.vue
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
-
-
-
-
-
-
- 身份证号*
-
-
-
-
-
- 姓名*
-
-
-
-
-
- 手机号*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/realName/workbench/wageWitness/index.vue b/pages/realName/workbench/wageWitness/index.vue
new file mode 100644
index 0000000..7f15c5c
--- /dev/null
+++ b/pages/realName/workbench/wageWitness/index.vue
@@ -0,0 +1,374 @@
+
+
+
+
+
+
+ 工程名称
+ xxx工程
+
+
+ 工资卡见证
+
+
+
+
+
+
+
+
+
+
+ 人脸识别
+ 点击人脸识别
+
+
+
+
+
+
+
+ 银行卡号
+
+
+
+
+
+
+
+ 银行名称
+
+
+
+
+
+
+
+ 银行支行名称
+
+
+
+
+
+
+
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
diff --git a/static/realName/certificate.png b/static/realName/certificate.png
new file mode 100644
index 0000000..70aa141
Binary files /dev/null and b/static/realName/certificate.png differ
diff --git a/static/realName/contract_sign.png b/static/realName/contract_sign.png
new file mode 100644
index 0000000..5466a1a
Binary files /dev/null and b/static/realName/contract_sign.png differ
diff --git a/static/realName/contract_witness.png b/static/realName/contract_witness.png
new file mode 100644
index 0000000..79383db
Binary files /dev/null and b/static/realName/contract_witness.png differ
diff --git a/static/realName/day_plan.png b/static/realName/day_plan.png
new file mode 100644
index 0000000..09fe447
Binary files /dev/null and b/static/realName/day_plan.png differ
diff --git a/static/realName/delete-icon.png b/static/realName/delete-icon.png
new file mode 100644
index 0000000..66b199d
Binary files /dev/null and b/static/realName/delete-icon.png differ
diff --git a/static/realName/exam.png b/static/realName/exam.png
new file mode 100644
index 0000000..369538d
Binary files /dev/null and b/static/realName/exam.png differ
diff --git a/static/realName/safeguarding.png b/static/realName/safeguarding.png
new file mode 100644
index 0000000..08183ee
Binary files /dev/null and b/static/realName/safeguarding.png differ
diff --git a/static/realName/tianjia-img.png b/static/realName/tianjia-img.png
new file mode 100644
index 0000000..2ecc8e7
Binary files /dev/null and b/static/realName/tianjia-img.png differ
diff --git a/static/realName/wage_check.png b/static/realName/wage_check.png
new file mode 100644
index 0000000..3a98693
Binary files /dev/null and b/static/realName/wage_check.png differ
diff --git a/static/realName/wage_witness.png b/static/realName/wage_witness.png
new file mode 100644
index 0000000..02d77c3
Binary files /dev/null and b/static/realName/wage_witness.png differ
diff --git a/utils/realNameAes.js b/utils/realNameAes.js
new file mode 100644
index 0000000..1ae5c41
--- /dev/null
+++ b/utils/realNameAes.js
@@ -0,0 +1,80 @@
+import CryptoJS from 'crypto-js';
+// import { TextEncoder } from 'text-decoding'
+// const TextEncoder = new TextEncoder();
+var aqEnnable = true;//是否开启安全验证
+const key = 'zhst@bonus@zhst@bonus@1234567890';//AES加密cbc 256
+// const key = '1234567812345678';//AES加密cbc
+const iv = '1234567812345678';
+function getKey() {
+ // 真正的key
+ return CryptoJS.enc.Utf8.parse(key);
+}
+
+function getIv() {
+ // 真正的iv
+ return CryptoJS.enc.Utf8.parse(iv);
+}
+
+
+export default {
+ encrypt(word) {
+ if(!aqEnnable){
+ return word;
+ }
+ if(word==null){
+ var ciphertext = CryptoJS.AES.encrypt(word, getKey(), {
+ iv: getIv(),
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return ciphertext.toString();
+ }else{
+ var ciphertext = CryptoJS.AES.encrypt(word.toString(), getKey(), {
+ iv: getIv(),
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return ciphertext.toString();
+ }
+ },
+ decrypt(word) {
+ if(!aqEnnable){
+ return word;
+ }
+ if(word==null){
+ return "";
+ }
+ var bytes = CryptoJS.AES.decrypt(word.toString(), getKey(), {
+ iv: getIv(),
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return bytes.toString(CryptoJS.enc.Utf8);
+ },
+ DateFormat(date, fmt) {
+ if (date && fmt) {
+ let _date = new Date(date);
+ var o = {
+ 'Y+': _date.getFullYear() , //年
+ 'M+': _date.getMonth() + 1, //月份
+ 'd+': _date.getDate(), //日
+ 'h+': _date.getHours(), //小时
+ 'm+': _date.getMinutes(), //分
+ 's+': _date.getSeconds(), //秒
+ 'q+': Math.floor((_date.getMonth() + 3) / 3), //季度
+ S: _date.getMilliseconds(), //毫秒
+ };
+ if (/(y+)/.test(fmt)) {
+ fmt = fmt.replace(RegExp.$1, (_date.getFullYear() + '').substr(4 - RegExp.$1.length));
+ }
+ for (var k in o) {
+ if (new RegExp('(' + k + ')').test(fmt)) {
+ fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? (o)[k] : ('00' + (o)[k]).substr(('' + (o)[k]).length));
+ }
+ }
+ return fmt;
+ } else {
+ return '';
+ }
+ }
+}
\ No newline at end of file