马宇豪
2023-03-22 22bf644b3fc85763be3ad0c5e348d2bee38e2444
src/views/specialWorkSystem/workTicket/wdsqjl/index.vue
@@ -51,13 +51,18 @@
                                <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="作业申请单号" width="180" />
                                <el-table-column property="applyUname" label="申请人" />
                                <el-table-column property="depName" label="部门名称" />
                                <el-table-column property="operators" label="作业人" />
                                <el-table-column property="workTypeDesc" label="作业类型" />
                                <el-table-column property="workLevelDesc" label="作业等级" />
                                <el-table-column property="applyTime" label="申请时间" width="180" />
                                <el-table-column property="workPermitNo" label="作业申请单号" width="180" align="center"/>
                                <el-table-column property="applyUname" label="申请人" align="center"/>
                                <el-table-column property="depName" label="部门名称" align="center"/>
                                <el-table-column property="operators" label="作业人" align="center"/>
                                <el-table-column property="workTypeDesc" label="作业类型" align="center"/>
                                <el-table-column property="workLevelDesc" label="作业等级" align="center"/>
                                <el-table-column property="materialStatus" label="物资状态" align="center" width="180">
                                  <template #default="scope">
                                    <span>{{ scope.row.materialStatus==0?'未关联物资':(scope.row.materialStatus==1?'必选物资配备不足':(scope.row.materialStatus==2?'必选物资配备齐全':(scope.row.materialStatus==3?'物资配置专业':(scope.row.materialStatus==4?'物资配置高端':'-')))) }}</span>
                                  </template>
                                </el-table-column>
                                <el-table-column property="applyTime" label="申请时间" width="180" align="center"/>
                                <el-table-column label="申请状态" align="center" width="180">
                                    <template #default="scope">
                                        <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag>
@@ -267,14 +272,14 @@
export default defineComponent({
    name: 'myApply',
    components: {
        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue')),
        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue')),
        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue')),
        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue')),
        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue')),
        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue')),
        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue')),
        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue'))
        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
    },
    setup() {
        const userInfo = useUserInfo();
@@ -342,7 +347,7 @@
        // 填写表单
        const toApply = () => {
            router.push({
                path: 'apply'
                path: 'zysq'
            });
        };
@@ -418,7 +423,7 @@
        // 关键词查询记录
        const searchRecord = async () => {
            if (state.searchWord == null && state.searchDep == null && state.searchDate == '') {
            if (state.searchWord == null && state.searchDep == null && state.searchDate == []) {
                ElMessage({
                    type: 'warning',
                    message: '请输入查询关键词'
@@ -431,7 +436,7 @@
        const clearSearch = async () => {
            state.searchWord = null;
            state.searchDep = null;
            state.searchDate = ''
            state.searchDate = []
            getListByPage();
        };
@@ -442,7 +447,7 @@
        // 查询进度方法
        const getStatus = async (data: any) => {
            let res = await workApplyApi().getStatus(data);
            let res = await workApplyApi().getAllStatus(data);
            if (res.data.code === '200') {
                state.approveInfo = JSON.parse(JSON.stringify(res.data.data));
                state.approveInfo.operators = Array.from(state.approveInfo.operators, ({ operatorUname }) => operatorUname);
@@ -470,13 +475,13 @@
        // 导出方法
        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=>{
            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=>{
                if (res) {
                    const link = document.createElement('a')
                    let blob = new Blob([res.data],{type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'})
                    let blob = new Blob([res.data],{type: 'application/pdf'})
                    link.style.display = "none";
                    link.href = URL.createObjectURL(blob); // 创建URL
                    link.setAttribute("download", state.downLoadName + "作业证.docx");
                    link.setAttribute("download", state.downLoadName + "作业证.pdf");
                    document.body.appendChild(link);
                    link.click();
                    document.body.removeChild(link);