174a222497a8cf1d068b08583432eef066fac1e6
[srvgit] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsLocalPackagesShow.vue
1 <template>
2     <div v-if="!initialized">{{ $t("Loading") }}</div>
3     <div v-else-if="erm_package" id="packages_show">
4         <h2>
5             {{ $t("Package .id", { id: erm_package.package_id }) }}
6             <span class="action_links">
7                 <router-link
8                     :to="`/cgi-bin/koha/erm/eholdings/local/packages/edit/${erm_package.package_id}`"
9                     :title="$t('Edit')"
10                     ><i class="fa fa-pencil"></i
11                 ></router-link>
12
13                 <router-link
14                     :to="`/cgi-bin/koha/erm/eholdings/local/packages/delete/${erm_package.package_id}`"
15                     :title="$t('Delete')"
16                     ><i class="fa fa-trash"></i
17                 ></router-link>
18             </span>
19         </h2>
20         <div>
21             <fieldset class="rows">
22                 <ol>
23                     <li>
24                         <label>{{ $t("Package name") }}:</label>
25                         <span>
26                             {{ erm_package.name }}
27                         </span>
28                     </li>
29                     <li v-if="erm_package.vendor">
30                         <label>{{ $t("Vendor") }}:</label>
31                         <span>
32                             <a
33                                 :href="`/cgi-bin/koha/acqui/booksellers.pl?booksellerid=${erm_package.vendor_id}`"
34                                 >{{ erm_package.vendor.name }}</a
35                             >
36                         </span>
37                     </li>
38                     <li v-if="erm_package.external_id">
39                         <label>{{ $t("External ID") }}:</label>
40                         <span>
41                             <!-- FIXME Create a syspref to store the URL -->
42                             <a
43                                 :href="`https://ptfs-europe-demo.folio.ebsco.com/eholdings/packages/${erm_package.vendor.external_id}-${erm_package.external_id}`"
44                             >
45                                 {{ erm_package.external_id }}
46                             </a>
47                         </span>
48                     </li>
49                     <li>
50                         <label>{{ $t("Package type") }}:</label>
51                         <span>{{
52                             get_lib_from_av(
53                                 "av_package_types",
54                                 erm_package.package_type
55                             )
56                         }}</span>
57                     </li>
58                     <li>
59                         <label>{{ $t("Content type") }}:</label>
60                         <span>{{
61                             get_lib_from_av(
62                                 "av_package_content_types",
63                                 erm_package.content_type
64                             )
65                         }}</span>
66                     </li>
67                     <li v-if="erm_package.created_on">
68                         <label>{{ $t("Created on") }}:</label>
69                         <span>{{ format_date(erm_package.created_on) }}</span>
70                     </li>
71                     <li v-if="erm_package.package_agreements.length">
72                         <label>{{ $t("Agreements") }}</label>
73                         <div
74                             v-for="package_agreement in erm_package.package_agreements"
75                             :key="package_agreement.agreement_id"
76                         >
77                             <router-link
78                                 :to="`/cgi-bin/koha/erm/agreements/${package_agreement.agreement.agreement_id}`"
79                                 >{{
80                                     package_agreement.agreement.name
81                                 }}</router-link
82                             >
83                         </div>
84                     </li>
85                     <li>
86                         <label>{{
87                             $t("Titles ({count})", {
88                                 count: erm_package.resources_count,
89                             })
90                         }}</label>
91                         <div v-if="erm_package.resources_count">
92                             <EHoldingsPackageTitlesList
93                                 :package_id="erm_package.package_id.toString()"
94                             />
95                         </div>
96                     </li>
97
98                     <li></li>
99                 </ol>
100             </fieldset>
101             <fieldset class="action">
102                 <router-link
103                     to="/cgi-bin/koha/erm/eholdings/local/packages"
104                     role="button"
105                     class="cancel"
106                     >{{ $t("Close") }}</router-link
107                 >
108             </fieldset>
109         </div>
110     </div>
111 </template>
112
113 <script>
114 import EHoldingsPackageTitlesList from "./EHoldingsLocalPackageTitlesList.vue"
115 import { useAVStore } from "../../stores/authorised_values"
116 import { fetchLocalPackage } from "../../fetch"
117
118 export default {
119     setup() {
120         const format_date = $date
121
122         const AVStore = useAVStore()
123         const { get_lib_from_av } = AVStore
124
125         return {
126             format_date,
127             get_lib_from_av,
128         }
129     },
130     data() {
131         return {
132             erm_package: {
133                 package_id: null,
134                 vendor_id: null,
135                 name: '',
136                 external_id: '',
137                 package_type: '',
138                 content_type: '',
139                 created_on: null,
140                 resources: null,
141                 package_agreements: [],
142             },
143             initialized: false,
144         }
145     },
146     beforeRouteEnter(to, from, next) {
147         next(vm => {
148             vm.getPackage(to.params.package_id)
149         })
150     },
151     beforeRouteUpdate(to, from) {
152         this.erm_package = this.getPackage(to.params.package_id)
153     },
154     methods: {
155         async getPackage(package_id) {
156             const erm_package = await fetchLocalPackage(package_id)
157             this.erm_package = erm_package
158             this.initialized = true
159         },
160     },
161     components: {
162         EHoldingsPackageTitlesList,
163     },
164     name: "EHoldingsLocalPackagesShow",
165 }
166 </script>
167 <style scoped>
168 .action_links a {
169     padding-left: 0.2em;
170     font-size: 11px;
171 }
172 fieldset.rows label {
173     width: 25rem;
174 }
175 </style>