Merge branch '1222-八项作业地图迁移修改' into 新动火作业1128
commit
e155e67558
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,220 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container">
|
||||
<el-page-header content="查看详情" @back="goBack"/>
|
||||
<table class="table-ui mt-20">
|
||||
<tr>
|
||||
<td class="tbg">隐患照片</td>
|
||||
<td v-viewer>
|
||||
<img v-for="(item,index) in pd.hiddenImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.hiddenVideos && pd.hiddenVideos.length !== 0 && pd.hiddenVideos[0].FILEPATH">
|
||||
<td class="tbg">隐患视频</td>
|
||||
<td>
|
||||
<el-button icon="el-icon-video-camera" circle @click="goViewVideo(config.fileUrl + pd.hiddenVideos[0].FILEPATH)"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患描述</td>
|
||||
<td>{{ pd.HIDDENDESCR }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患部位</td>
|
||||
<td>{{ pd.HIDDENPART }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患级别</td>
|
||||
<td>{{ pd.HIDDENLEVEL_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患类型</td>
|
||||
<td>{{ pd.HIDDENTYPE_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患处置</td>
|
||||
<td>限期整改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">整改期限</td>
|
||||
<td>{{ pd.RECTIFICATIONDEADLINE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">整改部门</td>
|
||||
<td>{{ pd.RECTIFICATIONDEPT_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">整改人</td>
|
||||
<td>{{ pd.RECTIFICATIONOR_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">整改时间</td>
|
||||
<td>{{ pd.RECTIFICATIONTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">整改照片</td>
|
||||
<td v-viewer>
|
||||
<img v-for="(item,index) in pd.zgImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.STATE === '4'">
|
||||
<td class="tbg">验收时间</td>
|
||||
<td>{{ pd.CHECKTIME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.STATE === '4'">
|
||||
<td class="tbg">验收图片</td>
|
||||
<td v-viewer>
|
||||
<img v-for="(item,index) in pd.ysImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.STATE === '4'">
|
||||
<td class="tbg">是否进行罚款</td>
|
||||
<td colspan="3">{{ pd.ISPUNISH === '1' ? '是' : '否' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div v-if="projectEntity && projectEntity.KEYPROJECTPUNISH_ID">
|
||||
<div style="font-weight: bold;margin-top: 20px">
|
||||
罚款详情
|
||||
</div>
|
||||
<div>
|
||||
<table class="table-ui mt-20">
|
||||
<tr>
|
||||
<td class="tbg">处罚原因</td>
|
||||
<td>{{ projectEntity.REASON }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">处罚金额</td>
|
||||
<td>{{ projectEntity.AMOUT }}元</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">被处罚单位</td>
|
||||
<td>{{ projectEntity.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">被处罚人</td>
|
||||
<td>{{ projectEntity.PERSON_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">下发人</td>
|
||||
<td>{{ projectEntity.CREATOR_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">下发处罚时间</td>
|
||||
<td>{{ projectEntity.DATE }}</td>
|
||||
</tr>
|
||||
<tr v-if="projectEntity.HANDLED === '1'">
|
||||
<td class="tbg">罚款缴纳单</td>
|
||||
<td v-viewer>
|
||||
<img :src="config.fileUrl + projectEntity.HANDLE_IMG" alt="" style="width: 100px;height: 100px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">处罚处理人</td>
|
||||
<td>{{ projectEntity.PERSON_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="projectEntity.HANDLED === '1'">
|
||||
<td class="tbg">处罚处理时间</td>
|
||||
<td colspan="3">{{ projectEntity.HANLDE_TIME }}</td>
|
||||
</tr>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogViewVideo" title="视频" width="800px" @close="closePlay">
|
||||
<div>
|
||||
<video-player
|
||||
ref="hdVideoPlayer"
|
||||
:playsinline="true"
|
||||
:options="playerOptions"
|
||||
class="video-player vjs-custom-skin"/>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { videoPlayer } from 'vue-video-player'
|
||||
import 'video.js/dist/video-js.css'
|
||||
export default {
|
||||
components: { videoPlayer },
|
||||
props: {
|
||||
activeName: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
pd: {},
|
||||
projectEntity: {},
|
||||
dialogViewVideo: false,
|
||||
playerOptions: {
|
||||
playbackRates: [0.5, 1.0, 1.5, 2.0], // 可选的播放速度
|
||||
autoplay: false, // 如果为true,浏览器准备好时开始回放。
|
||||
muted: false, // 默认情况下将会消除任何音频。
|
||||
loop: false, // 是否视频一结束就重新开始。
|
||||
preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
|
||||
language: 'zh-CN',
|
||||
aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
|
||||
fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
|
||||
sources: [{
|
||||
type: 'video/mp4', // 类型
|
||||
src: '' // url地址
|
||||
}],
|
||||
poster: '', // 封面地址
|
||||
notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
|
||||
controlBar: {
|
||||
timeDivider: true, // 当前时间和持续时间的分隔符
|
||||
durationDisplay: true, // 显示持续时间
|
||||
remainingTimeDisplay: true, // 是否显示剩余时间功能
|
||||
fullscreenToggle: true // 是否显示全屏按钮
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
requestFN(
|
||||
'/keyprojectcheck/findHidden',
|
||||
{
|
||||
HIDDEN_ID: this.$parent.HIDDEN_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.pd = data.pd
|
||||
this.projectEntity = data.pd.punishForm
|
||||
})
|
||||
},
|
||||
goViewVideo(FILEPATH) {
|
||||
this.playerOptions.sources[0].src = FILEPATH
|
||||
this.dialogViewVideo = true
|
||||
},
|
||||
closePlay() {
|
||||
this.$refs.hdVideoPlayer.player.pause()
|
||||
},
|
||||
goBack() {
|
||||
if (this.activeName) {
|
||||
this.$parent.activeName = this.activeName
|
||||
} else {
|
||||
this.$parent.activeName = 'List'
|
||||
}
|
||||
this.$parent.HIDDEN_ID = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
|
@ -40,14 +40,14 @@
|
|||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" show-overflow-tooltip />
|
||||
<el-table-column prop="STARTTIME" label="属地" show-overflow-tooltip>
|
||||
<!-- <el-table-column prop="STARTTIME" label="属地" show-overflow-tooltip>
|
||||
<template slot-scope="{row}"/>
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.CORPINFO_ID !='1'">
|
||||
{{ row.prvinceName }} -- {{ row.cityName }} -- {{ row.countryName }}
|
||||
{{ row.prvinceName }} -- {{ row.cityName }} -- {{ row.countryName }}
|
||||
</span>
|
||||
<span v-else>
|
||||
河北省 -- 秦皇岛市 -- 海港区
|
||||
河北省 -- 秦皇岛市 -- 海港区
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -60,8 +60,10 @@
|
|||
交通运输、仓储和邮政业
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>-->
|
||||
<el-table-column prop="OUTSOURCED_COUNT" label="重点工程创建数量" />
|
||||
<el-table-column prop="STATE_COUNT" label="开工数量" />
|
||||
<el-table-column prop="END_COUNT" label="结束数量" />
|
||||
<el-table-column v-if="otherShow" prop="CHECK_COUNT" label="检查次数" />
|
||||
<el-table-column v-if="otherShow" prop="HIDDEN_COUNT" label="发现隐患数量" />
|
||||
<el-table-column v-if="otherShow" prop="PUNISH_COUNT" label="违约处罚次数" />
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<template>
|
||||
<div>
|
||||
<component :is="activeName" />
|
||||
<List v-show="activeName=='List'"/>
|
||||
<Evaluation v-if="activeName=='Evaluation'"/>
|
||||
<HiddenInfo v-if="activeName=='HiddenInfo'"/>
|
||||
<!-- <component :is="activeName" />-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -0,0 +1,418 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="隐患描述">
|
||||
<el-input v-model="searchForm.hiddendescr" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="隐患来源">
|
||||
<el-select v-model="searchForm.SOURCE" style="width: 100%;">
|
||||
<el-option value="1" label="Ai报警"/>
|
||||
<!-- <el-option value="3" label="清单排查"/>-->
|
||||
<el-option value="4" label="安全环保检查(监管端)"/>
|
||||
<el-option value="5" label="安全环保检查(企业端)"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="发现部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="searchForm.DEPARTMENT_ID"
|
||||
placeholder="请选择发现部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="隐患发现人 ">
|
||||
<el-input v-model="searchForm.KEYWORDS"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="隐患发现时间">
|
||||
<el-date-picker
|
||||
v-model="searchForm.dates"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考评状态">
|
||||
<el-select v-model="searchForm.STATE" style="width: 100%;">
|
||||
<el-option value="1" label="是"/>
|
||||
<el-option value="2" label="否"/>
|
||||
<el-option value="3" label="考评合格"/>
|
||||
<el-option value="4" label="考评不合格"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="隐患类型">
|
||||
<Treeselect
|
||||
:options="hiddenTypeList"
|
||||
:normalizer="normalizer"
|
||||
:disable-branch-nodes="true"
|
||||
v-model="searchForm.HIDDENTYPE"
|
||||
placeholder="请选择隐患类型"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="本人是否考评">
|
||||
<el-select v-model="searchForm.userIs" clearable style="width: 100%;">
|
||||
<el-option value="1" label="是"/>
|
||||
<el-option value="2" label="否"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column label="隐患来源">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.SOURCE=='1'">
|
||||
Ai报警
|
||||
</span>
|
||||
<span v-else-if="row.SOURCE=='4'">
|
||||
安全环保检查(监管端)
|
||||
</span>
|
||||
<span v-else-if="row.SOURCE=='5'">
|
||||
安全环保检查(企业端)
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HIDDENDESCR" label="隐患描述"/>
|
||||
<el-table-column prop="CREATTIME" label="隐患发现时间"/>
|
||||
<el-table-column prop="CREATOR_NAME" label="隐患发现人"/>
|
||||
<el-table-column label="隐患状态">已验收</el-table-column>
|
||||
<el-table-column prop="CREATOR_NAME" label="隐患验收人">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.RECTIFICATIONTYPE=='1'">
|
||||
--
|
||||
</span>
|
||||
<span v-else>
|
||||
{{ row.CREATOR_NAME }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CHECK_USER" label="已考评组成员"/>
|
||||
<el-table-column prop="UN_CHECK_USER" label="待考评组成员"/>
|
||||
<el-table-column prop="PASS_STATUS" label="考评结果">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="row.CHECK_COUNT !== 5">
|
||||
<span>考核未完成</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="row.PASS_COUNT > 2">
|
||||
<span>考核合格</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span>考核不合格</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="350px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="info" icon="el-icon-view" @click="fnViewHidden(row.HIDDEN_ID)">查看隐患详情</el-button>
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnEvaluation(row.HIDDEN_ID,row.SOURCE, row.CREATOR,'view')">考评详情</el-button>
|
||||
<el-button
|
||||
v-if="isEvaluationShowButton(row.UN_CHECK_USER_ID)"
|
||||
type="success"
|
||||
icon="el-icon-view"
|
||||
@click="fnEvaluation(row.HIDDEN_ID,row.SOURCE, row.CREATOR,'edit')">考评
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返回</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
<el-dialog :visible.sync="evaluationDialog.visible" title="考评">
|
||||
<table class="table-ui">
|
||||
<template v-for="item in evaluationDialog.list">
|
||||
<tr :key="item.CONFIG_USER_ID">
|
||||
<td class="tbg">考评人员</td>
|
||||
<td>{{ item.USER_NAME }}</td>
|
||||
<td class="tbg">是否符合</td>
|
||||
<td>
|
||||
<span v-if="item.RESULT === 1">符合</span>
|
||||
<span v-if="item.RESULT === 2">不符合</span>
|
||||
<span v-if="!item.RESULT">未考评</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="item.RESULT === 2" :key="item.CONFIG_USER_ID">
|
||||
<td class="tbg">不符合原因</td>
|
||||
<td colspan="3">{{ item.DESCR }}</td>
|
||||
</tr>
|
||||
</template>
|
||||
</table>
|
||||
<el-form
|
||||
v-if="evaluationDialog.type === 'edit'"
|
||||
ref="evaluationDialogForm"
|
||||
:model="evaluationDialog.form"
|
||||
:rules="evaluationDialog.rules"
|
||||
label-width="100px"
|
||||
class="mt-20">
|
||||
<el-form-item label="考评人员">
|
||||
<el-input v-model="evaluationDialog.form.USER_NAME" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否符合" prop="RESULT">
|
||||
<el-select v-model="evaluationDialog.form.RESULT" style="width: 100%;">
|
||||
<el-option value="1" label="符合"/>
|
||||
<el-option value="2" label="不符合"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="evaluationDialog.form.RESULT === '2'" label="不符合原因" prop="DESCR">
|
||||
<el-input v-model="evaluationDialog.form.DESCR" type="textarea" autosize/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template slot="footer">
|
||||
<el-button @click="fnEvaluationDialogChangeShow">关闭</el-button>
|
||||
<el-button v-if="evaluationDialog.type === 'edit'" type="primary" @click="fnEvaluationDialogSubmit">确认</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
treeData: [],
|
||||
hiddenTypeList: [],
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
SOURCE: '',
|
||||
HIDDENTYPE: null,
|
||||
dates: [],
|
||||
DEPARTMENT_ID: null,
|
||||
STATE: '',
|
||||
hiddendescr: '',
|
||||
userIs: ''
|
||||
},
|
||||
evaluationDialog: {
|
||||
visible: false,
|
||||
type: '',
|
||||
HIDDEN_ID: '',
|
||||
SOURCE: '',
|
||||
CREATOR: '',
|
||||
form: {
|
||||
EVALUATIONCONFIGINFO_ID: '',
|
||||
USER_NAME: '',
|
||||
DESCR: '',
|
||||
RESULT: ''
|
||||
},
|
||||
rules: {
|
||||
RESULT: [{ required: true, message: '请选择是否符合', trigger: 'change' }],
|
||||
DESCR: [{ required: true, message: '请输入不符合原因', trigger: 'blur' }]
|
||||
},
|
||||
list: []
|
||||
},
|
||||
visible: false,
|
||||
HIDDEN_ID: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTreeData()
|
||||
},
|
||||
methods: {
|
||||
// 获得部门树
|
||||
getTreeData() {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorp',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeData = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
|
||||
requestFN(
|
||||
'/dictionaries/listSelectTree',
|
||||
{
|
||||
DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'
|
||||
}
|
||||
).then((data) => {
|
||||
this.hiddenTypeList = this.removeEmptyChildren(JSON.parse(data.zTreeNodes))
|
||||
})
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.SOURCE = ''
|
||||
this.searchForm.HIDDENTYPE = null
|
||||
this.searchForm.dates = []
|
||||
this.searchForm.DEPARTMENT_ID = null
|
||||
this.searchForm.STATE = ''
|
||||
this.searchForm.hiddendescr = ''
|
||||
this.searchForm.userIs = ''
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/hiddenevaluationrecord/hiddenList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm,
|
||||
START_TIME: this.searchForm.dates && this.searchForm.dates[0],
|
||||
END_TIME: this.searchForm.dates && this.searchForm.dates[1],
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
EVALUATIONCONFIG_ID: this.$parent.EVALUATIONCONFIG_ID,
|
||||
TYPE: this.$parent.TYPE
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
isEvaluationShowButton(UN_CHECK_USER_ID) {
|
||||
if (!UN_CHECK_USER_ID) return false
|
||||
else {
|
||||
return UN_CHECK_USER_ID.split(',').indexOf(this.USER_ID) !== -1
|
||||
}
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
},
|
||||
fnViewHidden(HIDDEN_ID) {
|
||||
// this.visible = true
|
||||
// this.HIDDEN_ID = HIDDEN_ID
|
||||
this.$parent.HIDDEN_ID = HIDDEN_ID
|
||||
this.$parent.activeName = 'KeyProjectHidden'
|
||||
},
|
||||
fnEvaluationDialogChangeShow() {
|
||||
this.evaluationDialog.visible = !this.evaluationDialog.visible
|
||||
},
|
||||
fnEvaluation(HIDDEN_ID, SOURCE, CREATOR, type) {
|
||||
this.evaluationDialog.HIDDEN_ID = HIDDEN_ID
|
||||
this.evaluationDialog.SOURCE = SOURCE
|
||||
this.evaluationDialog.CREATOR = CREATOR
|
||||
this.evaluationDialog.type = type
|
||||
this.evaluationDialog.list = []
|
||||
this.fnEvaluationDialogChangeShow()
|
||||
if (type === 'edit') {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.evaluationDialogForm.resetFields()
|
||||
})
|
||||
}
|
||||
requestFN(
|
||||
'keyProject/hiddenevaluationrecord/goEdit',
|
||||
{
|
||||
HIDDEN_ID,
|
||||
EVALUATIONCONFIG_ID: this.$parent.EVALUATIONCONFIG_ID
|
||||
}
|
||||
).then((data) => {
|
||||
const list = []
|
||||
for (let i = 0; i < data.varList.length; i++) {
|
||||
if (type === 'edit') {
|
||||
if (data.varList[i].CONFIG_USER_ID !== this.USER_ID) {
|
||||
list.push(data.varList[i])
|
||||
} else {
|
||||
this.evaluationDialog.form.EVALUATIONCONFIGINFO_ID = data.varList[i].CONFIG_EVALUATIONCONFIGINFO_ID
|
||||
this.evaluationDialog.form.USER_NAME = data.varList[i].USER_NAME
|
||||
this.evaluationDialog.form.DESCR = ''
|
||||
this.evaluationDialog.form.RESULT = ''
|
||||
}
|
||||
} else {
|
||||
list.push(data.varList[i])
|
||||
}
|
||||
}
|
||||
this.evaluationDialog.list = list
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
fnEvaluationDialogSubmit() {
|
||||
this.$refs.evaluationDialogForm.validate((valid) => {
|
||||
if (valid) {
|
||||
requestFN(
|
||||
'keyProject/hiddenevaluationrecord/add',
|
||||
{
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
HIDDENTYPE: this.$parent.TYPE,
|
||||
EVALUATIONCONFIG_ID: this.$parent.EVALUATIONCONFIG_ID,
|
||||
SOURCE: this.evaluationDialog.SOURCE,
|
||||
USER_ID: this.evaluationDialog.CREATOR,
|
||||
HIDDEN_ID: this.evaluationDialog.HIDDEN_ID,
|
||||
...this.evaluationDialog.form
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('保存成功')
|
||||
this.fnEvaluationDialogChangeShow()
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,142 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="分公司名称">
|
||||
<el-input v-model="searchForm.KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="隐患考评组类型">
|
||||
<el-select v-model="searchForm.TYPE" style="width: 100%;">
|
||||
<el-option value="1" label="安全类"/>
|
||||
<el-option value="2" label="环保类"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考评组成员">
|
||||
<el-input v-model="searchForm.USER_NAME" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column prop="CORP_NAME" label="分公司名称"/>
|
||||
<el-table-column label="隐患考评组类型">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.TYPE === 1 ? '安全类' : '环保类' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Ai报警奖惩">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.checked_count1 }} / {{ row.count1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="重点工程安全环保奖惩监管端">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.checked_count2 }} / {{ row.count2 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="重点工程安全环保奖惩企业端">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.checked_count3 }} / {{ row.count3 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CHECK_USER" label="考评组成员"/>
|
||||
<el-table-column label="操作" width="100px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnEvaluation(row)">考评</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
TYPE: '',
|
||||
USER_NAME: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.TYPE = ''
|
||||
this.searchForm.USER_NAME = ''
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/hiddenevaluationrecord/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
fnEvaluation({ CORPINFO_ID, EVALUATIONCONFIG_ID, TYPE }) {
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.EVALUATIONCONFIG_ID = EVALUATIONCONFIG_ID
|
||||
this.$parent.TYPE = TYPE
|
||||
this.$parent.activeName = 'Evaluation'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,34 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-show="activeName=='List'"/>
|
||||
<Evaluation v-if="activeName=='Evaluation'"/>
|
||||
<KeyProjectHidden v-if="activeName=='KeyProjectHidden'" active-name="Evaluation"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import Evaluation from './components/evaluation'
|
||||
// import HiddenInfo from './components/hidden_info.vue'
|
||||
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List,
|
||||
Evaluation,
|
||||
KeyProjectHidden
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
CORPINFO_ID: '',
|
||||
EVALUATIONCONFIG_ID: '',
|
||||
HIDDEN_ID: '',
|
||||
TYPE: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,387 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="分公司名称">
|
||||
<el-input v-model="searchForm.KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考评组状态">
|
||||
<el-select v-model="searchForm.TYPE" style="width: 100%;">
|
||||
<el-option value="1" label="安全类已分配"/>
|
||||
<el-option value="2" label="安全类未分配"/>
|
||||
<el-option value="3" label="环保类已分配"/>
|
||||
<el-option value="4" label="环保类未分配"/>
|
||||
<el-option value="5" label="安全类和环保类已分配"/>
|
||||
<el-option value="6" label="安全类和环保类未分配"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column prop="CORP_NAME" label="分公司名称"/>
|
||||
<el-table-column label="安全类隐患考评组分配状态">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.TYPES && row.TYPES.indexOf('1') !== -1 ? '已分配' : '未分配' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="AQ_USERS" label="考评组成员"/>
|
||||
<el-table-column prop="FIRE_CHECK_TYPE" label="环保类隐患考评组分配状态">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.TYPES && row.TYPES.indexOf('2') !== -1 ? '已分配' : '未分配' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HB_USERS" label="考评组成员"/>
|
||||
<el-table-column label="操作" width="480px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnViewAssignGroup(row)">查看</el-button>
|
||||
<el-button type="success" icon="el-icon-tickets" @click="fnAssignGroup(row.CORPINFO_ID,'1')">安全类组分配
|
||||
</el-button>
|
||||
<el-button type="success" icon="el-icon-tickets" @click="fnAssignGroup(row.CORPINFO_ID,'2')">环保类组分配
|
||||
</el-button>
|
||||
<el-button type="info" icon="el-icon-tickets" @click="fnChangeRecord(row.CORPINFO_ID)">变更记录
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
<el-dialog
|
||||
:visible.sync="assignGroupDialog.visible"
|
||||
:title="assignGroupDialog.type === '1' ? '安全类隐患考评组分配' : '环保类隐患考评组分配'">
|
||||
<el-form ref="assignGroupDialogForm" :model="assignGroupDialog.form" label-width="100px">
|
||||
<el-form-item label="隐患类型">
|
||||
<el-input :value="assignGroupDialog.type === '1' ? '安全类' : '环保类'" disabled/>
|
||||
</el-form-item>
|
||||
<el-row v-for="(item,index) in assignGroupDialog.form.other" :key="index">
|
||||
<el-col :span="12">
|
||||
<el-form-item
|
||||
:prop="'other.' + index + '.DEPARTMENT_ID'"
|
||||
:rules="{
|
||||
required: true, message: '考评部门不能为空', trigger: 'blur'
|
||||
}"
|
||||
label="考评部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="item.DEPARTMENT_ID"
|
||||
placeholder="请选择考评部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
@select="item.USER_ID = '';getUserList($event,index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item
|
||||
:prop="'other.' + index + '.USER_ID'"
|
||||
:rules="{
|
||||
required: true, message: '考评人员不能为空', trigger: 'blur'
|
||||
}"
|
||||
label="考评人员">
|
||||
<el-select :value="item.USER_ID" clearable placeholder="请选择" style="width: 100%;" @change="acceptedByChange($event,index)">
|
||||
<el-option
|
||||
v-for="item1 in item.userList"
|
||||
:key="item1.USER_ID"
|
||||
:label="item1.NAME"
|
||||
:value="item1.USER_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template slot="footer">
|
||||
<el-button @click="fnAssignGroupDialogChangeShow">关闭</el-button>
|
||||
<el-button type="primary" @click="fnAssignGroupDialogSubmit">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
:visible.sync="viewAssignGroupDialog.visible"
|
||||
title="查看">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">隐患类型</td>
|
||||
<td>安全类</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">考评组成员</td>
|
||||
<td>{{ viewAssignGroupDialog.info.AQ_USERS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">隐患类型</td>
|
||||
<td>环保类</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">考评组成员</td>
|
||||
<td>{{ viewAssignGroupDialog.info.HB_USERS }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<template slot="footer">
|
||||
<el-button @click="viewAssignGroupDialog.visible = false">关闭</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
:visible.sync="changeRecordDialog.visible"
|
||||
title="变更记录">
|
||||
<table class="table-ui">
|
||||
<tr v-for="(item,index) in changeRecordDialog.list" :key="index">
|
||||
<td class="tbg">隐患类型</td>
|
||||
<td>{{ item.TYPE === 1 ? '安全类' : '环保类' }}</td>
|
||||
<td class="tbg">变更前</td>
|
||||
<td>{{ item.OLD_USER_NAME }}</td>
|
||||
<td class="tbg">变更后</td>
|
||||
<td>{{ item.NEW_USER_NAME }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<template slot="footer">
|
||||
<el-button @click="changeRecordDialog.visible = false">关闭</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import { differenceBy, cloneDeep } from 'lodash'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
treeData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {},
|
||||
assignGroupDialog: {
|
||||
visible: false,
|
||||
type: '',
|
||||
CORPINFO_ID: '',
|
||||
editType: '',
|
||||
form: {
|
||||
other: [
|
||||
{ DEPARTMENT_ID: null, USER_ID: '', userList: [] },
|
||||
{ DEPARTMENT_ID: null, USER_ID: '', userList: [] },
|
||||
{ DEPARTMENT_ID: null, USER_ID: '', userList: [] },
|
||||
{ DEPARTMENT_ID: null, USER_ID: '', userList: [] },
|
||||
{ DEPARTMENT_ID: null, USER_ID: '', userList: [] }
|
||||
]
|
||||
},
|
||||
oldOther: []
|
||||
},
|
||||
viewAssignGroupDialog: {
|
||||
visible: false,
|
||||
info: {
|
||||
AQ_USERS: '',
|
||||
HB_USERS: ''
|
||||
}
|
||||
},
|
||||
changeRecordDialog: {
|
||||
visible: false,
|
||||
list: []
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTreeData()
|
||||
},
|
||||
methods: {
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.TYPE = ''
|
||||
this.getList()
|
||||
},
|
||||
getUserList(event, index) { // 根据部门获取部门内的人员
|
||||
requestFN(
|
||||
'/user/listAll',
|
||||
{
|
||||
DEPARTMENT_ID: event.id,
|
||||
tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
if (this.assignGroupDialog.form.other[index].userList) {
|
||||
this.assignGroupDialog.form.other[index].userList = data.userList
|
||||
} else {
|
||||
this.$set(this.assignGroupDialog.form.other[index], 'userList', data.userList)
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
acceptedByChange(event, index) {
|
||||
let flag = false
|
||||
for (let i = 0; i < this.assignGroupDialog.form.other.length; i++) {
|
||||
if (this.assignGroupDialog.form.other[i].USER_ID === event) {
|
||||
flag = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
this.$message.warning('不能选择重复的考评人')
|
||||
} else {
|
||||
this.assignGroupDialog.form.other[index].USER_ID = event
|
||||
}
|
||||
},
|
||||
// 获得部门树
|
||||
getTreeData() {
|
||||
requestFN(
|
||||
'/department/listTree',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = this.removeEmptyChildren(JSON.parse(data.zTreeNodes))
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/evaluationconfig/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
fnAssignGroupDialogChangeShow() {
|
||||
this.assignGroupDialog.visible = !this.assignGroupDialog.visible
|
||||
},
|
||||
fnAssignGroup(CORPINFO_ID, type) {
|
||||
this.assignGroupDialog.CORPINFO_ID = CORPINFO_ID
|
||||
this.assignGroupDialog.type = type
|
||||
this.fnAssignGroupDialogChangeShow()
|
||||
this.$nextTick(() => {
|
||||
this.$refs.assignGroupDialogForm.resetFields()
|
||||
})
|
||||
requestFN(
|
||||
'keyProject/evaluationconfig/goEdit',
|
||||
{
|
||||
CORPINFO_ID,
|
||||
TYPE: type
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
if (data.varlist.length === 0) {
|
||||
this.assignGroupDialog.editType = 'add'
|
||||
} else {
|
||||
this.assignGroupDialog.editType = 'edit'
|
||||
this.assignGroupDialog.form.other = cloneDeep(data.varlist)
|
||||
this.assignGroupDialog.oldOther = cloneDeep(data.varlist)
|
||||
for (let i = 0; i < data.varlist.length; i++) {
|
||||
this.getUserList({ id: data.varlist[i].DEPARTMENT_ID }, i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
fnAssignGroupDialogSubmit() {
|
||||
this.$refs.assignGroupDialogForm.validate(valid => {
|
||||
if (valid) {
|
||||
if (this.assignGroupDialog.editType === 'add') {
|
||||
requestFN(
|
||||
'keyProject/evaluationconfig/add',
|
||||
{
|
||||
CORPINFO_ID: this.assignGroupDialog.CORPINFO_ID,
|
||||
TYPE: this.assignGroupDialog.type,
|
||||
users: JSON.stringify(this.assignGroupDialog.form.other)
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('保存成功')
|
||||
this.fnAssignGroupDialogChangeShow()
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
} else {
|
||||
const changeUsers = differenceBy(this.assignGroupDialog.form.other, this.assignGroupDialog.oldOther, 'USER_ID')
|
||||
console.log(changeUsers)
|
||||
requestFN(
|
||||
'keyProject/evaluationconfig/edit',
|
||||
{
|
||||
CORPINFO_ID: this.assignGroupDialog.CORPINFO_ID,
|
||||
TYPE: this.assignGroupDialog.type,
|
||||
changeUsers: JSON.stringify(changeUsers)
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('保存成功')
|
||||
this.fnAssignGroupDialogChangeShow()
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message.warning('请补全必填项')
|
||||
}
|
||||
})
|
||||
},
|
||||
fnViewAssignGroup(row) {
|
||||
this.viewAssignGroupDialog.info = row
|
||||
this.viewAssignGroupDialog.visible = true
|
||||
},
|
||||
fnChangeRecord(CORPINFO_ID) {
|
||||
requestFN(
|
||||
'keyProject/evaluationconfig/changeLogs',
|
||||
{
|
||||
CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
console.log(data.varlist)
|
||||
this.changeRecordDialog.list = data.varlist
|
||||
this.changeRecordDialog.visible = true
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,22 @@
|
|||
<template>
|
||||
<div>
|
||||
<component :is="activeName" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
export default {
|
||||
components: {
|
||||
List: List
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,283 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="隐患来源">
|
||||
<el-select v-model="searchForm.SOURCE" style="width: 100%;">
|
||||
<el-option value="1" label="Ai报警"/>
|
||||
<!-- <el-option value="3" label="清单排查"/>-->
|
||||
<el-option value="4" label="安全环保检查(监管端)"/>
|
||||
<el-option value="5" label="安全环保检查(企业端)"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="发现部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="searchForm.DEPARTMENT_ID"
|
||||
placeholder="请选择发现部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="隐患发现人">
|
||||
<el-input v-model="searchForm.KEYWORDS"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="隐患类型">
|
||||
<Treeselect
|
||||
:options="hiddenTypeList"
|
||||
:normalizer="normalizer"
|
||||
:disable-branch-nodes="true"
|
||||
v-model="searchForm.HIDDENTYPE"
|
||||
placeholder="请选择隐患类型"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="兑换时间">
|
||||
<el-date-picker
|
||||
v-model="searchForm.dates"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column label="隐患来源">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.SOURCE=='1'">
|
||||
Ai报警
|
||||
</span>
|
||||
<span v-else-if="row.SOURCE=='4'">
|
||||
安全环保检查(监管端)
|
||||
</span>
|
||||
<span v-else-if="row.SOURCE=='5'">
|
||||
安全环保检查(企业端)
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HIDDENDESCR" label="隐患描述"/>
|
||||
<el-table-column prop="CREATTIME" label="隐患发现时间"/>
|
||||
<el-table-column prop="CREATOR_NAME" label="隐患发现人"/>
|
||||
<el-table-column label="隐患状态">已验收</el-table-column>
|
||||
<el-table-column prop="CREATOR_NAME" label="隐患验收人">
|
||||
<template slot-scope="{row}">
|
||||
<!-- <span v-if="row.RECTIFICATIONTYPE=='2'">-->
|
||||
<!-- {{ row.YQ_CHECKOR_NAME }}-->
|
||||
<!-- </span>-->
|
||||
<!-- <span v-else>-->
|
||||
<!-- {{ row.CHECKOR_NAME }}-->
|
||||
<!-- </span>-->
|
||||
<span>
|
||||
{{ row.CREATOR_NAME }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CHECK_USER" label="考评组成员"/>
|
||||
<el-table-column label="兑换状态">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.EVALUATIONSCOREEXCHANGE_ID ? '已兑换' : '未兑换' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="260px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnDetailsOfHiddenDangers(row.HIDDEN_ID)">查看隐患详情</el-button>
|
||||
<el-button type="success" icon="el-icon-view" @click="fnAssessmentDetails(row.HIDDEN_ID)">考评详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返回</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
<el-dialog :visible.sync="evaluationDialog.visible" title="考评详情">
|
||||
<table class="table-ui">
|
||||
<template v-for="item in evaluationDialog.list">
|
||||
<tr :key="item.CONFIG_USER_ID">
|
||||
<td class="tbg">考评人员</td>
|
||||
<td>{{ item.USER_NAME }}</td>
|
||||
<td class="tbg">是否符合</td>
|
||||
<td>
|
||||
<span v-if="item.RESULT === 1">符合</span>
|
||||
<span v-if="item.RESULT === 2">不符合</span>
|
||||
<span v-if="!item.RESULT">未考评</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="item.RESULT === 2" :key="item.CONFIG_USER_ID">
|
||||
<td class="tbg">不符合原因</td>
|
||||
<td colspan="3">{{ item.DESCR }}</td>
|
||||
</tr>
|
||||
</template>
|
||||
</table>
|
||||
<template slot="footer">
|
||||
<el-button @click="evaluationDialog.visible = false">关闭</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
treeData: [],
|
||||
hiddenTypeList: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
SOURCE: '',
|
||||
DEPARTMENT_ID: null,
|
||||
HIDDENTYPE: null,
|
||||
dates: []
|
||||
},
|
||||
evaluationDialog: {
|
||||
visible: false,
|
||||
list: []
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTreeData()
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.SOURCE = ''
|
||||
this.searchForm.DEPARTMENT_ID = null
|
||||
this.searchForm.HIDDENTYPE = null
|
||||
this.searchForm.dates = []
|
||||
this.getList()
|
||||
},
|
||||
// 获得部门树
|
||||
getTreeData() {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorp',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeData = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
requestFN(
|
||||
'/dictionaries/listSelectTree',
|
||||
{
|
||||
DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'
|
||||
}
|
||||
).then((data) => {
|
||||
this.hiddenTypeList = this.removeEmptyChildren(JSON.parse(data.zTreeNodes))
|
||||
})
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/exchangeHiddenList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm,
|
||||
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
|
||||
END_TIME: this.searchForm.dates[1] && this.searchForm.dates[1] + ' 23:59:59',
|
||||
EVALUATIONSCOREEXCHANGE_ID: this.$parent.EVALUATIONSCOREEXCHANGE_ID,
|
||||
USER_ID: this.$parent.USER_ID,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
console.log(data.varList)
|
||||
if (data.varList) {
|
||||
this.varList = data.varList
|
||||
}else {
|
||||
this.varList = []
|
||||
}
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
fnAssessmentDetails(HIDDEN_ID) {
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/getHiddenEvaluation',
|
||||
{
|
||||
HIDDEN_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.evaluationDialog.list = data.varList
|
||||
this.evaluationDialog.visible = true
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
fnDetailsOfHiddenDangers(HIDDEN_ID) {
|
||||
this.$parent.HIDDEN_ID = HIDDEN_ID
|
||||
this.$parent.activeName = 'KeyProjectHidden'
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = this.$parent.HiddenListEntrance
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,155 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考核部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="searchForm.DEPARTMENT_ID"
|
||||
placeholder="请选择考核部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考核部门人员">
|
||||
<el-input v-model="searchForm.KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column prop="CORP_NAME" label="单位名称"/>
|
||||
<el-table-column label="完成考评隐患数">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.checked_count1 + row.checked_count2 + row.checked_count3 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="待考评隐患数">
|
||||
<template slot-scope="{row}">
|
||||
{{ (row.count1 + row.count2 + row.count3 ) - (row.checked_count1 + row.checked_count2 + row.checked_count3 ) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="SCORE_USERS" label="涉及奖励人数"/>
|
||||
<el-table-column label="奖励兑换情况">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.USERD_SCORE }} / {{ row.TOTAL_SCORE }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="AQ_USERS" label="安全类隐患考评组成员"/>
|
||||
<el-table-column prop="HB_USERS" label="环保类隐患考评组成员"/>
|
||||
<el-table-column label="操作" width="100px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnView(row.CORPINFO_ID)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
treeData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
TYPE: '',
|
||||
DEPARTMENT_ID: null
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTreeData()
|
||||
},
|
||||
methods: {
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.TYPE = ''
|
||||
this.searchForm.DEPARTMENT_ID = null
|
||||
this.getList()
|
||||
},
|
||||
// 获得部门树
|
||||
getTreeData() {
|
||||
requestFN(
|
||||
'/department/listTree',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = this.removeEmptyChildren(JSON.parse(data.zTreeNodes))
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/keyProject/evaluationscore/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
fnView(CORPINFO_ID) {
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.activeName = 'PersonnelList'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,253 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="考核部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="searchForm.DEPARTMENT_ID"
|
||||
placeholder="请选择考核部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="姓名">
|
||||
<el-input v-model="searchForm.KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker
|
||||
v-model="searchForm.dates"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:row-key="getRowKey"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column prop="USERNAME" label="用户名"/>
|
||||
<el-table-column prop="NAME" label="姓名"/>
|
||||
<el-table-column prop="DEPTMENT_NAME" label="部门"/>
|
||||
<el-table-column prop="PORT_NAME" label="岗位"/>
|
||||
<el-table-column prop="TOTAL_SCORE" label="奖励总得分"/>
|
||||
<el-table-column prop="USERD_SCORE" label="已兑换分数"/>
|
||||
<el-table-column label="未兑换奖励数">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.TOTAL_SCORE - row.USERD_SCORE }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="240px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnRedemptionRecords(row.USER_ID)">兑换记录</el-button>
|
||||
<el-button type="success" icon="el-icon-view" @click="fnAssessmentDetails(row.USER_ID)">考评详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返回</el-button>
|
||||
<el-button type="primary" icon="el-icon-check" @click="batchRedemption">批量兑换</el-button>
|
||||
<el-button type="success" icon="el-icon-folder-checked" @click="redeemAll">全选兑换</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
treeData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
DEPARTMENT_ID: null,
|
||||
dates: []
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTreeData()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.USER_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.DEPARTMENT_ID = null
|
||||
this.searchForm.dates = []
|
||||
this.getList()
|
||||
},
|
||||
// 获得部门树
|
||||
getTreeData() {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorp',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
for (let i = 0; i < treeData.length; i++) {
|
||||
if (treeData[i].id === this.$parent.CORPINFO_ID) {
|
||||
this.treeData = this.removeEmptyChildren([treeData[i]])
|
||||
break
|
||||
}
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/userList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm,
|
||||
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
|
||||
END_TIME: this.searchForm.dates[1] && this.searchForm.dates[1] + ' 23:59:59',
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
batchRedemption() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData.length === 0) {
|
||||
this.$message.warning('请选择需要兑换的人员')
|
||||
return
|
||||
}
|
||||
this.$confirm('确定要兑换吗?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
const user_ids = _selectData.map(item => item.USER_ID).join(',')
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/exchange',
|
||||
{
|
||||
user_ids,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
|
||||
END_TIME: this.searchForm.dates[1] && this.searchForm.dates[1] + ' 23:59:59'
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('兑换成功')
|
||||
this.getQuery()
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消兑换'
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
redeemAll() {
|
||||
this.$confirm('确定要兑换所有人得分吗?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/exchange',
|
||||
{
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
|
||||
END_TIME: this.searchForm.dates[1] && this.searchForm.dates[1] + ' 23:59:59'
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('兑换成功')
|
||||
this.getQuery()
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消兑换'
|
||||
})
|
||||
})
|
||||
},
|
||||
fnRedemptionRecords(USER_ID) {
|
||||
this.$parent.USER_ID = USER_ID
|
||||
this.$parent.activeName = 'RedemptionRecords'
|
||||
},
|
||||
fnAssessmentDetails(USER_ID) {
|
||||
this.$parent.USER_ID = USER_ID
|
||||
this.$parent.EVALUATIONSCOREEXCHANGE_ID = ''
|
||||
this.$parent.activeName = 'HiddenList'
|
||||
this.$parent.HiddenListEntrance = 'PersonnelList'
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,127 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="searchForm" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="兑换时间">
|
||||
<el-date-picker
|
||||
v-model="searchForm.dates"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" native-type="reset" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
<el-table-column prop="CREATTIME" label="兑换时间"/>
|
||||
<el-table-column prop="CREATOR" label="兑换操作人员"/>
|
||||
<el-table-column prop="SCORE" label="兑换隐患数"/>
|
||||
<el-table-column prop="SCORE" label="兑换积分"/>
|
||||
<el-table-column prop="LAST_SCORE" label="剩余积分数"/>
|
||||
<el-table-column label="操作" width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" @click="fnDetailsOfHiddenDangers(row.EVALUATIONSCOREEXCHANGE_ID)">隐患详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返回</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
dates: []
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.dates = []
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'keyProject/evaluationscore/exchangeList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm,
|
||||
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
|
||||
END_TIME: this.searchForm.dates[1] && this.searchForm.dates[1] + ' 23:59:59',
|
||||
USER_ID: this.$parent.USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
fnDetailsOfHiddenDangers(EVALUATIONSCOREEXCHANGE_ID) {
|
||||
this.$parent.EVALUATIONSCOREEXCHANGE_ID = EVALUATIONSCOREEXCHANGE_ID
|
||||
this.$parent.activeName = 'HiddenList'
|
||||
this.$parent.HiddenListEntrance = 'RedemptionRecords'
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'PersonnelList'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,40 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-if="activeName == 'List'" />
|
||||
<RedemptionRecords v-if="activeName == 'RedemptionRecords'"/>
|
||||
<PersonnelList v-if="activeName == 'PersonnelList'" />
|
||||
<KeyProjectHidden v-if="activeName == 'KeyProjectHidden'" active-name="HiddenList"/>
|
||||
<HiddenList v-if="activeName == 'HiddenList'" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import PersonnelList from './components/personnel_list.vue'
|
||||
import RedemptionRecords from './components/redemption_records.vue'
|
||||
import HiddenList from './components/hidden_list.vue'
|
||||
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List,
|
||||
PersonnelList,
|
||||
KeyProjectHidden,
|
||||
RedemptionRecords,
|
||||
HiddenList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
CORPINFO_ID: '',
|
||||
USER_ID: '',
|
||||
EVALUATIONSCOREEXCHANGE_ID: '',
|
||||
HIDDEN_ID: '',
|
||||
HiddenListEntrance: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,109 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="varList"
|
||||
:span-method="objectSpanMethod"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="CORP_NAME" label="分公司名称" >
|
||||
<template slot-scope="{row}">
|
||||
<span class="link-type" @click="fnEvaluation(row)">{{ row.CORP_NAME }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HIDDENTYPE2" label="隐患考评组类型"/>
|
||||
<el-table-column prop="hiddenCount" label="发现隐患数"/>
|
||||
<el-table-column prop="hiddenYanshouCount" label="已验收隐患数"/>
|
||||
<el-table-column prop="hegeCount" label="已评审合格数"/>
|
||||
<el-table-column prop="buhegeCount" label="已评审不合格数"/>
|
||||
<el-table-column label="待评审数量">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.hiddenYanshouCount - (row.hegeCount+row.buhegeCount) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="yiduihuan" label="已兑换积分"/>
|
||||
<el-table-column prop="weiduihuan" label="未兑换积分"/>
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
varList: [],
|
||||
KEYWORDS: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
listLoading: false, // 加载状态
|
||||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
TYPE: '',
|
||||
USER_NAME: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.searchForm.TYPE = ''
|
||||
this.searchForm.USER_NAME = ''
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/keyProject/evaluationTongji/corpInfoTongjiList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||
if (columnIndex === 0) {
|
||||
if (rowIndex % 2 === 0) {
|
||||
return {
|
||||
rowspan: 2,
|
||||
colspan: 1
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
rowspan: 0,
|
||||
colspan: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
fnEvaluation(row) {
|
||||
this.$parent.CORPINFO_ID = row.CORPINFO_ID
|
||||
this.$parent.activeName = 'PersonnelList'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
|
@ -0,0 +1,36 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-if="activeName =='List'" />
|
||||
<PersonnelList v-if="activeName =='PersonnelList'" />
|
||||
<RedemptionRecords v-if="activeName =='RedemptionRecords'" />
|
||||
<HiddenList v-if="activeName =='HiddenList'" />
|
||||
<KeyProjectHidden v-if="activeName =='KeyProjectHidden'" active-name="HiddenList"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import PersonnelList from '../personnel_evaluation_status/components/personnel_list.vue'
|
||||
import RedemptionRecords from '../personnel_evaluation_status/components/redemption_records.vue'
|
||||
import HiddenList from '../personnel_evaluation_status/components/hidden_list.vue'
|
||||
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List, PersonnelList, RedemptionRecords, HiddenList, KeyProjectHidden
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
CORPINFO_ID: '',
|
||||
USER_ID: '',
|
||||
EVALUATIONSCOREEXCHANGE_ID: '',
|
||||
HIDDEN_ID: '',
|
||||
HiddenListEntrance: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-if="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
|
||||
<OutSourced v-if="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-if="activeName=='List'" />
|
||||
<Info v-if="activeName=='Info'" />
|
||||
<recordList v-if="activeName=='recordList'"/>
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-if="activeName=='List'" />
|
||||
<Info v-if="activeName=='Info'"/>
|
||||
<KeyProjectHidden v-if="activeName=='Info'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import Info from './components/info'
|
||||
// import Info from './components/info'
|
||||
import OutSourced from '@/components/OutSourced/index'
|
||||
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
OutSourced: OutSourced,
|
||||
Info: Info
|
||||
KeyProjectHidden: KeyProjectHidden
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-if="activeName=='List'" ref="list" />
|
||||
<Info v-if="activeName=='Info'" />
|
||||
<recordList v-if="activeName=='recordList'" />
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="施工相关方:" prop="UNITS_ID">
|
||||
<el-select v-model="form.UNITS_ID" placeholder="请选择施工相关方" style="width: 100%;" @change="getUnitUser">
|
||||
<el-select v-model="form.UNITS_ID" filterable placeholder="请选择施工相关方" style="width: 100%;" @change="getUnitUser">
|
||||
<el-option
|
||||
v-for="item in unitsList"
|
||||
:key="item.UNITS_ID"
|
||||
|
@ -194,7 +194,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="状态:" prop="STATE">
|
||||
<el-select v-model="form.STATE" style="width: 100%;">
|
||||
<el-select v-model="form.STATE" disabled style="width: 100%;">
|
||||
<el-option v-for="item in stateList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -571,9 +571,11 @@ export default {
|
|||
// { ID: '0', NAME: '未申请' },
|
||||
// { ID: '1', NAME: '申请中' },
|
||||
// { ID: '2', NAME: '已完成' }
|
||||
|
||||
{ ID: '0', NAME: '未开工' },
|
||||
{ ID: '1', NAME: '进行中' },
|
||||
{ ID: '2', NAME: '已结束' }
|
||||
{ ID: '2', NAME: '已结束' },
|
||||
{ ID: '-1', NAME: '开工申请中' },
|
||||
{ ID: '-2', NAME: '结束申请中' }
|
||||
],
|
||||
unitsUserList: [],
|
||||
normalizer(node) {
|
||||
|
@ -606,17 +608,17 @@ export default {
|
|||
immediate: false
|
||||
|
||||
},
|
||||
'form.ENDTIME': {
|
||||
handler: function() {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
var time = formatDate(new Date(), 'YYYY-MM-DD')
|
||||
if (this.form.ENDTIME > time) {
|
||||
this.form.STATE = '1'
|
||||
} else {
|
||||
this.form.STATE = '2'
|
||||
}
|
||||
}
|
||||
},
|
||||
//'form.ENDTIME': {
|
||||
// handler: function() {
|
||||
// // eslint-disable-next-line no-unused-vars
|
||||
// var time = formatDate(new Date(), 'YYYY-MM-DD')
|
||||
// if (this.form.ENDTIME > time) {
|
||||
// this.form.STATE = '1'
|
||||
// } else {
|
||||
// this.form.STATE = '2'
|
||||
// }
|
||||
// }
|
||||
//},
|
||||
TRAINING_TIME: function(newData, oldData) {
|
||||
if (!newData) {
|
||||
this.TRAINING_TIME = ['', '']
|
||||
|
@ -635,6 +637,8 @@ export default {
|
|||
this.dialogType = 'edit'
|
||||
this.form.OUTSOURCED_ID = this.$parent.OUTSOURCED_ID
|
||||
this.getData()
|
||||
} else {
|
||||
this.form.STATE = '0'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -47,24 +47,26 @@
|
|||
<td class="tbg">计划工期结束时间</td>
|
||||
<td>{{ pd.ENDTIME }}</td>-->
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">合同号</td>
|
||||
<td colspan="3">{{ pd.CONTRACT_NUM }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- <td class="tbg">合同起止时间</td>
|
||||
<td>{{ pd.CONTRACT_STIME }} 至 {{ pd.CONTRACT_ETIME }}</td>-->
|
||||
<td class="tbg">施工相关方</td>
|
||||
<td colspan="3">{{ pd.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">合同号</td>
|
||||
<td>{{ pd.CONTRACT_NUM }}</td>
|
||||
<td class="tbg">监理单位名称</td>
|
||||
<td>{{ pd.MANAGE_CORPS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">相关方单位工程负责人</td>
|
||||
<td>{{ pd.UNITS_PIC_NAME }}</td>
|
||||
<td class="tbg">相关方单位负责人手机</td>
|
||||
<td>{{ pd.UNITS_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">监理单位名称</td>
|
||||
<td colspan="3">{{ pd.MANAGE_CORPS_NAME }}</td>
|
||||
</tr>
|
||||
<!-- <tr v-if="pd.UNITS_APTITUDEPATH">
|
||||
<td class="tbg">相关方单位资质</td>
|
||||
<td colspan="2">{{ pd.UNITS_APTITUDE }}</td>
|
||||
|
@ -97,10 +99,19 @@
|
|||
<td >{{ pd.APPLICANT }}</td>-->
|
||||
<td class="tbg">状态</td>
|
||||
<td>
|
||||
<span v-if="pd.STATE == 0">未开工</span>
|
||||
<span v-if="pd.STATE == 1">进行中</span>
|
||||
<span v-if="pd.STATE == 2">已结束</span>
|
||||
<span v-if="pd.STATE == -1">开工申请中</span>
|
||||
<span v-if="pd.STATE == -2">结束申请中</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">重点工程定位</td>
|
||||
<td v-if="pd.WORK_LATITUDE && pd.WORK_LONGITUDE" colspan="2">经度:{{ pd.WORK_LONGITUDE }},纬度:{{ pd.WORK_LATITUDE }}</td>
|
||||
<td v-else colspan="2">未定位</td>
|
||||
<td><el-button type="success" @click="handleMap(pd)">查看定位</el-button></td>
|
||||
</tr>
|
||||
<tr v-for="(item, index) in file9" :key="index">
|
||||
<td class="tbg">安全管理协议{{ index + 1 }}</td>
|
||||
<td colspan="2">{{ item.FILE_NAME }}</td>
|
||||
|
@ -133,12 +144,26 @@
|
|||
<div class="ui-foot">
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormMap" title="定位" width="1050px" class="dy-dialog">
|
||||
<div id="map" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<span>经度:</span>
|
||||
<el-input v-model="form.LONGITUDE" style="width: 200px" placeholder="请输入内容" disabled />
|
||||
<span>纬度:</span>
|
||||
<el-input v-model="form.LATITUDE" style="width: 200px" placeholder="请输入内容" disabled />
|
||||
<el-button @click="dialogFormMap = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { TiandiMap },
|
||||
data() {
|
||||
return {
|
||||
pd: {
|
||||
|
@ -186,7 +211,9 @@ export default {
|
|||
OATTACHMENTSPATH: '', // 其他附件
|
||||
file: '', // 相关附件
|
||||
APPLICANT: '', // 申请人
|
||||
STATE: ''// 状态
|
||||
STATE: '', // 状态
|
||||
WORK_LATITUDE: '', // 纬度
|
||||
WORK_LONGITUDE: '' // 经度
|
||||
},
|
||||
punishThePerson: [],
|
||||
treeData: [],
|
||||
|
@ -196,6 +223,14 @@ export default {
|
|||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
// 地图所需参数
|
||||
map: null,
|
||||
marker: null,
|
||||
dialogFormMap: false,
|
||||
form: {
|
||||
LONGITUDE: '',
|
||||
LATITUDE: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -223,6 +258,11 @@ export default {
|
|||
created() {
|
||||
this.getData()
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.map && this.map.removeEventListener('click', this.MapClick)
|
||||
console.log('定时器关闭')
|
||||
clearInterval(this.timer)
|
||||
},
|
||||
methods: {
|
||||
handleTreeSelected(checkedIds, checkedData) {
|
||||
this.DEPTIDS = checkedIds.join(',')
|
||||
|
@ -280,6 +320,78 @@ export default {
|
|||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
this.$parent.OUTSOURCED_ID = ''
|
||||
},
|
||||
/**
|
||||
* 初始化天地图对象
|
||||
*/
|
||||
initTDT() {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (window.T) {
|
||||
console.log('天地图初始化成功...')
|
||||
resolve(window.T)
|
||||
reject('error')
|
||||
}
|
||||
}).then(T => {
|
||||
window.T = T
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 初始化地图
|
||||
* @param {*} lng 经度
|
||||
* @param {*} lat 纬度
|
||||
* @param {*} zoom 缩放比例(1~18)
|
||||
*/
|
||||
initMap(lng, lat, zoom) {
|
||||
this.initTDT().then((T) => {
|
||||
const imageURL = 'http://t0.tianditu.gov.cn/img_w/wmts?' + 'SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles' + '&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e8a16137fd226a62a23cc7ba5c9c78ce'
|
||||
// 创建自定义图层对象
|
||||
this.lay = new window.T.TileLayer(imageURL, { minZoom: 1, maxZoom: 18 })
|
||||
// 初始化地图对象
|
||||
this.map = new window.T.Map('map')
|
||||
this.initCenter(lng, lat, zoom)
|
||||
})
|
||||
},
|
||||
initCenter(lng, lat, zoom) {
|
||||
// 设置显示地图的中心点和级别
|
||||
if (!this.form.LONGITUDE && !this.form.LATITUDE) {
|
||||
this.map.centerAndZoom(new window.T.LngLat(119.58, 39.94), zoom)
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
} else {
|
||||
this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom)
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
this.form.LONGITUDE = lng
|
||||
this.form.LATITUDE = lat
|
||||
this.marker = new window.T.Marker(new window.T.LngLat(lng, lat))
|
||||
// 向地图上添加标注
|
||||
this.map.addOverLay(this.marker)
|
||||
}
|
||||
// 创建卫星和路网的混合视图
|
||||
this.map.setMapType(window.TMAP_HYBRID_MAP)
|
||||
// 允许鼠标滚轮缩放地图
|
||||
this.map.enableScrollWheelZoom()
|
||||
// 允许鼠标移动地图
|
||||
this.map.enableInertia()
|
||||
// 向地图上添加标注
|
||||
this.map.addEventListener('click', this.MapClick)
|
||||
},
|
||||
MapClick(event) {
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
this.form.LONGITUDE = event.lnglat.getLng()
|
||||
this.form.LATITUDE = event.lnglat.getLat()
|
||||
this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat()))
|
||||
// 向地图上添加标注
|
||||
this.map.addOverLay(this.marker)
|
||||
},
|
||||
handleMap(row) {
|
||||
this.form.LATITUDE = ''
|
||||
this.form.LONGITUDE = ''
|
||||
this.dialogFormMap = true
|
||||
this.form.LATITUDE = this.pd.WORK_LATITUDE
|
||||
this.form.LONGITUDE = this.pd.WORK_LONGITUDE
|
||||
this.$nextTick(() => {
|
||||
if (!this.map) this.initMap(this.form.LONGITUDE, this.form.LATITUDE, 16)
|
||||
else this.initCenter(this.form.LONGITUDE, this.form.LATITUDE, 16)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -289,5 +401,8 @@ export default {
|
|||
.tbg{width:180px;
|
||||
/*text-align: left;*/
|
||||
}
|
||||
|
||||
#map{
|
||||
width: 1000px;
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="施工相关方">
|
||||
<el-select v-model="UNITS_ID" placeholder="请选择施工相关方" style="width: 100%">
|
||||
<el-select v-model="UNITS_ID" filterable placeholder="请选择施工相关方" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitsList"
|
||||
:key="item.UNITS_ID"
|
||||
|
@ -137,15 +137,27 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="STATE" label="状态" width="100" >
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.STATE == 0">未开工</span>
|
||||
<span v-if="row.STATE == 1">进行中</span>
|
||||
<span v-if="row.STATE == 2">已结束</span>
|
||||
<span v-if="row.STATE == -1">开工申请中</span>
|
||||
<span v-if="row.STATE == -2">结束申请中</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_CREATOR_NAME" label="创建人" show-overflow-tooltip />
|
||||
<el-table-column label="视频数量" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.VIDEO_COUNT != 0">
|
||||
<a style="color: #1e9fff;text-decoration:underline" @click="clickVideoDetail(row.OUTSOURCED_ID)">{{ row.VIDEO_COUNT }}</a>
|
||||
</span>
|
||||
<span v-else>{{ row.VIDEO_COUNT }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="400">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID)">查看</el-button>
|
||||
<el-button type="success" icon="el-icon-view" size="mini" @click="handleJie(row.OUTSOURCED_ID)">结束</el-button>
|
||||
<el-button v-if="row.CREATOR==userInfoUserId && row.STATE==-1" type="success" icon="el-icon-view" size="mini" @click="handleState(row.OUTSOURCED_ID)">开工审批</el-button>
|
||||
<el-button v-if="row.CREATOR==userInfoUserId && row.STATE==-2" type="success" icon="el-icon-view" size="mini" @click="handleJie(row.OUTSOURCED_ID)">结束审批</el-button>
|
||||
<el-button v-show="edit" v-if="0 === row.IS_CORP_TYPE" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.OUTSOURCED_ID)">编辑</el-button>
|
||||
<el-button v-show="del" v-if="0 === row.IS_CORP_TYPE" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.OUTSOURCED_ID)">删除</el-button>
|
||||
</template>
|
||||
|
@ -183,6 +195,8 @@ export default {
|
|||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
CORPINFO_ID: '',
|
||||
userInfoUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
qrcodeStr: '',
|
||||
listLoading: true,
|
||||
add: false,
|
||||
|
@ -238,8 +252,11 @@ export default {
|
|||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
stateList: [
|
||||
{ ID: '0', NAME: '未开工' },
|
||||
{ ID: '1', NAME: '进行中' },
|
||||
{ ID: '2', NAME: '已结束' }
|
||||
{ ID: '2', NAME: '已结束' },
|
||||
{ ID: '-1', NAME: '开工申请中' },
|
||||
{ ID: '-2', NAME: '结束申请中' }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -252,6 +269,7 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
this.CORPINFO_ID = this.$parent.CORPINFO_ID,
|
||||
this.getList()
|
||||
this.getUnitsList()
|
||||
this.getCorpList()
|
||||
|
@ -299,7 +317,7 @@ export default {
|
|||
CONTRACT_STIME: this.CONTRACTTIME[0],
|
||||
CONTRACT_ETIME: this.CONTRACTTIME[1],
|
||||
STATE: this.STATE,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
CORPINFO_ID: this.CORPINFO_ID,
|
||||
INVOLVING_CORP: this.INVOLVING_CORP,
|
||||
DEPARTMENT_ID: this.DEPARTMENT_ID,
|
||||
COMPETENT_DEPT_ID: this.COMPETENT_DEPT_ID,
|
||||
|
@ -326,6 +344,10 @@ export default {
|
|||
this.$parent.OUTSOURCED_ID = ID
|
||||
this.$parent.activeName = 'Info'
|
||||
},
|
||||
clickVideoDetail(ID) {
|
||||
this.$parent.OUTSOURCED_ID = ID,
|
||||
this.$parent.activeName = 'videoList'
|
||||
},
|
||||
// 修改
|
||||
handleEdit(ID) {
|
||||
this.$parent.activeName = 'Edit'
|
||||
|
@ -351,6 +373,35 @@ export default {
|
|||
// }
|
||||
// })
|
||||
// },
|
||||
handleState(id) {
|
||||
this.$confirm('确定要开工吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/outsourced/updateState',
|
||||
{
|
||||
OUTSOURCED_ID: id,
|
||||
OPERATOR: this.userInfoUserId, // 修改人
|
||||
STATE: '1'
|
||||
}
|
||||
).then((data) => {
|
||||
this.$message({
|
||||
message: '已开工',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
handleJie(id) {
|
||||
this.$confirm('确定要结束吗?', {
|
||||
confirmButtonText: '确定',
|
||||
|
@ -359,23 +410,18 @@ export default {
|
|||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/outsourced/jie',
|
||||
'/outsourced/updateState',
|
||||
{
|
||||
OUTSOURCED_ID: id
|
||||
OUTSOURCED_ID: id,
|
||||
OPERATOR: this.userInfoUserId, // 修改人
|
||||
STATE: '2'
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.code == '500') {
|
||||
this.listLoading = false
|
||||
this.$message({
|
||||
message: data.message,
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
message: '已结束',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
|
@ -443,12 +489,21 @@ export default {
|
|||
})
|
||||
},
|
||||
selectDeptOption() {
|
||||
var url = ''
|
||||
if (this.CORPINFO_ID == '1') {
|
||||
url = '/department/listTree'
|
||||
} else {
|
||||
url = '/department/listTreeCorpInfo'
|
||||
}
|
||||
// 合并
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorp1',
|
||||
url,
|
||||
{
|
||||
CORPINFO_ID: this.CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.treeDeptOptions = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
// this.treeDeptOptions = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-if="activeName=='List'" ref="list" />
|
||||
<Edit v-if="activeName=='Edit'" />
|
||||
<Info v-if="activeName=='Info'" />
|
||||
<videoList v-if="activeName=='videoList'" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -12,24 +13,25 @@ import List from './components/list'
|
|||
import Edit from './components/edit'
|
||||
import Info from './components/info'
|
||||
import OutSourced from '@/components/OutSourced/index'
|
||||
import videoList from '@/views/keyprojects/videomanager/components/video-list'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
Edit: Edit,
|
||||
OutSourced: OutSourced,
|
||||
Info: Info
|
||||
Info: Info,
|
||||
videoList: videoList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'OutSourced'
|
||||
activeName: 'OutSourced',
|
||||
OUTSOURCED_ID: '',
|
||||
CORPINFO_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getQuery()
|
||||
}
|
||||
if (val == 'OutSourced') {
|
||||
this.$refs.outSourced.getQuery()
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-if="activeName=='List'" ref="list" />
|
||||
<List2 v-if="activeName=='List2'" />
|
||||
<Info v-if="activeName=='Info'" />
|
||||
<hidden-info v-if="activeName==='HiddenInfo'"/>
|
||||
|
@ -32,8 +32,8 @@ export default {
|
|||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getList()
|
||||
if (val == 'OutSourced') {
|
||||
this.$refs.outSourced.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="施工相关方">
|
||||
<el-select v-model="UNITS_ID" placeholder="请选择施工相关方" style="width: 100%">
|
||||
<el-select v-model="UNITS_ID" filterable placeholder="请选择施工相关方" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitsList"
|
||||
:key="item.UNITS_ID"
|
||||
|
@ -148,8 +148,11 @@
|
|||
<el-table-column prop="VIDEO_COUNT" label="视频个数" />
|
||||
<el-table-column prop="STATE" label="状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.STATE == 1">进行中</span>
|
||||
<span v-if="row.STATE == -1">开工申请中</span>
|
||||
<span v-if="row.STATE == -2">结束申请中</span>
|
||||
<span v-if="row.STATE == 0">未开工</span>
|
||||
<span v-if="row.STATE == 2">已结束</span>
|
||||
<span v-if="row.STATE == 1">进行中</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100">
|
||||
|
@ -174,6 +177,7 @@ export default {
|
|||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
CORPINFO_ID: '',
|
||||
listLoading: true,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
|
@ -188,6 +192,9 @@ export default {
|
|||
STATE: '',
|
||||
CONTRACTTIME: ['', ''], // 区间条件
|
||||
stateList: [
|
||||
{ ID: '-1', NAME: '开工申请中' },
|
||||
{ ID: '-2', NAME: '结束申请中' },
|
||||
{ ID: '0', NAME: '未开工' },
|
||||
{ ID: '1', NAME: '进行中' },
|
||||
{ ID: '2', NAME: '已结束' }
|
||||
],
|
||||
|
@ -212,6 +219,7 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
this.CORPINFO_ID = this.$parent.CORPINFO_ID
|
||||
this.getList()
|
||||
this.getUnitsList()
|
||||
this.getCorpList()
|
||||
|
@ -240,12 +248,21 @@ export default {
|
|||
})
|
||||
},
|
||||
selectDeptOption() {
|
||||
var url = ''
|
||||
if (this.CORPINFO_ID == '1') {
|
||||
url = '/department/listTree'
|
||||
} else {
|
||||
url = '/department/listTreeCorpInfo'
|
||||
}
|
||||
// 合并
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorp1',
|
||||
url,
|
||||
{
|
||||
CORPINFO_ID: this.CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.treeDeptOptions = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
// this.treeDeptOptions = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
|
@ -305,7 +322,7 @@ export default {
|
|||
COMPETENT_DEPT_ID: this.COMPETENT_DEPT_ID,
|
||||
GROUP_UNIT: this.GROUP_UNIT,
|
||||
CORP_NAME: this.CORP_NAME,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID
|
||||
CORPINFO_ID: this.CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<OutSourced v-if="activeName=='OutSourced'" ref="outSourced" :other-show="true" active-name="List"/>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<List v-if="activeName=='List'" ref="list" />
|
||||
<videoList v-if="activeName=='videoList'" />
|
||||
<!-- <component :is="activeName"/>-->
|
||||
</div>
|
||||
|
@ -23,7 +23,15 @@ export default {
|
|||
return {
|
||||
activeName: 'OutSourced',
|
||||
UNITS_ID: '',
|
||||
OUTSOURCED_ID: ''
|
||||
OUTSOURCED_ID: '',
|
||||
CORPINFO_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'OutSourced') {
|
||||
this.$refs.outSourced.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
<div class="td">隐患数量</div>
|
||||
</div>
|
||||
<div v-for="(item,index) in block3List" :key="index" class="tr">
|
||||
<div class="td">{{ item.name }}</div>
|
||||
<div class="td">{{ item.num }}</div>
|
||||
<div class="td">{{ item.check }}</div>
|
||||
<div class="td">{{ item.count }}</div>
|
||||
<div class="td">{{ item.CORP_NAME }}</div>
|
||||
<div class="td">{{ item.OUTSOURCED_COUNT }}</div>
|
||||
<div class="td">{{ item.CHECK_COUNT }}</div>
|
||||
<div class="td">{{ item.HIDDEN_COUNT }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -53,12 +53,27 @@
|
|||
<script>
|
||||
import layoutTitle from './title.vue'
|
||||
import CountTo from 'vue-count-to'
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
CountTo,
|
||||
layoutTitle
|
||||
},
|
||||
props: {
|
||||
corpInfoId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
area: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
block1OptionsList: [
|
||||
|
@ -100,16 +115,50 @@ export default {
|
|||
block3OptionsIndex: 0,
|
||||
block3List: [
|
||||
{
|
||||
name: '-',
|
||||
num: '-',
|
||||
check: '-',
|
||||
count: '-'
|
||||
CORP_NAME: '-',
|
||||
OUTSOURCED_COUNT: '-',
|
||||
CHECK_COUNT: '-',
|
||||
HIDDEN_COUNT: '-'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getCount()
|
||||
this.initgetTable()
|
||||
},
|
||||
methods: {
|
||||
|
||||
getCount() {
|
||||
requestFN(
|
||||
'/map/keyProject/findFormCount',
|
||||
{
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
AREA: this.area,
|
||||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then((data) => {
|
||||
// 第一个数组
|
||||
this.block1OptionsList[0].count = data.pd.STATE_COUNT
|
||||
this.block1OptionsList[1].count = data.pd.VIDEO_COUNT
|
||||
this.block1OptionsList[2].count = data.pd.CHECK_COUNT
|
||||
this.block1OptionsList[3].count = data.pd.HIDDEN_COUNT
|
||||
// 第二个数组
|
||||
this.block2OptionsList[0].count = data.pd.PUNISH_COUNT
|
||||
this.block2OptionsList[1].count = data.pd.AMOUT_SUM
|
||||
})
|
||||
},
|
||||
initgetTable() {
|
||||
requestFN(
|
||||
'/map/keyProject/list?showCount=10¤tPage=1',
|
||||
{
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
AREA: this.area,
|
||||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then((data) => {
|
||||
this.block3List = data.varList
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -267,7 +316,6 @@ export default {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
.block3 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
|
|
|
@ -45,10 +45,10 @@
|
|||
<td colspan="8">
|
||||
<div>盲板位置图(可另附图)及编号:</div>
|
||||
<div style="display: flex;justify-content: space-between;margin-top: 20px;">
|
||||
<img v-viewer :src="config.cfdfileUrl + info.BOARD_PATH" alt="" width="100" height="100">
|
||||
<img v-viewer :src="config.fileUrl + info.BOARD_PATH" alt="" width="100" height="100">
|
||||
<div>
|
||||
编制人:
|
||||
<img v-viewer :src="config.cfdfileUrl + info.APPLY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<img v-viewer :src="config.fileUrl + info.APPLY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
{{ info.APPLY_USER_SIGNER_TIME }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -63,7 +63,7 @@
|
|||
<td v-if="info.GUARDIAN_USER_SIGNER_PATH" colspan="5">
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.cfdfileUrl + info.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<img v-viewer :src="config.fileUrl + info.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -117,20 +117,20 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">安全交底人</td>
|
||||
<td colspan="3">
|
||||
<td v-if="info.CONFESS_USER_SIGNER_PATH" class="bbg-transparent">安全交底人</td>
|
||||
<td v-if="info.CONFESS_USER_SIGNER_PATH" colspan="3">
|
||||
<div v-if="info.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.cfdfileUrl + info.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<img v-viewer :src="config.fileUrl + info.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="3">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<td v-if="imgList.length>0" class="bbg-transparent">接受交底人</td>
|
||||
<td v-if="imgList.length>0" colspan="3">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.cfdfileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -146,7 +146,7 @@
|
|||
<div>
|
||||
签字:
|
||||
<span class="print-approval-img">
|
||||
<img v-if="info.CONSTRUCTION_USER_SIGNER_PATH" :src="config.cfdfileUrl+info.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<img v-if="info.CONSTRUCTION_USER_SIGNER_PATH" :src="config.fileUrl+info.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
</span>
|
||||
</div>
|
||||
<div style="float: right">
|
||||
|
@ -166,7 +166,7 @@
|
|||
<div>
|
||||
签字:
|
||||
<span class="print-approval-img">
|
||||
<img v-if="info.LEADER_USER_SIGNER_PATH" :src="config.cfdfileUrl+info.LEADER_USER_SIGNER_PATH">
|
||||
<img v-if="info.LEADER_USER_SIGNER_PATH" :src="config.fileUrl+info.LEADER_USER_SIGNER_PATH">
|
||||
</span>
|
||||
</div>
|
||||
<div style="float: right">
|
||||
|
@ -208,6 +208,7 @@ export default {
|
|||
info: {},
|
||||
ImgList: [],
|
||||
measuresList: [],
|
||||
imgList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -223,7 +224,7 @@ export default {
|
|||
},
|
||||
getData() {
|
||||
requestFN(
|
||||
'/map/Eight/getByIdCfdD',
|
||||
'/map/Eight/getByIdOrder',
|
||||
{
|
||||
id: this.id,
|
||||
TYPE: this.type,
|
||||
|
@ -232,7 +233,11 @@ export default {
|
|||
).then((data) => {
|
||||
this.info = { ...data.pd, ...data.Info }
|
||||
this.ImgList = data.ImgList
|
||||
this.imgList = data.imgList
|
||||
this.measuresList = data.measuresList
|
||||
this.info.APPLY_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.info.CONSTRUCTION_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.info.LEADER_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
|
|
|
@ -114,7 +114,6 @@
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="bbg-transparent">安全交底人</td>
|
||||
<td colspan="5">
|
||||
|
@ -126,12 +125,12 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="5">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<td v-if="imgList.length>0" class="bbg-transparent">接受交底人</td>
|
||||
<td v-if="imgList.length>0" colspan="5">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -247,7 +246,8 @@ export default {
|
|||
config: config,
|
||||
info: {},
|
||||
ImgList: [],
|
||||
measuresList: []
|
||||
measuresList: [],
|
||||
imgList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -273,6 +273,22 @@ export default {
|
|||
this.info = { ...data.pd, ...data.Info }
|
||||
this.ImgList = data.ImgList
|
||||
this.measuresList = data.measuresList
|
||||
this.imgList = data.imgList
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 0) {
|
||||
this.info.APPLY_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 1) {
|
||||
this.info.CONSTRUCTION_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 2) {
|
||||
this.info.PRODUCTION_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 3) {
|
||||
this.info.SAFETY_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 4) {
|
||||
this.info.LEADER_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
<tr>
|
||||
<td class="bbg-transparent">申请单位</td>
|
||||
<td >{{ info.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg-transparent">作业单位</td>
|
||||
<td class="bbg-transparent">作业单位</td>
|
||||
<td >{{ info.CONSTRUCTION_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg-transparent">作业负责人</td>
|
||||
<td class="bbg-transparent">作业负责人</td>
|
||||
<td >{{ info.CONSTRUCTION_USER_NAME }}</td>
|
||||
</tr>
|
||||
<tr class="bgst-transparent">
|
||||
|
@ -113,12 +113,12 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="5">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<td v-if="imgList.length>0" class="bbg-transparent">接受交底人</td>
|
||||
<td v-if="imgList.length>0" colspan="5">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -235,7 +235,8 @@ export default {
|
|||
config: config,
|
||||
info: {},
|
||||
ImgList: [],
|
||||
measuresList: []
|
||||
measuresList: [],
|
||||
imgList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -258,9 +259,26 @@ export default {
|
|||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then((data) => {
|
||||
debugger
|
||||
this.info = { ...data.pd, ...data.Info }
|
||||
this.ImgList = data.ImgList
|
||||
this.measuresList = data.measuresList
|
||||
this.imgList = data.imgList
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 0) {
|
||||
this.info.APPLY_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 1) {
|
||||
this.info.CONSTRUCTION_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 2) {
|
||||
this.info.PRODUCTION_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 3) {
|
||||
this.info.SAFETY_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 4) {
|
||||
this.info.LEADER_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
<td class="bbg-transparent">风险辨识结果</td>
|
||||
<td colspan="5">{{ pd.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="gasList">
|
||||
<td class="bbg-transparent" colspan="6">可燃气体分析(运行的生产装置、罐区和具有火灾爆炸危险场所)</td>
|
||||
</tr>
|
||||
<template v-for="(item,index) in gasList">
|
||||
|
@ -246,6 +246,9 @@ export default {
|
|||
this.measuresList = data.measuresList // 参数map
|
||||
this.gasList = data.gasList // 参数map
|
||||
this.otherProtectiveMeasures = this.validStr(this.pd.OTHER_PROTECTIVE_MEASURES.replace(/;_;/g, '')) ? this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;') : []
|
||||
this.info.CONFIRM_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.info.AUDIT_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.info.APPROVE_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<td class="bbg-transparent">风险辨识结果</td>
|
||||
<td colspan="5">{{ info.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="gasList.length>0">
|
||||
<td class="bbg-transparent" colspan="6">可燃气体分析(运行的生产装置、罐区和具有火灾爆炸危险场所)</td>
|
||||
</tr>
|
||||
<template v-for="(item,index) in gasList">
|
||||
|
@ -79,7 +79,7 @@
|
|||
<td colspan="5">{{ formatDate(info.WORK_START_DATE,'YYYY年MM月DD日HH时mm分') }} 至 {{ formatDate(info.WORK_END_DATE,'YYYY年MM月DD日HH时mm分') }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<tr v-if="measuresList.length>0">
|
||||
<td colspan="6">
|
||||
<table class="table-vi">
|
||||
<tr class="bbg-transparent">
|
||||
|
@ -120,9 +120,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
<tr v-if="info.CONFESS_USER_SIGNER_TIME">
|
||||
<td class="bbg-transparent">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="info.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
|
@ -132,17 +130,17 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="imgList.length>0">
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="info.CONFIRM_USER_SIGNER_TIME">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ info.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -152,7 +150,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="info.AUDIT_USER_SIGNER_TIME">
|
||||
<td colspan="6">
|
||||
<div>用电单位意见:{{ info.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -162,7 +160,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="info.APPROVE_USER_SIGNER_TIME">
|
||||
<td colspan="6">
|
||||
<div>配送电单位意见:{{ info.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -209,6 +207,7 @@ export default {
|
|||
},
|
||||
measuresList: [],
|
||||
gasList: [],
|
||||
imgList: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
|
@ -235,23 +234,11 @@ export default {
|
|||
this.info = data.pd
|
||||
this.measuresList = data.measuresList
|
||||
this.gasList = data.gasList
|
||||
this.imgList = data.imgList
|
||||
this.otherProtectiveMeasures = this.validStr(this.info.OTHER_PROTECTIVE_MEASURES.replace(/;_;/g, '')) ? this.info.OTHER_PROTECTIVE_MEASURES.split(';_;') : []
|
||||
console.info(this.otherProtectiveMeasures)
|
||||
if (!this.info.WORK_OPERATOR_ID) {
|
||||
this.$set(this.info, 'WORK_OPERATOR_ID', [])
|
||||
} else {
|
||||
this.info.WORK_OPERATOR_ID = this.info.WORK_OPERATOR_ID.split(',')
|
||||
}
|
||||
if (!this.info.WORK_USER) {
|
||||
this.$set(this.info, 'WORK_USER', [])
|
||||
} else {
|
||||
this.info.WORK_OPERATOR_NAME = this.info.WORK_USER.split(',')
|
||||
}
|
||||
if (!this.info.CARD_NO) {
|
||||
this.$set(this.info, 'CARD_NO', [])
|
||||
} else {
|
||||
this.info.WORK_OPERATOR_NUMBER = this.info.CARD_NO.split(',')
|
||||
}
|
||||
this.info.CONFIRM_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.info.AUDIT_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.info.APPROVE_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,18 +113,18 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="imgList.length>0">
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="4">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<tr v-if="info.CONSTRUCTION_USER_SIGNER_TIME">
|
||||
<td colspan="4">
|
||||
<div>作业负责人意见:{{ info.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -134,7 +134,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="info.LEADER_USER_ID">
|
||||
<tr v-if="info.LEADER_USER_SIGNER_TIME">
|
||||
<td colspan="4">
|
||||
<div>所在单位意见:{{ info.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -144,7 +144,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="info.AUDIT_USER_ID">
|
||||
<tr v-if="info.AUDIT_USER_SIGNER_TIME">
|
||||
<td colspan="4">
|
||||
<div>审核部门意见:{{ info.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -154,7 +154,7 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="info.APPROVE_USER_ID">
|
||||
<tr v-if="info.APPROVE_USER_SIGNER_TIME">
|
||||
<td colspan="4">
|
||||
<div>审批部门意见:{{ info.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
|
@ -198,7 +198,8 @@ export default {
|
|||
info: {
|
||||
OTHER_PROTECTIVE_MEASURES: []
|
||||
},
|
||||
measuresList: []
|
||||
measuresList: [],
|
||||
imgList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -223,7 +224,19 @@ export default {
|
|||
).then((data) => {
|
||||
this.info = data.pd
|
||||
this.measuresList = data.measuresList
|
||||
|
||||
this.imgList = data.imgList
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 0) {
|
||||
this.info.CONFIRM_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 1) {
|
||||
this.info.LEADER_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 2) {
|
||||
this.info.AUDIT_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}
|
||||
if (this.info.OTHER_PROTECTIVE_MEASURES.split(';_;').length > 3) {
|
||||
this.info.APPROVE_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
}
|
||||
if (!this.info.OTHER_PROTECTIVE_MEASURES) {
|
||||
this.info.OTHER_PROTECTIVE_MEASURES = []
|
||||
} else {
|
||||
|
|
|
@ -42,12 +42,16 @@
|
|||
<td colspan="2">
|
||||
<span>{{ info.PART_WEIGHT }}t</span>
|
||||
<span style="margin-left: 20px;">
|
||||
{{ info.WORK_LEVEL == '1' ? '一级作业级别' : '' }}
|
||||
{{ info.WORK_LEVEL == '2' ? '二级作业级别' : '' }}
|
||||
{{ info.WORK_LEVEL == '3' ? '三级作业级别' : '' }}
|
||||
</span>
|
||||
{{ info.WORK_LEVEL == '1' ? '一级作业级别' : '' }}
|
||||
{{ info.WORK_LEVEL == '2' ? '二级作业级别' : '' }}
|
||||
{{ info.WORK_LEVEL == '3' ? '三级作业级别' : '' }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="5">{{ info.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">风险辨识结果</td>
|
||||
<td colspan="5">{{ info.HAZARD_IDENTIFICATION }}</td>
|
||||
|
@ -78,7 +82,7 @@
|
|||
</tr>
|
||||
<tr v-if="info.LEADER_USER_MEASURES || info.CONFIRM_USER_MEASURES || info.AUDIT_USER_MEASURES || info.APPROVE_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="2">
|
||||
<td colspan="3">
|
||||
<div v-if="info.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ info.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ info.LEADER_USER_NAME }}</span>
|
||||
|
@ -110,13 +114,13 @@
|
|||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr v-if="imgList.length>0">
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="5">
|
||||
<div v-if="info.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<div v-if="imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + info.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ info.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<img v-viewer :src="config.fileUrl + imgList[0].ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ imgList[0].ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -237,13 +241,34 @@ export default {
|
|||
CRANE_DRIVER_NUMBER: []
|
||||
},
|
||||
measuresList: [],
|
||||
oldSupplementaryMeasures: []
|
||||
oldSupplementaryMeasures: [],
|
||||
imgList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleStr(measuresList) {
|
||||
for (let i = 0; i < measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = measuresList[i].PROTECTIVE_MEASURES.split('')
|
||||
for (let j = 1; j <= 3; j++) {
|
||||
// 判断字符串是否存在
|
||||
if (this.findCharIndex(PROTECTIVE_MEASURES, '(', j) !== -1) {
|
||||
// 给字符串后面添加上需要的数据
|
||||
PROTECTIVE_MEASURES.splice(
|
||||
this.findCharIndex(PROTECTIVE_MEASURES, '(', j) + 1,
|
||||
0,
|
||||
measuresList[i]['ANSWER' + j]
|
||||
)
|
||||
}
|
||||
}
|
||||
// 将数组转回字符串
|
||||
measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
}
|
||||
return measuresList
|
||||
},
|
||||
formatDate(date, format) {
|
||||
if (date) {
|
||||
return moment(date).format(format)
|
||||
|
@ -261,7 +286,12 @@ export default {
|
|||
}
|
||||
).then((data) => {
|
||||
this.info = data.pd
|
||||
this.measuresList = data.measuresList
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.imgList = data.imgList
|
||||
this.info.LEADER_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.info.CONFIRM_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.info.AUDIT_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.info.APPROVE_USER_MEASURES = this.info.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
if (!this.info.CRANE_DRIVER_ID) {
|
||||
this.$set(this.info, 'CRANE_DRIVER_ID', [])
|
||||
} else {
|
||||
|
|
|
@ -50,6 +50,10 @@
|
|||
<peoplePositionNine v-if="type === 'peoplePositionNine'" :id="id" :type="type" :infoname="infoname"/>
|
||||
<peoplePositionOne v-if="type === 'peoplePositionOne' && corpInfoId !== '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" />
|
||||
<peoplePositionYGS v-if="type === 'peoplePositionOne' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" />
|
||||
<!-- 重点工程 start -->
|
||||
<outSourceInfo v-if="type === 'PROJECT'" :id="id" :type="type" />
|
||||
<outSourceVideoInfo v-if="type === 'VIDEO'" :id="id" :type="type" />
|
||||
<!-- 重点工程 end -->
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -91,8 +95,10 @@ import hoistingCfdD from './hoistingCfdD.vue'
|
|||
import peoplePositionCfdD from './peoplePositionCfdD.vue'
|
||||
import carPositionCfdD from './carPositionCfdD.vue'
|
||||
import peoplePositionOne from './peoplePositionOne.vue'
|
||||
import peoplePositionYGS from './peoplePositionYGS.vue'
|
||||
import hotworkFirst from "./hotworkFirst";
|
||||
import peoplePositionYGS from './peoplePositionYGS.vue'
|
||||
import outSourceInfo from './outSourceInfo.vue'
|
||||
import outSourceVideoInfo from './outSourceVideoInfo.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
@ -132,8 +138,11 @@ export default {
|
|||
carPositionCfdD,
|
||||
videoPlayBianjieruqin,
|
||||
peoplePositionOne,
|
||||
hotworkFirst,
|
||||
peoplePositionOne,
|
||||
peoplePositionYGS,
|
||||
hotworkFirst
|
||||
outSourceInfo,
|
||||
outSourceVideoInfo
|
||||
},
|
||||
props: {
|
||||
title: {
|
||||
|
|
|
@ -0,0 +1,178 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="level-title">
|
||||
<h1>重点工程详情</h1>
|
||||
</div>
|
||||
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg-transparent">重点工程名称</td>
|
||||
<td colspan="3">{{ pd.OUTSOURCED_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.IS_CORP_TYPE == '0'">
|
||||
<td class="bbg-transparent">股份主管部门</td>
|
||||
<td>{{ pd.MANAGER_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg-transparent">股份监管部门</td>
|
||||
<td>{{ pd.DEPARTMENT_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.IS_CORP_TYPE == '0'">
|
||||
<td class="bbg-transparent">辖区单位</td>
|
||||
<td colspan="3">{{ pd.JURISDICTION_UNIT_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.IS_CORP_TYPE == '1'">
|
||||
<td class="bbg-transparent">企业监督部门</td>
|
||||
<td>{{ pd.DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg-transparent">企业主管部门</td>
|
||||
<td>{{ pd.Q_COMPETENT_DEPT_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.IS_CORP_TYPE == '1'">
|
||||
<td class="bbg-transparent">企业辖区部门</td>
|
||||
<td colspan="4">{{ pd.INVOLVING_CORPS_DEPART_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">集团单位</td>
|
||||
<td colspan="3">{{ pd.GROUP_UNIT_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">计划工期</td>
|
||||
<td colspan="3">{{ pd.STARTTIME }} 至 {{ pd.ENDTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">合同号</td>
|
||||
<td colspan="3">{{ pd.CONTRACT_NUM }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">施工相关方</td>
|
||||
<td colspan="3">{{ pd.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">相关方单位工程负责人</td>
|
||||
<td>{{ pd.UNITS_PIC_NAME }}</td>
|
||||
<td class="bbg-transparent">相关方单位负责人手机</td>
|
||||
<td>{{ pd.UNITS_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">监理单位名称</td>
|
||||
<td colspan="3">{{ pd.MANAGE_CORPS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">监理单位工程负责人</td>
|
||||
<td>{{ pd.MANAGE_PIC }}</td>
|
||||
<td class="bbg-transparent">监理单位负责人手机</td>
|
||||
<td >{{ pd.MANAGE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">是否发送短信</td>
|
||||
<td >
|
||||
<span v-if="pd.IS_SMS === '0'">是</span>
|
||||
<span v-if="pd.IS_SMS === '1'">否</span>
|
||||
</td>
|
||||
<td class="bbg-transparent">状态</td>
|
||||
<td>
|
||||
<span v-if="pd.STATE == 0">未开工</span>
|
||||
<span v-if="pd.STATE == 1">进行中</span>
|
||||
<span v-if="pd.STATE == 2">已结束</span>
|
||||
<span v-if="pd.STATE == -1">开工申请中</span>
|
||||
<span v-if="pd.STATE == -2">结束申请中</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-for="(item, index) in file9" :key="index">
|
||||
<td class="bbg-transparent">安全管理协议{{ index + 1 }}</td>
|
||||
<td colspan="2">{{ item.FILE_NAME }}</td>
|
||||
<td><el-button type="primary" @click="downloadFile(item.FILEPATH)">下载</el-button></td>
|
||||
</tr>
|
||||
<div class="level-line" />
|
||||
<div class="level-title">
|
||||
<h1>处罚相关:</h1>
|
||||
</div>
|
||||
<tr v-for="(item,index) in punishThePerson" :key="index">
|
||||
<td class="bbg-transparent">处罚人员部门</td>
|
||||
<td>{{ item.punishname }}</td>
|
||||
<td class="bbg-transparent">处罚人员</td>
|
||||
<td>{{ item.NAME }}</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import moment from 'moment/moment'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
pd: {
|
||||
WORK_OPERATOR_ID: [],
|
||||
WORK_OPERATOR_NAME: [],
|
||||
WORK_OPERATOR_NUMBER: []
|
||||
},
|
||||
punishThePerson: [],
|
||||
file9: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
formatDate(date, format) {
|
||||
if (date) {
|
||||
return moment(date).format(format)
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
requestFN(
|
||||
'/map/keyProject/getById',
|
||||
{
|
||||
id: this.id,
|
||||
TYPE: this.type,
|
||||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then(data => {
|
||||
this.pd = data.pd
|
||||
this.punishThePerson = data.punishThePerson
|
||||
this.file9 = data.file9
|
||||
})
|
||||
},
|
||||
downloadFile(filePath) {
|
||||
this.$confirm('确定要下载此文件吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
// window.location.href = config.httpurl + 'outsourced/download?OUTSOURCED_ID=' + OUTSOURCED_ID
|
||||
window.open(config.fileUrl + filePath)
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -0,0 +1,140 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="level-title">
|
||||
<h1>视频信息</h1>
|
||||
</div>
|
||||
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg-transparent">视频名称</td>
|
||||
<td colspan="3">{{ pd.VIDEONAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">所属重点工程</td>
|
||||
<td>{{ pd.OUTSOURCED_NAME }}</td>
|
||||
<td class="bbg-transparent">所属公司</td>
|
||||
<td>{{ pd.CORP_NAME }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<iframe v-if="!pd.PLATFORMVIDEOMANAGEMENT_ID" :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
|
||||
<div v-if="pd.PLATFORMVIDEOMANAGEMENT_ID" id="aLiVideoPlayer" class="prism-player"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import moment from 'moment/moment'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
pd: {
|
||||
WORK_OPERATOR_ID: [],
|
||||
WORK_OPERATOR_NAME: [],
|
||||
WORK_OPERATOR_NUMBER: []
|
||||
},
|
||||
VIDEOURL: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 五分钟关闭视频播放页面定时任务
|
||||
start() {
|
||||
console.log('定时器开启')
|
||||
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5分钟;
|
||||
},
|
||||
over() {
|
||||
// 定时器手动关闭
|
||||
console.log('定时器自动关闭')
|
||||
clearInterval(this.timer)
|
||||
},
|
||||
closeVideoStart() {
|
||||
this.dialogVideo = false
|
||||
this.dialogVideoHLS = false
|
||||
this.dialogVideoBack = false
|
||||
this.dialogVideoAll = false
|
||||
this.over()
|
||||
},
|
||||
formatDate(date, format) {
|
||||
if (date) {
|
||||
return moment(date).format(format)
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
this.$message.warning('单次播放最多五分钟')
|
||||
this.start()
|
||||
requestFN(
|
||||
'/map/keyProject/getById',
|
||||
{
|
||||
id: this.id,
|
||||
TYPE: this.type,
|
||||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then(data => {
|
||||
this.pd = data.pd
|
||||
console.log(this.pd)
|
||||
if (!this.pd.PLATFORMVIDEOMANAGEMENT_ID) {
|
||||
console.log(1)
|
||||
this.VIDEOURL = this.pd.VIDEOURL
|
||||
} else {
|
||||
console.log(2)
|
||||
requestFN(
|
||||
'/platformvideomanagement/getHlsPath',
|
||||
{
|
||||
INDEXCODE: this.pd.INDEXCODE
|
||||
}
|
||||
).then((res) => {
|
||||
console.log(res)
|
||||
this.$nextTick(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
this.player = new Aliplayer({
|
||||
'id': 'aLiVideoPlayer',
|
||||
'source': res.data.url,
|
||||
'width': '100%',
|
||||
'height': '500px',
|
||||
'autoplay': true,
|
||||
'isLive': true,
|
||||
'rePlay': false,
|
||||
'playsinline': true,
|
||||
'preload': true,
|
||||
'controlBarVisibility': 'hover',
|
||||
'useH5Prism': true
|
||||
}, function(player) {
|
||||
console.log('The player is created')
|
||||
})
|
||||
})
|
||||
}).catch((e) => {
|
||||
this.over()
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -690,7 +690,7 @@ export default {
|
|||
img: require('../../assets/map/gangkou_index/img11.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/img11_on.png'),
|
||||
label: '边界入侵',
|
||||
containAuthorization: [],
|
||||
containAuthorization: ['035958e685cf4850bc40151c5e0617a6'],
|
||||
eliminateAuthorization: [],
|
||||
pointUrl: '/map/mapPlatformelectronic/listAllLocation',
|
||||
list: [
|
||||
|
@ -712,13 +712,13 @@ export default {
|
|||
label: '重点工程',
|
||||
containAuthorization: [],
|
||||
eliminateAuthorization: [],
|
||||
pointUrl: '/map/mapPlatformelectronic/listAllLocation',
|
||||
pointUrl: '/map/keyProject/listAllLocation',
|
||||
list: [
|
||||
{
|
||||
label: '重点工程定位',
|
||||
dialog_width: '1200px',
|
||||
check: false,
|
||||
type: 'bianjieruqin',
|
||||
type: 'PROJECT',
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico27.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico27_on.png'),
|
||||
containAuthorization: [],
|
||||
|
@ -728,7 +728,7 @@ export default {
|
|||
label: '视频定位',
|
||||
dialog_width: '1200px',
|
||||
check: false,
|
||||
type: 'bianjieruqin',
|
||||
type: 'VIDEO',
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico26.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico26_on.png'),
|
||||
containAuthorization: [],
|
||||
|
|
|
@ -43,10 +43,13 @@ const img5_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
|
|||
|
||||
const img6_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
|
||||
|
||||
const img7_0 = require('../../../assets/map/gangkou_index/point/ico23.png')
|
||||
const img7_1 = require('../../../assets/map/gangkou_index/point/ico24.png')
|
||||
const img7_2 = require('../../../assets/map/gangkou_index/point/ico25.png')
|
||||
const img7_3 = require('../../../assets/map/gangkou_index/point/ico26.png')
|
||||
const img7_0 = require('../../../assets/map/gangkou_index/point/ico30.png')
|
||||
const img7_1 = require('../../../assets/map/gangkou_index/point/ico31.png')
|
||||
|
||||
const img8_0 = require('../../../assets/map/gangkou_index/point/ico23.png')
|
||||
const img8_1 = require('../../../assets/map/gangkou_index/point/ico24.png')
|
||||
const img8_2 = require('../../../assets/map/gangkou_index/point/ico25.png')
|
||||
const img8_3 = require('../../../assets/map/gangkou_index/point/ico26.png')
|
||||
|
||||
const imgMap = {
|
||||
img0_0, img0_1, img0_2,
|
||||
|
@ -56,7 +59,8 @@ const imgMap = {
|
|||
img4_0, img4_0_1, img4_0_2, img4_0_3, img4_1,
|
||||
img5_0,
|
||||
img6_0,
|
||||
img7_0, img7_1, img7_2, img7_3,
|
||||
img7_0, img7_1,
|
||||
img8_0, img8_1, img8_2, img8_3,
|
||||
cfd_img1_0, cfd_img1_0_1, cfd_img1_0_2, cfd_img1_0_3
|
||||
}
|
||||
export { imgMap }
|
||||
|
|
|
@ -311,48 +311,6 @@ import { upload } from '@/utils/upload'
|
|||
export default {
|
||||
components: { SelectTree },
|
||||
data() {
|
||||
/* var hasName = (rule, value, callback) => {
|
||||
requestFN(
|
||||
'/corpinfo/hasName',
|
||||
{
|
||||
RELEVANT_UNIT_NAME: value,
|
||||
CORPINFO_ID: ''
|
||||
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.pd) {
|
||||
if (data.pd.CORPINFO_ID === this.$parent.CORPINFO_ID) {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('单位名称重复'))
|
||||
}
|
||||
}
|
||||
callback()
|
||||
}).catch((e) => {
|
||||
callback()
|
||||
})
|
||||
} */
|
||||
/* var hasSocialCode = (rule, value, callback) => {
|
||||
requestFN(
|
||||
'/corpinfo/hasSocialCode',
|
||||
{
|
||||
SOCIAL_CODE: value,
|
||||
CORPINFO_ID: ''
|
||||
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.pd) {
|
||||
if (data.pd.CORPINFO_ID === this.$parent.CORPINFO_ID) {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('统一社会信用代码重复'))
|
||||
}
|
||||
}
|
||||
callback()
|
||||
}).catch((e) => {
|
||||
callback()
|
||||
})
|
||||
} */
|
||||
return {
|
||||
dataForm: {
|
||||
MAIN_DEPARTMENT: '',
|
||||
|
@ -466,23 +424,8 @@ export default {
|
|||
ecoArr: [],
|
||||
ecoNameArr: [],
|
||||
INDUSTRY: '',
|
||||
// imgUrl: require('@/assets/images/map.png'),
|
||||
rules: {
|
||||
MAIN_DEPARTMENT: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }],
|
||||
/* RELEVANT_UNIT_NAME: [
|
||||
{ required: true, message: '单位名字不能为空', trigger: 'blur' },
|
||||
{ validator: hasName, trigger: 'blur' }
|
||||
], */
|
||||
/* SOCIAL_CODE: [
|
||||
{ required: true, message: '统一社会信用代码不能为空', trigger: 'blur' },
|
||||
{ validator: hasSocialCode, trigger: 'blur' },
|
||||
{
|
||||
pattern: /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/,
|
||||
message: '请输入正确的统一社会信用代码'
|
||||
}
|
||||
], */
|
||||
// POSSESSION: [{ required: true, message: '属地不能为空', trigger: 'blur' }],
|
||||
// INDUSTRY: [{ required: true, message: '国民经济行业分类 (GB-T4754-2017)不能为空', trigger: 'blur' }],
|
||||
ECONOMIC_TYPE: [{ required: true, message: '请选择经济类型', trigger: 'blur' }],
|
||||
LONGITUDE: [{ required: true, message: '请选择经度', trigger: 'blur' }],
|
||||
LATITUDE: [{ required: true, message: '请选择纬度', trigger: 'blur' }],
|
||||
|
@ -645,22 +588,6 @@ export default {
|
|||
this.$nextTick(() => { // 此处使用这个可以等节点渲染后再获取节点
|
||||
this.$refs.deptTree.handleNodeClick(node)
|
||||
})
|
||||
/* this.OLDFOURTYPE = data.pd.FOURTYPE
|
||||
this.form = Object.assign(this.form, data.pd)
|
||||
// 国民经济行业分类
|
||||
if (data.pd.industryOption && data.pd.industryOption.length > 0) {
|
||||
this.hylxList = data.pd.industryOption
|
||||
} else {
|
||||
this.getDictByDicId('f2598ba72e864eadabf0ca4b664d26b9').then(data => {
|
||||
this.hylxList = data
|
||||
})
|
||||
}
|
||||
// 主管部门监管部门
|
||||
if (data.dep) {
|
||||
this.mainDepartment = data.dep.MAIN_REGULATORY_DEPARTMENT_NAME
|
||||
this.regulatoryDepartment = data.dep.REGULATORY_DEPARTMENT_NAME
|
||||
}
|
||||
console.log('this.form', this.form) */
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.$message({
|
||||
|
@ -673,9 +600,6 @@ export default {
|
|||
})
|
||||
},
|
||||
getNextTickData() {
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.ecoCascader.presentText = this.censusRegisterPlaceName
|
||||
// })
|
||||
if (this.form.CORP_OF_TYPE2 && this.form.CORP_OF_TYPE2 != '') {
|
||||
const node = {}
|
||||
node.id = this.form.CORP_OF_TYPE2
|
||||
|
@ -689,11 +613,6 @@ export default {
|
|||
this.$refs.corpOfTypeRef.handleNodeClick(node)
|
||||
})
|
||||
}
|
||||
// const nodea = {}
|
||||
// nodea.id = this.form.TRAINTYPE
|
||||
// this.$nextTick(() => { // 此处使用这个可以等节点渲染后再获取节点
|
||||
// this.$refs.keyHyRef.handleNodeClick(nodea)
|
||||
// })
|
||||
this.$forceUpdate()
|
||||
},
|
||||
/** 上级企业选择 Begin */
|
||||
|
@ -709,11 +628,6 @@ export default {
|
|||
this.form.CORP_GROUP = this.validStr(corp.CORP_GROUP) ? corp.CORP_GROUP : corp.CORPINFO_ID
|
||||
this.form.CORP_GROUP_NAME = this.validStr(corp.CORP_GROUP_NAME) ? corp.CORP_GROUP_NAME : corp.CORP_NAME
|
||||
this.form.CORP_PARENTS = (this.validStr(corp.CORP_PARENTS) ? corp.CORP_PARENTS : ',') + corp.CORPINFO_ID + ','
|
||||
// console.log('this.form.CORP_PARENT', this.form.CORP_PARENT)
|
||||
// console.log('this.form.CORP_PARENT_NAME', this.form.CORP_PARENT_NAME)
|
||||
// console.log('this.form.CORP_GROUP', this.form.CORP_GROUP)
|
||||
// console.log('this.form.CORP_GROUP_NAME', this.form.CORP_GROUP_NAME)
|
||||
// console.log('this.form.CORP_PARENTS', this.form.CORP_PARENTS)
|
||||
this.dialogParentCorp = false
|
||||
},
|
||||
/** 上级企业选择 End */
|
||||
|
@ -752,21 +666,6 @@ export default {
|
|||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
/* if (this.dataForm.POSSESSION && this.dataForm.POSSESSION.length > 0) {
|
||||
this.dataForm.PROVINCE = this.dataForm.POSSESSION[0] || ''
|
||||
this.dataForm.CITY = this.dataForm.POSSESSION[1] || ''
|
||||
this.dataForm.COUNTY = this.dataForm.POSSESSION[2] || ''
|
||||
this.dataForm.VILLAGE = this.dataForm.POSSESSION[3] || ''
|
||||
this.dataForm.STREET = this.dataForm.POSSESSION[4] || ''
|
||||
this.dataForm.COMPANY_AREA = this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels ? this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels.join(',') : ''
|
||||
}
|
||||
if (_this.dataForm.INDUSTRYALL && _this.dataForm.INDUSTRYALL.length > 0) {
|
||||
_this.dataForm.CORP_TYPE = _this.dataForm.INDUSTRYALL[0] || ''
|
||||
_this.dataForm.CORP_TYPE2 = _this.dataForm.INDUSTRYALL[1] || ''
|
||||
_this.dataForm.CORP_TYPE3 = _this.dataForm.INDUSTRYALL[2] || ''
|
||||
_this.dataForm.CORP_TYPE4 = _this.dataForm.INDUSTRYALL[3] || ''
|
||||
_this.dataForm.CORP_TYPE_NAME = _this.$refs.industryCascader.getCheckedNodes()[0].pathLabels ? _this.$refs.industryCascader.getCheckedNodes()[0].pathLabels.join('/') : ''
|
||||
} */
|
||||
|
||||
const formData = new FormData()
|
||||
Object.keys(this.dataForm).map(key => {
|
||||
|
|
|
@ -62,6 +62,8 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="fourCount" label="四色图数"/>
|
||||
<el-table-column prop="threePeopleCount" label="三人以上分布图数"/>
|
||||
<el-table-column prop="PeoplesCount" label="人员聚集场所分布图数"/>
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetails(row.CORPINFO_ID)">查看</el-button>
|
||||
|
|
|
@ -35,6 +35,11 @@
|
|||
{{ row.NAME }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="风险类型" >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.TYPE === '1'?'风险四色图':row.TYPE === '3'?'三人以上分布图':'人员聚集场所分布图' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="imgPatn" label="图片" >
|
||||
<template slot-scope="{row}">
|
||||
<viewer>
|
||||
|
|
|
@ -7,19 +7,6 @@
|
|||
<el-input v-model="XGF_NAME" placeholder="相关方名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6">-->
|
||||
<!-- <el-form-item label="审核通过时间">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="dates"-->
|
||||
<!-- type="daterange"-->
|
||||
<!-- range-separator="至"-->
|
||||
<!-- start-placeholder="开始日期"-->
|
||||
<!-- end-placeholder="结束日期"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- style="width: 100%;"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="3">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
|
@ -38,7 +25,7 @@
|
|||
<el-table-column prop="CREATTIME" width="150" label="申请时间" />
|
||||
<el-table-column prop="SUPERVISION_DEPARTMENT_NAME" label="安全监督部" width="150" />
|
||||
<el-table-column prop="SUPERVISION_USER_NAME" label="安全监督部人员" width="150" />
|
||||
<el-table-column prop="MANAGER_DEPARTMENT_NAME" label="主管部门" width="150" />
|
||||
<el-table-column prop="MANAGER_DEPT_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 prop="TERRITORIALITY_USER_NAME" label="属地管理部门人员" width="150" />
|
||||
|
@ -47,16 +34,6 @@
|
|||
{{ new Date(row.CREATTIME).getFullYear() }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="AUDIT_STATUS" label="审核状态" width="150">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 0">股份公司待审核</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 1">分公司待审核</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 2">培训中</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 3">培训完成</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === -1">股份公司审核未通过</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === -2">分公司审核未通过</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="申请通过人数" width="120">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.PASS_COUNT">{{ row.PASS_COUNT }}</span>
|
||||
|
|
|
@ -9,12 +9,6 @@
|
|||
width="60%">
|
||||
<div class="level-title mt-20" style="display: flex;justify-content: space-between;">
|
||||
<h1>申请信息</h1>
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 0">股份公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 1">分公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 2">培训中</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 3">培训完成</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -1">股份公司审核未通过</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -2">分公司审核未通过</span>-->
|
||||
</div>
|
||||
<table class="table-ui" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
|
@ -55,15 +49,6 @@
|
|||
<td colspan="5">{{ pd.AUDIT_DESCR }}</td>
|
||||
</tr>
|
||||
|
||||
<!-- <tr>-->
|
||||
<!-- <th>委托审核单位</th>-->
|
||||
<!-- <td>{{ pd.TRAIN_CORP_DEPT_NAME }}</td>-->
|
||||
<!-- <th>审核人</th>-->
|
||||
<!-- <td>{{ pd.TRAIN_CORP_LEADER_NAME }}</td>-->
|
||||
<!-- <th>验证时间</th>-->
|
||||
<!-- <td>{{ pd.VERIFY_TIME }}</td>-->
|
||||
<!-- </tr>-->
|
||||
|
||||
<tr v-if="pd.CORP_AUDIT_DESCR">
|
||||
<th>分公司意见</th>
|
||||
<td colspan="5">{{ pd.CORP_AUDIT_DESCR }}</td>
|
||||
|
@ -85,18 +70,10 @@
|
|||
<el-tag v-else type="success">待审核</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="STATUS" label="培训状态" >-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span v-if="row.STATUS === 0">未培训</span>-->
|
||||
<!-- <span v-if="row.STATUS === 1">培训中</span>-->
|
||||
<!-- <span v-if="row.STATUS === 2">已培训</span>-->
|
||||
<!-- <span v-if="row.STATUS === -1">培训未通过</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="操作" align="center" width="220">
|
||||
<template slot-scope="{row}">
|
||||
<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" type="primary" icon="el-icon-edit" size="mini" @click="handleCardShow(row.TRAINUSERS_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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -167,7 +144,7 @@
|
|||
|
||||
<tr>
|
||||
<th>民族</th>
|
||||
<td>{{ userDetailForm.minzuName }}</td>
|
||||
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
|
||||
<th>婚姻状况</th>
|
||||
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
|
||||
<th>政治面貌</th>
|
||||
|
@ -179,48 +156,18 @@
|
|||
|
||||
<tr>
|
||||
<th>户口所在地</th>
|
||||
<td>{{ userDetailForm.HKLOCAL }}</td>
|
||||
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
|
||||
<th>现住址</th>
|
||||
<td>{{ userDetailForm.ADDRESS }}</td>
|
||||
<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>{{ userDetailForm.CORP_START_DATE }}</td>-->
|
||||
<th>岗位名称(工种)</th>
|
||||
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <th>本岗位从业开始日期</th>-->
|
||||
<!-- <td colspan="5">{{ userDetailForm.ENTRY_DATE }}</td>-->
|
||||
<!-- <!– <th>是否按期缴纳工伤保险</th>–>-->
|
||||
<!-- <!– <td>{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td>–>-->
|
||||
<!-- <!– <th>工种</th>–>-->
|
||||
<!-- <!– <td>{{ userDetailForm.PERSON_WORK_TYPE }}</td>–>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>是否签订劳动合同</th>-->
|
||||
<!-- <td :colspan="userDetailForm.IS_SIGN_LABOR === '1' ? '' : 5">-->
|
||||
<!-- {{ formatLabel(userDetailForm.IS_SIGN_LABOR) }}-->
|
||||
<!-- </td>-->
|
||||
<!-- <th v-if="userDetailForm.IS_SIGN_LABOR === '1'">劳动合同附件</th>-->
|
||||
<!-- <td v-if="userDetailForm.IS_SIGN_LABOR === '1'" colspan="3">-->
|
||||
<!-- <span>-->
|
||||
<!-- <viewer>-->
|
||||
<!-- <img-->
|
||||
<!-- v-for="item in contractFileList"-->
|
||||
<!-- :src="config.fileUrl + item.FILEPATH"-->
|
||||
<!-- :key="item.IMGFILES_ID"-->
|
||||
<!-- width="40"-->
|
||||
<!-- height="40"-->
|
||||
<!-- style="object-fit: cover;">-->
|
||||
<!-- </viewer>-->
|
||||
<!-- </span>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<th>是否缴纳社保</th>
|
||||
<td :colspan="userDetailForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(userDetailForm.IS_SOCIAL) }}</td>
|
||||
|
@ -246,8 +193,8 @@
|
|||
<tr>
|
||||
<th>是否参加三级安全培训</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
|
||||
<th>三级安全培训照片</th>
|
||||
<td v-if="photosOfLevel.length>0" colspan="3">
|
||||
<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>
|
||||
|
@ -263,53 +210,7 @@
|
|||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <th>是否按期缴纳工伤保险</th>-->
|
||||
<!-- <td :colspan="userDetailForm.IS_INJURIES_PAY === '1' ? '':5">{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td>-->
|
||||
<!-- <th v-if="userDetailForm.IS_INJURIES_PAY === '1'">工伤保险有效期</th>-->
|
||||
<!-- <td v-if="userDetailForm.IS_INJURIES_PAY === '1'">{{ userDetailForm.IS_INJURIES_PAY_TIME }}</td>-->
|
||||
<!-- <th v-if="userDetailForm.IS_INJURIES_PAY === '1'">工伤保险凭证</th>-->
|
||||
<!-- <td v-if="userDetailForm.IS_INJURIES_PAY === '1'">-->
|
||||
<!-- <span>-->
|
||||
<!-- <viewer>-->
|
||||
<!-- <img-->
|
||||
<!-- v-for="item in gongshangbaoxianFile"-->
|
||||
<!-- :src="config.fileUrl + item.FILEPATH"-->
|
||||
<!-- :key="item.IMGFILES_ID"-->
|
||||
<!-- width="40"-->
|
||||
<!-- height="40"-->
|
||||
<!-- style="object-fit: cover;">-->
|
||||
<!-- </viewer>-->
|
||||
<!-- </span>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>是否缴纳商业保险</th>-->
|
||||
<!-- <td :colspan="userDetailForm.ISPAY === '1' ? '' : 5">-->
|
||||
<!-- {{ formatLabel(userDetailForm.ISPAY) }}-->
|
||||
<!-- </td>-->
|
||||
<!-- <th v-if="userDetailForm.ISPAY === '1'">商业保险附件</th>-->
|
||||
<!-- <td v-if="userDetailForm.ISPAY === '1'">-->
|
||||
<!-- <span>-->
|
||||
<!-- <viewer>-->
|
||||
<!-- <img-->
|
||||
<!-- v-for="item in insuranceFileList"-->
|
||||
<!-- :src="config.fileUrl + item.FILEPATH"-->
|
||||
<!-- :key="item.IMGFILES_ID"-->
|
||||
<!-- width="40"-->
|
||||
<!-- height="40"-->
|
||||
<!-- style="object-fit: cover;">-->
|
||||
<!-- </viewer>-->
|
||||
<!-- </span>-->
|
||||
<!-- </td>-->
|
||||
<!-- <th v-if="userDetailForm.ISPAY === '1'">商业保险单号</th>-->
|
||||
<!-- <td v-if="userDetailForm.ISPAY === '1'">{{ userDetailForm.ISPAY_NUMBER }}</td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<!-- <th>安全告知培训是否合格</th>-->
|
||||
<!-- <td>{{ formatLabel(userDetailForm.IS_SAFETY_TELL) }}</td>-->
|
||||
<!-- <th>安全告知培训合格日期</th>-->
|
||||
<!-- <td>{{ userDetailForm.IS_SAFETY_TIME }}</td>-->
|
||||
<th>是否缴纳保险</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_BF) }}</td>
|
||||
<th>是否特殊工种</th>
|
||||
|
@ -317,13 +218,6 @@
|
|||
<th>是否流动人员</th>
|
||||
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-- <tr>-->
|
||||
|
||||
<!-- <th>流动范围</th>-->
|
||||
<!-- <td colspan="3">{{ userDetailForm.TRAIN_AREA }}</td>-->
|
||||
<!-- </tr>-->
|
||||
<tr v-if="message != ''">
|
||||
<th>打回人</th>
|
||||
<td>{{ operator }}</td>
|
||||
|
@ -354,9 +248,6 @@
|
|||
<td>{{ item.REVIEW_TIME }}</td>
|
||||
<th>有效期</th>
|
||||
<td colspan="3">{{ item.VALIDITY_TIME_START }} 至 {{ item.VALIDITY_TIME_END }}</td>
|
||||
|
||||
<!-- <!– <td v-if="!userEntryForm.TRAIN_AREA">暂无</td>–>-->
|
||||
<!-- <!– <td v-else style="color: #04a9f5; cursor: pointer" @click="showQRCode(userEntryForm.USER_ID)">查看</td>–>-->
|
||||
</tr>
|
||||
</table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
|
@ -7,23 +7,6 @@
|
|||
<el-input v-model="XGF_NAME" placeholder="相关方名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6">-->
|
||||
<!-- <el-form-item-->
|
||||
<!-- label="培训部门"-->
|
||||
<!-- >-->
|
||||
<!-- <Treeselect-->
|
||||
<!-- :options="treeData"-->
|
||||
<!-- :normalizer="normalizer"-->
|
||||
<!-- v-model="TRAIN_CORP_DEPTS"-->
|
||||
<!-- :multiple="true"-->
|
||||
<!-- :limit="1"-->
|
||||
<!-- placeholder="请选择部门"-->
|
||||
<!-- no-options-text="暂无数据"-->
|
||||
<!-- no-children-text="暂无数据"-->
|
||||
<!-- style="width: 100%;"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="6">
|
||||
<el-form-item label="申请时间">
|
||||
<el-date-picker
|
||||
|
@ -37,13 +20,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="申请状态">-->
|
||||
<!-- <el-select v-model="AUDIT_STATUS" placeholder="请选择申请状态" clearable >-->
|
||||
<!-- <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="3">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
|
@ -78,38 +54,11 @@
|
|||
<span v-if="row.AUDIT_STATUS === 1">审核中</span>
|
||||
<span v-if="row.AUDIT_STATUS === 2">待培训</span>
|
||||
<span v-if="row.AUDIT_STATUS === 3">已完成</span>
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 0 && row.supervisionCount != row.USER_COUNT && row.territorialityCount == row.USER_COUNT || row.managerCount == row.USER_COUNT ">待审核</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 0 && (row.supervisionCount == row.USER_COUNT && row.territorialityCount != row.USER_COUNT || row.managerCount != row.USER_COUNT )">审核中</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 0 && (row.supervisionCount == row.USER_COUNT && row.territorialityCount == row.USER_COUNT && row.managerCount == row.USER_COUNT )">已完成</span>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column prop="corpTypeName" label="集团单位" />-->
|
||||
<!-- <el-table-column prop="AUDIT_DEPARTMENT_NAME" label="委托部门" />-->
|
||||
<!-- <el-table-column prop="ENTRUST_TIME" label="委托时间" />-->
|
||||
<!-- <el-table-column prop="RELEVANT_UNIT_NAME" label="相关方单位" />-->
|
||||
<!-- <el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" align="center" width="120px"/>-->
|
||||
<!-- <el-table-column prop="SUPERVISE_CORPINFO_NAME" label="基层单位主管公司" align="center" width="120px"/>-->
|
||||
<!-- <el-table-column prop="SUPERVISE_DEPARTMENT_NAME" label="基层单位主管部门" align="center" width="120px"/>-->
|
||||
<!-- <el-table-column prop="CREATTIME" label="申请时间" />-->
|
||||
<!-- <el-table-column prop="CREATOR_NAME" label="申请人员" />-->
|
||||
<!-- <el-table-column prop="TRAIN_AREA_NAME" label="流动范围" />-->
|
||||
<!-- -->
|
||||
<!-- -->
|
||||
<!-- <el-table-column prop="AUDIT_STATUS" label="申请状态" >-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 0">股份公司待审核</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 1">分公司待审核</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 2">培训中</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === 3">培训完成</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === -1">股份公司审核未通过</span>-->
|
||||
<!-- <span v-if="row.AUDIT_STATUS === -2">分公司审核未通过</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column prop="USER_COUNT" label="批次人数" />-->
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-if="(row.AUDIT_STATUS === 0 || row.AUDIT_STATUS === -2) && (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="(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-else type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -200,7 +149,6 @@ export default {
|
|||
ENDTIME: this.dates[1],
|
||||
TRAIN_CORP_DEPTS: this.TRAIN_CORP_DEPTS.join(','),
|
||||
AUDIT_STATUS: this.AUDIT_STATUS,
|
||||
TYPE: 2,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
|
|
|
@ -9,12 +9,6 @@
|
|||
width="60%">
|
||||
<div class="level-title mt-20" style="display: flex;justify-content: space-between;">
|
||||
<h1>申请信息</h1>
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 0">股份公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 1">分公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 2">培训中</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 3">培训完成</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -1">股份公司审核未通过</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -2">分公司审核未通过</span>-->
|
||||
</div>
|
||||
<table class="table-ui" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
|
@ -30,7 +24,7 @@
|
|||
<th>安全监督部门</th>
|
||||
<td>{{ pd.SUPERVISION_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.SUPERVISION_USER_USERNAME }}</td>
|
||||
<td>{{ pd.SUPERVISION_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.SUPERVISION_TIME }}</td>
|
||||
</tr>
|
||||
|
@ -38,7 +32,7 @@
|
|||
<th>主管部门</th>
|
||||
<td>{{ pd.MANAGER_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.MANAGER_USER_USERNAME }}</td>
|
||||
<td>{{ pd.MANAGER_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.MANAGER_TIME }}</td>
|
||||
</tr>
|
||||
|
@ -46,7 +40,7 @@
|
|||
<th>管理部门</th>
|
||||
<td>{{ pd.ERRITORIALITY_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.ERRITORIALITY_USER_USERNAME }}</td>
|
||||
<td>{{ pd.ERRITORIALITY_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.TERRITORIALITY_TIME }}</td>
|
||||
</tr>
|
||||
|
@ -59,42 +53,48 @@
|
|||
<div class="level-title">
|
||||
<h1>申请人员列表</h1>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="userList" :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="USERNAME" label="用户名" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门" />
|
||||
<!-- <el-table-column prop="STATUS" label="培训状态" >-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span v-if="row.STATUS === 0">未培训</span>-->
|
||||
<!-- <span v-if="row.STATUS === 1">培训中</span>-->
|
||||
<!-- <span v-if="row.STATUS === 2">已培训</span>-->
|
||||
<!-- <span v-if="row.STATUS === -1">培训未通过</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column prop="STATUS" label="评审状态" >
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="userList"
|
||||
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
|
||||
:row-class-name="tableRowClassName"
|
||||
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="USERNAME" label="用户名"/>
|
||||
<el-table-column prop="NAME" label="姓名"/>
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门"/>
|
||||
<el-table-column prop="STATUS" label="评审状态">
|
||||
<template slot-scope="{row}">
|
||||
<span >{{ getType(row) }}</span>
|
||||
<span>{{ getType(row) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="240">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)">查看</el-button>
|
||||
<el-button
|
||||
v-if="row.STATUS === 2 && row.TRAIN_STATUS === '1' && row.SUPERVISION_STATE == 1 && row.MANAGER_STATE == 1 && row.TERRITORIALITY_STATE==1"
|
||||
v-if="row.STATUS === 2 && row.TRAIN_STATUS === '1' && row.SUPERVISION_STATE === 1 && row.MANAGER_STATE === 1 && row.TERRITORIALITY_STATE===1"
|
||||
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.SUPERVISION_STATE === 9" type="success" icon="el-icon-edit" size="mini" @click="examineShow(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>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getUserList" />
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getUserList"/>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="closeWindow">关 闭</el-button>
|
||||
|
@ -159,7 +159,7 @@
|
|||
|
||||
<tr>
|
||||
<th>民族</th>
|
||||
<td>{{ userDetailForm.minzuName? userDetailForm.minzuName:'暂无信息' }}</td>
|
||||
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
|
||||
<th>婚姻状况</th>
|
||||
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
|
||||
<th>政治面貌</th>
|
||||
|
@ -171,17 +171,15 @@
|
|||
|
||||
<tr>
|
||||
<th>户口所在地</th>
|
||||
<td>{{ userDetailForm.HKLOCAL? userDetailForm.HKLOCAL:'暂无信息' }}</td>
|
||||
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
|
||||
<th>现住址</th>
|
||||
<td>{{ userDetailForm.ADDRESS? userDetailForm.ADDRESS:'暂无信息' }}</td>
|
||||
<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>{{ userDetailForm.CORP_START_DATE }}</td>-->
|
||||
<th>岗位名称(工种)</th>
|
||||
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
|
||||
</tr>
|
||||
|
@ -209,7 +207,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>是否参加三级安全培训</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
|
||||
<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>
|
||||
|
@ -229,17 +227,17 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>是否缴纳保险</th>
|
||||
<td >{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
|
||||
<td>{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
|
||||
<th>是否特殊工种</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
|
||||
<td>{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
|
||||
<th>是否流动人员</th>
|
||||
<td >{{ formatLabel(userDetailForm.ISFLOW) }}</td>
|
||||
<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;" >
|
||||
<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>
|
||||
|
@ -259,9 +257,6 @@
|
|||
<td>{{ item.REVIEW_TIME }}</td>
|
||||
<th>有效期</th>
|
||||
<td colspan="3">{{ item.VALIDITY_TIME_START }} 至 {{ item.VALIDITY_TIME_END }}</td>
|
||||
|
||||
<!-- <!– <td v-if="!userEntryForm.TRAIN_AREA">暂无</td>–>-->
|
||||
<!-- <!– <td v-else style="color: #04a9f5; cursor: pointer" @click="showQRCode(userEntryForm.USER_ID)">查看</td>–>-->
|
||||
</tr>
|
||||
</table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -278,7 +273,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.IS_STATE===0" required label="审批意见">
|
||||
<el-input v-model="form.OPINION" placeholder="这里输入审批意见..." />
|
||||
<el-input v-model="form.OPINION" placeholder="这里输入审批意见..."/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
@ -297,6 +292,7 @@ import Pagination from '@/components/Pagination' // 通过 el-pagination二次
|
|||
import { requestFN } from '@/utils/request'
|
||||
import user from './user.vue'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Pagination, user
|
||||
|
@ -304,6 +300,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
config: config,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
userInfoDialog: false,
|
||||
userDetailForm: {},
|
||||
imgUrl: '',
|
||||
|
@ -325,6 +322,7 @@ export default {
|
|||
dialogVisible: false,
|
||||
form: {
|
||||
TRAINUSERS_ID: '', // 培训批次 详情id
|
||||
TRAININGBATCH_ID: '',
|
||||
USER_COUNT: '', // 批次的人数
|
||||
type: '',
|
||||
IS_STATE: 1,
|
||||
|
@ -332,7 +330,8 @@ export default {
|
|||
},
|
||||
heirloom: {},
|
||||
message: '',
|
||||
operator: ''
|
||||
operator: '',
|
||||
photosOfLevel: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -397,6 +396,7 @@ export default {
|
|||
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
|
||||
|
@ -421,6 +421,7 @@ export default {
|
|||
this.form.type = '1'
|
||||
this.form.USER_ID = row.USER_ID
|
||||
this.dialogVisible = true
|
||||
this.form.TRAININGBATCH_ID = this.TRAININGBATCH_ID
|
||||
},
|
||||
// 提交审批意见
|
||||
approve() {
|
||||
|
@ -467,7 +468,7 @@ export default {
|
|||
this.listLoading = false
|
||||
// this.userDetailForm = Object.assign(this.userDetailForm, data.pd)
|
||||
this.userPhotoFile = data.userPhotoFile
|
||||
if (this.userPhotoFile.length > 0) {
|
||||
if (this.userPhotoFile && this.userPhotoFile.length > 0) {
|
||||
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
|
||||
}
|
||||
this.insuranceFileList = data.insuranceFile
|
||||
|
@ -519,7 +520,22 @@ export default {
|
|||
!(row.SUPERVISION_STATE === 0 || row.MANAGER_STATE === 0 || row.TERRITORIALITY_STATE === 0)) {
|
||||
return '评审中'
|
||||
}
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (row.STEP_STATUS === '3') {
|
||||
return 'warning-row'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-table .warning-row {
|
||||
background: oldlace;
|
||||
}
|
||||
|
||||
.el-table .success-row {
|
||||
background: #f0f9eb;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
const config = {
|
||||
weburl: 'http://192.168.0.45:8082/', // 前台地址
|
||||
httpurl: 'http://192.168.151.43:8092/', // 后台地址
|
||||
httpurl: 'http://192.168.151.56:8092/', // 后台地址
|
||||
qyurl: 'http://192.168.0.45:8080/', // 企业前台
|
||||
fileUrl: 'http://192.168.192.201:8991/file/',// 附件服务器地址
|
||||
fileUrl: 'http://192.168.192.201:8991/file/', // 附件服务器地址
|
||||
publicKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2zCyUYSD0pNrbtaYdvGfHfWoRV+fo/2N9O2PLLz/jZvMkigkq4eAq4JO+Ek0wDHI9WxP6iTSLYCHhIOs9CQTPvyldJFm8riZtQZlBTD8Plkb3rjrgwTqbBi3w3+HKYdkSvGFXJIdSOPbpXnj5BzN8vlVaybs24R/vpUzG9178lwIDAQAB',
|
||||
weburlWaiwang: 'https://skqhdg.porthebei.com:9004/', // 附件服务器地址,
|
||||
httpurlWaiwang: 'https://skqhdg.porthebei.com:9004/qa-prevention-gwj/', // 附件服务器地址,
|
||||
|
@ -11,5 +11,6 @@ const config = {
|
|||
httpurlNaiwang: 'http://192.168.192.201:8992//qa-prevention-gwj/', // 附件服务器地址,
|
||||
perRealTimeLocUrl: '192.168.210.32:8084/netty/test.io',
|
||||
cfdfileUrl: 'http://60.2.209.238:8991/file',
|
||||
xfgUrl: 'https://skqhdg.porthebei.com:9006/static/qrcode/views/xgf_hgz/index.html'
|
||||
xfgUrl: 'https://skqhdg.porthebei.com:9006/static/qrcode/views/xgf_hgz/index.html',
|
||||
messageUrl: 'http://192.168.151.56:8082/static/qrcode/views/xgf_hgz/index.html'
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue