|
@@ -97,15 +97,15 @@
|
|
|
</van-col>
|
|
</van-col>
|
|
|
</van-row>
|
|
</van-row>
|
|
|
<!-- //卡片内容区域 -->
|
|
<!-- //卡片内容区域 -->
|
|
|
- <van-panel :title="item.title" v-for="item in taskList" :key="item.id" class="card" status="状态">
|
|
|
|
|
|
|
+ <van-panel :title="item.title" v-for="item in taskList" :key="item.id" class="card" status="状态">
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<div class="titleClass">
|
|
<div class="titleClass">
|
|
|
<div class="title">{{ item.title }}</div>
|
|
<div class="title">{{ item.title }}</div>
|
|
|
<div>
|
|
<div>
|
|
|
- <van-button plain type="info" v-if="item.status == 0" size="mini" @click="trainSign(item.id)"
|
|
|
|
|
|
|
+ <van-button plain type="info" v-if="isSign(item)" size="mini" @click="trainSign(item.id)"
|
|
|
>培训登记</van-button
|
|
>培训登记</van-button
|
|
|
>
|
|
>
|
|
|
- <van-button plain type="info" v-if="item.status == 1" size="mini" @click="signature(item.id)"
|
|
|
|
|
|
|
+ <van-button plain type="info" v-if="isSignature(item)" size="mini" @click="signature(item.id)"
|
|
|
>签名</van-button
|
|
>签名</van-button
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
@@ -113,34 +113,33 @@
|
|
|
</template>
|
|
</template>
|
|
|
<div @click="goInfo(item.id)">
|
|
<div @click="goInfo(item.id)">
|
|
|
<div class="mainItem">
|
|
<div class="mainItem">
|
|
|
- <div>单位名称</div>
|
|
|
|
|
- <div>{{ item.orgName }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="mainItem">
|
|
|
|
|
- <div>培训状态</div>
|
|
|
|
|
- <div>{{ item.statusText }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="mainItem">
|
|
|
|
|
- <div>培训类型</div>
|
|
|
|
|
- <div>{{ item.typeText }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="mainItem">
|
|
|
|
|
- <div>培训时间</div>
|
|
|
|
|
- <div>{{ item.startDate }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="mainItem">
|
|
|
|
|
- <div>签名情况</div>
|
|
|
|
|
- <div class="condition" @click="signatureCondition(item.id)">{{ item.signNums }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div>单位名称</div>
|
|
|
|
|
+ <div>{{ item.orgName }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="mainItem">
|
|
|
|
|
+ <div>培训状态</div>
|
|
|
|
|
+ <div>{{ item.statusText }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="mainItem">
|
|
|
|
|
+ <div>培训类型</div>
|
|
|
|
|
+ <div>{{ item.typeText }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="mainItem">
|
|
|
|
|
+ <div>培训时间</div>
|
|
|
|
|
+ <div>{{ item.startDate }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="mainItem">
|
|
|
|
|
+ <div>签名情况</div>
|
|
|
|
|
+ <div class="condition" @click="signatureCondition(item.id)">{{ item.signNums }}</div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
</van-panel>
|
|
</van-panel>
|
|
|
<!-- 卡片弹框 -->
|
|
<!-- 卡片弹框 -->
|
|
|
<van-dialog v-model="conditionShow" title="签名情况" show-cancel-button>
|
|
<van-dialog v-model="conditionShow" title="签名情况" show-cancel-button>
|
|
|
<div class="conditionCls">
|
|
<div class="conditionCls">
|
|
|
- <div class="title">已签名人员({{participationList.num}}人):</div>
|
|
|
|
|
|
|
+ <div class="title">已签名人员({{ participationList.num }}人):</div>
|
|
|
<div class="people">{{ participationList.list }}</div>
|
|
<div class="people">{{ participationList.list }}</div>
|
|
|
- <div class="title">未签名人员({{absenceList.num}}人):</div>
|
|
|
|
|
|
|
+ <div class="title">未签名人员({{ absenceList.num }}人):</div>
|
|
|
<div class="people">{{ absenceList.list }}</div>
|
|
<div class="people">{{ absenceList.list }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</van-dialog>
|
|
</van-dialog>
|
|
@@ -152,7 +151,7 @@ import { Col, Row, Cascader, Dialog, DatetimePicker, Icon, Picker } from 'vant'
|
|
|
import { gettrainingList, getsignUserList } from '@/api/training.js'
|
|
import { gettrainingList, getsignUserList } from '@/api/training.js'
|
|
|
import { deptTreeList } from '@/api/toConsult.js'
|
|
import { deptTreeList } from '@/api/toConsult.js'
|
|
|
import { Toast } from 'vant'
|
|
import { Toast } from 'vant'
|
|
|
-import {newDateMonth} from '@/utils/date.js'
|
|
|
|
|
|
|
+import { newDateMonth } from '@/utils/date.js'
|
|
|
export default {
|
|
export default {
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
@@ -161,15 +160,13 @@ export default {
|
|
|
num: 0 //人数
|
|
num: 0 //人数
|
|
|
},
|
|
},
|
|
|
absenceList: {
|
|
absenceList: {
|
|
|
-
|
|
|
|
|
- list: [],
|
|
|
|
|
- num: 0
|
|
|
|
|
-
|
|
|
|
|
|
|
+ list: [],
|
|
|
|
|
+ num: 0
|
|
|
}, // 缺席人员
|
|
}, // 缺席人员
|
|
|
- orgName: JSON.parse(sessionStorage.getItem("SET_USER_ORGNAME"))||'', //机构名称
|
|
|
|
|
- cascaderValue: JSON.parse(sessionStorage.getItem("SET_USER_ORGID"))||'', //机构ID
|
|
|
|
|
|
|
+ orgName: JSON.parse(sessionStorage.getItem('SET_USER_ORGNAME')) || '', //机构名称
|
|
|
|
|
+ cascaderValue: JSON.parse(sessionStorage.getItem('SET_USER_ORGID')) || '', //机构ID
|
|
|
show: false, //机构弹框显示隐藏
|
|
show: false, //机构弹框显示隐藏
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
options: [], //机构数组
|
|
options: [], //机构数组
|
|
|
fieldNames: {
|
|
fieldNames: {
|
|
|
text: 'name',
|
|
text: 'name',
|
|
@@ -179,13 +176,13 @@ export default {
|
|
|
taskList: [], //列表数据
|
|
taskList: [], //列表数据
|
|
|
typeValue: ' ', //类型值
|
|
typeValue: ' ', //类型值
|
|
|
typeName: '全部', //类型名称
|
|
typeName: '全部', //类型名称
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
typeStatus: false, //类型显示隐藏
|
|
typeStatus: false, //类型显示隐藏
|
|
|
showStatus: false, //状态显示隐藏
|
|
showStatus: false, //状态显示隐藏
|
|
|
showDate: false, //月份显示隐藏
|
|
showDate: false, //月份显示隐藏
|
|
|
fieldValue: '全部', //状态名称
|
|
fieldValue: '全部', //状态名称
|
|
|
statusValue: ' ', //状态值
|
|
statusValue: ' ', //状态值
|
|
|
- columns: ['全部','待记录', '待签名', '已完成'], //状态数组
|
|
|
|
|
|
|
+ columns: ['全部', '待记录', '待签名', '已完成'], //状态数组
|
|
|
typeColumns: ['每月安全培训教育', '专项安全培训教育'], //类型数组
|
|
typeColumns: ['每月安全培训教育', '专项安全培训教育'], //类型数组
|
|
|
currentDate: newDateMonth(), //月份值
|
|
currentDate: newDateMonth(), //月份值
|
|
|
conditionShow: false, //机构弹框显示隐藏
|
|
conditionShow: false, //机构弹框显示隐藏
|
|
@@ -228,11 +225,64 @@ export default {
|
|
|
return str
|
|
return str
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
created() {
|
|
created() {
|
|
|
this.init()
|
|
this.init()
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ //判断是否展示签名按钮
|
|
|
|
|
+ isSignature(list) {
|
|
|
|
|
+ let falg = false
|
|
|
|
|
+ let timefalg = false
|
|
|
|
|
+ //value1 当前登陆用户ID
|
|
|
|
|
+ //任务处于待记录状态,且任务在规定完成时间范围内,登录人所在机构和角色与任务培训角色、培训机构一致才显示
|
|
|
|
|
+ if (list.trainingStartDateTime && list.trainingEndDateTime && list.status == 1) {
|
|
|
|
|
+ let date = new Date().getTime()
|
|
|
|
|
+ let startDate = Date.parse(new Date(list.trainingStartDateTime))
|
|
|
|
|
+ let endDate = Date.parse(new Date(list.trainingEndDateTime))
|
|
|
|
|
+ if (date >= startDate && date <= endDate) {
|
|
|
|
|
+ timefalg = true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ list.userList?.forEach(item => {
|
|
|
|
|
+ if (this.value1 == item.userId && item.sign === 0) {
|
|
|
|
|
+ falg = true
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ if (falg && timefalg) {
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ //判断是否展示登记按钮
|
|
|
|
|
+ isSign(list) {
|
|
|
|
|
+ let falg = false
|
|
|
|
|
+ let timefalg = false
|
|
|
|
|
+ //value1 当前登陆用户ID
|
|
|
|
|
+ //当前时间再时间范围内且签名是待签名状态且签名列表存在当前登录人未签名的情况才可以进行签名
|
|
|
|
|
+ if (list.trainingStartDateTime && list.trainingEndDateTime && list.status == 1) {
|
|
|
|
|
+ let date = new Date().getTime()
|
|
|
|
|
+ let startDate = Date.parse(new Date(list.trainingStartDateTime))
|
|
|
|
|
+ let endDate = Date.parse(new Date(list.trainingEndDateTime))
|
|
|
|
|
+ if (date >= startDate && date <= endDate) {
|
|
|
|
|
+ timefalg = true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //cascaderValue 当前机构ID
|
|
|
|
|
+ //当前用户角色ID
|
|
|
|
|
+ let roleL = JSON.parse(sessionStorage.getItem('SET_USER_ROLELIST'))
|
|
|
|
|
+ roleL.forEach(i => {
|
|
|
|
|
+ list.taskRoleList?.forEach(item => {
|
|
|
|
|
+ if (this.cascaderValue == list.orgId && i.roleId == item.roleId) {
|
|
|
|
|
+ falg = true
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ if (falg && timefalg) {
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
//清空查询条件
|
|
//清空查询条件
|
|
|
clearSearch() {
|
|
clearSearch() {
|
|
|
this.fieldValue = ''
|
|
this.fieldValue = ''
|
|
@@ -395,11 +445,11 @@ export default {
|
|
|
},
|
|
},
|
|
|
//签名
|
|
//签名
|
|
|
signature(id) {
|
|
signature(id) {
|
|
|
- this.$router.push('/personnelSignature/' + id+'_edit')
|
|
|
|
|
|
|
+ this.$router.push('/personnelSignature/' + id + '_edit')
|
|
|
},
|
|
},
|
|
|
//跳转详情
|
|
//跳转详情
|
|
|
goInfo(id) {
|
|
goInfo(id) {
|
|
|
- this.$router.push('/personnelSignature/' + id+'_info')
|
|
|
|
|
|
|
+ this.$router.push('/personnelSignature/' + id + '_info')
|
|
|
},
|
|
},
|
|
|
onChange(picker, value, index) {},
|
|
onChange(picker, value, index) {},
|
|
|
onCancel() {
|
|
onCancel() {
|