1117 lines
29 KiB
Vue
1117 lines
29 KiB
Vue
<template>
|
|
<view class="addIssue">
|
|
<view class="fixedheader">
|
|
<headers :showBack="true">
|
|
<view class="headerName">
|
|
{{userInfo.title}}
|
|
</view>
|
|
</headers>
|
|
</view>
|
|
<view class="content" :style="{paddingTop: mobileTopHeight + 44 + 'px'}">
|
|
<!-- <van-collapse v-if="dataListUp.length > 0" v-model="activeName" accordion>
|
|
<van-collapse-item :title="item.title" :name="item.id" v-for="item in dataListUp" :key="item.id">
|
|
<view class="content-box content-box1">
|
|
<template v-if="userInfo.id == 1">
|
|
<view>
|
|
<view>合同编号</view>
|
|
<view>{{item.contractNumber ? item.contractNumber : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>合同期限</view>
|
|
<view>{{laborContractTypeUp(item.laborContractType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>签订合同类型</view>
|
|
<view>{{contractTypeUp(item.contractType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>合同开始日期</view>
|
|
<view>{{item.contractBeginDate ? item.contractBeginDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>失效日期</view>
|
|
<view>{{item.contractEndDate ? item.contractEndDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工资核定方式</view>
|
|
<view>{{wagesVerificationTypeUp(item.wagesVerificationType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工资核定标准</view>
|
|
<view>{{item.wagesVerificationStandard ? item.wagesVerificationStandard : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 2">
|
|
<view>
|
|
<view>证书编号</view>
|
|
<view>{{item.certificateNumber ? item.certificateNumber : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>证书类型</view>
|
|
<view>{{item.certificateTypeName ? item.certificateTypeName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>技能等级</view>
|
|
<view>{{skillLevelUp(item.skillLevel)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>发证日期</view>
|
|
<view>{{item.issueTime ? item.issueTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>截止有效期</view>
|
|
<view>{{item.effectTime ? item.effectTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>发证机关</view>
|
|
<view>{{item.issueCompany ? item.issueCompany : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 3">
|
|
<view>
|
|
<view>体检时间</view>
|
|
<view>{{item.physicalsTime ? item.physicalsTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>身高(cm)</view>
|
|
<view>{{item.personHeight ? item.personHeight : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>体重(kg)</view>
|
|
<view>{{item.personWeight ? item.personWeight : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>血型</view>
|
|
<view>{{item.bloodType ? item.bloodType : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>状态</view>
|
|
<view>{{stateUp(item.state)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>结论</view>
|
|
<view>{{item.conclusion ? item.conclusion : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 4">
|
|
<view>
|
|
<view>购买日期</view>
|
|
<view>{{item.insuranceTime ? item.insuranceTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>保险到期日期</view>
|
|
<view>{{item.expireTime ? item.expireTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>状态</view>
|
|
<view>{{stateUp(item.state, 1)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>险种</view>
|
|
<view>{{item.insuranceType ? item.insuranceType : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>城乡居民医疗保险</view>
|
|
<view>{{whetherUp(item.medicalInsurance)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>城乡居民养老保险</view>
|
|
<view>{{whetherUp(item.endowmentInsurance)}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 5">
|
|
<view>
|
|
<view>培训日期</view>
|
|
<view>{{item.date ? item.date : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>培训主题</view>
|
|
<view>{{item.subject ? item.subject : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>考试分数</view>
|
|
<view>{{item.score ? item.score : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>是否及格</view>
|
|
<view>{{isPassUp(item.isPass)}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 6">
|
|
<view>
|
|
<view>评分时间</view>
|
|
<view>{{item.createDate ? item.createDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>原因</view>
|
|
<view>{{item.deductReason ? item.deductReason : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>加/扣分值</view>
|
|
<view>{{item.deductScore ? item.deductScore : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>当前安全评分</view>
|
|
<view>{{item.curScore ? item.curScore : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 7">
|
|
<view>
|
|
<view>发生时间</view>
|
|
<view>{{item.eventTime ? item.eventTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>事件/发生原因</view>
|
|
<view>{{item.eventTitle ? item.eventTitle : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>严重程度</view>
|
|
<view>{{seriousGrade(item.seriousGrade)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 8">
|
|
<view>
|
|
<view>参与工地</view>
|
|
<view>{{item.projectName ? item.projectName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>进场日期</view>
|
|
<view>{{item.enterDate ? item.enterDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>退场日期</view>
|
|
<view>{{item.exitDate ? item.exitDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工种</view>
|
|
<view>{{item.typeName ? item.typeName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>班组</view>
|
|
<view>{{item.teamName ? item.teamName : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 9">
|
|
<view>
|
|
<view>发生时间</view>
|
|
<view>{{item.eventTime ? item.eventTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>事件/发生原因</view>
|
|
<view>{{item.eventTitle ? item.eventTitle : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>奖项名称</view>
|
|
<view>{{item.awardName ? item.awardName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<view class="attachment" v-if="userInfo.id == 1 || userInfo.id == 2 || userInfo.id == 4">
|
|
<view>合同附件</view>
|
|
<view @click="handlePreview(ele.url)" v-for="(ele, index) in item.fileList" :key="index">
|
|
<view>
|
|
<image class="fileIcon" :src="parseFileImgFn(ele.url)"></image>
|
|
<view>{{ele.name}}</view>
|
|
</view>
|
|
<view>
|
|
{{ele.fileSizeMb}}MB
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</van-collapse-item>
|
|
</van-collapse> -->
|
|
<uni-collapse v-if="dataListUp.length > 0" v-model="activeName" accordion>
|
|
<uni-collapse-item :name="item.id" v-for="item in dataListUp" :key="item.id">
|
|
<template v-slot:title>
|
|
<view class="item-cell flex-center item-cell_title">
|
|
{{item.title}}
|
|
<view :class="{'icon-top': activeName == item.id}" class="icon-right"></view>
|
|
</view>
|
|
</template>
|
|
<view class="content-box content-box1">
|
|
<template v-if="userInfo.id == 1">
|
|
<view>
|
|
<view>合同编号</view>
|
|
<view>{{item.contractNumber ? item.contractNumber : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>合同期限</view>
|
|
<view>{{laborContractTypeUp(item.laborContractType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>签订合同类型</view>
|
|
<view>{{contractTypeUp(item.contractType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>合同开始日期</view>
|
|
<view>{{item.contractBeginDate ? item.contractBeginDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>失效日期</view>
|
|
<view>{{item.contractEndDate ? item.contractEndDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工资核定方式</view>
|
|
<view>{{wagesVerificationTypeUp(item.wagesVerificationType)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工资核定标准</view>
|
|
<view>{{item.wagesVerificationStandard ? item.wagesVerificationStandard : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 2">
|
|
<view>
|
|
<view>证书编号</view>
|
|
<view>{{item.certificateNumber ? item.certificateNumber : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>证书类型</view>
|
|
<view>{{item.certificateTypeName ? item.certificateTypeName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>技能等级</view>
|
|
<view>{{skillLevelUp(item.skillLevel)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>发证日期</view>
|
|
<view>{{item.issueTime ? item.issueTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>截止有效期</view>
|
|
<view>{{item.effectTime ? item.effectTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>发证机关</view>
|
|
<view>{{item.issueCompany ? item.issueCompany : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 3">
|
|
<view>
|
|
<view>体检时间</view>
|
|
<view>{{item.physicalsTime ? item.physicalsTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>身高(cm)</view>
|
|
<view>{{item.personHeight ? item.personHeight : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>体重(kg)</view>
|
|
<view>{{item.personWeight ? item.personWeight : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>血型</view>
|
|
<view>{{item.bloodType ? item.bloodType : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>状态</view>
|
|
<view>{{stateUp(item.state)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>结论</view>
|
|
<view>{{item.conclusion ? item.conclusion : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 4">
|
|
<view>
|
|
<view>购买日期</view>
|
|
<view>{{item.insuranceTime ? item.insuranceTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>保险到期日期</view>
|
|
<view>{{item.expireTime ? item.expireTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>状态</view>
|
|
<view>{{stateUp(item.state, 1)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>险种</view>
|
|
<view>{{item.insuranceType ? item.insuranceType : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>城乡居民医疗保险</view>
|
|
<view>{{whetherUp(item.medicalInsurance)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>城乡居民养老保险</view>
|
|
<view>{{whetherUp(item.endowmentInsurance)}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 5">
|
|
<view>
|
|
<view>培训日期</view>
|
|
<view>{{item.date ? item.date : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>培训主题</view>
|
|
<view>{{item.subject ? item.subject : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>考试分数</view>
|
|
<view>{{item.score ? item.score : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>是否及格</view>
|
|
<view>{{isPassUp(item.isPass)}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 6">
|
|
<view>
|
|
<view>评分时间</view>
|
|
<view>{{item.createDate ? item.createDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>原因</view>
|
|
<view>{{item.deductReason ? item.deductReason : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>加/扣分值</view>
|
|
<view>{{item.deductScore ? item.deductScore : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>当前安全评分</view>
|
|
<view>{{item.curScore ? item.curScore : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 7">
|
|
<view>
|
|
<view>发生时间</view>
|
|
<view>{{item.eventTime ? item.eventTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>事件/发生原因</view>
|
|
<view>{{item.eventTitle ? item.eventTitle : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>严重程度</view>
|
|
<view>{{seriousGrade(item.seriousGrade)}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 8">
|
|
<view>
|
|
<view>参与工地</view>
|
|
<view>{{item.projectName ? item.projectName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>进场日期</view>
|
|
<view>{{item.enterDate ? item.enterDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>退场日期</view>
|
|
<view>{{item.exitDate ? item.exitDate : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>工种</view>
|
|
<view>{{item.typeName ? item.typeName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>班组</view>
|
|
<view>{{item.teamName ? item.teamName : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<template v-else-if="userInfo.id == 9">
|
|
<view>
|
|
<view>发生时间</view>
|
|
<view>{{item.eventTime ? item.eventTime : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>事件/发生原因</view>
|
|
<view>{{item.eventTitle ? item.eventTitle : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>奖项名称</view>
|
|
<view>{{item.awardName ? item.awardName : '--'}}</view>
|
|
</view>
|
|
<view>
|
|
<view>备注</view>
|
|
<view>{{item.remarks ? item.remarks : '--'}}</view>
|
|
</view>
|
|
</template>
|
|
<view class="attachment" v-if="userInfo.id == 1 || userInfo.id == 2 || userInfo.id == 4">
|
|
<view>合同附件</view>
|
|
<view @click="handlePreview(ele.url)" v-for="(ele, index) in item.fileList" :key="index">
|
|
<view>
|
|
<image class="fileIcon" :src="parseFileImgFn(ele.url)"></image>
|
|
<view>{{ele.name}}</view>
|
|
</view>
|
|
<view>
|
|
{{ele.fileSizeMb}}MB
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-collapse-item>
|
|
</uni-collapse>
|
|
<view class="new-nodata" v-else>
|
|
<view></view>
|
|
<text>暂无数据...</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
mobileTopHeight: 0,
|
|
projectDetail: {},
|
|
activeName: "1",
|
|
userInfoDetail: {},
|
|
fileImg1: require("@/static/ppt.png"),
|
|
fileImg2: require("@/static/excel.png"),
|
|
fileImg3: require("@/static/pdf.png"),
|
|
fileImg4: require("@/static/word.png"),
|
|
safeEducationList: [],
|
|
reduceScoreList: [],
|
|
}
|
|
},
|
|
onLoad(opts) {
|
|
this.projectDetail = JSON.parse(uni.getStorageSync('projectDetail'));
|
|
this.userInfo = opts;
|
|
this.getDetailsData();
|
|
if (opts.id == 5) {
|
|
this.getSafeEducationListFn();
|
|
} else if (opts.id == 6) {
|
|
this.getSafeScoreDetail();
|
|
}
|
|
},
|
|
mounted() {
|
|
var that = this
|
|
uni.getSystemInfo({
|
|
success(res) {
|
|
that.mobileTopHeight = res.statusBarHeight ? res.statusBarHeight : 0;
|
|
uni.setStorageSync('systemInfo', res)
|
|
console.log(res)
|
|
}
|
|
})
|
|
},
|
|
methods: {
|
|
//预览文件
|
|
handlePreview(url) {
|
|
let type = url.split('.')[1];
|
|
if (type == 'doc' || type == 'xls' || type == 'ppt' || type == 'pdf' || type == 'docx' || type == 'xlsx' ||
|
|
type ==
|
|
'pptx') {
|
|
uni.openDocument({
|
|
filePath: this.url_config + 'image/' + url,
|
|
})
|
|
} else {
|
|
let fileList = [];
|
|
fileList = [this.url_config + 'image/' + url];
|
|
uni.previewImage({
|
|
current: 0,
|
|
urls: fileList
|
|
})
|
|
}
|
|
|
|
},
|
|
parseFileImgFn(url) {
|
|
console.log(111, url);
|
|
if (!url) return
|
|
var type = url.split(".")[1];
|
|
if (type == "ppt" || type == "pptx") {
|
|
return this.fileImg1;
|
|
}
|
|
if (type == "xls" || type == "xlsx") {
|
|
return this.fileImg2;
|
|
}
|
|
if (type == "pdf") {
|
|
return this.fileImg3;
|
|
}
|
|
if (type == "doc" || type == "docx") {
|
|
return this.fileImg4;
|
|
}
|
|
return this.url_config + 'image/' + url;
|
|
},
|
|
// 获取安全分详情
|
|
getSafeScoreDetail() {
|
|
this.sendRequest({
|
|
url: 'xmgl/xzDeductScoreRecord/list',
|
|
method: 'get',
|
|
data: {
|
|
workerId: this.userInfo.workerId,
|
|
projectSn: this.projectDetail.projectSn
|
|
},
|
|
success: res => {
|
|
console.log('res', res)
|
|
if (res.code == 200) {
|
|
this.reduceScoreList = res.result; //安全教育
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 获取安全教育列表
|
|
getSafeEducationListFn() {
|
|
this.sendRequest({
|
|
url: 'xmgl/workerInfo/getTrainRecordsByWorkerId',
|
|
method: 'post',
|
|
data: {
|
|
workerId: this.userInfo.workerId,
|
|
projectSn: this.projectDetail.projectSn
|
|
},
|
|
success: res => {
|
|
console.log('res', res)
|
|
if (res.code == 200) {
|
|
this.safeEducationList = res.result; //安全教育
|
|
}
|
|
}
|
|
})
|
|
},
|
|
//获取详情数据
|
|
getDetailsData() {
|
|
this.sendRequest({
|
|
url: 'xmgl/workerInfo/viewWorkerInfoDetail',
|
|
method: 'post',
|
|
data: {
|
|
workerId: this.userInfo.workerId,
|
|
projectSn: this.projectDetail.projectSn
|
|
},
|
|
success: res => {
|
|
console.log('res', res)
|
|
if (res.code == 200) {
|
|
const detail = res.result;
|
|
// 劳动合同
|
|
if (detail.contractList) {
|
|
for (const contract of detail.contractList) {
|
|
if (contract.imageUrl) {
|
|
contract.fileList = this.imageUrlListFn(contract.imageUrl);
|
|
// 获取每个文件的大小
|
|
contract.fileList.forEach(async file => {
|
|
file.fileSizeMb = await this.fontSizeMb(file.url);
|
|
})
|
|
}
|
|
}
|
|
}
|
|
// 资格证书
|
|
if (detail.certificateList) {
|
|
for (const contract of detail.certificateList) {
|
|
if (contract.photoUrl) {
|
|
contract.fileList = this.imageUrlListFn(contract.photoUrl);
|
|
// 获取每个文件的大小
|
|
contract.fileList.forEach(async file => {
|
|
file.fileSizeMb = await this.fontSizeMb(file.url);
|
|
})
|
|
}
|
|
}
|
|
}
|
|
// 保险
|
|
if (detail.insuranceList) {
|
|
for (const contract of detail.insuranceList) {
|
|
if (contract.photoUrl) {
|
|
contract.fileList = this.imageUrlListFn(contract.photoUrl);
|
|
// 获取每个文件的大小
|
|
contract.fileList.forEach(async file => {
|
|
file.fileSizeMb = await this.fontSizeMb(file.url);
|
|
})
|
|
}
|
|
}
|
|
}
|
|
// 不良记录
|
|
if (detail.badList) {
|
|
for (const contract of detail.badList) {
|
|
if (contract.photoUrl) {
|
|
contract.fileList = JSON.parse(item.fileUrl);
|
|
// 获取每个文件的大小
|
|
contract.fileList.forEach(async file => {
|
|
file.fileSizeMb = await this.fontSizeMb(file.url);
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
// 奖励记录
|
|
if (detail.rewardList) {
|
|
for (const contract of detail.rewardList) {
|
|
if (contract.photoUrl) {
|
|
contract.fileList = JSON.parse(item.fileUrl);
|
|
// 获取每个文件的大小
|
|
contract.fileList.forEach(async file => {
|
|
file.fileSizeMb = await this.fontSizeMb(file.url);
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
console.log(detail)
|
|
this.userInfoDetail = detail;
|
|
}
|
|
}
|
|
})
|
|
},
|
|
async fontSizeMb(url) {
|
|
const response = await fetch(this.url_config + 'image/' + url);
|
|
const blob = await response.blob();
|
|
const fileSize = blob.size; // 文件大小,单位为字节
|
|
return (fileSize / 1024 / 1024).toFixed(2)
|
|
},
|
|
imageUrlListFn(rowUrl) {
|
|
if (rowUrl.indexOf(",") != -1) {
|
|
return rowUrl.split(",").map((item) => {
|
|
return {
|
|
name: item.split("*")[0],
|
|
url: item.split("*")[1],
|
|
};
|
|
});
|
|
} else if (rowUrl.indexOf("*") != -1) {
|
|
return [{
|
|
name: rowUrl.split("*")[0],
|
|
url: rowUrl.split("*")[1],
|
|
}];
|
|
} else {
|
|
return [];
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
dataListUp() {
|
|
if (this.userInfo.id == 1 && this.userInfoDetail.contractList) {
|
|
return this.userInfoDetail.contractList.map(item => {
|
|
return {
|
|
...item,
|
|
title: item.contractNumber,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 2 && this.userInfoDetail.certificateList) {
|
|
return this.userInfoDetail.certificateList.map(item => {
|
|
return {
|
|
...item,
|
|
title: item.certificateNumber,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 3 && this.userInfoDetail.physicalsList) {
|
|
return this.userInfoDetail.physicalsList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '体检时间' + item.physicalsTime,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 4 && this.userInfoDetail.insuranceList) {
|
|
return this.userInfoDetail.insuranceList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '购买日期' + item.insuranceTime,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 5) {
|
|
return this.safeEducationList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '培训日期' + item.date,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 6) {
|
|
return this.reduceScoreList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '评分时间' + item.createDate,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 7 && this.userInfoDetail.badList) {
|
|
return this.userInfoDetail.badList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '发生时间' + item.eventTime,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 8 && this.userInfoDetail.badList) {
|
|
return this.userInfoDetail.workExperienceList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '参与工地' + item.projectName,
|
|
}
|
|
});
|
|
} else if (this.userInfo.id == 9 && this.userInfoDetail.rewardList) {
|
|
return this.userInfoDetail.rewardList.map(item => {
|
|
return {
|
|
...item,
|
|
title: '发生时间' + item.eventTime,
|
|
}
|
|
});
|
|
}
|
|
return []
|
|
},
|
|
laborContractTypeUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '固定期限合同'
|
|
}, {
|
|
id: 2,
|
|
title: '以完成一定工作为期限的合同'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
contractTypeUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '纸质合同'
|
|
}, {
|
|
id: 2,
|
|
title: '电子合同'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
wagesVerificationTypeUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '按天'
|
|
}, {
|
|
id: 2,
|
|
title: '按小时'
|
|
}, {
|
|
id: 3,
|
|
title: '按月'
|
|
}, {
|
|
id: 4,
|
|
title: '按件'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
skillLevelUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '普工'
|
|
}, {
|
|
id: 2,
|
|
title: '初级工'
|
|
}, {
|
|
id: 3,
|
|
title: '中级工'
|
|
}, {
|
|
id: 4,
|
|
title: '高级工'
|
|
}, {
|
|
id: 5,
|
|
title: '技师'
|
|
}, {
|
|
id: 6,
|
|
title: '高级技师'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
stateUp() {
|
|
return (typeId, type) => {
|
|
if (type == 1) {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '未购买'
|
|
}, {
|
|
id: 2,
|
|
title: '已购买'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '未体检'
|
|
}, {
|
|
id: 2,
|
|
title: '体检合格'
|
|
}, {
|
|
id: 3,
|
|
title: '体检不合格'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
whetherUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '否'
|
|
}, {
|
|
id: 2,
|
|
title: '是'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
isPassUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 0,
|
|
title: '不及格'
|
|
}, {
|
|
id: 1,
|
|
title: '及格'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
seriousGradeUp() {
|
|
return (typeId) => {
|
|
const dataList = [{
|
|
id: 1,
|
|
title: '不严重'
|
|
}, {
|
|
id: 2,
|
|
title: '严重'
|
|
}, {
|
|
id: 3,
|
|
title: '非常严重'
|
|
}];
|
|
const find = dataList.find(item => item.id == typeId);
|
|
|
|
return find ? find.title : '--'
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.icon-left,
|
|
.icon-right {
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
background-image: url('@/static/staffAttendance/attendance-icon1.png');
|
|
background-repeat: no-repeat;
|
|
background-size: 100% 100%;
|
|
}
|
|
|
|
.icon-right {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.icon-top {
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.new-nodata {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
>view {
|
|
width: 300rpx;
|
|
height: 300rpx;
|
|
background-image: url('@/static/staffAttendance/nodata.png');
|
|
background-repeat: no-repeat;
|
|
background-size: 100% 100%;
|
|
}
|
|
|
|
>text {
|
|
font-size: 22rpx;
|
|
color: #808080;
|
|
margin-top: 60rpx;
|
|
}
|
|
}
|
|
|
|
/deep/ .van-cell,
|
|
.item-cell {
|
|
padding: 22rpx 26rpx;
|
|
}
|
|
|
|
/deep/ .van-cell__title,
|
|
.item-cell_title {
|
|
color: #3190F3;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
/deep/ .van-collapse-item__content,
|
|
/deep/ .uni-collapse-item__wrap-content {
|
|
background-color: #F2F3F7;
|
|
padding: 26rpx;
|
|
}
|
|
|
|
.content-main {
|
|
padding: 26rpx;
|
|
}
|
|
|
|
.content-box1 {
|
|
// height: 554rpx;
|
|
// margin-top: 26rpx;
|
|
|
|
>view {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 20rpx 0;
|
|
border-bottom: 2rpx solid #F2F2F2;
|
|
font-size: 28rpx;
|
|
|
|
>view:first-child {
|
|
// width: 192rpx;
|
|
width: 260rpx;
|
|
color: #4D4D4D;
|
|
}
|
|
|
|
>view:last-child {
|
|
flex: 1;
|
|
color: #171717;
|
|
display: -webkit-box;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 1;
|
|
/* 限制为两行 */
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
|
|
.attachment {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
|
|
>view:not(:first-child) {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-top: 32rpx;
|
|
width: 100%;
|
|
|
|
>view:first-child {
|
|
display: flex;
|
|
align-items: center;
|
|
width: 70%;
|
|
|
|
>image {
|
|
width: 40rpx;
|
|
height: 40rpx
|
|
}
|
|
|
|
>view {
|
|
font-size: 28rpx;
|
|
color: #171717;
|
|
margin-left: 32rpx;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
>view:last-child {
|
|
font-size: 24rpx;
|
|
color: #808080;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.content-box {
|
|
width: 698rpx;
|
|
padding: 26rpx;
|
|
background: #FFFFFF;
|
|
box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(3, 92, 181, 0.1), 0rpx 8rpx 40rpx 0rpx rgba(0, 0, 0, 0.05);
|
|
border-radius: 16rpx;
|
|
|
|
.content-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
|
|
.header-title {
|
|
font-size: 32rpx;
|
|
color: #171717;
|
|
font-weight: bold;
|
|
}
|
|
|
|
>view:last-child {
|
|
font-size: 28rpx;
|
|
color: #808080;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
.fixedheader {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
z-index: 2;
|
|
|
|
/deep/ .headerBox {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.headerName {
|
|
z-index: 1;
|
|
}
|
|
}
|
|
|
|
.addIssue {
|
|
min-height: 100vh;
|
|
background-color: #F1F2F6;
|
|
}
|
|
|
|
/deep/ .uni-collapse-item__title-arrow {
|
|
display: none;
|
|
}
|
|
|
|
.flex-center {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.icon-screen {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-left: 22rpx;
|
|
|
|
>view:nth-child(1) {
|
|
border-bottom: 12rpx solid #333333;
|
|
border-right: 10rpx solid transparent;
|
|
border-left: 10rpx solid transparent;
|
|
}
|
|
|
|
>view:nth-child(2) {
|
|
border-top: 12rpx solid #333333;
|
|
border-right: 10rpx solid transparent;
|
|
border-left: 10rpx solid transparent;
|
|
margin-top: 4rpx;
|
|
}
|
|
|
|
.icon-screen_active {
|
|
border-bottom-color: #108BC7 !important;
|
|
border-top-color: #108BC7 !important;
|
|
}
|
|
}
|
|
</style> |