Merge remote-tracking branch 'origin/liujun-2023-12-18-相关方需求更新' into 1212-八项作业迁移

main
liujun 2023-12-26 13:53:20 +08:00
commit 0711341b72
7 changed files with 563 additions and 539 deletions

View File

@ -96,7 +96,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CARD_ID" label="身份证号" width="150px"/> <el-table-column prop="CARD_ID" label="身份证号" width="150px"/>
<el-table-column prop="RELEVANT_UNIT_NAME" label="所属企业"/> <el-table-column prop="BELONG_TO_CORP_NAME" label="所属企业"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门"/> <el-table-column prop="DEPARTMENT_NAME" label="部门"/>
<el-table-column prop="PHOTO" label="免冠照片" width="120px"> <el-table-column prop="PHOTO" label="免冠照片" width="120px">
<template slot-scope="{row}"> <template slot-scope="{row}">

View File

@ -73,8 +73,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.CLASS_MESSAGE_ID)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.CLASS_MESSAGE_ID)"></el-button>
<el-button v-show="edit && row.CLASS_STATUS === '1'" type="primary" size="mini" @click="uploadExcel(row)"></el-button> <el-button v-show=" row.CLASS_STATUS === '1'" type="primary" size="mini" @click="uploadExcel(row)"></el-button>
<el-button v-if="false" v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.CLASS_MESSAGE_ID)"></el-button> <el-button v-if="false" v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.CLASS_MESSAGE_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -21,20 +21,20 @@
</el-form> </el-form>
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row> <el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column prop="RELEVANT_UNIT_NAME" fixed="left" width="150" label="相关方单位名称" /> <el-table-column prop="BELONG_TO_CORP_NAME" fixed="left" width="150" label="相关方单位名称" />
<el-table-column prop="CREATTIME" width="150" label="申请时间" /> <el-table-column prop="CREATTIME" width="150" label="申请时间" />
<el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部" width="150" /> <el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部" width="150" />
<el-table-column prop="SUPERVISION_USER_NAME" label="安全监督部人员" width="150" /> <el-table-column prop="SUPERVISION_USER_NAME" label="安全监督部人员" width="150" />
<el-table-column prop="MANAGER_DEPT_NAME" label="主管部门" width="150" /> <el-table-column prop="MANAGER_DEPARTMENT_NAME" label="主管部门" width="150" />
<el-table-column prop="MANAGER_USER_NAME" label="主管部门人员" width="150" /> <el-table-column prop="MANAGER_USER_NAME" label="主管部门人员" width="150" />
<el-table-column prop="TERRITORIALITY_DEPARTMENT_NAME" label="属地管理部门" width="150" /> <el-table-column v-if="false" prop="TERRITORIALITY_DEPARTMENT_NAME" label="属地管理部门" width="150" />
<el-table-column prop="TERRITORIALITY_USER_NAME" label="属地管理部门人员" width="150" /> <el-table-column v-if="false" prop="TERRITORIALITY_USER_NAME" label="属地管理部门人员" width="150" />
<el-table-column prop="TRAIN_DATE" label="申请年份" > <el-table-column prop="TRAIN_DATE" label="申请年份" >
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ new Date(row.CREATTIME).getFullYear() }} {{ new Date(row.CREATTIME).getFullYear() }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请通过人数" width="120"> <el-table-column v-if="false" label="申请通过人数" width="120">
<template slot-scope="{row}"> <template slot-scope="{row}">
<span v-if="row.PASS_COUNT">{{ row.PASS_COUNT }}</span> <span v-if="row.PASS_COUNT">{{ row.PASS_COUNT }}</span>
<span v-else>0</span> <span v-else>0</span>
@ -109,12 +109,13 @@ export default {
getList() { getList() {
this.listLoading = true this.listLoading = true
requestFN( requestFN(
'/flowTrain/trainList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/flowTrain/batchList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
VERIFY_START_TIME: this.dates[0], VERIFY_START_TIME: this.dates[0],
VERIFY_END_TIME: this.dates[1], VERIFY_END_TIME: this.dates[1],
XGF_NAME: this.XGF_NAME, XGF_NAME: this.XGF_NAME,
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
STEP_STATUS: '3'
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false

View File

@ -29,13 +29,13 @@
</tr> </tr>
<tr> <tr>
<th>主管部门</th> <th>主管部门</th>
<td>{{ pd.MAIN_DEPARTMENT_NAME }}</td> <td>{{ pd.MANAGER_DEPARTMENT_NAME }}</td>
<th>审核人员</th> <th>审核人员</th>
<td>{{ pd.MANAGER_USER_NAME }}</td> <td>{{ pd.MANAGER_USER_NAME }}</td>
<th>审核时间</th> <th>审核时间</th>
<td>{{ pd.MANAGER_TIME }}</td> <td>{{ pd.MANAGER_TIME }}</td>
</tr> </tr>
<tr> <tr v-if="pd.TERRITORIALITY_DEPARTMENT_NAME && pd.TERRITORIALITY_DEPARTMENT_NAME !== ''">
<th>属地管理部门</th> <th>属地管理部门</th>
<td>{{ pd.TERRITORIALITY_DEPARTMENT_NAME }}</td> <td>{{ pd.TERRITORIALITY_DEPARTMENT_NAME }}</td>
<th>审核人员</th> <th>审核人员</th>
@ -62,18 +62,16 @@
<el-table-column type="index" label="序号" width="50" align="center" /> <el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="USERNAME" label="用户名" /> <el-table-column prop="USERNAME" label="用户名" />
<el-table-column prop="NAME" label="姓名" /> <el-table-column prop="NAME" label="姓名" />
<el-table-column prop="DEPARTMENT_NAME" label="部门" /> <el-table-column prop="BELONG_TO_CORP_NAME" label="部门" />
<el-table-column prop="STATE" label="审核状态" align="center" > <el-table-column prop="STATE" label="审核状态" align="center" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-tag v-if="row.MANAGER_STATE === 0 || row.SUPERVISION_STATE === 0 || row.TERRITORIALITY_STATE === 0" type="danger"></el-tag> <span>{{ getType(row) }}</span>
<el-tag v-else-if="row.MANAGER_STATE === 1 && row.SUPERVISION_STATE === 1 && row.TERRITORIALITY_STATE === 1" type="success">审核通过</el-tag>
<el-tag v-else type="success">待审核</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="220"> <el-table-column label="操作" align="center" width="220">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row.USER_ID)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row.USER_ID)"></el-button>
<el-button v-if="row.MANAGER_STATE === 1 && row.SUPERVISION_STATE === 1 && row.TERRITORIALITY_STATE === 1 && row.AUDIT_STATUS === 3" type="primary" icon="el-icon-edit" size="mini" @click="handleCardShow(row.TRAINUSERS_ID)"></el-button> <el-button v-if="row.STATUS === 2" type="primary" icon="el-icon-edit" size="mini" @click="handleCardShow(row.TRAINUSERS_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -85,177 +83,9 @@
<el-button @click="closeWindow"> </el-button> <el-button @click="closeWindow"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
v-if="userInfoDialog"
:visible.sync="userInfoDialog"
:append-to-body="true"
title="查看"
width="60%">
<table class="table-ui" style="margin-bottom: 20px;">
<div class="level-title">
<h1>人员信息</h1>
</div>
<tr>
<th>照片</th>
<td>
<span v-if="imgUrl != ''">
<div class="img-flex">
<viewer>
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
</viewer>
</div>
</span>
<span v-else/>
</td>
<th>姓名</th>
<td>{{ userDetailForm.NAME }}</td>
<th>性别</th>
<td>{{ userDetailForm.SEX === '0' ? '男' : '女' }}</td>
</tr>
<tr>
<th>出生年月</th>
<td>{{ userDetailForm.DATE_OF_BIRTH }}</td>
<th>年龄</th>
<td>{{ userDetailForm.AGE }}</td>
<th>手机号</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>身份证</th>
<td>{{ userDetailForm.CARD_ID }}</td>
<th>身份证照片</th>
<!--if条件不可删除-->
<td v-if="userCardIDPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>民族</th>
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
<th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ userDetailForm.zzName }} {{
userDetailForm.zzName == '中共党员' ? '入党时间' + userDetailForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
<th>现住址</th>
<td>{{ userDetailForm.ADDRESS ? userDetailForm.ADDRESS : '暂无信息' }}</td>
<th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<th>岗位名称(工种)</th>
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
</tr>
<tr>
<th>是否缴纳社保</th>
<td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'">{{ userDetailForm.SOCIAL_NUMBER }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in socialPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否参加三级安全培训</th>
<td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
<th v-if="userDetailForm.IS_LEVEL_THREE == 1"></th>
<td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in photosOfLevel"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否缴纳保险</th>
<td >{{ formatLabel(userDetailForm.IS_BF) }}</td>
<th>是否特殊工种</th>
<td >{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
<th>是否流动人员</th>
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
</tr>
<tr v-if="message != ''">
<th>打回人</th>
<td>{{ operator }}</td>
<th>打回原因</th>
<td :colspan="3">{{ message }}</td>
</tr>
</table>
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
<h1>特种作业人员信息</h1>
</div>
<table v-for="(item,index) in specialUsersList" :key="index" class="table-ui" style="margin-bottom: 20px;" >
<tr>
<th style="width: 150px">证书名称</th>
<td style="width: 150px">{{ item.CERTIFICATE }}</td>
<th style="width: 150px">作业类别</th>
<td style="width: 180px">{{ item.SPECIAL_TYPE_NAME }}</td>
<th style="width: 150px">操作项目</th>
<td>{{ item.OPERATION_TYPE_NAME }}</td>
</tr>
<tr>
<th>特种作业证书编号</th>
<td>{{ item.SPECIAL_NUMBER }}</td>
<th>发证机关</th>
<td colspan="3">{{ item.ISSUING_AUTHORITY }}</td>
</tr>
<tr>
<th>复审时间</th>
<td>{{ item.REVIEW_TIME }}</td>
<th>有效期</th>
<td colspan="3">{{ item.VALIDITY_TIME_START }} {{ item.VALIDITY_TIME_END }}</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<el-button @click="userInfoDialog = false"> </el-button>
</div>
</el-dialog>
<card ref="card"/> <card ref="card"/>
<User ref="user"/> <User ref="user"/>
<user-info ref="userInfos"/>
</div> </div>
</template> </template>
@ -265,8 +95,10 @@ import { requestFN } from '@/utils/request'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import card from './card' import card from './card'
import User from './user' import User from './user'
import UserInfo from '../../xgf/flow_audit/userInfo.vue'
export default { export default {
components: { components: {
UserInfo,
User, User,
Pagination, Pagination,
card card
@ -308,7 +140,7 @@ export default {
requestFN( requestFN(
'/flowTrain/batchUserList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/flowTrain/batchUserList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
TRAININGBATCH_ID: this.pd.TRAININGBATCH_ID TRAINING_BATCH_ID: this.pd.TRAINING_BATCH_ID
} }
).then((data) => { ).then((data) => {
this.userList = data.varList this.userList = data.varList
@ -317,9 +149,8 @@ export default {
}) })
}, },
// //
async handleShow(USER_ID) { handleShow(USER_ID) {
await this.getUserInfoById(USER_ID) this.$refs.userInfos.init({ XGF_USER_ID: USER_ID })
this.userInfoDialog = true
}, },
getUserInfoById(id) { getUserInfoById(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -327,7 +158,6 @@ export default {
'/flowTrain/getUserDetailById', '/flowTrain/getUserDetailById',
{ {
USER_ID: id, USER_ID: id,
// CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
CER_TYPE: '7498057c4c1f4a11b9a960e66ea04a7a' CER_TYPE: '7498057c4c1f4a11b9a960e66ea04a7a'
} }
).then((data) => { ).then((data) => {
@ -376,6 +206,18 @@ export default {
handleCardShow(TRAINUSERS_ID) { handleCardShow(TRAINUSERS_ID) {
// this.$refs.card.init(USER_ID, this.pd.TRAIN_AREA_NAME) // this.$refs.card.init(USER_ID, this.pd.TRAIN_AREA_NAME)
this.$refs.user.init({ TRAINUSERS_ID: TRAINUSERS_ID }) this.$refs.user.init({ TRAINUSERS_ID: TRAINUSERS_ID })
},
getType(row) {
console.log(row)
if (row.RESULT_STATUS === '1') {
return '审批中'
}
if (row.RESULT_STATUS === '2') {
return '审批通过'
}
if (row.RESULT_STATUS === '3') {
return '审批不通过'
}
} }
} }
} }

View File

@ -1,14 +1,14 @@
<template> flowTrain/batchList<template>
<div class="app-container"> <div class="app-container">
<el-form label-width="90px"> <el-form label-width="100px">
<el-row :gutter="24"> <el-row>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="相关方名称"> <el-form-item label="相关方名称">
<el-input v-model="XGF_NAME" placeholder="相关方名称"/> <el-input v-model="XGF_NAME" placeholder="相关方名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col v-if="false" :span="6">
<el-form-item label="申请时间"> <el-form-item label="委托时间">
<el-date-picker <el-date-picker
v-model="dates" v-model="dates"
type="daterange" type="daterange"
@ -20,7 +20,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="4">
<el-form-item label-width="10px"> <el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"> <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索 搜索
@ -35,31 +35,31 @@
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row> <el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" /> <el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方单位名称" /> <el-table-column prop="BELONG_TO_CORP_NAME" label="相关方单位名称" />
<el-table-column prop="CREATTIME" label="申请时间" /> <el-table-column prop="CREATTIME" label="申请时间" />
<el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部" /> <el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部" />
<el-table-column prop="SUPERVISION_USER_NAME" label="安全监督部人员" /> <el-table-column prop="SUPERVISION_USER_NAME" label="安全监督部人员" />
<el-table-column prop="MAIN_DEPARTMENT_NAME" label="主管部门" /> <el-table-column prop="MANAGER_DEPARTMENT_NAME" label="主管部门" />
<el-table-column prop="MANAGER_USER_NAME" label="主管部门人员" /> <el-table-column prop="MANAGER_USER_NAME" label="主管部门人员" />
<el-table-column prop="TERRITORIALITY_DEPARTMENT_NAME" label="属地管理部门" /> <el-table-column v-if="false" prop="TERRITORIALITY_DEPARTMENT_NAME" label="属地管理部门" />
<el-table-column prop="TERRITORIALITY_USER_NAME" label="属地管理部门人员" /> <el-table-column v-if="false" prop="TERRITORIALITY_USER_NAME" label="属地管理部门人员" />
<el-table-column prop="TRAIN_DATE" label="申请年份" > <el-table-column prop="TRAIN_DATE" label="申请年份" >
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ new Date(row.CREATTIME).getFullYear() }} {{ new Date(row.CREATTIME).getFullYear() }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="AUDIT_STATUS" label="申请状态" > <el-table-column prop="STEP_STATUS" label="申请状态" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<span v-if="row.AUDIT_STATUS === 0"></span> <span v-if="row.STEP_STATUS === '0'"></span>
<span v-if="row.AUDIT_STATUS === 1"></span> <span v-if="row.STEP_STATUS === '1'"></span>
<span v-if="row.AUDIT_STATUS === 2"></span> <span v-if="row.STEP_STATUS === '2'"></span>
<span v-if="row.AUDIT_STATUS === 3"></span> <span v-if="row.STEP_STATUS === '3'"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-if="(row.AUDIT_STATUS === 0 || row.AUDIT_STATUS === -2) && ((row.MANAGER_USER_ID === USER_ID && row.managerCount !== row.USER_COUNT ) || (row.TERRITORIALITY_USER_ID === USER_ID && row.territorialityCount !== row.USER_COUNT ) || (row.SUPERVISION_USER_ID === USER_ID && row.supervisionCount !== row.USER_COUNT )) " type="success" icon="el-icon-edit" size="mini" @click="handleAudit(row)"></el-button> <el-button v-if="judge(row)" type="success" icon="el-icon-edit" size="mini" @click="handleAudit({id:row.TRAINING_BATCH_ID,vectory:judge(row)})"></el-button>
<el-button v-else type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button> <el-button v-else type="primary" icon="el-icon-edit" size="mini" @click="handleShow({id:row.TRAINING_BATCH_ID,vectory:judge(row)})"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -96,34 +96,13 @@ export default {
XGF_NAME: '', XGF_NAME: '',
dates: [], dates: [],
statusList: [{ value: 0, label: '股份公司待审核' }, { value: 1, label: '分公司待审核' }, { value: 2, label: '培训中' }, { value: 3, label: '培训完成' }, { value: -1, label: '股份公司审核未通过' }, { value: -2, label: '分公司审核未通过' }], statusList: [{ value: 0, label: '股份公司待审核' }, { value: 1, label: '分公司待审核' }, { value: 2, label: '培训中' }, { value: 3, label: '培训完成' }, { value: -1, label: '股份公司审核未通过' }, { value: -2, label: '分公司审核未通过' }],
AUDIT_STATUS: '', AUDIT_STATUS: ''
normalizer(node) {
return {
id: node.id,
label: node.name,
children: node.nodes
}
},
treeData: [],
TRAIN_CORP_DEPTS: []
} }
}, },
created() { created() {
this.getList() this.getList()
this.getTreeData()
}, },
methods: { methods: {
//
getTreeData() {
requestFN(
'/corpDepartment/listTreeCorpDept',
{}
).then((data) => {
this.treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).catch((e) => {
})
},
getQuery() { getQuery() {
this.$refs.multipleTable.clearSelection() this.$refs.multipleTable.clearSelection()
this.listQuery = { this.listQuery = {
@ -134,7 +113,6 @@ export default {
}, },
goKeyReset() { goKeyReset() {
this.dates = [] this.dates = []
this.TRAIN_CORP_DEPTS = []
this.XGF_NAME = '' this.XGF_NAME = ''
this.AUDIT_STATUS = '' this.AUDIT_STATUS = ''
this.getQuery() this.getQuery()
@ -144,12 +122,13 @@ export default {
requestFN( requestFN(
'/flowTrain/batchList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/flowTrain/batchList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
XGF_NAME_REG: this.XGF_NAME, XGF_NAME: this.XGF_NAME,
STARTTIME: this.dates[0], ENTRUST_STARTTIME: this.dates[0],
ENDTIME: this.dates[1], ENTRUST_ENDTIME: this.dates[1],
TRAIN_CORP_DEPTS: this.TRAIN_CORP_DEPTS.join(','),
AUDIT_STATUS: this.AUDIT_STATUS, AUDIT_STATUS: this.AUDIT_STATUS,
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID TYPE: 2,
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
NU_STEP_STATUS: '3'
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -161,12 +140,24 @@ export default {
}) })
}, },
handleAudit(row) { handleAudit(e) {
this.$refs.users.init(row.TRAININGBATCH_ID, '1', row) this.$refs.users.init(e.id, '1', e.vectory)
}, },
handleShow(row) { handleShow(e) {
this.$refs.users.init(row.TRAININGBATCH_ID, '0', row) this.$refs.users.init(e.id, '0', e.vectory)
},
judge(row) {
if (row.STEP_STATUS === '0') {
return this.USER_ID === row.TERRITORIALITY_USER_ID
}
if (row.STEP_STATUS === '1') {
return this.USER_ID === row.MANAGER_USER_ID
}
if (row.STEP_STATUS === '2') {
return this.USER_ID === row.SUPERVISION_USER_ID
}
return false
} }
} }
} }

View File

@ -0,0 +1,410 @@
<template>
<div>
<el-dialog
v-loading="loading"
v-if="visible"
:visible.sync="visible"
:append-to-body="true"
title="查看"
width="80%">
<div class="information">
<el-scrollbar style="height: 550px;margin-bottom: 10px">
<table class="table-ui" style="margin-bottom: 20px;">
<div class="level-title">
<h1>人员信息</h1>
</div>
<tr>
<th>照片</th>
<td>
<span v-if="imgUrl != ''">
<div class="img-flex">
<viewer>
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
</viewer>
</div>
</span>
<span v-else/>
</td>
<th>姓名</th>
<td>{{ userDetailForm.NAME }}</td>
<th>性别</th>
<td>{{ userDetailForm.SEX === '0' ? '男' : '女' }}</td>
</tr>
<tr>
<th>出生年月</th>
<td>{{ userDetailForm.DATE_OF_BIRTH }}</td>
<th>年龄</th>
<td>{{ userDetailForm.AGE }}</td>
<th>手机号</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>身份证</th>
<td>{{ userDetailForm.CARD_ID }}</td>
<th>身份证照片</th>
<!--if条件不可删除-->
<td v-if="userCardIDPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>民族</th>
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
<th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ userDetailForm.zzName }} {{
userDetailForm.zzName == '中共党员' ? '入党时间' + userDetailForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
<th>现住址</th>
<td>{{ userDetailForm.ADDRESS ? userDetailForm.ADDRESS : '暂无信息' }}</td>
<th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<th>岗位名称(工种)</th>
<td colspan="5">{{ userDetailForm.POST_ID }}</td>
</tr>
<tr>
<th>是否缴纳社保</th>
<td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'">{{ userDetailForm.SOCIAL_NUMBER }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in socialPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否参加三级安全培训</th>
<td>{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
<th v-if="userDetailForm.IS_LEVEL_THREE == 1"></th>
<td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="5">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in photosOfLevel"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否缴纳保险</th>
<td>{{ formatLabel(userDetailForm.IS_BF) }}</td>
<th>是否特殊工种</th>
<td>{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
<th>是否流动人员</th>
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
</tr>
</table>
<div>
<div class="level-title">
<h1>培训记录</h1>
</div>
<el-table
:data="trainRecordList"
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
tooltip-effect="dark"
border
fit
highlight-current-row>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="CLASS_NAME" label="班级名称" align="center"/>
<el-table-column prop="OPENING_TIME" label="开班时间" align="center"/>
<el-table-column prop="TRAINING_TYPE_NAME" label="培训类型" align="center"/>
<el-table-column prop="PLACE_NAME" label="培训地点" align="center"/>
<el-table-column label="培训有效期" align="center">
<template slot-scope="{row}">
<span>{{ formatDate(row.VALIDITY_PERIOD_START) }} {{ formatDate(row.VALIDITY_PERIOD_END) }}</span>
</template>
</el-table-column>
</el-table>
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
<h1>特种作业人员信息</h1>
</div>
<table v-for="(item,index) in specialUsersList" :key="index" class="table-ui" style="margin-bottom: 20px;">
<tr>
<th style="width: 150px">证书名称</th>
<td style="width: 150px">{{ item.CERTIFICATE }}</td>
<th style="width: 150px">作业类别</th>
<td style="width: 180px">{{ item.SPECIAL_TYPE_NAME }}</td>
<th style="width: 150px">操作项目</th>
<td>{{ item.OPERATION_TYPE_NAME }}</td>
</tr>
<tr>
<th>特种作业证书编号</th>
<td>{{ item.SPECIAL_NUMBER }}</td>
<th>发证机关</th>
<td colspan="3">{{ item.ISSUING_AUTHORITY }}</td>
</tr>
<tr>
<th>复审时间</th>
<td>{{ item.REVIEW_TIME }}</td>
<th>有效期</th>
<td colspan="3">{{ item.VALIDITY_TIME_START }} {{ item.VALIDITY_TIME_END }}</td>
</tr>
</table>
<div v-if="applyList.length > 0" class="level-title mt-20">
<h1>申请信息</h1>
</div>
<el-table
v-if="applyList.length > 0"
:data="applyList"
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
tooltip-effect="dark"
border
fit
highlight-current-row>
<el-table-column type="expand">
<template slot-scope="props">
<el-row>
<el-form label-position="left" inline class="demo-table-expand">
<el-col :span="5">
<el-form-item v-if="false" label="属地管理部门">
<span>{{ props.row.TERRITORIALITY_DEPARTMENT_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item v-if="false" label="审批人">
<span>{{ props.row.TERRITORIALITY_USER_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item v-if="false" label="审批结果">
<span v-if="props.row.TERRITORIALITY_STATE === 0"></span>
<span v-if="props.row.TERRITORIALITY_STATE ===1"></span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item v-if="false" label="审批意见">
<span>{{ props.row.TERRITORIALITY_OPINION }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="主管部门">
<span>{{ props.row.MANAGER_DEPARTMENT_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="审批人">
<span>{{ props.row.MANAGER_USER_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="审批人">
<span v-if="props.row.MANAGER_STATE === 0"></span>
<span v-if="props.row.MANAGER_STATE ===1"></span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="审批意见">
<span>{{ props.row.MANAGER_OPINION }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="主管部门">
<span>{{ props.row.SUPERVISION_DEPARTMENT_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="审批人">
<span>{{ props.row.SUPERVISION_USER_NAME }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="审批人">
<span v-if="props.row.SUPERVISION_STATE === 0"></span>
<span v-if="props.row.SUPERVISION_STATE ===1"></span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="审批意见">
<span>{{ props.row.SUPERVISION_OPINION }}</span>
</el-form-item>
</el-col>
</el-form>
</el-row>
</template>
</el-table-column>
<el-table-column v-if="false" prop="TERRITORIALITY_DEPARTMENT_NAME" label="属地管理部门" align="center"/>
<el-table-column v-if="false" prop="TERRITORIALITY_USER_NAME" label="审批人" align="center"/>
<el-table-column v-if="false" prop="TERRITORIALITY_STATE" label="审批结果" align="center">
<template slot-scope="{row}">
<span v-if="row.TERRITORIALITY_STATE === 0"></span>
<span v-if="row.TERRITORIALITY_STATE ===1"></span>
</template>
</el-table-column>
<el-table-column prop="MANAGER_DEPARTMENT_NAME" label="主管部门" align="center"/>
<el-table-column prop="MANAGER_USER_NAME" label="审批人" align="center"/>
<el-table-column prop="MANAGER_STATE" label="审批结果" align="center">
<template slot-scope="{row}">
<span v-if="row.MANAGER_STATE === 0"></span>
<span v-if="row.MANAGER_STATE ===1"></span>
</template>
</el-table-column>
<el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部门" align="center"/>
<el-table-column prop="SUPERVISION_USER_NAME" label="审批人" align="center"/>
<el-table-column prop="SUPERVISION_STATE" label="审批结果" align="center">
<template slot-scope="{row}">
<span v-if="row.SUPERVISION_STATE === 0"></span>
<span v-if="row.SUPERVISION_STATE ===1"></span>
</template>
</el-table-column>
<div slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
</div>
</el-table>
</div>
</el-scrollbar>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
import dateformat from '@/utils/dateformat'
import { requestFN } from '@/utils/request'
export default {
components: { vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false,
imgUrl: '',
userDetailForm: {},
userCardIDPhotoFile: [], //
trainRecordList: [],
photosOfLevel: [], //
specialUsersList: {},
insuranceFileList: [], //
contractFileList: [],
socialPhotoFile: [],
gongshangbaoxianFile: [],
applyList: [],
loading: false,
heirloom: {},
config: config
}
},
methods: {
init(e) {
console.log(e)
this.visible = true
this.heirloom = JSON.parse(JSON.stringify(e))
this.getUserInfoById(this.heirloom)
},
formatDate(date, column) {
if (date) {
return dateformat(date, 'YYYY-MM-DD')
} else {
return ''
}
},
getUserInfoById(row) {
this.loading = true
requestFN(
'/xgf/user/getInfo',
{
XGF_USER_ID: row.XGF_USER_ID,
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
CER_TYPE: '7498057c4c1f4a11b9a960e66ea04a7a'
}
).then((data) => {
this.loading = false
Object.assign(this.userDetailForm, data.info)
const picture = data.img
this.userPhotoFile = picture.userPhotoFile
if (this.userPhotoFile.length > 0) {
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
}
this.photosOfLevel = picture.photosOfLevel
this.specialUsersList = picture.specialUsers
this.insuranceFileList = picture.insuranceFile
this.contractFileList = picture.contractFile
this.userCardIDPhotoFile = picture.userCardIDPhotoFile
this.socialPhotoFile = picture.socialPhotoFile
this.gongshangbaoxianFile = picture.gongshangbaoxianFile
if (row.STATUS === '2') {
this.qrCodeStr = config.messageUrl + '?USER_ID=' + row.USER_ID
} else {
this.qrCodeStr = ''
}
this.trainRecordList = data.trainRecordList
this.applyList = data.applyList
}).catch((e) => {
console.log(e)
})
},
formatLabel(value) {
if (value == '1') {
return '是'
} else if (value == '0') {
return '否'
} else {
return ''
}
}
}
}
</script>
<style lang="scss" scoped>
</style>
<style scoped>
.information >>> .el-scrollbar__wrap {
overflow-x: hidden;
}
</style>

View File

@ -22,7 +22,7 @@
<tr> <tr>
<th>安全监督部门</th> <th>安全监督部门</th>
<td>{{ pd.SUPERVISION_DEPT_NAME }}</td> <td>{{ pd.SUPERVISION_DEPARTMENT_NAME }}</td>
<th>审核人员</th> <th>审核人员</th>
<td>{{ pd.SUPERVISION_USER_NAME }}</td> <td>{{ pd.SUPERVISION_USER_NAME }}</td>
<th>审核时间</th> <th>审核时间</th>
@ -30,17 +30,17 @@
</tr> </tr>
<tr> <tr>
<th>主管部门</th> <th>主管部门</th>
<td>{{ pd.MANAGER_DEPT_NAME }}</td> <td>{{ pd.MANAGER_DEPARTMENT_NAME }}</td>
<th>审核人员</th> <th>审核人员</th>
<td>{{ pd.MANAGER_USER_NAME }}</td> <td>{{ pd.MANAGER_USER_NAME }}</td>
<th>审核时间</th> <th>审核时间</th>
<td>{{ pd.MANAGER_TIME }}</td> <td>{{ pd.MANAGER_TIME }}</td>
</tr> </tr>
<tr> <tr v-if="pd.TERRITORIALITY_DEPARTMENT_NAME && pd.TERRITORIALITY_DEPARTMENT_NAME !== ''">
<th>管理部门</th> <th>集团单位</th>
<td>{{ pd.ERRITORIALITY_DEPT_NAME }}</td> <td>{{ pd.TERRITORIALITY_DEPARTMENT_NAME }}</td>
<th>审核人员</th> <th>审核人员</th>
<td>{{ pd.ERRITORIALITY_USER_NAME }}</td> <td>{{ pd.TERRITORIALITY_USER_NAME }}</td>
<th>审核时间</th> <th>审核时间</th>
<td>{{ pd.TERRITORIALITY_TIME }}</td> <td>{{ pd.TERRITORIALITY_TIME }}</td>
</tr> </tr>
@ -57,7 +57,6 @@
ref="multipleTable" ref="multipleTable"
:data="userList" :data="userList"
:header-cell-style="{'font-weight': 'bold','color': '#000'}" :header-cell-style="{'font-weight': 'bold','color': '#000'}"
:row-class-name="tableRowClassName"
tooltip-effect="dark" tooltip-effect="dark"
border border
fit fit
@ -66,8 +65,8 @@
<el-table-column type="index" label="序号" width="50" align="center"/> <el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="USERNAME" label="用户名"/> <el-table-column prop="USERNAME" label="用户名"/>
<el-table-column prop="NAME" label="姓名"/> <el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门"/> <el-table-column prop="BELONG_TO_CORP_NAME" label="部门"/>
<el-table-column prop="STATUS" label="评审状态"> <el-table-column prop="STUDY_STATUS" label="评审状态">
<template slot-scope="{row}"> <template slot-scope="{row}">
<span>{{ getType(row) }}</span> <span>{{ getType(row) }}</span>
</template> </template>
@ -75,20 +74,8 @@
<el-table-column label="操作" align="center" width="240"> <el-table-column label="操作" align="center" width="240">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button>
<el-button <el-button v-if="row.STATUS === 2" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button>
v-if="row.STATUS === 2 && row.TRAIN_STATUS === '1' && row.SUPERVISION_STATE === 1 && row.MANAGER_STATE === 1 && row.TERRITORIALITY_STATE===1" <el-button v-if="(row[pd.step] === 9 && row.RESULT_STATUS === '1')" type="success" icon="el-icon-edit" size="mini" @click="examineShow(row)"></el-button>
type="success"
icon="el-icon-edit"
size="mini"
@click="getUserInfo(row)">电子合格证
</el-button>
<el-button
v-if="(row.STATUS === 0 ||row.STATUS === 1 )&& viewState ==='1' && ((row.MANAGER_USER_ID === USER_ID && row.MANAGER_STATE === 9 && row.STEP_STATUS === '1' ) || (row.SUPERVISION_USER_ID === USER_ID && row.MANAGER_STATE === 1 && row.STEP_STATUS === '2') || (row.TERRITORIALITY_USER_ID === USER_ID && row.SUPERVISION_STATE === 9 && (row.STEP_STATUS === '0' || !row.STEP_STATUS)))"
type="success"
icon="el-icon-edit"
size="mini"
@click="examineShow(row)">审核
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -98,172 +85,9 @@
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="closeWindow"> </el-button> <el-button @click="closeWindow"> </el-button>
<el-button v-if="vectory" type="primary" @click="comfirm"></el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
v-if="userInfoDialog"
:visible.sync="userInfoDialog"
:append-to-body="true"
title="查看"
width="60%">
<table class="table-ui" style="margin-bottom: 20px;">
<div class="level-title">
<h1>人员信息</h1>
</div>
<tr>
<th>照片</th>
<td>
<span v-if="imgUrl != ''">
<div class="img-flex">
<viewer>
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
</viewer>
</div>
</span>
<span v-else/>
</td>
<th>姓名</th>
<td>{{ userDetailForm.NAME }}</td>
<th>性别</th>
<td>{{ userDetailForm.SEX === '0' ? '男' : '女' }}</td>
</tr>
<tr>
<th>出生年月</th>
<td>{{ userDetailForm.DATE_OF_BIRTH }}</td>
<th>年龄</th>
<td>{{ userDetailForm.AGE }}</td>
<th>手机号</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>身份证</th>
<td>{{ userDetailForm.CARD_ID }}</td>
<th>身份证照片</th>
<!--if条件不可删除-->
<td v-if="userCardIDPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in userCardIDPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>民族</th>
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
<th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th>
<td>{{ userDetailForm.zzName }} {{
userDetailForm.zzName == '中共党员' ? '入党时间' + userDetailForm.POLITICAL_TIME : ''
}}
</td>
</tr>
<tr>
<th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
<th>现住址</th>
<td>{{ userDetailForm.ADDRESS ? userDetailForm.ADDRESS : '暂无信息' }}</td>
<th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td>
</tr>
<tr>
<th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<th>岗位名称(工种)</th>
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
</tr>
<tr>
<th>是否缴纳社保</th>
<td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'">{{ userDetailForm.SOCIAL_NUMBER }}</td>
<th v-if="userDetailForm.IS_SOCIAL === '1'"></th>
<td v-if="userDetailForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in socialPhotoFile"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否参加三级安全培训</th>
<td>{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
<th v-if="userDetailForm.IS_LEVEL_THREE == 1"></th>
<td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
<span>
<div class="img-flex">
<viewer>
<img
v-for="item in photosOfLevel"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</div>
</span>
</td>
</tr>
<tr>
<th>是否缴纳保险</th>
<td>{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
<th>是否特殊工种</th>
<td>{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
<th>是否流动人员</th>
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
</tr>
</table>
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
<h1>特种作业人员信息</h1>
</div>
<table v-for="(item,index) in specialUsersList" :key="index" class="table-ui" style="margin-bottom: 20px;">
<tr>
<th style="width: 150px">证书名称</th>
<td style="width: 150px">{{ item.CERTIFICATE }}</td>
<th style="width: 150px">作业类别</th>
<td style="width: 180px">{{ item.SPECIAL_TYPE_NAME }}</td>
<th style="width: 150px">操作项目</th>
<td>{{ item.OPERATION_TYPE_NAME }}</td>
</tr>
<tr>
<th>特种作业证书编号</th>
<td>{{ item.SPECIAL_NUMBER }}</td>
<th>发证机关</th>
<td colspan="3">{{ item.ISSUING_AUTHORITY }}</td>
</tr>
<tr>
<th>复审时间</th>
<td>{{ item.REVIEW_TIME }}</td>
<th>有效期</th>
<td colspan="3">{{ item.VALIDITY_TIME_START }} {{ item.VALIDITY_TIME_END }}</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<el-button @click="userInfoDialog = false"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogVisible" title="审核"> <el-dialog :visible.sync="dialogVisible" title="审核">
<el-form ref="StreetListingForm" :model="form" label-width="110px" style="width: 500px;"> <el-form ref="StreetListingForm" :model="form" label-width="110px" style="width: 500px;">
<el-form-item label="审核是否通过" prop="IS_LISTING"> <el-form-item label="审核是否通过" prop="IS_LISTING">
@ -283,62 +107,71 @@
</span> </span>
</el-dialog> </el-dialog>
<user ref="userInfo" append-to-body/> <user ref="userInfo" append-to-body/>
<user-info ref="userInfos"/>
</div> </div>
</template> </template>
<script> <script>
import Pagination from '@/components/Pagination' // el-pagination import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import user from './user.vue'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import user from './user.vue'
import UserInfo from './userInfo.vue'
export default { export default {
components: { components: {
UserInfo,
Pagination, user Pagination, user
}, },
data() { data() {
return { return {
config: config,
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID, USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
userInfoDialog: false, config: config,
userDetailForm: {}, userDetailForm: {},
imgUrl: '', imgUrl: '',
wenhuachengduList: [], // gongshangbaoxianFile: [],
postList: [], // photosOfLevel: [],
visible: false, visible: false,
pd: {}, pd: {},
userList: [], userList: [],
contractFile: [], contractFile: [],
insuranceFile: [], insuranceFile: [],
specialUsersList: {},
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20 limit: 20
}, },
TRAININGBATCH_ID: '', TRAININ_GBATCH_ID: '',
total: 0, total: 0,
viewState: '0', viewState: '0',
dialogVisible: false, dialogVisible: false,
form: { form: {
TRAINUSERS_ID: '', // id TRAINING_BATCH_ID: this.TRAINING_BATCH_ID,
TRAININGBATCH_ID: '', TRAIN_USERS_ID: '', // id
USER_COUNT: '', // USER_COUNT: '', //
type: '', type: 2,
IS_STATE: 1, IS_STATE: 1,
OPINION: '' OPINION: '',
USER_ID: ''
}, },
heirloom: {}, heirloom: {},
specialUsersList: {},
message: '', message: '',
operator: '', operator: '',
photosOfLevel: [] vectory: false
} }
}, },
methods: { methods: {
init(id, viewState, row) { init(id, viewState, vectory) {
this.vectory = vectory
this.form.TRAINING_BATCH_ID = this.TRAINING_BATCH_ID
this.form.TRAIN_USERS_ID = ''
this.form.USER_COUNT = ''
this.form.type = '2'
this.form.IS_STATE = 1
this.form.OPINION = ''
this.viewState = viewState this.viewState = viewState
if (id) { if (id) {
this.TRAININGBATCH_ID = id this.TRAINING_BATCH_ID = id
this.getDataById(id) this.getDataById(id)
this.getUserList(id) this.getUserList(id)
} }
@ -346,85 +179,31 @@ export default {
this.visible = true this.visible = true
this.userList = [] this.userList = []
}, },
/** 根据id 获取数据 **/
getDataById(id) { getDataById(id) {
requestFN( requestFN(
'/flowTrain/getDetailsById', '/flowTrain/getDetailsById',
{ {
TRAININGBATCH_ID: id TRAINING_BATCH_ID: id
} }
).then((data) => { ).then((data) => {
this.pd = data.pd this.pd = data.pd
}).catch((e) => { }).catch((e) => {
}) })
}, },
formatLabelBf(value) {
if (value) {
var valList = value.split(',')
var label = []
for (let i = 0; i < valList.length; i++) {
if (valList[i] == 0) {
label.push('无')
break
}
if (valList[i] == 1) {
label.push('商业保险')
}
if (valList[i] == 2) {
label.push('工伤保险')
}
}
return label.join(',')
}
},
//
formatLabel(value) {
if (value == '1') {
return '是'
} else if (value == '0') {
return '否'
} else {
return ''
}
},
getUserInfo(row) { getUserInfo(row) {
this.$refs.userInfo.init(row) this.$refs.userInfo.init(row)
}, },
// //
async handleShow(row) { handleShow(row) {
await this.getUserInfoById(row.USER_ID) this.$refs.userInfos.init(row)
this.userInfoDialog = true
this.heirloom = row
console.log(row)
console.log('?????')
if (row.SUPERVISION_STATE === 0 || row.MANAGER_STATE === 0 || row.TERRITORIALITY_STATE === 0) {
if (row.SUPERVISION_STATE === 0) {
this.message = row.SUPERVISION_OPINION
this.operator = row.SUPERVISION_USER_NAME
}
if (row.MANAGER_STATE === 0) {
this.message = row.MANAGER_OPINION
this.operator = row.MANAGER_USER_NAME
}
if (row.TERRITORIALITY_STATE === 0) {
this.message = row.TERRITORIALITY_OPINION
this.operator = row.TERRITORIALITY_USER_NAME
}
} else {
this.message = ''
this.operator = ''
}
}, },
examineShow(row) { examineShow(row) {
this.form.TRAINUSERS_ID = row.TRAINUSERS_ID this.form.TRAIN_USERS_ID = row.TRAIN_USERS_ID
this.form.USER_COUNT = this.pd.USER_COUNT
this.form.type = '1'
this.form.USER_ID = row.USER_ID
this.dialogVisible = true this.dialogVisible = true
this.form.TRAININGBATCH_ID = this.TRAININGBATCH_ID
}, },
// //
approve() { approve() {
this.form.TRAINING_BATCH_ID = this.TRAININ_GBATCH_ID
if (!(this.form.IS_STATE === 1 || this.form.IS_STATE === 0)) { if (!(this.form.IS_STATE === 1 || this.form.IS_STATE === 0)) {
this.$message.error('请先择') this.$message.error('请先择')
return return
@ -440,15 +219,15 @@ export default {
).then((data) => { ).then((data) => {
if (data.result === 'success') { if (data.result === 'success') {
this.$message.success('审批成功') this.$message.success('审批成功')
this.init(this.TRAININGBATCH_ID, this.viewState) this.init(this.TRAINING_BATCH_ID, this.viewState, this.vectory)
} else if (data.result === 'exception') { } else if (data.result === 'exception') {
// showException('', data.exception)//
this.$message({ this.$message({
message: data.msg, message: data.msg,
type: 'success' type: 'success'
}) })
} }
this.getUserList(this.TRAININGBATCH_ID) this.getUserList(this.TRAINING_BATCH_ID)
this.getDataById(this.TRAINING_BATCH_ID)
this.dialogVisible = false this.dialogVisible = false
}).catch((e) => { }).catch((e) => {
}) })
@ -460,23 +239,18 @@ export default {
{ {
USER_ID: id, USER_ID: id,
CER_TYPE: '7498057c4c1f4a11b9a960e66ea04a7a' CER_TYPE: '7498057c4c1f4a11b9a960e66ea04a7a'
// CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID
} }
).then((data) => { ).then((data) => {
this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail) this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail)
console.log(this.userDetailForm)
this.listLoading = false this.listLoading = false
// this.userDetailForm = Object.assign(this.userDetailForm, data.pd)
this.userPhotoFile = data.userPhotoFile this.userPhotoFile = data.userPhotoFile
if (this.userPhotoFile && this.userPhotoFile.length > 0) { if (this.userPhotoFile.length > 0) {
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
} }
this.insuranceFileList = data.insuranceFile this.photosOfLevel = data.photosOfLevel
this.specialUsersList = data.specialUsers
this.contractFileList = data.contractFile
this.userCardIDPhotoFile = data.userCardIDPhotoFile this.userCardIDPhotoFile = data.userCardIDPhotoFile
this.socialPhotoFile = data.socialPhotoFile this.socialPhotoFile = data.socialPhotoFile
this.gongshangbaoxianFile = data.gongshangbaoxianFile this.specialUsersList = data.specialUsers
resolve() resolve()
}).catch((e) => { }).catch((e) => {
reject() reject()
@ -488,11 +262,10 @@ export default {
requestFN( requestFN(
'/flowTrain/batchUserList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/flowTrain/batchUserList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
TRAININGBATCH_ID: id TRAINING_BATCH_ID: id
} }
).then((data) => { ).then((data) => {
this.userList = data.varList this.userList = data.varList
console.log(this.userList)
this.total = data.page.totalResult this.total = data.page.totalResult
}).catch((e) => { }).catch((e) => {
}) })
@ -506,36 +279,43 @@ export default {
this.handleClose() this.handleClose()
}, },
getType(row) { getType(row) {
if (row.SUPERVISION_STATE === 9 && row.MANAGER_STATE === 9 && row.TERRITORIALITY_STATE === 9) { console.log(row)
return '未评审' if (row.RESULT_STATUS === '1') {
return '审批中'
} }
if (row.SUPERVISION_STATE === 1 && row.MANAGER_STATE === 1 && row.TERRITORIALITY_STATE === 1) { if (row.RESULT_STATUS === '2') {
return '通过' return '审批通过'
} }
if (row.SUPERVISION_STATE === 0 || row.MANAGER_STATE === 0 || row.TERRITORIALITY_STATE === 0) { if (row.RESULT_STATUS === '3') {
return '未通过' return '审批不通过'
}
if ((row.SUPERVISION_STATE === 1 || row.MANAGER_STATE === 1 || row.TERRITORIALITY_STATE === 1) &&
(row.SUPERVISION_STATE === 9 || row.MANAGER_STATE === 9 || row.TERRITORIALITY_STATE === 9) &&
!(row.SUPERVISION_STATE === 0 || row.MANAGER_STATE === 0 || row.TERRITORIALITY_STATE === 0)) {
return '评审中'
} }
}, },
tableRowClassName({ row, rowIndex }) { comfirm() {
if (row.STEP_STATUS === '3') { for (let i = 0; i < this.userList.length; i++) {
return 'warning-row' if ((this.userList[i][this.pd.step] === 9 && this.userList[i].RESULT_STATUS === '1')) {
this.$message.error('还有人员未审批')
return
}
} }
this.$confirm('确定提交审批吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
requestFN(
'/flowTrain/endApproval',
{
TRAINING_BATCH_ID: this.TRAINING_BATCH_ID
}
).then((data) => {
this.visible = false
this.handleClose()
}).catch((e) => {
console.log(e)
})
}).catch(() => {
})
} }
} }
} }
</script> </script>
<style>
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
</style>