qa-prevention-gwj-vue/src/views/gf/breakground/breakground/components/list.vue

372 lines
13 KiB
Vue

<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="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 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>
</template>
<script>
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves'
import Teacher from '../../../archives/corp/components/teacher' // waves directive
export default {
components: { Teacher, Pagination },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 10
},
total: 0,
KEYWORDS: '',
varList: [],
pd: [],
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
multipleSelection: [], // 当前页选中的数据
dialogFormShow: false,
dialogFormEdit: false,
dialogType: 'add',
replyVarList: [], // REPLY
replyListQuery: {
page: 1,
limit: 10
},
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.BREAKGROUND_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 + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
DEPTIDS: this.DEPTIDS, tm: new Date().getTime()
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
// 判断按钮权限,用于是否显示按钮
hasButton() {
var keys = 'breakground:add,breakground:del,breakground:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.breakgroundfhadminadd // 新增权限
this.del = data.breakgroundfhadmindel // 删除权限
this.edit = data.breakgroundfhadminedit // 修改权限
}).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) {
this.$parent.activeName = 'Detail'
this.$parent.BREAKGROUND_ID = id
}
}
}
</script>