2 <h2>Agreement #{{ agreement.agreement_id }}</h2>
4 <fieldset class="rows">
7 <label>Agreement name:</label>
13 <label>Vendor:</label>
14 <span v-if="agreement.vendor_id">
16 vendors.find((e) => e.id == agreement.vendor_id)
22 <label>Description: </label>
24 {{ agreement.description }}
28 <label>Status: </label>
30 get_lib_from_av(av_agreement_statuses, agreement.status)
34 <label>Closure reason:</label>
37 av_agreement_closure_reasons,
38 agreement.closure_reason
43 <label>Is perpetual:</label>
44 <span v-if="agreement.is_perpetual">Yes</span>
45 <span v-else>No</span>
48 <label>Renewal priority:</label>
51 av_agreement_renewal_priorities,
52 agreement.renewal_priority
57 <label>License info: </label>
58 <span>{{ agreement.license_info }}</span>
62 <label>Periods</label>
67 <th>Cancellation deadline</th>
72 v-for="(period, counter) in agreement.periods"
75 <td>{{ format_date(period.started_on) }}</td>
76 <td>{{ format_date(period.ended_on) }}</td>
80 period.cancellation_deadline
84 <td>{{ period.notes }}</td>
99 v-for="(role, counter) in agreement.user_roles"
102 <td>{{ patron_to_html(role.patron) }}</td>
104 {{ get_lib_from_av(av_agreement_user_roles, role.role) }}
112 <label>Licenses</label>
117 <th>Physical location</th>
124 agreement_license, counter
125 ) in agreement.agreement_licenses"
128 <td>{{ agreement_license.license.name }}</td>
132 av_agreement_license_statuses,
133 agreement_license.status
140 av_agreement_license_location,
141 agreement_license.physical_location
145 <td>{{ agreement_license.notes }}</td>
146 <td>{{ agreement_license.uri }}</td>
153 <fieldset class="action">
157 @click="$emit('switch-view', 'list')"
165 import AgreementPeriods from './AgreementPeriods.vue'
166 import AgreementUserRoles from './AgreementUserRoles.vue'
170 const format_date = $date
171 const patron_to_html = $patron_to_html
172 const get_lib_from_av = function (arr, av) {
174 (e) => e.authorised_value == av
176 return o ? o.lib : ""
195 renewal_priority: '',
203 if (!this.agreement_id) return
204 const apiUrl = '/api/v1/erm/agreements/' + this.agreement_id
208 'x-koha-embed': 'periods,user_roles,user_roles.patron,agreement_licenses,agreement_licenses.license'
211 .then(res => res.json())
214 this.agreement = result
217 this.$emit('set-error', error)
223 emits: ['set-error', 'switch-view'],
225 agreement_id: Number,
227 av_agreement_statuses: Array,
228 av_agreement_closure_reasons: Array,
229 av_agreement_renewal_priorities: Array,
230 av_agreement_user_roles: Array,
231 av_agreement_license_statuses: Array,
232 av_agreement_license_location: Array,
238 name: "AgreementsShow",