From 20b0ce2db27b64a60de60aee05dedd448099e330 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Mon, 08 Jul 2024 10:12:16 +0800
Subject: [PATCH] xiugai
---
src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue | 241 ++++++++++++++++++++++++++++++-----------------
1 files changed, 154 insertions(+), 87 deletions(-)
diff --git a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
index dcd2db8..f8fdcc8 100644
--- a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
+++ b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
@@ -4,39 +4,74 @@
<!-- <el-tab-pane label="申请中" name="1">-->
<div style="height: 100%">
<el-row class="homeCard">
+ <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
+ <span>时间筛选:</span>
+ <el-date-picker v-model="timeRange" value-format="YYYY-MM-DD" type="daterange" @change="giveTime()" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
+ </div>
+ <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
+ <span>负责人:</span>
+ <el-input v-model="searPara.headUserName" placeholder="负责人"/>
+ </div>
+ <div class="basic-line">
+ <span>事业部:</span>
+ <el-select v-model="searPara.secondDepId">
+ <el-option
+ v-for="item in dep4List"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ />
+ </el-select>
+ </div>
+ <div class="basic-line">
<span>作业类型:</span>
- <el-col :span="10">
- <div class="grid-content topInfo">
- <el-select v-model="searchWord">
- <el-option
- v-for="item in workType"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
-
- <el-button type="primary" @click="searchRecord">查询</el-button>
- <el-button plain @click="clearSearch">重置</el-button>
- </div>
- </el-col>
+ <el-select v-model="searPara.workType">
+ <el-option
+ v-for="item in workType"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ />
+ </el-select>
+ </div>
+ <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
+ <span>作业票编号:</span>
+ <el-input
+ v-model="searPara.workPermitNo"
+ placeholder="请输入作业票编号"
+ />
+ </div>
+ <div style="margin-left: 20px">
+ <el-button type="primary" @click="searchRecord">查询</el-button>
+ <el-button plain @click="clearSearch">重置</el-button>
+ </div>
</el-row>
<div class="homeCard">
<div class="main-card">
<el-row class="cardTop">
<el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="toApply()">申请</el-button>
+ <el-button type="primary" :icon="Plus" size="default" @click="toApply()">新增申报</el-button>
<!-- <el-button type="danger" :icon="Delete" size="default">删除</el-button>-->
<!-- <el-button type="success" size="default">设置分类</el-button>-->
</el-col>
<el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
</el-row>
<el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
+ <el-table-column property="workPermitNo" label="作业编号" align="center">
+ <template #default="scope">
+ {{scope.row.workPermitNo?scope.row.workPermitNo:'—'}}
+ </template>
+ </el-table-column>
<el-table-column property="seDepName" label="事业部" align="center"/>
<el-table-column property="applyDepName" label="作业所在车间" align="center"/>
<el-table-column property="workContent" label="作业内容" align="center"/>
<el-table-column property="workTypeDesc" label="作业类型" align="center"/>
- <el-table-column property="workDepName" label="作业单位" align="center"/>
+ <el-table-column label="作业单位" align="center">
+ <template #default="scope">
+ <span v-if="scope.row.workDepList && scope.row.workDepList.length>0">{{scope.row.workDepList.map(i=>i.workDepName).join(',')}}</span>
+ <span v-else>{{scope.row.workDepName }}</span>
+ </template>
+ </el-table-column>
<el-table-column property="headList" label="负责人及电话" align="center">
<template #default="scope">
{{scope.row.headList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join(',')}}
@@ -69,18 +104,18 @@
{{scope.row.guardianList.length}}
</template>
</el-table-column>
- <el-table-column label="风险研判" align="center">
+ <el-table-column label="作业状态" align="center">
<template #default="scope">
<el-tag>{{ statusList.find(i=>i.value === scope.row.status)?.label }}</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="300">
<template #default="scope">
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">作废</el-button>
+<!-- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">作废</el-button>-->
<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="success" size="small" :icon="Finished">修改</el-button>
- <el-button link type="success" size="small" :icon="Download">正式办票</el-button>
-<!-- <el-button :disabled="scope.row.status == 7 ? false : true" link type="primary" size="small" :icon="Download" @click="downLoadBtn(scope.row)">导出作业票</el-button>-->
+<!-- <el-button link type="success" size="small" :icon="Finished">修改</el-button>-->
+<!-- <el-button link type="success" size="small" :icon="Download">正式办票</el-button>-->
+ <el-button link type="primary" size="small" :icon="Download" @click="downLoadRecord(scope.row)">作业票预览</el-button>
</template>
</el-table-column>
</el-table>
@@ -185,15 +220,15 @@
</span>
</template>
</el-dialog>
- <el-dialog v-model="downLoadDialog" title="提示" width="30%" center>
- <span>您确定要导出该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="downLoadDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDownLoad" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
+<!-- <el-dialog v-model="downLoadDialog" title="提示" width="30%" center>-->
+<!-- <span>您确定要导出该条记录吗?</span>-->
+<!-- <template #footer>-->
+<!-- <span class="dialog-footer">-->
+<!-- <el-button @click="downLoadDialog = false" size="default">取消</el-button>-->
+<!-- <el-button type="primary" @click="conFirmDownLoad" size="default">确认</el-button>-->
+<!-- </span>-->
+<!-- </template>-->
+<!-- </el-dialog>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="已通过" name="2">-->
<!-- <div style="height: 100%">-->
@@ -258,14 +293,10 @@
dialogDetails: boolean;
dialogStatus: boolean;
deleteDialog: boolean;
- downLoadDialog: boolean;
pageIndex1: number;
pageSize1: number;
chosenIndex: null | number;
deleteId: null | number;
- downLoadId: null | number;
- downLoadName: string;
- searchWord: string;
totalSize1: number;
activeName: string;
addRecord: {};
@@ -276,6 +307,9 @@
departmentList: Array<any>;
departmentRecursionList: Array<DepartmentState>;
statusList: Array<any>;
+ dep4List: Array<type>;
+ searPara: {}
+ timeRange: Array<string>;
}
interface type {
id: number;
@@ -303,7 +337,14 @@
departmentList: [],
departmentRecursionList: [],
chosenIndex: null,
- searchWord: '',
+ searPara:{
+ startTime: '',
+ endTime: '',
+ workPermitNo: '',
+ workType: null,
+ headUserName: '',
+ secondDepId: null
+ },
applyData: [],
workTimeList: [],
multipleSelection: [],
@@ -314,14 +355,17 @@
dialogDetails: false,
dialogStatus: false,
deleteDialog: false,
- downLoadDialog: false,
addRecord: {},
details: {},
statusInfo: {},
deleteId: null,
- downLoadId: null,
- downLoadName: '',
deleteArr: [],
+ dep4List: [
+ {id:49,name:'电石事业部'},
+ {id:50,name:'电力事业部'},
+ {id:48,name:'有机化工事业部'},
+ {id:32,name:'甲醇事业部'}
+ ],
workType: [
{ id: 1, name: '动火作业' },
{ id: 2, name: '受限空间作业' },
@@ -334,56 +378,86 @@
],
statusList: [
{
- value: -1,
- label: '废止'
- },
- {
value: 0,
- label: '风险研判中'
+ label: '风险研判'
},
{
value: 1,
- label: '票证办理中'
+ label: '票证办理'
},
{
value: 2,
- label: '安全措施确认中'
+ label: '气体分析'
},
{
value: 3,
- label: '培训交底中'
+ label: '安全措施确认,培训交底'
},
{
value: 4,
- label: '气体分析中'
+ label: '安全措施确认'
},
{
value: 5,
- label: '作业开始'
+ label: '培训交底'
},
{
value: 6,
- label: '作业监护'
+ label: '部门审批'
},
{
value: 7,
- label: '作业结束'
+ label: '作业票填报结束'
},
{
value: 8,
- label: '作业验收'
+ label: '作业气体分析不合格'
},
{
value: 9,
- label: '安全措施确认,培训交底中'
+ label: '审批未通过'
+ },
+ {
+ value: 10,
+ label: '开始'
+ },
+ {
+ value: 11,
+ label: '监护'
+ },
+ {
+ value: 12,
+ label: '结束'
+ },
+ {
+ value: 13,
+ label: '待验收'
+ },
+ {
+ value: 14,
+ label: '验收完成'
+ },
+ {
+ value: 15,
+ label: '取消'
+ },
+ {
+ value: 16,
+ label: '废止作业票'
}
- ]
+ ],
+ timeRange: []
});
- interface User {
- name: string;
- list: [];
- info: string;
+
+ const giveTime = () => {
+ if (state.timeRange && state.timeRange !== null) {
+ state.searPara.startTime = state.timeRange[0];
+ state.searPara.endTime = state.timeRange[1];
+ } else {
+ state.searPara.startTime = '';
+ state.searPara.endTime = '';
}
+ };
// 刷新
const reLoadData = async () => {
@@ -427,7 +501,7 @@
// 分页获取
const getListByPage = async () => {
- const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
+ const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: state.searPara };
let res = await workApplyApi().getAllNewApplyListPage(data);
if (res.data.code === '200') {
state.applyData = JSON.parse(JSON.stringify(res.data.data));
@@ -467,18 +541,21 @@
// 关键词查询记录
const searchRecord = async () => {
- if (state.searchWord == '') {
- ElMessage({
- type: 'warning',
- message: '请输入查询关键词'
- });
- } else {
- getListByPage();
- }
+ state.pageIndex1 = 1
+ getListByPage();
};
// 重置搜索
const clearSearch = async () => {
- state.searchWord = '';
+ state.timeRange = []
+ state.searPara = {
+ startTime: '',
+ endTime: '',
+ workPermitNo: '',
+ workType: null,
+ headUserName: '',
+ secondDepId: null
+ };
+ state.pageIndex1 = 1
getListByPage();
};
@@ -529,26 +606,21 @@
state.deleteDialog = false;
};
- // 导出图表
- const downLoadBtn = (row:any) =>{
- state.downLoadId = row.workApplyId;
- state.downLoadName = row.workTypeDesc + row.workPermitNo
- state.downLoadDialog = true;
- }
// 导出方法
- const downLoadRecord = async (data: any) => {
+ const downLoadRecord = (row: any) => {
// let res = await workApplyApi().postPrinting(data);
- axios.post(import.meta.env.VITE_API_URL + `/work/apply/printingPdf`,data,{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`,'uid':`${Cookies.get('uid')}`},responseType: 'blob'}).then(res=>{
+ console.log(row,555)
+ axios.post(import.meta.env.VITE_API_URL + `/specialwork9step/work/down/load/pdf`,{ id: row.id},{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`,'uid':`${Cookies.get('uid')}`},responseType: 'blob'}).then(res=>{
if (res) {
const link = document.createElement('a')
let blob = new Blob([res.data],{type: 'application/pdf'})
link.style.display = "none";
link.href = URL.createObjectURL(blob); // 创建URL
- link.setAttribute("download", state.downLoadName + "作业证.pdf");
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
+ link.setAttribute("download", row.workTypeDesc + row.workPermitNo + "作业证.pdf");
+ document.body.appendChild(link)
+ window.open(link.href)
+ document.body.removeChild(link)
} else {
ElMessage({
type: 'warning',
@@ -557,11 +629,6 @@
}
})
- };
-
- const conFirmDownLoad = () => {
- downLoadRecord({ applyWorkId: state.downLoadId });
- state.downLoadDialog = false;
};
const handleSizeChange1 = (val: number) => {
@@ -601,6 +668,7 @@
Plus,
Finished,
Download,
+ giveTime,
reLoadData,
toApply,
handleClick,
@@ -610,9 +678,8 @@
viewRecord,
viewStatus,
deleteRecordBtn,
- downLoadBtn,
+ downLoadRecord,
conFirmDelete,
- conFirmDownLoad,
getListByPage,
handleSizeChange1,
handleCurrentChange1,
--
Gitblit v1.9.2