PMCORE-3090:UI - Task Actions (EHX) - Inbox List (and any Custom Case List that belongs to this list)
Corrections CR Conection to api modals with rest service CR
This commit is contained in:
15
package-lock.json
generated
15
package-lock.json
generated
@@ -10946,6 +10946,21 @@
|
|||||||
"resolved": "https://registry.npmjs.org/vue-upload-component/-/vue-upload-component-2.8.20.tgz",
|
"resolved": "https://registry.npmjs.org/vue-upload-component/-/vue-upload-component-2.8.20.tgz",
|
||||||
"integrity": "sha512-zrnJvULu4rnZe36Ib2/AZrI/h/mmNbUJZ+acZD652PyumzbvjCOQeYHe00sGifTdYjzzS66CwhTT+ubZ2D0Aow=="
|
"integrity": "sha512-zrnJvULu4rnZe36Ib2/AZrI/h/mmNbUJZ+acZD652PyumzbvjCOQeYHe00sGifTdYjzzS66CwhTT+ubZ2D0Aow=="
|
||||||
},
|
},
|
||||||
|
"vuedraggable": {
|
||||||
|
"version": "2.24.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
|
||||||
|
"integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
|
||||||
|
"requires": {
|
||||||
|
"sortablejs": "1.10.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"sortablejs": {
|
||||||
|
"version": "1.10.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
|
||||||
|
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"vuejs-auto-complete": {
|
"vuejs-auto-complete": {
|
||||||
"version": "0.9.0",
|
"version": "0.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/vuejs-auto-complete/-/vuejs-auto-complete-0.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/vuejs-auto-complete/-/vuejs-auto-complete-0.9.0.tgz",
|
||||||
|
|||||||
@@ -70,7 +70,10 @@ const services = {
|
|||||||
USERS: "/home/users",
|
USERS: "/home/users",
|
||||||
TASKS: "/home/tasks",
|
TASKS: "/home/tasks",
|
||||||
CATEGORIES: "/home/categories",
|
CATEGORIES: "/home/categories",
|
||||||
DEBUG_STATUS: "/home/process-debug-status?processUid={prj_uid}"
|
DEBUG_STATUS: "/home/process-debug-status?processUid={prj_uid}",
|
||||||
|
PAUSE_CASE: "/cases/{app_uid}/pause",
|
||||||
|
REASSIGN_CASE: "/cases/{app_uid}/reassign-case",
|
||||||
|
REASSIGN_USERS: "/light/userstoreassign/{task_uid}"
|
||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -260,6 +263,7 @@ export default {
|
|||||||
url,
|
url,
|
||||||
credentials = window.config.SYS_CREDENTIALS,
|
credentials = window.config.SYS_CREDENTIALS,
|
||||||
workspace = window.config.SYS_WORKSPACE,
|
workspace = window.config.SYS_WORKSPACE,
|
||||||
|
lang = window.config.SYS_LANG,
|
||||||
server = window.config.SYS_SERVER_API;
|
server = window.config.SYS_SERVER_API;
|
||||||
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
|
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
|
||||||
|
|
||||||
|
|||||||
@@ -151,6 +151,26 @@ export let cases = {
|
|||||||
window.config.SYS_URI +
|
window.config.SYS_URI +
|
||||||
`cases/ajaxListener`, params);
|
`cases/ajaxListener`, params);
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* Pause case with endpoint
|
||||||
|
* @param {*} data
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
pauseCase(data) {
|
||||||
|
return Api.update({
|
||||||
|
service: "PAUSE_CASE",
|
||||||
|
data: {
|
||||||
|
unpaused_date: data.unpausedDate,
|
||||||
|
unpaused_time: data.unpausedTime,
|
||||||
|
index: data.DEL_INDEX,
|
||||||
|
reason: data.reasonPause,
|
||||||
|
sendMail: data.notifyUser
|
||||||
|
},
|
||||||
|
keys: {
|
||||||
|
app_uid: data.APP_UID
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* Unpause case with endpoint
|
* Unpause case with endpoint
|
||||||
* @param {*} data
|
* @param {*} data
|
||||||
@@ -165,6 +185,29 @@ export let cases = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
getUserReassign(data) {
|
||||||
|
return Api.get({
|
||||||
|
service: "REASSIGN_USERS",
|
||||||
|
data: {},
|
||||||
|
keys: {
|
||||||
|
task_uid: data.TAS_UID
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reassingCase(data) {
|
||||||
|
return Api.update({
|
||||||
|
service: "REASSIGN_CASE",
|
||||||
|
data: {
|
||||||
|
usr_uid_target: data.userSelected,
|
||||||
|
del_index: data.DEL_INDEX,
|
||||||
|
reason: data.reasonReassign,
|
||||||
|
sendMail: data.notifyUser
|
||||||
|
},
|
||||||
|
keys: {
|
||||||
|
app_uid: data.APP_UID
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* Claim case with endpoint
|
* Claim case with endpoint
|
||||||
* @param {*} data
|
* @param {*} data
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<div
|
<div
|
||||||
class="v-inline"
|
class="v-inline"
|
||||||
v-show="showActions"
|
v-show="showActions"
|
||||||
|
ref="ellipsis"
|
||||||
>
|
>
|
||||||
<div class="buttonGroup">
|
<div class="buttonGroup">
|
||||||
<b-button
|
<b-button
|
||||||
@@ -91,7 +92,7 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
flex-direction: row-reverse;
|
flex-direction: row-reverse;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
z-index: 999999;
|
z-index: 999;
|
||||||
display: inline-flex !important;
|
display: inline-flex !important;
|
||||||
}
|
}
|
||||||
.btn-outline-info {
|
.btn-outline-info {
|
||||||
|
|||||||
@@ -486,7 +486,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Show options in the ellipsis
|
* Show options in the ellipsis
|
||||||
|
* @param {object} data
|
||||||
*/
|
*/
|
||||||
updateDataEllipsis(data) {
|
updateDataEllipsis(data) {
|
||||||
let that = this;
|
let that = this;
|
||||||
@@ -497,12 +498,16 @@ export default {
|
|||||||
open: {
|
open: {
|
||||||
name: "open",
|
name: "open",
|
||||||
icon: "far fa-edit",
|
icon: "far fa-edit",
|
||||||
fn: function() {console.log(data.APP_UID);}
|
fn: function() {
|
||||||
|
that.openCase(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
note: {
|
note: {
|
||||||
name: "case note",
|
name: "case note",
|
||||||
icon: "far fa-comments",
|
icon: "far fa-comments",
|
||||||
fn: function() {console.log("comments");}
|
fn: function() {
|
||||||
|
that.openCaseDetail(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
<div id="v-todo" ref="v-todo" class="v-container-todo">
|
<div id="v-todo" ref="v-todo" class="v-container-todo">
|
||||||
<button-fleft :data="newCase"></button-fleft>
|
<button-fleft :data="newCase"></button-fleft>
|
||||||
<modal-new-request ref="newRequest"></modal-new-request>
|
<modal-new-request ref="newRequest"></modal-new-request>
|
||||||
|
<ModalPauseCase ref="modal-pause-case"></ModalPauseCase>
|
||||||
|
<ModalReassignCase ref="modal-reassign-case"></ModalReassignCase>
|
||||||
<CasesFilter
|
<CasesFilter
|
||||||
:filters="filters"
|
:filters="filters"
|
||||||
:title="$t('ID_CASES_STATUS_TO_DO')"
|
:title="$t('ID_CASES_STATUS_TO_DO')"
|
||||||
@@ -48,9 +50,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
|
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
|
||||||
<div slot="actions" slot-scope="props">
|
<div slot="actions" slot-scope="props">
|
||||||
<button class="btn btn-success btn-sm" @click="openCase(props.row)">
|
<div @click="updateDataEllipsis(props.row)">
|
||||||
{{ $t("ID_OPEN_CASE") }}
|
<ellipsis ref="ellipsis" v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
|
||||||
</button>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-server-table>
|
</v-server-table>
|
||||||
<VueCardView
|
<VueCardView
|
||||||
@@ -59,8 +61,8 @@
|
|||||||
ref="vueCardView"
|
ref="vueCardView"
|
||||||
>
|
>
|
||||||
<div slot="detail" slot-scope="props">
|
<div slot="detail" slot-scope="props">
|
||||||
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
|
<div @click="updateDataEllipsis(props.row)">
|
||||||
<i class="fas fa-info-circle"></i>
|
<ellipsis v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div slot="case_number" slot-scope="props" class="v-card-text">
|
<div slot="case_number" slot-scope="props" class="v-card-text">
|
||||||
@@ -181,6 +183,10 @@ import MultiviewHeader from "../../components/headers/MultiviewHeader.vue";
|
|||||||
import VueCardView from "../../components/dataViews/vueCardView/VueCardView.vue";
|
import VueCardView from "../../components/dataViews/vueCardView/VueCardView.vue";
|
||||||
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
||||||
import defaultMixins from "./defaultMixins";
|
import defaultMixins from "./defaultMixins";
|
||||||
|
import Ellipsis from '../../components/utils/ellipsis.vue';
|
||||||
|
import ModalPauseCase from '../modal/ModalPauseCase.vue';
|
||||||
|
import ModalReassignCase from '../modal/ModalReassignCase.vue';
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Todo",
|
name: "Todo",
|
||||||
@@ -193,7 +199,10 @@ export default {
|
|||||||
CasesFilter,
|
CasesFilter,
|
||||||
MultiviewHeader,
|
MultiviewHeader,
|
||||||
VueCardView,
|
VueCardView,
|
||||||
VueListView
|
VueListView,
|
||||||
|
Ellipsis,
|
||||||
|
ModalPauseCase,
|
||||||
|
ModalReassignCase,
|
||||||
},
|
},
|
||||||
props: ["defaultOption", "filters"],
|
props: ["defaultOption", "filters"],
|
||||||
data() {
|
data() {
|
||||||
@@ -273,6 +282,10 @@ export default {
|
|||||||
PAUSED: this.$i18n.t("ID_PAUSED"),
|
PAUSED: this.$i18n.t("ID_PAUSED"),
|
||||||
UNASSIGNED: this.$i18n.t("ID_UNASSIGNED"),
|
UNASSIGNED: this.$i18n.t("ID_UNASSIGNED"),
|
||||||
},
|
},
|
||||||
|
dataEllipsis: {
|
||||||
|
buttons: {}
|
||||||
|
},
|
||||||
|
showEllipsis: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -507,6 +520,64 @@ export default {
|
|||||||
this.$refs["vueListView"].getData();
|
this.$refs["vueListView"].getData();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* Show modal to pause a case
|
||||||
|
* @param {objec} data
|
||||||
|
*/
|
||||||
|
showModalPause(data) {
|
||||||
|
this.$refs["modal-pause-case"].data = data;
|
||||||
|
this.$refs["modal-pause-case"].show();
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Show modal to reassign a case
|
||||||
|
* @param {objec} data
|
||||||
|
*/
|
||||||
|
showModalReassign(data) {
|
||||||
|
this.$refs["modal-reassign-case"].data = data;
|
||||||
|
this.$refs["modal-reassign-case"].show();
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Show options in the ellipsis
|
||||||
|
* @param {objec} data
|
||||||
|
*/
|
||||||
|
updateDataEllipsis(data) {
|
||||||
|
let that = this;
|
||||||
|
this.showEllipsis = !this.showEllipsis;
|
||||||
|
if (this.showEllipsis) {
|
||||||
|
this.dataEllipsis = {
|
||||||
|
buttons: {
|
||||||
|
open: {
|
||||||
|
name: "open",
|
||||||
|
icon: "far fa-edit",
|
||||||
|
fn: function() {
|
||||||
|
that.openCase(data)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
note: {
|
||||||
|
name: "case note",
|
||||||
|
icon: "far fa-comments",
|
||||||
|
fn: function() {
|
||||||
|
that.openCaseDetail(data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reassign: {
|
||||||
|
name: "reassign case",
|
||||||
|
icon: "fas fa-undo",
|
||||||
|
fn: function() {
|
||||||
|
that.showModalReassign(data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pause: {
|
||||||
|
name: "pause case",
|
||||||
|
icon: "far fa-pause-circle",
|
||||||
|
fn: function() {
|
||||||
|
that.showModalPause(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<div id="v-paused" ref="v-paused" class="v-container-paused">
|
<div id="v-paused" ref="v-paused" class="v-container-paused">
|
||||||
<button-fleft :data="newCase"></button-fleft>
|
<button-fleft :data="newCase"></button-fleft>
|
||||||
<modal-new-request ref="newRequest"></modal-new-request>
|
<modal-new-request ref="newRequest"></modal-new-request>
|
||||||
|
<ModalReassignCase ref="modal-reassign-case"></ModalReassignCase>
|
||||||
<CasesFilter
|
<CasesFilter
|
||||||
:filters="filters"
|
:filters="filters"
|
||||||
:title="$t('ID_PAUSED')"
|
:title="$t('ID_PAUSED')"
|
||||||
@@ -184,6 +185,7 @@ import VueCardView from "../../components/dataViews/vueCardView/VueCardView.vue"
|
|||||||
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
||||||
import defaultMixins from "./defaultMixins";
|
import defaultMixins from "./defaultMixins";
|
||||||
import Ellipsis from '../../components/utils/ellipsis.vue';
|
import Ellipsis from '../../components/utils/ellipsis.vue';
|
||||||
|
import ModalReassignCase from '../modal/ModalReassignCase.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Paused",
|
name: "Paused",
|
||||||
@@ -198,7 +200,8 @@ export default {
|
|||||||
Ellipsis,
|
Ellipsis,
|
||||||
MultiviewHeader,
|
MultiviewHeader,
|
||||||
VueCardView,
|
VueCardView,
|
||||||
VueListView
|
VueListView,
|
||||||
|
ModalReassignCase,
|
||||||
},
|
},
|
||||||
props: ["defaultOption", "filters"],
|
props: ["defaultOption", "filters"],
|
||||||
data() {
|
data() {
|
||||||
@@ -515,8 +518,17 @@ export default {
|
|||||||
this.$refs["vueListView"].getData();
|
this.$refs["vueListView"].getData();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* Show modal to reassign a case
|
||||||
|
* @param {object} data
|
||||||
|
*/
|
||||||
|
showModalReassign(data) {
|
||||||
|
this.$refs["modal-reassign-case"].data = data;
|
||||||
|
this.$refs["modal-reassign-case"].show();
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* Show options in the ellipsis
|
* Show options in the ellipsis
|
||||||
|
* @param {object} data
|
||||||
*/
|
*/
|
||||||
updateDataEllipsis(data) {
|
updateDataEllipsis(data) {
|
||||||
let that = this;
|
let that = this;
|
||||||
@@ -527,17 +539,23 @@ export default {
|
|||||||
note: {
|
note: {
|
||||||
name: "case note",
|
name: "case note",
|
||||||
icon: "far fa-comments",
|
icon: "far fa-comments",
|
||||||
fn: function() {console.log("comments");}
|
fn: function() {
|
||||||
|
that.openCaseDetail(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
play: {
|
play: {
|
||||||
name: "play case",
|
name: "play case",
|
||||||
icon: "far fa-play-circle",
|
icon: "far fa-play-circle",
|
||||||
fn: function() {console.log("play case");}
|
fn: function() {
|
||||||
|
that.showModalUnpauseCase(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
reassign: {
|
reassign: {
|
||||||
name: "reassign case",
|
name: "reassign case",
|
||||||
icon: "fas fa-redo",
|
icon: "fas fa-undo",
|
||||||
fn: function() {console.log("reassign case");}
|
fn: function() {
|
||||||
|
that.showModalReassign(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,6 +162,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</VueListView>
|
</VueListView>
|
||||||
<ModalClaimCase ref="modal-claim-case"></ModalClaimCase>
|
<ModalClaimCase ref="modal-claim-case"></ModalClaimCase>
|
||||||
|
<ModalPauseCase ref="modal-pause-case"></ModalPauseCase>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -179,6 +180,7 @@ import MultiviewHeader from "../../components/headers/MultiviewHeader.vue";
|
|||||||
import VueCardView from "../../components/dataViews/vueCardView/VueCardView.vue";
|
import VueCardView from "../../components/dataViews/vueCardView/VueCardView.vue";
|
||||||
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
import VueListView from "../../components/dataViews/vueListView/VueListView.vue";
|
||||||
import defaultMixins from "./defaultMixins";
|
import defaultMixins from "./defaultMixins";
|
||||||
|
import ModalPauseCase from '../modal/ModalPauseCase.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Unassigned",
|
name: "Unassigned",
|
||||||
@@ -193,7 +195,8 @@ export default {
|
|||||||
Ellipsis,
|
Ellipsis,
|
||||||
MultiviewHeader,
|
MultiviewHeader,
|
||||||
VueCardView,
|
VueCardView,
|
||||||
VueListView
|
VueListView,
|
||||||
|
ModalPauseCase,
|
||||||
},
|
},
|
||||||
props: ["defaultOption", "filters"],
|
props: ["defaultOption", "filters"],
|
||||||
data() {
|
data() {
|
||||||
@@ -486,17 +489,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* set data by default in the ellipsis component
|
* Show modal to pause a case
|
||||||
|
* @param {objec} data
|
||||||
*/
|
*/
|
||||||
setDataEllipsis() {
|
showModalPause(data) {
|
||||||
this.dataEllipsis = {
|
this.$refs["modal-pause-case"].data = data;
|
||||||
showNote: true,
|
this.$refs["modal-pause-case"].show();
|
||||||
showPause: true,
|
|
||||||
showClaim: true
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Show options in the ellipsis
|
* Show options in the ellipsis
|
||||||
|
* @param {object} data
|
||||||
*/
|
*/
|
||||||
updateDataEllipsis(data) {
|
updateDataEllipsis(data) {
|
||||||
let that = this;
|
let that = this;
|
||||||
@@ -507,17 +509,23 @@ export default {
|
|||||||
note: {
|
note: {
|
||||||
name: "case note",
|
name: "case note",
|
||||||
icon: "far fa-comments",
|
icon: "far fa-comments",
|
||||||
fn: function() {console.log("comments");}
|
fn: function() {
|
||||||
|
that.openCaseDetail(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
pause: {
|
pause: {
|
||||||
name: "pause case",
|
name: "pause case",
|
||||||
icon: "far fa-pause-circle",
|
icon: "far fa-pause-circle",
|
||||||
fn: function() {console.log("pause case");}
|
fn: function() {
|
||||||
|
that.showModalPause(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
claim: {
|
claim: {
|
||||||
name: "claim case",
|
name: "claim case",
|
||||||
icon: "fas fa-briefcase",
|
icon: "fas fa-briefcase",
|
||||||
fn: function() {console.log("claim case");}
|
fn: function() {
|
||||||
|
that.claimCase(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
163
resources/assets/js/home/modal/ModalPauseCase.vue
Normal file
163
resources/assets/js/home/modal/ModalPauseCase.vue
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<b-modal
|
||||||
|
ref="modal-pause-case"
|
||||||
|
hide-footer
|
||||||
|
size="lg"
|
||||||
|
>
|
||||||
|
<template v-slot:modal-title>
|
||||||
|
{{ $t('ID_PAUSE_CASE') }}
|
||||||
|
<i class="far fa-pause-circle"></i>
|
||||||
|
</template>
|
||||||
|
<b-container fluid>
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="pauseDate">{{ $t('ID_PAUSE_DATE') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="5">
|
||||||
|
<b-form-datepicker
|
||||||
|
disabled
|
||||||
|
id="pauseDate"
|
||||||
|
class="mb-2"
|
||||||
|
v-model="pauseData.pauseDate"
|
||||||
|
:locale="locale"
|
||||||
|
:date-format-options="{ year: 'numeric', month: 'numeric', day: 'numeric' }"
|
||||||
|
></b-form-datepicker>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="4">
|
||||||
|
<input type="time" id="pauseTime" v-model="pauseData.pauseTime" class="form-control" disabled>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="unpauseDate">{{ $t('ID_UNPAUSE_DATE') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="5">
|
||||||
|
<b-form-datepicker
|
||||||
|
id="unpauseDate"
|
||||||
|
class="mb-2"
|
||||||
|
v-model="pauseData.unpauseDate"
|
||||||
|
:locale="locale"
|
||||||
|
:min="minDate"
|
||||||
|
:date-format-options="{ year: 'numeric', month: 'numeric', day: 'numeric' }"
|
||||||
|
></b-form-datepicker>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="4">
|
||||||
|
<input type="time" v-model="pauseData.unpauseTime" id="unpauseTime" class="form-control">
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="reasonPause">{{ $t('ID_REASON_PAUSE') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="9">
|
||||||
|
<b-form-textarea
|
||||||
|
id="reasonPause"
|
||||||
|
v-model="pauseData.reasonPause"
|
||||||
|
rows="3"
|
||||||
|
max-rows="6"
|
||||||
|
></b-form-textarea>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
|
<b-row>
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="notifyUser">{{ $t('ID_NOTIFY_USERS_CASE') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="8">
|
||||||
|
<b-form-checkbox v-model="pauseData.nofitfyUser" id="notifyUser" name="notifyUser" switch>
|
||||||
|
</b-form-checkbox>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
</b-container>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<div class="float-right">
|
||||||
|
<b-button
|
||||||
|
variant="danger"
|
||||||
|
data-dismiss="modal"
|
||||||
|
@click="cancel"
|
||||||
|
>
|
||||||
|
{{ $t("ID_CANCEL") }}
|
||||||
|
</b-button>
|
||||||
|
<b-button
|
||||||
|
variant="success"
|
||||||
|
@click="pauseCase"
|
||||||
|
>
|
||||||
|
{{ $t("ID_PAUSE") }}
|
||||||
|
</b-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</b-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import api from "./../../api/index";
|
||||||
|
export default {
|
||||||
|
name: "ModalPauseCase",
|
||||||
|
components: {},
|
||||||
|
props: {},
|
||||||
|
mounted() {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
data: null,
|
||||||
|
locale: 'en-US',
|
||||||
|
pauseData: {
|
||||||
|
unpauseDate: '',
|
||||||
|
unpauseTime: '',
|
||||||
|
reasonPause: '',
|
||||||
|
nofitfyUser: '',
|
||||||
|
pauseDate: '',
|
||||||
|
pauseTime: ''
|
||||||
|
},
|
||||||
|
minDate: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
classBtn(cls) {
|
||||||
|
return "btn v-btn-request " + cls;
|
||||||
|
},
|
||||||
|
show() {
|
||||||
|
this.setDateTime();
|
||||||
|
this.$refs["modal-pause-case"].show();
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.$refs["modal-pause-case"].hide();
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Set DateTime with current time as default
|
||||||
|
*/
|
||||||
|
setDateTime() {
|
||||||
|
var now = new Date(),
|
||||||
|
nextDay = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1),
|
||||||
|
today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
|
||||||
|
this.minDate = nextDay;
|
||||||
|
this.pauseData.pauseDate = today;
|
||||||
|
this.pauseData.pauseTime = now.getHours() + ":" + now.getMinutes();
|
||||||
|
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Pause the case
|
||||||
|
*/
|
||||||
|
pauseCase() {
|
||||||
|
let that = this;
|
||||||
|
this.data.unpausedDate = this.pauseData.unpauseDate;
|
||||||
|
this.data.unpausedTime = this.pauseData.unpauseTime;
|
||||||
|
this.data.nofitfyUser = this.pauseData.nofitfyUser;
|
||||||
|
this.data.reasonPause = this.pauseData.reasonPause;
|
||||||
|
|
||||||
|
api.cases.pauseCase(this.data).then((response) => {
|
||||||
|
if (response.statusText == "OK") {
|
||||||
|
that.$refs["modal-pause-case"].hide();
|
||||||
|
that.$parent.$refs["vueTable"].getData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
134
resources/assets/js/home/modal/ModalReassignCase.vue
Normal file
134
resources/assets/js/home/modal/ModalReassignCase.vue
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<b-modal
|
||||||
|
ref="modal-reassign-case"
|
||||||
|
hide-footer
|
||||||
|
size="lg"
|
||||||
|
>
|
||||||
|
<template v-slot:modal-title>
|
||||||
|
{{ $t('ID_REASSIGN_CASE') }}
|
||||||
|
<i class="fas fa-undo"></i>
|
||||||
|
</template>
|
||||||
|
<b-container fluid>
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="selectUser">{{ $t('ID_SELECT_USER') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="9">
|
||||||
|
<b-form-select v-model="userSelected" :options="users"></b-form-select>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="reasonReassign">{{ $t('ID_REASON_REASSIGN') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="9">
|
||||||
|
<b-form-textarea
|
||||||
|
id="reasonReassign"
|
||||||
|
v-model="reasonReassign"
|
||||||
|
rows="3"
|
||||||
|
max-rows="6"
|
||||||
|
></b-form-textarea>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
|
<b-row class="my-1">
|
||||||
|
<b-col sm="3">
|
||||||
|
<label for="notifyUser">{{ $t('ID_NOTIFY_USERS_CASE') }}</label>
|
||||||
|
</b-col>
|
||||||
|
<b-col sm="9">
|
||||||
|
<b-form-checkbox v-model="notifyUser" id="notifyUser" name="notifyUser" switch>
|
||||||
|
</b-form-checkbox>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
</b-container>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<div class="float-right">
|
||||||
|
<b-button
|
||||||
|
variant="danger"
|
||||||
|
data-dismiss="modal"
|
||||||
|
@click="cancel"
|
||||||
|
>
|
||||||
|
{{ $t("ID_CANCEL") }}
|
||||||
|
</b-button>
|
||||||
|
<b-button
|
||||||
|
variant="success"
|
||||||
|
@click="reassignCase"
|
||||||
|
>
|
||||||
|
{{ $t("ID_PAUSE") }}
|
||||||
|
</b-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</b-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import api from "./../../api/index";
|
||||||
|
import utils from "../../utils/utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ModalPauseCase",
|
||||||
|
components: {},
|
||||||
|
props: {},
|
||||||
|
mounted() {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
data: null,
|
||||||
|
locale: 'en-US',
|
||||||
|
users: [],
|
||||||
|
reasonReassign: null,
|
||||||
|
userSelected: null,
|
||||||
|
notifyUser: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
classBtn(cls) {
|
||||||
|
return "btn v-btn-request " + cls;
|
||||||
|
},
|
||||||
|
show() {
|
||||||
|
this.getUsersReassign();
|
||||||
|
this.$refs["modal-reassign-case"].show();
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.$refs["modal-reassign-case"].hide();
|
||||||
|
},
|
||||||
|
getUsersReassign() {
|
||||||
|
let that = this;
|
||||||
|
api.cases.getUserReassign(this.data).then((response) => {
|
||||||
|
var users = response.data.data,
|
||||||
|
i;
|
||||||
|
if (response.statusText == "OK") {
|
||||||
|
for (i = 0; i < users.length; i += 1) {
|
||||||
|
that.users.push({
|
||||||
|
value: users[i].USR_UID,
|
||||||
|
text: utils.userNameDisplayFormat({
|
||||||
|
userName: users[i].USR_USERNAME || "",
|
||||||
|
firstName: users[i].USR_FIRSTNAME || "",
|
||||||
|
lastName: users[i].USR_LASTNAME || "",
|
||||||
|
format: window.config.FORMATS.format || null
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reassignCase() {
|
||||||
|
let that = this;
|
||||||
|
this.data.userSelected = this.userSelected;
|
||||||
|
this.data.reasonReassign = this.reasonReassign;
|
||||||
|
this.notifyUser = this.notifyUser;
|
||||||
|
api.cases.reassingCase(this.data).then((response) => {
|
||||||
|
if (response.statusText == "OK") {
|
||||||
|
that.$refs["modal-reassign-case"].hide();
|
||||||
|
that.$parent.$refs["vueTable"].getData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
display: block;
|
display: block;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
padding: 8px;
|
padding: 8px 8px 8px 0px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
@@ -88,12 +88,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.v-sidebar-menu .vsm--link_mobile-item {
|
.v-sidebar-menu .vsm--link_mobile-item {
|
||||||
background-color: transparent
|
background-color: #3397E1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-sidebar-menu .vsm--link_mobile-item.vsm--link_hover,
|
.v-sidebar-menu .vsm--link_mobile-item.vsm--link_hover,
|
||||||
.v-sidebar-menu .vsm--link_mobile-item:hover {
|
.v-sidebar-menu .vsm--link_mobile-item:hover {
|
||||||
background-color: transparent !important
|
background-color: #5aa4c4 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-sidebar-menu .vsm--title {
|
.v-sidebar-menu .vsm--title {
|
||||||
|
|||||||
@@ -24563,6 +24563,12 @@ msgstr "Please select a table to export."
|
|||||||
msgid "Select a template file"
|
msgid "Select a template file"
|
||||||
msgstr "Select a template file"
|
msgstr "Select a template file"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_SELECT_USER
|
||||||
|
#: LABEL/ID_SELECT_USER
|
||||||
|
msgid "Select a User"
|
||||||
|
msgstr "Select a User"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_SELECT_USER_OR_GROUP
|
# LABEL/ID_SELECT_USER_OR_GROUP
|
||||||
#: LABEL/ID_SELECT_USER_OR_GROUP
|
#: LABEL/ID_SELECT_USER_OR_GROUP
|
||||||
|
|||||||
@@ -61008,6 +61008,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_SELECT_STATUS','en','Select status...','2014-01-15') ,
|
( 'LABEL','ID_SELECT_STATUS','en','Select status...','2014-01-15') ,
|
||||||
( 'LABEL','ID_SELECT_TABLE','en','Please select a table to export.','2014-01-15') ,
|
( 'LABEL','ID_SELECT_TABLE','en','Please select a table to export.','2014-01-15') ,
|
||||||
( 'LABEL','ID_SELECT_TEMPLATE_FILE','en','Select a template file','2014-01-15') ,
|
( 'LABEL','ID_SELECT_TEMPLATE_FILE','en','Select a template file','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_SELECT_USER','en','Select a User','2021-07-23') ,
|
||||||
( 'LABEL','ID_SELECT_USER_OR_GROUP','en','Please select the name of a user or a group in the Group or User field','2017-10-19') ,
|
( 'LABEL','ID_SELECT_USER_OR_GROUP','en','Please select the name of a user or a group in the Group or User field','2017-10-19') ,
|
||||||
( 'LABEL','ID_SELECT_VARIABLE','en','Select Variable','2017-10-27') ,
|
( 'LABEL','ID_SELECT_VARIABLE','en','Select Variable','2017-10-27') ,
|
||||||
( 'LABEL','ID_SELECT_WORKSPACE','en','Select a workspace','2014-01-15') ,
|
( 'LABEL','ID_SELECT_WORKSPACE','en','Select a workspace','2014-01-15') ,
|
||||||
|
|||||||
Reference in New Issue
Block a user