马宇豪
2023-05-22 d0bec404f2c22ca04e8592f1a2ba0b39eab0be2f
src/views/specialWorkSystem/workTicket/wdsqjl/index.vue
@@ -51,23 +51,38 @@
                                <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 label="申请状态" align="center" 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="140">
                                    <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>
                                    </template>
                                </el-table-column>
                                <el-table-column label="作业状态" align="center">
                                  <template #default="scope">
                                    <el-tag :type="scope.row.working == null? 'danger':scope.row.working.workStatus==2?'success':scope.row.working.workStatus==1?'warning':'danger'">{{ scope.row.working==null?'未开始':scope.row.working.workStatus == 1?'开始': scope.row.working.workStatus == 2?'结束':'未开始'}}</el-tag>
                                  </template>
                                </el-table-column>
                                <el-table-column label="验收状态" align="center">
                                  <template #default="scope">
                                    <el-tag :type="scope.row.working == null? 'danger':scope.row.working.workAcceptStatus==2?'success':scope.row.working.workAcceptStatus== 1?'warning':'danger'">{{ scope.row.working==null?'未开始':scope.row.working.workAcceptStatus == 1?'等待验收': scope.row.working.workAcceptStatus == 2? '已验收':'未开始'}}</el-tag>
                                  </template>
                                </el-table-column>
                                <el-table-column fixed="right" label="操作" align="center" width="250">
                                    <template #default="scope">
                                        <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 :disabled="scope.row.status == 7 ? false : true" link type="primary" size="small" :icon="Download" @click="downLoadBtn(scope.row)">导出作业票</el-button>
                                        <el-button :disabled="scope.row.working && scope.row.working.workAcceptStatus == 2 ? false : true" link type="primary" size="small" :icon="Download" @click="downLoadBtn(scope.row)">导出作业票</el-button>
                                    </template>
                                </el-table-column>
                            </el-table>
@@ -108,11 +123,17 @@
                                    <div class="text">
                                        审批结果:<span>{{ item.approvalResultDesc }}</span>
                                    </div>
                                    <div class="text">
                                        审批层级:<span>{{ item.typeDesc }}</span>
                                    <div class="text" v-if="item.approvalTypeDesc">
                                        层级类型:<span>{{ item.approvalTypeDesc }}</span>
                                    </div>
                                    <div class="text" v-if="item.auditTypeDesc">
                                        审批类型:<span>{{ item.auditTypeDesc }}</span>
                                    </div>
                                    <div class="text" v-if="item.personTypeDesc">
                                        人员类型:<span>{{ item.personTypeDesc }}</span>
                                    </div>
                                    <div class="text" v-if="item.contentTypeDesc">
                                        内容类型:<span>{{ item.contentTypeDesc }}</span>
                                    </div>
                                    <div class="text" v-show="item.startApprovalTime != null">
                                        开始时间:<span>{{ item.startApprovalTime }}</span>
@@ -124,7 +145,7 @@
                                            ><span>{{ i.resultDesc }}</span>
                                        </div>
                                    </div>
                                    <div class="approveItem">
                                    <div class="approveItem" v-if="item.contentType==1">
                                        <div class="item-tit">
                                            <span>审批项目</span>
<!--                                            <span>类型</span>-->
@@ -418,7 +439,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 +452,7 @@
        const clearSearch = async () => {
            state.searchWord = null;
            state.searchDep = null;
            state.searchDate = ''
            state.searchDate = []
            getListByPage();
        };
@@ -470,13 +491,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);