From 9cbd3ec7007bac8b7ae5d49d2e521889fda28822 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 19 十二月 2024 14:22:30 +0800
Subject: [PATCH] 修改数据上报
---
src/views/specialWorkSystem/specialIndex/index.vue | 529 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 292 insertions(+), 237 deletions(-)
diff --git a/src/views/specialWorkSystem/specialIndex/index.vue b/src/views/specialWorkSystem/specialIndex/index.vue
index 08ce261..30ed8e9 100644
--- a/src/views/specialWorkSystem/specialIndex/index.vue
+++ b/src/views/specialWorkSystem/specialIndex/index.vue
@@ -15,24 +15,6 @@
</el-button>
</div>
<div class="topChart">
-<!-- <div class="chart-item">-->
-<!-- <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
-<!-- <div class="chart-tit">-->
-<!-- <span class="tit">各事业部关联作业分析</span>-->
-<!-- <div class="filter-part">-->
-<!-- <el-cascader :teleported="false" v-model="chartSearch2.depId" @change="changeDep2()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>-->
-<!-- <el-select v-model="chartSearch2.type" size="small" :teleported="false" @change="changeType2()">-->
-<!-- <el-option-->
-<!-- v-for="item in workType1"-->
-<!-- :key="item.id"-->
-<!-- :label="item.name"-->
-<!-- :value="item.id"-->
-<!-- />-->
-<!-- </el-select>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <div class="chart" :id="slfx"></div>-->
-<!-- </div>-->
<div class="chart-item">
<dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
<div class="chart-tit">
@@ -60,48 +42,7 @@
</el-radio-group>
</div>
</div>
-<!-- <div class="topChart">-->
-<!-- <div class="chart-item">-->
-<!-- <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
-<!-- <div class="chart-tit">-->
-<!-- <span class="tit">关联作业趋势图</span>-->
-<!-- <div class="filter-part filter-part2">-->
-<!-- <el-cascader :teleported="false" v-model="chartSearch3.depId" @change="changeDep3()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <div class="chart" :id="zyqs"></div>-->
-<!-- </div>-->
-<!-- <div class="chart-item">-->
-<!-- <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
-<!-- <div class="chart-tit">-->
-<!-- <span class="tit">作业警报记录</span>-->
-<!-- <div class="filter-part">-->
-<!-- <el-select :teleported="false" v-model="chartSearch4.days" size="small" @change="(value)=>changeTime4(value)">-->
-<!-- <el-option label="近7天" :value="7"/>-->
-<!-- <el-option label="近30天" :value="30"/>-->
-<!-- <el-option label="近90天" :value="90"/>-->
-<!-- <el-option label="近1年" :value="365"/>-->
-<!-- </el-select>-->
-<!-- <el-select :teleported="false" v-model="chartSearch4.workType" size="small" @change="changeType4()">-->
-<!-- <el-option-->
-<!-- v-for="item in workType1"-->
-<!-- :key="item.id"-->
-<!-- :label="item.name"-->
-<!-- :value="item.id"-->
-<!-- />-->
-<!-- </el-select>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <div class="chart">-->
-<!-- <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">-->
-<!-- <el-table-column property="operatorUname" label="姓名" align="center"/>-->
-<!-- <el-table-column property="deptName" label="所属部门" align="center"/>-->
-<!-- <el-table-column property="warningCount" label="异常报警次数" align="center"/>-->
-<!-- </el-table>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- </div>-->
- <div>
+
<div class="homeCard">
<dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
<el-row>
@@ -153,20 +94,36 @@
/>
</div>
</el-col>
+ <el-col :span="6" style="display:flex;align-items: center;">
+ <span style="white-space: nowrap">开始时间:</span>
+ <div class="grid-content topInfo">
+ <el-date-picker
+ v-model="searchDate2"
+ size="small"
+ :teleported="false"
+ type="daterange"
+ unlink-panels
+ range-separator="至"
+ start-placeholder="开始日期"
+ end-placeholder="结束日期"
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
+ />
+ </div>
+ </el-col>
<el-col :span="4" style="display:flex;align-items: center">
<span style="white-space: nowrap">作业票编号:</span>
<div class="grid-content topInfo">
<el-input
- v-model="searchParams.workPermitNo"
+ v-model.trim="searchParams.workPermitNo"
placeholder="请输入作业票编号"
size="small"
/>
</div>
</el-col>
<el-col :span="4" style="display:flex;align-items: center">
- <span style="white-space: nowrap">申请单位:</span>
+ <span style="white-space: nowrap">申请事业部:</span>
<div class="grid-content topInfo">
- <el-cascader :teleported="false" v-model="searchParams.applyDepId" @change="changeDep4()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+ <el-cascader :teleported="false" v-model="searchParams.seDepId" @change="changeDep4()" :options="depList" :props="casProps" :show-all-levels="false" size="small"/>
</div>
</el-col>
<el-button type="primary" style="margin-left: 20px" @click="searchRecord" size="small">查询</el-button>
@@ -253,11 +210,11 @@
</el-table-column>
<el-table-column property="workTypeDesc" label="作业类型" align="center"/>
<el-table-column property="workLevelDesc" label="作业等级" align="center"/>
- <el-table-column property="abortReason" label="中止原因" align="center">
- <template #default="scope">
- <span>{{scope.row.abortReason?scope.row.abortReason:'--'}}</span>
- </template>
- </el-table-column>
+<!-- <el-table-column property="abortReason" label="中止原因" align="center">-->
+<!-- <template #default="scope">-->
+<!-- <span>{{scope.row.abortReason?scope.row.abortReason:'--'}}</span>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
<el-table-column property="workAllStatusDesc" label="作业状态" align="center"/>
<el-table-column fixed="right" label="操作" align="center" width="250">
<template #default="scope">
@@ -265,6 +222,7 @@
v-if="scope.row.workAllStatus == -1|| scope.row.workAllStatus == 1 || scope.row.workAllStatus == 3 || scope.row.workAllStatus == 7"
type="primary" size="small" :icon="VideoPlay" @click="openVideo(scope.row)">查看监控视频</el-button>
<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row.workApplyId)">查看记录</el-button>
+ <el-button v-if="(scope.row.workAllStatus == 3 || scope.row.workAllStatus == 4 || scope.row.workAllStatus == 5)&&!scope.row.renewalWorkApplyId" link type="primary" size="small" :icon="Edit" @click="continueRecord(scope.row)">一键续票</el-button>
<el-button link type="primary" size="small" :icon="View" @click="viewTicket(scope.row)">查看作业票</el-button>
<el-button link type="primary" size="small" :icon="Download" @click="downLoadTicket(scope.row)">导出作业票</el-button>
<!-- <el-button link type="primary" size="small" :icon="FolderChecked" @click="handleReview(scope.row)">验收</el-button>-->
@@ -276,7 +234,6 @@
</div>
</div>
</div>
- </div>
<el-dialog v-model="dialogDetails" title="作业申请详情" center>
<!-- <fire v-if="dialogType == 1" :details = details></fire>-->
<!-- <space v-else-if="dialogType == 2" :details = details></space>-->
@@ -314,11 +271,20 @@
<!-- </el-dialog>-->
<video-detail ref="videoRef"></video-detail>
<Work-record ref="recordRef"></Work-record>
+ <fire-dialog ref="fireRef" :lists="lists" @refresh="getMydepList"></fire-dialog>
+ <plate-dialog ref="plateRef" :lists="lists" @refresh="getMydepList"></plate-dialog>
+ <space-dialog ref="spaceRef" :lists="lists" @refresh="getMydepList"></space-dialog>
+ <hoist-dialog ref="hoistRef" :lists="lists" @refresh="getMydepList"></hoist-dialog>
+ <ground-dialog ref="groundRef" :lists="lists" @refresh="getMydepList"></ground-dialog>
+ <broken-dialog ref="brokenRef" :lists="lists" @refresh="getMydepList"></broken-dialog>
+ <height-dialog ref="heightRef" :lists="lists" @refresh="getMydepList"></height-dialog>
+ <power-dialog ref="powerRef" :lists="lists" @refresh="getMydepList"></power-dialog>
+ <open-dialog ref="openRef" :lists="lists" @refresh="getMydepList"></open-dialog>
</div>
</template>
<script lang="ts">
-import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue';
+import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent, nextTick} from 'vue';
import { storeToRefs } from 'pinia';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import { useUserInfo } from '/@/stores/userInfo';
@@ -338,6 +304,8 @@
import WorkRecord from "/@/views/specialWorkSystem/specialIndex/components/workRecord.vue";
import { BorderBox10 as DvBorderBox10 } from '@kjgl77/datav-vue3'
import {productionDeviceApi} from "/@/api/doublePreventSystem/productionDevice";
+import {ElMessageBox} from "element-plus/es";
+import {judgeReportApi} from "/@/api/dataUpload/saftyBaseInfo/judgeReport";
// 定义接口来定义对象的类型
interface stateType {
@@ -361,11 +329,13 @@
searchDep2: number | null;
searchDep: number | null;
searchDate: Array<any>,
+ searchDate2: Array<any>,
totalSize: number;
details: {};
workType1: Array<type>;
dialogType: number | null;
departmentList: Array<any>;
+ depList: Array<any>;
departmentRecursionList: Array<DepartmentState>;
reviewForm: object;
reviewRules: object;
@@ -375,6 +345,7 @@
endTime:string
pieData: Array<status>
squareData: Array<status>
+ lists: {}
}
interface type {
id: number | null;
@@ -398,14 +369,15 @@
components: {
VideoDetail,
WorkRecord,
- // fire: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
- // space: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
- // hoist: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
- // ground: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
- // broken: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
- // height: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
- // power: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
- // plate: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
+ fireDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/fireDialog.vue')),
+ plateDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/plateDialog.vue')),
+ spaceDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/spaceDialog.vue')),
+ hoistDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/hoistDialog.vue')),
+ groundDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/groundDialog.vue')),
+ brokenDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/brokenDialog.vue')),
+ heightDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/heightDialog.vue')),
+ powerDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue')),
+ openDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/openDialog.vue'))
},
setup() {
const userInfo = useUserInfo()
@@ -428,11 +400,14 @@
workPermitNo: '',
startTime: '',
endTime: '',
+ workStartTime: '',
+ workEndTime: '',
workAllStatus: null,
- applyDepId: null
+ seDepId: null
},
dialogReview: false,
departmentList: [],
+ depList: [],
departmentRecursionList: [],
searchStatus: null,
endTime: '',
@@ -457,6 +432,7 @@
searchDep2: null,
searchDep: null,
searchDate: [],
+ searchDate2: [],
workData: [],
isFull: false,
themeColor: '#333',
@@ -503,12 +479,40 @@
value: -1
},
{
- name: '开始',
+ name: '作业中(监护中)',
value: 1
},
{
- name: '结束',
- value: 2
+ name: '待验收',
+ value: 3
+ },
+ {
+ name: '验收不合格',
+ value: 4
+ },
+ {
+ name: '已验收',
+ value: 5
+ },
+ {
+ name: '作业前气体分析不合格',
+ value: 6
+ },
+ {
+ name: '审批未通过',
+ value: 7
+ },
+ {
+ name: '作业中止',
+ value: 8
+ },
+ {
+ name: '取消',
+ value: 15
+ },
+ {
+ name: '废止',
+ value: 16
}
],
pieData: [],
@@ -519,7 +523,16 @@
},
reviewRules:{
advice: [{ required: true, message: '请填写验收意见', trigger: 'blur' }]
- }
+ },
+ lists: {
+ workerList: [],
+ departList: [],
+ departList2: [],
+ deviceList: [],
+ otherWorks: [],
+ spList: [],
+ riskList: []
+ },
});
// 页面载入时执行方法
onMounted(() => {
@@ -527,10 +540,24 @@
getMydepList()
getAllDepartment();
getTypePie()
- getWorkDep()
getDepMonth()
getWarningList()
+ spWorker()
+ getOpList()
+ getAll()
+ getAllDevice()
+ getAllRisks()
+ getOtherWork()
});
+ const fireRef = ref()
+ const plateRef = ref()
+ const spaceRef = ref()
+ const hoistRef = ref()
+ const groundRef = ref()
+ const brokenRef = ref()
+ const heightRef = ref()
+ const powerRef = ref()
+ const openRef = ref()
const initTime =()=>{
state.chartSearch1.startTime = getPeriod(30)
state.chartSearch2.startTime = getPeriod(30)
@@ -562,15 +589,6 @@
getTypePie()
}
- const changeDep2=()=>{
- getWorkDep()
- }
- const changeType2=()=>{
- getWorkDep()
- }
- const changeType4=()=>{
- getWarningList()
- }
const changeDep3=()=>{
getDepMonth()
}
@@ -594,14 +612,45 @@
getMydepList()
getAllDepartment();
getTypePie()
- getWorkDep()
getDepMonth()
}
+
+ const continueRecord = (row)=>{
+ if(row.workType == 1){
+ fireRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 2){
+ spaceRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 3){
+ hoistRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 4){
+ groundRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 5){
+ brokenRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 6){
+ heightRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 7){
+ powerRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 8){
+ plateRef.value.openDialog(row,'continue')
+ }
+ if(row.workType == 9){
+ openRef.value.openDialog(row,'continue')
+ }
+ }
+
const getTypePie = async ()=>{
const data = {
startTime: state.chartSearch1.startTime,
endTime:state.endTime,
- depId:state.chartSearch1.depId
+ depId:state.chartSearch1.depId,
+ type: null
}
let res = await specialIndexApi().analyseType(data);
if (res.data.code === '200') {
@@ -615,26 +664,7 @@
});
}
}
- const getWorkDep = async ()=>{
- const data = {
- // startTime: state.chartSearch2.startTime,
- // endTime: state.endTime,
- depId:state.chartSearch2.depId,
- type: state.chartSearch2.type
- }
- let res = await specialIndexApi().analyseAllWork(data);
- if (res.data.code === '200') {
- state.squareData = JSON.parse(JSON.stringify(res.data.data))
- let names = state.squareData.map(i=>i.name)
- let vals = state.squareData.map(i=>i.value)
- initSlfx(names,vals)
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- }
+
const getDepMonth = async ()=>{
let res = await specialIndexApi().analyseDepMonth(state.chartSearch3.depId);
if (res.data.code === '200') {
@@ -651,6 +681,7 @@
}
const getMydepList = async()=>{
const dateRange = JSON.parse(JSON.stringify(state.searchDate))
+ const dateRange2 = JSON.parse(JSON.stringify(state.searchDate2))
if(dateRange[1]){
dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')
state.searchParams.startTime = dateRange[0]
@@ -658,6 +689,14 @@
}else{
state.searchParams.startTime = ''
state.searchParams.endTime = ''
+ }
+ if(dateRange2[1]){
+ dateRange2[1] = dateRange2[1].replace('00:00:00','23:59:59')
+ state.searchParams.workStartTime = dateRange2[0]
+ state.searchParams.workEndTime = dateRange2[1]
+ }else{
+ state.searchParams.workStartTime = ''
+ state.searchParams.workEndTime = ''
}
let res = await specialIndexApi().getMydepList({pageIndex: state.pageIndex,pageSize: state.pageSize,searchParams: state.searchParams})
if (res.data.code === '200') {
@@ -672,6 +711,7 @@
}
const getWarningList = async()=>{
const data = {
+
startTime: state.chartSearch4.startTime,
endTime: state.endTime,
workType:state.chartSearch4.workType
@@ -687,6 +727,7 @@
}
}
type EChartsOption = echarts.EChartsOption
+
const initZyfb =()=>{
let dom = document.getElementById(zyfb.value);
let myChart = echarts.init(dom);
@@ -741,7 +782,12 @@
shadowColor: 'rgba(0, 0, 0, 0.5)'
},
},
- data: state.pieData
+ data: state.pieData.map(i=>{
+ return {
+ name: i.workTypeDesc,
+ value: i.count
+ }
+ }).filter(i=>i.name !== '未知')
}
]
}
@@ -751,55 +797,7 @@
myChart.resize();
});
}
- const initSlfx =(names:Array<string>,vals:Array<any>)=>{
- let dom = document.getElementById(slfx.value);
- let myChart = echarts.init(dom);
- let option: EChartsOption;
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: names,
- axisTick: {
- alignWithLabel: true
- },
- axisLabel: {
- color: state.themeColor
- }
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: 'Direct',
- type: 'bar',
- barWidth: '60%',
- data: vals,
- }
- ]
- }
- option && myChart.setOption(option);
- window.addEventListener("resize",function (){
- myChart.resize();
- });
- }
const initZyqs =(names:Array<string>,vals:Array<any>)=>{
let dom = document.getElementById(zyqs.value);
let myChart = echarts.init(dom);
@@ -863,7 +861,10 @@
let res = await teamManageApi().getAllDepartment();
if (res.data.code === '200') {
state.departmentList = JSON.parse(JSON.stringify(res.data.data))
- // recursion(state.departmentList);
+ state.depList = JSON.parse(JSON.stringify(res.data.data))[0].children[0].children.filter(i=>i.depId == 32 || i.depId == 48 || i.depId == 49 || i.depId == 50 || i.depId == 10 || i.depId == 41 || i.depId == 46 || i.depId == 47)
+ recursion(state.departmentList);
+ state.lists.departList = state.departmentList
+ state.lists.departList2 = state.depList
} else {
ElMessage({
type: 'warning',
@@ -872,30 +873,16 @@
}
};
- // 分页获取列表
- // const getListByPage = async () => {
- // const dateRange = JSON.parse(JSON.stringify(state.searchDate))
- // if(dateRange[1]){dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')}
- // const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} };
- // let res = await workApplyApi().getApplyList(data);
- // if (res.data.code === '200') {
- // state.workData = JSON.parse(JSON.stringify(res.data.data));
- // state.workData = state.workData.map((item) => {
- // if (item.operators == null || item.operators == []) {
- // item.operators = [];
- // } else {
- // item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);
- // }
- // return item;
- // });
- // state.totalSize1 = res.data.total;
- // } else {
- // ElMessage({
- // type: 'warning',
- // message: res.data.msg
- // });
- // }
- // };
+ const recursion = (value: any) => {
+ for (let i of value) {
+ if (i.children.length !== 0) {
+ state.departmentRecursionList.push(i);
+ recursion(i.children);
+ } else {
+ state.departmentRecursionList.push(i);
+ }
+ }
+ };
// 关键词查询记录
const searchRecord = async () => {
@@ -911,9 +898,10 @@
startTime: '',
endTime: '',
workAllStatus: null,
- applyDepId: null
+ seDepId: null
}
state.searchDate = []
+ state.searchDate2 = []
state.pageIndex = 1
getMydepList()
};
@@ -927,49 +915,7 @@
getMydepList()
};
- // 查看记录
- // const viewDetail = (row: any) => {
- // state.dialogType = row.workType
- // state.details = JSON.parse(JSON.stringify(row));
- // if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){
- // state.details.workDetail.otherSpecialWork=[]
- // }
- // else {
- // const a = state.details.workDetail.otherSpecialWork
- // state.details.workDetail.otherSpecialWork = a.split(',').map((item) => {
- // return state.workTypeList.find((i: { id: number }) => i.id === Number(item))?.name;
- // });
- // }
- // if(state.details.workDetail.involvedDepIds == '' || !state.details.workDetail.involvedDepIds){
- // state.details.workDetail.involvedDepIds=[]
- // }
- // else {
- // const a = state.details.workDetail.involvedDepIds
- // state.details.workDetail.involvedDepIds = a.split(',').map((item) => {
- // return state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;
- // });
- // }
- // if(state.details.workDetail.csDepId){
- // state.details.workDetail.csDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.csDepId))?.depName;
- // }
- // if(state.details.workDetail.operationDepId){
- // state.details.workDetail.operationDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.operationDepId))?.depName;
- // }
- // if(state.details.workDetail.gbPath){
- // state.details.workDetail.gbPath = state.details.workDetail.gbPath.split(',')
- // }
- // if(state.details.workDetail.bcPath){
- // state.details.workDetail.bcPath = state.details.workDetail.bcPath.split(',')
- // }
- // if(state.details.workDetail.bpLocationMapPath){
- // state.details.workDetail.bpLocationMapPath = state.details.workDetail.bpLocationMapPath.split(',')
- // }
- // state.dialogDetails = true;
- // };
- // const handleReview = (row: object)=>{
- // state.dialogReview = true
- // }
const openVideo = (row:object)=>{
videoRef.value.openDialog(row)
}
@@ -985,6 +931,7 @@
}
axios.post(import.meta.env.VITE_API_URL + `/specialwork9step/work/down/load/pdf`,{id: row.workApplyId},{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`,'uid':`${Cookies.get('uid')}`},responseType: 'blob'}).then(res=>{
if (res) {
+ console.log(res.data,888)
const link = document.createElement('a')
let blob = new Blob([res.data],{type: 'application/pdf'})
link.style.display = "none";
@@ -1021,6 +968,107 @@
}
})
}
+
+ const spWorker = async ()=>{
+ for(let id of ['18','19']){
+ const res = await workApplyApi().getSpList({roleId: id})
+ if(id == '18'){
+ if (res.data.code === '200') {
+ state.lists.spList.jhList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+ if(id == '19'){
+ if (res.data.code === '200') {
+ state.lists.spList.sfList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+ }
+ }
+
+ const getOpList = async()=>{
+ const res = await workApplyApi().getOpList()
+ if(res.data.code == '200'){
+ if(res.data.data && res.data.data.length>0){
+ state.lists.spList.opList = JSON.parse(JSON.stringify(res.data.data)).map(i=>{
+ if(i.certList && i.certList.length>0){
+ i.certList = i.certList.map(item=>{
+ item['realName'] = i.realName + '(' + item.certTypeName +':'+ item.certExpiredAt + ')'
+ item['uid'] = item.certNo + ',' + item.certExpiredAt
+ return item
+ })
+ }
+ return i
+ })
+ }
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ })
+ }
+ }
+
+ // 获取用户列表
+ const getAll = async ()=>{
+ const res = await workApplyApi().getAllUsers()
+ if (res.data.code === '200') {
+ state.lists.workerList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ };
+
+ // 获取设备列表
+ const getAllDevice = async ()=>{
+ const res = await workApplyApi().getAllDevices()
+ if (res.data.code === '200') {
+ state.lists.deviceList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+
+ // 获取设备列表
+ const getAllRisks = async ()=>{
+ const res = await workApplyApi().getAllRiskIdentity()
+ if (res.data.code === '200') {
+ // state.allDevices = JSON.parse(JSON.stringify(res.data.data))
+ state.lists.riskList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+
+ const getOtherWork = async () => {
+ let res = await workApplyApi().getOtherWork({pageSize: 999, pageIndex: 1, searchParams: {workPermitNo: '', workType: null}})
+ if (res.data.code === '200') {
+ state.lists.otherWorks = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ };
// const submitReview = async (formEl: FormInstance | undefined) => {
// if (!formEl) return
@@ -1070,12 +1118,20 @@
zyfb,
slfx,
zyqs,
+ fireRef,
+ plateRef,
+ spaceRef,
+ hoistRef,
+ groundRef,
+ brokenRef,
+ heightRef,
+ powerRef,
+ openRef,
+ getMydepList,
+ continueRecord,
changeTime1,
changeTime4,
changeDep1,
- changeDep2,
- changeType2,
- changeType4,
changeDep3,
changeDep4,
toFullscreen,
@@ -1102,7 +1158,7 @@
<style scoped lang="scss">
$homeNavLengh: 8;
.home-container {
- height: calc(100vh - 144px);
+ height: calc(100vh - 144px) !important;
position: relative;
box-sizing: border-box;
overflow: hidden;
@@ -1284,7 +1340,6 @@
.main-card {
width: 100%;
- height: 100%;
.cardTop {
display: flex;
align-items: center;
--
Gitblit v1.9.2