Compare commits

..

No commits in common. "fa39606861f0b4702dd31a0c8b731678dc7ab8a7" and "ac49d4525f385fc3e40134e881a699ed20241228" have entirely different histories.

32 changed files with 4147 additions and 4142 deletions

View File

@ -1,8 +1,8 @@
import {post, upload, uploads} from "../utils/request";
export const submitLogin = (params) => post("/app/admin/check", params) // 登录
export const getIDCardDeduplication = (params) => post("/app/user/goCheck", params) // 身份证去重
export const getUserDeduplication = (params) => post("/app/user/goCheck", params) // 用户名去重
export const getIDCardDeduplication = (params) => post("/app/user/hasCardIdForApp", params) // 身份证去重
export const getUserDeduplication = (params) => post("/app/user/hasUserNameForApp", params) // 用户名去重
export const getPhoneNumberDeduplication = (params) => post("/app/user/hasPhoneForApp", params) // 手机号去重
export const setRegister = (params) => post("/app/admin/register", params) // 注册
export const setForgotPassword = (params) => post("/app/admin/forgetPassword", params) // 忘记密码

View File

@ -1,39 +0,0 @@
<template>
<view class="fab_button" @click="$emit('click')">
<block v-if="type === 'plus'">
<u-icon name="plus" color="#fff" size="28rpx"></u-icon>
</block>
<block v-if="type === 'search'">
<u-icon name="search" color="#fff" size="28rpx"></u-icon>
</block>
<block v-if="type === 'edit'">
<u-icon name="edit-pen" color="#fff" size="28rpx"></u-icon>
</block>
</view>
</template>
<script>
export default {
props: {
type: {
type: String,
default: "plus",
},
},
}
</script>
<style scoped lang="scss">
.fab_button {
position: fixed;
bottom: 100rpx;
right: 30rpx;
background-color: #3377ff;
border-radius: 50%;
width: 80rpx;
height: 80rpx;
display: flex;
align-items: center;
justify-content: center;
}
</style>

View File

@ -105,18 +105,11 @@
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx06c53a01ae0afd2c",
"appid" : "",
"setting" : {
"urlCheck" : false,
"minified" : true,
"es6" : true
"urlCheck" : false
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "展示当前位置信息"
}
}
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true

View File

@ -72,7 +72,17 @@
{
"path": "pages/certificate_information/index",
"style": {
"navigationBarTitleText": "证书信息"
"navigationBarTitleText": "证书信息",
"app-plus": {
"titleNView": {
"buttons": [{
"text": "新建",
"fontSize": "15",
"float": "right",
"width": "40px"
}]
}
}
}
},
{
@ -109,7 +119,17 @@
{
"path": "pages/mine/information/index",
"style": {
"navigationBarTitleText": "我的信息"
"navigationBarTitleText": "我的信息",
"app-plus": {
"titleNView": {
"buttons": [{
"text": "修改",
"fontSize": "15",
"float": "right",
"width": "40px"
}]
}
}
}
},
{

View File

@ -30,8 +30,7 @@
<u--input v-model="form.PHONE" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item>
<u-form-item label="身份证号码" prop="CARD_ID" borderBottom required>
<u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" disabled
disabledColor="#ffffff"></u--input>
<u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" disabled disabledColor="#ffffff"></u--input>
</u-form-item>
<u-form-item label="证书类型" prop="CER_TYPE_NAME" borderBottom required @click="fnShowCertificateType">
<u--input v-model="form.CER_TYPE_NAME" border="none" disabled disabledColor="#ffffff"></u--input>
@ -49,12 +48,10 @@
<u-form-item label="工种" prop="JOBS_TYPE" borderBottom required>
<u--input v-model="form.JOBS_TYPE" border="none" disabledColor="#ffffff"></u--input>
</u-form-item>
<u-form-item v-if="form.CER_TYPE_NAME === ''" label="作业类别" prop="specialName" borderBottom required
@click="fnShowCertificateTypeSpe">
<u-form-item v-if="form.CER_TYPE_NAME === '特种作业'" label="作业类别" prop="specialName" borderBottom required @click="fnShowCertificateTypeSpe">
<u--input v-model="form.specialName" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item>
<u-form-item v-if="form.CER_TYPE_NAME === ''" label="操作项目" prop="operationName" borderBottom
required @click="fnShowCertificateTypeOpe">
<u-form-item v-if="form.CER_TYPE_NAME === '特种作业'" label="操作项目" prop="operationName" borderBottom required @click="fnShowCertificateTypeOpe">
<u--input v-model="form.operationName" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item>
<u-form-item label="有效期开始" prop="VALIDITY_TIME_START" borderBottom required
@ -83,9 +80,7 @@
@confirm="fnTermOfValidityEndConfirm" @cancel="fnShowTermOfValidityEnd"></u-datetime-picker>
<u-datetime-picker :show="showReviewTime" v-model="reviewTimeValue" mode="date"
@confirm="fnReviewTimeConfirm" @cancel="fnShowReviewTime"></u-datetime-picker>
<view class="mt-10">
<u-button type="primary" text="保 存" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
<u-button type="primary" text="保 存" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
@ -126,10 +121,10 @@ export default {
CARD_ID: '',
CER_TYPE: '',
CER_TYPE_NAME: '',
CERTIFICATE: '',
JOBS_TYPE: '',
SPECIAL_TYPE: '',
OPERATION_TYPE: '',
CERTIFICATE:'',
JOBS_TYPE:'',
SPECIAL_TYPE:'',
OPERATION_TYPE:'',
SPECIAL_NUMBER: '',
ISSUING_AUTHORITY: '',
VALIDITY_TIME_START: '',
@ -255,20 +250,20 @@ export default {
this.form.SEX_NAME = '女'
}
},
async fnGetDataDictionary() {
let resData = await getDataDictionary({DICTIONARIES_ID: '6f87965751b84311b066484ac93c8077'})
async fnGetDataDictionary(){
let resData = await getDataDictionary({DICTIONARIES_ID:'6f87965751b84311b066484ac93c8077'})
this.certificateTypeColumns = [resData.list]
},
async fnGetDataDictionaryJobs() {
let resData = await getDataDictionary({DICTIONARIES_ID: '55484e491a5e442d839c4595380713ec'})
async fnGetDataDictionaryJobs(){
let resData = await getDataDictionary({DICTIONARIES_ID:'55484e491a5e442d839c4595380713ec'})
this.certificateTypeColumnsJobs = [resData.list]
},
async fnGetDataDictionarySpe() {
let resData = await getDataDictionary({DICTIONARIES_ID: 'f4c3890d06d54904b32986cb6428ed4f'})
async fnGetDataDictionarySpe(){
let resData = await getDataDictionary({DICTIONARIES_ID:'f4c3890d06d54904b32986cb6428ed4f'})
this.certificateTypeColumnsSpe = [resData.list]
},
async fnGetDataDictionaryOpe() {
let resData = await getDataDictionary({DICTIONARIES_ID: this.form.SPECIAL_TYPE})
async fnGetDataDictionaryOpe(){
let resData = await getDataDictionary({DICTIONARIES_ID:this.form.SPECIAL_TYPE})
this.certificateTypeColumnsOpe = [resData.list]
},
fnCardIdDisassembly(event) {
@ -302,12 +297,12 @@ export default {
this.form.SPECIAL_TYPE = e.value[0].DICTIONARIES_ID
this.fnShowCertificateTypeSpe()
this.fnGetDataDictionaryOpe();
this.form.operationName = '';
this.form.OPERATION_TYPE = '';
this.form.operationName ='';
this.form.OPERATION_TYPE= '';
},
fnCertificateTypeConfirmOpe(e) {
this.form.operationName = e.value[0].NAME
this.form.OPERATION_TYPE = e.value[0].DICTIONARIES_ID
this.form.OPERATION_TYPE= e.value[0].DICTIONARIES_ID
this.fnShowCertificateTypeOpe()
},
fnShowTermOfValidityStart() {
@ -364,7 +359,7 @@ export default {
async fnSubmit() {
console.info(this.$refs)
this.$refs.form.validate().then(async () => {
if (!this.SPECIAL_USER_ID) {
if(!this.SPECIAL_USER_ID){
let files = []
files.push({
name: 'FILEPATH',
@ -378,7 +373,7 @@ export default {
uri: this.form.fileListBack[0].url,
})
if (files.length !== 2) {
if (files.length !== 2){
uni.$u.toast('请上传证书正反面')
return
}
@ -389,11 +384,11 @@ export default {
...this.form
}
})
} else {
}else {
if (!this.form.fileList[0].FILEPATH || !this.form.fileListBack[0].FILEPATH) {
uni.$u.toast('1')
let files = []
if (!this.form.fileList[0].FILEPATH) {
if (!this.form.fileList[0].FILEPATH){
files.push({
name: 'FILEPATH',
file: this.form.fileList[0],
@ -401,7 +396,7 @@ export default {
})
}
if (!this.form.fileListBack[0].FILEPATH) {
if (!this.form.fileListBack[0].FILEPATH){
files.push({
name: 'FILEPATH_BACK',
file: this.form.fileListBack[0],
@ -424,9 +419,9 @@ export default {
}
// uni.$u.toast('')
setTimeout(() => {
setTimeout(()=>{
uni.navigateBack()
}, 2000)
},2000)
}).catch((e) => {
console.info(e)
// uni.$u.toast('')

View File

@ -19,12 +19,8 @@
<view class="flex-between mt-10 subtitle">
<view></view>
<view class="flex-between">
<u-button type="primary" text="编辑" size="mini"
@click="fnEdit(item.SPECIAL_USER_ID)"></u-button>
<view class="ml-10">
<u-button type="primary" text="查看" size="mini"
@click="fnView(item.SPECIAL_USER_ID)"></u-button>
</view>
<u-button type="primary" text="编辑" size="mini" class="bth-mini" @click="fnEdit(item.SPECIAL_USER_ID)"></u-button>
<u-button type="primary" text="查看" size="mini" class="bth-mini ml-10" @click="fnView(item.SPECIAL_USER_ID)"></u-button>
</view>
</view>
</view>
@ -32,21 +28,16 @@
</u-list-item>
</u-list>
<empty v-else></empty>
<fab-button @click="fnEdit"/>
</view>
</template>
<script>
import {getCertificateInformationList, getCertificateInformationView} from "../../api";
import FabButton from '@/components/fab_button/index.vue'
export default {
components: {
FabButton,
},
data() {
return {
SPECIAL_USER_ID: '',
SPECIAL_USER_ID:'',
info: {},
pageSize: 10,
currentPage: 1,
@ -61,6 +52,11 @@ export default {
onShow() {
this.resetList()
},
onNavigationBarButtonTap(e) {
if (e.index === 0) {
this.fnEdit()
}
},
methods: {
async getData() {
let resData = await getCertificateInformationList({
@ -83,7 +79,7 @@ export default {
fnView(SPECIAL_USER_ID) {
uni.$u.route({
url: '/pages/certificate_information/view',
params: {
params:{
SPECIAL_USER_ID
}
})
@ -91,7 +87,7 @@ export default {
fnEdit(SPECIAL_USER_ID) {
uni.$u.route({
url: '/pages/certificate_information/add',
params: {
params:{
SPECIAL_USER_ID
}
})

View File

@ -5,8 +5,7 @@
<u-cell title="证书图片">
<template #value>
<u--image :src="info.FILEPATH" width="100rpx" height="100rpx" radius="10rpx" @click="fnPreview"></u--image>
<u--image v-if="info.FILEPATH_BACK" :src="info.FILEPATH_BACK" width="100rpx" height="100rpx" radius="10rpx"
@click="fnPreview"></u--image>
<u--image v-if="info.FILEPATH_BACK" :src="info.FILEPATH_BACK" width="100rpx" height="100rpx" radius="10rpx" @click="fnPreview"></u--image>
</template>
</u-cell>
<u-cell title="姓名" :value="info.NAME"></u-cell>
@ -16,7 +15,7 @@
<u-cell title="证书类型" :value="info.typeName"></u-cell>
<u-cell title="证书名称" :value="info.CERTIFICATE"></u-cell>
<u-cell title="证书编号" :value="info.SPECIAL_NUMBER"></u-cell>
<!-- <u-cell title="工种" :value="info.JOBS_TYPE"></u-cell>-->
<!-- <u-cell title="工种" :value="info.JOBS_TYPE"></u-cell>-->
<u-cell v-show="info.typeName === '特种作业'" title="作业类别" :value="info.specialName"></u-cell>
<u-cell v-show="info.typeName === '特种作业'" title="操作项目" :value="info.operationName"></u-cell>
<u-cell title="发证机关" :value="info.ISSUING_AUTHORITY"></u-cell>
@ -33,7 +32,7 @@ import {getCertificateInformationView} from "../../api";
export default {
data() {
return {
SPECIAL_USER_ID: '',
SPECIAL_USER_ID:'',
info: {}
}
},
@ -42,19 +41,19 @@ export default {
this.fnGetData()
},
methods: {
async fnGetData() {
async fnGetData(){
let resData = await getCertificateInformationView({
SPECIAL_USER_ID: this.SPECIAL_USER_ID
SPECIAL_USER_ID:this.SPECIAL_USER_ID
})
this.info = resData.pd
this.$set(this.info, 'FILEPATH', this.$filePath + resData.pd.FILEPATH)
if (resData.pd.FILEPATH_BACK) {
this.$set(this.info, 'FILEPATH_BACK', this.$filePath + resData.pd.FILEPATH_BACK)
this.$set(this.info,'FILEPATH',this.$filePath + resData.pd.FILEPATH)
if (resData.pd.FILEPATH_BACK){
this.$set(this.info,'FILEPATH_BACK',this.$filePath + resData.pd.FILEPATH_BACK)
}
},
fnPreview() {
uni.previewImage({
urls: [this.info.FILEPATH]
urls:[this.info.FILEPATH]
})
}
},

View File

@ -19,8 +19,7 @@
<u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="人员类型" :value="info.ISFLOW === '1' ? '流动人员' : '固定人员'">
</u-cell>
<u-cell title="二维码"
v-if="info.CORPINFO_ID && cleanCode && (info.DEPART_STATE == '0' || info.DEPART_STATE == '-1')">
<u-cell title="二维码" v-if="!CODE_TYPE && info.CORPINFO_ID && info.code != '' && (info.DEPART_STATE == '0' || info.DEPART_STATE == '-1')">
<template #value>
<u--image :src="info.code" width="100rpx" height="100rpx" @click="fnPreview(info.code)">
</u--image>
@ -32,18 +31,17 @@
</template>
<script>
import {
import {
getElectronicWorkCard,
getElectronicWorkCardQRCode
} from "../../api";
} from "../../api";
export default {
export default {
data() {
return {
info: {},
USER_ID: '',
CODE_TYPE: '',
cleanCode: ''
CODE_TYPE: ''
}
},
created() {
@ -67,7 +65,6 @@ export default {
console.log(this.$filePath + resData.pd.PHOTO)
this.info.PHOTO = this.$filePath + resData.pd.PHOTO
this.info.code = 'data:image/jpg;base64,' + code
this.cleanCode = code
},
fnPreview(urls) {
uni.previewImage({
@ -75,7 +72,7 @@ export default {
})
}
},
}
}
</script>
<style scoped>

View File

@ -40,17 +40,15 @@
<view class="flex-between mt-10 subtitle">
<view></view>
<view class="flex-between">
<u-button type="primary" text="查看" size="mini"
<u-button type="primary" text="查看" size="mini" class="bth-mini ml-10"
@click="fnView(item.EMPLOYMENT_APPLY_MANAGEMENT_ID, item.CORPINFO_ID, item.DEPART_STATE)"></u-button>
<view class="ml-10">
<u-button type="primary" text="离职申请" size="mini"
<u-button type="primary" text="离职申请" size="mini" class="bth-mini ml-10"
v-if="item.DEPART_STATE === '0'"
@click="fnResignationApplication(item.EMPLOYMENT_APPLY_MANAGEMENT_ID,item.RELEVANT_UNIT_NAME)">
</u-button>
</view>
</view>
</view>
</view>
</u-list-item>
</u-list>
<empty v-else></empty>
@ -58,11 +56,11 @@
</template>
<script>
import {
import {
getEmployedBy
} from "../../api";
} from "../../api";
export default {
export default {
data() {
return {
pageSize: 10,
@ -113,7 +111,7 @@ export default {
})
}
}
}
}
</script>
<style scoped>

View File

@ -12,9 +12,7 @@
<u-cell title="申请时间" :value="form.APPLY_TIME"></u-cell>
<u-cell title="申请人" :value="userInfo.NAME"></u-cell>
</u-cell-group>
<view class="mt-10">
<u-button type="primary" text="提交" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
<u-button type="primary" text="提交" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
@ -25,8 +23,8 @@ import {setResignationApplication} from "../../api";
export default {
data() {
return {
EMPLOYMENT_APPLY_MANAGEMENT_ID: '',
RELEVANT_UNIT_NAME: '',
EMPLOYMENT_APPLY_MANAGEMENT_ID:'',
RELEVANT_UNIT_NAME:'',
form: {
LEAVE_REASON: '',
APPLY_TIME: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
@ -47,19 +45,19 @@ export default {
},
methods: {
async fnSubmit() {
if (!this.form.LEAVE_REASON) {
if(!this.form.LEAVE_REASON){
uni.$u.toast('请填写离职原因')
return
}
this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID = this.EMPLOYMENT_APPLY_MANAGEMENT_ID
await setResignationApplication({
...this.form,
OPERATOR: this.userInfo.USER_ID
OPERATOR:this.userInfo.USER_ID
})
uni.$u.toast('申请成功')
setTimeout(() => {
setTimeout(()=>{
uni.navigateBack()
}, 2000)
},2000)
}
},
}

View File

@ -1,22 +1,21 @@
<template>
<view class="page">
<!-- #ifdef APP-PLUS -->
<view class="status_bar">
<view class="top_view"></view>
</view>
<!-- #endif -->
<view class="wui_banner">
<view class="wui-bar">
<view class="icon-ui">
<u-icon name="scan" color="#fff" size="28" @click="fnScan"></u-icon>
</view>
</view>
<view class="banner_img">
<image src="../../static/home-bg.png" mode=""></image>
</view>
</view>
<view class="home-apps">
<view class="home-apps-item" @click="fnScan">
<view class="home-apps-item-img">
<image src="../../static/icon-apps/app_icons6.png" mode=""></image>
</view>
<view class="text">
<text>扫码</text>
</view>
</view>
<view class="home-apps-item" v-for="(item,index) in baseList" :key="index" @click="fnNavigator(index)">
<view class="home-apps-item-img">
<image :src="item.img" mode=""></image>
@ -27,8 +26,7 @@
</view>
</view>
<u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText"
:cancelText="updateVersion.cancelText"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText"
@cancel="modalCancel" @confirm="modalConfirm">
<view style="text-align: center;color:#606266">
<rich-text :nodes="updateVersion.modalContent"></rich-text>
@ -42,7 +40,7 @@ import updateVersion from "../../utils/updateVersion";
import {setRelatedPartyScanning} from "../../api";
export default {
mixins: [updateVersion],
mixins:[updateVersion],
data() {
return {
baseList: [
@ -78,18 +76,18 @@ export default {
this.fnUpdateVersion(false)
},
methods: {
fnScan() {
fnScan(){
uni.scanCode({
success: async (res) => {
let obj = JSON.parse(res.result)
let obj =JSON.parse(res.result)
let type = obj[0].CODE_TYPE
if (type === '0') {
// type=0
await setRelatedPartyScanning({CORPINFO_ID: obj[0].CORPINFO_ID})
await setRelatedPartyScanning({CORPINFO_ID:obj[0].CORPINFO_ID})
uni.$u.route({
url: '/pages/related_party_units/add',
params: {
CORPINFO_ID: obj[0].CORPINFO_ID,
params:{
CORPINFO_ID:obj[0].CORPINFO_ID,
RELEVANT_UNIT_NAME: obj[0].RELEVANT_UNIT_NAME
}
})
@ -97,9 +95,9 @@ export default {
// type=1
uni.$u.route({
url: '/pages/electronic_work_card/index',
params: {
USER_ID: obj[0].USER_ID,
CODE_TYPE: obj[0].CODE_TYPE
params:{
USER_ID:obj[0].USER_ID,
CODE_TYPE:obj[0].CODE_TYPE
}
})
}

View File

@ -1,24 +1,22 @@
<template>
<view class="wui_login">
<view class="form">
<u--form labelPosition="top" :model="form" labelWidth="140rpx">
<u--form labelPosition="top" :model="form" labelWidth="140rpx" >
<u-form-item label="账号" borderBottom>
<u--input v-model="form.userName" border="none" placeholder="请输入账号..."></u--input>
<u--input v-model="form.userName" border="none" placeholder="请输入账号..." ></u--input>
</u-form-item>
<u-form-item label="密码" borderBottom>
<u--input v-model="form.userPwd" type="password" border="none" placeholder="请输入密码..."></u--input>
<u--input v-model="form.userPwd" type="password" border="none" placeholder="请输入密码..." ></u--input>
</u-form-item>
</u--form>
<u-button type="primary" text="登 录" custom-style="margin:40rpx 0 20rpx 0"
@click="$u.debounce(fnLogin, 1000,true)"></u-button>
<u-button type="primary" text="登 录" @click="$u.debounce(fnLogin, 1000,true)"></u-button>
<view class="tip">
<view @click="fnForgotPassword"></view>
<view @click="fnRegister"></view>
</view>
</view>
<u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText"
:cancelText="updateVersion.cancelText"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText"
@cancel="modalCancel" @confirm="modalConfirm">
<view style="text-align: center;color:#606266">
<rich-text :nodes="updateVersion.modalContent"></rich-text>
@ -33,7 +31,7 @@ import updateVersion from '../../utils/updateVersion'
import JSEncrypt from '../../static/js/jsencrypt.min.js'
export default {
mixins: [updateVersion],
mixins:[updateVersion],
data() {
return {
publicKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2zCyUYSD0pNrbtaYdvGfHfWoRV+fo/2N9O2PLLz/jZvMkigkq4eAq4JO+Ek0wDHI9WxP6iTSLYCHhIOs9CQTPvyldJFm8riZtQZlBTD8Plkb3rjrgwTqbBi3w3+HKYdkSvGFXJIdSOPbpXnj5BzN8vlVaybs24R/vpUzG9178lwIDAQAB',
@ -47,12 +45,12 @@ export default {
this.fnUpdateVersion(false)
},
methods: {
fnRegister() {
fnRegister(){
uni.$u.route({
url: '/pages/login/register',
})
},
fnForgotPassword() {
fnForgotPassword(){
uni.$u.route({
url: '/pages/login/forgot_password',
})
@ -73,7 +71,7 @@ export default {
var jsencrypt = new JSEncrypt()
jsencrypt.setPublicKey(this.publicKey)
const keydataVal = jsencrypt.encrypt('qdkjchina' + this.form.userName + ',qd,' + this.form.userPwd)
let resData = await submitLogin({'KEYDATA': keydataVal});
let resData = await submitLogin({'KEYDATA':keydataVal});
// console.log(resData)
if (resData.PHOTO != '') {
resData.PHOTO = this.$filePath + resData.PHOTO
@ -92,12 +90,11 @@ export default {
.wui_login {
background-image: url(/static/bg-login.png);
background-repeat: no-repeat;
background-size: 100% 100%;
height: 100vh;
background-size:100% 100%;
height:100vh;
background-color: #058cf5;
position: relative;
.title {
.title{
color: #fff;
font-size: 44rpx;
font-weight: 500;
@ -107,8 +104,7 @@ export default {
padding-left: 46rpx;
line-height: 1.6;
}
.form {
.form{
width: 70%;
position: absolute;
top: 49%;
@ -117,9 +113,8 @@ export default {
border-radius: 20rpx;
padding: 30rpx 9%;
transform: translate(-50%, -50%);
.tip {
font-size: 24rpx;
.tip{
font-size: 20rpx;
margin-bottom: 40rpx;
color: #0b80e7;
display: flex;
@ -127,5 +122,19 @@ export default {
justify-content: space-between;
}
}
button{
margin-top: 40rpx;
background-color: #0b80e7;
color: #fff;
font-weight: bold;
border: none;
border-radius: 10rpx;
margin-bottom: 20rpx;
}
::v-deep{
.u-button__text{
font-size: 32rpx !important;
}
}
}
</style>

View File

@ -19,9 +19,7 @@
</u-form-item>
<view class="tip">密码长度8~32须包含数字字母符号至少2种或以上元素</view>
</u--form>
<view class="mt-10">
<u-button type="primary" text="注 册" @click="$u.debounce(fnRegister, 1000,true)"></u-button>
</view>
<u-button type="primary" text="注 册" class="mt-10" @click="$u.debounce(fnRegister, 1000,true)"></u-button>
</view>
</view>
</template>
@ -123,16 +121,16 @@ export default {
},
async fnRegister() {
this.$refs.form.validate().then(async () => {
if (await this.fnIDCardDeduplication()) return
if (await this.fnUserDeduplication()) return
if(await this.fnIDCardDeduplication()) return
if(await this.fnUserDeduplication()) return
await setRegister({...this.form})
uni.$u.toast('注册成功')
setTimeout(() => {
setTimeout(()=>{
uni.$u.route({
url: '/pages/login/login',
type: 'reLaunch'
type:'reLaunch'
})
}, 2000)
},2000)
}).catch(() => {
uni.$u.toast('请补全必填项')
})
@ -142,7 +140,7 @@ export default {
</script>
<style scoped lang="scss">
.tip {
.tip{
padding-top: 20rpx;
padding-bottom: 20rpx;
font-size: 20rpx;

View File

@ -16,16 +16,16 @@
</template>
<script>
export default {}
export default {
}
</script>
<style lang="scss" scoped>
.about-us {
.about-us {
background-color: #fff;
box-sizing: border-box;
line-height: 60rpx;
.title {
}
}
}
</style>

View File

@ -7,7 +7,9 @@
</template>
<script>
export default {}
export default {
}
</script>
<style scoped>

View File

@ -24,11 +24,11 @@
</template>
<script>
import {
import {
setUpdatePassword
} from "../../../api";
} from "../../../api";
export default {
export default {
data() {
return {
form: {
@ -98,13 +98,13 @@ export default {
})
}
}
}
}
</script>
<style lang="scss" scoped>
.change-password {
.change-password {
background-color: #fff;
border-radius: 20rpx;
padding: 40rpx;
}
}
</style>

View File

@ -5,10 +5,9 @@
<view class="feedback-type">
<view class="item" v-for="(item, index) in feedbackType" :key="index"
:class="{active:item.value === form.FEEDBACK_TYPE}" @click="form.FEEDBACK_TYPE = item.value">
<view style="margin-left: 70rpx; margin-top: 20rpx;">
<u--image :src="item.img" width="40rpx" height="38rpx"></u--image>
</view>
<view style="margin-top: -40rpx;">{{ item.label }}</view>
<u--image :src="item.img" width="40rpx" height="38rpx"
style="margin-left: 70rpx; margin-top: 20rpx;"></u--image>
<view style="margin-top: -40rpx;">{{item.label}}</view>
</view>
</view>
<view class="title">我要反馈</view>
@ -28,7 +27,7 @@
<script>
import {setFeedbackAdd, setFeedbackUpload} from "../../../api";
export default {
export default {
data() {
return {
form: {
@ -115,7 +114,7 @@ export default {
})
})
},
async fnSetFeedbackUpload(filePath) {
async fnSetFeedbackUpload(filePath){
let resData = await setFeedbackUpload({
name: 'FFILE',
filePath,
@ -124,11 +123,11 @@ export default {
return resData
}
},
}
}
</script>
<style lang="scss" scoped>
.feedback {
.feedback {
padding: 40rpx;
background-color: #fff;
@ -180,10 +179,10 @@ export default {
height: 146rpx !important;
}
}
}
}
.title {
.title {
font-size: 32rpx;
color: #333;
}
}
</style>

View File

@ -19,8 +19,7 @@
</view>
<view class="my_main">
<view class="my_main_info">
<view class="my_main_info_wrap" v-for="(item,index) in list" :key="item.name"
@click="clickItem(item.name,index)">
<view class="my_main_info_wrap" v-for="(item,index) in list" :key="item.name" @click="clickItem(item.name,index)">
<view class="my_main_info_wrap_img">
<u--image :src="item.img" width="40rpx" height="40rpx"></u--image>
</view>
@ -41,8 +40,7 @@
</view>
</view>
<u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText"
:cancelText="updateVersion.cancelText"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText"
@cancel="modalCancel" @confirm="modalConfirm">
<view style="text-align: center;color:#606266">
<rich-text :nodes="updateVersion.modalContent"></rich-text>
@ -55,34 +53,32 @@
import updateVersion from '../../../utils/updateVersion'
export default {
mixins: [updateVersion],
mixins:[updateVersion],
data() {
return {
list: [
list:[
{
img: require('../../../static/images/my_ico1.png'),
name: '个人信息',
url: '/pages/mine/information/index'
name:'个人信息',
url:'/pages/mine/information/index'
},
{
img: require('../../../static/images/my_ico3.png'),
name: '问题反馈',
url: '/pages/mine/feedback/feedback'
name:'问题反馈',
url:'/pages/mine/feedback/feedback'
},
{
img: require('../../../static/images/my_ico4.png'),
name: '修改密码',
url: '/pages/mine/change_password/change_password'
name:'修改密码',
url:'/pages/mine/change_password/change_password'
},
// #ifdef APP-PLUS
{
img: require('../../../static/images/my_ico5.png'),
name: '版本更新',
name:'版本更新',
},
// #endif
{
img: require('../../../static/images/my_ico6.png'),
name: '关于我们',
name:'关于我们',
url: '/pages/mine/about_us/about_us'
},
],
@ -114,8 +110,8 @@ export default {
}
})
},
clickItem(name, index) {
if (name === '版本更新') this.fnUpdateVersion()
clickItem(name,index){
if(name === '版本更新') this.fnUpdateVersion()
else {
uni.$u.route({
url: this.list[index].url
@ -127,7 +123,7 @@ export default {
</script>
<style lang="scss" scoped>
.main_container {
.main_container {
width: 100%;
.mytop {
@ -209,9 +205,9 @@ export default {
}
}
}
}
}
.layout_btner {
.layout_btner {
width: 100%;
text-align: center;
padding: 0rpx 40rpx;
@ -228,5 +224,5 @@ export default {
box-shadow: 0 0 20rpx #eee;
border-radius: 10rpx;
}
}
}
</style>

View File

@ -10,18 +10,18 @@
<u-cell title="姓名" :value="info.NAME"></u-cell>
<u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'">
<template #value>
{{ info.SEX === '1' ? '女' : '' }}
{{ info.SEX === '0' ? '男' : '' }}
{{info.SEX === '1' ? '女' : ''}}
{{info.SEX === '0' ? '男' : ''}}
</template>
</u-cell>
<u-cell title="出生年月" :value="info.DATE_OF_BIRTH"></u-cell>
<u-cell title="年龄" :value="info.AGE"></u-cell>
<u-cell title="身份证" :value="info.CARD_ID" @blur="fnIDCardDeduplication"></u-cell>
<u-cell title="身份证" :value="info.CARD_ID"></u-cell>
<u-cell title="身份证照片">
<template #value>
<view v-for="(item,index) in userCardIDPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(userCardIDPhotoFile)"></u--image>
</view>
</template>
@ -40,16 +40,15 @@
<u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="婚姻状况" :value="info.MARITALSTATUS == 0 ? '未婚':'已婚'"></u-cell>
<u-cell title="政治面貌" :value="info.zzName"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间"
:value="info.POLITICAL_TIME"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" :value="info.POLITICAL_TIME"></u-cell>
<u-cell title="是否缴纳社保" :value="info.IS_SOCIAL_NAME"></u-cell>
<!-- 用v-if会出现渲染问题导致出现两行相同的数据 所以改成v-show modify by water_xu 2024.7.19 -->
<u-cell title="社会保障号" v-show="info.IS_SOCIAL==='1'" :value="info.SOCIAL_NUMBER"></u-cell>
<u-cell title="社会保障卡照片" v-show="info.IS_SOCIAL==='1'">
<u-cell title="社会保障卡照片" v-show="info.IS_SOCIAL==='1'" >
<template #value>
<view v-for="(item,index) in socialPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(socialPhotoFile)"></u--image>
</view>
</template>
@ -58,8 +57,8 @@
<u-cell title="合同图片" v-show="info.IS_SIGN_LABOR==='1'">
<template #value>
<view v-for="(item,index) in contractFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(contractFile)"></u--image>
</view>
</template>
@ -69,8 +68,8 @@
<u-cell title="保险图片" v-show="info.ISPAY==='1'">
<template #value>
<view v-for="(item,index) in insuranceFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(insuranceFile)"></u--image>
</view>
</template>
@ -80,8 +79,8 @@
<u-cell title="工伤保险凭证" v-show="info.IS_INJURIES_PAY==='1'">
<template #value>
<view v-for="(item,index) in injuriesPayTiemFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(injuriesPayTiemFile)"></u--image>
</view>
</template>
@ -91,8 +90,8 @@
<u-cell title="三级安全培训照片" v-show="info.IS_LEVEL_THREE==='1'">
<template #value>
<view v-for="(item,index) in photosOfLevel" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(photosOfLevel)"></u--image>
</view>
</template>
@ -100,29 +99,33 @@
<u-cell title="是否流动人员" :value="info.ISFLOW_NAME"></u-cell>
</u-cell-group>
</view>
<fab-button type="edit" @click="$u.route({url: '/pages/mine/information/update'})"/>
</view>
</template>
<script>
import {
import {
getUserInfo,
getEmployedBy, getIDCardDeduplication
} from "../../../api";
import FabButton from "@/components/fab_button/index.vue";
getEmployedBy
} from "../../../api";
export default {
components: {FabButton},
export default {
data() {
return {
info: {},
userCardIDPhotoFile: [],
socialPhotoFile: [],
injuriesPayTiemFile: [],
photosOfLevel: [],
contractFile: [],
injuriesPayTiemFile:[],
photosOfLevel:[],
contractFile:[],
insuranceFile: [],
EMPLOYMENT_APPLY_MANAGEMENT_ID: '',
EMPLOYMENT_APPLY_MANAGEMENT_ID:'',
}
},
onNavigationBarButtonTap(e) {
if (e.index === 0) {
uni.$u.route({
url: '/pages/mine/information/update'
})
}
},
onShow() {
@ -134,14 +137,6 @@ export default {
}
},
methods: {
async fnIDCardDeduplication(CARD_ID = this.form.CARD_ID) {
let resData = await getIDCardDeduplication({CARD_ID})
if (resData.pd) {
uni.$u.toast('身份证号重复')
return true
}
return false
},
fnPreview(urls) {
uni.previewImage({
urls
@ -157,9 +152,9 @@ export default {
let Employed = await getEmployedBy({
showCount: 10,
currentPage: 1,
DEPART_STATE: '0'
DEPART_STATE:'0'
})
if (Employed.varList.length > 0) {
if(Employed.varList.length>0){
Employed.varList.forEach(item => {
console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID);
this.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID
@ -167,7 +162,7 @@ export default {
}
let resData = await getUserInfo({
CORPINFO_ID: this.userInfo.CORPINFO_ID,
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID
EMPLOYMENT_APPLY_MANAGEMENT_ID:this.EMPLOYMENT_APPLY_MANAGEMENT_ID
})
this.info = resData.pd
for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) {
@ -189,7 +184,7 @@ export default {
this.photosOfLevel.push(this.$filePath + resData.photosOfLevel[i].FILEPATH)
}
for (let i = 0; i < resData.insuranceFile.length; i++) {
for (let i = 0; i < resData.insuranceFile.length; i++){
this.insuranceFile.push(this.$filePath + resData.insuranceFile[i].FILEPATH)
}
@ -213,14 +208,14 @@ export default {
} else if (this.info.IS_SIGN_LABOR === '1') {
this.info.IS_SIGN_LABOR_NAME = '是'
}
if (this.info.IS_LEVEL_THREE === '0') {
if (this.info.IS_LEVEL_THREE === '0'){
this.info.IS_LEVEL_THREE_NAME = '否'
} else if (this.info.IS_LEVEL_THREE === '1') {
} else if (this.info.IS_LEVEL_THREE === '1'){
this.info.IS_LEVEL_THREE_NAME = '是'
}
if (this.info.ISPAY === '1') {
if (this.info.ISPAY === '1'){
this.info.ISPAY_NAME = '是'
} else {
}else {
this.info.ISPAY_NAME = '否'
}
if (resData.userPhotoFile.length > 0) {
@ -228,7 +223,7 @@ export default {
}
}
},
}
}
</script>
<style scoped>

View File

@ -21,10 +21,13 @@
<u-form-item label="身份证" prop="CARD_ID" borderBottom required>
<u--input border="none" v-model="form.CARD_ID" @blur="fnCardIdDisassembly"></u--input>
</u-form-item>
<u-form-item label="身份证照片(正反面)" prop="userCardIDPhotoFile" borderBottom required labelPosition="top"
labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.userCardIDPhotoFile" @afterRead="fnAttIdPhotoAdd"
<u-form-item label="身份证照片(正反面)" prop="userCardIDPhotoFile" borderBottom required
class="form-item-block">
<!-- <u-upload class="mt-10" :fileList="form.userCardIDPhotoFile" @afterRead="fnAttIdPhotoAdd"-->
<!-- @delete="fnAttIdPhotoDelete" multiple :maxCount="2" previewFullImage>-->
<!-- </u-upload>-->
<view>
<u-upload class="mt-10" :fileList="form.userCardIDPhotoFile" @afterRead="fnAttIdPhotoAdd"
@delete="fnAttIdPhotoDelete" multiple :maxCount="2" previewFullImage>
</u-upload>
<view class="tip">
@ -87,11 +90,9 @@
</view>
<view>
<u-form-item v-if="form.IS_SOCIAL==='1'" label="社会保障卡" prop="socialPhotoFile" borderBottom required
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.socialPhotoFile" @afterRead="fnAttSocialAdd"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.socialPhotoFile" @afterRead="fnAttSocialAdd"
@delete="fnAttSocialDelete" multiple :maxCount="2" previewFullImage></u-upload>
</view>
</u-form-item>
</view>
<view>
@ -109,11 +110,9 @@
</view>
<view>
<u-form-item v-if="form.IS_SIGN_LABOR==='1'" label="合同图片" prop="contractFile" borderBottom required
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.contractFile" @afterRead="fnIsSignLaborAdd"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.contractFile" @afterRead="fnIsSignLaborAdd"
@delete="fnIsSignLaborDelete" multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
</view>
<view>
@ -129,11 +128,9 @@
</view>
<view>
<u-form-item v-if="form.ISPAY==='1'" label="保险图片" prop="insuranceFile" borderBottom required
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.insuranceFile" @afterRead="fnIsPayAdd" @delete="fnIsPayDelete"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.insuranceFile" @afterRead="fnIsPayAdd" @delete="fnIsPayDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
</view>
<view>
@ -152,12 +149,10 @@
</view>
<view>
<u-form-item label="上传工伤保险凭证" prop="injuriesPayTiemFile" borderBottom required
v-if="form.IS_INJURIES_PAY==='1'" labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.injuriesPayTiemFile"
v-if="form.IS_INJURIES_PAY==='1'" class="form-item-block">
<u-upload class="mt-10" :fileList="form.injuriesPayTiemFile"
@afterRead="fnInjuriesPayTiemAttachmentsAfterRead" @delete="fnInjuriesPayTiemAttachmentsDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
</view>
<view>
@ -174,18 +169,15 @@
</view>
<view>
<u-form-item v-if="form.IS_LEVEL_THREE === '1'" label="三级安全培训照片" prop="photosOfLevel" borderBottom
required labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.photosOfLevel" @afterRead="fnPhotosOfLevelAdd"
required class="form-item-block">
<u-upload class="mt-10" :fileList="form.photosOfLevel" @afterRead="fnPhotosOfLevelAdd"
@delete="fnPhotosOfLevelDelete" multiple :maxCount="4" previewFullImage>
</u-upload>
</view>
</u-form-item>
</view>
<u-form-item label="是否流动人员" prop="ISFLOW_NAME" borderBottom required
@click="fnShowFloatingPersonnel">
<u--input v-model="form.ISFLOW_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
<u--input v-model="form.ISFLOW_NAME" border="none" disabled disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item>
</u--form>
<u-picker ref="uPicker" :show="singleChoice" :columns="singleChoiceColumns" keyName="NAME"
@ -209,17 +201,14 @@
@confirm="fnShowIsPayConfirm" @cancel="fnShowIsPay"></u-picker>
<u-datetime-picker :show="showInjuriesPayTiem" v-model="IS_INJURIES_PAY_TIME" mode="date"
@confirm="fnShowInjuriesPayTiemConfirm"
@cancel="fnShowInjuriesPayTiemEducation"></u-datetime-picker>
<view class="mt-10">
<u-button type="primary" text="保 存" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
@confirm="fnShowInjuriesPayTiemConfirm" @cancel="fnShowInjuriesPayTiemEducation"></u-datetime-picker>
<u-button type="primary" text="保 存" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
<script>
import {
import {
getDataDictionary,
getIDCardDeduplication,
getPhoneNumberDeduplication,
@ -228,9 +217,9 @@ import {
setUploadAttachments,
setUserInfo,
getEmployedBy
} from "../../../api";
} from "../../../api";
export default {
export default {
data() {
return {
showDegreeOfEducation: false,
@ -244,7 +233,7 @@ export default {
injuriesPayTiemFile: [], //
showInjuriesPayTiem: false, //
IS_INJURIES_PAY_TIME: new Date().toString(),
EMPLOYMENT_APPLY_MANAGEMENT_ID: '',
EMPLOYMENT_APPLY_MANAGEMENT_ID:'',
degreeOfEducationColumns: [],
showPersonWorkType: false,
@ -259,11 +248,11 @@ export default {
userPhoto: [],
userCardIDPhotoFile: [],
socialPhotoFile: [],
contractFile: [],
contractFile:[],
injuriesPayTiemFile: [],
photosOfLevel: [],
photosOfLevel:[],
insuranceFile: [],
IS_INJURIES_PAY_TIME: '',
IS_INJURIES_PAY_TIME:'',
NAME: '',
USERNAME: '',
SEX: '',
@ -279,8 +268,8 @@ export default {
SOCIAL_NUMBER: '',
ISFLOW: '',
ISFLOW_NAME: '',
IS_SOCIAL: '',
IS_SOCIAL_NAME: '',
IS_SOCIAL:'',
IS_SOCIAL_NAME:'',
IS_BF_NAME: '',
IS_BF: '',
IS_SIGN_LABOR: '',
@ -373,7 +362,7 @@ export default {
trigger: ['change']
},
IS_SOCIAL_NAME: {
IS_SOCIAL_NAME:{
required: true,
message: '请选择是否缴纳社保',
trigger: ['change']
@ -388,45 +377,45 @@ export default {
message: '请选择工伤保险有效期',
trigger: ['change']
},
IS_BF_NAME: {
IS_BF_NAME:{
required: true,
message: '请选择是否是否缴纳保险',
trigger: ['change']
},
IS_SIGN_LABOR_NAME: {
IS_SIGN_LABOR_NAME:{
required: true,
message: '请选择是否签订劳动合同',
trigger: ['change']
},
contractFile: {
contractFile:{
type: 'array',
required: true,
message: '请上传劳动合同',
trigger: ['change']
},
insuranceFile: {
insuranceFile:{
type: 'array',
required: true,
message: '请上传保险图片',
trigger: ['change']
},
POST_ID: {
POST_ID:{
required: true,
message: '请填写岗位',
trigger: ['change']
},
photosOfLevel: {
photosOfLevel:{
type: 'array',
required: true,
message: '请上传三级安全培训照片',
trigger: ['change']
},
IS_LEVEL_THREE_NAME: {
IS_LEVEL_THREE_NAME:{
required: true,
message: '请选择是否为三级人员',
trigger: ['change']
},
ISPAY_NUMBER: {
ISPAY_NUMBER:{
required: true,
message: '请填写商业保单号',
trigger: ['change']
@ -449,10 +438,7 @@ export default {
this.changeFrom = changeFrom
if (changeFrom == 'NATIONALITY') this.fnGetDataDictionary('0a0e406f27f74ee698fe9979d25f62dd')
if (changeFrom == 'DEGREE_OF_EDUCATION') this.fnGetDataDictionary('d7d80f08d73a4accbccf4fd3d8d1d867')
if (changeFrom == 'MARITALSTATUS') this.singleChoiceColumns = [[{NAME: '已婚', BIANMA: '1'}, {
NAME: '未婚',
BIANMA: '0'
}]]
if (changeFrom == 'MARITALSTATUS') this.singleChoiceColumns = [[{NAME: '已婚', BIANMA: '1'}, {NAME: '未婚', BIANMA: '0'}]]
if (changeFrom == 'POLITICAL_STATUS') this.fnGetDataDictionary('6351efdd12dc4730952e5d195718e252')
this.singleChoice = true
@ -472,7 +458,7 @@ export default {
},
fnSingleChoiceConfirm(event) {
this.$set(this.form, this.changeFrom, event.value[0].BIANMA)
this.$set(this.form, this.changeFrom + '_NAME', event.value[0].NAME)
this.$set(this.form, this.changeFrom+ '_NAME', event.value[0].NAME)
this.singleChoice = false
},
fnSingleChoiceCancel() {
@ -634,24 +620,24 @@ export default {
fnShowFloatingPersonnel() {
this.showFloatingPersonnel = !this.showFloatingPersonnel
},
fnShowBf() {
fnShowBf(){
this.showBf = !this.showBf
},
fnShowIsSignLabor() {
fnShowIsSignLabor(){
this.showIsSignLabor = !this.showIsSignLabor
},
fnShowIsPay() {
fnShowIsPay(){
this.showIsPay = !this.showIsPay
},
fnShowIsPayConfirm(e) {
fnShowIsPayConfirm(e){
this.form.ISPAY = e.value[0].id
this.form.ISPAY_NAME = e.value[0].name
this.fnShowIsPay()
},
fnShowPhotosOfLevel() {
fnShowPhotosOfLevel(){
this.showPhotosOfLevel = !this.showPhotosOfLevel
},
fnShowPhotosOfLevelConfirm(e) {
fnShowPhotosOfLevelConfirm(e){
this.form.IS_LEVEL_THREE = e.value[0].id
this.form.IS_LEVEL_THREE_NAME = e.value[0].name
this.fnShowPhotosOfLevel()
@ -661,12 +647,12 @@ export default {
this.form.ISFLOW_NAME = e.value[0].name
this.fnShowFloatingPersonnel()
},
fnBFConfirm(e) {
fnBFConfirm(e){
this.form.IS_BF = e.value[0].id
this.form.IS_BF_NAME = e.value[0].name
this.fnShowBf()
},
fnIsSignLaborConfirm(e) {
fnIsSignLaborConfirm(e){
this.form.IS_SIGN_LABOR = e.value[0].id
this.form.IS_SIGN_LABOR_NAME = e.value[0].name
this.fnShowIsSignLabor()
@ -777,9 +763,9 @@ export default {
let Employed = await getEmployedBy({
showCount: 10,
currentPage: 1,
DEPART_STATE: '0'
DEPART_STATE:'0'
})
if (Employed.varList.length > 0) {
if(Employed.varList.length>0){
Employed.varList.forEach(item => {
console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID);
this.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID
@ -788,7 +774,7 @@ export default {
console.log(this.EMPLOYMENT_APPLY_MANAGEMENT_ID);
let resData = await getUserInfo({
CORPINFO_ID: this.userInfo.CORPINFO_ID,
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID
EMPLOYMENT_APPLY_MANAGEMENT_ID:this.EMPLOYMENT_APPLY_MANAGEMENT_ID
})
console.log(resData);
this.form = {
@ -818,26 +804,26 @@ export default {
this.form.ISFLOW_NAME = '否'
}
if (this.form.ISPAY === '1') {
if (this.form.ISPAY === '1'){
this.form.ISPAY_NAME = '是'
} else {
}else {
this.form.ISPAY_NAME = '否'
}
if (this.form.IS_LEVEL_THREE === '1') {
if (this.form.IS_LEVEL_THREE === '1'){
this.form.IS_LEVEL_THREE_NAME = '是'
} else {
}else {
this.form.IS_LEVEL_THREE_NAME = '否'
}
if (this.form.IS_BF === '1') {
if (this.form.IS_BF === '1'){
this.form.IS_BF_NAME = '是'
} else {
}else {
this.form.IS_BF_NAME = '否'
}
if (this.form.IS_SIGN_LABOR === '1') {
if (this.form.IS_SIGN_LABOR === '1'){
this.form.IS_SIGN_LABOR_NAME = '是'
} else {
}else {
this.form.IS_SIGN_LABOR_NAME = '否'
}
@ -911,7 +897,7 @@ export default {
fnSubmit() {
this.$refs.form.validate().then(async () => {
//
if (this.form.IS_INJURIES_PAY === '0' && this.form.IS_SOCIAL === '0') {
if (this.form.IS_INJURIES_PAY === '0'&& this.form.IS_SOCIAL === '0') {
uni.$u.toast('工商或社保全无人员,不可进入本系统相关方人员管理!');
return;
}
@ -921,7 +907,7 @@ export default {
uni.$u.toast('身份证照片需要两张')
return
}
if (this.form.IS_SOCIAL === '1') {
if(this.form.IS_SOCIAL==='1'){
if (this.form.socialPhotoFile.length !== 2) {
uni.$u.toast('社保卡照片需要两张')
return
@ -1052,7 +1038,7 @@ export default {
})
}
},
}
}
</script>
<style scoped>

View File

@ -7,7 +7,9 @@
</template>
<script>
export default {}
export default {
}
</script>
<style scoped>

View File

@ -2,12 +2,12 @@
<view class="content">
<view class="card">
<u--form labelPosition="left" :model="form" :rules="rules" ref="form" labelWidth="auto">
<u-form-item label="照片" prop="userPhoto" borderBottom required labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.userPhoto" :maxCount="1" @afterRead="fnUserPhotoRead"
<u-form-item label="照片" prop="userPhoto" borderBottom required class="form-item-block">
<u-upload class="mt-10" :fileList="form.userPhoto" :maxCount="1" @afterRead="fnUserPhotoRead"
@delete="fnUserPhotoDelete" multiple previewFullImage></u-upload>
</view>
</u-form-item>
<u-form-item label="单位名称" prop="NAME" borderBottom required>
<u--input v-model="RELEVANT_UNIT_NAME" :disabled="true" border="none" inputAlign="right"></u--input>
</u-form-item>
@ -33,10 +33,14 @@
<u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="身份证照片(录入身份证正、反彩色照片)" prop="userCardIDFileList" borderBottom required
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.userCardIDFileList" @afterRead="fnUserCardIDAttachmentsRead"
<!-- <u-form-item label="身份证照片(录入身份证正、反彩色照片)" prop="userCardIDFileList" borderBottom required-->
<!-- class="form-item-block">-->
<!-- <u-upload class="mt-10" :fileList="form.userCardIDFileList" @afterRead="fnUserCardIDAttachmentsRead"-->
<!-- @delete="fnInsuranceAttachmentsDelete" multiple :maxCount="2" previewFullImage></u-upload>-->
<!-- </u-form-item>-->
<u-form-item label="身份证照片(录入身份证正、反彩色照片)" prop="userCardIDFileList" borderBottom required class="form-item-block">
<view>
<u-upload class="mt-10" :fileList="form.userCardIDFileList" @afterRead="fnUserCardIDAttachmentsRead"
@delete="fnUserCardIDAttachmentsDelete" multiple :maxCount="2" previewFullImage></u-upload>
<view class="tip">
温馨提示用户需上传身份证正反面身份证照片数量需2才能进行人员培训
@ -64,10 +68,10 @@
<u--input v-model="form.POLITICAL_TIME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="户口所在地" prop="HKLOCAL" borderBottom labelPosition="top" labelWidth="auto">
<u-form-item label="户口所在地" prop="HKLOCAL" borderBottom class="form-item-block">
<u--textarea v-model="form.HKLOCAL" border="none" autoHeight></u--textarea>
</u-form-item>
<u-form-item label="现住址" prop="ADDRESS" borderBottom labelPosition="top" labelWidth="auto">
<u-form-item label="现住址" prop="ADDRESS" borderBottom class="form-item-block">
<u--textarea v-model="form.ADDRESS" border="none" autoHeight></u--textarea>
</u-form-item>
<u-form-item label="联系电话" prop="PHONE" borderBottom required>
@ -83,36 +87,33 @@
<!-- &lt;!&ndash; 20230612改成输入框 &ndash;&gt;-->
<!-- <u&#45;&#45;input v-model="form.PERSON_WORK_TYPE" border="none" disabledColor="#ffffff" inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本企业从业开始日期" prop="CORP_START_DATE" borderBottom required-->
<!-- @click="fnShowEnterpriseStartingDateOfEmployment">-->
<!-- <u&#45;&#45;input v-model="form.CORP_START_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本企业从业开始日期" prop="CORP_START_DATE" borderBottom required-->
<!-- @click="fnShowEnterpriseStartingDateOfEmployment">-->
<!-- <u&#45;&#45;input v-model="form.CORP_START_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- @click="fnShowPost" -->
<u-form-item label="岗位名称" prop="POST_ID" borderBottom required>
<!-- 20230612改成输入框 -->
<u--input v-model="form.POST_ID" border="none" disabledColor="#ffffff" inputAlign="right">
</u--input>
</u-form-item>
<!-- <u-form-item label="本岗位从业开始日期" prop="ENTRY_DATE" borderBottom required-->
<!-- @click="fnShowPostStartingDateOfEmployment">-->
<!-- <u&#45;&#45;input v-model="form.ENTRY_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本岗位从业开始日期" prop="ENTRY_DATE" borderBottom required-->
<!-- @click="fnShowPostStartingDateOfEmployment">-->
<!-- <u&#45;&#45;input v-model="form.ENTRY_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<u-form-item label="是否缴纳社保" prop="IS_SOCIAL_NAME" borderBottom required
@click="fnShowIsSocial">
<u--input v-model="form.IS_SOCIAL_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="社会保障号码" prop="SOCIAL_NUMBER" borderBottom required v-if="form.IS_SOCIAL==='1'">
<u-form-item label="社会保障号码" prop="SOCIAL_NUMBER" borderBottom required v-if="form.IS_SOCIAL==='1'" >
<u--input v-model="form.SOCIAL_NUMBER" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="社保卡照片" prop="socialFileList" borderBottom required labelPosition="top"
labelWidth="auto" v-if="form.IS_SOCIAL==='1'">
<view class="mt-10 w100">
<u-upload :fileList="form.socialFileList" @afterRead="fnSocialAttachmentsRead"
<u-form-item label="社保卡照片" prop="socialFileList" borderBottom required class="form-item-block" v-if="form.IS_SOCIAL==='1'" >
<u-upload class="mt-10" :fileList="form.socialFileList" @afterRead="fnSocialAttachmentsRead"
@delete="fnSocialAttachmentsDelete" multiple :maxCount="2" previewFullImage></u-upload>
</view>
</u-form-item>
<u-form-item label="是否缴纳保险" prop="IS_BF_NAME" borderBottom required
@click="fnShowInjuryInsurance">
@ -125,12 +126,10 @@
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="劳动合同附件" prop="contractFile" borderBottom required v-if="form.IS_SIGN_LABOR==='1'"
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.contractFile"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.contractFile"
@afterRead="fnAttachmentToLaborContractAfterRead" @delete="fnAttachmentToLaborContractDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
<u-form-item label="是否按期缴纳工伤保险" prop="IS_INJURIES_PAY_NAME" borderBottom required
@click="fnShowEmploymentInjuryInsurance">
@ -143,12 +142,10 @@
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="上传工伤保险凭证" prop="injuriesPayTiemFile" borderBottom required
v-if="form.IS_INJURIES_PAY==='1'" labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.injuriesPayTiemFile"
v-if="form.IS_INJURIES_PAY==='1'" class="form-item-block">
<u-upload class="mt-10" :fileList="form.injuriesPayTiemFile"
@afterRead="fnInjuriesPayTiemAttachmentsAfterRead" @delete="fnInjuriesPayTiemAttachmentsDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
@ -161,24 +158,19 @@
<u--input v-model="form.ISPAY_NUMBER" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="保险附件" prop="insuranceFile" borderBottom required v-if="form.ISPAY==='1'"
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.insuranceFile" @afterRead="fnInsuranceAttachmentsAfterRead2"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.insuranceFile" @afterRead="fnInsuranceAttachmentsAfterRead2"
@delete="fnInsuranceAttachmentsDelete" multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
<u-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE_NAME" borderBottom required
@click="fnShowSafetyTraining">
<u--input v-model="form.IS_LEVEL_THREE_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="三级安全培训图片" prop="safetytraining" borderBottom required
v-if="form.IS_LEVEL_THREE==='1'"
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.safetytraining" @afterRead="fnSafetyTrainingAfterRead2"
<u-form-item label="三级安全培训图片" prop="safetytraining" borderBottom required v-if="form.IS_LEVEL_THREE==='1'"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.safetytraining" @afterRead="fnSafetyTrainingAfterRead2"
@delete="fnSafetyTrainingAttachmentsDelete" multiple :maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
<!-- <u-form-item label="安全告知培训是否合格" prop="IS_SAFETY_TELL_NAME" borderBottom required
@click="fnShowAdmissionSafetyNotification">
@ -190,20 +182,19 @@
@click="fnShowSafetyTimeTraining">
<u--input v-model="form.IS_SAFETY_TIME" border="none" disabled disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item> -->
<!-- <u-form-item label="身体状况是否适应本岗位工作" prop="IS_BODY_ADAPT_NAME" borderBottom required-->
<!-- @click="fnShowAdaptToTheJobPosition">-->
<!-- <u&#45;&#45;input v-model="form.IS_BODY_ADAPT_NAME" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB_NAME" borderBottom required-->
<!-- @click="fnShowSpecialTypeOfWork">-->
<!-- <u&#45;&#45;input v-model="form.IS_SPECIAL_JOB_NAME" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="身体状况是否适应本岗位工作" prop="IS_BODY_ADAPT_NAME" borderBottom required-->
<!-- @click="fnShowAdaptToTheJobPosition">-->
<!-- <u&#45;&#45;input v-model="form.IS_BODY_ADAPT_NAME" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB_NAME" borderBottom required-->
<!-- @click="fnShowSpecialTypeOfWork">-->
<!-- <u&#45;&#45;input v-model="form.IS_SPECIAL_JOB_NAME" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<u-form-item label="是否流动人员" prop="ISFLOW_NAME" borderBottom required
@click="fnShowFloatingPersonnel">
<u--input v-model="form.ISFLOW_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
<u--input v-model="form.ISFLOW_NAME" border="none" disabled disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item>
</u--form>
<u-picker :show="showDegreeOfEducation" :columns="degreeOfEducationColumns" keyName="NAME"
@ -258,21 +249,18 @@
@confirm="fnShowPoliticalStatusConfirm" @cancel="fnShowPoliticalStatusEducation"></u-picker>
<!-- 入党时间 -->
<u-datetime-picker :show="showPoliticalTime" v-model="POLITICAL_TIME" mode="date"
@confirm="fnShowPoliticalTimeConfirm"
@cancel="fnShowPoliticalTimeEducation"></u-datetime-picker>
@confirm="fnShowPoliticalTimeConfirm" @cancel="fnShowPoliticalTimeEducation"></u-datetime-picker>
<!--工伤报销有效时间 -->
<u-datetime-picker :show="showInjuriesPayTiem" v-model="IS_INJURIES_PAY_TIME" mode="date"
@confirm="fnShowInjuriesPayTiemConfirm"
@cancel="fnShowInjuriesPayTiemEducation"></u-datetime-picker>
<view class="mt-10">
<u-button type="primary" text="保 存" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
@confirm="fnShowInjuriesPayTiemConfirm" @cancel="fnShowInjuriesPayTiemEducation"></u-datetime-picker>
<u-button type="primary" text="保 存" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
<script>
import {
import {
getCertificateInformationList,
getDataDictionary,
getDeptTree,
@ -284,9 +272,9 @@ import {
getEMPLOYMENTAPPLYMANAGEMENTID,
getEmployedBy,
removeUploadAttachments
} from "../../api";
} from "../../api";
export default {
export default {
data() {
return {
showSafetyTimeTraining: false, //
@ -360,7 +348,7 @@ export default {
contractFile: [],
ISPAY: '',
ISPAY_NAME: '',
imgDelKey: '',
imgDelKey:'',
IS_BF: '',
IS_BF_NAME: '',
IS_INJURIES_PAY: '',
@ -379,9 +367,9 @@ export default {
ISFLOW_NAME: '',
NATIONALITY_NAME: '',
NATIONALITY: '',
IS_SOCIAL: '',
IS_SOCIAL_NAME: '',
EMPLOYMENT_APPLY_MANAGEMENT_ID: ''
IS_SOCIAL:'',
IS_SOCIAL_NAME:'',
EMPLOYMENT_APPLY_MANAGEMENT_ID:''
},
rules: {
userPhoto: {
@ -508,7 +496,7 @@ export default {
message: '请上传社保卡照片',
trigger: ['change']
},
IS_SOCIAL_NAME: {
IS_SOCIAL_NAME:{
required: true,
message: '请选择是否缴纳社保',
trigger: ['change']
@ -528,7 +516,7 @@ export default {
required: true,
message: '请选择是否缴纳保险',
trigger: ['change']
}, IS_INJURIES_PAY_NAME: {
},IS_INJURIES_PAY_NAME: {
required: true,
message: '请选择是否按期缴纳工伤保险',
trigger: ['change']
@ -652,8 +640,7 @@ export default {
this.form.IS_BF_NAME = '否'
} else if (this.form.IS_BF === '1') {
this.form.IS_BF_NAME = '是'
}
if (this.form.IS_INJURIES_PAY === '0') {
}if (this.form.IS_INJURIES_PAY === '0') {
this.form.IS_INJURIES_PAY_NAME = '否'
} else if (this.form.IS_INJURIES_PAY === '1') {
this.form.IS_INJURIES_PAY_NAME = '是'
@ -1032,8 +1019,8 @@ export default {
fnSubmit() {
let fileUrl = ''
let imgDelKey = String(this.form.imgDelKey)
if (imgDelKey.length > 0) {
this.form.imgDelKey = imgDelKey.replace(/undefined,/g, '').slice(0, -1)
if (imgDelKey.length > 0){
this.form.imgDelKey = imgDelKey.replace(/undefined,/g,'').slice(0, -1)
}
this.$refs.form.validate().then(async () => {
if (await this.fnIDCardDeduplication()) return
@ -1041,16 +1028,16 @@ export default {
let Employed = await getEmployedBy({
showCount: 10,
currentPage: 1,
DEPART_STATE: '0,2'
DEPART_STATE:'0,2'
})
console.log(Employed)
if (Employed.varList.length > 0) {
if(Employed.varList.length>0){
Employed.varList.forEach(item => {
console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID);
this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID
})
}
if (!this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID) {
if(!this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID){
console.log(this.EMPLOYMENT_APPLY_MANAGEMENT_ID);
Employed = await getEMPLOYMENTAPPLYMANAGEMENTID({});
@ -1059,7 +1046,7 @@ export default {
}
//
if (this.form.IS_INJURIES_PAY === '0' && this.form.IS_SOCIAL === '0') {
if (this.form.IS_INJURIES_PAY === '0'&& this.form.IS_SOCIAL === '0') {
uni.$u.toast('工商或社保全无人员,不可进入本系统相关方人员管理!');
return;
}
@ -1163,7 +1150,7 @@ export default {
})
}
},
}
}
</script>
<style scoped>

View File

@ -6,30 +6,27 @@
<u--input v-model="form.POST_ID" border="none" disabledColor="#ffffff" inputAlign="right">
</u--input>
</u-form-item>
<!-- <u-form-item label="本企业从业开始日期" prop="CORP_START_DATE" borderBottom required-->
<!-- @click="fnShowDatePicke('CORP_START_DATE')">-->
<!-- <u&#45;&#45;input v-model="form.CORP_START_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本岗位从业开始日期" prop="ENTRY_DATE" borderBottom required-->
<!-- @click="fnShowDatePicke('ENTRY_DATE')">-->
<!-- <u&#45;&#45;input v-model="form.ENTRY_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本企业从业开始日期" prop="CORP_START_DATE" borderBottom required-->
<!-- @click="fnShowDatePicke('CORP_START_DATE')">-->
<!-- <u&#45;&#45;input v-model="form.CORP_START_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<!-- <u-form-item label="本岗位从业开始日期" prop="ENTRY_DATE" borderBottom required-->
<!-- @click="fnShowDatePicke('ENTRY_DATE')">-->
<!-- <u&#45;&#45;input v-model="form.ENTRY_DATE" border="none" disabled disabledColor="#ffffff"-->
<!-- inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<u-form-item label="是否签署劳动合同" prop="IS_SIGN_LABOR_NAME" borderBottom required
@click="fnShowLaborContract">
<u--input v-model="form.IS_SIGN_LABOR_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<view v-if="form.IS_SIGN_LABOR==='1'">
<u-form-item label="劳动合同附件" prop="contractFile" borderBottom required labelPosition="top"
labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.contractFile"
<u-form-item label="劳动合同附件" prop="contractFile" borderBottom required class="form-item-block">
<u-upload class="mt-10" :fileList="form.contractFile"
@afterRead="fnAttachmentToLaborContractAfterRead"
@delete="fnAttachmentToLaborContractDelete" multiple :maxCount="4" previewFullImage>
</u-upload>
</view>
</u-form-item>
</view>
<u-form-item label="是否缴纳工伤保险" prop="IS_INJURIES_PAY_NAME" borderBottom required
@ -46,13 +43,11 @@
</view>
<view v-if="form.IS_INJURIES_PAY==='1'">
<u-form-item label="工伤保险凭证" prop="workInsurancePhotoFile" borderBottom required
labelPosition="top" labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.workInsurancePhotoFile"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.workInsurancePhotoFile"
@afterRead="fnWorkInsuranceRead" @delete="fnWorkInsuranceDelete" multiple
:maxCount="4" previewFullImage>
</u-upload>
</view>
</u-form-item>
</view>
<u-form-item label="是否缴纳商业保险" prop="ISPAY_NAME" borderBottom required
@ -65,13 +60,10 @@
</u--input>
</u-form-item>
<view v-if="form.ISPAY==='1'">
<u-form-item label="保险附件" prop="insuranceFile" borderBottom required labelPosition="top"
labelWidth="auto">
<view class="mt-10 w100">
<u-upload :fileList="form.insuranceFile"
<u-form-item label="保险附件" prop="insuranceFile" borderBottom required class="form-item-block">
<u-upload class="mt-10" :fileList="form.insuranceFile"
@afterRead="fnInsuranceAttachmentsAfterRead" @delete="fnInsuranceDelete" multiple
:maxCount="4" previewFullImage></u-upload>
</view>
</u-form-item>
</view>
<u-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE_NAME" borderBottom required
@ -126,15 +118,13 @@
keyName="name" @confirm="fnSpecialTypeOfWorkConfirm" @cancel="fnShowSpecialTypeOfWork"></u-picker>
<u-picker :show="showFloatingPersonnel" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnFloatingPersonnelConfirm" @cancel="fnShowFloatingPersonnel"></u-picker>
<view class="mt-10">
<u-button type="primary" text="修 改" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
<u-button type="primary" text="修 改" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
<script>
import {
import {
getCertificateInformationList,
getDataDictionary,
getIDCardDeduplication,
@ -145,9 +135,9 @@ import {
setUploadAttachments,
removeUploadAttachments,
checkRelatedUnitsPersonCount
} from "../../api";
} from "../../api";
export default {
export default {
data() {
return {
changeFrom: '',
@ -495,7 +485,7 @@ export default {
let resData = await getCertificateInformationList({
showCount: 9999,
currentPage: 1,
keyCrelType: '7498057c4c1f4a11b9a960e66ea04a7a'
keyCrelType:'7498057c4c1f4a11b9a960e66ea04a7a'
});
this.certificateInformationLength = resData.varList.length
if (resData.varList.length > 0) {
@ -641,8 +631,7 @@ export default {
duration: 2000
});
this.form.contractFile.splice(event.index, 1)
} else if (res.cancel) {
}
} else if (res.cancel) {}
}
});
},
@ -826,7 +815,7 @@ export default {
})
}
},
}
}
</script>
<style scoped>

View File

@ -4,7 +4,7 @@
<view class="card">
<view class="text_content">
<view class="title title_left">基础信息</view>
<!-- <view class="title_right" @click="fnGoEditUserInfo"></view>-->
<!-- <view class="title_right" @click="fnGoEditUserInfo"></view>-->
</view>
<u-cell-group>
<u-cell title="照片">
@ -15,8 +15,8 @@
<u-cell title="姓名" :value="info.NAME"></u-cell>
<u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'">
<template #value>
{{ info.SEX === '1' ? '女' : '' }}
{{ info.SEX === '0' ? '男' : '' }}
{{info.SEX === '1' ? '女' : ''}}
{{info.SEX === '0' ? '男' : ''}}
</template>
</u-cell>
<u-cell title="出生年月" :value="info.DATE_OF_BIRTH"></u-cell>
@ -25,8 +25,8 @@
<u-cell title="身份证照片">
<template #value>
<view v-for="(item,index) in userCardIDPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(userCardIDPhotoFile)"></u--image>
</view>
</template>
@ -45,16 +45,15 @@
<u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="婚姻状况" :value="info.MARITALSTATUS_NAME"></u-cell>
<u-cell title="政治面貌" :value="info.POLITICAL_STATUS_NAME"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间"
:value="info.POLITICAL_TIME"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" :value="info.POLITICAL_TIME"></u-cell>
<u-cell title="社会保障号" :value="info.SOCIAL_NUMBER"></u-cell>
<u-cell title="社会保障卡照片">
<template #value>
<view v-for="(item,index) in socialPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(socialPhotoFile)"></u--image>
</view>
</template>
@ -67,20 +66,20 @@
<view class="card">
<view class="text_content">
<view class="title title_left">企业就职信息</view>
<!-- <view v-if = "info.DEPART_STATE == '0'" class="title_right" @click="goEdit"></view>-->
<!-- <view v-else class="title_right_red">已离职</view>-->
<!-- <view v-if = "info.DEPART_STATE == '0'" class="title_right" @click="goEdit"></view>-->
<!-- <view v-else class="title_right_red">已离职</view>-->
<view class="title_right_red" v-if="info.DEPART_STATE != '0'"></view>
</view>
<u-cell-group>
<u-cell title="岗位名称" :value="info.POST_ID"></u-cell>
<!-- <u-cell title="本企业从业开始日期" :value="info.CORP_START_DATE"></u-cell>-->
<!-- <u-cell title="本岗位从业开始日期" :value="info.ENTRY_DATE"></u-cell>-->
<!-- <u-cell title="本企业从业开始日期" :value="info.CORP_START_DATE"></u-cell>-->
<!-- <u-cell title="本岗位从业开始日期" :value="info.ENTRY_DATE"></u-cell>-->
<u-cell title="是否签署劳动合同" :value="info.IS_SIGN_LABOR == '0' ? '否' : '是'"></u-cell>
<u-cell title="劳动合同附件" v-show="info.IS_SIGN_LABOR === '1'">
<template #value>
<view v-for="(item,index) in contractFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(contractFile)"></u--image>
</view>
</template>
@ -91,8 +90,8 @@
<u-cell title="工伤保险凭证" v-show="info.IS_INJURIES_PAY === '1'">
<template #value>
<view v-for="(item,index) in workInsurancePhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(workInsurancePhotoFile)"></u--image>
</view>
</template>
@ -102,14 +101,18 @@
<u-cell title="保险附件" v-show="info.ISPAY === '1'">
<template #value>
<view v-for="(item,index) in insuranceFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;">
<u--image :src="item" width="100rpx" height="100rpx"
style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" style="margin-left: 10rpx;"
@click="fnPreview(insuranceFile)"></u--image>
</view>
</template>
</u-cell>
<u-cell title="是否参加三级安全培训" :value="info.IS_LEVEL_THREE == '0' ? '否' : '是'"></u-cell>
<!-- <u-cell title="是否开展入场安全告知" :value="info.IS_SAFETY_TELL == '0' ? '否' : '是'"></u-cell> -->
<u-cell title="身体状况是否适应本岗位工作" :value="info.IS_BODY_ADAPT == '0' ? '否' : '是'"></u-cell>
<u-cell title="是否特殊工种" :value="info.IS_SPECIAL_JOB == '0' ? '否' : '是'"></u-cell>
<!-- <u-cell title="是否流动人员" :value="info.ISFLOW == '0' ? '否' : '是'"></u-cell> -->
<!-- <u-cell title="审核意见" v-show="info.AUDIT_REMARKS != ''" :value="info.AUDIT_REMARKS"></u-cell>-->
</u-cell-group>
</view>
</view>
@ -118,11 +121,11 @@
</template>
<script>
import {
import {
getUserInfo
} from "../../api";
} from "../../api";
export default {
export default {
data() {
return {
info: {},
@ -188,32 +191,32 @@ export default {
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID
})
this.info = resData.pd
if (resData.userCardIDPhotoFile) {
if(resData.userCardIDPhotoFile){
for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) {
this.userCardIDPhotoFile.push(this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH)
}
}
if (resData.socialPhotoFile) {
if(resData.socialPhotoFile){
for (let i = 0; i < resData.socialPhotoFile.length; i++) {
this.socialPhotoFile.push(this.$filePath + resData.socialPhotoFile[i].FILEPATH)
}
}
if (resData.contractFile) {
if(resData.contractFile){
for (let i = 0; i < resData.contractFile.length; i++) {
this.contractFile.push(this.$filePath + resData.contractFile[i].FILEPATH)
}
}
if (resData.insuranceFile) {
if(resData.insuranceFile){
for (let i = 0; i < resData.insuranceFile.length; i++) {
this.insuranceFile.push(this.$filePath + resData.insuranceFile[i].FILEPATH)
}
}
if (resData.workInsurancePhotoFile) {
if(resData.workInsurancePhotoFile){
for (let i = 0; i < resData.workInsurancePhotoFile.length; i++) {
this.workInsurancePhotoFile.push(this.$filePath + resData.workInsurancePhotoFile[i].FILEPATH)
}
}
if (resData.userPhotoFile && resData.userPhotoFile.length > 0) {
if(resData.userPhotoFile && resData.userPhotoFile.length>0){
this.$set(this.info, 'userPhoto', this.$filePath + resData.userPhotoFile[0].FILEPATH)
console.log(this.info.userPhoto)
}
@ -225,32 +228,31 @@ export default {
})
}
},
}
}
</script>
<style scoped>
.text_content {
.text_content {
display: flex;
}
}
.title_left {
.title_left {
font-size: 40rpx;
justify-content: flex-start;
float: left;
text-align: left;
margin-bottom: 12px;
}
}
.title_right {
.title_right {
margin-left: auto;
font-size: 30rpx;
margin-top: 5px;
}
.title_right_red {
}
.title_right_red {
margin-left: auto;
color: red;
font-size: 30rpx;
margin-top: 5px;
}
}
</style>

View File

@ -16,8 +16,7 @@
</view>
<view class="flex-between mt-10 subtitle">
<view></view>
<u-button type="primary" text="查看" size="mini"
@click="fnView(item.SERVICE_COMPANY_USER_MAP_ID)"></u-button>
<u-button type="primary" text="查看" size="mini" class="bth-mini" @click="fnView(item.SERVICE_COMPANY_USER_MAP_ID)"></u-button>
</view>
</view>
</u-list-item>
@ -42,29 +41,29 @@ export default {
onLoad() {
this.resetList()
},
methods: {
async getData() {
methods:{
async getData(){
let resData = await getServiceUnitList({
showCount: this.pageSize,
currentPage: this.currentPage,
});
this.list = [...this.list, ...resData.varList];
this.list = [...this.list,...resData.varList];
this.totalPage = resData.page.totalPage;
},
resetList() {
this.pageSize = 10
this.currentPage = 1
this.pageSize= 10
this.currentPage= 1
this.list = []
this.getData()
},
scrolltolower() {
this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData();
if(this.totalPage >= this.currentPage) this.getData();
},
fnView(SERVICE_COMPANY_USER_MAP_ID) {
fnView(SERVICE_COMPANY_USER_MAP_ID){
uni.$u.route({
url: '/pages/service_unit_management/view',
params: {
params:{
SERVICE_COMPANY_USER_MAP_ID
}
})

View File

@ -20,7 +20,7 @@ export default {
data() {
return {
SERVICE_COMPANY_USER_MAP_ID: '',
info: {}
info:{}
}
},
onLoad(query) {
@ -30,7 +30,7 @@ export default {
methods: {
async fnGetData() {
let resData = await getServiceUnitView({
SERVICE_COMPANY_USER_MAP_ID: this.SERVICE_COMPANY_USER_MAP_ID
SERVICE_COMPANY_USER_MAP_ID:this.SERVICE_COMPANY_USER_MAP_ID
})
this.info = resData.pd
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -15,6 +15,50 @@
height: 507rpx;
position: relative;
overflow: hidden;
.wui-bar{
display: flex;
align-items: center;
min-height: 100rpx;
justify-content: flex-end;
z-index: 9999;
position: absolute;
width: 100%;
.search-form{
background: rgba(255,255,255,0.2);
border-radius: 100rpx;
flex: 1;
height: 60rpx;
line-height: 60rpx;
font-size: 24rpx;
color: #333333;
display: flex;
align-items: center;
margin: 0 30rpx;
padding: 0 30rpx;
.cuIcon-search{
color: rgba(255,255,255,0.5);
margin-right: 16rpx;
font-size: 28rpx;
}
input{
color: rgba(255,255,255,0.5);
flex: 1;
padding-right: 30rpx;
height: 64rpx;
line-height: 64rpx;
font-size: 26rpx;
background-color: transparent;
.phcolor{
color: rgba(255,255,255,0.5);
}
}
}
.icon-ui {
color: #fff;
font-size: 42rpx;
margin-right: 22rpx;
}
}
.banner_img{
z-index: 1;
width: 100%;

View File

@ -1,125 +1,134 @@
.ml-10 {
.ml-10{
margin-left: 20rpx !important;
}
.mt-10 {
.mt-10{
margin-top: 20rpx !important;
}
.mb-10 {
.mb-10{
margin-bottom: 20rpx !important;
}
.mr-10 {
.mr-10{
margin-right: 20rpx !important;
}
.m-10 {
.m-10{
margin: 20rpx !important;
}
.p-10 {
.p-10{
padding: 20rpx !important;
}
.pl-10 {
.pl-10{
padding-left: 20rpx !important;
}
.pr-10 {
.pr-10{
padding-right: 20rpx !important;
}
.pt-10 {
.pt-10{
padding-top: 20rpx !important;
}
.pb-10 {
.pb-10{
padding-bottom: 20rpx !important;
}
.w100 {
.w100{
width: 100%;
}
.flex1 {
.flex1{
flex: 1;
}
.pr {
.pr{
position: relative;
}
.border {
.border{
border: 1px solid #e5e5e5;
}
.content {
position: relative;
min-height: 100vh;
background-color: $uni-bg-color-grey;
}
.card {
.card{
padding: 20rpx;
background-color: #FFFFFF;
}
.search {
.search{
border-bottom: 1px solid #ccc;
display: flex;
flex-direction: row;
.u-text {
.u-text{
width: 100rpx !important;
flex: none !important;
}
.u-button {
height: 68rpx !important;
}
.u-input__content__field-wrapper__field {
.u-input__content__field-wrapper__field{
height: 42rpx !important;
}
}
.flex-between {
.bth-mini{
width: auto !important;
border-radius: 15rpx !important;
margin-left: unset;
margin-right: unset;
}
.bth{
flex: 1;
border-radius: 15rpx !important;
margin-left: unset;
margin-right: unset;
}
.flex-between{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.flex-end {
.flex-end{
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.flex-warp {
.flex-warp{
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.main-title {
.main-title{
color: #333333;
font-size: 30rpx;
}
.subtitle {
.subtitle{
color: #888888;
font-size: 26rpx;
}
.title {
.view-title{
border-left: 8rpx solid #1d82fe;
.u-text{
padding-left: 10rpx;
color: #353535 !important;
}
}
.title{
font-weight: bold;
color: #000000;
font-size: 28rpx;
}
.required {
&:before {
.title-none{
.u-cell__body__content,.u-cell__title{
display: none !important;
}
}
.title-show{
.u-cell__body__content,.u-cell__title{
display: flex !important;
}
}
.flex-none{
display: block;
.u-cell__body{
display: block !important;
}
}
.required{
&:before{
content: '*';
position: absolute;
left: 0;
@ -128,3 +137,18 @@
font-weight: normal;
}
}
.form-item-block{
.u-form-item__body{
display: block !important;
.u-form-item__body__left{
width: 100% !important;
}
.u-form-item__body__right{
.u-form-item__body__right__content__slot{
justify-content: flex-start;
position: relative;
margin-left: 20rpx;
}
}
}
}