add WorksapceApi.fetchAttachedFileAsMediaData
This commit is contained in:
parent
38291b3087
commit
385631ee06
@ -1,43 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="request-hub">
|
<div class="request-hub">
|
||||||
<div
|
<div v-for="(group, index) in requestGroups" :key="index" class="request-invitations" :id="group.name">
|
||||||
v-for="(group, index) in requestGroups"
|
|
||||||
:key="index"
|
|
||||||
class="request-invitations"
|
|
||||||
:id="group.name"
|
|
||||||
>
|
|
||||||
<div v-if="group.data" class="accordion" id="request-invitation-container">
|
<div v-if="group.data" class="accordion" id="request-invitation-container">
|
||||||
<div
|
<div v-for="(request, index) in group.data" :key="index" :id="request.id" class="accordion-item my-3">
|
||||||
v-for="(request, index) in group.data"
|
|
||||||
:key="index"
|
|
||||||
:id="request.id"
|
|
||||||
class="accordion-item my-3"
|
|
||||||
>
|
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
||||||
class="accordion-button collapsed"
|
:data-bs-target="'#collapse' + index" aria-expanded="false" :aria-controls="'collapse' + index">
|
||||||
type="button"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
:data-bs-target="'#collapse' + index"
|
|
||||||
aria-expanded="false"
|
|
||||||
:aria-controls="'collapse' + index"
|
|
||||||
>
|
|
||||||
<div class="request-content-container">
|
<div class="request-content-container">
|
||||||
<div class="request-content-issuer-container">
|
<div class="request-content-issuer-container">
|
||||||
<label class="request-content-label" for="request-content-issuer-box"
|
<label class="request-content-label" for="request-content-issuer-box">Issuer</label>
|
||||||
>Issuer</label
|
|
||||||
>
|
|
||||||
<div class="request-content-box" id="request-content-issuer-box">
|
<div class="request-content-box" id="request-content-issuer-box">
|
||||||
<span class="request-content-issuer-text">
|
<span class="request-content-issuer-text">
|
||||||
{{ request.issuer_profile.first_name }}
|
{{ request.issuer_profile.first_name }}
|
||||||
{{ request.issuer_profile.last_name }}</span
|
{{ request.issuer_profile.last_name }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="request-content-title-container">
|
<div class="request-content-title-container">
|
||||||
<label class="request-content-label" for="request-content-title-box"
|
<label class="request-content-label" for="request-content-title-box">Request</label>
|
||||||
>Request</label
|
|
||||||
>
|
|
||||||
<div class="request-content-box" id="request-content-title-box">
|
<div class="request-content-box" id="request-content-title-box">
|
||||||
<span class="request-content-title-text"> {{ request.title }}</span>
|
<span class="request-content-title-text"> {{ request.title }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -61,102 +40,59 @@
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div :id="'collapse' + index" class="accordion-collapse collapse"
|
||||||
:id="'collapse' + index"
|
data-bs-parent="#request-invitation-container">
|
||||||
class="accordion-collapse collapse"
|
|
||||||
data-bs-parent="#request-invitation-container"
|
|
||||||
>
|
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="request-description-container">
|
<div class="request-description-container">
|
||||||
<button class="make-proposal-button" type="button" @click="Propose(request)">
|
<button class="make-proposal-button" type="button" @click="Propose(request)">
|
||||||
Propose
|
Propose
|
||||||
</button>
|
</button>
|
||||||
<div class="request-description-content" v-html="request.content"></div>
|
<div class="request-description-content" v-html="request.content"></div>
|
||||||
<div v-for="(document_id, index) in request.document_ids" :key="document_id">
|
<div v-for="(file, index) in request.attached_files" :key="index">
|
||||||
<a :href="getDocumentDownloadLink(document_id)" download>file-{{ index }}</a>
|
<button @click="previewAttachedFile(request.id, file.document_id)">{{ file.file_name }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="issuer-profile-container">
|
<div class="issuer-profile-container">
|
||||||
<label class="issuer-profile-label" for="issuer-achievement-container"
|
<label class="issuer-profile-label" for="issuer-achievement-container">Issuer profile</label>
|
||||||
>Issuer profile</label
|
|
||||||
>
|
|
||||||
<div class="issuer-achievement-container" id="issuer-achievement-container">
|
<div class="issuer-achievement-container" id="issuer-achievement-container">
|
||||||
<div class="issuer-achievement-isssuer-container">
|
<div class="issuer-achievement-isssuer-container">
|
||||||
<label
|
<label class="issuer-achievement-label" for="issuer-achievement-isssuer-content-div">Name</label>
|
||||||
class="issuer-achievement-label"
|
<div class="issuer-achievement-content-container" id="issuer-achievement-isssuer-content-div">
|
||||||
for="issuer-achievement-isssuer-content-div"
|
|
||||||
>Name</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="issuer-achievement-content-container"
|
|
||||||
id="issuer-achievement-isssuer-content-div"
|
|
||||||
>
|
|
||||||
<span class="issuer-achievement-issuer-text">
|
<span class="issuer-achievement-issuer-text">
|
||||||
{{ request.issuer_profile.first_name }}
|
{{ request.issuer_profile.first_name }}
|
||||||
{{ request.issuer_profile.last_name }}</span
|
{{ request.issuer_profile.last_name }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="issuer-achievement-stay-container">
|
<div class="issuer-achievement-stay-container">
|
||||||
<label
|
<label class="issuer-achievement-label" for="issuer-achievement-stay-content-div">Stay on
|
||||||
class="issuer-achievement-label"
|
Freeleaps</label>
|
||||||
for="issuer-achievement-stay-content-div"
|
<div class="issuer-achievement-content-container" id="issuer-achievement-stay-content-div">
|
||||||
>Stay on Freeleaps</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="issuer-achievement-content-container"
|
|
||||||
id="issuer-achievement-stay-content-div"
|
|
||||||
>
|
|
||||||
<span class="issuer-achievement-stay-content-text">
|
<span class="issuer-achievement-stay-content-text">
|
||||||
{{ request.issuer_achievement.activeness.days_of_staying_on }} day(s)</span
|
{{ request.issuer_achievement.activeness.days_of_staying_on }} day(s)</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="issuer-achievement-paid-container">
|
<div class="issuer-achievement-paid-container">
|
||||||
<label
|
<label class="issuer-achievement-label" for="issuer-achievement-paid-content-div">Total
|
||||||
class="issuer-achievement-label"
|
payment</label>
|
||||||
for="issuer-achievement-paid-content-div"
|
<div class="issuer-achievement-content-container" id="issuer-achievement-stay-content-div">
|
||||||
>Total payment</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="issuer-achievement-content-container"
|
|
||||||
id="issuer-achievement-stay-content-div"
|
|
||||||
>
|
|
||||||
<span class="issuer-achievement-paid-content-text">
|
<span class="issuer-achievement-paid-content-text">
|
||||||
{{ request.issuer_achievement.issuer.spending.total }}
|
{{ request.issuer_achievement.issuer.spending.total }}
|
||||||
{{ request.issuer_achievement.issuer.spending.currency }}</span
|
{{ request.issuer_achievement.issuer.spending.currency }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="issuer-achievement-deposit-container">
|
<div class="issuer-achievement-deposit-container">
|
||||||
<label
|
<label class="issuer-achievement-label" for="issuer-achievement-deposit-content-div">Deposit</label>
|
||||||
class="issuer-achievement-label"
|
<div class="issuer-achievement-content-container" id="issuer-achievement-deposit-content-div">
|
||||||
for="issuer-achievement-deposit-content-div"
|
|
||||||
>Deposit</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="issuer-achievement-content-container"
|
|
||||||
id="issuer-achievement-deposit-content-div"
|
|
||||||
>
|
|
||||||
<span class="issuer-achievement-deposit-content-text">
|
<span class="issuer-achievement-deposit-content-text">
|
||||||
{{ request.issuer_achievement.issuer.deposit.available }}
|
{{ request.issuer_achievement.issuer.deposit.available }}
|
||||||
{{ request.issuer_achievement.issuer.deposit.currency }}</span
|
{{ request.issuer_achievement.issuer.deposit.currency }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="issuer-achievement-credit-container">
|
<div class="issuer-achievement-credit-container">
|
||||||
<label
|
<label class="issuer-achievement-label" for="issuer-achievement-credit-content-div">Credit</label>
|
||||||
class="issuer-achievement-label"
|
<div class="issuer-achievement-content-container" id="issuer-achievement-credit-content-div">
|
||||||
for="issuer-achievement-credit-content-div"
|
|
||||||
>Credit</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="issuer-achievement-content-container"
|
|
||||||
id="issuer-achievement-credit-content-div"
|
|
||||||
>
|
|
||||||
<span class="issuer-achievement-credit-content-text">
|
<span class="issuer-achievement-credit-content-text">
|
||||||
{{ request.issuer_achievement.activeness.credit }}</span
|
{{ request.issuer_achievement.activeness.credit }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -170,7 +106,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { RequestHubApi, DateUtils, requestHubUtils } from '../../../utils/index'
|
import { RequestHubApi, WorksapceApi, DateUtils, requestHubUtils } from '../../../utils/index'
|
||||||
import { proposingModelEnum } from '../../../types/index'
|
import { proposingModelEnum } from '../../../types/index'
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestHub',
|
name: 'RequestHub',
|
||||||
@ -202,8 +138,15 @@ export default {
|
|||||||
getDateFromFulltimeString(fulltime) {
|
getDateFromFulltimeString(fulltime) {
|
||||||
return DateUtils.FromJsonToDateString(fulltime)
|
return DateUtils.FromJsonToDateString(fulltime)
|
||||||
},
|
},
|
||||||
getDocumentDownloadLink(document_id) {
|
previewAttachedFile(request_id, document_id) {
|
||||||
return '/api/v1/document/download/' + document_id
|
WorksapceApi.fetchAttachedFileAsMediaData(request_id, document_id).then(response => {
|
||||||
|
let media_data = response.data
|
||||||
|
console.log(media_data)
|
||||||
|
//TODO: navigate to the preview page
|
||||||
|
}).catch((error) => {
|
||||||
|
this.mnx_backendErrorHandler(error)
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -319,6 +319,21 @@ class WorksapceApi {
|
|||||||
})
|
})
|
||||||
return request
|
return request
|
||||||
}
|
}
|
||||||
|
static fetchAttachedFileAsMediaData(request_id, document_id) {
|
||||||
|
let jwt = userUtils.getJwtToken()
|
||||||
|
const request = backendAxios.post(
|
||||||
|
'/api/workspace/request/fetch-attached-file-as-media-data',
|
||||||
|
{
|
||||||
|
request_id: request_id,
|
||||||
|
document_id: document_id
|
||||||
|
},
|
||||||
|
{
|
||||||
|
headers: { Authorization: `Bearer ${jwt}` }
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return request
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export { WorksapceApi }
|
export { WorksapceApi }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user