Compare commits

..

No commits in common. "e76bb4df087ba6146caccdbc4f275db14ec887f9" and "2cc9780c9f70dc6562356f2a4a2d77aa60fd86b0" have entirely different histories.

33 changed files with 4029 additions and 4562 deletions

View File

@ -2,8 +2,8 @@ import {post, upload, uploads} from "../utils/request";
import {setSecurityMeasures} from "@/utils/submitHomeworkProcess"; import {setSecurityMeasures} from "@/utils/submitHomeworkProcess";
export const submitLogin = (params) => post("/app/admin/check", params) // 登录 export const submitLogin = (params) => post("/app/admin/check", params) // 登录
export const getIDCardDeduplication = (params) => post("/app/user/goCheck", params) // 身份证去重 export const getIDCardDeduplication = (params) => post("/app/user/hasCardIdForApp", params) // 身份证去重
export const getUserDeduplication = (params) => post("/app/user/goCheck", params) // 用户名去重 export const getUserDeduplication = (params) => post("/app/user/hasUserNameForApp", params) // 用户名去重
export const getPhoneNumberDeduplication = (params) => post("/app/user/hasPhoneForApp", params) // 手机号去重 export const getPhoneNumberDeduplication = (params) => post("/app/user/hasPhoneForApp", params) // 手机号去重
export const setRegister = (params) => post("/app/admin/register", params) // 注册 export const setRegister = (params) => post("/app/admin/register", params) // 注册
export const setForgotPassword = (params) => post("/app/admin/forgetPassword", params) // 忘记密码 export const setForgotPassword = (params) => post("/app/admin/forgetPassword", params) // 忘记密码
@ -28,8 +28,8 @@ export const getUserInfo = (params) => post("/app/user/getDetailByUserIdAndCorpI
export const setUserInfo = (params) => post("/app/user/edit", params) //修改用户信息 export const setUserInfo = (params) => post("/app/user/edit", params) //修改用户信息
export const getCertificateInformationList = (params) => post("/app/specialUser/list", params) //证书信息列表 export const getCertificateInformationList = (params) => post("/app/specialUser/list", params) //证书信息列表
export const getCertificateInformationView = (params) => post("/app/specialUser/goEdit", params) //证书信息查看 export const getCertificateInformationView = (params) => post("/app/specialUser/goEdit", params) //证书信息查看
export const setCertificateInformationAdd = (params) => uploads("/app/specialUser/add", params) //证书信息添加 export const setCertificateInformationAdd = (params) => upload("/app/specialUser/add", params) //证书信息添加
export const setCertificateInformationEdit = (params) => uploads("/app/specialUser/edit", params) //证书信息修改 export const setCertificateInformationEdit = (params) => upload("/app/specialUser/edit", params) //证书信息修改
export const setCertificateInformationEditPost = (params) => post("/app/specialUser/edit", params) //证书信息修改 export const setCertificateInformationEditPost = (params) => post("/app/specialUser/edit", params) //证书信息修改
export const getDeptTree = (params) => post("/api/department/listzTree", params) //用户信息 export const getDeptTree = (params) => post("/api/department/listzTree", params) //用户信息
export const getEMPLOYMENTAPPLYMANAGEMENTID = (params) => post("/app/user/getEMPLOYMENTAPPLYMANAGEMENTID", export const getEMPLOYMENTAPPLYMANAGEMENTID = (params) => post("/app/user/getEMPLOYMENTAPPLYMANAGEMENTID",

View File

@ -1,6 +1,6 @@
<template> <template>
<view class="empty"> <view class="empty">
<u--image :showLoading="true" src="/static/svg/empty.svg" width="750rpx" height="500rpx"></u--image> <u--image :showLoading="true" src="/static/svg/empty.svg" width="750upx" height="500upx"></u--image>
<view class="empty-text">{{ message }}</view> <view class="empty-text">{{ message }}</view>
</view> </view>
</template> </template>
@ -24,10 +24,10 @@ export default {
align-items: center; align-items: center;
position: relative; position: relative;
.empty-text{ .empty-text{
font-size: 30rpx; font-size: 30upx;
color: $uni-text-color-placeholder; color: $uni-text-color-placeholder;
position: absolute; position: absolute;
top: 400rpx; top: 400upx;
} }
} }
</style> </style>

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

@ -53,7 +53,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.handCenter { .handCenter {
border: 4rpx dashed #e9e9e9; border: 4upx dashed #e9e9e9;
height: 80vh; height: 80vh;
overflow: hidden; overflow: hidden;
box-sizing: border-box; box-sizing: border-box;

View File

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

View File

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

View File

@ -2,7 +2,7 @@
<view class="content"> <view class="content">
<view class="card"> <view class="card">
<u--form labelPosition="left" :model="form" :rules="rules" ref="form" labelWidth="100px"> <u--form labelPosition="left" :model="form" :rules="rules" ref="form" labelWidth="100px">
<u-form-item label="证书正面图片" prop="fileList" borderBottom required> <u-form-item label="证书图片" prop="fileList" borderBottom required>
<u-upload <u-upload
:fileList="form.fileList" :fileList="form.fileList"
@afterRead="fnAfterRead" @afterRead="fnAfterRead"
@ -11,15 +11,6 @@
previewFullImage previewFullImage
></u-upload> ></u-upload>
</u-form-item> </u-form-item>
<u-form-item label="证书反面图片" prop="fileListBack" borderBottom required>
<u-upload
:fileList="form.fileListBack"
@afterRead="fnAfterRead1"
@delete="fnDeletePic1"
:maxCount="1"
previewFullImage
></u-upload>
</u-form-item>
<u-form-item label="姓名" prop="NAME" borderBottom required> <u-form-item label="姓名" prop="NAME" borderBottom required>
<u--input v-model="form.NAME" border="none" disabled disabledColor="#ffffff"></u--input> <u--input v-model="form.NAME" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
@ -30,8 +21,7 @@
<u--input v-model="form.PHONE" border="none" disabled disabledColor="#ffffff"></u--input> <u--input v-model="form.PHONE" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="身份证号码" prop="CARD_ID" borderBottom required> <u-form-item label="身份证号码" prop="CARD_ID" borderBottom required>
<u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" disabled <u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" disabled disabledColor="#ffffff"></u--input>
disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="证书类型" prop="CER_TYPE_NAME" borderBottom required @click="fnShowCertificateType"> <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> <u--input v-model="form.CER_TYPE_NAME" border="none" disabled disabledColor="#ffffff"></u--input>
@ -49,12 +39,10 @@
<u-form-item label="工种" prop="JOBS_TYPE" borderBottom required> <u-form-item label="工种" prop="JOBS_TYPE" borderBottom required>
<u--input v-model="form.JOBS_TYPE" border="none" disabledColor="#ffffff"></u--input> <u--input v-model="form.JOBS_TYPE" border="none" disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
<u-form-item v-if="form.CER_TYPE_NAME === ''" label="作业类别" prop="specialName" borderBottom required <u-form-item v-if="form.CER_TYPE_NAME === '特种作业'" label="作业类别" prop="specialName" borderBottom required @click="fnShowCertificateTypeSpe">
@click="fnShowCertificateTypeSpe">
<u--input v-model="form.specialName" border="none" disabled disabledColor="#ffffff"></u--input> <u--input v-model="form.specialName" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
<u-form-item v-if="form.CER_TYPE_NAME === ''" label="操作项目" prop="operationName" borderBottom <u-form-item v-if="form.CER_TYPE_NAME === '特种作业'" label="操作项目" prop="operationName" borderBottom required @click="fnShowCertificateTypeOpe">
required @click="fnShowCertificateTypeOpe">
<u--input v-model="form.operationName" border="none" disabled disabledColor="#ffffff"></u--input> <u--input v-model="form.operationName" border="none" disabled disabledColor="#ffffff"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="有效期开始" prop="VALIDITY_TIME_START" borderBottom required <u-form-item label="有效期开始" prop="VALIDITY_TIME_START" borderBottom required
@ -83,9 +71,7 @@
@confirm="fnTermOfValidityEndConfirm" @cancel="fnShowTermOfValidityEnd"></u-datetime-picker> @confirm="fnTermOfValidityEndConfirm" @cancel="fnShowTermOfValidityEnd"></u-datetime-picker>
<u-datetime-picker :show="showReviewTime" v-model="reviewTimeValue" mode="date" <u-datetime-picker :show="showReviewTime" v-model="reviewTimeValue" mode="date"
@confirm="fnReviewTimeConfirm" @cancel="fnShowReviewTime"></u-datetime-picker> @confirm="fnReviewTimeConfirm" @cancel="fnShowReviewTime"></u-datetime-picker>
<view class="mt-10"> <u-button type="primary" text="保 存" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
<u-button type="primary" text="保 存" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view> </view>
</view> </view>
</template> </template>
@ -119,17 +105,16 @@ export default {
reviewTimeValue: new Date().toString(), reviewTimeValue: new Date().toString(),
form: { form: {
fileList: [], fileList: [],
fileListBack: [],
NAME: '', NAME: '',
SEX_NAME: '', SEX_NAME: '',
PHONE: '', PHONE: '',
CARD_ID: '', CARD_ID: '',
CER_TYPE: '', CER_TYPE: '',
CER_TYPE_NAME: '', CER_TYPE_NAME: '',
CERTIFICATE: '', CERTIFICATE:'',
JOBS_TYPE: '', JOBS_TYPE:'',
SPECIAL_TYPE: '', SPECIAL_TYPE:'',
OPERATION_TYPE: '', OPERATION_TYPE:'',
SPECIAL_NUMBER: '', SPECIAL_NUMBER: '',
ISSUING_AUTHORITY: '', ISSUING_AUTHORITY: '',
VALIDITY_TIME_START: '', VALIDITY_TIME_START: '',
@ -137,63 +122,95 @@ export default {
REVIEW_TIME: '' REVIEW_TIME: ''
}, },
rules: { rules: {
fileList: { // fileList: {
type: 'array', // type: 'array',
required: true, // required: true,
message: '请上传证书图片', // message: '',
trigger: ['change'] // trigger: ['change']
}, // },
fileListBack: { // NAME: {
type: 'array', // required: true,
required: true, // message: '',
message: '请上传证书图片', // trigger: ['blur']
trigger: ['change'] // },
}, // SEX_NAME: {
CER_TYPE_NAME: { // required: true,
required: true, // message: '',
message: '请选择证书类型', // trigger: ['change']
trigger: ['change'] // },
}, // PHONE: [
CERTIFICATE: { // {
required: true, // required: true,
message: '请填写证书名称', // message: '',
trigger: ['change'] // trigger: ['blur']
}, // },
SPECIAL_NUMBER: { // {
required: true, // validator: (rule, value, callback) => {
message: '请填写证书编号', // return uni.$u.test.mobile(value);
trigger: ['blur'] // },
}, // message: '',
JOBS_TYPE: { // trigger: ['blur'],
required: true, // },
message: '请填写工种', // ],
trigger: ['change'] // CARD_ID: [
}, // {
specialName: { // required: true,
required: true, // message: '',
message: '请选择作业类别', // trigger: ['blur']
trigger: ['change'] // },
}, // {
operationName: { // validator: (rule, value, callback) => {
required: true, // return uni.$u.test.idCard(value);
message: '请选择操作项目', // },
trigger: ['change'] // message: '',
}, // trigger: ['blur'],
ISSUING_AUTHORITY: { // },
required: true, // ],
message: '请填写发证机关', // CER_TYPE_NAME: {
trigger: ['blur'] // required: true,
}, // message: '',
VALIDITY_TIME_START: { // trigger: ['change']
required: true, // },
message: '请选择有效期开始时间', // CERTIFICATE: {
trigger: ['change'] // required: true,
}, // message: '',
VALIDITY_TIME_END: { // trigger: ['change']
required: true, // },
message: '请选择有效期结束时间', // SPECIAL_NUMBER: {
trigger: ['change'] // required: true,
}, // message: '',
// trigger: ['blur']
// },
// JOBS_TYPE: {
// required: true,
// message: '',
// trigger: ['change']
// },
// specialName: {
// required: true,
// message: '',
// trigger: ['change']
// },
// operationName: {
// required: true,
// message: '',
// trigger: ['change']
// },
// ISSUING_AUTHORITY: {
// required: true,
// message: '',
// trigger: ['blur']
// },
// VALIDITY_TIME_START: {
// required: true,
// message: '',
// trigger: ['change']
// },
// VALIDITY_TIME_END: {
// required: true,
// message: '',
// trigger: ['change']
// },
REVIEW_TIME: { REVIEW_TIME: {
required: true, required: true,
message: '请选择复审时间', message: '请选择复审时间',
@ -226,22 +243,15 @@ export default {
}, },
methods: { methods: {
async fnGetData() { async fnGetData() {
if (this.SPECIAL_USER_ID) { if(this.SPECIAL_USER_ID){
let resData = await getCertificateInformationView({ let resData = await getCertificateInformationView({
SPECIAL_USER_ID: this.SPECIAL_USER_ID SPECIAL_USER_ID:this.SPECIAL_USER_ID
}) })
this.form = {...this.form, ...resData.pd, CER_TYPE_NAME: resData.pd.typeName} this.form = {...this.form, ...resData.pd,CER_TYPE_NAME:resData.pd.typeName}
this.$set(this.form, 'fileList', [{ this.$set(this.form,'fileList',[{url:this.$filePath + resData.pd.FILEPATH,FILEPATH:this.$filePath + resData.pd.FILEPATH}])
url: this.$filePath + resData.pd.FILEPATH, let resDatares = await getDataDictionary({DICTIONARIES_ID:this.form.SPECIAL_TYPE})
FILEPATH: this.$filePath + resData.pd.FILEPATH this.certificateTypeColumnsOpe = [resDatares.list]
}]) }else {
this.$set(this.form, 'fileListBack', [{
url: this.$filePath + resData.pd.FILEPATH_BACK,
FILEPATH: this.$filePath + resData.pd.FILEPATH_BACK
}])
let resDatares = await getDataDictionary({DICTIONARIES_ID: this.form.SPECIAL_TYPE})
this.certificateTypeColumnsOpe = [resDatares.list]
} else {
let resData = await getUserInfo({ let resData = await getUserInfo({
CORPINFO_ID: this.userInfo.CORPINFO_ID, CORPINFO_ID: this.userInfo.CORPINFO_ID,
}) })
@ -249,26 +259,26 @@ export default {
this.fnCardIdDisassembly(this.form.CARD_ID) this.fnCardIdDisassembly(this.form.CARD_ID)
this.fnCardIdDisassembly(this.form.CARD_ID) this.fnCardIdDisassembly(this.form.CARD_ID)
} }
if (this.form.SEX_NAME === '0') { if (this.form.SEX_NAME == '0') {
this.form.SEX_NAME = '男' this.form.SEX_NAME = '男'
} else if (this.form.SEX_NAME === '1') { } else if (this.form.SEX_NAME == '1') {
this.form.SEX_NAME = '女' this.form.SEX_NAME = '女'
} }
}, },
async fnGetDataDictionary() { async fnGetDataDictionary(){
let resData = await getDataDictionary({DICTIONARIES_ID: '6f87965751b84311b066484ac93c8077'}) let resData = await getDataDictionary({DICTIONARIES_ID:'6f87965751b84311b066484ac93c8077'})
this.certificateTypeColumns = [resData.list] this.certificateTypeColumns = [resData.list]
}, },
async fnGetDataDictionaryJobs() { async fnGetDataDictionaryJobs(){
let resData = await getDataDictionary({DICTIONARIES_ID: '55484e491a5e442d839c4595380713ec'}) let resData = await getDataDictionary({DICTIONARIES_ID:'55484e491a5e442d839c4595380713ec'})
this.certificateTypeColumnsJobs = [resData.list] this.certificateTypeColumnsJobs = [resData.list]
}, },
async fnGetDataDictionarySpe() { async fnGetDataDictionarySpe(){
let resData = await getDataDictionary({DICTIONARIES_ID: 'f4c3890d06d54904b32986cb6428ed4f'}) let resData = await getDataDictionary({DICTIONARIES_ID:'f4c3890d06d54904b32986cb6428ed4f'})
this.certificateTypeColumnsSpe = [resData.list] this.certificateTypeColumnsSpe = [resData.list]
}, },
async fnGetDataDictionaryOpe() { async fnGetDataDictionaryOpe(){
let resData = await getDataDictionary({DICTIONARIES_ID: this.form.SPECIAL_TYPE}) let resData = await getDataDictionary({DICTIONARIES_ID:this.form.SPECIAL_TYPE})
this.certificateTypeColumnsOpe = [resData.list] this.certificateTypeColumnsOpe = [resData.list]
}, },
fnCardIdDisassembly(event) { fnCardIdDisassembly(event) {
@ -301,13 +311,13 @@ export default {
this.form.specialName = e.value[0].NAME this.form.specialName = e.value[0].NAME
this.form.SPECIAL_TYPE = e.value[0].DICTIONARIES_ID this.form.SPECIAL_TYPE = e.value[0].DICTIONARIES_ID
this.fnShowCertificateTypeSpe() this.fnShowCertificateTypeSpe()
this.fnGetDataDictionaryOpe(); this.fnGetDataDictionaryOpe();
this.form.operationName = ''; this.form.operationName ='';
this.form.OPERATION_TYPE = ''; this.form.OPERATION_TYPE= '';
}, },
fnCertificateTypeConfirmOpe(e) { fnCertificateTypeConfirmOpe(e) {
this.form.operationName = e.value[0].NAME 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() this.fnShowCertificateTypeOpe()
}, },
fnShowTermOfValidityStart() { fnShowTermOfValidityStart() {
@ -335,102 +345,55 @@ export default {
this.form.REVIEW_TIME = uni.$u.timeFormat(event.value, 'yyyy-mm-dd') this.form.REVIEW_TIME = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
}, },
fnAfterRead(event) { fnAfterRead(event) {
var houzhui = event.file.url.replace(/.+\./, ""); var houzhui = event.file.url.replace(/.+\./,"");
console.log(houzhui); console.log(houzhui);
if (houzhui == "jpg" || houzhui == "png") { if(houzhui=="jpg"||houzhui=="png"){
this.form.fileList.push(event.file) this.form.fileList.push(event.file)
} else { }else{
uni.$u.toast('图片格式不正确请上传jpg格式图片或者png格式图片') uni.$u.toast('图片格式不正确请上传jpg格式图片或者png格式图片')
this.form.fileList = [] this.form.fileList=[]
} }
},
fnAfterRead1(event) {
var houzhui = event.file.url.replace(/.+\./, "");
console.log(houzhui);
if (houzhui == "jpg" || houzhui == "png") {
this.form.fileListBack.push(event.file)
} else {
uni.$u.toast('图片格式不正确请上传jpg格式图片或者png格式图片')
this.form.fileListBack = []
}
}, },
fnDeletePic(event) { fnDeletePic(event) {
this.form.fileList.splice(event.index, 1) this.form.fileList.splice(event.index, 1)
}, },
fnDeletePic1(event) {
this.form.fileListBack.splice(event.index, 1)
},
async fnSubmit() { async fnSubmit() {
console.info(this.$refs) console.info(this.$refs)
this.$refs.form.validate().then(async () => { this.$refs.form.validate().then(async () => {
if (!this.SPECIAL_USER_ID) { if(!this.SPECIAL_USER_ID){
let files = []
files.push({
name: 'FILEPATH',
file: this.form.fileList[0],
uri: this.form.fileList[0].url,
})
files.push({
name: 'FILEPATH_BACK',
file: this.form.fileListBack[0],
uri: this.form.fileListBack[0].url,
})
if (files.length !== 2) {
uni.$u.toast('请上传证书正反面')
return
}
await setCertificateInformationAdd({ await setCertificateInformationAdd({
files: files, filePath: this.form.fileList[0].url,
name: 'file',
formData: { formData: {
...this.form ...this.form
} }
}) })
} else { }else {
if (!this.form.fileList[0].FILEPATH || !this.form.fileListBack[0].FILEPATH) { if (!this.form.fileList[0].FILEPATH) {
uni.$u.toast('1')
let files = []
if (!this.form.fileList[0].FILEPATH) {
files.push({
name: 'FILEPATH',
file: this.form.fileList[0],
uri: this.form.fileList[0].url,
})
}
if (!this.form.fileListBack[0].FILEPATH) {
files.push({
name: 'FILEPATH_BACK',
file: this.form.fileListBack[0],
uri: this.form.fileListBack[0].url,
})
}
await setCertificateInformationEdit({ await setCertificateInformationEdit({
files: files, filePath: this.form.fileList[0].url,
name: 'file',
formData: { formData: {
...this.form ...this.form
} }
}) })
} else { } else {
this.form.fileMark = '1', this.form.fileMark = '1',
await setCertificateInformationEditPost({ await setCertificateInformationEditPost({
...this.form ...this.form
}) })
} }
} }
// uni.$u.toast('') uni.$u.toast('保存成功')
setTimeout(() => { setTimeout(()=>{
uni.navigateBack() uni.navigateBack()
}, 2000) },2000)
}).catch((e) => { }).catch((e) => {
console.info(e) console.info(e)
// uni.$u.toast('') uni.$u.toast('请补全必填项')
uni.$u.toast(e)
}) })
} }
}, },

View File

@ -4,7 +4,7 @@
<u-list-item v-for="(item, index) in list" :key="index"> <u-list-item v-for="(item, index) in list" :key="index">
<view style="display: flex;align-items: center;justify-content: space-between;"> <view style="display: flex;align-items: center;justify-content: space-between;">
<view> <view>
<u-image width="200rpx" height="200rpx" :src="$filePath + item.FILEPATH"></u-image> <u-image width="200upx" height="200upx" :src="$filePath + item.FILEPATH"></u-image>
</view> </view>
<view class="ml-10" style="flex: 1;"> <view class="ml-10" style="flex: 1;">
<view class="flex-between main-title"> <view class="flex-between main-title">
@ -19,12 +19,8 @@
<view class="flex-between mt-10 subtitle"> <view class="flex-between mt-10 subtitle">
<view></view> <view></view>
<view class="flex-between"> <view class="flex-between">
<u-button type="primary" text="编辑" size="mini" <u-button type="primary" text="编辑" size="mini" class="bth-mini" @click="fnEdit(item.SPECIAL_USER_ID)"></u-button>
@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 class="ml-10">
<u-button type="primary" text="查看" size="mini"
@click="fnView(item.SPECIAL_USER_ID)"></u-button>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -32,21 +28,16 @@
</u-list-item> </u-list-item>
</u-list> </u-list>
<empty v-else></empty> <empty v-else></empty>
<fab-button @click="fnEdit"/>
</view> </view>
</template> </template>
<script> <script>
import {getCertificateInformationList, getCertificateInformationView} from "../../api"; import {getCertificateInformationList, getCertificateInformationView} from "../../api";
import FabButton from '@/components/fab_button/index.vue'
export default { export default {
components: {
FabButton,
},
data() { data() {
return { return {
SPECIAL_USER_ID: '', SPECIAL_USER_ID:'',
info: {}, info: {},
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
@ -61,6 +52,11 @@ export default {
onShow() { onShow() {
this.resetList() this.resetList()
}, },
onNavigationBarButtonTap(e) {
if (e.index === 0) {
this.fnEdit()
}
},
methods: { methods: {
async getData() { async getData() {
let resData = await getCertificateInformationList({ let resData = await getCertificateInformationList({
@ -83,7 +79,7 @@ export default {
fnView(SPECIAL_USER_ID) { fnView(SPECIAL_USER_ID) {
uni.$u.route({ uni.$u.route({
url: '/pages/certificate_information/view', url: '/pages/certificate_information/view',
params: { params:{
SPECIAL_USER_ID SPECIAL_USER_ID
} }
}) })
@ -91,7 +87,7 @@ export default {
fnEdit(SPECIAL_USER_ID) { fnEdit(SPECIAL_USER_ID) {
uni.$u.route({ uni.$u.route({
url: '/pages/certificate_information/add', url: '/pages/certificate_information/add',
params: { params:{
SPECIAL_USER_ID SPECIAL_USER_ID
} }
}) })

View File

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

View File

@ -1,81 +1,78 @@
<template> <template>
<view class="content"> <view class="content">
<view class="card"> <view class="card">
<u-cell-group> <u-cell-group>
<u-cell title="照片"> <u-cell title="照片">
<template #value> <template #value>
<u--image :src="info.PHOTO" shape="circle" width="100rpx" height="100rpx" <u--image :src="info.PHOTO" shape="circle" width="100upx" height="100upx"
@click="fnPreview(info.PHOTO)"></u--image> @click="fnPreview(info.PHOTO)"></u--image>
</template> </template>
</u-cell> </u-cell>
<u-cell title="姓名" :value="info.NAME"></u-cell> <u-cell title="姓名" :value="info.NAME"></u-cell>
<u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'"> <u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'">
</u-cell> </u-cell>
<u-cell title="出生年月" :value="info.DATE_OF_BIRTH"></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.AGE"></u-cell>
<u-cell title="身份证" :value="info.CARD_ID"></u-cell> <u-cell title="身份证" :value="info.CARD_ID"></u-cell>
<u-cell title="就职单位相关方单位" :value="info.RELEVANT_UNIT_NAME"></u-cell> <u-cell title="就职单位相关方单位" :value="info.RELEVANT_UNIT_NAME"></u-cell>
<u-cell title="岗位名称" :value="info.POST_ID"></u-cell> <u-cell title="岗位名称" :value="info.POST_ID"></u-cell>
<u-cell title="联系电话" :value="info.PHONE"></u-cell> <u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="人员类型" :value="info.ISFLOW === '1' ? '流动人员' : '固定人员'"> <u-cell title="人员类型" :value="info.ISFLOW === '1' ? '流动人员' : '固定人员'">
</u-cell> </u-cell>
<u-cell title="二维码" <u-cell title="二维码" v-show="!CODE_TYPE && info.STATUS === '2' && info.CORPINFO_ID">
v-if="info.CORPINFO_ID && cleanCode && (info.DEPART_STATE == '0' || info.DEPART_STATE == '-1')"> <template #value>
<template #value> <u--image :src="info.code" width="100upx" height="100upx" @click="fnPreview(info.code)">
<u--image :src="info.code" width="100rpx" height="100rpx" @click="fnPreview(info.code)"> </u--image>
</u--image> </template>
</template> </u-cell>
</u-cell> </u-cell-group>
</u-cell-group> </view>
</view> </view>
</view>
</template> </template>
<script> <script>
import { import {
getElectronicWorkCard, getElectronicWorkCard,
getElectronicWorkCardQRCode getElectronicWorkCardQRCode
} from "../../api"; } from "../../api";
export default { export default {
data() { data() {
return { return {
info: {}, info: {},
USER_ID: '', USER_ID: '',
CODE_TYPE: '', CODE_TYPE: ''
cleanCode: '' }
} },
}, created() {
created() { this.fnGetData()
this.fnGetData() },
}, onLoad(query) {
onLoad(query) { this.USER_ID = query.USER_ID
this.USER_ID = query.USER_ID this.CODE_TYPE = query.CODE_TYPE
this.CODE_TYPE = query.CODE_TYPE },
}, methods: {
methods: { async fnGetData() {
async fnGetData() { var params = {}
var params = {} if (this.CODE_TYPE) {
if (this.CODE_TYPE) { params.USER_ID = this.USER_ID
params.USER_ID = this.USER_ID }
} let resData = await getElectronicWorkCard(params)
let resData = await getElectronicWorkCard(params) let {
let { code
code } = await getElectronicWorkCardQRCode(params)
} = await getElectronicWorkCardQRCode(params) this.info = resData.pd
this.info = resData.pd console.log(this.$filePath + resData.pd.PHOTO)
console.log(this.$filePath + resData.pd.PHOTO) this.info.PHOTO = this.$filePath + resData.pd.PHOTO
this.info.PHOTO = this.$filePath + resData.pd.PHOTO this.info.code = 'data:image/jpg;base64,' + code
this.info.code = 'data:image/jpg;base64,' + code },
this.cleanCode = code fnPreview(urls) {
}, uni.previewImage({
fnPreview(urls) { urls: [urls]
uni.previewImage({ })
urls: [urls] }
}) },
} }
},
}
</script> </script>
<style scoped> <style scoped>

View File

@ -1,14 +1,14 @@
<template> <template>
<view class="content"> <view class="content">
<u-list @scrolltolower="scrolltolower" v-if="list.length > 0"> <u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
<u-list-item v-for="(item, index) in list" :key="index"> <u-list-item v-for="(item, index) in list" :key="index">
<view> <view>
<view class="flex-between main-title"> <view class="flex-between main-title">
<text>单位名称{{ item.RELEVANT_UNIT_NAME }}</text> <text>单位名称{{ item.RELEVANT_UNIT_NAME }}</text>
</view> </view>
<view class="flex-between mt-10 subtitle" v-show="item.START_DATE"> <view class="flex-between mt-10 subtitle" v-show="item.START_DATE">
<text>就职时间{{ item.START_DATE }}-{{ item.END_DATE || '至今' }}</text> <text>就职时间{{ item.START_DATE }}-{{ item.END_DATE || '至今' }}</text>
</view> </view>
<view class="flex-between mt-10 subtitle" v-show="item.DEPART_STATE"> <view class="flex-between mt-10 subtitle" v-show="item.DEPART_STATE">
<text>就职状态 <text>就职状态
<template v-if="item.DEPART_STATE === '0'"></template> <template v-if="item.DEPART_STATE === '0'"></template>
@ -18,102 +18,100 @@
<template v-if="item.DEPART_STATE === '3'"></template> <template v-if="item.DEPART_STATE === '3'"></template>
</text> </text>
</view> </view>
<view class="flex-between mt-10 subtitle"> <view class="flex-between mt-10 subtitle">
<text>单位在职申请审核状态 <text>单位在职申请审核状态
<template v-if="item.AUDIT_STATE === '0'"></template> <template v-if="item.AUDIT_STATE === '0'"></template>
<template v-if="item.AUDIT_STATE === '1'"></template> <template v-if="item.AUDIT_STATE === '1'"></template>
<template v-if="item.AUDIT_STATE === '2'"></template> <template v-if="item.AUDIT_STATE === '2'"></template>
</text> </text>
</view> </view>
<view class="flex-between mt-10 subtitle" v-show="item.DEPART_STATE !== '0' && item.REVIEW_STATE"> <view class="flex-between mt-10 subtitle" v-show="item.DEPART_STATE !== '0' && item.REVIEW_STATE">
<text>单位离职申请审核状态 <text>单位离职申请审核状态
<template v-if="item.REVIEW_STATE === '0'"></template> <template v-if="item.REVIEW_STATE === '0'"></template>
<template v-if="item.REVIEW_STATE === '1'"></template> <template v-if="item.REVIEW_STATE === '1'"></template>
<template v-if="item.REVIEW_STATE === '2'"></template> <template v-if="item.REVIEW_STATE === '2'"></template>
</text> </text>
</view> </view>
<view class="flex-between mt-10 subtitle" v-if="item.AUDIT_REMARKS"> <view class="flex-between mt-10 subtitle" v-if="item.AUDIT_REMARKS">
<text>审核意见{{ item.AUDIT_REMARKS }} <text>审核意见{{ item.AUDIT_REMARKS }}
</text> </text>
</view> </view>
<view class="flex-between mt-10 subtitle"> <view class="flex-between mt-10 subtitle">
<view></view> <view></view>
<view class="flex-between"> <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> @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" class="bth-mini ml-10"
<u-button type="primary" text="离职申请" size="mini" v-if="item.DEPART_STATE === '0'"
v-if="item.DEPART_STATE === '0'" @click="fnResignationApplication(item.EMPLOYMENT_APPLY_MANAGEMENT_ID,item.RELEVANT_UNIT_NAME)">
@click="fnResignationApplication(item.EMPLOYMENT_APPLY_MANAGEMENT_ID,item.RELEVANT_UNIT_NAME)"> </u-button>
</u-button> </view>
</view> </view>
</view> </view>
</view> </u-list-item>
</view> </u-list>
</u-list-item> <empty v-else></empty>
</u-list> </view>
<empty v-else></empty>
</view>
</template> </template>
<script> <script>
import { import {
getEmployedBy getEmployedBy
} from "../../api"; } from "../../api";
export default { export default {
data() { data() {
return { return {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
totalPage: 0, totalPage: 0,
list: [], list: [],
} }
}, },
onShow() { onShow() {
this.resetList() this.resetList()
}, },
methods: { methods: {
async getData() { async getData() {
let resData = await getEmployedBy({ let resData = await getEmployedBy({
showCount: this.pageSize, showCount: this.pageSize,
currentPage: this.currentPage, currentPage: this.currentPage,
}); });
this.list = [...this.list, ...resData.varList]; this.list = [...this.list, ...resData.varList];
this.totalPage = resData.page.totalPage; this.totalPage = resData.page.totalPage;
}, },
resetList() { resetList() {
this.pageSize = 10 this.pageSize = 10
this.currentPage = 1 this.currentPage = 1
this.list = [] this.list = []
this.getData() this.getData()
}, },
scrolltolower() { scrolltolower() {
this.currentPage++; this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData(); if (this.totalPage >= this.currentPage) this.getData();
}, },
fnResignationApplication(EMPLOYMENT_APPLY_MANAGEMENT_ID, RELEVANT_UNIT_NAME) { fnResignationApplication(EMPLOYMENT_APPLY_MANAGEMENT_ID, RELEVANT_UNIT_NAME) {
uni.$u.route({ uni.$u.route({
url: '/pages/employed_by/resignation_application', url: '/pages/employed_by/resignation_application',
params: { params: {
EMPLOYMENT_APPLY_MANAGEMENT_ID, EMPLOYMENT_APPLY_MANAGEMENT_ID,
RELEVANT_UNIT_NAME RELEVANT_UNIT_NAME
} }
}) })
}, },
fnView(EMPLOYMENT_APPLY_MANAGEMENT_ID, CORPINFO_ID, DEPART_STATE) { fnView(EMPLOYMENT_APPLY_MANAGEMENT_ID, CORPINFO_ID, DEPART_STATE) {
uni.$u.route({ uni.$u.route({
url: '/pages/related_party_units/view', url: '/pages/related_party_units/view',
params: { params: {
EMPLOYMENT_APPLY_MANAGEMENT_ID, EMPLOYMENT_APPLY_MANAGEMENT_ID,
CORPINFO_ID, CORPINFO_ID,
DEPART_STATE DEPART_STATE
} }
}) })
} }
} }
} }
</script> </script>
<style scoped> <style scoped>

View File

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

View File

@ -1,9 +1,16 @@
<template> <template>
<view class="page"> <view class="page">
<!-- #ifdef APP-PLUS -->
<view class="status_bar"> <view class="status_bar">
<view class="top_view"></view> <view class="top_view"></view>
</view> </view>
<!-- #endif -->
<view class="wui_banner"> <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"> <view class="banner_img">
<image src="../../static/home-bg.png" mode=""></image> <image src="../../static/home-bg.png" mode=""></image>
</view> </view>
@ -27,8 +34,7 @@
</view> </view>
</view> </view>
<u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton" <u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText"
:cancelText="updateVersion.cancelText"
@cancel="modalCancel" @confirm="modalConfirm"> @cancel="modalCancel" @confirm="modalConfirm">
<view style="text-align: center;color:#606266"> <view style="text-align: center;color:#606266">
<rich-text :nodes="updateVersion.modalContent"></rich-text> <rich-text :nodes="updateVersion.modalContent"></rich-text>
@ -42,7 +48,7 @@ import updateVersion from "../../utils/updateVersion";
import {setRelatedPartyScanning} from "../../api"; import {setRelatedPartyScanning} from "../../api";
export default { export default {
mixins: [updateVersion], mixins:[updateVersion],
data() { data() {
return { return {
baseList: [ baseList: [
@ -88,18 +94,18 @@ export default {
this.fnUpdateVersion(false) this.fnUpdateVersion(false)
}, },
methods: { methods: {
fnScan() { fnScan(){
uni.scanCode({ uni.scanCode({
success: async (res) => { success: async (res) => {
let obj = JSON.parse(res.result) let obj =JSON.parse(res.result)
let type = obj[0].CODE_TYPE let type = obj[0].CODE_TYPE
if (type === '0') { if (type === '0') {
// type=0 // type=0
await setRelatedPartyScanning({CORPINFO_ID: obj[0].CORPINFO_ID}) await setRelatedPartyScanning({CORPINFO_ID:obj[0].CORPINFO_ID})
uni.$u.route({ uni.$u.route({
url: '/pages/related_party_units/add', url: '/pages/related_party_units/add',
params: { params:{
CORPINFO_ID: obj[0].CORPINFO_ID, CORPINFO_ID:obj[0].CORPINFO_ID,
RELEVANT_UNIT_NAME: obj[0].RELEVANT_UNIT_NAME RELEVANT_UNIT_NAME: obj[0].RELEVANT_UNIT_NAME
} }
}) })
@ -107,9 +113,9 @@ export default {
// type=1 // type=1
uni.$u.route({ uni.$u.route({
url: '/pages/electronic_work_card/index', url: '/pages/electronic_work_card/index',
params: { params:{
USER_ID: obj[0].USER_ID, USER_ID:obj[0].USER_ID,
CODE_TYPE: obj[0].CODE_TYPE CODE_TYPE:obj[0].CODE_TYPE
} }
}) })
} }

View File

@ -2,7 +2,7 @@
<view class="content1"> <view class="content1">
<view class="change-password"> <view class="change-password">
<u--form labelPosition="top" :model="form" :rules="rules" ref="form" labelWidth="100%" <u--form labelPosition="top" :model="form" :rules="rules" ref="form" labelWidth="100%"
:labelStyle="{color:'#333', fontSize:'34rpx', fontWeight:'bold'}"> :labelStyle="{color:'#333', fontSize:'34upx', fontWeight:'bold'}">
<u-form-item label="用户名" prop="USERNAME" borderBottom> <u-form-item label="用户名" prop="USERNAME" borderBottom>
<u--input v-model="form.USERNAME" border="none"></u--input> <u--input v-model="form.USERNAME" border="none"></u--input>
</u-form-item> </u-form-item>
@ -73,7 +73,7 @@ export default {
submitPassword() { submitPassword() {
this.$refs.form.validate().then(async () => { this.$refs.form.validate().then(async () => {
await setForgotPassword({ await setForgotPassword({
...this.form ...this.form
}) })
this.$refs.uToast.show({ this.$refs.uToast.show({
message: '修改成功', message: '修改成功',
@ -95,7 +95,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.change-password { .change-password {
background-color: #fff; background-color: #fff;
border-radius: 20rpx; border-radius: 20upx;
padding: 40rpx; padding: 40upx;
} }
</style> </style>

View File

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

View File

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

View File

@ -1,31 +1,31 @@
<template> <template>
<view class=""> <view class="">
<view class="about-us"> <view class="about-us">
<u-cell-group :border="false"> <u-cell-group :border="false">
<u-cell isLink url="/pages/mine/agreement/agreement"> <u-cell isLink url="/pages/mine/agreement/agreement">
<u-icon slot="icon" size="20" name="/static/svg/menu_yhxy.svg"></u-icon> <u-icon slot="icon" size="20" name="/static/svg/menu_yhxy.svg"></u-icon>
<view slot="title" class="title">用户服务协议</view> <view slot="title" class="title">用户服务协议</view>
</u-cell> </u-cell>
<u-cell isLink url="/pages/mine/privacy/privacy"> <u-cell isLink url="/pages/mine/privacy/privacy">
<u-icon slot="icon" size="20" name="/static/svg/menu_yszc.svg"></u-icon> <u-icon slot="icon" size="20" name="/static/svg/menu_yszc.svg"></u-icon>
<view slot="title" class="title">隐私协议</view> <view slot="title" class="title">隐私协议</view>
</u-cell> </u-cell>
</u-cell-group> </u-cell-group>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
export default {} export default {
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.about-us { .about-us {
background-color: #fff; background-color: #fff;
box-sizing: border-box; box-sizing: border-box;
line-height: 60rpx; line-height: 60rpx;
.title {
.title { }
} }
}
</style> </style>

View File

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

View File

@ -1,110 +1,110 @@
<template> <template>
<view class="content1"> <view class="content1">
<view class="change-password"> <view class="change-password">
<u--form labelPosition="top" :model="form" :rules="rules" ref="form" labelWidth="100%" <u--form labelPosition="top" :model="form" :rules="rules" ref="form" labelWidth="100%"
:labelStyle="{color:'#333', fontSize:'34rpx', fontWeight:'bold'}"> :labelStyle="{color:'#333', fontSize:'34upx', fontWeight:'bold'}">
<u-form-item label="原密码" prop="oldPwd" borderBottom> <u-form-item label="原密码" prop="oldPwd" borderBottom>
<u--input v-model="form.oldPwd" type="password" border="none"></u--input> <u--input v-model="form.oldPwd" type="password" border="none"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="新密码" prop="nowPwd" borderBottom> <u-form-item label="新密码" prop="nowPwd" borderBottom>
<u--input v-model="form.nowPwd" type="password" border="none"></u--input> <u--input v-model="form.nowPwd" type="password" border="none"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="确认新密码" prop="confirmPwd" borderBottom> <u-form-item label="确认新密码" prop="confirmPwd" borderBottom>
<u--input v-model="form.confirmPwd" type="password" border="none"></u--input> <u--input v-model="form.confirmPwd" type="password" border="none"></u--input>
</u-form-item> </u-form-item>
<u--text type="error" text="密码长度8~32位须包含数字、字母、符号至少2种或以上元素"></u--text> <u--text type="error" text="密码长度8~32位须包含数字、字母、符号至少2种或以上元素"></u--text>
<u-form-item> <u-form-item>
<u-button type="primary" shape="circle" text="确定" @click="$u.debounce(submitPassword, 1000, true)"> <u-button type="primary" shape="circle" text="确定" @click="$u.debounce(submitPassword, 1000, true)">
</u-button> </u-button>
</u-form-item> </u-form-item>
</u--form> </u--form>
</view> </view>
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
</view> </view>
</template> </template>
<script> <script>
import { import {
setUpdatePassword setUpdatePassword
} from "../../../api"; } from "../../../api";
export default { export default {
data() { data() {
return { return {
form: { form: {
oldPwd: '', oldPwd: '',
nowPwd: '', nowPwd: '',
confirmPwd: '', confirmPwd: '',
}, },
rules: { rules: {
oldPwd: [{ oldPwd: [{
required: true, required: true,
message: '请输入旧密码', message: '请输入旧密码',
trigger: 'blur' trigger: 'blur'
}, },
{ {
min: 8, min: 8,
message: '长度最少8个字符', message: '长度最少8个字符',
trigger: 'blur' trigger: 'blur'
}, },
], ],
nowPwd: [{ nowPwd: [{
required: true, required: true,
message: '请输入新密码', message: '请输入新密码',
trigger: 'blur' trigger: 'blur'
}, },
{ {
pattern: /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{8,32}$/, pattern: /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{8,32}$/,
message: '密码格式不正确', message: '密码格式不正确',
trigger: ['blur'] trigger: ['blur']
}, },
], ],
confirmPwd: [{ confirmPwd: [{
required: true, required: true,
message: '请再次输入新密码', message: '请再次输入新密码',
trigger: 'blur' trigger: 'blur'
}, },
{ {
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
return value === this.form.nowPwd return value === this.form.nowPwd
}, },
message: '两次输入密码不一致', message: '两次输入密码不一致',
trigger: 'blur', trigger: 'blur',
} }
], ],
}, },
} }
}, },
methods: { methods: {
submitPassword() { submitPassword() {
this.$refs.form.validate().then(async () => { this.$refs.form.validate().then(async () => {
await setUpdatePassword({ await setUpdatePassword({
PASSWORD: this.form.oldPwd, PASSWORD: this.form.oldPwd,
NEWPASSWORD: this.form.nowPwd, NEWPASSWORD: this.form.nowPwd,
USER_ID: this.$store.getters.getUserInfo.USER_ID, USER_ID: this.$store.getters.getUserInfo.USER_ID,
USERNAME: this.$store.getters.getUserInfo.USERNAME USERNAME: this.$store.getters.getUserInfo.USERNAME
}) })
this.$refs.uToast.show({ this.$refs.uToast.show({
message: '修改成功', message: '修改成功',
type: 'success', type: 'success',
complete: () => { complete: () => {
uni.reLaunch({ uni.reLaunch({
url: '/pages/login/login' url: '/pages/login/login'
}) })
} }
}) })
}).catch((error) => { }).catch((error) => {
this.$refs.uToast.error('请填写完整') this.$refs.uToast.error('请填写完整')
}) })
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.change-password { .change-password {
background-color: #fff; background-color: #fff;
border-radius: 20rpx; border-radius: 20upx;
padding: 40rpx; padding: 40upx;
} }
</style> </style>

View File

@ -1,189 +1,188 @@
<template> <template>
<view class=""> <view class="">
<view class="feedback"> <view class="feedback">
<u--input v-model="form.FEEDBACK_TITLE" placeholder="请输入标题" border="bottom" clearable></u--input> <u--input v-model="form.FEEDBACK_TITLE" placeholder="请输入标题" border="bottom" clearable></u--input>
<view class="feedback-type"> <view class="feedback-type">
<view class="item" v-for="(item, index) in feedbackType" :key="index" <view class="item" v-for="(item, index) in feedbackType" :key="index"
:class="{active:item.value === form.FEEDBACK_TYPE}" @click="form.FEEDBACK_TYPE = item.value"> :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="40upx" height="38upx"
<u--image :src="item.img" width="40rpx" height="38rpx"></u--image> style="margin-left: 70upx; margin-top: 20upx;"></u--image>
</view> <view style="margin-top: -40upx;">{{item.label}}</view>
<view style="margin-top: -40rpx;">{{ item.label }}</view> </view>
</view> </view>
</view> <view class="title">我要反馈</view>
<view class="title">我要反馈</view> <u--textarea v-model="form.FEEDBACK_CONTENT" maxlength="255" height="100" count confirmType="done"
<u--textarea v-model="form.FEEDBACK_CONTENT" maxlength="255" height="100" count confirmType="done" placeholder="请输入问题描述"></u--textarea>
placeholder="请输入问题描述"></u--textarea> <view class="title">
<view class="title"> <text>请提供相关问题的截图或照片</text>
<text>请提供相关问题的截图或照片</text> </view>
</view> <u-upload ref="aaa" capture="album" uploadIcon="plus" :fileList="form.fileList" @afterRead="afterRead"
<u-upload ref="aaa" capture="album" uploadIcon="plus" :fileList="form.fileList" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="4"></u-upload>
@delete="deletePic" name="1" multiple :maxCount="4"></u-upload> <u-button type="primary" text="提交" @click="$u.debounce(submitFeedback, 1000, true)"></u-button>
<u-button type="primary" text="提交" @click="$u.debounce(submitFeedback, 1000, true)"></u-button> </view>
</view> <u-toast ref="uToast"></u-toast>
<u-toast ref="uToast"></u-toast> </view>
</view>
</template> </template>
<script> <script>
import {setFeedbackAdd, setFeedbackUpload} from "../../../api"; import {setFeedbackAdd, setFeedbackUpload} from "../../../api";
export default { export default {
data() { data() {
return { return {
form: { form: {
FEEDBACK_TITLE: '', FEEDBACK_TITLE: '',
FEEDBACK_TYPE: '其他', FEEDBACK_TYPE: '其他',
FEEDBACK_CONTENT: '', FEEDBACK_CONTENT: '',
fileList: [], fileList: [],
urlList: [], urlList: [],
}, },
feedbackType: [{ feedbackType: [{
label: '系统错误', label: '系统错误',
value: '1', value: '1',
img: require('../../../static/images/fico1.png'), img: require('../../../static/images/fico1.png'),
}, },
{ {
label: '界面优化', label: '界面优化',
value: '2', value: '2',
img: require('../../../static/images/fico2.png'), img: require('../../../static/images/fico2.png'),
}, },
{ {
label: '设计缺陷', label: '设计缺陷',
value: '3', value: '3',
img: require('../../../static/images/fico3.png'), img: require('../../../static/images/fico3.png'),
}, },
{ {
label: '性能问题', label: '性能问题',
value: '4', value: '4',
img: require('../../../static/images/fico4.png'), img: require('../../../static/images/fico4.png'),
}, },
{ {
label: '其他问题', label: '其他问题',
value: '9', value: '9',
img: require('../../../static/images/fico5.png'), img: require('../../../static/images/fico5.png'),
}, },
] ]
} }
}, },
methods: { methods: {
// //
afterRead(event) { afterRead(event) {
this.form.fileList = [...this.form.fileList, ...event.file] this.form.fileList = [...this.form.fileList, ...event.file]
}, },
// //
deletePic(event) { deletePic(event) {
this.form.fileList = this.form.fileList.filter(item => item.url !== event.file.url) this.form.fileList = this.form.fileList.filter(item => item.url !== event.file.url)
}, },
// //
submitFeedback() { submitFeedback() {
if (!this.form.FEEDBACK_TITLE) { if (!this.form.FEEDBACK_TITLE) {
this.$refs.uToast.warning('为了更加方便我们排查,请输入标题') this.$refs.uToast.warning('为了更加方便我们排查,请输入标题')
return return
} }
if (!this.form.FEEDBACK_CONTENT) { if (!this.form.FEEDBACK_CONTENT) {
this.$refs.uToast.warning('为了更加方便我们排查,请输入问题描述') this.$refs.uToast.warning('为了更加方便我们排查,请输入问题描述')
return return
} }
if (this.form.fileList.length === 0) { if (this.form.fileList.length === 0) {
this.$refs.uToast.warning('为了更加方便我们排查,请上传问题截图或照片') this.$refs.uToast.warning('为了更加方便我们排查,请上传问题截图或照片')
return return
} }
let PromiseArr = []; let PromiseArr = [];
for (let i = 0; i < this.form.fileList.length; i++) { for (let i = 0; i < this.form.fileList.length; i++) {
PromiseArr.push(this.fnSetFeedbackUpload(this.form.fileList[i].url)) PromiseArr.push(this.fnSetFeedbackUpload(this.form.fileList[i].url))
} }
Promise.all(PromiseArr).then(async () => { Promise.all(PromiseArr).then(async () => {
await setFeedbackAdd({ await setFeedbackAdd({
...this.form, ...this.form,
USER_ID: this.$store.getters.getUserInfo.USER_ID, USER_ID: this.$store.getters.getUserInfo.USER_ID,
FEEDBACK_IMG: this.form.urlList.join(';') FEEDBACK_IMG: this.form.urlList.join(';')
})
this.$refs.uToast.show({
message: '反馈成功',
type: 'success',
complete: () => {
uni.switchTab({
url: '/pages/mine/index/index'
})
}
})
}).catch(() => {
this.$refs.uToast.show({
message: '反馈失败',
type: 'error',
})
}) })
this.$refs.uToast.show({ },
message: '反馈成功', async fnSetFeedbackUpload(filePath){
type: 'success', let resData = await setFeedbackUpload({
complete: () => { name: 'FFILE',
uni.switchTab({ filePath,
url: '/pages/mine/index/index'
})
}
}) })
}).catch(() => { this.form.urlList.push(resData.imgPath)
this.$refs.uToast.show({ return resData
message: '反馈失败', }
type: 'error', },
}) }
})
},
async fnSetFeedbackUpload(filePath) {
let resData = await setFeedbackUpload({
name: 'FFILE',
filePath,
})
this.form.urlList.push(resData.imgPath)
return resData
}
},
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.feedback { .feedback {
padding: 40rpx; padding: 40upx;
background-color: #fff; background-color: #fff;
.title { .title {
font-weight: bold; font-weight: bold;
margin-top: 20rpx; margin-top: 20upx;
margin-bottom: 20rpx; margin-bottom: 20upx;
color: $uni-text-color-placeholder; color: $uni-text-color-placeholder;
font-size: 30rpx; font-size: 30upx;
&:first-child { &:irst-child {
margin-top: 0; margin-top: 0;
} }
} }
.feedback-type { .feedback-type {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-bottom: 20rpx; margin-bottom: 20upx;
margin-top: 20rpx; margin-top: 20upx;
.item { .item {
padding: 10rpx; padding: 10upx;
border-radius: 10rpx; border-radius: 10upx;
margin-top: 10rpx; margin-top: 10upx;
margin-right: 10rpx; margin-right: 10upx;
margin-bottom: 10rpx; margin-bottom: 10upx;
background-color: #f6f7fb; background-color: #f6f7fb;
text-align: center; text-align: center;
font-size: 30rpx; font-size: 30upx;
color: #9fa7bc; color: #9fa7bc;
width: 207rpx; width: 207upx;
height: 143rpx; height: 143upx;
box-sizing: border-box; box-sizing: border-box;
line-height: 143rpx; line-height: 143upx;
text-align: center; text-align: center;
&.active { &.active {
background-color: #3c9cff; background-color: #3c9cff;
color: #fff; color: #fff;
} }
} }
} }
::v-deep { ::v-deep {
.u-upload__wrap__preview__image { .u-upload__wrap__preview__image {
width: 146rpx !important; width: 146upx !important;
height: 146rpx !important; height: 146upx !important;
} }
} }
} }
.title { .title {
font-size: 32rpx; font-size: 32upx;
color: #333; color: #333;
} }
</style> </style>

View File

@ -1,88 +1,84 @@
<template> <template>
<view class="main_container"> <view class="main_container">
<view class="mytop"> <view class="mytop">
<view class="mytop_main"> <view class="mytop_main">
<view class="mytop_main_info"> <view class="mytop_main_info">
<view class="mytop_main_info_tx"> <view class="mytop_main_info_tx">
<u-avatar :src="userInfo.PHOTO || 'account-fill'" size="50"></u-avatar> <u-avatar :src="userInfo.PHOTO || 'account-fill'" size="50"></u-avatar>
</view> </view>
<view class="mytop_main_test"> <view class="mytop_main_test">
<view class="mytop_main_test_name"> <view class="mytop_main_test_name">
{{ userInfo.NAME }} {{ userInfo.NAME }}
</view> </view>
<view class="mytop_main_test_p"> <view class="mytop_main_test_p">
{{ userInfo.DEPARTMENT_NAME }} {{ userInfo.DEPARTMENT_NAME }}
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="my_main"> <view class="my_main">
<view class="my_main_info"> <view class="my_main_info">
<view class="my_main_info_wrap" v-for="(item,index) in list" :key="item.name" <view class="my_main_info_wrap" v-for="(item,index) in list" :key="item.name" @click="clickItem(item.name,index)">
@click="clickItem(item.name,index)"> <view class="my_main_info_wrap_img">
<view class="my_main_info_wrap_img"> <u--image :src="item.img" width="40upx" height="40upx"></u--image>
<u--image :src="item.img" width="40rpx" height="40rpx"></u--image> </view>
</view> <view class="my_main_info_wrap_info">
<view class="my_main_info_wrap_info"> <view class="my_main_info_wrap_info_lable">
<view class="my_main_info_wrap_info_lable">
{{ item.name }} {{ item.name }}
</view> </view>
<view class=""> <view class="">
<u-icon name="arrow-right" color="#999" size="14"></u-icon> <u-icon name="arrow-right" color="#999" size="14"></u-icon>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="layout_btner" @click="logOut"> <view class="layout_btner" @click="logOut">
<view class="layout_btn"> <view class="layout_btn">
退出登录 退出登录
</view> </view>
</view> </view>
<u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton" <u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
:showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText" :cancelText="updateVersion.cancelText"
:cancelText="updateVersion.cancelText" @cancel="modalCancel" @confirm="modalConfirm">
@cancel="modalCancel" @confirm="modalConfirm"> <view style="text-align: center;color:#606266">
<view style="text-align: center;color:#606266"> <rich-text :nodes="updateVersion.modalContent"></rich-text>
<rich-text :nodes="updateVersion.modalContent"></rich-text> </view>
</view> </u-modal>
</u-modal> </view>
</view>
</template> </template>
<script> <script>
import updateVersion from '../../../utils/updateVersion' import updateVersion from '../../../utils/updateVersion'
export default { export default {
mixins: [updateVersion], mixins:[updateVersion],
data() { data() {
return { return {
list: [ list:[
{ {
img: require('../../../static/images/my_ico1.png'), img: require('../../../static/images/my_ico1.png'),
name: '个人信息', name:'个人信息',
url: '/pages/mine/information/index' url:'/pages/mine/information/index'
}, },
{ {
img: require('../../../static/images/my_ico3.png'), img: require('../../../static/images/my_ico3.png'),
name: '问题反馈', name:'问题反馈',
url: '/pages/mine/feedback/feedback' url:'/pages/mine/feedback/feedback'
}, },
{ {
img: require('../../../static/images/my_ico4.png'), img: require('../../../static/images/my_ico4.png'),
name: '修改密码', name:'修改密码',
url: '/pages/mine/change_password/change_password' url:'/pages/mine/change_password/change_password'
}, },
// #ifdef APP-PLUS
{ {
img: require('../../../static/images/my_ico5.png'), img: require('../../../static/images/my_ico5.png'),
name: '版本更新', name:'版本更新',
}, },
// #endif
{ {
img: require('../../../static/images/my_ico6.png'), img: require('../../../static/images/my_ico6.png'),
name: '关于我们', name:'关于我们',
url: '/pages/mine/about_us/about_us' url: '/pages/mine/about_us/about_us'
}, },
], ],
@ -114,8 +110,8 @@ export default {
} }
}) })
}, },
clickItem(name, index) { clickItem(name,index){
if (name === '版本更新') this.fnUpdateVersion() if(name === '版本更新') this.fnUpdateVersion()
else { else {
uni.$u.route({ uni.$u.route({
url: this.list[index].url url: this.list[index].url
@ -127,106 +123,106 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.main_container { .main_container {
width: 100%; width: 100%;
.mytop { .mytop {
width: 100%; width: 100%;
background: url(/static/images/mybannerbg.png); background: url(/static/images/mybannerbg.png);
height: 400rpx; height: 400upx;
background-size: 100% 100%; background-size: 100% 100%;
padding: 20rpx; padding: 20upx;
box-sizing: border-box; box-sizing: border-box;
.mytop_main_info { .mytop_main_info {
width: 80%; width: 80%;
margin: 0 auto; margin: 0 auto;
margin-top: 150rpx; margin-top: 150upx;
display: flex; display: flex;
align-items: center; align-items: center;
.mytop_main_info_tx { .mytop_main_info_tx {
margin-right: 20rpx; margin-right: 20upx;
} }
.mytop_main_test_name { .mytop_main_test_name {
color: #fff; color: #fff;
font-size: 36rpx; font-size: 36upx;
font-weight: 600; font-weight: 600;
} }
.mytop_main_test_p { .mytop_main_test_p {
color: #fff; color: #fff;
font-size: 26rpx; font-size: 26upx;
opacity: 0.6; opacity: 0.6;
margin-top: 5rpx; margin-top: 5upx;
} }
} }
} }
.my_main { .my_main {
width: 100%; width: 100%;
padding: 40rpx; padding: 40upx;
margin-top: -120rpx; margin-top: -120upx;
box-sizing: border-box; box-sizing: border-box;
.my_main_info { .my_main_info {
width: 100%; width: 100%;
background: #fff; background: #fff;
padding: 20rpx 40rpx; padding: 20upx 40upx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 10rpx; border-radius: 10upx;
box-shadow: 0 0 20rpx #eee; box-shadow: 0 0 20upx #eee;
.my_main_info_wrap { .my_main_info_wrap {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
.my_main_info_wrap_img { .my_main_info_wrap_img {
width: 50rpx; width: 50upx;
height: 50rpx; height: 50upx;
margin-top: 10rpx; margin-top: 10upx;
} }
.my_main_info_wrap_info { .my_main_info_wrap_info {
flex: 1; flex: 1;
border-bottom: 1rpx solid #eee; border-bottom: 1upx solid #eee;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 30rpx 0rpx; padding: 30upx 0upx;
padding-left: 10rpx; padding-left: 10upx;
.my_main_info_wrap_info_lable { .my_main_info_wrap_info_lable {
} }
} }
} }
.my_main_info_wrap:last-child .my_main_info_wrap_info { .my_main_info_wrap:last-child .my_main_info_wrap_info {
border-bottom: none; border-bottom: none;
} }
} }
} }
} }
.layout_btner { .layout_btner {
width: 100%; width: 100%;
text-align: center; text-align: center;
padding: 0rpx 40rpx; padding: 0upx 40upx;
box-sizing: border-box; box-sizing: border-box;
.layout_btn { .layout_btn {
width: 100%; width: 100%;
text-align: center; text-align: center;
padding: 20rpx; padding: 20upx;
background: #e72f2f; background: #e72f2f;
box-sizing: border-box; box-sizing: border-box;
color: #fff; color: #fff;
box-shadow: 0 0 20rpx #eee; box-shadow: 0 0 20upx #eee;
border-radius: 10rpx; border-radius: 10upx;
} }
} }
</style> </style>

View File

@ -1,234 +1,162 @@
<template> <template>
<view class="content"> <view class="content">
<view class="card"> <view class="card">
<u-cell-group> <u-cell-group>
<u-cell title="照片"> <u-cell title="照片">
<template #value> <template #value>
<u--image :src="info.userPhoto" shape="circle" width="100rpx" height="100rpx"></u--image> <u--image :src="info.userPhoto" shape="circle" width="100upx" height="100upx"></u--image>
</template> </template>
</u-cell> </u-cell>
<u-cell title="姓名" :value="info.NAME"></u-cell> <u-cell title="姓名" :value="info.NAME"></u-cell>
<u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'"> <u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'">
<template #value> <template #value>
{{ info.SEX === '1' ? '女' : '' }} {{info.SEX === '1' ? '女' : ''}}
{{ info.SEX === '0' ? '男' : '' }} {{info.SEX === '0' ? '男' : ''}}
</template> </template>
</u-cell> </u-cell>
<u-cell title="出生年月" :value="info.DATE_OF_BIRTH"></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.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="身份证照片"> <u-cell title="身份证照片">
<template #value> <template #value>
<view v-for="(item,index) in userCardIDPhotoFile" :key="index" <view v-for="(item,index) in userCardIDPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
@click="fnPreview(userCardIDPhotoFile)"></u--image> @click="fnPreview(userCardIDPhotoFile)"></u--image>
</view> </view>
</template> </template>
</u-cell> </u-cell>
<u-cell title="民族" :value="info.minzuName"></u-cell> <u-cell title="民族" :value="info.minzuName"></u-cell>
<u-cell title="户口所在地"> <u-cell title="户口所在地">
<template #value> <template #value>
<u--text :lines="2" align="right" :text="info.HKLOCAL"></u--text> <u--text :lines="2" align="right" :text="info.HKLOCAL"></u--text>
</template> </template>
</u-cell> </u-cell>
<u-cell title="现住址"> <u-cell title="现住址">
<template #value> <template #value>
<u--text :lines="2" align="right" :text="info.ADDRESS"></u--text> <u--text :lines="2" align="right" :text="info.ADDRESS"></u--text>
</template> </template>
</u-cell> </u-cell>
<u-cell title="联系电话" :value="info.PHONE"></u-cell> <u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="婚姻状况" :value="info.MARITALSTATUS == 0 ? '未婚':'已婚'"></u-cell> <u-cell title="婚姻状况" :value="info.MARITALSTATUS == 0 ? '未婚':'已婚'"></u-cell>
<u-cell title="政治面貌" :value="info.zzName"></u-cell> <u-cell title="政治面貌" :value="info.zzName"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" <u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" :value="info.POLITICAL_TIME"></u-cell>
:value="info.POLITICAL_TIME"></u-cell> <u-cell title="是否缴纳社保" :value="info.IS_SOCIAL_NAME"></u-cell>
<u-cell title="是否缴纳社保" :value="info.IS_SOCIAL_NAME"></u-cell> <u-cell title="社会保障号" v-if="info.IS_SOCIAL==='1'" :value="info.SOCIAL_NUMBER"></u-cell>
<!-- 用v-if会出现渲染问题导致出现两行相同的数据 所以改成v-show modify by water_xu 2024.7.19 --> <u-cell title="社会保障卡照片" v-if="info.IS_SOCIAL==='1'" >
<u-cell title="社会保障号" v-show="info.IS_SOCIAL==='1'" :value="info.SOCIAL_NUMBER"></u-cell> <template #value>
<u-cell title="社会保障卡照片" v-show="info.IS_SOCIAL==='1'"> <view v-for="(item,index) in socialPhotoFile" :key="index"
<template #value> style="display: flex;justify-content: space-between">
<view v-for="(item,index) in socialPhotoFile" :key="index" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> @click="fnPreview(socialPhotoFile)"></u--image>
<u--image :src="item" width="100rpx" height="100rpx" </view>
@click="fnPreview(socialPhotoFile)"></u--image> </template>
</view> </u-cell>
</template> <u-cell title="是否按期缴纳工伤保险" :value="info.IS_INJURIES_PAY_NAME"></u-cell>
</u-cell> <u-cell title="工伤保险有效期" v-if="info.IS_INJURIES_PAY==='1'" :value="info.IS_INJURIES_PAY_TIME"></u-cell>
<u-cell title="是否签订劳动合同" :value="info.IS_SIGN_LABOR_NAME"></u-cell> <u-cell title="工伤保险凭证" v-if="info.IS_INJURIES_PAY==='1'">
<u-cell title="合同图片" v-show="info.IS_SIGN_LABOR==='1'"> <template #value>
<template #value> <view v-for="(item,index) in injuriesPayTiemFile" :key="index"
<view v-for="(item,index) in contractFile" :key="index" style="display: flex;justify-content: space-between">
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
<u--image :src="item" width="100rpx" height="100rpx" @click="fnPreview(injuriesPayTiemFile)"></u--image>
@click="fnPreview(contractFile)"></u--image> </view>
</view> </template>
</template> </u-cell>
</u-cell> <u-cell title="是否流动人员" :value="info.ISFLOW_NAME"></u-cell>
<u-cell title="是否缴纳商业保险" :value="info.ISPAY_NAME"></u-cell> </u-cell-group>
<u-cell title="商业保险单号" v-show="info.ISPAY==='1'" :value="info.ISPAY_NUMBER"></u-cell> </view>
<u-cell title="保险图片" v-show="info.ISPAY==='1'"> </view>
<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"
@click="fnPreview(insuranceFile)"></u--image>
</view>
</template>
</u-cell>
<u-cell title="是否按期缴纳工伤保险" :value="info.IS_INJURIES_PAY_NAME"></u-cell>
<u-cell title="工伤保险有效期" v-show="info.IS_INJURIES_PAY==='1'" :value="info.IS_INJURIES_PAY_TIME"></u-cell>
<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"
@click="fnPreview(injuriesPayTiemFile)"></u--image>
</view>
</template>
</u-cell>
<u-cell title="岗位名称(工种)" :value="info.POST_ID"></u-cell>
<u-cell title="是否参加三级安全培训" :value="info.IS_LEVEL_THREE_NAME"></u-cell>
<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"
@click="fnPreview(photosOfLevel)"></u--image>
</view>
</template>
</u-cell>
<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> </template>
<script> <script>
import { import {
getUserInfo, getUserInfo,
getEmployedBy, getIDCardDeduplication getEmployedBy
} from "../../../api"; } from "../../../api";
import FabButton from "@/components/fab_button/index.vue";
export default { export default {
components: {FabButton}, data() {
data() { return {
return { info: {},
info: {}, userCardIDPhotoFile: [],
userCardIDPhotoFile: [], socialPhotoFile: [],
socialPhotoFile: [], injuriesPayTiemFile:[],
injuriesPayTiemFile: [], EMPLOYMENT_APPLY_MANAGEMENT_ID:'',
photosOfLevel: [], }
contractFile: [], },
insuranceFile: [], onNavigationBarButtonTap(e) {
EMPLOYMENT_APPLY_MANAGEMENT_ID: '', if (e.index === 0) {
} uni.$u.route({
}, url: '/pages/mine/information/update'
onShow() { })
this.fnGetData() }
}, },
computed: { onShow() {
userInfo() { this.fnGetData()
return this.$store.getters.getUserInfo },
} computed: {
}, userInfo() {
methods: { return this.$store.getters.getUserInfo
async fnIDCardDeduplication(CARD_ID = this.form.CARD_ID) { }
let resData = await getIDCardDeduplication({CARD_ID}) },
if (resData.pd) { methods: {
uni.$u.toast('身份证号重复') fnPreview(urls) {
return true uni.previewImage({
} urls
return false })
}, },
fnPreview(urls) { async fnGetData() {
uni.previewImage({ this.userCardIDPhotoFile = []
urls this.socialPhotoFile = []
}) this.injuriesPayTiemFile = []
}, let Employed = await getEmployedBy({
async fnGetData() { showCount: 10,
this.userCardIDPhotoFile = [] currentPage: 1,
this.socialPhotoFile = [] DEPART_STATE:'0'
this.injuriesPayTiemFile = [] })
this.contractFile = [] if(Employed.varList.length>0){
this.photosOfLevel = [] Employed.varList.forEach(item => {
this.insuranceFile = [] console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID);
let Employed = await getEmployedBy({ this.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID
showCount: 10, })
currentPage: 1, }
DEPART_STATE: '0' let resData = await getUserInfo({
}) CORPINFO_ID: this.userInfo.CORPINFO_ID,
if (Employed.varList.length > 0) { EMPLOYMENT_APPLY_MANAGEMENT_ID:this.EMPLOYMENT_APPLY_MANAGEMENT_ID
Employed.varList.forEach(item => { })
console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID); this.info = resData.pd
this.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) {
}) this.userCardIDPhotoFile.push(this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH)
} }
let resData = await getUserInfo({ for (let i = 0; i < resData.socialPhotoFile.length; i++) {
CORPINFO_ID: this.userInfo.CORPINFO_ID, this.socialPhotoFile.push(this.$filePath + resData.socialPhotoFile[i].FILEPATH)
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID }
})
this.info = resData.pd for (let i = 0; i < resData.workInsurancePhotoFile.length; i++) {
for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) { this.injuriesPayTiemFile.push(this.$filePath + resData.workInsurancePhotoFile[i].FILEPATH)
this.userCardIDPhotoFile.push(this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH) }
} if (this.info.ISFLOW === '0') {
for (let i = 0; i < resData.socialPhotoFile.length; i++) { this.info.ISFLOW_NAME = '否'
this.socialPhotoFile.push(this.$filePath + resData.socialPhotoFile[i].FILEPATH) } else if (this.info.ISFLOW === '1') {
} this.info.ISFLOW_NAME = '是'
}
for (let i = 0; i < resData.workInsurancePhotoFile.length; i++) { if (this.info.IS_SOCIAL === '0') {
this.injuriesPayTiemFile.push(this.$filePath + resData.workInsurancePhotoFile[i].FILEPATH) this.info.IS_SOCIAL_NAME = '否'
} } else if (this.info.IS_SOCIAL === '1') {
this.info.IS_SOCIAL_NAME = '是'
for (let i = 0; i < resData.contractFile.length; i++) { }
this.contractFile.push(this.$filePath + resData.contractFile[i].FILEPATH) if (this.info.IS_INJURIES_PAY === '0') {
} this.info.IS_INJURIES_PAY_NAME = '否'
} else if (this.info.IS_INJURIES_PAY === '1') {
for (let i = 0; i < resData.photosOfLevel.length; i++) { this.info.IS_INJURIES_PAY_NAME = '是'
this.photosOfLevel.push(this.$filePath + resData.photosOfLevel[i].FILEPATH) }
} if (resData.userPhotoFile.length > 0) {
this.$set(this.info, 'userPhoto', this.$filePath + resData.userPhotoFile[0].FILEPATH)
for (let i = 0; i < resData.insuranceFile.length; i++) { }
this.insuranceFile.push(this.$filePath + resData.insuranceFile[i].FILEPATH) }
} },
}
if (this.info.ISFLOW === '0') {
this.info.ISFLOW_NAME = '否'
} else if (this.info.ISFLOW === '1') {
this.info.ISFLOW_NAME = '是'
}
if (this.info.IS_SOCIAL === '0') {
this.info.IS_SOCIAL_NAME = '否'
} else if (this.info.IS_SOCIAL === '1') {
this.info.IS_SOCIAL_NAME = '是'
}
if (this.info.IS_INJURIES_PAY === '0') {
this.info.IS_INJURIES_PAY_NAME = '否'
} else if (this.info.IS_INJURIES_PAY === '1') {
this.info.IS_INJURIES_PAY_NAME = '是'
}
if (this.info.IS_SIGN_LABOR === '0') {
this.info.IS_SIGN_LABOR_NAME = '否'
} else if (this.info.IS_SIGN_LABOR === '1') {
this.info.IS_SIGN_LABOR_NAME = '是'
}
if (this.info.IS_LEVEL_THREE === '0') {
this.info.IS_LEVEL_THREE_NAME = '否'
} else if (this.info.IS_LEVEL_THREE === '1') {
this.info.IS_LEVEL_THREE_NAME = '是'
}
if (this.info.ISPAY === '1') {
this.info.ISPAY_NAME = '是'
} else {
this.info.ISPAY_NAME = '否'
}
if (resData.userPhotoFile.length > 0) {
this.$set(this.info, 'userPhoto', this.$filePath + resData.userPhotoFile[0].FILEPATH)
}
}
},
}
</script> </script>
<style scoped> <style scoped>

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,15 @@
<template> <template>
<view class="content"> <view class="content">
<view> <view>
<web-view src="https://skqhdg.porthebei.com:9006/xieyi/privacy.html"></web-view> <web-view src="https://skqhdg.porthebei.com:9006/xieyi/privacy.html"></web-view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
export default {} export default {
}
</script> </script>
<style scoped> <style scoped>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,256 +1,256 @@
<template> <template>
<view> <view>
<view class="content" style="padding: 10px;"> <view class="content" style="padding: 10px;">
<view class="card"> <view class="card">
<view class="text_content"> <view class="text_content">
<view class="title title_left">基础信息</view> <view class="title title_left">基础信息</view>
<!-- <view class="title_right" @click="fnGoEditUserInfo"></view>--> <view class="title_right" @click="fnGoEditUserInfo"></view>
</view> </view>
<u-cell-group> <u-cell-group>
<u-cell title="照片"> <u-cell title="照片">
<template #value> <template #value>
<u--image :src="info.userPhoto" shape="circle" width="100rpx" height="100rpx"></u--image> <u--image :src="info.userPhoto" shape="circle" width="100upx" height="100upx"></u--image>
</template> </template>
</u-cell> </u-cell>
<u-cell title="姓名" :value="info.NAME"></u-cell> <u-cell title="姓名" :value="info.NAME"></u-cell>
<u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'"> <u-cell title="性别" :value="info.SEX === '1' ? '女' : '男'">
<template #value> <template #value>
{{ info.SEX === '1' ? '女' : '' }} {{info.SEX === '1' ? '女' : ''}}
{{ info.SEX === '0' ? '男' : '' }} {{info.SEX === '0' ? '男' : ''}}
</template> </template>
</u-cell> </u-cell>
<u-cell title="出生年月" :value="info.DATE_OF_BIRTH"></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.AGE"></u-cell>
<u-cell title="身份证" :value="info.CARD_ID"></u-cell> <u-cell title="身份证" :value="info.CARD_ID"></u-cell>
<u-cell title="身份证照片"> <u-cell title="身份证照片">
<template #value> <template #value>
<view v-for="(item,index) in userCardIDPhotoFile" :key="index" <view v-for="(item,index) in userCardIDPhotoFile" :key="index"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> style="display: flex;justify-content: space-between">
<u--image :src="item" width="100rpx" height="100rpx" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
@click="fnPreview(userCardIDPhotoFile)"></u--image> @click="fnPreview(userCardIDPhotoFile)"></u--image>
</view> </view>
</template> </template>
</u-cell> </u-cell>
<u-cell title="民族" :value="info.NATIONALITY_NAME"></u-cell> <u-cell title="民族" :value="info.NATIONALITY_NAME"></u-cell>
<u-cell title="户口所在地"> <u-cell title="户口所在地">
<template #value> <template #value>
<u--text :lines="2" align="right" :text="info.HKLOCAL"></u--text> <u--text :lines="2" align="right" :text="info.HKLOCAL"></u--text>
</template> </template>
</u-cell> </u-cell>
<u-cell title="现住址"> <u-cell title="现住址">
<template #value> <template #value>
<u--text :lines="2" align="right" :text="info.ADDRESS"></u--text> <u--text :lines="2" align="right" :text="info.ADDRESS"></u--text>
</template> </template>
</u-cell> </u-cell>
<u-cell title="联系电话" :value="info.PHONE"></u-cell> <u-cell title="联系电话" :value="info.PHONE"></u-cell>
<u-cell title="婚姻状况" :value="info.MARITALSTATUS_NAME"></u-cell> <u-cell title="婚姻状况" :value="info.MARITALSTATUS_NAME"></u-cell>
<u-cell title="政治面貌" :value="info.POLITICAL_STATUS_NAME"></u-cell> <u-cell title="政治面貌" :value="info.POLITICAL_STATUS_NAME"></u-cell>
<u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" <u-cell v-if="info.POLITICAL_STATUS == 'zhonggongdangyuan'" title="入党时间" :value="info.POLITICAL_TIME"></u-cell>
:value="info.POLITICAL_TIME"></u-cell>
<u-cell title="社会保障号" :value="info.SOCIAL_NUMBER"></u-cell>
<u-cell title="社会保障号" :value="info.SOCIAL_NUMBER"></u-cell> <u-cell title="社会保障卡照片">
<u-cell title="社会保障卡照片"> <template #value>
<template #value> <view v-for="(item,index) in socialPhotoFile" :key="index"
<view v-for="(item,index) in socialPhotoFile" :key="index" style="display: flex;justify-content: space-between">
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
<u--image :src="item" width="100rpx" height="100rpx" @click="fnPreview(socialPhotoFile)"></u--image>
@click="fnPreview(socialPhotoFile)"></u--image> </view>
</view> </template>
</template> </u-cell>
</u-cell> <u-cell title="是否流动人员" :value="info.ISFLOW == '0' ? '否' : '是'"></u-cell>
<u-cell title="是否流动人员" :value="info.ISFLOW == '0' ? '否' : '是'"></u-cell> </u-cell-group>
</u-cell-group> </view>
</view> </view>
</view> <view class="content" style="padding: 10px">
<view class="content" style="padding: 10px"> <view class="card">
<view class="card"> <view class="text_content">
<view class="text_content"> <view class="title title_left">企业就职信息</view>
<view class="title title_left">企业就职信息</view> <view v-if = "info.DEPART_STATE == '0'" class="title_right" @click="goEdit"></view>
<!-- <view v-if = "info.DEPART_STATE == '0'" class="title_right" @click="goEdit"></view>--> <view v-else class="title_right_red">已离职</view>
<!-- <view v-else class="title_right_red">已离职</view>--> </view>
<view class="title_right_red" v-if="info.DEPART_STATE != '0'"></view> <u-cell-group>
</view> <u-cell title="岗位名称" :value="info.POST_ID"></u-cell>
<u-cell-group> <u-cell title="本企业从业开始日期" :value="info.CORP_START_DATE"></u-cell>
<u-cell title="岗位名称" :value="info.POST_ID"></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.IS_SIGN_LABOR == '0' ? '否' : '是'"></u-cell>
<!-- <u-cell title="本岗位从业开始日期" :value="info.ENTRY_DATE"></u-cell>--> <u-cell title="劳动合同附件" v-show="info.IS_SIGN_LABOR === '1'">
<u-cell title="是否签署劳动合同" :value="info.IS_SIGN_LABOR == '0' ? '否' : '是'"></u-cell> <template #value>
<u-cell title="劳动合同附件" v-show="info.IS_SIGN_LABOR === '1'"> <view v-for="(item,index) in contractFile" :key="index"
<template #value> style="display: flex;justify-content: space-between">
<view v-for="(item,index) in contractFile" :key="index" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> @click="fnPreview(contractFile)"></u--image>
<u--image :src="item" width="100rpx" height="100rpx" </view>
@click="fnPreview(contractFile)"></u--image> </template>
</view> </u-cell>
</template> <u-cell title="是否缴纳工伤保险" :value="info.IS_INJURIES_PAY == '0' ? '否' : '是'"></u-cell>
</u-cell> <u-cell title="工伤有效期" v-show="info.IS_INJURIES_PAY === '1'" :value="info.IS_INJURIES_PAY_TIME">
<u-cell title="是否缴纳工伤保险" :value="info.IS_INJURIES_PAY == '0' ? '否' : '是'"></u-cell> </u-cell>
<u-cell title="工伤有效期" v-show="info.IS_INJURIES_PAY === '1'" :value="info.IS_INJURIES_PAY_TIME"> <u-cell title="工伤保险凭证" v-show="info.IS_INJURIES_PAY === '1'">
</u-cell> <template #value>
<u-cell title="工伤保险凭证" v-show="info.IS_INJURIES_PAY === '1'"> <view v-for="(item,index) in workInsurancePhotoFile" :key="index"
<template #value> style="display: flex;justify-content: space-between">
<view v-for="(item,index) in workInsurancePhotoFile" :key="index" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> @click="fnPreview(workInsurancePhotoFile)"></u--image>
<u--image :src="item" width="100rpx" height="100rpx" </view>
@click="fnPreview(workInsurancePhotoFile)"></u--image> </template>
</view> </u-cell>
</template> <u-cell title="是否缴纳商业保险" :value="info.ISPAY == '0' ? '否' : '是'"></u-cell>
</u-cell> <u-cell title="商业保险单号" v-show="info.ISPAY === '1'" :value="info.ISPAY_NUMBER"></u-cell>
<u-cell title="是否缴纳商业保险" :value="info.ISPAY == '0' ? '否' : '是'"></u-cell> <u-cell title="保险附件" v-show="info.ISPAY === '1'">
<u-cell title="商业保险单号" v-show="info.ISPAY === '1'" :value="info.ISPAY_NUMBER"></u-cell> <template #value>
<u-cell title="保险附件" v-show="info.ISPAY === '1'"> <view v-for="(item,index) in insuranceFile" :key="index"
<template #value> style="display: flex;justify-content: space-between">
<view v-for="(item,index) in insuranceFile" :key="index" <u--image :src="item" width="100upx" height="100upx" style="margin-left: 10upx;"
style="display: flex;justify-content: space-between;margin-left: 10rpx;"> @click="fnPreview(insuranceFile)"></u--image>
<u--image :src="item" width="100rpx" height="100rpx" </view>
@click="fnPreview(insuranceFile)"></u--image> </template>
</view> </u-cell>
</template> <u-cell title="是否参加三级安全培训" :value="info.IS_LEVEL_THREE == '0' ? '否' : '是'"></u-cell>
</u-cell> <!-- <u-cell title="是否开展入场安全告知" :value="info.IS_SAFETY_TELL == '0' ? '否' : '是'"></u-cell> -->
<u-cell title="是否参加三级安全培训" :value="info.IS_LEVEL_THREE == '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.IS_SPECIAL_JOB == '0' ? '否' : '是'"></u-cell>
</u-cell-group> <!-- <u-cell title="是否流动人员" :value="info.ISFLOW == '0' ? '否' : '是'"></u-cell> -->
</view> <!-- <u-cell title="审核意见" v-show="info.AUDIT_REMARKS != ''" :value="info.AUDIT_REMARKS"></u-cell>-->
</view> </u-cell-group>
</view> </view>
</view>
</view>
</template> </template>
<script> <script>
import { import {
getUserInfo getUserInfo
} from "../../api"; } from "../../api";
export default { export default {
data() { data() {
return { return {
info: {}, info: {},
empInfo: {}, empInfo: {},
userPhoto: {}, userPhoto: {},
contractFile: [], contractFile: [],
userCardIDPhotoFile: [], userCardIDPhotoFile: [],
socialPhotoFile: [], socialPhotoFile: [],
insuranceFile: [], insuranceFile: [],
workInsurancePhotoFile: [], workInsurancePhotoFile: [],
EMPLOYMENT_APPLY_MANAGEMENT_ID: '', EMPLOYMENT_APPLY_MANAGEMENT_ID: '',
CORPINFO_ID: '', CORPINFO_ID: '',
DEPART_STATE: '' DEPART_STATE: ''
} }
}, },
onNavigationBarButtonTap(e) { onNavigationBarButtonTap(e) {
if (e.index === 0) { if (e.index === 0) {
this.goEdit() this.goEdit()
} }
}, },
onLoad(query) { onLoad(query) {
this.EMPLOYMENT_APPLY_MANAGEMENT_ID = query.EMPLOYMENT_APPLY_MANAGEMENT_ID this.EMPLOYMENT_APPLY_MANAGEMENT_ID = query.EMPLOYMENT_APPLY_MANAGEMENT_ID
this.CORPINFO_ID = query.CORPINFO_ID this.CORPINFO_ID = query.CORPINFO_ID
// if (query.DEPART_STATE != '0') { if (query.DEPART_STATE != '0') {
// this.DEPART_STATE = query.DEPART_STATE this.DEPART_STATE = query.DEPART_STATE
// } }
this.fnGetData() this.fnGetData()
}, },
computed: { computed: {
userInfo() { userInfo() {
return this.$store.getters.getUserInfo return this.$store.getters.getUserInfo
} }
}, },
methods: { methods: {
fnGoEditUserInfo() { fnGoEditUserInfo() {
uni.$u.route({ uni.$u.route({
url: '/pages/mine/information/update' url: '/pages/mine/information/update'
}) })
}, },
// goEdit() { goEdit() {
// uni.$u.route({ uni.$u.route({
// url: '/pages/related_party_units/edit', url: '/pages/related_party_units/edit',
// params: { params: {
// EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID, EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID,
// CORPINFO_ID: this.CORPINFO_ID, CORPINFO_ID: this.CORPINFO_ID,
// DEPART_STATE: this.DEPART_STATE DEPART_STATE: this.DEPART_STATE
// } }
// }) })
// }, },
reloadx() { reloadx() {
this.contractFile = [] this.contractFile = []
this.insuranceFile = [] this.insuranceFile = []
this.userCardIDPhotoFile = [] this.userCardIDPhotoFile = []
this.socialPhotoFile = [] this.socialPhotoFile = []
this.workInsurancePhotoFile = [] this.workInsurancePhotoFile = []
this.fnGetData() this.fnGetData()
}, },
async fnGetData() { async fnGetData() {
let resData = await getUserInfo({ let resData = await getUserInfo({
// CORPINFO_ID:this.userInfo.CORPINFO_ID, // CORPINFO_ID:this.userInfo.CORPINFO_ID,
dataType: this.DEPART_STATE, dataType: this.DEPART_STATE,
CORPINFO_ID: this.CORPINFO_ID, CORPINFO_ID: this.CORPINFO_ID,
EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID EMPLOYMENT_APPLY_MANAGEMENT_ID: this.EMPLOYMENT_APPLY_MANAGEMENT_ID
}) })
this.info = resData.pd this.info = resData.pd
if (resData.userCardIDPhotoFile) { if(resData.userCardIDPhotoFile){
for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) { for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) {
this.userCardIDPhotoFile.push(this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH) this.userCardIDPhotoFile.push(this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH)
}
} }
} if(resData.socialPhotoFile){
if (resData.socialPhotoFile) { for (let i = 0; i < resData.socialPhotoFile.length; i++) {
for (let i = 0; i < resData.socialPhotoFile.length; i++) { this.socialPhotoFile.push(this.$filePath + resData.socialPhotoFile[i].FILEPATH)
this.socialPhotoFile.push(this.$filePath + resData.socialPhotoFile[i].FILEPATH) }
} }
} if(resData.contractFile){
if (resData.contractFile) { for (let i = 0; i < resData.contractFile.length; i++) {
for (let i = 0; i < resData.contractFile.length; i++) { this.contractFile.push(this.$filePath + resData.contractFile[i].FILEPATH)
this.contractFile.push(this.$filePath + resData.contractFile[i].FILEPATH) }
} }
} if(resData.insuranceFile){
if (resData.insuranceFile) { 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)
this.insuranceFile.push(this.$filePath + resData.insuranceFile[i].FILEPATH) }
} }
} if(resData.workInsurancePhotoFile){
if (resData.workInsurancePhotoFile) { for (let i = 0; i < resData.workInsurancePhotoFile.length; i++) {
for (let i = 0; i < resData.workInsurancePhotoFile.length; i++) { this.workInsurancePhotoFile.push(this.$filePath + resData.workInsurancePhotoFile[i].FILEPATH)
this.workInsurancePhotoFile.push(this.$filePath + resData.workInsurancePhotoFile[i].FILEPATH) }
}
if(resData.userPhotoFile && resData.userPhotoFile.length>0){
this.$set(this.info, 'userPhoto', this.$filePath + resData.userPhotoFile[0].FILEPATH)
} }
}
if (resData.userPhotoFile && resData.userPhotoFile.length > 0) {
this.$set(this.info, 'userPhoto', this.$filePath + resData.userPhotoFile[0].FILEPATH)
console.log(this.info.userPhoto)
}
}, },
fnPreview(urls) { fnPreview(urls) {
uni.previewImage({ uni.previewImage({
urls urls
}) })
} }
}, },
} }
</script> </script>
<style scoped> <style scoped>
.text_content { .text_content {
display: flex; display: flex;
} }
.title_left { .title_left {
font-size: 40rpx; font-size: 40rpx;
justify-content: flex-start; justify-content: flex-start;
float: left; float: left;
text-align: left; text-align: left;
margin-bottom: 12px; margin-bottom: 12px;
} }
.title_right { .title_right {
margin-left: auto; margin-left: auto;
font-size: 30rpx; font-size: 30rpx;
margin-top: 5px; margin-top: 5px;
} }
.title_right_red {
.title_right_red { margin-left: auto;
margin-left: auto; color: red;
color: red; font-size: 30rpx;
font-size: 30rpx; margin-top: 5px;
margin-top: 5px; }
}
</style> </style>

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -12,9 +12,53 @@
} }
} }
.wui_banner{ .wui_banner{
height: 507rpx; height: 507upx;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
.wui-bar{
display: flex;
align-items: center;
min-height: 100upx;
justify-content: flex-end;
z-index: 9999;
position: absolute;
width: 100%;
.search-form{
background: rgba(255,255,255,0.2);
border-radius: 100upx;
flex: 1;
height: 60upx;
line-height: 60upx;
font-size: 24upx;
color: #333333;
display: flex;
align-items: center;
margin: 0 30upx;
padding: 0 30upx;
.cuIcon-search{
color: rgba(255,255,255,0.5);
margin-right: 16upx;
font-size: 28upx;
}
input{
color: rgba(255,255,255,0.5);
flex: 1;
padding-right: 30upx;
height: 64upx;
line-height: 64upx;
font-size: 26upx;
background-color: transparent;
.phcolor{
color: rgba(255,255,255,0.5);
}
}
}
.icon-ui {
color: #fff;
font-size: 42upx;
margin-right: 22upx;
}
}
.banner_img{ .banner_img{
z-index: 1; z-index: 1;
width: 100%; width: 100%;
@ -30,11 +74,11 @@
.home-apps { .home-apps {
position: relative; position: relative;
top: -180rpx; top: -180upx;
background-color: #fff; background-color: #fff;
padding: 30rpx 20rpx; padding: 30upx 20upx;
border-radius: 40rpx; border-radius: 40upx;
margin: 0 30rpx; margin: 0 30upx;
display: flex; display: flex;
flex-wrap:wrap; flex-wrap:wrap;
.home-apps-item { .home-apps-item {
@ -44,14 +88,14 @@
flex-grow: 0; flex-grow: 0;
width: 25%; width: 25%;
.text { .text {
margin: 10rpx 0; margin: 10upx 0;
font-size: 28rpx; font-size: 28upx;
text-align: center; text-align: center;
width: 140rpx; width: 140upx;
} }
.home-apps-item-img { .home-apps-item-img {
width: 136rpx; width: 136upx;
height: 136rpx; height: 136upx;
image { image {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -61,39 +105,39 @@
} }
.home-message{ .home-message{
position: relative; position: relative;
top: -160rpx; top: -160upx;
height: 120rpx; height: 120upx;
background-color: #fff; background-color: #fff;
border-radius: 40rpx; border-radius: 40upx;
margin: 0 30rpx; margin: 0 30upx;
padding: 0 30rpx; padding: 0 30upx;
display: flex; display: flex;
align-items: center; align-items: center;
.home-title{ .home-title{
width: 54px; width: 54px;
height: 54px; height: 54px;
margin-right: 10rpx; margin-right: 10upx;
image{ image{
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.home-content{ .home-content{
font-size: 28rpx; font-size: 28upx;
flex: 1; flex: 1;
} }
.home-more{ .home-more{
color: #ccc; color: #ccc;
font-size: 26rpx; font-size: 26upx;
} }
} }
.home-letters{ .home-letters{
position: relative; position: relative;
top: -140rpx; top: -140upx;
background-color: #fff; background-color: #fff;
border-radius: 40rpx; border-radius: 40upx;
margin: 0 30rpx; margin: 0 30upx;
padding: 30rpx; padding: 30upx;
.letters-title{ .letters-title{
width: 80px; width: 80px;
@ -105,17 +149,17 @@
} }
.letters-content{ .letters-content{
.letters-item{ .letters-item{
border-bottom: 1rpx solid #e5e5e5; border-bottom: 1upx solid #e5e5e5;
padding: 20rpx 0; padding: 20upx 0;
&:last-child{ &:last-child{
border: none; border: none;
} }
.lable{ .lable{
font-size: 30rpx; font-size: 30upx;
white-space: nowrap; white-space: nowrap;
} }
.font{ .font{
font-size: 28rpx; font-size: 28upx;
color: #666; color: #666;
} }
.letters-title{ .letters-title{
@ -141,14 +185,14 @@
align-items: flex-start; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
font-size: 30rpx; font-size: 30upx;
margin: 10rpx 0; margin: 10upx 0;
} }
.letters-date{ .letters-date{
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%; width: 100%;
font-size: 30rpx; font-size: 30upx;
} }
} }
@ -156,7 +200,7 @@
} }
.home-line{ .home-line{
position: relative; position: relative;
top: -70rpx; top: -70upx;
text-align: center; text-align: center;
color: #ccc; color: #ccc;
} }
@ -169,19 +213,19 @@
z-index: 999; z-index: 999;
} }
.grid_item{ .grid_item{
width: calc(47% - 4rpx); width: calc(47% - 4upx);
display: block; display: block;
padding: 30rpx 0; padding: 30upx 0;
color: #fff; color: #fff;
margin-left: 2%; margin-left: 2%;
margin-top: 2%; margin-top: 2%;
text-align: center; text-align: center;
background-image: linear-gradient(to bottom right, rgba(0,138,255,1), rgba(91,74,255,1)); background-image: linear-gradient(to bottom right, rgba(0,138,255,1), rgba(91,74,255,1));
border: 1rpx solid #2084d9; border: 1upx solid #2084d9;
position: relative; position: relative;
.grid_text{ .grid_text{
display: flex; display: flex;
padding-left: 30rpx; padding-left: 30upx;
.grid_tut{ .grid_tut{
width: 85%; width: 85%;
} }
@ -191,28 +235,28 @@
.message_list{ .message_list{
padding: 30rpx; padding: 30upx;
.message_item{ .message_item{
position: relative; position: relative;
.message_flex{ .message_flex{
width: calc(100% - 30rpx); width: calc(100% - 30upx);
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.fontstyle{ .fontstyle{
font-size: 32rpx; font-size: 32upx;
line-height: 60rpx; line-height: 60upx;
} }
.font0{ .font0{
font-size: 30rpx; font-size: 30upx;
color: #666; color: #666;
flex-basis: 72rpx; flex-basis: 72upx;
} }
.message_time{ .message_time{
font-size: 26rpx; font-size: 26upx;
color: #666; color: #666;
line-height: 60rpx; line-height: 60upx;
} }
} }
} }
@ -225,12 +269,12 @@
bottom: 0; bottom: 0;
display: block; display: block;
margin: auto; margin: auto;
width: 30rpx; width: 30upx;
height: 30rpx; height: 30upx;
color: #b4b4b4; color: #b4b4b4;
content: "\e6a3"; content: "\e6a3";
text-align: center; text-align: center;
font-size: 34rpx; font-size: 34upx;
font-family: cuIcon; font-family: cuIcon;
line-height: 30rpx line-height: 30upx
} }

View File

@ -1,130 +1,154 @@
.ml-10 { .ml-10{
margin-left: 20rpx !important; margin-left: 20upx !important;
} }
.mt-10{
.mt-10 { margin-top: 20upx !important;
margin-top: 20rpx !important;
} }
.mb-10{
.mb-10 { margin-bottom: 20upx !important;
margin-bottom: 20rpx !important;
} }
.mr-10{
.mr-10 { margin-right: 20upx !important;
margin-right: 20rpx !important;
} }
.m-10{
.m-10 { margin: 20upx !important;
margin: 20rpx !important;
} }
.p-10{
.p-10 { padding: 20upx !important;
padding: 20rpx !important;
} }
.pl-10{
.pl-10 { padding-left: 20upx !important;
padding-left: 20rpx !important;
} }
.pr-10{
.pr-10 { padding-right: 20upx !important;
padding-right: 20rpx !important;
} }
.pt-10{
.pt-10 { padding-top: 20upx !important;
padding-top: 20rpx !important;
} }
.pb-10{
.pb-10 { padding-bottom: 20upx !important;
padding-bottom: 20rpx !important;
} }
.w100{
.w100 {
width: 100%; width: 100%;
} }
.flex1{
.flex1 {
flex: 1; flex: 1;
} }
.pr{
.pr {
position: relative; position: relative;
} }
.border{
.border { border: 1px solid #e5e5e5;
border: 1px solid #e5e5e5;
} }
.content { .content {
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
background-color: $uni-bg-color-grey; background-color: $uni-bg-color-grey;
} }
.card{
.card { padding: 20upx;
padding: 20rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
} }
.search{
.search {
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
.u-text{
.u-text { width: 100upx !important;
width: 100rpx !important;
flex: none !important; flex: none !important;
} }
.u-button { .u-button {
height: 68rpx !important; height: 68upx !important;
} }
.u-input__content__field-wrapper__field{
.u-input__content__field-wrapper__field { height: 42upx !important;
height: 42rpx !important;
} }
} }
.bth-mini{
.flex-between { width: auto !important;
border-radius: 15upx !important;
margin-left: unset;
margin-right: unset;
}
.bth{
flex: 1;
border-radius: 15upx !important;
margin-left: unset;
margin-right: unset;
}
.flex-between{
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
} }
.flex-end{
.flex-end {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: flex-end; justify-content: flex-end;
} }
.flex-warp{
.flex-warp {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
} }
.main-title{
.main-title {
color: #333333; color: #333333;
font-size: 30rpx; font-size: 30upx;
} }
.subtitle{
.subtitle {
color: #888888; color: #888888;
font-size: 26rpx; font-size: 26upx;
} }
.view-title{
.title { border-left: 8upx solid #1d82fe;
.u-text{
padding-left: 10upx;
color: #353535 !important;
}
}
.title{
font-weight: bold; font-weight: bold;
color: #000000; color: #000000;
font-size: 28rpx; font-size: 28upx;
} }
.title-none{
.required { .u-cell__body__content,.u-cell__title{
&:before { 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: '*'; content: '*';
position: absolute; position: absolute;
left: 0; left: 0;
color: #f56c6c; color: #f56c6c;
font-size: 40rpx; font-size: 40upx;
font-weight: normal; 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: 20upx;
}
}
}
}

View File

@ -1,17 +1,17 @@
.u-list { .u-list {
.u-list-item { .u-list-item {
padding: 20rpx; padding: 20upx;
background-color: #fff; background-color: #fff;
border-bottom: 1px solid rgb(214, 215, 217); border-bottom: 1px solid rgb(214, 215, 217);
} }
} }
.u-textarea{ .u-textarea{
padding: 18rpx; padding: 18upx;
} }
.u-form-item__body__left__content__required{ .u-form-item__body__left__content__required{
position: relative !important; position: relative !important;
left: 0 !important; left: 0 !important;
margin-right: 10rpx; margin-right: 10upx;
} }
.u-form-item__body__left{ .u-form-item__body__left{
//flex: 1 !important; //flex: 1 !important;
@ -20,7 +20,7 @@
.u-form-item__body__right__content__slot{ .u-form-item__body__right__content__slot{
justify-content: flex-end; justify-content: flex-end;
position: relative; position: relative;
padding-right: 20rpx; padding-right: 20upx;
} }
.u-text{ .u-text{
justify-content: flex-end !important; justify-content: flex-end !important;
@ -30,19 +30,19 @@
} }
} }
.u-text__value{ .u-text__value{
font-size: 28rpx !important; font-size: 28upx !important;
} }
.u-form-item__body__left__content__label{ .u-form-item__body__left__content__label{
font-size: 28rpx !important; font-size: 28upx !important;
} }
.u-tabs__wrapper__nav__item{ .u-tabs__wrapper__nav__item{
flex: 1 !important; flex: 1 !important;
} }
.u-upload__deletable{ .u-upload__deletable{
height: 40rpx !important; height: 40upx !important;
width: 40rpx !important; width: 40upx !important;
.u-icon__icon{ .u-icon__icon{
font-size: 30rpx !important; font-size: 30upx !important;
line-height: 30rpx !important; line-height: 30upx !important;
} }
} }