From 77737f4e73f7267170b9b06fc73d1610c29c0661 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 12 Nov 2024 13:18:35 +0800
Subject: [PATCH] 新增
---
src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 208 insertions(+), 20 deletions(-)
diff --git a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
index 10d99b1..8764d1a 100644
--- a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
+++ b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
@@ -10,7 +10,7 @@
</div>
<div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
<span>负责人:</span>
- <el-input v-model="searPara.headUserName" placeholder="负责人"/>
+ <el-input v-model.trim="searPara.headUserName" placeholder="负责人"/>
</div>
<div class="basic-line">
<span>事业部:</span>
@@ -37,7 +37,7 @@
<div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
<span>作业票编号:</span>
<el-input
- v-model="searPara.workPermitNo"
+ v-model.trim="searPara.workPermitNo"
placeholder="请输入作业票编号"
/>
</div>
@@ -113,6 +113,7 @@
<template #default="scope">
<!-- <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 v-if="(scope.row.working?.workAllStatus == 3 || scope.row.working?.workAllStatus == 4 || scope.row.working?.workAllStatus == 5)&&!scope.row.renewalWorkApplyId" link type="primary" size="small" :icon="Edit" @click="continueRecord(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>
@@ -220,6 +221,15 @@
</span>
</template>
</el-dialog>
+ <fire-dialog ref="fireRef" :lists="lists" @refresh="getListByPage"></fire-dialog>
+ <plate-dialog ref="plateRef" :lists="lists" @refresh="getListByPage"></plate-dialog>
+ <space-dialog ref="spaceRef" :lists="lists" @refresh="getListByPage"></space-dialog>
+ <hoist-dialog ref="hoistRef" :lists="lists" @refresh="getListByPage"></hoist-dialog>
+ <ground-dialog ref="groundRef" :lists="lists" @refresh="getListByPage"></ground-dialog>
+ <broken-dialog ref="brokenRef" :lists="lists" @refresh="getListByPage"></broken-dialog>
+ <height-dialog ref="heightRef" :lists="lists" @refresh="getListByPage"></height-dialog>
+ <power-dialog ref="powerRef" :lists="lists" @refresh="getListByPage"></power-dialog>
+ <open-dialog ref="openRef" :lists="lists" @refresh="getListByPage"></open-dialog>
<!-- <el-dialog v-model="downLoadDialog" title="提示" width="30%" center>-->
<!-- <span>您确定要导出该条记录吗?</span>-->
<!-- <template #footer>-->
@@ -310,6 +320,7 @@
dep4List: Array<type>;
searPara: {}
timeRange: Array<string>;
+ lists: {}
}
interface type {
id: number;
@@ -322,13 +333,31 @@
export default defineComponent({
name: 'applys',
components: {
- detailLog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/detailLog.vue'))
+ detailLog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/detailLog.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();
const { userInfos } = storeToRefs(userInfo);
const router = useRouter();
const state = reactive<stateType>({
+ lists: {
+ workerList: [],
+ departList: [],
+ departList2: [],
+ deviceList: [],
+ otherWorks: [],
+ spList: [],
+ riskList: []
+ },
pageIndex1: 1,
pageSize1: 10,
totalSize1: 0,
@@ -364,17 +393,21 @@
{id:49,name:'电石事业部'},
{id:50,name:'电力事业部'},
{id:48,name:'有机化工事业部'},
- {id:32,name:'甲醇事业部'}
+ {id:32,name:'甲醇事业部'},
+ {id:10,name:'后勤中心'},
+ {id:41,name:'安全环保部'},
+ {id:46,name:'供销中心'},
+ {id:47,name:'技术中心'}
],
workType: [
- { id: 1, name: '动火作业' },
- { id: 2, name: '受限空间作业' },
- { id: 3, name: '吊装作业' },
- { id: 4, name: '动土作业' },
- { id: 5, name: '断路作业' },
- { id: 6, name: '高处作业' },
- { id: 7, name: '临时用电作业' },
- { id: 8, name: '盲板抽堵作业' }
+ { id: 1, name: '动火作业' },
+ { id: 2, name: '受限空间作业' },
+ { id: 3, name: '吊装作业' },
+ { id: 4, name: '动土作业' },
+ { id: 5, name: '断路作业' },
+ { id: 6, name: '高处作业' },
+ { id: 7, name: '临时用电作业' },
+ { id: 8, name: '盲板抽堵作业' }
],
statusList: [
{
@@ -448,7 +481,26 @@
],
timeRange: []
});
-
+ 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()
+ // 页面载入时执行方法
+ onMounted(() => {
+ getListByPage();
+ getAllDepartment()
+ spWorker()
+ getOpList()
+ getAll()
+ getAllDevice()
+ getAllRisks()
+ getOtherWork()
+ });
const giveTime = () => {
if (state.timeRange && state.timeRange !== null) {
state.searPara.startTime = state.timeRange[0];
@@ -458,6 +510,36 @@
state.searPara.endTime = '';
}
};
+
+ 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 reLoadData = async () => {
@@ -480,6 +562,8 @@
if (res.data.code === '200') {
state.departmentList = JSON.parse(JSON.stringify(res.data.data))
recursion(state.departmentList);
+ state.lists.departList = state.departmentList
+ state.lists.departList2 = 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)
} else {
ElMessage({
type: 'warning',
@@ -538,6 +622,107 @@
return nameList.join();
}
};
+
+ 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 searchRecord = async () => {
@@ -610,7 +795,6 @@
// 导出方法
const downLoadRecord = (row: any) => {
// let res = await workApplyApi().postPrinting(data);
- 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')
@@ -654,12 +838,6 @@
await initBackEndControlRoutes();
};
- // 页面载入时执行方法
- onMounted(() => {
- getListByPage();
- getAllDepartment()
- });
-
return {
View,
Edit,
@@ -668,6 +846,16 @@
Plus,
Finished,
Download,
+ fireRef,
+ plateRef,
+ spaceRef,
+ hoistRef,
+ groundRef,
+ brokenRef,
+ heightRef,
+ powerRef,
+ openRef,
+ continueRecord,
giveTime,
reLoadData,
toApply,
--
Gitblit v1.9.2