@iservice365/layer-common 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/components/ServiceProviderMain.vue +120 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
rounded="pill"
|
|
18
18
|
variant="tonal"
|
|
19
19
|
size="large"
|
|
20
|
+
@click="
|
|
21
|
+
(createInviteDialog = true),
|
|
22
|
+
setServiceProvider({ mode: 'invite' })
|
|
23
|
+
"
|
|
20
24
|
>
|
|
21
25
|
Invite
|
|
22
26
|
</v-btn>
|
|
@@ -99,16 +103,6 @@
|
|
|
99
103
|
</v-row>
|
|
100
104
|
|
|
101
105
|
<v-dialog v-model="createDialog" width="500" persistent>
|
|
102
|
-
<!-- <ServiceProviderFormCreate
|
|
103
|
-
@cancel="createDialog = false"
|
|
104
|
-
:org="props.orgId"
|
|
105
|
-
:type="props.type"
|
|
106
|
-
:site-id="props.siteId"
|
|
107
|
-
:service-provider-org-id="props.orgId"
|
|
108
|
-
@success="success()"
|
|
109
|
-
@success:create-more="_getAllServiceProvider()"
|
|
110
|
-
@notify="onNotify"
|
|
111
|
-
/> -->
|
|
112
106
|
<v-card width="100%">
|
|
113
107
|
<v-toolbar>
|
|
114
108
|
<v-row no-gutters class="fill-height px-6" align="center">
|
|
@@ -238,6 +232,96 @@
|
|
|
238
232
|
</v-card>
|
|
239
233
|
</v-dialog>
|
|
240
234
|
|
|
235
|
+
<v-dialog v-model="createInviteDialog" width="500" persistent>
|
|
236
|
+
<v-card width="100%">
|
|
237
|
+
<v-toolbar>
|
|
238
|
+
<v-row no-gutters class="fill-height px-6" align="center">
|
|
239
|
+
<span class="font-weight-bold text-h5">
|
|
240
|
+
Invite Service Provider
|
|
241
|
+
</span>
|
|
242
|
+
</v-row>
|
|
243
|
+
</v-toolbar>
|
|
244
|
+
<v-card-text style="max-height: 100vh; overflow-y: auto">
|
|
245
|
+
<v-form
|
|
246
|
+
v-model="validServiceProvider"
|
|
247
|
+
:disabled="disableServiceProvider"
|
|
248
|
+
>
|
|
249
|
+
<v-row no-gutters class="px-4">
|
|
250
|
+
<v-col cols="12" class="mt-2">
|
|
251
|
+
<v-row no-gutters>
|
|
252
|
+
<InputLabel class="text-capitalize" title="Email" required />
|
|
253
|
+
<v-col cols="12">
|
|
254
|
+
<v-text-field
|
|
255
|
+
v-model="serviceProvider.email"
|
|
256
|
+
density="comfortable"
|
|
257
|
+
:rules="[requiredRule, emailRule]"
|
|
258
|
+
></v-text-field>
|
|
259
|
+
</v-col>
|
|
260
|
+
</v-row>
|
|
261
|
+
</v-col>
|
|
262
|
+
|
|
263
|
+
<v-col cols="12">
|
|
264
|
+
<v-checkbox
|
|
265
|
+
v-model="createMoreServiceProvider"
|
|
266
|
+
density="comfortable"
|
|
267
|
+
hide-details
|
|
268
|
+
>
|
|
269
|
+
<template #label>
|
|
270
|
+
<span class="text-subtitle-2 font-weight-bold">
|
|
271
|
+
Invite more
|
|
272
|
+
</span>
|
|
273
|
+
</template>
|
|
274
|
+
</v-checkbox>
|
|
275
|
+
</v-col>
|
|
276
|
+
|
|
277
|
+
<v-col cols="12" class="my-2">
|
|
278
|
+
<v-row no-gutters>
|
|
279
|
+
<v-col cols="12" class="text-center">
|
|
280
|
+
<span
|
|
281
|
+
class="text-none text-subtitle-2 font-weight-medium text-error"
|
|
282
|
+
>
|
|
283
|
+
{{ messageServiceProvider }}
|
|
284
|
+
</span>
|
|
285
|
+
</v-col>
|
|
286
|
+
</v-row>
|
|
287
|
+
</v-col>
|
|
288
|
+
</v-row>
|
|
289
|
+
</v-form>
|
|
290
|
+
</v-card-text>
|
|
291
|
+
|
|
292
|
+
<v-toolbar>
|
|
293
|
+
<v-row class="px-6">
|
|
294
|
+
<v-col cols="6">
|
|
295
|
+
<v-btn
|
|
296
|
+
block
|
|
297
|
+
variant="text"
|
|
298
|
+
class="text-none"
|
|
299
|
+
size="large"
|
|
300
|
+
@click="setServiceProvider({ mode: 'invite', dialog: false })"
|
|
301
|
+
>
|
|
302
|
+
Cancel
|
|
303
|
+
</v-btn>
|
|
304
|
+
</v-col>
|
|
305
|
+
|
|
306
|
+
<v-col cols="6">
|
|
307
|
+
<v-btn
|
|
308
|
+
block
|
|
309
|
+
variant="flat"
|
|
310
|
+
color="black"
|
|
311
|
+
class="text-none"
|
|
312
|
+
size="large"
|
|
313
|
+
:disabled="!validServiceProvider"
|
|
314
|
+
:loading="disableServiceProvider"
|
|
315
|
+
@click="submitServiceProviderInvite()"
|
|
316
|
+
>
|
|
317
|
+
Submit
|
|
318
|
+
</v-btn>
|
|
319
|
+
</v-col>
|
|
320
|
+
</v-row>
|
|
321
|
+
</v-toolbar>
|
|
322
|
+
</v-card>
|
|
323
|
+
</v-dialog>
|
|
324
|
+
|
|
241
325
|
<Snackbar v-model="messageSnackbar" :text="message" :color="messageColor" />
|
|
242
326
|
</template>
|
|
243
327
|
|
|
@@ -349,6 +433,7 @@ watchEffect(() => {
|
|
|
349
433
|
});
|
|
350
434
|
|
|
351
435
|
const createDialog = ref(false);
|
|
436
|
+
const createInviteDialog = ref(false);
|
|
352
437
|
|
|
353
438
|
const success = () => {
|
|
354
439
|
createDialog.value = false;
|
|
@@ -376,6 +461,7 @@ function setServiceProvider({
|
|
|
376
461
|
} = {}) {
|
|
377
462
|
if (mode === "invite") {
|
|
378
463
|
// dialogServiceProviderInvite.value = dialog;
|
|
464
|
+
createInviteDialog.value = dialog;
|
|
379
465
|
}
|
|
380
466
|
|
|
381
467
|
if (mode === "add") {
|
|
@@ -422,4 +508,28 @@ async function submitServiceProviderAdd() {
|
|
|
422
508
|
disableServiceProvider.value = false;
|
|
423
509
|
}
|
|
424
510
|
}
|
|
511
|
+
|
|
512
|
+
async function submitServiceProviderInvite() {
|
|
513
|
+
disableServiceProvider.value = true;
|
|
514
|
+
messageServiceProvider.value = "";
|
|
515
|
+
try {
|
|
516
|
+
await inviteServiceProvider({
|
|
517
|
+
email: serviceProvider.value.email,
|
|
518
|
+
orgId: props.orgId,
|
|
519
|
+
siteId: props.siteId,
|
|
520
|
+
siteName: site.value?.name ?? "",
|
|
521
|
+
});
|
|
522
|
+
if (createMoreServiceProvider.value) {
|
|
523
|
+
serviceProvider.value.email = "";
|
|
524
|
+
} else {
|
|
525
|
+
await setServiceProvider({ mode: "invite", dialog: false });
|
|
526
|
+
}
|
|
527
|
+
} catch (error: any) {
|
|
528
|
+
messageServiceProvider.value =
|
|
529
|
+
error?.response?._data?.message ??
|
|
530
|
+
"An error occurred while inviting the service provider.";
|
|
531
|
+
} finally {
|
|
532
|
+
disableServiceProvider.value = false;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
425
535
|
</script>
|