From 324eed59a668758755219d5cd4e68463a9cc427d Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期三, 14 九月 2022 15:22:36 +0800
Subject: [PATCH] Default Changelist
---
src/views/specialWorkSystem/workTicket/myJobApply/index.vue | 124 ++++++++++++++++++++++++++++++++---------
1 files changed, 96 insertions(+), 28 deletions(-)
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
index 741d565..bd1a108 100644
--- a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
@@ -4,7 +4,8 @@
<!-- <el-tab-pane label="申请中" name="1">-->
<div style="height: 100%">
<el-row class="homeCard">
- <el-col :span="8">
+ <span>作业类型:</span>
+ <el-col :span="10">
<div class="grid-content topInfo">
<el-select v-model="searchWord">
<el-option
@@ -37,9 +38,9 @@
<el-table-column property="workTypeDesc" label="作业类型" />
<el-table-column property="workLevelDesc" label="作业等级" />
<el-table-column property="applyTime" label="申请时间" width="180" />
- <el-table-column label="申请状态" width="180">
+ <el-table-column label="申请状态" align="center" width="180">
<template #default="scope">
- <el-tag type="success">{{ scope.row.statusDesc }}</el-tag>
+ <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="250">
@@ -47,6 +48,7 @@
<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
<el-button link type="success" size="small" :icon="Finished" @click="viewStatus(scope.row)">进度</el-button>
<el-button link type="warning" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">取消</el-button>
+ <el-button link type="primary" size="small" :icon="Download" @click="downLoadBtn(scope.row)">导出</el-button>
</template>
</el-table-column>
</el-table>
@@ -73,7 +75,7 @@
</span>
</template>
</el-dialog>
- <el-dialog v-model="dialogStatus" title="作业申请进度">
+ <el-dialog v-model="dialogStatus" title="作业申请进度" width="60%">
<el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px">
<el-form-item label="申请作业人">
<el-input v-model="approveInfo.operators" readonly type="textarea" />
@@ -102,12 +104,13 @@
</div>
<div class="approveItem">
<div class="item-tit">
- <span>审批项目</span><span>类型</span>
+ <span>审批项目</span>
+<!-- <span>类型</span>-->
<div>措施标准</div>
</div>
<div class="item-cont" v-for="i in item.stepItems">
- <span>{{ i.itemName }}</span
- ><span>{{ i.typeDesc }}</span>
+ <span>{{ i.itemName }}</span>
+<!-- <span>{{ i.typeDesc }}</span>-->
<div v-if="i.measure !== null">
<div>
<span>作业类型:</span><span>{{ i.measure.workTypeDesc }}</span>
@@ -137,13 +140,22 @@
</div>
</div>
</el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center>
<span>您确定要取消该条申请吗?</span>
<template #footer>
<span class="dialog-footer">
<el-button @click="deleteDialog = false" size="default">取消</el-button>
<el-button type="primary" @click="conFirmDelete" 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>-->
@@ -191,12 +203,14 @@
import { useUserInfo } from '/@/stores/userInfo';
import { Session } from '/@/utils/storage';
import { useRouter } from 'vue-router';
-import { Edit, View, Plus, Delete, Refresh, Search, Finished } from '@element-plus/icons-vue';
+import { Edit, View, Plus, Delete, Refresh, Search, Finished, Download } from '@element-plus/icons-vue';
import { ElTable } from 'element-plus';
import { FormInstance, FormRules, ElMessage } from 'element-plus';
import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
import type { TabsPaneContext } from 'element-plus';
import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
+import Cookies from 'js-cookie';
+import axios from 'axios';
// 定义接口来定义对象的类型
interface stateType {
@@ -208,10 +222,13 @@
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;
@@ -219,7 +236,6 @@
details: {};
statusInfo: {};
workType: Array<type>;
- depType: Array<type>;
dialogType: number | null;
departmentList: Array<any>;
departmentRecursionList: Array<DepartmentState>;
@@ -268,10 +284,13 @@
dialogDetails: false,
dialogStatus: false,
deleteDialog: false,
+ downLoadDialog: false,
addRecord: {},
details: {},
statusInfo: {},
deleteId: null,
+ downLoadId: null,
+ downLoadName: '',
deleteArr: [],
workType: [
{ id: 1, name: '动火作业' },
@@ -282,12 +301,6 @@
{ id: 6, name: '高处作业' },
{ id: 7, name: '临时用电作业' },
{ id: 8, name: '盲板抽堵作业' }
- ],
- depType: [
- { id: 1, name: '部门一' },
- { id: 2, name: '部门二' },
- { id: 3, name: '部门三' },
- { id: 4, name: '部门四' }
]
});
interface User {
@@ -304,12 +317,11 @@
// 填写表单
const toApply = () => {
router.push({
- path: 'workTicket'
+ path: 'workApply'
});
};
const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event);
};
// 获取部门列表
@@ -318,7 +330,6 @@
if (res.data.code === '200') {
state.departmentList = JSON.parse(JSON.stringify(res.data.data))
recursion(state.departmentList);
- console.log(state.departmentRecursionList,'99999999999')
} else {
ElMessage({
type: 'warning',
@@ -341,7 +352,7 @@
// 分页获取工作时间组列表
const getListByPage = async () => {
const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
- let res = await workApplyApi().getApplyListtPage(data);
+ let res = await workApplyApi().getApplyListPage(data);
if (res.data.code === '200') {
state.applyData = JSON.parse(JSON.stringify(res.data.data));
state.applyData = state.applyData.map((item) => {
@@ -407,7 +418,6 @@
if (res.data.code === '200') {
state.approveInfo = JSON.parse(JSON.stringify(res.data.data));
state.approveInfo.operators = Array.from(state.approveInfo.operators, ({ operatorUname }) => operatorUname);
- console.log(state.approveInfo, 'steps');
} else {
ElMessage({
type: 'warning',
@@ -443,6 +453,41 @@
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) => {
+ // let res = await workApplyApi().postPrinting(data);
+ axios.post(import.meta.env.VITE_API_URL + `/work/apply/printing`,data,{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/vnd.openxmlformats-officedocument.wordprocessingml.document'})
+ link.style.display = "none";
+ link.href = URL.createObjectURL(blob); // 创建URL
+ link.setAttribute("download", state.downLoadName + "作业证.docx");
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ })
+
+ };
+
+ const conFirmDownLoad = () => {
+ downLoadRecord({ applyWorkId: state.downLoadId });
+ state.downLoadDialog = false;
+ };
+
const handleSizeChange1 = (val: number) => {
state.pageSize1 = val;
getListByPage();
@@ -460,7 +505,6 @@
state.details.workDetail.otherSpecialWork=[]
}
else {
- console.log(state.details.workDetail.otherSpecialWork,'split')
const a = state.details.workDetail.otherSpecialWork
state.details.workDetail.otherSpecialWork = a.split(',').map((item) => {
return state.workType.find((i: { id: number }) => i.id === Number(item))?.name;
@@ -475,7 +519,21 @@
return state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;
});
}
- console.log(state.details,'details')
+ 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;
};
@@ -499,6 +557,7 @@
Refresh,
Plus,
Finished,
+ Download,
reLoadData,
toApply,
handleClick,
@@ -508,7 +567,9 @@
viewRecord,
viewStatus,
deleteRecordBtn,
+ downLoadBtn,
conFirmDelete,
+ conFirmDownLoad,
getListByPage,
handleSizeChange1,
handleCurrentChange1,
@@ -656,9 +717,12 @@
& > span {
flex: 1;
+ &:last-of-type{
+ text-align: center;
+ }
}
& > div {
- flex: 2;
+ flex: 1;
text-align: center;
}
}
@@ -672,9 +736,12 @@
& > span {
flex: 1;
+ &:last-of-type{
+ text-align: center;
+ }
}
& > div {
- flex: 2;
+ flex: 1;
text-align: center;
& > div {
@@ -741,11 +808,12 @@
width: 100%;
display: flex;
justify-content: center;
- align-items: center;
+ align-items: flex-start;
+ margin-bottom: 10px;
span {
- width: 45%;
+ width: 50%;
&:first-of-type {
- width: 30%;
+ width: 25%;
}
}
}
--
Gitblit v1.9.2