能力申请:有附件的时候提供附件下载功能

This commit is contained in:
guoyue 2022-10-17 16:01:03 +08:00
parent 8db5b8bee5
commit adf964a400
1 changed files with 82 additions and 65 deletions

View File

@ -13,40 +13,32 @@
<h3>申请人信息</h3> <h3>申请人信息</h3>
<div class="big-BOX"> <div class="big-BOX">
<p> <p>
<span class="text" <span class="text">申请人<span> {{ dataForm.content.user || '--' }}</span></span>
>申请人<span> {{ dataForm.content.user || '--' }}</span></span <span class="text">电话<span>{{ dataForm.content.phone || '--' }}</span></span>
> <span class="text">单位<span>{{ dataForm.content.unit || '--' }}</span></span>
<span class="text"
>电话<span>{{ dataForm.content.phone || '--' }}</span></span
>
<span class="text"
>单位<span>{{ dataForm.content.unit || '--' }}</span></span
>
</p> </p>
<p> <p>
<span class="text"> <span class="text">
能力申请标题<span> 能力申请标题<span>
{{ dataForm.content.title || '--' }}</span {{ dataForm.content.title || '--' }}</span></span>
></span <span class="text" v-if="dataForm.content.applicationSystem">应用系统<span>{{
> dataForm.content.applicationSystem || '--'
<span class="text" v-if="dataForm.content.applicationSystem" }}</span></span>
>应用系统<span>{{ <span class="text"></span>
dataForm.content.applicationSystem || '--'
}}</span></span
>
<span class="text" ></span>
</p> </p>
<p> <p>
<span v-if="dataForm.content.applicationSceneStr" <span v-if="dataForm.content.applicationSceneStr">应用场景<span>
>应用场景<span> {{ dataForm.content.applicationSceneStr || '--' }}</span></span>
{{ dataForm.content.applicationSceneStr || '--' }}</span
></span>
</p> </p>
<p> <p>
<span> <span>
需求依据<span> 需求依据<span>
{{ dataForm.content.applicationBackground || '--' }}</span {{ dataForm.content.applicationBackground || '--' }}</span></span>
></span> </p>
<p>
<div>
<el-button type="primary" v-if="dataForm.content.attachment" size="small" @click="download(dataForm.content)">附件下载</el-button>
</div>
</p> </p>
<!-- <p> <!-- <p>
<span> <span>
@ -102,9 +94,7 @@
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button> <el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
</el-radio-group> --> </el-radio-group> -->
<el-button type="primary" @click="showDialog('同意')">同意</el-button> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('驳回')" <el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
>驳回</el-button
>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input> <!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input> <el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> --> <el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
@ -113,21 +103,12 @@
<!-- 流程详情 --> <!-- 流程详情 -->
<ren-process-detail></ren-process-detail> <ren-process-detail></ren-process-detail>
<el-dialog <el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
title="审批意见" :before-close="handleClose">
:close-on-click-modal="false"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-input v-model="input" placeholder="请输入审批意见"></el-input> <el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button> <el-button @click="handleClose2"> </el-button>
<el-button <el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)"> </el-button>
type="primary"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</el-card> </el-card>
@ -144,7 +125,7 @@ import bus from '@/views/bus.js'
export default { export default {
// //
mixins: [processModule], mixins: [processModule],
data () { data() {
return { return {
dialogVisible: false, dialogVisible: false,
dialogType: '', dialogType: '',
@ -173,7 +154,7 @@ export default {
agreeOrList: '同意' agreeOrList: '同意'
} }
}, },
created () { created() {
// KEY // KEY
console.log('params=================>', this.$route, this.$route.params) console.log('params=================>', this.$route, this.$route.params)
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
@ -207,7 +188,7 @@ export default {
RenProcessDetail RenProcessDetail
}, },
methods: { methods: {
init () { init() {
// this.visible = true // this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// this.$refs.dataForm.resetFields() // this.$refs.dataForm.resetFields()
@ -219,32 +200,32 @@ export default {
} }
}) })
}, },
showDialog (title) { showDialog(title) {
this.dialogVisible = true this.dialogVisible = true
this.dialogType = title this.dialogType = title
}, },
handleClose (done) { handleClose(done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then((_) => { .then((_) => {
this.input = '' this.input = ''
done() done()
}) })
.catch((_) => {}) .catch((_) => { })
}, },
handleClose2 () { handleClose2() {
this.dialogVisible = false this.dialogVisible = false
this.input = '' this.input = ''
}, },
downloadFile2 (url) { downloadFile2(url) {
console.log(window.SITE_CONFIG.previewUrl) console.log(window.SITE_CONFIG.previewUrl)
window.open( window.open(
window.SITE_CONFIG.previewUrl + window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' + 'hisense_office/onlinePreview?url=' +
btoa(encodeURI(url)) btoa(encodeURI(url))
) )
}, },
// //
getInfo () { getInfo() {
let params = '' let params = ''
if (this.dataForm.taskId) { if (this.dataForm.taskId) {
params = `taskId=${this.dataForm.taskId}` params = `taskId=${this.dataForm.taskId}`
@ -272,7 +253,7 @@ export default {
index < index <
res.data.tAbilityApplicationDTOList[0].applicationScene res.data.tAbilityApplicationDTOList[0].applicationScene
.length - .length -
1 1
) { ) {
res.data.tAbilityApplicationDTOList[0].applicationSceneStr += res.data.tAbilityApplicationDTOList[0].applicationSceneStr +=
'、' '、'
@ -307,7 +288,7 @@ export default {
this.dataList.push(obj) this.dataList.push(obj)
} }
}) })
.catch(() => {}) .catch(() => { })
} else { } else {
params = `instanceId=${this.dataForm.instanceId}` params = `instanceId=${this.dataForm.instanceId}`
this.$http this.$http
@ -359,11 +340,11 @@ export default {
this.dataList.push(obj) this.dataList.push(obj)
} }
}) })
.catch(() => {}) .catch(() => { })
} }
}, },
// //
applyData () { applyData() {
this.$http this.$http
.get(`/resource/select/${this.dataForm.instanceId}`) .get(`/resource/select/${this.dataForm.instanceId}`)
.then(({ data: res }) => { .then(({ data: res }) => {
@ -375,7 +356,7 @@ export default {
// this.dataForm.content = res.data // this.dataForm.content = res.data
// console.log(this.dataForm, 'ela') // console.log(this.dataForm, 'ela')
}) })
.catch(() => {}) .catch(() => { })
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
@ -412,7 +393,7 @@ export default {
} }
}) })
}) })
.catch(() => {}) .catch(() => { })
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
} else { } else {
this.$message.error('请输入审批意见!') this.$message.error('请输入审批意见!')
@ -455,7 +436,7 @@ export default {
1000, 1000,
{ leading: true, trailing: false } { leading: true, trailing: false }
), ),
tabRemoveHandle (tabName) { tabRemoveHandle(tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') { if (tabName === 'home') {
return false return false
@ -472,7 +453,7 @@ export default {
if (tabName === this.$store.state.contentTabsActiveName) { if (tabName === this.$store.state.contentTabsActiveName) {
const tab = const tab =
this.$store.state.contentTabs[ this.$store.state.contentTabs[
this.$store.state.contentTabs.length - 1 this.$store.state.contentTabs.length - 1
] ]
this.$router.push({ this.$router.push({
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name, name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
@ -482,13 +463,19 @@ export default {
} }
}, },
// //
startProcessErrorCallback (data) { startProcessErrorCallback(data) {
console.log(data) console.log(data)
}, },
// //
taskHandleErrorCallback (data) {} taskHandleErrorCallback(data) { },
download(data) {
const alink = document.createElement('a')
alink.download = '附件' // ,,IE10
alink.href = data.attachment // url
alink.click() //
},
}, },
mounted () { mounted() {
// this.applyData() // this.applyData()
} }
} }
@ -497,38 +484,47 @@ export default {
::v-deep .big-BOX { ::v-deep .big-BOX {
background: rgba(244, 245, 248, 0.8); background: rgba(244, 245, 248, 0.8);
padding: 24px; padding: 24px;
h3 { h3 {
font-size: 16px; font-size: 16px;
color: #212121; color: #212121;
} }
p { p {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
color: #212121; color: #212121;
font-size: 14px; font-size: 14px;
span { span {
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
line-height: 32px; line-height: 32px;
span { span {
font-weight: bold; font-weight: bold;
} }
} }
.text { .text {
width: 500px; width: 500px;
} }
} }
.lastP { .lastP {
margin-top: 16px; margin-top: 16px;
width: 100%; width: 100%;
span { span {
display: flex; display: flex;
span { span {
padding: 0 12px; padding: 0 12px;
height: 32px; height: 32px;
background: rgba(232, 234, 239, 1); background: rgba(232, 234, 239, 1);
border-radius: 2px; border-radius: 2px;
button { button {
background: unset; background: unset;
border: 0; border: 0;
@ -539,6 +535,7 @@ export default {
} }
} }
} }
::v-deep .AbilityApply { ::v-deep .AbilityApply {
margin-top: 32px; margin-top: 32px;
@ -548,27 +545,33 @@ export default {
border-bottom: 1px solid #dddee1; border-bottom: 1px solid #dddee1;
padding-bottom: 10px; padding-bottom: 10px;
} }
ul { ul {
padding-left: 0px; padding-left: 0px;
li { li {
list-style: none; list-style: none;
padding: 30px 0; padding: 30px 0;
border-bottom: 1px solid #dddee1; border-bottom: 1px solid #dddee1;
display: flex; display: flex;
img { img {
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
div { div {
margin-left: 16px; margin-left: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
h2 { h2 {
margin-bottom: 20px; margin-bottom: 20px;
font-size: 20px; font-size: 20px;
color: #000; color: #000;
display: flex; display: flex;
span { span {
display: block; display: block;
font-size: 14px; font-size: 14px;
@ -581,22 +584,26 @@ export default {
border-radius: 4px; border-radius: 4px;
} }
} }
p { p {
margin-bottom: 0; margin-bottom: 0;
} }
} }
} }
.clearfix:after { .clearfix:after {
display: block; display: block;
content: ""; content: "";
clear: both; clear: both;
} }
.title { .title {
color: #0558e1; color: #0558e1;
font-size: 18px; font-size: 18px;
padding-bottom: 0; padding-bottom: 0;
border-bottom: 0; border-bottom: 0;
} }
.title:before { .title:before {
content: ""; content: "";
width: 6px; width: 6px;
@ -610,17 +617,21 @@ export default {
} }
} }
} }
::v-deep .agreeOr > div {
::v-deep .agreeOr>div {
display: flex; display: flex;
align-items: center; align-items: center;
.el-input { .el-input {
margin-right: 10px; margin-right: 10px;
margin-left: 32px; margin-left: 32px;
} }
} }
::v-deep .agreeOr > div:last-of-type {
::v-deep .agreeOr>div:last-of-type {
margin-top: 15px; margin-top: 15px;
} }
.blueAll { .blueAll {
::v-deep .el-radio-button__inner { ::v-deep .el-radio-button__inner {
width: 80px; width: 80px;
@ -632,12 +643,14 @@ export default {
color: #0558e1; color: #0558e1;
border: 1px solid #0558e1; border: 1px solid #0558e1;
} }
::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
background: #0558e1; background: #0558e1;
color: #ffffff; color: #ffffff;
} }
} }
.inputBule { .inputBule {
width: 55px; width: 55px;
height: 32px; height: 32px;
@ -648,8 +661,10 @@ export default {
color: #ffffff; color: #ffffff;
border: 1px solid #0558e1; border: 1px solid #0558e1;
} }
.redAll { .redAll {
margin-left: 10px; margin-left: 10px;
::v-deep .el-radio-button__inner { ::v-deep .el-radio-button__inner {
width: 80px; width: 80px;
height: 32px; height: 32px;
@ -661,12 +676,14 @@ export default {
color: #e83a48; color: #e83a48;
margin-left: 10px; margin-left: 10px;
} }
::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
color: #ffffff; color: #ffffff;
background: #e83a48; background: #e83a48;
} }
} }
.blueInput { .blueInput {
width: 55px; width: 55px;
} }