Merge remote-tracking branch 'origin/dev' into dev
commit
20c574897b
src
assets/map
gangkou_index/buttom
views
classMessage/classMessage/components
dangerousWork
blindboard
components
breakground
components
circuit
components
electricity
components
highwork
components
hoisting
components
hotwork/components/hotwork/hotwork_list/components
limitspace
components
firefighting
alarm
alarmInfomation
components
alarmVideo
firecontrol
fireReport
gatemachine/primarygatemanager
gatebaseinfo/components
gatestatistics/components
keyprojects
meteorological
personnelmanagement
platformelectronic
videomanager/components
threeSystems/lawsRegulations/components
xgf
flow/components
static
|
@ -5,7 +5,7 @@
|
|||
"author": "",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 192.168.0.247",
|
||||
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 192.168.0.105",
|
||||
"start": "npm run dev",
|
||||
"unit": "jest --config test/unit/jest.conf.js --coverage",
|
||||
"e2e": "node test/e2e/runner.js",
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 9.3 KiB |
|
@ -121,7 +121,7 @@
|
|||
size="mini"
|
||||
@click="getUserInfo(row)">查看
|
||||
</el-button>
|
||||
<el-button v-if="form.CLASS_STATUS === '1'" icon="el-icon-s-open" type="primary" @click="updatePhoto(row)">更换头像</el-button>
|
||||
<el-button icon="el-icon-s-open" type="primary" @click="updatePhoto(row)">更换头像</el-button>
|
||||
<el-button
|
||||
v-if="row.STATUS === '0' && form.CLASS_STATUS === '1'"
|
||||
type="primary"
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<el-dialog v-loading="loading" :visible.sync="visible" :title="title" :before-close="close" width="90%" top="50px">
|
||||
<el-dialog
|
||||
v-loading="loading"
|
||||
:visible.sync="visible"
|
||||
:title="title"
|
||||
:fullscreen="fullscreenFlag"
|
||||
:before-close="close"
|
||||
width="90%"
|
||||
top="50px">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<el-col :span="12">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="110px">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="8">
|
||||
|
@ -52,7 +59,12 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="班级容量" prop="CLASS_SIZE">
|
||||
<el-select v-model="form.CLASS_SIZE" :disabled="isShow" placeholder="请选择" style="width: 100%" @change="changePeopleList">
|
||||
<el-select
|
||||
v-model="form.CLASS_SIZE"
|
||||
:disabled="isShow"
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
@change="changePeopleList">
|
||||
<el-option
|
||||
v-for="item in warehouse.classSizeList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
|
@ -61,27 +73,21 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="false" :span="8">
|
||||
<el-form-item v-if="false" label="培训有效期" prop="VALIDITY_PERIOD">
|
||||
<el-date-picker
|
||||
v-model="form.VALIDITY_PERIOD"
|
||||
:disabled="isShow"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<div style="font-size: 10px; color: red">{{ '温馨提示:1、输入名称、电话、身份证号按回车或让输入框失去焦点即可搜索。2、双击人员列可直接添加' }}</div>
|
||||
<el-divider content-position="center">搜索条件</el-divider>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属企业">
|
||||
<el-select v-model="util.BELONG_TO_CORP" :disabled="isShow" filterable placeholder="请选择" style="width: 100%" @change="getPeopleList">
|
||||
<el-select
|
||||
v-model="util.BELONG_TO_CORP"
|
||||
:disabled="isShow"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
@change="getPeopleList">
|
||||
<el-option
|
||||
v-for="item in warehouse.companyList"
|
||||
:key="item.BELONG_TO_CORP"
|
||||
|
@ -90,6 +96,39 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名">
|
||||
<el-input
|
||||
v-model="util.NAME"
|
||||
:disabled="isShow"
|
||||
style="width: 100%"
|
||||
maxlength="50"
|
||||
placeholder="这里输入..."
|
||||
@change="getPeopleList"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系电话">
|
||||
<el-input
|
||||
v-model="util.PHONE"
|
||||
:disabled="isShow"
|
||||
style="width: 100%"
|
||||
maxlength="50"
|
||||
placeholder="这里输入..."
|
||||
@change="getPeopleList"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="身份证号">
|
||||
<el-input
|
||||
v-model="util.CARD_ID"
|
||||
:disabled="isShow"
|
||||
style="width: 100%"
|
||||
maxlength="50"
|
||||
placeholder="这里输入..."
|
||||
@change="getPeopleList"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
|
@ -102,59 +141,68 @@
|
|||
tooltip-effect="dark"
|
||||
height="450px"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
@row-dblclick="clickAddSelect"
|
||||
@selection-change="updateSelect"
|
||||
|
||||
>
|
||||
<el-table-column :reserve-selection="true" 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 :reserve-selection="true" fixed type="selection" width="55" align="center"/>
|
||||
<el-table-column fixed type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="USERNAME" width="200px" label="用户名"/>
|
||||
<el-table-column prop="NAME" width="150px" label="姓名"/>
|
||||
<el-table-column prop="CARD_ID" label="身份证号" width="150px"/>
|
||||
<el-table-column prop="BELONG_TO_CORP_NAME" width="300px" label="所属企业"/>
|
||||
<el-table-column prop="DEPARTMENT_NAME" width="300px" label="部门"/>
|
||||
<el-table-column prop="SEX" width="50px" label="性别">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.SEX === '0' ? '男' : '女' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="CARD_ID" label="身份证号" width="150px"/>
|
||||
<el-table-column prop="BELONG_TO_CORP_NAME" label="所属企业"/>
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门"/>
|
||||
<el-table-column prop="PHOTO" label="免冠照片" width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-image v-if="getShowPicture(row)" :src="config.fileUrl+row.PHOTO" :preview-src-list="[config.fileUrl+row.PHOTO]" :z-index="9999" style="width: 100px; height: 100px"/>
|
||||
<img v-if="!getShowPicture(row)" src="../../../../assets/images/peopleHead.png" alt="" style="width: 100px; height: 100px">
|
||||
<el-image
|
||||
v-if="getShowPicture(row)"
|
||||
:src="config.fileUrl+row.PHOTO"
|
||||
:preview-src-list="[config.fileUrl+row.PHOTO]"
|
||||
:z-index="9999"
|
||||
style="width: 100px; height: 100px"/>
|
||||
<img
|
||||
v-if="!getShowPicture(row)"
|
||||
src="../../../../assets/images/peopleHead.png"
|
||||
alt=""
|
||||
style="width: 100px; height: 100px">
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="PHONE" label="联系电话"/>
|
||||
<el-table-column prop="STATUS" label="培训结果">
|
||||
<el-table-column prop="PHONE" width="200px" label="联系电话"/>
|
||||
<el-table-column v-if="false" prop="STATUS" label="培训结果">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="row.STATUS === '0'">不合格</template>
|
||||
<template v-else-if="row.STATUS === '1'">合格</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<el-table-column fixed="right" label="操作" align="center" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button
|
||||
v-if="form.CLASS_STATUS === '2' && row.STATUS === '1'"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
@click="getUserInfo(row)">查看
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.STATUS === '0' && form.CLASS_STATUS === '1'"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
@click="changFlag(row,'1')">合格
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.STATUS == '1' && form.CLASS_STATUS === '1'"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
@click="changFlag(row,'0')">不合格
|
||||
</el-button>
|
||||
<el-tooltip class="item" effect="dark" content="加入本次课程" placement="top-start">
|
||||
<el-button
|
||||
v-if="!row.isSelect"
|
||||
type="warning"
|
||||
icon="el-icon-plus"
|
||||
circle
|
||||
@click="addSelect(row)"/>
|
||||
</el-tooltip>
|
||||
<el-tooltip class="item" effect="dark" content="已加入本次课程" placement="top-start">
|
||||
<el-button
|
||||
v-if="row.isSelect"
|
||||
type="success"
|
||||
icon="el-icon-check"
|
||||
circle/>
|
||||
</el-tooltip>
|
||||
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-info"
|
||||
circle
|
||||
@click="viewUserInfo(row)"/>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -162,44 +210,56 @@
|
|||
</el-row>
|
||||
</el-form>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-col :span="12">
|
||||
<div style="margin-left: 10px">
|
||||
<div>已选择人员数量:{{ ($refs.multipleTable && $refs.multipleTable.selection)?$refs.multipleTable.selection.length:0 }}</div>
|
||||
<div>已选择人员数量:{{
|
||||
(selectPeopleList && selectPeopleList.length) ? selectPeopleList.length : 0
|
||||
}}
|
||||
</div>
|
||||
<div class="el-form-item__label">已选择人员名称:</div>
|
||||
<el-table
|
||||
:data="selectPeopleList"
|
||||
border
|
||||
height="600px"
|
||||
height="642px"
|
||||
style="width: 100%;margin-left: 10px">
|
||||
<el-table-column prop="NAME" fixed label="姓名" width="150px" style="width: 150px"/>
|
||||
<el-table-column prop="NAME" fixed label="姓名" width="100px" style="width: 150px"/>
|
||||
<el-table-column prop="USERNAME" label="用户名" width="150px" style="width: 150px"/>
|
||||
<el-table-column prop="BELONG_TO_CORP_NAME" label="所属企业" width="150px" style="width: 150px"/>
|
||||
<el-table-column prop="CARD_ID" label="身份证号" width="150px"/>
|
||||
<el-table-column prop="BELONG_TO_CORP_NAME" label="所属企业" width="200px" style="width: 150px"/>
|
||||
<el-table-column prop="CARD_ID" label="身份证号" width="200px"/>
|
||||
<el-table-column fixed="right" label="操作" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
|
||||
<el-button type="danger" icon="el-icon-delete" circle @click="deleteSelect(row)"/>
|
||||
</el-tooltip>
|
||||
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
|
||||
<el-button type="primary" icon="el-icon-info" circle @click="viewUserInfo(row)"/>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="close">取 消</el-button>
|
||||
<el-button v-if="!form.CLASS_STATUS || form.CLASS_STATUS === ''" type="primary" @click="confirm">确 定</el-button>
|
||||
<el-button v-if="form.CLASS_STATUS === '0' || form.CLASS_STATUS === '1'" type="primary" @click="getExcel(form.CLASS_MESSAGE_ID)">导出excel</el-button>
|
||||
<el-button v-if="form.CLASS_STATUS === '1'" type="primary" @click="graduation(form.CLASS_MESSAGE_ID)">班级结业</el-button>
|
||||
<el-button v-if="form.CLASS_STATUS === '2'" type="primary" @click="getCertificate(form.CLASS_MESSAGE_ID)">导出结业证书</el-button>
|
||||
<el-button @click="fullscreen">{{ fullscreenFlag ? '取消全屏' : '全 屏' }}</el-button>
|
||||
<el-button type="primary" @click="confirm">确 定</el-button>
|
||||
</div>
|
||||
<user ref="userInfo" append-to-body/>
|
||||
<user_pdf ref="userPdf" append-to-body/>
|
||||
<user-info ref="userInfos" append-to-body/>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import axios from 'axios'
|
||||
import dayjs from 'dayjs' // waves directive
|
||||
import user from './user.vue'
|
||||
import User_pdf from './user_pdf.vue'
|
||||
import UserInfo from '../../../xgf/flow_audit/userInfo.vue'
|
||||
|
||||
export default {
|
||||
components: { User_pdf, Pagination, user },
|
||||
components: { UserInfo, User_pdf, Pagination, user },
|
||||
directives: { waves },
|
||||
props: {
|
||||
title: {
|
||||
|
@ -224,10 +284,16 @@ export default {
|
|||
CLASS_SIZE: '', // 班级容量
|
||||
CLASS_STATUS: '', // 班级状态(0-待开班、1-已开班、2-完成)
|
||||
VALIDITY_PERIOD: [],
|
||||
CLASS_MESSAGE_ID: ''
|
||||
CLASS_MESSAGE_ID: '',
|
||||
peopleList: []
|
||||
},
|
||||
util: {
|
||||
BELONG_TO_CORP: ''
|
||||
BELONG_TO_CORP: '',
|
||||
NAME: '',
|
||||
PHONE: '',
|
||||
CARD_ID: '',
|
||||
EDIT_FLAG: '',
|
||||
CLASS_MESSAGE_ID: ''
|
||||
},
|
||||
warehouse: {
|
||||
placeList: [],
|
||||
|
@ -254,7 +320,9 @@ export default {
|
|||
VALIDITY_PERIOD: [{ trigger: 'blur', required: true, message: '请选择时间区间' }]
|
||||
},
|
||||
peopleList: [],
|
||||
selectPeopleList: []
|
||||
selectPeopleList: [],
|
||||
fullscreenFlag: false,
|
||||
lock: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -264,6 +332,8 @@ export default {
|
|||
this.loading = true
|
||||
this.visible = true
|
||||
if (e && e.CLASS_MESSAGE_ID && e.CLASS_MESSAGE_ID !== '') {
|
||||
this.util.EDIT_FLAG = '1'
|
||||
this.util.CLASS_MESSAGE_ID = e.CLASS_MESSAGE_ID
|
||||
this.getInformation(e)
|
||||
} else {
|
||||
this.getPeopleList()
|
||||
|
@ -282,10 +352,16 @@ export default {
|
|||
return
|
||||
}
|
||||
this.selectPeopleList = rows
|
||||
for (let i = 0; i < this.selectPeopleList.length; i++) {
|
||||
this.selectPeopleList[i].isSelect = true
|
||||
}
|
||||
if (!this.lock) {
|
||||
this.getPeopleList()
|
||||
}
|
||||
}
|
||||
},
|
||||
confirm() {
|
||||
const list = this.$refs.multipleTable.selection
|
||||
const list = this.selectPeopleList
|
||||
if (!list || !list.length || list.length === 0) {
|
||||
this.$message.error('没有人员数据')
|
||||
return
|
||||
|
@ -317,6 +393,7 @@ export default {
|
|||
})
|
||||
},
|
||||
close() {
|
||||
console.log('清理缓存')
|
||||
this.visible = false
|
||||
this.form = {
|
||||
CLASS_NAME: '', // 班级名称
|
||||
|
@ -327,7 +404,14 @@ export default {
|
|||
CLASS_STATUS: ''// 班级状态(0-待开班、1-已开班、2-完成)
|
||||
}
|
||||
this.selectPeopleList = []
|
||||
this.util.BELONG_TO_CORP = ''
|
||||
this.util = {
|
||||
BELONG_TO_CORP: '',
|
||||
NAME: '',
|
||||
PHONE: '',
|
||||
CARD_ID: '',
|
||||
EDIT_FLAG: '',
|
||||
CLASS_MESSAGE_ID: ''
|
||||
}
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
},
|
||||
getDic() {
|
||||
|
@ -379,8 +463,17 @@ export default {
|
|||
} else {
|
||||
pageSize = this.form.CLASS_SIZE
|
||||
}
|
||||
requestFN('/classMessage/getPeopleList?showCount=' + pageSize + '¤tPage=1', { BELONG_TO_CORP: this.util.BELONG_TO_CORP }).then((data) => {
|
||||
this.peopleList = data.varList
|
||||
requestFN('/classMessage/getPeopleList?showCount=' + pageSize + '¤tPage=1', this.util).then((data) => {
|
||||
const _peopleList = data.varList
|
||||
if (data.varList && data.varList.length > 0) {
|
||||
_peopleList.forEach((item) => {
|
||||
const list = this.selectPeopleList.filter(ver => ver.USER_ID === item.USER_ID)
|
||||
if (list && list.length > 0) {
|
||||
item.isSelect = true
|
||||
}
|
||||
})
|
||||
}
|
||||
this.peopleList = _peopleList
|
||||
this.loading = false
|
||||
}).catch((e) => {
|
||||
this.loading = false
|
||||
|
@ -392,7 +485,12 @@ export default {
|
|||
if (data.code === '0') {
|
||||
this.form = data.pd
|
||||
this.form.VALIDITY_PERIOD = [this.form.VALIDITY_PERIOD_START, this.form.VALIDITY_PERIOD_END]
|
||||
this.peopleList = this.form.peopleList
|
||||
this.selectPeopleList = this.form.peopleList
|
||||
this.$refs.multipleTable.selection = this.form.peopleList
|
||||
this.form.peopleList.forEach(row => {
|
||||
this.$refs.multipleTable.toggleRowSelection(row)
|
||||
})
|
||||
this.getPeopleList()
|
||||
} else {
|
||||
this.$message.error('数据异常')
|
||||
}
|
||||
|
@ -401,82 +499,10 @@ export default {
|
|||
this.loading = false
|
||||
})
|
||||
},
|
||||
getExcel(id) {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '加载中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
axios.get(config.httpurl + '/classMessage/excel?CLASS_MESSAGE_ID=' + id, {
|
||||
responseType: 'blob'
|
||||
}).then(res => {
|
||||
setTimeout(() => {
|
||||
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
|
||||
const downloadElement = document.createElement('a')
|
||||
const href = window.URL.createObjectURL(blob)
|
||||
downloadElement.style.display = 'none'
|
||||
downloadElement.href = href
|
||||
downloadElement.download = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
document.body.appendChild(downloadElement)
|
||||
downloadElement.click()
|
||||
document.body.removeChild(downloadElement)
|
||||
window.URL.revokeObjectURL(href)
|
||||
this.$emit('getResult', '')
|
||||
loading.close()
|
||||
this.close()
|
||||
}, 2000)
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
loading.close()
|
||||
this.$message.error('导出失败,或未查询到隐患')
|
||||
})
|
||||
},
|
||||
changFlag(row, flag) {
|
||||
row.STATUS = flag
|
||||
requestFN('/classMessage/enterGrades', { CLASS_INFO_ID: row.CLASS_INFO_ID, STATUS: flag })
|
||||
.then((data) => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '操作成功'
|
||||
})
|
||||
this.$emit('getResult', '')
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
graduation(id) {
|
||||
this.$confirm('确定要结业吗, 结业后成绩将无法更改', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
requestFN('/classMessage/graduation', { CLASS_MESSAGE_ID: id })
|
||||
.then((data) => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '操作成功'
|
||||
})
|
||||
this.visible = false
|
||||
this.loading = false
|
||||
this.close()
|
||||
this.$emit('getResult', '')
|
||||
}).catch((e) => {
|
||||
this.loading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
getUserInfo(row) {
|
||||
console.log(row)
|
||||
this.$refs.userInfo.init(row)
|
||||
},
|
||||
getCertificate(CLASS_MESSAGE_ID) {
|
||||
this.$refs.userPdf.init({ CLASS_MESSAGE_ID: CLASS_MESSAGE_ID })
|
||||
},
|
||||
changePeopleList() {
|
||||
requestFN('/classMessage/getPeopleList?showCount=' + this.form.CLASS_SIZE + '¤tPage=1',
|
||||
{ BELONG_TO_CORP: this.util.BELONG_TO_CORP }
|
||||
|
@ -492,8 +518,52 @@ export default {
|
|||
},
|
||||
getShowPicture(row) {
|
||||
return row.PHOTO && row.PHOTO !== ''
|
||||
},
|
||||
fullscreen() {
|
||||
this.fullscreenFlag = !this.fullscreenFlag
|
||||
},
|
||||
addSelect(row) {
|
||||
if (this.form.CLASS_SIZE === '' || !this.form.CLASS_SIZE) {
|
||||
this.$message.error('请先选择班级容量')
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
return
|
||||
}
|
||||
this.selectPeopleList.push(row)
|
||||
this.$refs.multipleTable.toggleRowSelection(row)
|
||||
},
|
||||
clickAddSelect(row, column, event) {
|
||||
if (!row.isSelect) {
|
||||
this.addSelect(row)
|
||||
}
|
||||
},
|
||||
deleteSelect(row) {
|
||||
this.selectPeopleList = this.selectPeopleList.filter(ver => ver.USER_ID !== row.USER_ID)
|
||||
this.form.peopleList = this.form.peopleList.filter(ver => ver.USER_ID !== row.USER_ID)
|
||||
// 重新选择
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.lock = true
|
||||
this.form.peopleList.forEach(row => {
|
||||
this.$refs.multipleTable.toggleRowSelection(row)
|
||||
})
|
||||
this.getPeopleList()
|
||||
this.lock = false
|
||||
},
|
||||
viewUserInfo(row) {
|
||||
this.$refs.userInfos.init({ XGF_USER_ID: row.USER_ID })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/* 设置默认高度-滚动条高度 */
|
||||
.el-table__fixed {
|
||||
height: calc(100% - 15px) !important;
|
||||
}
|
||||
|
||||
/* 用于消除固定列下方的伪元素边框线 */
|
||||
.el-table__fixed:before {
|
||||
height: 0px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -71,12 +71,19 @@
|
|||
{{ row.CLASS_STATUS === '0'?'待开班':(row.CLASS_STATUS === '1'?'已开班':'完成') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="400" fixed="right">
|
||||
<el-table-column label="操作" align="center" width="360" fixed="right">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.CLASS_MESSAGE_ID)">查看</el-button>
|
||||
<el-button v-show=" row.CLASS_STATUS === '0'" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.CLASS_MESSAGE_ID)">删除</el-button>
|
||||
<el-button v-show=" row.CLASS_STATUS === '1'" type="primary" size="mini" @click="uploadExcel(row)">信息反馈</el-button>
|
||||
<el-button v-show=" row.CLASS_STATUS === '0'" type="primary" icon="el-icon-edit" size="mini" @click="changeName(row)">修改班级名称</el-button>
|
||||
<el-row>
|
||||
<el-col :span="24" style="margin-bottom: 10px">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.CLASS_MESSAGE_ID)">查看</el-button>
|
||||
<el-button v-if=" row.CLASS_STATUS === '0'" type="primary" icon="el-icon-edit" size="mini" @click="handleInit(row.CLASS_MESSAGE_ID)">编辑</el-button>
|
||||
<el-button v-if=" row.CLASS_STATUS === '0'" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.CLASS_MESSAGE_ID)">删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-button v-if=" row.CLASS_STATUS === '1'" type="primary" size="mini" @click="uploadExcel(row)">信息反馈</el-button>
|
||||
<el-button v-if=" row.CLASS_STATUS === '0'" type="primary" icon="el-icon-edit" size="mini" @click="changeName(row)">修改班级名称</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -193,6 +200,11 @@ export default {
|
|||
this.isShow = true
|
||||
this.$refs.edit.init({ CLASS_MESSAGE_ID: ID })
|
||||
},
|
||||
handleInit(ID) {
|
||||
this.title = '详情'
|
||||
this.isShow = false
|
||||
this.$refs.initClass.init({ CLASS_MESSAGE_ID: ID })
|
||||
},
|
||||
handleDelete(id) {
|
||||
this.$confirm('确定要删除吗?', {
|
||||
confirmButtonText: '确定',
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Blindboard',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Blindboard',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Blindboard',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Blindboard',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfBlindBoard/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,265 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="8" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>盲板抽堵安全作业票</h1>
|
||||
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">申请单位</td>
|
||||
<td colspan="2">{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td colspan="2">{{ pd.CONSTRUCTION_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业类别</td>
|
||||
<td>
|
||||
<input :checked="pd.WORK_TYPE=='1'" type="checkbox" disabled>堵盲板
|
||||
<input :checked="pd.WORK_TYPE=='2'" type="checkbox" disabled>抽盲板
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2" class="bbg">设备、管道名称</td>
|
||||
<td colspan="3" class="bbg">管道参数</td>
|
||||
<td colspan="3" class="bbg">盲板参数</td>
|
||||
<td rowspan="2" class="bbg">实际作业开始时间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">介质</td>
|
||||
<td class="bbg">温度</td>
|
||||
<td class="bbg">压力</td>
|
||||
<td class="bbg">材质</td>
|
||||
<td class="bbg">规格</td>
|
||||
<td class="bbg">编号</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in boardList" :key="index">
|
||||
<td v-if="index == 0" :rowspan="boardList.length">{{ pd.NAME }}</td>
|
||||
<td v-if="index == 0" :rowspan="boardList.length">{{ pd.MEDIUM }}</td>
|
||||
<td v-if="index == 0" :rowspan="boardList.length">{{ pd.TEMPERATURE }}</td>
|
||||
<td v-if="index == 0" :rowspan="boardList.length">{{ pd.PRESSURE }}</td>
|
||||
<td>{{ item.BOARD_MATERIAL }}</td>
|
||||
<td>{{ item.BOARD_SPECIFICATION }}</td>
|
||||
<td>{{ item.BOARD_NO }}</td>
|
||||
<td v-if="index == 0" :rowspan="boardList.length">{{ pd.BOARD_INSTALL_TIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
<div>盲板位置图(可另附图)及编号:</div>
|
||||
<div style="display: flex;justify-content: space-between;margin-top: 20px;">
|
||||
<img v-viewer :src="config.fileUrl + pd.BOARD_PATH" alt="" width="100" height="100">
|
||||
<div>
|
||||
编制人:
|
||||
<img v-viewer :src="config.fileUrl + pd.APPLY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
{{ pd.APPLY_USER_SIGNER_TIME }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="bbg">作业负责人</td>
|
||||
<td colspan="2">{{ pd.CONSTRUCTION_USER_NAME }}</td>
|
||||
<td class="bbg">作业人</td>
|
||||
<td>{{ pd.WORK_USER }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td v-if="pd.GUARDIAN_USER_SIGNER_PATH" colspan="5">
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="6">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="bbg">风险辨识结果</td>
|
||||
<td colspan="6">{{ pd.BOARD_HARM }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPLY_USER_MEASURES || pd.CONSTRUCTION_USER_MEASURES || pd.LEADER_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.APPLY_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.APPLY_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPLY_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.CONSTRUCTION_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.CONSTRUCTION_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONSTRUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="8">
|
||||
<div>作业负责人意见:{{ pd.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONSTRUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="8">
|
||||
<div>所在单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="padding-top: 100px"/>
|
||||
<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 dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
BLINDBOARD_ID: this.$parent.BLINDBOARD_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
boardList: [],
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
measuresList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.BLINDBOARD_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfBlindBoard/goEdit',
|
||||
{
|
||||
BLINDBOARD_ID: this.BLINDBOARD_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.imgList = data.imgList
|
||||
this.imgList1 = data.imgList1
|
||||
this.boardList = data.boardList // 参数map
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.pd.APPLY_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.CONSTRUCTION_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'Blindboard'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
.level-code
|
||||
margin-left: auto
|
||||
</style>
|
|
@ -0,0 +1,321 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="NAME" label="设备管道名称" show-overflow-tooltip />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" width="100" />
|
||||
<el-table-column prop="APPLY_DEPARTMENT_NAME" label="申请部门" />
|
||||
<el-table-column prop="CONSTRUCTION_USER_NAME" label="作业负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.CONSTRUCTION_USER_NAME }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="LEADER_USER_NAME" label="所在单位负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.LEADER_USER_NAME }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.ACCEPT_USER_NAME }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">盲板抽堵作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.BLINDBOARD_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1200px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" align-center finish-status="success" >
|
||||
<el-step title="盲板抽堵作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONSTRUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step description="" title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div style="margin: 60px 60px 0 60px;display: flex;justify-content: space-between">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '盲板抽堵作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '4', NAME: '所在单位待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-5', NAME: '所在单位审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.CUTROAD_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfBlindBoard/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 5
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONSTRUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.BLINDBOARD_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,23 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<Blindboard v-if="activeName=='Blindboard'"/>
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import Blindboard from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, Blindboard,Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
CORPINFO_ID: '',
|
||||
ticketType: '',
|
||||
BLINDBOARD_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Breakground',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Breakground',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Breakground',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('Breakground',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfBreakGround/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,283 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack()"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="6" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>动土安全作业票</h1>
|
||||
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg" colspan="2">作业申请时间</td>
|
||||
<td colspan="2">{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.CONSTRUCTION_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业地点</td>
|
||||
<td>{{ pd.WORK_PLACE }}</td>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td>{{ pd.JOB_CONTENT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">监护人</td>
|
||||
<td>
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="bbg" colspan="2">作业负责人</td>
|
||||
<td colspan="2">{{ pd.CONSTRUCTION_USER_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="5">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>作业内容、范围、方式(包括深度、面积,并附简图):{{ pd.WORK_CONTENT }}</div>
|
||||
<div style="display: flex;justify-content: space-between;margin-top: 20px;">
|
||||
<img v-viewer :src="config.fileUrl + pd.CONTENT_IMG_PATH" alt="" width="100" height="100">
|
||||
<div>
|
||||
编制人:
|
||||
<img v-viewer :src="config.fileUrl + pd.APPLY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
{{ pd.APPLY_USER_SIGNER_TIME }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="5">{{ pd.HAZARD_IDENTIFICATION.split(";_;")[0] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="5">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPLY_USER_MEASURES || pd.CONSTRUCTION_USER_MEASURES || pd.PRODUCTION_USER_MEASURES || pd.SAFETY_USER_MEASURES || pd.LEADER_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.APPLY_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.APPLY_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPLY_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.CONSTRUCTION_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.CONSTRUCTION_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONSTRUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.PRODUCTION_USER_ID && pd.PRODUCTION_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.PRODUCTION_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.PRODUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.SAFETY_USER_ID && pd.SAFETY_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.SAFETY_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.SAFETY_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_ID && pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONSTRUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.PRODUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.PRODUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.PRODUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.PRODUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.SAFETY_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>有关水、电、汽、工艺、设备、消防、安全等部门会签意见:{{ pd.SAFETY_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.SAFETY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.SAFETY_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>审批部门意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="padding-top: 100px"/>
|
||||
<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 dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
BREAKGROUND_ID: this.$parent.BREAKGROUND_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: [],
|
||||
hazardIdentification: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.info()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.BREAKGROUND_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfBreakGround/goEdit',
|
||||
{
|
||||
BREAKGROUND_ID: this.BREAKGROUND_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.imgList = data.imgList
|
||||
this.imgList1 = data.imgList1
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.pd.APPLY_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.CONSTRUCTION_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.PRODUCTION_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.SAFETY_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'Breakground'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
.bbg
|
||||
width: 270px
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
.level-code
|
||||
margin-left: auto
|
||||
</style>
|
|
@ -0,0 +1,371 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="57" align="center" />
|
||||
<el-table-column type="index" label="序号222" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="CONSTRUCTION_DEPARTMENT_NAME" label="施工单位" />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" width="100" />
|
||||
<el-table-column prop="APPLY_DEPARTMENT_NAME" label="申请部门" />
|
||||
<el-table-column prop="CONSTRUCTION_USER_NAME" label="作业负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="PRODUCTION_USER_NAME" label="所在单位负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.PRODUCTION_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="SAFETY_USER_NAME" label="有关部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.SAFETY_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="LEADER_USER_NAME" label="审批部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.LEADER_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">动土作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==3">有关部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">审批部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-3">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">有关部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">审批部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.BREAKGROUND_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1350px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="动土作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见" >
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONSTRUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('PRODUCTION_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.PRODUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.PRODUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="有关部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('SAFETY_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.SAFETY_USER_NAME }}</div>
|
||||
<div>{{ pd.SAFETY_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审批部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('LEADER_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
|
||||
</el-steps>
|
||||
<div style="margin: 60px 60px 0 60px;display: flex;justify-content: space-between">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '动土作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '2', NAME: '所在单位待审核' },
|
||||
{ ID: '3', NAME: '有关部门待审核' },
|
||||
{ ID: '4', NAME: '审批部门待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-3', NAME: '所在单位审核打回' },
|
||||
{ ID: '-4', NAME: '有关部门审核打回' },
|
||||
{ ID: '-5', NAME: '审批部门审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.CUTROAD_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfBreakGround/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '3') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 5
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 7
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONSTRUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-3') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.PRODUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '有关部门审核打回',
|
||||
USER_NAME: this.pd.SAFETY_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '审批部门审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
console.info('222222222222222222222 ')
|
||||
console.info(id)
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.BREAKGROUND_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
this.$parent.BREAKGROUND_ID = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,23 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<Breakground v-if="activeName=='Breakground'"/>
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import Breakground from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, Breakground,Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
CORPINFO_ID: '',
|
||||
ticketType: '',
|
||||
BREAKGROUND_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('circuit_list',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('circuit_list',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('circuit_list',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('circuit_list',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfcutroad/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,279 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="6" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>断路安全作业票</h1>
|
||||
<div class="level-code" >编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.CONSTRUCTION_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td>{{ pd.CONSTRUCTION_USER_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">涉及相关单位(部门)</td>
|
||||
<td colspan="3">{{ pd.OTHER_DEPT }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td>
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">断路原因</td>
|
||||
<td colspan="5">{{ pd.WORK_REASON }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="5">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>断路地段示意图(可另附图)及相关说明:{{ pd.WORK_CONTENT }}</div>
|
||||
<div style="display: flex;justify-content: space-between;margin-top: 20px;">
|
||||
<img v-viewer :src="config.fileUrl + pd.CONTENT_IMG_PATH" alt="" width="100" height="100">
|
||||
<div>
|
||||
编制人:
|
||||
<img v-viewer :src="config.fileUrl + pd.APPLY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
{{ pd.APPLY_USER_SIGNER_TIME }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="5">{{ pd.HAZARD_IDENTIFICATION.split(";_;")[0] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="5">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPLY_USER_MEASURES || pd.CONSTRUCTION_USER_MEASURES || pd.PRODUCTION_USER_MEASURES || pd.SAFETY_USER_MEASURES || pd.LEADER_USER_MEASURES ">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.APPLY_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.APPLY_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPLY_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.CONSTRUCTION_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.CONSTRUCTION_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONSTRUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.PRODUCTION_USER_ID && pd.PRODUCTION_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.PRODUCTION_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.PRODUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.SAFETY_USER_ID && pd.SAFETY_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.SAFETY_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.SAFETY_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_ID && pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONSTRUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.PRODUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.PRODUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.PRODUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.PRODUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.SAFETY_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>消防、安全管理部门意见:{{ pd.SAFETY_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.SAFETY_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.SAFETY_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>审批部门意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="padding-top: 100px"/>
|
||||
<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 dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
CUTROAD_ID: this.$parent.CUTROAD_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
otherProtectiveMeasures: [],
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
hazardIdentification: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CUTROAD_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfcutroad/goEdit',
|
||||
{
|
||||
CUTROAD_ID: this.CUTROAD_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.imgList = data.imgList
|
||||
this.pd.APPLY_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.CONSTRUCTION_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.PRODUCTION_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.SAFETY_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'circuit_list'
|
||||
this.$parent.CUTROAD_ID = ''
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
.bbg
|
||||
width: 270px
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
.level-code
|
||||
margin-left: auto
|
||||
</style>
|
|
@ -0,0 +1,365 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="57" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="填写人" />
|
||||
<el-table-column prop="CONSTRUCTION_USER_NAME" label="作业负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="PRODUCTION_USER_NAME" label="所在单位负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.PRODUCTION_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="SAFETY_DEPARTMENT_NAME" label="消防、安全管理部门负责人" show-overflow-tooltip width="200">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.SAFETY_DEPARTMENT_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="LEADER_USER_NAME" label="审批部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.LEADER_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">断路安全作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==3">消防、安全管理部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">审批部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-3">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">消防、安全管理部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">审批部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.CUTROAD_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1400px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="断路安全作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONSTRUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('PRODUCTION_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.PRODUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.PRODUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="消防、安全管理部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('SAFETY_DEPARTMENT_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.SAFETY_USER_NAME }}</div>
|
||||
<div>{{ pd.SAFETY_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审批部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('LEADER_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div style="margin: 60px 60px 0 60px;display: flex;justify-content: space-between">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '断路安全作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '2', NAME: '所在单位待审核' },
|
||||
{ ID: '3', NAME: '消防、安全管理部门待审核' },
|
||||
{ ID: '4', NAME: '审批部门待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-3', NAME: '所在单位审核打回' },
|
||||
{ ID: '-4', NAME: '消防、安全管理部门审核打回' },
|
||||
{ ID: '-5', NAME: '审批部门审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.CUTROAD_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfcutroad/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '3') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 5
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 7
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONSTRUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-3') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.PRODUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '消防、安全管理部门审核打回',
|
||||
USER_NAME: this.pd.SAFETY_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '审批部门审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
this.$parent.CORPINFO_ID = ''
|
||||
this.$parent.ticketType = ''
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
goDetail(id) {
|
||||
console.info(id)
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.CUTROAD_ID = id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,23 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<circuitList v-if="activeName=='circuit_list'"/>
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import circuitList from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, circuitList,Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
CORPINFO_ID: '',
|
||||
ticketType: '',
|
||||
CUTROAD_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('electricity_list',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('electricity_list',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('electricity_list',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('electricity_list',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfElectricity/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,269 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<div class="level-title">
|
||||
<h1>临时用电作业许可证</h1>
|
||||
<div class="level-btns">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg">申请单位</td>
|
||||
<td colspan="2">{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td colspan="2">{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业地点</td>
|
||||
<td colspan="2">{{ pd.WORK_PLACE }}</td>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td colspan="2">{{ pd.WORK_CONTENT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">电源接入点及许可用电功率</td>
|
||||
<td colspan="2">{{ pd.ALLOW_POWER }}</td>
|
||||
<td class="bbg">工作电压</td>
|
||||
<td colspan="2">{{ pd.WORK_VOLTAGE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">用电设备名称及额定功率</td>
|
||||
<td>{{ pd.RATED_POWER }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td>
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="bbg">用电人</td>
|
||||
<td>{{ pd.ELECTRICITY_USER }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业人</td>
|
||||
<td colspan="2">{{ pd.WORK_USER }}</td>
|
||||
<td class="bbg">电工证号</td>
|
||||
<td colspan="2">{{ pd.CARD_NO }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td colspan="2">{{ pd.CONFIRM_USER_NAME }}</td>
|
||||
<td class="bbg">电工证号</td>
|
||||
<td colspan="2">{{ pd.LEADER_CARD_NO }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="5">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="5">{{ pd.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg" colspan="6">可燃气体分析(运行的生产装置、罐区和具有火灾爆炸危险场所)</td>
|
||||
</tr>
|
||||
<template v-for="(item,index) in gasList">
|
||||
<tr :key="index">
|
||||
<td class="bbg">分析时间</td>
|
||||
<td colspan="2">{{ item.ANALYZE_TIME }}</td>
|
||||
<td class="bbg">分析点</td>
|
||||
<td colspan="2">{{ item.ANALYZE_PLACE }}</td>
|
||||
</tr>
|
||||
<tr :key="index">
|
||||
<td class="bbg">可燃气体检测结果</td>
|
||||
<td colspan="2">{{ item.ANALYZE_RESULT }}</td>
|
||||
<td class="bbg">分析人</td>
|
||||
<td colspan="2">{{ item.ANALYZE_USER }}</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="5">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONFIRM_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.AUDIT_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.AUDIT_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer v-if="pd.CONFIRM_USER_SIGNER_PATH" :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>用电单位意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer v-if="pd.AUDIT_USER_SIGNER_PATH" :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>配送电单位意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer v-if="pd.APPROVE_USER_SIGNER_PATH" :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer v-if="pd.ACCEPT_USER_SIGNER_PATH" :src="config.fileUrl + pd.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
ELECTRICITY_ID: this.$parent.ELECTRICITY_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
gasList: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.ELECTRICITY_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfElectricity/goEdit',
|
||||
{
|
||||
ELECTRICITY_ID: this.ELECTRICITY_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
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(';_;') : []
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'electricity_list'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
</style>
|
|
@ -0,0 +1,314 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" />
|
||||
<el-table-column prop="ANALYZE_USER_NAME" label="分析人" />
|
||||
<el-table-column prop="CONFIRM_USER_NAME" label="作业单位负责人" />
|
||||
<el-table-column prop="AUDIT_USER_NAME" label="用电单位负责人" />
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="配送电单位负责人" />
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">临时用电作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">用电单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==3">配送电单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-3">用电单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">配送电单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.ELECTRICITY_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1400px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="临时用电作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONFIRM_USER_NAME }}</div>
|
||||
<div>{{ pd.CONFIRM_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="用电单位意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.AUDIT_USER_NAME }}</div>
|
||||
<div>{{ pd.AUDIT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="配送电单位意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.APPROVE_USER_NAME }}</div>
|
||||
<div>{{ pd.APPROVE_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '临时用电作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '2', NAME: '用电单位待审核' },
|
||||
{ ID: '3', NAME: '配送电单位待审核' },
|
||||
{ ID: '4', NAME: '待验收' },
|
||||
{ ID: '5', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-3', NAME: '用电单位审核打回' },
|
||||
{ ID: '-4', NAME: '配送电单位审核打回' },
|
||||
{ ID: '-5', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.ELECTRICITY_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfElectricity/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'electricity:add,electricity:del,electricity:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.electricityfhadminadd // 新增权限
|
||||
this.del = data.electricityfhadmindel // 删除权限
|
||||
this.edit = data.electricityfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '3') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 6
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONFIRM_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-3') {
|
||||
obj = {
|
||||
title: '用电单位审核打回',
|
||||
USER_NAME: this.pd.AUDIT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '配送电单位审核打回',
|
||||
USER_NAME: this.pd.APPROVE_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.ELECTRICITY_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
this.$parent.BREAKGROUND_ID = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,32 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<List v-if="activeName=='electricity_list'" />
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import List from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, List, Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
ELECTRICITY_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('highwork_list',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('highwork_list',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('highwork_list',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('highwork_list',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHighWork/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,274 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="4" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>高处安全作业票</h1>
|
||||
<div class="level-btns">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">作业申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td>{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业地点</td>
|
||||
<td>{{ pd.WORK_PLACE }}</td>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td>{{ pd.WORK_CONTENT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业高度</td>
|
||||
<td>{{ pd.WORK_HIGH }}</td>
|
||||
<td class="bbg">高处作业级别</td>
|
||||
<td>
|
||||
{{ pd.WORK_LEVEL == '1' ? 'I级高处作业' : '' }}
|
||||
{{ pd.WORK_LEVEL == '2' ? 'II级高处作业' : '' }}
|
||||
{{ pd.WORK_LEVEL == '3' ? 'III级高处作业' : '' }}
|
||||
{{ pd.WORK_LEVEL == '4' ? 'IV级高处作业' : '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.CONSTRUCTION_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td>
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业人</td>
|
||||
<td>{{ pd.PROJECT_MANAGER }}</td>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td>{{ pd.CONSTRUCTION_USER_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="3">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="3">{{ pd.HAZARD_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="3">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES ">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONSTRUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_ID && pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.AUDIT_USER_ID && pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.AUDIT_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.AUDIT_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="4">
|
||||
<div>作业负责人意见:{{ pd.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONSTRUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="4">
|
||||
<div>所在单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="4">
|
||||
<div>审核部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="4">
|
||||
<div>审批部门意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.ACCEPT_USER_SIGNER_PATH">
|
||||
<td colspan="4">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- <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 dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
HIGHWORK_ID: this.$parent.HIGHWORK_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
otherProtectiveMeasures: [],
|
||||
hazardIdentification: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.HIGHWORK_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHighWork/goEdit',
|
||||
{
|
||||
HIGHWORK_ID: this.HIGHWORK_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.pd.CONFIRM_USER_MEASURES = data.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.LEADER_USER_MEASURES = data.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.AUDIT_USER_MEASURES = data.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.APPROVE_USER_MEASURES = data.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'highwork_list'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
.bbg
|
||||
width: 270px
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
.app-container
|
||||
margin-bottom: 50px
|
||||
</style>
|
|
@ -0,0 +1,352 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="APPLY_USER" label="填写人" />
|
||||
<el-table-column prop="CONSTRUCTION_USER_NAME" label="作业负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="LEADER_USER_NAME" label="所在单位负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.LEADER_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="AUDIT_USER_NAME" label="审核部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.AUDIT_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="审批部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.APPROVE_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">高处作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==3">审核部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">审批部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-3">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">审核部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">审批部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HIGHWORK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1350px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="高处作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONSTRUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('LEADER_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审核部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('AUDIT_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.AUDIT_USER_NAME }}</div>
|
||||
<div>{{ pd.AUDIT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step :description="getIsPase('APPROVE_USER_NAME')" title="审批部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('APPROVE_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.APPROVE_USER_NAME }}</div>
|
||||
<div>{{ pd.APPROVE_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '高处作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '2', NAME: '所在单位待审核' },
|
||||
{ ID: '3', NAME: '审核部门待审核' },
|
||||
{ ID: '4', NAME: '审批部门待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-3', NAME: '所在单位审核打回' },
|
||||
{ ID: '-4', NAME: '审核部门审核打回' },
|
||||
{ ID: '-5', NAME: '审批部门审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.HIGHWORK_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHighWork/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'highwork:add,highwork:del,highwork:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.highworkfhadminadd // 新增权限
|
||||
this.del = data.highworkfhadmindel // 删除权限
|
||||
this.edit = data.highworkfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '3') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 5
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 7
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONSTRUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-3') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '审核部门审核打回',
|
||||
USER_NAME: this.pd.AUDIT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '审批部门审核打回',
|
||||
USER_NAME: this.pd.APPROVE_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.HIGHWORK_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
this.$parent.HIGHWORK_ID = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,27 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list"/>
|
||||
<List v-if="activeName=='highwork_list'" />
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CorpInfo from "./components/corpInfo";
|
||||
import List from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: {CorpInfo,List,Detail},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
HIGHWORK_ID: '',
|
||||
ticketType : '',
|
||||
CUTROAD_ID:''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hoisting_list',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hoisting_list',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hoisting_list',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hoisting_list',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.HOISTING_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHoisting/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,305 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="6" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>吊装安全作业票</h1>
|
||||
<div class="level-btns">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">作业申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.LEADER_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td>{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">吊装地点</td>
|
||||
<td>{{ pd.WORK_PLACE }}</td>
|
||||
<td class="bbg">吊具名称</td>
|
||||
<td>{{ pd.TOOL_NAME }}</td>
|
||||
<td class="bbg">吊物内容</td>
|
||||
<td>{{ pd.WORK_CONTENT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">吊装作业人</td>
|
||||
<td>{{ pd.WORK_USER }}</td>
|
||||
<td class="bbg">司索人</td>
|
||||
<td>{{ pd.SISUO_USER }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td>
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">指挥人员</td>
|
||||
<td>{{ pd.PROJECT_MANAGER }}</td>
|
||||
<td class="bbg" colspan="2">吊物质量(t)及作业级别</td>
|
||||
<td colspan="2">
|
||||
<span>{{ pd.PART_WEIGHT }}t</span>
|
||||
<span style="margin-left: 20px;">
|
||||
{{ pd.WORK_LEVEL == '1' ? '一级作业级别' : '' }}
|
||||
{{ pd.WORK_LEVEL == '2' ? '二级作业级别' : '' }}
|
||||
{{ pd.WORK_LEVEL == '3' ? '三级作业级别' : '' }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="5">{{ pd.HAZARD_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="5">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.PROTECTIVE_MEASURES }}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_MEASURES || pd.CONFIRM_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.CONSTRUCTION_USER_ID && pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONSTRUCTION_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.AUDIT_USER_ID && pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.AUDIT_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.AUDIT_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_ID && pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业指挥意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.CONSTRUCTION_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONSTRUCTION_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>审核部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>审批部门意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.ACCEPT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- <div class="ui-height" />-->
|
||||
<div class="ui-foot">
|
||||
<!-- <el-button v-print="'#printTest'" v-if="pd.APPLY_STATUS==4">打 印</el-button>-->
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
HOISTING_ID: this.$parent.HOISTING_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
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
|
||||
},
|
||||
findCharIndex(str, char, num) {
|
||||
let index = str.indexOf(char)
|
||||
for (let i = 0; i < num - 1; i++) {
|
||||
index = str.indexOf(char, index + 1)
|
||||
}
|
||||
return index
|
||||
},
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.HOISTING_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHoisting/goEdit',
|
||||
{
|
||||
HOISTING_ID: this.HOISTING_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.measuresList = this.handleStr(data.measuresList) // 参数map
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'hoisting_list'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
|
||||
span
|
||||
vertical-align: middle
|
||||
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
|
||||
.app-container
|
||||
margin-bottom: 50px
|
||||
</style>
|
|
@ -0,0 +1,350 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="LEADER_DEPARTMENT_NAME" label="作业单位" />
|
||||
<el-table-column prop="LEADER_USER_NAME" label="作业指挥负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="CONSTRUCTION_USER_NAME" label="所在单位负责人" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
{{ row.CONSTRUCTION_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="AUDIT_USER_NAME" label="审核部门负责人" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
{{ row.AUDIT_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="审批部门负责人" show-overflow-toolti >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.APPROVE_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" show-overflow-tooltip />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">吊装作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业指挥待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==3">审核部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">审批部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业指挥审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-3">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">审核部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">审批部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOISTING_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1350px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="吊装作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业指挥意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('CONSTRUCTION_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.CONSTRUCTION_USER_NAME }}</div>
|
||||
<div>{{ pd.CONSTRUCTION_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step :description="getIsPase('AUDIT_USER_NAME')" title="审核部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('AUDIT_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.AUDIT_USER_NAME }}</div>
|
||||
<div>{{ pd.AUDIT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审批部门意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('APPROVE_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.APPROVE_USER_NAME }}</div>
|
||||
<div>{{ pd.APPROVE_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档" description="">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '吊装作业待提交' },
|
||||
{ ID: '1', NAME: '作业指挥待审核' },
|
||||
{ ID: '2', NAME: '所在单位待审核' },
|
||||
{ ID: '3', NAME: '审核部门待审核' },
|
||||
{ ID: '4', NAME: '审批部门待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业指挥审核打回' },
|
||||
{ ID: '-3', NAME: '所在单位审核打回' },
|
||||
{ ID: '-4', NAME: '审核部门审核打回' },
|
||||
{ ID: '-5', NAME: '审批部门审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.HOISTING_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/dangerousWork/gfHoisting/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType: this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'hoisting:add,hoisting:del,hoisting:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.hoistingfhadminadd // 新增权限
|
||||
this.del = data.hoistingfhadmindel // 删除权限
|
||||
this.edit = data.hoistingfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '3') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 5
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 7
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业指挥审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-3') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.CONSTRUCTION_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '审核部门审核打回',
|
||||
USER_NAME: this.pd.AUDIT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '审批部门审核打回',
|
||||
USER_NAME: this.pd.APPROVE_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.HOISTING_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
this.$parent.HOISTING_ID = ''
|
||||
this.$parent.ticketType =''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,35 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<List v-if="activeName=='hoisting_list'" />
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import List from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, List, Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
HOISTING_ID: '',
|
||||
ticketType : '',
|
||||
CORPINFO_ID : ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
|
|
@ -75,6 +75,22 @@
|
|||
<td class="bbg">动火作业实施时间</td>
|
||||
<td colspan="3">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr v-if="pd.FIRE_COMPLETED === '1' && pd.SITE_CLEANED === '1'">
|
||||
<td class="bbg">动火是否完成</td>
|
||||
<td>
|
||||
<span>已完成</span>
|
||||
</td>
|
||||
<td class="bbg">动火是否完成</td>
|
||||
<td>
|
||||
<span>已清理</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.NO_REMAINING_EMBERS === '1'">
|
||||
<td class="bbg">是否存在遗留火种</td>
|
||||
<td>
|
||||
<span>无遗留火种</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table class="table-ui">
|
||||
|
@ -146,13 +162,25 @@
|
|||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<div v-for="item in acceptConfessList" :key="item.USER_ID">
|
||||
<div v-for="(signature, index) in item.APPROVAL_SIGNATURE" :key="index" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + signature.trim()" alt="" width="100" height="100">
|
||||
<span>{{ item.APPROVAL_SIGNATURE_TIME.split(',')[0] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="bbg">接受交底人</td>-->
|
||||
<!-- <td colspan="10">-->
|
||||
<!-- <div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">-->
|
||||
<!-- <span>签字:</span>-->
|
||||
<!-- <img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">-->
|
||||
<!-- <span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<td class="bbg">监护人</td>
|
||||
<td colspan="3">
|
||||
|
@ -175,7 +203,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT === '无' ? '同意' : pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -185,7 +213,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.BELONGING_SIGNATURE">
|
||||
<td colspan="6">
|
||||
<div>项目主管部门负责人意见:{{ pd.BELONGING_OPINIONS }}</div>
|
||||
<div>项目主管部门负责人意见:{{ pd.BELONGING_OPINIONS === '' ? '同意' : pd.BELONGING_OPINIONS }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.BELONGING_SIGNATURE" alt="" width="100" height="100">
|
||||
|
@ -195,7 +223,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div>属地监管单位意见:{{ pd.LEADER_CONTENT === '无' ? '同意' : pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -205,7 +233,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT === '无' ? '同意' : pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -215,7 +243,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT === '无' ? '同意' : pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -225,7 +253,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火前验票负责人:{{ pd.MONITOR_CONTENT }}</div>
|
||||
<div>动火前验票负责人:{{ pd.MONITOR_CONTENT === '无' ? '同意' : pd.MONITOR_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -235,7 +263,7 @@
|
|||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT === '无' ? '同意' : pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -267,6 +295,7 @@ export default {
|
|||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: [],
|
||||
acceptConfessList: [],
|
||||
confessList: []
|
||||
}
|
||||
},
|
||||
|
@ -312,23 +341,37 @@ export default {
|
|||
this.confessList.push(item)
|
||||
}
|
||||
})
|
||||
for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = data.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,
|
||||
data.measuresList[i]['ANSWER' + j]
|
||||
)
|
||||
}
|
||||
// data.pd.acceptConfessList.forEach(item => {
|
||||
// if (item.APPROVAL_SIGNATURE_TIME !== undefined && item.APPROVAL_SIGNATURE_TIME.trim() !== '') {
|
||||
// this.acceptConfessList.push(item)
|
||||
// }
|
||||
// })
|
||||
data.pd.acceptConfessList.forEach(item => {
|
||||
// 将 APPROVAL_SIGNATURE 转换为数组
|
||||
if (item.APPROVAL_SIGNATURE) {
|
||||
item.APPROVAL_SIGNATURE = item.APPROVAL_SIGNATURE.split(';')
|
||||
}
|
||||
// 将数组转回字符串
|
||||
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
}
|
||||
if (item.APPROVAL_SIGNATURE_TIME !== undefined && item.APPROVAL_SIGNATURE_TIME.trim() !== '') {
|
||||
this.acceptConfessList.push(item)
|
||||
}
|
||||
})
|
||||
// for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// // 将字符串转成数组
|
||||
// const PROTECTIVE_MEASURES = data.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,
|
||||
// data.measuresList[i]['ANSWER' + j]
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
// // 将数组转回字符串
|
||||
// data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
// }
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.gasList = data.gasList // 参数map
|
||||
if (this.pd.WORK_LEVEL === '二级') {
|
||||
|
|
|
@ -52,14 +52,14 @@
|
|||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">动火作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1.5">项目负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1.5">项目主管部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">属地监管单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">安全管理部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">动火审批人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">班长待验票</span>
|
||||
<span v-else-if="row.APPLY_STATUS==7">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==8">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-1.5">项目负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-1.5">项目主管部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">安全管理部门审核打回</span>
|
||||
|
@ -93,6 +93,12 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="WORK_LEVEL" label="动火等级" align="center"/>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORK_ID)">查看</el-button>
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<div class="filter-group ">
|
||||
<div class="filter-lable" style="width: 60px">
|
||||
公司名称:
|
||||
</div>
|
||||
<div class="filter-width">
|
||||
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
|
||||
</div>
|
||||
</div>
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" />
|
||||
<el-table-column prop="checkedCount" label="申请总数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('LimitSpace',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('LimitSpace',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ybCount" label="废除数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('LimitSpace',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="zdCount" label="进行数" align="center" >
|
||||
<template slot-scope="{row}">
|
||||
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('LimitSpace',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
|
||||
config: config,
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: []
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
await this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
// 点击列表数,跳转详情
|
||||
goList(tableName, CORPINFO_ID, ticketType) {
|
||||
this.$parent.activeName = tableName
|
||||
this.$parent.CORPINFO_ID = CORPINFO_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
this.$parent.CUTROAD_ID =''
|
||||
},
|
||||
getList() {
|
||||
return new Promise((resolve) => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfConfinedSpace/corpCountlist?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
COPRINF_ID: sessionStorage.getItem('user').CORPINFO_ID || '',
|
||||
KEYWORDS: this.KEYWORDS
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,323 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="10" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>受限空间安全作业票</h1>
|
||||
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">作业申请单位</td>
|
||||
<td colspan="5">{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td colspan="3">{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">受限空间名称</td>
|
||||
<td colspan="5">{{ pd.LIMITSPACE_NAME }}</td>
|
||||
<td class="bbg">受限空间内原有介质名称</td>
|
||||
<td colspan="3">{{ pd.MEDIUM_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td colspan="5">{{ pd.WORK_CONTENT }}</td>
|
||||
<td class="bbg">受限空间所属单位</td>
|
||||
<td colspan="3">{{ pd.BELONG_CORP }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td colspan="5">{{ pd.CONFIRM_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td colspan="3">{{ pd.CONFIRM_USER_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业人</td>
|
||||
<td colspan="5">{{ pd.WORK_USER }}</td>
|
||||
<td class="bbg">监护人</td>
|
||||
<td colspan="5">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<!-- <td colspan="3">{{ pd.GUARDIAN_USER }}</td>-->
|
||||
|
||||
<!-- <tr v-if="pd.CONFIRM_USER_SIGNER_PATH">-->
|
||||
<!-- <td colspan="10">-->
|
||||
<!-- <div>监护人:{{ pd.CONFIRM_CONTENT }}</div>-->
|
||||
<!-- <div style="text-align: right">-->
|
||||
<!-- <span>签字:</span>-->
|
||||
<!-- <img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">-->
|
||||
<!-- <span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="9">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="9">{{ pd.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td :rowspan="3 + gasList.length" class="bbg">气体分析</td>
|
||||
<td class="bbg" rowspan="2">分析项目</td>
|
||||
<td class="bbg" colspan="2">有毒有害气体名称</td>
|
||||
<td class="bbg" colspan="2">可燃气体名称</td>
|
||||
<td class="bbg" rowspan="2">氧气含量</td>
|
||||
<td class="bbg" rowspan="3">取样分析时间</td>
|
||||
<td class="bbg" rowspan="3">分析部位</td>
|
||||
<td class="bbg" rowspan="3">分析人</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td :style="{padding:gas.GAS_NAME1 ? '8px' : '16px'}">{{ gas.GAS_NAME1 }}</td>
|
||||
<td :style="{padding:gas.GAS_NAME2 ? '8px' : '16px'}">{{ gas.GAS_NAME2 }}</td>
|
||||
<td :style="{padding:gas.GAS_NAME3 ? '8px' : '16px'}">{{ gas.GAS_NAME3 }}</td>
|
||||
<td :style="{padding:gas.GAS_NAME4 ? '8px' : '16px'}">{{ gas.GAS_NAME4 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">合格标准</td>
|
||||
<td>{{ gas.GAS_STANDARD1 }}</td>
|
||||
<td>{{ gas.GAS_STANDARD2 }}</td>
|
||||
<td>{{ gas.GAS_STANDARD3 }}</td>
|
||||
<td>{{ gas.GAS_STANDARD4 }}</td>
|
||||
<td>19.5% 〜21%(体积分数)</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in gasList" :key="index">
|
||||
<td v-if="index === 0" :rowspan="gasList.length" class="bbg">分析数据</td>
|
||||
<td><span v-if="gas.GAS_NAME1">{{ item.DATA1 }}</span></td>
|
||||
<td><span v-if="gas.GAS_NAME2">{{ item.DATA2 }}</span></td>
|
||||
<td><span v-if="gas.GAS_NAME3">{{ item.DATA3 }}</span></td>
|
||||
<td><span v-if="gas.GAS_NAME4">{{ item.DATA4 }}</span></td>
|
||||
<td>{{ item.OXYGEN_CONTENT }}</td>
|
||||
<td>{{ item.ANALYZE_TIME }}</td>
|
||||
<td>{{ item.ANALYZE_PLACE }}</td>
|
||||
<td>{{ item.ANALYZE_USER }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业实施时间</td>
|
||||
<td colspan="9">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="10">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
{{ item.PROTECTIVE_MEASURES }}
|
||||
<span v-if="item.QUESTION1">{{ item.QUESTION1 }}:{{ item.ANSWER1? item.ANSWER1 : 0 }}</span>
|
||||
<span v-if="item.QUESTION2">{{ item.QUESTION2 }}:{{ item.ANSWER2? item.ANSWER2 : 0 }}</span>
|
||||
<span v-if="item.QUESTION3">{{ item.QUESTION3 }}:{{ item.ANSWER3? item.ANSWER3 : 0 }}</span>
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.APPROVE_USER_MEASURES" >
|
||||
<td >{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONFIRM_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
|
||||
<td colspan="10">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="10">
|
||||
<div>所在单位意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="padding-top: 100px"/>
|
||||
<div class="ui-foot">
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
CONFINEDSPACE_ID: this.$parent.CONFINEDSPACE_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
gasList: [],
|
||||
gas: {},
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CONFINEDSPACE_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfConfinedSpace/goEdit',
|
||||
{
|
||||
CONFINEDSPACE_ID: this.CONFINEDSPACE_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = data.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,
|
||||
data.measuresList[i]['ANSWER' + j]
|
||||
)
|
||||
}
|
||||
}
|
||||
// 将数组转回字符串
|
||||
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
}
|
||||
this.imgList = data.imgList
|
||||
this.imgList1 = data.imgList1
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.gasList = data.gasList // 参数map
|
||||
this.gas = data.gas || {} // 参数map
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 查找字符串第几次出现的位置
|
||||
findCharIndex(str, char, num) {
|
||||
let index = str.indexOf(char)
|
||||
for (let i = 0; i < num - 1; i++) {
|
||||
index = str.indexOf(char, index + 1)
|
||||
}
|
||||
return index
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'LimitSpace'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
.level-code
|
||||
margin-left: auto
|
||||
</style>
|
|
@ -0,0 +1,331 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="60px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="APPLYSTATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<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" @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" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" show-overflow-tooltip />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" />
|
||||
<el-table-column prop="ANALYZE_USER_NAME" label="分析人" />
|
||||
<el-table-column prop="CONFIRM_USER_NAME" label="作业负责人" />
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="所在单位负责人" />
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">受限空间作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">验收打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-99">已作废(监护人未签字)</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-98">已作废(未进行气体检测)</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISDELETE" label="是否删除">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.ISDELETE==0">否</span>
|
||||
<span v-else-if="row.ISDELETE==1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.CONFINEDSPACE_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1000px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" align-center finish-status="success" >
|
||||
<el-step title="受限空间作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONFIRM_USER_NAME }}</div>
|
||||
<div>{{ pd.CONFIRM_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step description="" title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.APPROVE_USER_NAME }}</div>
|
||||
<div>{{ pd.APPROVE_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div style="margin: 60px 60px 0 60px;display: flex;justify-content: space-between">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="height: 60px;"></div>
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
APPLYSTATUS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '受限空间作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '4', NAME: '所在单位待审核' },
|
||||
{ ID: '5', NAME: '待验收' },
|
||||
{ ID: '6', NAME: '验收归档' },
|
||||
{ ID: '-4', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-5', NAME: '所在单位审核打回' },
|
||||
{ ID: '-6', NAME: '验收打回' },
|
||||
{ ID: '-99', NAME: '已作废(监护人未签字)' },
|
||||
{ ID: '-98', NAME: '已作废(未进行气体检测)' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.CONFINEDSPACE_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.APPLYSTATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/gfConfinedSpace/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.APPLYSTATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime(),
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
ticketType : this.$parent.ticketType
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 5
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getUserMessage(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONFIRM_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.APPROVE_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-99') {
|
||||
obj = {
|
||||
title: '已作废(监护人未签字)',
|
||||
AUSER_NAME: '',
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-98') {
|
||||
obj = {
|
||||
title: '已作废(未进行气体检测)',
|
||||
AUSER_NAME: '',
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.CONFINEDSPACE_ID = id
|
||||
},
|
||||
goBack(){
|
||||
this.$parent.activeName = 'CorpInfo'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,23 @@
|
|||
<template>
|
||||
<div>
|
||||
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
|
||||
<LimitSpace v-if="activeName=='LimitSpace'"/>
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CorpInfo from './components/corpInfo'
|
||||
import LimitSpace from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: { CorpInfo, LimitSpace,Detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfo',
|
||||
CORPINFO_ID: '',
|
||||
ticketType: '',
|
||||
CONFINEDSPACE_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -222,7 +222,7 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
|
@ -191,7 +191,7 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
|
@ -193,7 +193,7 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
|
@ -130,7 +130,7 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
|
@ -193,7 +193,7 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
|
@ -0,0 +1,4 @@
|
|||
<template>
|
||||
<router-view/>
|
||||
</template>
|
||||
|
|
@ -58,7 +58,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -58,7 +58,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -58,7 +58,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -257,7 +257,7 @@ import { requestFN } from '@/utils/request'
|
|||
import { upload } from '@/utils/upload'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -168,7 +168,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -204,7 +204,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -176,7 +176,7 @@ import Pagination from '@/components/Pagination'
|
|||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
import TiandiMap from '../../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { Pagination, SelectTree, TiandiMap },
|
|
@ -0,0 +1,4 @@
|
|||
<template>
|
||||
<router-view/>
|
||||
</template>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
<el-table-column label="通道类型">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.PASSAGE_TYPE==1">人行通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==2">车型通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==2">车行通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==3">综合通道</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -178,7 +178,7 @@ export default {
|
|||
],
|
||||
passageTypeList: [
|
||||
{ value: '1', label: '人行通道' },
|
||||
{ value: '2', label: '车型通道' },
|
||||
{ value: '2', label: '车行通道' },
|
||||
{ value: '3', label: '综合通道' }
|
||||
],
|
||||
addDialog: {
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<el-table-column label="口门类型">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.AREA_TYPE==1">人行口门</span>
|
||||
<span v-if="row.AREA_TYPE==2">车型口门</span>
|
||||
<span v-if="row.AREA_TYPE==2">车行口门</span>
|
||||
<span v-if="row.AREA_TYPE==3">综合口门</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -212,7 +212,7 @@ export default {
|
|||
],
|
||||
areaTypeList: [
|
||||
{ value: '1', label: '人行口门' },
|
||||
{ value: '2', label: '车型口门' },
|
||||
{ value: '2', label: '车行口门' },
|
||||
{ value: '3', label: '综合口门' }
|
||||
],
|
||||
addDialog: {
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<el-table-column label="口门类型" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.AREA_TYPE==1">人行口门</span>
|
||||
<span v-if="row.AREA_TYPE==2">车型口门</span>
|
||||
<span v-if="row.AREA_TYPE==2">车行口门</span>
|
||||
<span v-if="row.AREA_TYPE==3">综合口门</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<el-table-column prop="PASSAGE_TYPE" label="通道类型" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.PASSAGE_TYPE==1">人行通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==2">车型通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==2">车行通道</span>
|
||||
<span v-if="row.PASSAGE_TYPE==3">综合通道</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
@ -0,0 +1,386 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker
|
||||
v-model="dateTimeRange"
|
||||
type="datetimerange"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</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="showAllHistory">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div id="echarts1" style="height: 300px;width: 100%;"></div>
|
||||
<div id="echarts2" style="height: 300px;width: 100%;"></div>
|
||||
<div id="echarts3" style="height: 300px;width: 100%;"></div>
|
||||
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:row-key="getRowKey"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="OPERATTIME" label="上报时间" />
|
||||
<el-table-column prop="WINDSPEED" label="风速" />
|
||||
<el-table-column prop="WINDDIRECTION" label="风向" />
|
||||
<el-table-column prop="TEMPERATURE" label="温度" />
|
||||
|
||||
</el-table>
|
||||
<div class="page-btn-group" style="margin-bottom: 50px;">
|
||||
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="showHistory" />
|
||||
</div>
|
||||
|
||||
<div class="ui-foot">
|
||||
<el-button plain type="info" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves'
|
||||
import * as echarts from 'echarts';
|
||||
let echarts1 = null;
|
||||
let echarts2 = null;
|
||||
let echarts3 = null;
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
msg: 'add',
|
||||
config: config,
|
||||
listLoading: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
dateTimeRange: [],
|
||||
dates: [],
|
||||
varList: [],
|
||||
temperature:[],
|
||||
winddirection:[],
|
||||
windspeed:[],
|
||||
form: {
|
||||
METEOROLOGICAL_ID: '',
|
||||
EQUIPMENTNAME: '', //
|
||||
EQUIPMENTTYPE: '',
|
||||
PLATFORMMETEOROLOGICAL_ID: '',
|
||||
LATITUDE: '',
|
||||
LONGITUDE: '',
|
||||
TYPE: 1
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.showHistory()
|
||||
// this.initCharts()
|
||||
},
|
||||
methods: {
|
||||
|
||||
getRowKey(row) {
|
||||
return row.METEOROLOGICALINFO_ID
|
||||
},
|
||||
initCharts1(temperature, winddirection, windspeed){
|
||||
|
||||
// let base = +new Date(1988, 9, 3);
|
||||
// let oneDay = 24 * 3600 * 1000;
|
||||
// let data = [[base, Math.random() * 300]];
|
||||
// for (let i = 1; i < 20000; i++) {
|
||||
// let now = new Date((base += oneDay));
|
||||
// data.push([+now, Math.round((Math.random() - 0.5) * 20 + data[i - 1][1])]);
|
||||
// }
|
||||
console.log(temperature)
|
||||
|
||||
echarts1 = echarts.init(document.querySelector('#echarts1'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
position: function (pt) {
|
||||
return [pt[0], '10%'];
|
||||
}
|
||||
},
|
||||
title: {
|
||||
left: 'center',
|
||||
text: '气象设备数据图 - 温度'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
minInterval: 1,
|
||||
maxInterval: 3600 * 24 * 1000
|
||||
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, '80%']
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
type: 'inside',
|
||||
start: 0,
|
||||
end: 20
|
||||
},
|
||||
{
|
||||
start: 0,
|
||||
end: 20
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '温度',
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
areaStyle: {color: "#42b983"},
|
||||
data: temperature
|
||||
}
|
||||
]
|
||||
}
|
||||
echarts1.setOption(option)
|
||||
},
|
||||
initCharts2(temperature, winddirection, windspeed){
|
||||
|
||||
console.log(winddirection)
|
||||
|
||||
echarts2 = echarts.init(document.querySelector('#echarts2'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
position: function (pt) {
|
||||
return [pt[0], '10%'];
|
||||
}
|
||||
},
|
||||
title: {
|
||||
left: 'center',
|
||||
text: '气象设备数据图 - 风向'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
minInterval: 1,
|
||||
maxInterval: 3600 * 24 * 1000
|
||||
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, '80%']
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
type: 'inside',
|
||||
start: 0,
|
||||
end: 20
|
||||
},
|
||||
{
|
||||
start: 0,
|
||||
end: 20
|
||||
}
|
||||
],
|
||||
series: [
|
||||
|
||||
{
|
||||
name: '风向',
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
areaStyle: {color: "#6a87dc"},
|
||||
data: winddirection
|
||||
}
|
||||
]
|
||||
}
|
||||
echarts2.setOption(option)
|
||||
},
|
||||
initCharts3(temperature, winddirection, windspeed){
|
||||
|
||||
console.log(windspeed)
|
||||
|
||||
echarts3 = echarts.init(document.querySelector('#echarts3'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
position: function (pt) {
|
||||
return [pt[0], '10%'];
|
||||
}
|
||||
},
|
||||
title: {
|
||||
left: 'center',
|
||||
text: '气象设备数据图 - 风速'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
minInterval: 1,
|
||||
maxInterval: 3600 * 24 * 1000
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, '80%']
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
type: 'inside',
|
||||
start: 0,
|
||||
end: 20
|
||||
},
|
||||
{
|
||||
start: 0,
|
||||
end: 20
|
||||
}
|
||||
],
|
||||
series: [
|
||||
|
||||
{
|
||||
name: '风速',
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
areaStyle: {color: "#f033a0"},
|
||||
data: windspeed
|
||||
},
|
||||
]
|
||||
}
|
||||
echarts3.setOption(option)
|
||||
},
|
||||
|
||||
// 显示历史记录
|
||||
showHistory(){
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/meteorologicalinfo/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
CODE: this.$parent.CODE
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.temperature = []
|
||||
this.winddirection = []
|
||||
this.windspeed = []
|
||||
for (let i = 0 ; i < this.varList.length ; i ++){
|
||||
this.temperature.push([this.varList[i].OPERATTIME, this.varList[i].TEMPERATURE])
|
||||
this.winddirection.push([this.varList[i].OPERATTIME, this.varList[i].WINDDIRECTION])
|
||||
this.windspeed.push([this.varList[i].OPERATTIME, this.varList[i].WINDSPEED])
|
||||
}
|
||||
this.temperature.reverse()
|
||||
this.winddirection.reverse()
|
||||
this.windspeed.reverse()
|
||||
this.initCharts1(this.temperature, this.winddirection, this.windspeed)
|
||||
this.initCharts2(this.temperature, this.winddirection, this.windspeed)
|
||||
this.initCharts3(this.temperature, this.winddirection, this.windspeed)
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
showAllHistory(){
|
||||
if (!this.dateTimeRange){
|
||||
this.showHistory()
|
||||
return
|
||||
}
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/meteorologicalinfo/listAll',
|
||||
{
|
||||
CODE: this.$parent.CODE,
|
||||
START: this.dateTimeRange[0],
|
||||
END: this.dateTimeRange[1]
|
||||
}
|
||||
).then(async (data) => {
|
||||
this.listLoading = false
|
||||
// data.varList
|
||||
this.temperature = []
|
||||
this.winddirection = []
|
||||
this.windspeed = []
|
||||
for (let i = 0 ; i < data.varList.length ; i ++){
|
||||
|
||||
this.temperature.push([data.varList[i].AGGREGATE_TIME, data.varList[i].AVG_TEMPERATURE])
|
||||
this.winddirection.push([data.varList[i].AGGREGATE_TIME, data.varList[i].AVG_WINDDIRECTION])
|
||||
this.windspeed.push([data.varList[i].AGGREGATE_TIME, data.varList[i].AVG_WINDSPEED])
|
||||
|
||||
}
|
||||
this.initCharts1(this.temperature, this.winddirection, this.windspeed)
|
||||
this.initCharts2(this.temperature, this.winddirection, this.windspeed)
|
||||
this.initCharts3(this.temperature, this.winddirection, this.windspeed)
|
||||
|
||||
// this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
dateToTimestamp(dateString) {
|
||||
var date = new Date(dateString);
|
||||
// 返回时间戳,单位为秒
|
||||
return Math.round(date.getTime() / 1000);
|
||||
},
|
||||
|
||||
goKeyReset() {
|
||||
this.dateTimeRange = []
|
||||
this.showHistory()
|
||||
},
|
||||
resetForm() {
|
||||
this.form = {
|
||||
METEOROLOGICAL_ID: '',
|
||||
TYPE: '1',
|
||||
EQUIPMENTNAME: '', //
|
||||
EQUIPMENTTYPE: '',
|
||||
PLATFORMMETEOROLOGICAL_ID: '',
|
||||
LATITUDE: '',
|
||||
LONGITUDE: ''
|
||||
}
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'meteorologicalList'
|
||||
this.$parent.CODE = ''
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.hide .el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
#map{
|
||||
width: 1000px;
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
|
@ -39,11 +39,11 @@
|
|||
<span v-else>未定位</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="left" width="300">
|
||||
<el-table-column label="操作" align="left" width="400">
|
||||
<template slot-scope="{row}">
|
||||
<!-- <el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)">播放</el-button>-->
|
||||
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)">定位</el-button>
|
||||
<!-- <el-button v-show="!row.PLATFORMMETEOROLOGICAL_ID" type="warning" icon="el-icon-caret-right" size="mini" @click="showVideoBack(row.EQUIPMENTTYPE)">回放</el-button>-->
|
||||
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showHistory(row.CODE)">历史记录</el-button>
|
||||
<!-- <el-button v-show="row.PLATFORMMETEOROLOGICAL_ID" type="warning" size="mini" @click="getRTSP(row)">获取rtsp地址</el-button>-->
|
||||
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.METEOROLOGICAL_ID)">编辑</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.METEOROLOGICAL_ID)">删除</el-button>
|
||||
|
@ -367,7 +367,11 @@ export default {
|
|||
this.EQUIPMENTTYPE = path.replace('play.html', 'playback.html')
|
||||
this.dialogVideoBack = true
|
||||
},
|
||||
|
||||
// 显示历史记录
|
||||
showHistory(id){
|
||||
this.$parent.CODE = id
|
||||
this.$parent.activeName = 'meteorologicalHistory'
|
||||
},
|
||||
showAll() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
|
|
|
@ -7,16 +7,19 @@
|
|||
<script>
|
||||
import List from './components/list'
|
||||
import meteorologicalList from './components/meteorological-list'
|
||||
import meteorologicalHistory from './components/meteorological-history'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
meteorologicalList: meteorologicalList
|
||||
meteorologicalList: meteorologicalList,
|
||||
meteorologicalHistory: meteorologicalHistory,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
CORPINFO_ID: ''
|
||||
CORPINFO_ID: '',
|
||||
CODE: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="关键字搜索">
|
||||
<el-input v-model="KEYWORDS" placeholder="搜索姓名、单位名称、特种作业证书编号"/>
|
||||
<el-input v-model="KEYWORDS" placeholder="搜索姓名、手机号、单位名称、特种作业证书编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6">-->
|
||||
|
|
|
@ -96,13 +96,13 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属区域" prop="bianjiequyu">
|
||||
<el-select v-model="form.SUOSHUQUYU" placeholder="请选择">
|
||||
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-select v-model="form.SUOSHUQUYU" placeholder="请选择" @change="getSendDic">
|
||||
<el-option v-for="item in statusList" :key="item.DICTIONARIES_ID" :label="item.name" :value="item.DICTIONARIES_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="边界入侵区域" prop="bianjiequyu">
|
||||
<el-select v-model="form.bianjiequyu" multiple placeholder="请选择监理单位" style="width: 100%;">
|
||||
<el-option v-for="item in quyuList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-select v-model="form.bianjiequyu" multiple placeholder="请选择边界入侵区域" style="width: 100%;">
|
||||
<el-option v-for="item in quyuList" :key="item.DICTIONARIES_ID" :label="item.name" :value="item.DICTIONARIES_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.VIDEO_TYPE===1" label="视频选择">
|
||||
|
@ -126,7 +126,7 @@
|
|||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogForm =false">取 消</el-button>
|
||||
<el-button @click="closeDia()">取 消</el-button>
|
||||
<el-button type="primary" @click="upload">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
@ -198,11 +198,7 @@ export default {
|
|||
},
|
||||
quyuList: [],
|
||||
shexiangtouForm: {},
|
||||
statusList: [
|
||||
{ id: '0', name: '请选择' },
|
||||
{ id: '1', name: '油管区' },
|
||||
{ id: '2', name: '码头区' }
|
||||
]
|
||||
statusList: []
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
|
@ -266,7 +262,7 @@ export default {
|
|||
this.msg = 'add'
|
||||
this.resetForm()
|
||||
this.dialogForm = true
|
||||
// this.$refs.platformvideo.init()
|
||||
this.getDic()
|
||||
},
|
||||
resetForm() {
|
||||
this.shexiangtouForm.LONGITUDE = ''
|
||||
|
@ -312,6 +308,7 @@ export default {
|
|||
).then(async(data) => {
|
||||
await this.getAllList()
|
||||
this.getList()
|
||||
this.shexiangtouForm = {}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
|
@ -326,6 +323,7 @@ export default {
|
|||
goEdit(row) {
|
||||
this.dialogForm = true
|
||||
this.listLoading = true
|
||||
this.getDic()
|
||||
return new Promise(resolve => {
|
||||
requestFN(
|
||||
'/platformelectronic/goEdit',
|
||||
|
@ -334,15 +332,18 @@ export default {
|
|||
}
|
||||
).then((data) => {
|
||||
this.shexiangtouForm = data.pd
|
||||
this.form.bianjiequyu = data.pd.FANGQU_IDS.split(',')
|
||||
this.form.SUOSHUQUYU = data.pd.SUOSHUQUYU
|
||||
this.getSendDic()
|
||||
this.form.bianjiequyu = data.pd.FANGQU_IDS?data.pd.FANGQU_IDS.split(','):[]
|
||||
this.form.CORPINFO_ID = data.pd.CORPINFO_ID
|
||||
this.form.VIDEONAME = data.pd.NAME
|
||||
this.form.CODE = data.pd.INDEXCODE
|
||||
this.form.SUOSHUQUYU = data.pd.SUOSHUQUYU
|
||||
|
||||
this.form.LONGITUDEANDLATITUDE = data.pd.LONGITUDE + ',' + data.pd.LATITUDE
|
||||
this.listLoading = false
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
this.listLoading = false
|
||||
})
|
||||
})
|
||||
|
@ -381,8 +382,8 @@ export default {
|
|||
},
|
||||
// 获取列表
|
||||
setPosition() {
|
||||
// eslint-disable-next-line no-empty
|
||||
if (this.shexiangtouForm.PLATFORMELECTRONIC_ID != null) {
|
||||
|
||||
}
|
||||
this.shexiangtouForm.LONGITUDE = this.form.LONGITUDE
|
||||
this.shexiangtouForm.LATITUDE = this.form.LATITUDE
|
||||
|
@ -505,6 +506,58 @@ export default {
|
|||
handleBack() {
|
||||
this.player.dispose()
|
||||
this.dialogVideoHLS = false
|
||||
},
|
||||
|
||||
getDic() { // 获取区域字典信息
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
requestFN('/dictionaries/listSelectTree', { DICTIONARIES_ID: 'f0bae7becdee4d779a2cb82037948ab4' }
|
||||
).then((data) => {
|
||||
this.statusList = JSON.parse(data.zTreeNodes)
|
||||
loading.close()
|
||||
}).catch((e) => {
|
||||
loading.close()
|
||||
})
|
||||
},
|
||||
getSendDic() {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
this.form.bianjiequyu = []
|
||||
this.form.quyuList = []
|
||||
requestFN('/dictionaries/listSelectTree', { DICTIONARIES_ID: this.form.SUOSHUQUYU }
|
||||
).then((data) => {
|
||||
loading.close()
|
||||
this.quyuList = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
loading.close()
|
||||
})
|
||||
},
|
||||
closeDia() {
|
||||
this.dialogForm = false
|
||||
this.form = {
|
||||
CORPINFO_ID: '',
|
||||
bianjiequyu: [],
|
||||
PLATFORMELECTRONIC_ID: '',
|
||||
LONGITUDEANDLATITUDE: '',
|
||||
VIDEOMANAGER_ID: '',
|
||||
VIDEO_RESOURCES_ID: '',
|
||||
VIDEO_TYPE: 1,
|
||||
VIDEONAME: '', //
|
||||
VIDEOURL: '',
|
||||
CODE: '',
|
||||
PLATFORMVIDEOMANAGEMENT_ID: '',
|
||||
LATITUDE: '',
|
||||
LONGITUDE: '',
|
||||
SUOSHUQUYU: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -154,8 +154,8 @@
|
|||
<el-dialog v-if="dialogVideoAll" :visible.sync="dialogVideoAll" :before-close="handleBack" :show-close="false" title="视频" width="1200px">
|
||||
<!-- <iframe src="http://192.168.192.121:10800/?menu=no/#/screen" width="100%" height="500px" allowfullscreen allow="autoplay; fullscreen" style="position: relative;border:none"/>-->
|
||||
<div style="display: flex;flex-wrap: wrap;justify-content: space-between">
|
||||
<div v-for="(video,index) in videoList" :key="index" style="margin-bottom: 10px;width: 45%">
|
||||
<iframe v-if="video.GBSVIDEOURL" :src="video.GBSVIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
|
||||
<div v-for="(video,index) in videoList" :key="index" style="margin-bottom: 10px;width: 30%">
|
||||
<iframe v-if="video.GBSVIDEOURL" :src="video.GBSVIDEOURL" width="100%" height="280" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
|
||||
<div v-if="video.HLSVIDEOURL" :id="'aLiVideoPlayer'+index" class="prism-player"/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,38 +4,23 @@
|
|||
<layout-title title="口门统计"/>
|
||||
<div class="options">
|
||||
<div v-for="(item,index) in block1OptionsList" :key="index" class="option">
|
||||
<div class="title active">{{ item.title }}</div>
|
||||
<div class="circular">
|
||||
<div class="img">
|
||||
<img :src="item.img" alt="">
|
||||
</div>
|
||||
<div class="label">
|
||||
{{ item.label1 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count1" :duration="3600"/>
|
||||
</div>
|
||||
<div v-if="item.label2" class="label">
|
||||
{{ item.label2 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count2" :duration="3600"/>
|
||||
</div>
|
||||
<div v-if="item.label3" class="label">
|
||||
{{ item.label3 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count3" :duration="3600"/>
|
||||
<div class="info">
|
||||
<div>{{ item.label1 }}:{{ item.count1 }}</div>
|
||||
<div>{{ item.label2 }}:{{ item.count2 }}</div>
|
||||
<div>{{ item.label3 }}:{{ item.count3 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="block2">
|
||||
<layout-title title="口门区域"/>
|
||||
<div class="block2">
|
||||
<layout-title title="进入进出统计"/>
|
||||
<div class="options">
|
||||
<div class="bg"/>
|
||||
<div v-for="(item,index) in block2OptionsList" :key="index" class="option">
|
||||
<div class="label">{{ item.title }}:</div>
|
||||
<div class="info">
|
||||
<span class="count"><count-to :start-val="0" :end-val="+item.count" :duration="3600"/></span>
|
||||
<span class="company">{{ item.company }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main1"/>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="block3">
|
||||
<layout-title title="口门进出记录"/>
|
||||
<div class="content">
|
||||
|
@ -56,8 +41,6 @@
|
|||
<div class="td">时间</div>
|
||||
<div class="td">状态</div>
|
||||
<div class="td">闸机名称</div>
|
||||
<!--<div v-if="block3OptionsIndex == 0" class="td">闸机名称</div>
|
||||
<div v-if="block3OptionsIndex == 1" class="td">来港事由</div>-->
|
||||
</div>
|
||||
<div v-infinite-scroll="load" :infinite-scroll-disabled="disabled" class="scroll">
|
||||
<div v-for="(item,index) in block3List" :key="index" class="tr">
|
||||
|
@ -90,7 +73,9 @@
|
|||
import layoutTitle from './title.vue'
|
||||
import CountTo from 'vue-count-to'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import * as echarts from 'echarts'
|
||||
|
||||
let Echarts1
|
||||
export default {
|
||||
components: {
|
||||
layoutTitle,
|
||||
|
@ -114,62 +99,22 @@ export default {
|
|||
return {
|
||||
block1OptionsList: [
|
||||
{
|
||||
title: '人员闸机',
|
||||
img: require('../../../assets/map/menjin/ico1.png'),
|
||||
label1: '今日进数',
|
||||
img: require('../../../assets/map/menjin/img3.png'),
|
||||
label1: '口门数',
|
||||
count1: 0,
|
||||
label2: '今日出数',
|
||||
label2: '车闸机数',
|
||||
count2: 0,
|
||||
label3: '今日剩余人数',
|
||||
label3: '人闸机数',
|
||||
count3: 0
|
||||
},
|
||||
{
|
||||
title: '车辆闸机',
|
||||
img: require('../../../assets/map/menjin/ico2.png'),
|
||||
label1: '今日进数',
|
||||
img: require('../../../assets/map/menjin/img4.png'),
|
||||
label1: '口门数',
|
||||
count1: 0,
|
||||
label2: '今日出数',
|
||||
label2: '车闸机数',
|
||||
count2: 0,
|
||||
label3: '今日剩余车数',
|
||||
label3: '人闸机数',
|
||||
count3: 0
|
||||
},
|
||||
{
|
||||
title: '摄像头数',
|
||||
img: require('../../../assets/map/menjin/ico3.png'),
|
||||
label1: '摄像头数',
|
||||
count1: 0
|
||||
}
|
||||
],
|
||||
block2OptionsList: [
|
||||
{
|
||||
title: '临时人员',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '超员警告',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: 'SOS求救',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '离岗告警',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '禁止超时',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '车辆超速',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
}
|
||||
],
|
||||
block3OptionsList: ['人员闸机', '车辆闸机'],
|
||||
|
@ -192,48 +137,188 @@ export default {
|
|||
created() {
|
||||
this.getDoorWayRecords(0)
|
||||
this.getOnlineGateMachine()
|
||||
this.getMachineTodayInOutCount()
|
||||
this.getMkmjGateStatistics()
|
||||
// this.getDoorManagement()
|
||||
},
|
||||
|
||||
mounted() {
|
||||
window.onresize = function() {
|
||||
Echarts1 && Echarts1.resize()
|
||||
}
|
||||
this.initEcharts1()
|
||||
},
|
||||
beforeDestroy() {
|
||||
Echarts1 = null
|
||||
},
|
||||
methods: {
|
||||
initEcharts1(data) {
|
||||
const XaxisData = []
|
||||
const seriesData1 = []
|
||||
const seriesData2 = []
|
||||
|
||||
data.forEach(e => {
|
||||
XaxisData.push(e.AREA_NAME)
|
||||
seriesData1.push(e.CAR_IN + 0 + e.PEOPLE_IN)
|
||||
seriesData2.push(e.CAR_OUT + 0 + e.PEOPLE_OUT)
|
||||
});
|
||||
|
||||
Echarts1 = echarts.init(document.querySelector('#main1'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '2%',
|
||||
right: '4%',
|
||||
bottom: '5%',
|
||||
top: '10%',
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
top: '0%',
|
||||
right: '0%',
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14
|
||||
},
|
||||
itemWidth: 12,
|
||||
itemHeight: 10
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: XaxisData,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
fontSize: 14
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
// max: '150',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: '#8c9493'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
fontSize: 14
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '进',
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: '#00f0ff'
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#0066ff'
|
||||
}
|
||||
],
|
||||
false
|
||||
)
|
||||
}
|
||||
},
|
||||
data: seriesData1
|
||||
},
|
||||
{
|
||||
name: '出',
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: '#003cff'
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#00ff9c'
|
||||
}
|
||||
],
|
||||
false
|
||||
)
|
||||
}
|
||||
},
|
||||
data: seriesData2
|
||||
}
|
||||
]
|
||||
}
|
||||
Echarts1.setOption(option)
|
||||
},
|
||||
load() {
|
||||
this.loading = true
|
||||
this.currentPage += 1
|
||||
this.loadRecord(this.block3OptionsIndex)
|
||||
},
|
||||
getOnlineGateMachine() {
|
||||
getMkmjGateStatistics() {
|
||||
requestFN(
|
||||
'/map/getOnlineGateEquipment', {
|
||||
AREA: this.area,
|
||||
CORP_INFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou
|
||||
'/mkmjGateStatistics/page?showCount=100¤tPage=1', {
|
||||
AREA: this.area
|
||||
}
|
||||
).then((data) => {
|
||||
this.block1OptionsList[0].count1 = data.pd.PERSON_IN
|
||||
this.block1OptionsList[0].count2 = data.pd.PERSON_OUT
|
||||
this.block1OptionsList[0].count3 = data.pd.PERSON_IN - data.pd.PERSON_OUT
|
||||
this.block1OptionsList[1].count1 = data.pd.CAR_IN
|
||||
this.block1OptionsList[1].count2 = data.pd.CAR_OUT
|
||||
this.block1OptionsList[1].count3 = data.pd.CAR_IN - data.pd.CAR_OUT
|
||||
this.block1OptionsList[2].count1 = data.pd.CAMERA
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
this.initEcharts1(data.varList)
|
||||
})
|
||||
},
|
||||
getMachineTodayInOutCount() {
|
||||
|
||||
getOnlineGateMachine() {
|
||||
requestFN(
|
||||
'/map/getMachineTodayInOutCount', {
|
||||
'/map/getOnlineGateMachine', {
|
||||
AREA: this.area,
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou,
|
||||
id: '7'
|
||||
}
|
||||
).then((data) => {
|
||||
if (this.gangkou === '00004') {
|
||||
data.varList.forEach(e => {
|
||||
if (e.AREA_PARENT_ID == '393705'){
|
||||
// 东港区
|
||||
this.block1OptionsList[0].count1 = e.AREA_COUNT
|
||||
this.block1OptionsList[0].count2 = e.CAR
|
||||
this.block1OptionsList[0].count3 = e.PEOPLE
|
||||
}else if (e.AREA_PARENT_ID == '371709'){
|
||||
// 西港区
|
||||
this.block1OptionsList[1].count1 = e.AREA_COUNT
|
||||
this.block1OptionsList[1].count2 = e.CAR
|
||||
this.block1OptionsList[1].count3 = e.PEOPLE
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
this.block2OptionsList = data.varList
|
||||
}
|
||||
})
|
||||
},
|
||||
getDoorManagement() {
|
||||
|
@ -356,30 +441,22 @@ export default {
|
|||
|
||||
.option {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.circular {
|
||||
margin-top: 5px;
|
||||
background-image: url("../../../assets/map/menjin/img1.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
padding-top: 13px;
|
||||
|
||||
img {
|
||||
width: 30px;
|
||||
height: 26px;
|
||||
animation: scale 2s infinite;
|
||||
.img{
|
||||
width: 81px;
|
||||
height: 93px;
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
.info{
|
||||
margin-left: 10px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
div{
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -395,49 +472,9 @@ export default {
|
|||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
height: 244px;
|
||||
|
||||
.bg {
|
||||
background-image: url("../../../assets/map/menjin/img2.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 310px;
|
||||
height: 264px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.option {
|
||||
flex-basis: 35%;
|
||||
text-align: center;
|
||||
|
||||
.label {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.info {
|
||||
.count {
|
||||
font-size: 24px;
|
||||
background: linear-gradient(to top, #48bbf0, #ffffff);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-weight: bold;
|
||||
font-family: "PingFang SC", "Helvetica Neue", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", "微软雅黑", sans-serif;
|
||||
}
|
||||
|
||||
.company {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
#main1{
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,546 @@
|
|||
<template>
|
||||
<div class="menjin">
|
||||
<div class="block1">
|
||||
<layout-title title="口门统计"/>
|
||||
<div class="options">
|
||||
<div v-for="(item,index) in block1OptionsList" :key="index" class="option">
|
||||
<div class="title active">{{ item.title }}</div>
|
||||
<div class="circular">
|
||||
<img :src="item.img" alt="">
|
||||
</div>
|
||||
<div class="label">
|
||||
{{ item.label1 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count1" :duration="3600"/>
|
||||
</div>
|
||||
<div v-if="item.label2" class="label">
|
||||
{{ item.label2 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count2" :duration="3600"/>
|
||||
</div>
|
||||
<div v-if="item.label3" class="label">
|
||||
{{ item.label3 }}:
|
||||
<count-to :start-val="0" :end-val="+item.count3" :duration="3600"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block2">
|
||||
<layout-title title="口门区域"/>
|
||||
<div class="options">
|
||||
<div class="bg"/>
|
||||
<div v-for="(item,index) in block2OptionsList" :key="index" class="option">
|
||||
<div class="label">{{ item.title }}:</div>
|
||||
<div class="info">
|
||||
<span class="count"><count-to :start-val="0" :end-val="+item.count" :duration="3600"/></span>
|
||||
<span class="company">{{ item.company }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block3">
|
||||
<layout-title title="口门进出记录"/>
|
||||
<div class="content">
|
||||
<div class="options">
|
||||
<div
|
||||
v-for="(item,index) in block3OptionsList"
|
||||
:key="index"
|
||||
:class="['title', {active:index === block3OptionsIndex}]"
|
||||
@click="block3OptionsClick(index)"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<div class="tr">
|
||||
<div v-if="block3OptionsIndex == 0" class="td">人员</div>
|
||||
<div v-if="block3OptionsIndex == 1" class="td">车牌</div>
|
||||
<div class="td">时间</div>
|
||||
<div class="td">状态</div>
|
||||
<div class="td">闸机名称</div>
|
||||
<div v-if="block3OptionsIndex == 0" class="td">闸机名称</div>
|
||||
<div v-if="block3OptionsIndex == 1" class="td">来港事由</div>
|
||||
</div>
|
||||
<div v-infinite-scroll="load" :infinite-scroll-disabled="disabled" class="scroll">
|
||||
<div v-for="(item,index) in block3List" :key="index" class="tr">
|
||||
<div v-if="block3OptionsIndex == 0" class="td line1">{{ item.USERNAME }}</div>
|
||||
<div v-if="block3OptionsIndex == 1" class="td">{{ item.LICENSE_PLATE }}</div>
|
||||
<div class="td">{{ item.TIME }}</div>
|
||||
<div v-if="block3OptionsIndex == 0" :class="['td',{green:item.STATE == '0'}]">
|
||||
{{ item.STATE == '0' ? '进入' : '出港' }}
|
||||
</div>
|
||||
<div v-if="block3OptionsIndex == 0" :class="['td',{yellow:item.STATE == '0'}]">{{
|
||||
item.EQUIPMENTNAME
|
||||
}}
|
||||
</div>
|
||||
<div v-if="block3OptionsIndex == 1" :class="['td',{green:item.STATE == '4'}]">
|
||||
{{ item.STATE == '0' ? '进场' : '出场' }}
|
||||
</div>
|
||||
<div v-if="block3OptionsIndex == 1" :class="['td',{yellow:item.STATE == '4'}]">{{
|
||||
item.COMING_REASON
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import layoutTitle from './title.vue'
|
||||
import CountTo from 'vue-count-to'
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
layoutTitle,
|
||||
CountTo
|
||||
},
|
||||
props: {
|
||||
corpInfoId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
area: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
block1OptionsList: [
|
||||
{
|
||||
title: '人员闸机',
|
||||
img: require('../../../assets/map/menjin/ico1.png'),
|
||||
label1: '今日进数',
|
||||
count1: 0,
|
||||
label2: '今日出数',
|
||||
count2: 0,
|
||||
label3: '今日剩余人数',
|
||||
count3: 0
|
||||
},
|
||||
{
|
||||
title: '车辆闸机',
|
||||
img: require('../../../assets/map/menjin/ico2.png'),
|
||||
label1: '今日进数',
|
||||
count1: 0,
|
||||
label2: '今日出数',
|
||||
count2: 0,
|
||||
label3: '今日剩余车数',
|
||||
count3: 0
|
||||
},
|
||||
{
|
||||
title: '摄像头数',
|
||||
img: require('../../../assets/map/menjin/ico3.png'),
|
||||
label1: '摄像头数',
|
||||
count1: 0
|
||||
}
|
||||
],
|
||||
block2OptionsList: [
|
||||
{
|
||||
title: '临时人员',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '超员警告',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: 'SOS求救',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '离岗告警',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '禁止超时',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
},
|
||||
{
|
||||
title: '车辆超速',
|
||||
count: '2365',
|
||||
company: '条'
|
||||
}
|
||||
],
|
||||
block3OptionsList: ['人员闸机', '车辆闸机'],
|
||||
block3OptionsIndex: 0,
|
||||
loading: false,
|
||||
currentPage: 1,
|
||||
count: 0,
|
||||
totalPage: 0,
|
||||
block3List: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
noMore() {
|
||||
return this.currentPage >= this.totalPage
|
||||
},
|
||||
disabled() {
|
||||
return this.loading || this.noMore
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDoorWayRecords(0)
|
||||
this.getOnlineGateMachine()
|
||||
this.getMachineTodayInOutCount()
|
||||
// this.getDoorManagement()
|
||||
},
|
||||
methods: {
|
||||
load() {
|
||||
this.loading = true
|
||||
this.currentPage += 1
|
||||
this.loadRecord(this.block3OptionsIndex)
|
||||
},
|
||||
getOnlineGateMachine() {
|
||||
requestFN(
|
||||
'/map/getOnlineGateEquipment', {
|
||||
AREA: this.area,
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou
|
||||
}
|
||||
).then((data) => {
|
||||
this.block1OptionsList[0].count1 = data.pd.PERSON_IN
|
||||
this.block1OptionsList[0].count2 = data.pd.PERSON_OUT
|
||||
this.block1OptionsList[0].count3 = data.pd.PERSON_IN - data.pd.PERSON_OUT
|
||||
this.block1OptionsList[1].count1 = data.pd.CAR_IN
|
||||
this.block1OptionsList[1].count2 = data.pd.CAR_OUT
|
||||
this.block1OptionsList[1].count3 = data.pd.CAR_IN - data.pd.CAR_OUT
|
||||
this.block1OptionsList[2].count1 = data.pd.CAMERA
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
},
|
||||
getMachineTodayInOutCount() {
|
||||
requestFN(
|
||||
'/map/getMachineTodayInOutCount', {
|
||||
AREA: this.area,
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou,
|
||||
id: '7'
|
||||
}
|
||||
).then((data) => {
|
||||
if (this.gangkou === '00004') {
|
||||
|
||||
} else {
|
||||
this.block2OptionsList = data.varList
|
||||
}
|
||||
})
|
||||
},
|
||||
getDoorManagement() {
|
||||
requestFN(
|
||||
'/map/getDoorManagement', {
|
||||
AREA: this.area,
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou,
|
||||
id: '7'
|
||||
}
|
||||
).then((data) => {
|
||||
var carin = 0
|
||||
var carout = 0
|
||||
var peosonout = 0
|
||||
var peosonin = 0
|
||||
for (let i = 0; i < data.varList[1].list.length; i++) {
|
||||
if (data.varList[1].list[i].TYPE == 'PERSON_OUT') {
|
||||
// this.block2OptionsList[1].list[1].count = data.varList[1].list[i].count
|
||||
peosonout = data.varList[1].list[i].count
|
||||
}
|
||||
if (data.varList[1].list[i].TYPE == 'PERSON_IN') {
|
||||
// this.block2OptionsList[1].list[0].count = data.varList[1].list[i].count
|
||||
peosonin = data.varList[1].list[i].count
|
||||
}
|
||||
if (data.varList[1].list[i].TYPE == 'CAR_OUT') {
|
||||
// this.block2OptionsList[1].list[4].count = data.varList[1].list[i].count
|
||||
carout = data.varList[1].list[i].count
|
||||
}
|
||||
if (data.varList[1].list[i].TYPE == 'CAR_IN') {
|
||||
// this.block2OptionsList[1].list[3].count = data.varList[1].list[i].count
|
||||
carin = data.varList[1].list[i].count
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < this.block2OptionsList.length; i++) {
|
||||
this.block2OptionsList[i].list[0].count = peosonin
|
||||
this.block2OptionsList[i].list[1].count = peosonout
|
||||
this.block2OptionsList[i].list[2].count = peosonin - peosonout
|
||||
this.block2OptionsList[i].list[3].count = carin
|
||||
this.block2OptionsList[i].list[4].count = carout
|
||||
this.block2OptionsList[i].list[5].count = carin - carout
|
||||
}
|
||||
this.$forceUpdate()
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
},
|
||||
loadRecord(index) {
|
||||
this.getDoorWayRecords(index)
|
||||
},
|
||||
block3OptionsClick(index) {
|
||||
this.block3List = []
|
||||
this.block3OptionsIndex = index
|
||||
this.getDoorWayRecords(index)
|
||||
},
|
||||
|
||||
listPerpleCarGateMachine(type) {
|
||||
requestFN(
|
||||
'/map/getCfdDoorWayRecords',
|
||||
{
|
||||
id: '7',
|
||||
TYPE: type
|
||||
}
|
||||
).then((data) => {
|
||||
this.block3List = data.data
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
getDoorWayRecords(index) {
|
||||
requestFN(
|
||||
'/map/getDoorWayRecords?showCount=20¤tPage=' + this.currentPage, {
|
||||
AREA: this.area,
|
||||
CORPINFO_ID: this.corpInfoId,
|
||||
GANGKOU: this.gangkou,
|
||||
INDEX: index
|
||||
}
|
||||
).then((data) => {
|
||||
this.block3List = this.block3List.concat(data.varList)
|
||||
this.totalPage = data.page.totalPage
|
||||
this.currentPage = data.page.currentPage
|
||||
this.loading = false
|
||||
this.$forceUpdate()
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.menjin {
|
||||
.title {
|
||||
background-image: url("../../../assets/map/menjin/title_on.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 113px;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
|
||||
&.active {
|
||||
background-image: url("../../../assets/map/menjin/title.png");
|
||||
}
|
||||
}
|
||||
|
||||
.block1 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
|
||||
.option {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.circular {
|
||||
margin-top: 5px;
|
||||
background-image: url("../../../assets/map/menjin/img1.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
padding-top: 13px;
|
||||
|
||||
img {
|
||||
width: 30px;
|
||||
height: 26px;
|
||||
animation: scale 2s infinite;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block2 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
margin-top: 10px;
|
||||
|
||||
.options {
|
||||
padding: 10px 15px;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
height: 244px;
|
||||
|
||||
.bg {
|
||||
background-image: url("../../../assets/map/menjin/img2.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 310px;
|
||||
height: 264px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.option {
|
||||
flex-basis: 35%;
|
||||
text-align: center;
|
||||
|
||||
.label {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.info {
|
||||
.count {
|
||||
font-size: 24px;
|
||||
background: linear-gradient(to top, #48bbf0, #ffffff);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-weight: bold;
|
||||
font-family: "PingFang SC", "Helvetica Neue", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", "微软雅黑", sans-serif;
|
||||
}
|
||||
|
||||
.company {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block3 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.content {
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.title {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-top: 5px;
|
||||
.scroll {
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: 5px;
|
||||
background: rgba(2, 30, 81, 0.851);
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
border-radius: 5px;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.tr {
|
||||
&:nth-child(odd) {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tr {
|
||||
display: flex;
|
||||
|
||||
&:nth-child(odd) {
|
||||
background-color: rgba(42, 86, 158, 0.53);
|
||||
}
|
||||
|
||||
.td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
padding: 5px;
|
||||
|
||||
&:nth-child(2) {
|
||||
flex-basis: 20%;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
flex: none;
|
||||
flex-basis: 50px;
|
||||
}
|
||||
|
||||
&.green {
|
||||
color: #7ccf41;
|
||||
}
|
||||
|
||||
&.yellow {
|
||||
color: #ffcb05;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scale {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(0.8);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.line1 {
|
||||
width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="renyuan">
|
||||
<div class="block1">
|
||||
<layout-title title="重点工程统计"/>
|
||||
<layout-title title="边界入侵统计"/>
|
||||
<div class="options">
|
||||
<div v-for="(item,index) in block1OptionsList" :key="index" class="option">
|
||||
<div class="imger">
|
||||
|
@ -10,39 +10,29 @@
|
|||
<div class="info">
|
||||
<div class="label">{{ item.title }}</div>
|
||||
<div class="text">{{ item.count }}</div>
|
||||
<!-- <div class="text"><count-to :start-val="0" :end-val="item.count" :duration="3600"/></div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block2">
|
||||
<layout-title title="区域报警数"/>
|
||||
<layout-title title="区域摄像头数量"/>
|
||||
<div class="options">
|
||||
<div v-for="(item,index) in block2OptionsList" :key="index" class="option">
|
||||
<div class="circular"><img :src="item.img" alt=""></div>
|
||||
<div class="info">
|
||||
<div class="title">{{ item.label }}</div>
|
||||
<div class="count"> <count-to :start-val="0" :end-val="+item.count" :duration="3600"/></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main1"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block3">
|
||||
<layout-title title="安全管理记录"/>
|
||||
<div class="block4">
|
||||
<layout-title title="报警列表"/>
|
||||
<div class="content">
|
||||
<div class="table">
|
||||
<div class="tr">
|
||||
<div class="td">公司名称</div>
|
||||
<div class="td">创建数</div>
|
||||
<div class="td">检查次数</div>
|
||||
<div class="td">隐患数量</div>
|
||||
<div class="td">区域名称</div>
|
||||
<div class="td">报警设备编号</div>
|
||||
<div class="td">状态告警</div>
|
||||
</div>
|
||||
<div v-for="(item,index) in block3List" :key="index" class="tr">
|
||||
<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 v-for="(item,index) in block4List" :key="index" class="tr">
|
||||
<div class="td">{{ item.alarmName }}</div>
|
||||
<div class="td">{{ item.equipmentName }}</div>
|
||||
<div class="td">{{ item.statusName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -54,7 +44,9 @@
|
|||
import layoutTitle from './title.vue'
|
||||
import CountTo from 'vue-count-to'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import * as echarts from 'echarts'
|
||||
|
||||
let Echarts1
|
||||
export default {
|
||||
components: {
|
||||
CountTo,
|
||||
|
@ -78,26 +70,15 @@ export default {
|
|||
return {
|
||||
block1OptionsList: [
|
||||
{
|
||||
title: '开工数量',
|
||||
title: '报警数量',
|
||||
img: require('../../../assets/map/zhongdian/ico1.png'),
|
||||
count: '-'
|
||||
},
|
||||
{
|
||||
title: '视频数量',
|
||||
title: '监控数量',
|
||||
img: require('../../../assets/map/zhongdian/ico2.png'),
|
||||
count: '-'
|
||||
},
|
||||
{
|
||||
title: '检查次数',
|
||||
img: require('../../../assets/map/zhongdian/ico3.png'),
|
||||
count: '-'
|
||||
},
|
||||
{
|
||||
title: '发现隐患数量',
|
||||
img: require('../../../assets/map/zhongdian/ico4.png'),
|
||||
count: '-'
|
||||
}
|
||||
|
||||
],
|
||||
block2OptionsList: [
|
||||
{
|
||||
|
@ -120,12 +101,19 @@ export default {
|
|||
CHECK_COUNT: '-',
|
||||
HIDDEN_COUNT: '-'
|
||||
}
|
||||
]
|
||||
],
|
||||
block4List: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getCount()
|
||||
this.initNum()
|
||||
this.initgetTable()
|
||||
window.onresize = function() {
|
||||
Echarts1 && Echarts1.resize()
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
Echarts1 = null
|
||||
},
|
||||
methods: {
|
||||
getCount() {
|
||||
|
@ -147,6 +135,22 @@ export default {
|
|||
this.block2OptionsList[1].count = data.pd.AMOUT_SUM
|
||||
})
|
||||
},
|
||||
initNum() {
|
||||
requestFN('/map/getAllDwMessage', { corpId: this.corpInfoId, source: '0' }
|
||||
).then((data0) => {
|
||||
this.block1OptionsList[0].count = data0.alarmList.page.total
|
||||
requestFN('/map/mapPlatformelectronic/listAllLocation', { corpId: this.corpInfoId, TYPE: 'bianjieruqin' }
|
||||
).then((data1) => {
|
||||
this.block4List = data0.alarmList.list
|
||||
this.block1OptionsList[1].count = data1.varList.length
|
||||
this.initEcharts1(data1.iconData)
|
||||
}).catch((e) => {
|
||||
this.$message.error(e)
|
||||
})
|
||||
}).catch((e) => {
|
||||
this.$message.error(e)
|
||||
})
|
||||
},
|
||||
initgetTable() {
|
||||
requestFN(
|
||||
'/map/keyProject/list?showCount=10¤tPage=1',
|
||||
|
@ -158,6 +162,112 @@ export default {
|
|||
).then((data) => {
|
||||
this.block3List = data.varList
|
||||
})
|
||||
},
|
||||
initEcharts1(data) {
|
||||
console.log(data)
|
||||
const XaxisData = []
|
||||
const seriesData1 = []
|
||||
for (const optionKey in data) {
|
||||
console.log(data[optionKey])
|
||||
for (let i = 0; i < data[optionKey].length; i++) {
|
||||
console.log(data[optionKey][i])
|
||||
XaxisData.push(data[optionKey][i].NAME)
|
||||
seriesData1.push(data[optionKey][i].num)
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
Echarts1 = echarts.init(document.querySelector('#main1'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '2%',
|
||||
right: '4%',
|
||||
bottom: '5%',
|
||||
top: '12%',
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
top: '0%',
|
||||
right: '0%',
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14
|
||||
},
|
||||
itemWidth: 12,
|
||||
itemHeight: 10
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: XaxisData,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
fontSize: 12
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
max: '50',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: '#8c9493'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
fontSize: 14
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '摄像头',
|
||||
type: 'bar',
|
||||
barWidth: '10%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: '#00f0ff'
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#0066ff'
|
||||
}
|
||||
],
|
||||
false
|
||||
)
|
||||
}
|
||||
},
|
||||
data: seriesData1
|
||||
}
|
||||
]
|
||||
}
|
||||
Echarts1.setOption(option)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -243,6 +353,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block2 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
@ -253,66 +364,11 @@ export default {
|
|||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
height: 150px;
|
||||
|
||||
.option{
|
||||
width: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
justify-content: space-around;
|
||||
.circular {
|
||||
margin-top: 5px;
|
||||
background-image: url("../../../assets/map/anquan/icobg.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
text-align: center;
|
||||
padding-top: 13px;
|
||||
|
||||
img {
|
||||
width: 25px;
|
||||
height: 26px;
|
||||
animation: slideY 2s infinite;
|
||||
}
|
||||
}
|
||||
|
||||
.info{
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
|
||||
.title{
|
||||
background-image: url("../../../assets/map/anquan/label.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 120px;
|
||||
height: 24px;
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
line-height: 25px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
.count{
|
||||
margin-top: 10px;
|
||||
font-size: 24px;
|
||||
background: linear-gradient(to top, #48bbf0, #ffffff);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-weight: bold;
|
||||
font-family: "PingFang SC", "Helvetica Neue", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", "微软雅黑", sans-serif;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#main1 {
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -357,6 +413,48 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block4 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.content {
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.title {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-top: 5px;
|
||||
|
||||
.tr {
|
||||
display: flex;
|
||||
|
||||
&:nth-child(odd) {
|
||||
background-color: rgba(42, 86, 158, 0.53);
|
||||
}
|
||||
|
||||
.td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
padding: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scale {
|
||||
|
@ -370,6 +468,7 @@ export default {
|
|||
transform: scale(0.9);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideY {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
|
|
|
@ -73,27 +73,31 @@
|
|||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td style="width: 80px; text-align: center">是否涉及</td>
|
||||
<td style="width: 80px; text-align: center">确认人</td>
|
||||
<td style="width: 80px; text-align: center;">是否涉及</td>
|
||||
<td style="width: 80px; text-align: center;">确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<tr v-for="(item, index) in measuresList" :key="index">
|
||||
<td style="text-align: center;">{{ index + 1 }}</td>
|
||||
<td>
|
||||
{{ item.PROTECTIVE_MEASURES }}
|
||||
<!-- <template v-if="item.QUESTION1">-->
|
||||
<!-- {{ item.QUESTION1 }}({{ item.ANSWER1 }})-->
|
||||
<!-- </template>-->
|
||||
<!-- <template v-if="item.QUESTION2">-->
|
||||
<!-- 、{{ item.QUESTION2 }}({{ item.ANSWER2 }}) 、{{ item.QUESTION3 }}({{ item.ANSWER3 }})-->
|
||||
<!-- </template>-->
|
||||
<!--
|
||||
<template v-if="item.QUESTION1">
|
||||
{{ item.QUESTION1 }}({{ item.ANSWER1 }})
|
||||
</template>
|
||||
<template v-if="item.QUESTION2">
|
||||
、{{ item.QUESTION2 }}({{ item.ANSWER2 }}) 、{{ item.QUESTION3 }}({{ item.ANSWER3 }})
|
||||
</template>
|
||||
-->
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
<td style="text-align: center;">
|
||||
<span v-if="item.STATUS == '1'">
|
||||
<input type="radio" disabled checked>涉 及
|
||||
</span>
|
||||
<span v-if="item.STATUS == '-1'">
|
||||
<input type="radio" disabled checked>不涉及
|
||||
</span>
|
||||
</td>
|
||||
<td style="text-align: center;">{{ item.CONFIRM_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.SAFETY_USER_MEASURES || pd.CONFIRM_OTHER_CONTENT || pd.BELONGING_USER_MEASURES || pd.GUARDIAN_USER_MEASURES || pd.LEADER_USER_MEASURES
|
||||
|| pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES">
|
||||
|
@ -141,13 +145,25 @@
|
|||
<tr>
|
||||
<td class="bbg-transparent">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
<div v-for="item in acceptConfessList" :key="item.USER_ID">
|
||||
<div v-for="(signature, index) in item.APPROVAL_SIGNATURE" :key="index" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + signature.trim()" alt="" width="100" height="100">
|
||||
<span>{{ item.APPROVAL_SIGNATURE_TIME.split(',')[0] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="bbg-transparent">接受交底人</td>-->
|
||||
<!-- <td colspan="10">-->
|
||||
<!-- <div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">-->
|
||||
<!-- <span>签字:</span>-->
|
||||
<!-- <img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">-->
|
||||
<!-- <span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<td class="bbg-transparent">监护人</td>
|
||||
<td colspan="3">
|
||||
|
@ -170,7 +186,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT === '无' ? '同意' : pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -180,7 +196,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.BELONGING_SIGNATURE">
|
||||
<td colspan="6">
|
||||
<div>项目主管部门负责人意见:{{ pd.BELONGING_OPINIONS }}</div>
|
||||
<div>项目主管部门负责人意见:{{ pd.BELONGING_OPINIONS === '' ? '同意' : pd.BELONGING_OPINIONS }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.BELONGING_SIGNATURE" alt="" width="100" height="100">
|
||||
|
@ -190,7 +206,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>属地监管单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div>属地监管单位意见:{{ pd.LEADER_CONTENT === '无' ? '同意' : pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -200,7 +216,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT === '无' ? '同意' : pd.AUDIT_CONTENT}}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -210,7 +226,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT === '无' ? '同意' : pd.APPROVE_CONTENT}}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -220,7 +236,7 @@
|
|||
</tr>
|
||||
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火前验票负责人:{{ pd.MONITOR_CONTENT }}</div>
|
||||
<div>动火前验票负责人:{{ pd.MONITOR_CONTENT === '无' ? '同意' : pd.MONITOR_CONTENT}}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -230,7 +246,7 @@
|
|||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT === '无' ? '同意' : pd.ACCEPT_CONTENT}}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
|
@ -273,6 +289,7 @@ export default {
|
|||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: [],
|
||||
acceptConfessList: [],
|
||||
confessList: []
|
||||
}
|
||||
},
|
||||
|
@ -320,6 +337,20 @@ export default {
|
|||
this.confessList.push(item)
|
||||
}
|
||||
})
|
||||
// data.pd.acceptConfessList.forEach(item => {
|
||||
// if (item.APPROVAL_SIGNATURE_TIME !== undefined && item.APPROVAL_SIGNATURE_TIME.trim() !== '') {
|
||||
// this.acceptConfessList.push(item)
|
||||
// }
|
||||
// })
|
||||
data.pd.acceptConfessList.forEach(item => {
|
||||
// 将 APPROVAL_SIGNATURE 转换为数组
|
||||
if (item.APPROVAL_SIGNATURE) {
|
||||
item.APPROVAL_SIGNATURE = item.APPROVAL_SIGNATURE.split(';')
|
||||
}
|
||||
if (item.APPROVAL_SIGNATURE_TIME !== undefined && item.APPROVAL_SIGNATURE_TIME.trim() !== '') {
|
||||
this.acceptConfessList.push(item)
|
||||
}
|
||||
})
|
||||
for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = data.measuresList[i].PROTECTIVE_MEASURES.split('')
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<td>状态</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in recordAllList" :key="index">
|
||||
<td>{{ item.CARDTYPE }}</td>
|
||||
<td>{{ item.CARDTYPE }}</td>
|
||||
<td>{{ item.USERNAME }}</td>
|
||||
<td>{{ item.TIME }}</td>
|
||||
<td>
|
||||
|
@ -210,9 +210,11 @@ export default {
|
|||
this.info.PERSON_OUT = 0
|
||||
this.varList = data.pd.varList
|
||||
for (let i = 0; i < data.pd.varList.length; i++) {
|
||||
if (this.type == 'CAR') {
|
||||
this.info.CAR_IN = data.pd.varList[i].CAR_IN
|
||||
this.info.CAR_OUT = data.pd.varList[i].CAR_OUT
|
||||
if (data.pd.varList[i].TYPE == 'CAR_IN') {
|
||||
this.info.CAR_IN = data.pd.varList[i].COUNT
|
||||
}
|
||||
if (data.pd.varList[i].TYPE == 'CAR_OUT') {
|
||||
this.info.CAR_OUT = data.pd.varList[i].COUNT
|
||||
}
|
||||
if (data.pd.varList[i].TYPE == 'PERSON_IN') {
|
||||
this.info.PERSON_IN = data.pd.varList[i].COUNT
|
||||
|
|
|
@ -43,8 +43,13 @@
|
|||
v-if="gangkouActive && gangkouActive === '00002' && (bottomOptionsIndex === '' || bottomOptionsIndex === 5) && CORP_INFO_ID"
|
||||
:corp-info-id="CORP_INFO_ID"
|
||||
:gangkou="gangkouActive"/>
|
||||
<menjinOld
|
||||
v-if="CORP_INFO_ID =='035958e685cf4850bc40151c5e0617a6' && gangkouActive && gangkouActive !== '00004' && gangkouActive !== '00005' && gangkouActive !== '00002' && bottomOptionsIndex === 0"
|
||||
:corp-info-id="CORP_INFO_ID"
|
||||
:area="area"
|
||||
:gangkou="gangkouActive"/>
|
||||
<menjin
|
||||
v-if="gangkouActive && gangkouActive !== '00004' && gangkouActive !== '00005' && gangkouActive !== '00002' && bottomOptionsIndex === 0"
|
||||
v-if="CORP_INFO_ID !='035958e685cf4850bc40151c5e0617a6' && gangkouActive && gangkouActive !== '00004' && gangkouActive !== '00005' && gangkouActive !== '00002' && bottomOptionsIndex === 0"
|
||||
:corp-info-id="CORP_INFO_ID"
|
||||
:area="area"
|
||||
:gangkou="gangkouActive"/>
|
||||
|
@ -217,6 +222,18 @@
|
|||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<transition
|
||||
enter-active-class="animate__animated animate__fadeInDown"
|
||||
leave-active-class="animate__animated animate__fadeOutUp"
|
||||
>
|
||||
<div class="people_trajectory" v-if="isPeopleTrajectory">
|
||||
<el-select v-model="peopleTrajectoryValue" popper-class="people_trajectory_select">
|
||||
<el-option v-for="item in onePerLocArr" :key="item.id" :value="item.id" :label="item.id"/>
|
||||
</el-select>
|
||||
<el-button class="search_btn" @click="addTrajectory">搜索</el-button>
|
||||
<el-button class="reset_btn" @click="()=>{removeTrajectory();peopleTrajectoryValue = ''}">重置</el-button>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</transition>
|
||||
<div class="right_options">
|
||||
|
@ -264,6 +281,7 @@ import menjinCzks from './components/menjinCzks.vue'
|
|||
import renyuanCzks from './components/renyuanCzks.vue'
|
||||
import renyuanCmt from './components/renyuanCmt.vue'
|
||||
import menjin from './components/menjin.vue'
|
||||
import menjinOld from './components/menjin_old.vue'
|
||||
import menjinCfd from './components/menjinCfd.vue'
|
||||
import menjinCmt from './components/menjinCmt.vue'
|
||||
import xiaofang from './components/xiaofang.vue'
|
||||
|
@ -320,6 +338,7 @@ export default {
|
|||
fengongsiIndex,
|
||||
caofeidianIndex,
|
||||
layoutMenu,
|
||||
menjinOld,
|
||||
menjin,
|
||||
menjinCfd,
|
||||
menjinCmt,
|
||||
|
@ -473,6 +492,26 @@ export default {
|
|||
checkImg: require('../../assets/map/gangkou_index/buttom/ico1_on.png'),
|
||||
type: 'CAR',
|
||||
containAuthorization: [],
|
||||
eliminateAuthorization: ['035958e685cf4850bc40151c5e0617a6']
|
||||
},
|
||||
{
|
||||
label: '人员',
|
||||
dialog_width: '800px',
|
||||
check: false,
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico1.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico1_on.png'),
|
||||
type: 'PERSON',
|
||||
containAuthorization: ['035958e685cf4850bc40151c5e0617a6'],
|
||||
eliminateAuthorization: []
|
||||
},
|
||||
{
|
||||
label: '车辆',
|
||||
dialog_width: '600px',
|
||||
check: false,
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico2.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico2_on.png'),
|
||||
type: 'CAR',
|
||||
containAuthorization: ['035958e685cf4850bc40151c5e0617a6'],
|
||||
eliminateAuthorization: []
|
||||
},
|
||||
{
|
||||
|
@ -725,6 +764,16 @@ export default {
|
|||
checkImg: require('../../assets/map/gangkou_index/buttom/ico21_on.png'),
|
||||
containAuthorization: [],
|
||||
eliminateAuthorization: []
|
||||
},
|
||||
{
|
||||
label: '人员轨迹',
|
||||
dialog_width: '1200px',
|
||||
check: false,
|
||||
type: 'peopleTrajectory',
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico29.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico29_on.png'),
|
||||
containAuthorization: [],
|
||||
eliminateAuthorization: []
|
||||
}
|
||||
// {
|
||||
// label: '车辆定位',
|
||||
|
@ -1165,7 +1214,9 @@ export default {
|
|||
linkPort: '8093',
|
||||
VIIDPort: '8088'
|
||||
},
|
||||
trajectoryEntityCollection: {}
|
||||
trajectoryEntityCollection: {},
|
||||
isPeopleTrajectory:false,
|
||||
peopleTrajectoryValue:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -1464,35 +1515,36 @@ export default {
|
|||
// var cartesian = this.getCatesian3FromPX(movement.position)
|
||||
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
|
||||
viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_DOUBLE_CLICK)
|
||||
viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||
// viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||
document.addEventListener('contextmenu', function(event) {
|
||||
event.preventDefault()
|
||||
})
|
||||
this.handler.setInputAction(movement => {
|
||||
const pick = viewer.scene.pick(movement.position)
|
||||
if (Cesium.defined(pick) && (pick.id.id)) {
|
||||
if (!pick.id._monitoItems) {
|
||||
this.removeTrajectory()
|
||||
return
|
||||
}
|
||||
const point_type = pick.id._monitoItems.data.point_type
|
||||
const point_id = pick.id._monitoItems.data.id
|
||||
const corpInfoId = pick.id._monitoItems.data.corpInfoId
|
||||
if (point_type === '标记点peoplePositionOne') {
|
||||
this.removeTrajectory()
|
||||
this.addTrajectory(point_id, corpInfoId)
|
||||
}
|
||||
} else {
|
||||
this.removeTrajectory()
|
||||
}
|
||||
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||
// this.handler.setInputAction(movement => {
|
||||
// const pick = viewer.scene.pick(movement.position)
|
||||
// if (Cesium.defined(pick) && (pick.id.id)) {
|
||||
// if (!pick.id._monitoItems) {
|
||||
// this.removeTrajectory()
|
||||
// return
|
||||
// }
|
||||
// const point_type = pick.id._monitoItems.data.point_type
|
||||
// const point_id = pick.id._monitoItems.data.id
|
||||
// const corpInfoId = pick.id._monitoItems.data.corpInfoId
|
||||
// if (point_type === '标记点peoplePositionOne') {
|
||||
// this.removeTrajectory()
|
||||
// this.addTrajectory(point_id, corpInfoId)
|
||||
// }
|
||||
// } else {
|
||||
// this.removeTrajectory()
|
||||
// }
|
||||
// }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||
},
|
||||
addTrajectory(point_id, corpInfoId) {
|
||||
addTrajectory() {
|
||||
this.removeTrajectory()
|
||||
requestFN(
|
||||
'/map/getPersonTrace',
|
||||
{
|
||||
id: point_id,
|
||||
corpId: corpInfoId
|
||||
id: this.peopleTrajectoryValue,
|
||||
corpId: this.CORP_INFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.list) {
|
||||
|
@ -1954,6 +2006,7 @@ export default {
|
|||
this.bottomOptionsList[i].list[j].check = false
|
||||
}
|
||||
}
|
||||
this.isPeopleTrajectory = false
|
||||
}
|
||||
},
|
||||
clearAllBottomOptionsItemsEntityCollection() {
|
||||
|
@ -2068,10 +2121,22 @@ export default {
|
|||
}
|
||||
this.carLocArr = []
|
||||
}
|
||||
if(urlType === 'peopleTrajectory'){
|
||||
this.isPeopleTrajectory = false
|
||||
}
|
||||
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '035958e685cf4850bc40151c5e0617a6' && urlType === 'peoplePosition') {
|
||||
this.doUnSubscribe()
|
||||
this.clearMqttPoint('+/UwbBQ/')
|
||||
this.removeTrajectory()
|
||||
for (let i = 0; i < this.bottomOptionsList[pindex].list.length; i++) {
|
||||
if(this.bottomOptionsList[pindex].list[i].type === 'peopleTrajectory'){
|
||||
if(this.bottomOptionsList[pindex].list[i].check){
|
||||
this.bottomOptionsList[pindex].list[i].check = false
|
||||
this.isPeopleTrajectory = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
|
||||
this.clearRYDWPoint('+/UwbBQ/')
|
||||
|
@ -2089,6 +2154,23 @@ export default {
|
|||
}
|
||||
})
|
||||
} else {
|
||||
if(urlType === 'peopleTrajectory'){
|
||||
let flag = false
|
||||
for (let i = 0; i < this.bottomOptionsList[pindex].list.length; i++) {
|
||||
if(this.bottomOptionsList[pindex].list[i].type === 'peoplePosition'){
|
||||
if(!this.bottomOptionsList[pindex].list[i].check){
|
||||
flag = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
this.$message.warning('请先选择人员定位!!!')
|
||||
return
|
||||
}else{
|
||||
this.isPeopleTrajectory = true
|
||||
}
|
||||
}
|
||||
// 选中
|
||||
this.bottomOptionsList[pindex].list[index].check = true
|
||||
if (this.gangkouActive === '00004') {
|
||||
|
@ -3604,9 +3686,51 @@ export default {
|
|||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
.people_trajectory{
|
||||
position: absolute;
|
||||
top: -60px;
|
||||
left: 0;
|
||||
width: 400px;
|
||||
padding: 10px;
|
||||
background-image: linear-gradient(to right, rgb(31 62 129 / 57%) 0%, rgb(17 93 255 / 40%) 50%, rgb(31 62 129 / 57%) 100%);
|
||||
.search_btn{
|
||||
background-color: #1563e3;
|
||||
color: #fff;
|
||||
border-color: #1563e3;
|
||||
}
|
||||
.reset_btn{
|
||||
background-color: #558be5;
|
||||
color: #fff;
|
||||
border-color: #558be5;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.cesium-viewer-toolbar, .cesium-viewer-fullscreenContainer, .cesium-infoBox-visible {
|
||||
display: none !important;
|
||||
}
|
||||
.people_trajectory .el-input__inner{
|
||||
background-color: #100693 !important;
|
||||
border-color: #100693 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
.people_trajectory_select{
|
||||
background-color: #100693 !important;
|
||||
border-color: #100693 !important;
|
||||
}
|
||||
.people_trajectory_select .el-select-dropdown__item{
|
||||
color: #fff !important;
|
||||
}
|
||||
.people_trajectory_select .el-select-dropdown__item.hover{
|
||||
background-color: #2111ec !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
.people_trajectory_select .popper__arrow{
|
||||
border-top-color: #100693 !important;
|
||||
border-bottom-color: #100693 !important;
|
||||
}
|
||||
.people_trajectory_select .popper__arrow::after{
|
||||
border-top-color: #100693 !important;
|
||||
border-bottom-color: #100693 !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -53,6 +53,8 @@ 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 GGimg1 = require('../../../assets/map/gangkou_index/point/ico1.png')
|
||||
const GGimg2 = require('../../../assets/map/gangkou_index/point/ico2.png')
|
||||
|
||||
const imgMap = {
|
||||
img0_0, img0_1, img0_2,
|
||||
|
@ -116,15 +118,61 @@ export default class DragEntity {
|
|||
}
|
||||
}
|
||||
if (value.point_type.indexOf('标记点') !== -1) {
|
||||
billboard = {
|
||||
image: imgMap['img' + value.icon_type],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
console.info('====' )
|
||||
console.info(value )
|
||||
console.info('====' )
|
||||
if (value.label == '人员' && value.corpInfoId == '035958e685cf4850bc40151c5e0617a6'){
|
||||
billboard = {
|
||||
image: GGimg1,
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}else if (value.label == '车辆' && value.corpInfoId == '035958e685cf4850bc40151c5e0617a6'){
|
||||
billboard = {
|
||||
image: GGimg2,
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}else if (value.label == '摄像头' && value.corpInfoId == '035958e685cf4850bc40151c5e0617a6'){
|
||||
billboard = {
|
||||
image: imgMap['img0_2' ],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}else if (value.label == '摄像头' ){
|
||||
billboard = {
|
||||
image: imgMap['img0_2' ],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}else{
|
||||
billboard = {
|
||||
image: imgMap['img' + value.icon_type],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// 曹妃甸使用
|
||||
if (value.gangkou === '00004') {
|
||||
|
|
|
@ -30,6 +30,16 @@ export default class DragEntity {
|
|||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
},
|
||||
label: {
|
||||
text: point.id,
|
||||
font: '13px sans-serif',
|
||||
pixelOffset: new Cesium.Cartesian2(0, -55),
|
||||
showBackground: true,
|
||||
// eslint-disable-next-line new-cap
|
||||
backgroundColor: new Cesium.Color.fromCssColorString('rgba(20, 58, 142, 1)'),
|
||||
backgroundPadding: new Cesium.Cartesian2(7, 5),
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
},
|
||||
orientation: new Cesium.VelocityOrientationProperty(point.property),
|
||||
|
||||
monitoItems: {
|
||||
|
|
|
@ -326,7 +326,7 @@ export default {
|
|||
SPECIFICATION_TYPES: [''],
|
||||
CATEGORY_LIST: [''],
|
||||
STATUS: '',
|
||||
ASSOCIATION: '0',
|
||||
ASSOCIATION: '4',
|
||||
types: [],
|
||||
specification_types: [],
|
||||
category_list: [],
|
||||
|
|
|
@ -288,7 +288,7 @@ export default {
|
|||
STATUS: this.form.STATUS,
|
||||
TYPE: this.form.TYPE_NAME,
|
||||
DATE: this.form.DATE,
|
||||
TEXT_NAME: this.TEXT_NAME,
|
||||
TEXT_NAME: this.form.TEXT_NAME,
|
||||
ASSOCIATION: '4',
|
||||
CORPINFO_ID: '0',
|
||||
MIGRATION_FLAG: '1'
|
||||
|
|
|
@ -0,0 +1,257 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="ruleForm" :rules="rules" label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="人员名称" prop="name" class="input-width">
|
||||
<el-input v-model="ruleForm.name" placeholder="请输入人员名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="身份证号" prop="cardId">
|
||||
<el-input v-model="ruleForm.cardId" placeholder="请输入身份证号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row>
|
||||
<el-table-column :selectable="handleSelectWithDifferentStatus" type="selection" width="55" align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="username" label="用户名" align="center"/>
|
||||
<el-table-column prop="cardId" label="身份证号" align="center"/>
|
||||
<el-table-column prop="name" label="人员名称" align="center"/>
|
||||
<el-table-column prop="corpName" label="企业名称" align="center"/>
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-s-claim" size="mini" @click="dosubmit([row])">入住</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
title="请选择入住企业"
|
||||
width="30%">
|
||||
<el-select
|
||||
v-model="corpinfoId"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请选择入住企业">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="doCheckIn">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
rules: {
|
||||
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
|
||||
cardId: [{ required: true, message: '身份证号不能为空', trigger: 'blur' }]
|
||||
},
|
||||
ruleForm: { name: '', cardId: '' },
|
||||
config: config,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
dialogVisible: false,
|
||||
rowuser: {},
|
||||
corpinfoId: '',
|
||||
loading: false,
|
||||
options: []
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.getDict()
|
||||
// this.getList()
|
||||
this.remoteMethod('河北')
|
||||
},
|
||||
methods: {
|
||||
handleSelectWithDifferentStatus(row, rowIndex) {
|
||||
return true
|
||||
},
|
||||
getQuery() {
|
||||
if (this.ruleForm.name === '') {
|
||||
this.$message.error('请填写人员名称')
|
||||
return false
|
||||
}
|
||||
if (this.ruleForm.cardId === '') {
|
||||
this.$message.error('请填写身份证号')
|
||||
return false
|
||||
}
|
||||
if (this.$refs.multipleTable) {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
}
|
||||
this.listQuery = {
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.ruleForm.cardId = ''
|
||||
this.ruleForm.name = ''
|
||||
this.varList = []
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/xgf/coerce/getUserListByIdCardAndName?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
cardId: this.ruleForm.cardId,
|
||||
name: this.ruleForm.name,
|
||||
UN_EMPLOY_FLAG: '0'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
if (this.varList.length === 0) {
|
||||
this.$message.error('没有相关人员信息')
|
||||
}
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
remoteMethod(query) {
|
||||
if (query !== '') {
|
||||
// this.loading = true
|
||||
/* setTimeout(() => {
|
||||
this.loading = false
|
||||
this.options = this.list.filter(item => {
|
||||
return item.label.toLowerCase()
|
||||
.indexOf(query.toLowerCase()) > -1
|
||||
})
|
||||
}, 200) */
|
||||
|
||||
requestFN(
|
||||
'/xgf/coerce/findModuleList',
|
||||
{
|
||||
keyword: query
|
||||
}
|
||||
).then((data) => {
|
||||
// this.loading = false
|
||||
this.options = []
|
||||
data.varList.forEach(v => {
|
||||
const obj = {
|
||||
value: v.CORPINFO_ID,
|
||||
label: v.RELEVANT_UNIT_NAME
|
||||
}
|
||||
this.options.push(obj)
|
||||
})
|
||||
})
|
||||
.catch((e) => {
|
||||
// this.loading = false
|
||||
})
|
||||
} else {
|
||||
this.options = []
|
||||
this.remoteMethod('河北')
|
||||
}
|
||||
},
|
||||
dosubmit(row) {
|
||||
this.rowuser = {
|
||||
name: row[0].name,
|
||||
userId: row[0].userId
|
||||
}
|
||||
/* if (this.corpinfoId === '') {
|
||||
this.dialogVisible = true
|
||||
} else {
|
||||
this.doCheckIn()
|
||||
} */
|
||||
this.dialogVisible = true
|
||||
},
|
||||
|
||||
doCheckIn() {
|
||||
if (this.corpinfoId === '') {
|
||||
this.$message({
|
||||
message: '请选择入住企业',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.dialogVisible = false
|
||||
this.$confirm('确定要将 ' + this.rowuser.name + ' 拉入企业吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/xgf/coerce/doCoerceCheckIn',
|
||||
{
|
||||
userId: this.rowuser.userId,
|
||||
corpinfoId: this.corpinfoId
|
||||
}
|
||||
).then((e) => {
|
||||
console.log(e)
|
||||
if (e.msg === '1') {
|
||||
this.$message({
|
||||
message: '当前人员已经在企业中',
|
||||
type: 'warning'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
message: '拉入成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.getQuery()
|
||||
}
|
||||
this.listLoading = false
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<template>
|
||||
<component :is="activeName" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
export default {
|
||||
components: {
|
||||
List: List
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
SUPERVISE_CORPINFO_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,102 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="NAME" placeholder="请输入用户名"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row>
|
||||
<el-table-column type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="NAME" label="姓名" align="center"/>
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME_HIS" label="原企业" align="center"/>
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME_NOW" label="入住企业" align="center"/>
|
||||
<el-table-column prop="OPERNAME" label="操作人" align="center"/>
|
||||
|
||||
<el-table-column prop="CREATETIME" label="入住时间" align="center"/>
|
||||
</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' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
NAME: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
if (this.$refs.multipleTable) {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
}
|
||||
this.listQuery = {
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.NAME = ''
|
||||
this.getQuery()
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/xgf/coerce/getCoerceIntakeLoglistPage?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
NAME: this.NAME
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<template>
|
||||
<component :is="activeName" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
export default {
|
||||
components: {
|
||||
List: List
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
SUPERVISE_CORPINFO_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -1,6 +1,13 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-dialog v-loading = "loading" :visible.sync="visible" :append-to-body="appendToBody" :before-close="beforeClose" title="审批" width="1200px" destroy-on-close>
|
||||
<el-dialog
|
||||
v-loading="loading"
|
||||
:visible.sync="visible"
|
||||
:append-to-body="appendToBody"
|
||||
:before-close="beforeClose"
|
||||
title="审批"
|
||||
width="1200px"
|
||||
destroy-on-close>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px" label-position="right" type="flex">
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="12">
|
||||
|
@ -33,16 +40,86 @@
|
|||
<el-input v-model="form.OPINION" :rows="2" type="textarea" placeholder="填写审批意见"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="form.STATUS === '0' && showStepFlag" :span="24">
|
||||
<el-form-item v-if="form.STATUS === '0'" prop="BACK_NAME" label="打回至:">
|
||||
<div>{{ form.BACK_NAME }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="form.STATUS === '0' && showStepFlag" :span="24">
|
||||
<el-steps :space="200" :active="+step" finish-status="success">
|
||||
<el-step>
|
||||
<template slot="description">
|
||||
<el-card
|
||||
class="box-card"
|
||||
style="margin-top: 10px"
|
||||
@click.native="backPoint('-1',info.BELONG_TO_CORP_NAME)">
|
||||
<div icon="el-icon-aim"/>
|
||||
<div slot="header" class="clearfix">
|
||||
<span>相关方端</span>
|
||||
</div>
|
||||
<div>
|
||||
企业名称:{{ info.BELONG_TO_CORP_NAME }}
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step v-for="item in list" :key="item.INDEX" :value="item.INDEX">
|
||||
<template slot="description">
|
||||
<el-card
|
||||
class="box-card"
|
||||
style="margin-top: 10px"
|
||||
@click.native="backPoint(item.INDEX, item.APPOINT_USER_NAME)">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>审批节点</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-row>
|
||||
<el-col>
|
||||
审批人:{{ item.APPOINT_USER_NAME }}
|
||||
</el-col>
|
||||
<el-col v-if="item.INDEX !== step">
|
||||
审批人公司:{{ item.APPOINT_CORP_NAME }}
|
||||
</el-col>
|
||||
<el-col>
|
||||
审批人部门:{{ item.APPOINT_DEPARTMENT_NAME }}
|
||||
</el-col>
|
||||
<el-col v-if="item.INDEX !== step">
|
||||
审批状态:{{
|
||||
item.APPOINT_STATUS === '1' ? '同意' : item.APPOINT_STATUS === '0' ? '不同意' : ''
|
||||
}}
|
||||
</el-col>
|
||||
<el-col v-if="item.INDEX !== step">
|
||||
审批时间:{{ item.APPOINT_TIME }}
|
||||
</el-col>
|
||||
<el-col v-if="item.APPOINT_OPINION && item.INDEX !== step">
|
||||
审批意见:{{ item.APPOINT_OPINION }}
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</el-col>
|
||||
<el-col v-if="form.STATUS === '1' && !form.STEP " :span="12">
|
||||
<el-form-item v-if="form.STATUS === '1'" prop="APPOINT_USER_ID" label="指定监管部门审批人:">
|
||||
<el-select v-model="form.user" style="width: 300px" placeholder="请选择" @change="chooseUser">
|
||||
<el-option v-for="item in peopleList" :key="item.USER_ID" :value="JSON.stringify(item)" :label="item.NAME"/>
|
||||
<el-option
|
||||
v-for="item in peopleList"
|
||||
:key="item.USER_ID"
|
||||
:value="JSON.stringify(item)"
|
||||
:label="item.NAME"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="form.STATUS === '1' && !form.STEP " :span="12">
|
||||
<el-form-item v-if="form.STATUS === '1'" prop="LIMIT_END_TIME" label="指定培训有效截至时间:">
|
||||
<el-date-picker v-model="form.LIMIT_END_TIME" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:300px "/>
|
||||
<el-date-picker
|
||||
v-model="form.LIMIT_END_TIME"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width:300px "/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="form.STATUS === '1' && form.TYPE === '2'" :span="12">
|
||||
|
@ -103,7 +180,9 @@ export default {
|
|||
list: [],
|
||||
isShow: true,
|
||||
info: {},
|
||||
TYPE: null
|
||||
TYPE: null,
|
||||
BACK_NAME: '',
|
||||
BACK_STEP: ''
|
||||
},
|
||||
rules: {
|
||||
STATUS: [
|
||||
|
@ -120,6 +199,9 @@ export default {
|
|||
],
|
||||
LIMIT_END_TIME: [
|
||||
{ required: true, message: '请选择指定培训有效截至时间', trigger: 'change' }
|
||||
],
|
||||
BACK_NAME: [
|
||||
{ required: true, message: '请填选择回节点', trigger: 'change' }
|
||||
]
|
||||
},
|
||||
heirloom: {},
|
||||
|
@ -133,7 +215,15 @@ export default {
|
|||
},
|
||||
|
||||
departmentTree: [],
|
||||
peopleList: []
|
||||
peopleList: [],
|
||||
info: {},
|
||||
list: [
|
||||
{
|
||||
INDEX: '-1'
|
||||
}
|
||||
],
|
||||
step: 0,
|
||||
showStepFlag: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -142,6 +232,14 @@ export default {
|
|||
this.visible = true
|
||||
this.heirloom = JSON.stringify(e)
|
||||
this.form.list = JSON.stringify(e)
|
||||
const list = JSON.parse(this.heirloom)
|
||||
if (list.length === 1) {
|
||||
this.info = JSON.parse(this.heirloom)[0]
|
||||
this.form.BACK_NAME = this.info.BELONG_TO_CORP_NAME
|
||||
this.form.BACK_STEP = '-1'
|
||||
this.showStepFlag = true
|
||||
}
|
||||
|
||||
// 确定是不是最后一步,是:ture,否:false
|
||||
this.form.STEP = (e[0].FLOWS_STEP === 2) || (e[0].FLOWS_STEP === 1 && e[0].FLOWS_TYPE === '2')
|
||||
this.form.TYEP = e[0].FLOWS_TYPE
|
||||
|
@ -157,10 +255,15 @@ export default {
|
|||
this.loading = true
|
||||
requestFN('/xgf/user/approveMax', this.form)
|
||||
.then((data) => {
|
||||
this.$message.success('推送成功')
|
||||
this.visible = false
|
||||
this.$emit('refresh', '')
|
||||
this.handleClose()
|
||||
if (data.code === '0') {
|
||||
this.$message.success('推送成功')
|
||||
this.visible = false
|
||||
this.$emit('refresh', '')
|
||||
this.handleClose()
|
||||
} else {
|
||||
this.$message.error(data.errorMessage)
|
||||
}
|
||||
|
||||
this.loading = false
|
||||
})
|
||||
.catch((e) => {
|
||||
|
@ -250,6 +353,7 @@ export default {
|
|||
tm: new Date().getTime()
|
||||
}
|
||||
this.visible = false
|
||||
this.showStepFlag = false
|
||||
},
|
||||
beforeClose() {
|
||||
this.visible = false
|
||||
|
@ -272,6 +376,36 @@ export default {
|
|||
this.form.APPOINT_USER_NAME = ''
|
||||
this.form.OPINION = ''
|
||||
this.form.user = ''
|
||||
if (this.form.STATUS === '0') {
|
||||
this.getInfo()
|
||||
}
|
||||
},
|
||||
getInfo() {
|
||||
const info = JSON.parse(this.heirloom)[0]
|
||||
requestFN(
|
||||
'/xgf/user/getApproveInfo', { XGF_USER_ID: info.XGF_USER_ID }
|
||||
).then((data) => {
|
||||
this.list = data.flow.info
|
||||
this.step = data.flow.STEP
|
||||
if (data.flow.endFlag === '1') {
|
||||
this.title = '审批中'
|
||||
}
|
||||
if (data.flow.endFlag === '2') {
|
||||
this.title = '审批结束'
|
||||
}
|
||||
if (data.flow.endFlag === '-2') {
|
||||
this.title = '审批驳回'
|
||||
}
|
||||
this.visible = true
|
||||
this.loading = false
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
})
|
||||
},
|
||||
backPoint(num, name) {
|
||||
this.form.BACK_STEP = num
|
||||
this.form.BACK_NAME = name
|
||||
this.$forceUpdate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const config = {
|
||||
weburl: 'http://192.168.0.45:8082/', // 前台地址
|
||||
httpurl: 'http://192.168.151.43:8092/', // 后台地址
|
||||
weburl: 'http://192.168.0.49:8092/', // 前台地址
|
||||
httpurl: 'http://192.168.0.49:8092/', // 后台地址
|
||||
qyurl: 'http://192.168.0.45:8080/', // 企业前台
|
||||
fileUrl: 'http://192.168.192.201:8991/file/', // 附件服务器地址
|
||||
publicKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2zCyUYSD0pNrbtaYdvGfHfWoRV+fo/2N9O2PLLz/jZvMkigkq4eAq4JO+Ek0wDHI9WxP6iTSLYCHhIOs9CQTPvyldJFm8riZtQZlBTD8Plkb3rjrgwTqbBi3w3+HKYdkSvGFXJIdSOPbpXnj5BzN8vlVaybs24R/vpUzG9178lwIDAQAB',
|
||||
|
|
Loading…
Reference in New Issue