Merge remote-tracking branch 'origin/liujun-2024-02-04-相关方新流程上线后新提需求' into 2024年2月22日v1.0.55

2024年2月22日v1.0.55
zhaoyu 2024-02-22 18:11:28 +08:00
commit b529de2cbb
5 changed files with 69 additions and 21 deletions

View File

@ -0,0 +1,16 @@
export default async function useDownloadFile(url) {
if (!url) throw new Error('没有下载地址')
fetch(config.fileUrl + url)
.then((res) => res.blob())
.then((blob) => {
const a = document.createElement('a')
document.body.appendChild(a)
a.style.display = 'none'
const url = window.URL.createObjectURL(blob)
a.href = url
a.download = url.substring(url.lastIndexOf('/') + 1)
a.click()
document.body.removeChild(a)
window.URL.revokeObjectURL(url)
})
}

View File

@ -7,13 +7,15 @@
title="审批流程" title="审批流程"
width="60%"> width="60%">
<el-steps :space="200" :active="list.length" direction="vertical" finish-status="success"> <el-steps :space="200" :active="list.length" direction="vertical" finish-status="success">
<el-step v-for="item in list" :key="item.FLOW_DETAIL_ID" :value="item.FLOW_DETAIL_ID" :title="item.SORT"> <el-step v-for="item in list" :key="item.FLOW_DETAIL_ID" :value="item.FLOW_DETAIL_ID" :title="item.SORT+''">
<template slot="description"> <template slot="description">
<el-card class="box-card" style="width: 900px;"> <el-card class="box-card a" style="width: 900px;">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ item.STEP_NAME }}</span> <span>{{ item.STEP_NAME }}</span>
</div> </div>
<div> <div>
<el-row>
<el-col :span="12">
<el-row> <el-row>
<el-col v-if="item.APPROVER_NAME"> <el-col v-if="item.APPROVER_NAME">
审批人{{ item.APPROVER_NAME }} 审批人{{ item.APPROVER_NAME }}
@ -34,6 +36,11 @@
审批结束 审批结束
</el-col> </el-col>
</el-row> </el-row>
</el-col>
<el-col v-if="item.APPOINT_ANNEX" :span="12">
<el-button icon="el-icon-download" type="primary" @click = "download(item)">下载附件</el-button>
</el-col>
</el-row>
</div> </div>
</el-card> </el-card>
</template> </template>
@ -47,6 +54,7 @@
<script> <script>
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import useDownloadFile from '../../../../utils/useDownloadFile'
export default { export default {
props: { props: {
@ -77,6 +85,9 @@ export default {
}, },
closeWindow() { closeWindow() {
this.handleClose() this.handleClose()
},
download(item) {
useDownloadFile(item.APPOINT_ANNEX)
} }
} }
} }

View File

@ -225,6 +225,7 @@ export default {
APPOINT_DEPARTMENT_NAME: '', APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '', APPOINT_USER_ID: '',
APPOINT_USER_NAME: '', APPOINT_USER_NAME: '',
OPINION: '',
user: '', user: '',
list: [], list: [],
tm: new Date().getTime() tm: new Date().getTime()

View File

@ -62,7 +62,7 @@
<tr> <tr>
<th>民族</th> <th>民族</th>
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td> <td>{{ userDetailForm.NATIONALITY_NAME ? userDetailForm.NATIONALITY_NAME : '暂无信息' }}</td>
<th>婚姻状况</th> <th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td> <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th> <th>政治面貌</th>
@ -137,6 +137,22 @@
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td> <td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
</tr> </tr>
</table> </table>
<div v-if="userDetailForm.ANNEX" style="padding-bottom: 10px">
<div class="level-title">
<h1>承诺书</h1>
</div>
<div>
<el-button icon="el-icon-download" type="primary" @click = "download(userDetailForm.ANNEX)">下载附件</el-button>
</div>
</div>
<div v-if="userDetailForm.ATTORNEY" style="padding-bottom: 10px">
<div class="level-title">
<h1>委托书</h1>
</div>
<div>
<el-button icon="el-icon-download" type="primary" @click = "download(userDetailForm.ATTORNEY)">下载附件</el-button>
</div>
</div>
<div> <div>
<div class="level-title"> <div class="level-title">
<h1>培训记录</h1> <h1>培训记录</h1>
@ -317,6 +333,7 @@
import vueQr from 'vue-qr' import vueQr from 'vue-qr'
import dateformat from '@/utils/dateformat' import dateformat from '@/utils/dateformat'
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import useDownloadFile from '../../../../utils/useDownloadFile'
export default { export default {
components: { vueQr }, components: { vueQr },
@ -401,6 +418,9 @@ export default {
} else { } else {
return '' return ''
} }
},
download(item) {
useDownloadFile(item)
} }
} }
} }

View File

@ -44,8 +44,8 @@
<el-table-column label="操作" align="center" width="350"> <el-table-column label="操作" align="center" width="350">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShowStep(row)"></el-button> <el-button v-if="false" type="primary" icon="el-icon-edit" size="mini" @click="handleShowStep(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShowFlow(row)"></el-button> <el-button v-if="false" type="primary" icon="el-icon-edit" size="mini" @click="handleShowFlow(row)"></el-button>
<el-button v-if="false" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button> <el-button v-if="false" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button>
<el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button> <el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button>
</template> </template>