八项作业列表、详情页面添加
parent
44a8f6971d
commit
123257f400
|
@ -0,0 +1,174 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="GUARDIAN" label="监护人" align="center" />
|
||||
<el-table-column prop="ACCEPT" label="验收人" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS" label="接受交底人" align="center" />
|
||||
<el-table-column prop="CONFESS" label="安全交底人" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-active="1" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2,2,2,2,2,1,3,1,1,1,1,1,1,1,1]" title="盲板抽堵安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'blindBoard'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,178 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="SAFETY_USER" label="有关部门意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="CONFESS_USER" label="安全交底人" align="center" />
|
||||
<el-table-column prop="PRODUCTION_USER" label="所在单位意见" align="center" />
|
||||
<el-table-column prop="LEADER_USER" label="审批部门意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="CONSTRUCTION_USER" label="作业负责人" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完成验收" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1]" title="动土安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'breakGround'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,73 @@
|
|||
<script>
|
||||
export default {
|
||||
props: {
|
||||
dialogVisible: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
stepData: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
agencyList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
onClose() {
|
||||
this.$emit('close')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
:before-close="onClose"
|
||||
title="提示"
|
||||
width="70%">
|
||||
<div class="el-steps el-steps--horizontal">
|
||||
<div v-for="(item, index) in agencyList" :title="item.NODE_DESC" :key="item.EW_RU_JOB_ID" class="step-item el-step is-horizontal is-center">
|
||||
<div :class="item.STEP_FLAG === '1' ? 'is-success':'is-wait'" class="el-step__head">
|
||||
<div class="el-step__line">
|
||||
<i v-if="item.STEP_FLAG === '1'" class="el-step__line-inner" />
|
||||
</div>
|
||||
<div class="el-step__icon is-text">
|
||||
<i v-if="item.STEP_FLAG === '1'" class="el-step__icon-inner is-status el-icon-check"/>
|
||||
<div v-else class="el-step__icon-inner">{{ index + 1 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="el-step__main">
|
||||
<div :class="item.STEP_FLAG === '1' ? 'is-success':'is-wait'" class="el-step__title">{{ item.NODE_DESC }}</div>
|
||||
<div :class="item.STEP_FLAG === '1' ? 'is-success':'is-wait'" class="el-step__description">
|
||||
<div>{{ item.USER_NAME }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="onClose">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.sign-box {
|
||||
margin: 60px 60px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: red;
|
||||
}
|
||||
.step-item {
|
||||
flex: 1;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,160 @@
|
|||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
EW_RU_TASK_ID: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
code: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
splitList: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
form: {},
|
||||
simpleQues: [],
|
||||
jobsList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$emit('back')
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getInfo',
|
||||
{
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
EW_RU_TASK_ID: this.EW_RU_TASK_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.jobsList = data.list.jobs
|
||||
this.form = this.handleArr(data.list.fromTrans)
|
||||
this.simpleQues = this.getSimpleQues(data.list.simpleQues)
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getSimpleQues(data) {
|
||||
data = data.map(item => {
|
||||
if (item.answers.length > 0) {
|
||||
item.text = item.answers.reduce((pre, cur) => {
|
||||
return (pre.TEXT_INFO + pre.ANSWER) + ',' + (cur.TEXT_INFO + cur.ANSWER)
|
||||
})
|
||||
}
|
||||
return item
|
||||
})
|
||||
return data
|
||||
},
|
||||
handleArr(arr) {
|
||||
const res = []
|
||||
for (let i = 0; i < this.splitList.length - 1; i++) {
|
||||
res.push(arr.splice(0, this.splitList[i]))
|
||||
}
|
||||
return res
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-page-header content="审批表详情" @back="goBack"/>
|
||||
<div class="level-title">
|
||||
<h1>{{ title }}</h1>
|
||||
<div v-if="code" class="level-code">编号:{{ code }}</div>
|
||||
</div>
|
||||
<table class="table-ui">
|
||||
<tr v-for="(item, index) in form" :key="index">
|
||||
<template v-for="child in item">
|
||||
<td v-if="child.TYPE === 0 || child.TYPE === 5" class="bbg">{{ child.ITEM }}</td>
|
||||
<td v-if="child.TYPE === 3" class="bbg" colspan="6">{{ child.ITEM }}</td>
|
||||
<td v-if="child.TYPE === 0" :colspan="item.length < 2 ? 6 : item.length === 2 ? 3 : ''">{{ child.ITEM_VALUE }}</td>
|
||||
<td v-if="child.TYPE === 1" :key="child.LINK_ID" colspan="6">
|
||||
<div>{{ child.ITEM }}</div>
|
||||
<div class="table-content">
|
||||
<el-image :src="config.fileUrl + child.ITEM_VALUE" :preview-src-list="[child.ITEM_VALUE]" style="width: 100px; height: 100px"/>
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="child.TYPE === 5" colspan="6">
|
||||
<div class="table-content-right">
|
||||
<span>{{ child.ITEM }}:</span>
|
||||
<el-image :src="config.fileUrl + child.ITEM_VALUE" :preview-src-list="[child.ITEM_VALUE]" style="width: 100px; height: 100px"/>
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="child.TYPE === 4" colspan="6" >
|
||||
<table class="table-ui">
|
||||
<template v-for="(children) in child.list">
|
||||
<tr :key="children.EW_RU_TASK_REPORT_FORMS_ID">
|
||||
<template v-for="list in children.list" >
|
||||
<td :key="list.EW_RU_TASK_REPORT_FORMS_ID + '1'" class="bbg">{{ list.ITEM }}</td>
|
||||
<td :key="list.EW_RU_TASK_REPORT_FORMS_ID + '2'" colspan="2">{{ list.ITEM_VALUE }}</td>
|
||||
</template>
|
||||
</tr>
|
||||
</template>
|
||||
</table>
|
||||
</td>
|
||||
</template>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-if="simpleQues.length > 0" colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in simpleQues" :key="index">
|
||||
<td>{{ index }}</td>
|
||||
<td>{{ `${item.QUESTION} ${item.text ? item.text :''}` }}</td>
|
||||
<td>{{ item.TEXT_INFO }}</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-for="item in jobsList" :key="item.EW_RU_JOB_ID">
|
||||
<td class="bbg">{{ item.TYPE_DESCRIBE }}</td>
|
||||
<td colspan="6">{{ item.USER_NAME }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.table-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.table-content-right {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: flex-end;
|
||||
span {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
.bbg-head {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,177 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="CONFESS_USER" label="安全交底人" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="APPROVE_USER" label="所在单位意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="CONFIRM_USER" label="作业负责人" align="center" />
|
||||
<el-table-column prop="ANALYZE_USER" label="气体检测" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完成验收" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2,1,2,2,2,2,1,1,1,1]" title="受限空间安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'confinedSpace'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,176 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="AUDIT_USER" label="用电单位意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="APPROVE_USER" label="消防、安全管理意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="CONFIRM_USER" label="作业负责人" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完成验收" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1]" title="临时用电许可证" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
agencyList: [],
|
||||
EW_RU_TASK_ID: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
this.listLoading = false
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'electricity'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,177 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="AUDIT_USER" label="所在单位意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="CONFESS_USER" label="安全交底人" align="center" />
|
||||
<el-table-column prop="AUDIT_USER" label="审核部门意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="LEADER_USER" label="作业负责人" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完成验收" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 1, 1, 1, 1]" title="高处安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'highWork'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,178 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="CONSTRUCTION_USER" label="所在单位意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="CONFESS_USER" label="安全交底人" align="center" />
|
||||
<el-table-column prop="LEADER_USER" label="作业指挥意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="APPROVE_USER" label="审批部门意见" align="center" />
|
||||
<el-table-column prop="AUDIT_USER" label="审核部门意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完工验收人" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1]" title="吊装安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'hoisting'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,177 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="ISSUING_PRINCIPAL" label="动火许可签发单位" align="center" />
|
||||
<el-table-column prop="HOT_WORK_AFTER" label="动火后现场管辖单位确认" align="center" />
|
||||
<el-table-column prop="MONITORING_THE_CONSTRUCTION_SIT" label="延时监火" align="center" />
|
||||
<el-table-column prop="PERSON_CONFIRM" label="现场负责人确认" align="center" />
|
||||
<el-table-column prop="HOT_WORK" label="动火单位(部门)负责人" align="center" />
|
||||
<el-table-column prop="SITE_DIRECTOR" label="动火许可证" align="center" />
|
||||
<el-table-column prop="UNIT_LEADER" label="现场管辖单位负责人审核" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1]" title="动火安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'hotWork'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,179 @@
|
|||
<template>
|
||||
<div v-if="!isDetails" class="app-container">
|
||||
<div class="page">
|
||||
<el-form label-width="130px">
|
||||
<div class="filter-container">
|
||||
<el-form-item label="关键字1">
|
||||
<el-input v-model="search.value1" placeholder="关键字1" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字2">
|
||||
<el-input v-model="search.value2" placeholder="关键字2" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<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>
|
||||
</div>
|
||||
</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="APPLICANT" label="发起人" align="center" />
|
||||
<el-table-column prop="CONSTRUCTION_USER" label="作业负责人" align="center" />
|
||||
<el-table-column prop="ANALYZE_USER" label="气体分析人" align="center" />
|
||||
<el-table-column prop="SAFETY_USER" label="消防、安全管理意见" align="center" />
|
||||
<el-table-column prop="ACCEPT_CONFESS_USER" label="接受交底人" align="center" />
|
||||
<el-table-column prop="CONFESS_USER" label="安全交底人" align="center" />
|
||||
<el-table-column prop="LEADER_USER" label="审批部门意见" align="center" />
|
||||
<el-table-column prop="PRODUCTION_USER" label="所在单位意见" align="center" />
|
||||
<el-table-column prop="GUARDIAN_USER" label="监护人" align="center" />
|
||||
<el-table-column prop="ACCEPT_USER" label="完工验收" align="center" />
|
||||
<el-table-column label="操作" align="center" width="250">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="procedure(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="onDetails(row.EW_RU_TASK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
<CourseSteps :dialog-visible="dialogVisible" :agency-list="agencyList" :step-data="stepData" @close="onClose" />
|
||||
</div>
|
||||
<Details v-else :EW_RU_TASK_ID="EW_RU_TASK_ID" :split-list="[2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1]" title="断路安全作业票" @back="onBack" />
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import Details from '../components/details.vue'
|
||||
import CourseSteps from '../components/courseSteps.vue'
|
||||
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: {
|
||||
Pagination,
|
||||
Details,
|
||||
CourseSteps
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
isDetails: false,
|
||||
listLoading: false,
|
||||
dialogVisible: false,
|
||||
search: {
|
||||
value1: '',
|
||||
value2: ''
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
tableHead: [],
|
||||
varList: [],
|
||||
stepData: [],
|
||||
EW_RU_TASK_ID: '',
|
||||
agencyList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.EW_RU_TASK_ID
|
||||
},
|
||||
procedure(row) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/app/Task/getAgencyList',
|
||||
{
|
||||
CORP_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
ID: row.EW_RU_TASK_ID,
|
||||
USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.agencyList = data.list
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
onClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
onDetails(id) {
|
||||
this.EW_RU_TASK_ID = id
|
||||
this.isDetails = true
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/Task/getFormList',
|
||||
{
|
||||
showCount: this.listQuery.limit,
|
||||
currentPage: this.listQuery.page,
|
||||
KEYWORD: this.search.KEYWORDS,
|
||||
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
||||
TYPE_CODE: 'cutRoad'
|
||||
}
|
||||
).then((data) => {
|
||||
const resData = data.list.list
|
||||
this.listLoading = false
|
||||
this.varList = this.getListTableData(resData, 'TYPE_NAME', 'TYPE_DESCRIBE')
|
||||
this.total = data.list.totalCount
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
console.log(this.search, '查詢')
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.search = {
|
||||
value1: '',
|
||||
value2: ''
|
||||
}
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
},
|
||||
getListTableData(list, name) {
|
||||
const newList = []
|
||||
list.forEach(jobs => {
|
||||
const valueData = {
|
||||
ID: jobs.task.ID
|
||||
}
|
||||
jobs.jobs.forEach(item => {
|
||||
valueData.DEPARTMENT_ID = item.DEPARTMENT_ID
|
||||
valueData.EW_RU_TASK_ID = item.EW_RU_TASK_ID
|
||||
valueData[item[name]] = item.USER_NAME
|
||||
})
|
||||
newList.push(valueData)
|
||||
})
|
||||
return newList
|
||||
},
|
||||
onBack() {
|
||||
this.isDetails = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.search-item {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue