PMCORE-2600

This commit is contained in:
Henry Jordan
2020-12-18 19:26:38 +00:00
parent 3711a438e1
commit 4cd3cc6dc5
7 changed files with 460 additions and 50 deletions

View File

@@ -12,36 +12,28 @@ export let cases = {
todo(data) {
return Api.get({
service: "TODO_LIST",
params: {
paged: data.paged
},
params: data,
keys: {}
});
},
draft(data) {
return Api.get({
service: "DRAFT_LIST",
params: {
paged: data.paged
},
params: data,
keys: {}
});
},
paused(data) {
return Api.get({
service: "PAUSED_LIST",
params: {
paged: data.paged
},
params: data,
keys: {}
});
},
unassigned(data) {
return Api.get({
service: "UNASSIGNED_LIST",
params: {
paged: data.paged
},
params: data,
keys: {}
});
},
@@ -95,15 +87,15 @@ export let cases = {
window.config.SYS_URI +
`appProxy/getNotesList`, params);
},
pendingtask(data){
pendingtask(data) {
return axios.get(window.config.SYS_SERVER +
'/api/1.0/' +
window.config.SYS_WORKSPACE +
'/home/' + data.APP_NUMBER + '/pending-tasks', {
headers: {
'Authorization': 'Bearer ' + window.config.SYS_CREDENTIALS.accessToken
}
});
headers: {
'Authorization': 'Bearer ' + window.config.SYS_CREDENTIALS.accessToken
}
});
},
start(dt) {
var params = new URLSearchParams();
@@ -179,7 +171,7 @@ export let casesHeader = {
'/home/counters', {
headers: {
'Authorization': 'Bearer ' + window.config.SYS_CREDENTIALS.accessToken
}
}
});
}
};

File diff suppressed because it is too large Load Diff

View File

@@ -20,9 +20,11 @@
</template>
<div>
<slot name="body"></slot>
<div class="float-right">
<b-button @click="onClose" size="sm" variant="danger"> {{$t('ID_CANCEL')}}</b-button>
<b-button @click="onSave" size="sm" variant="primary">{{$t('ID_SAVE')}}</b-button>
<div class="v-popover-footer">
<div class="float-right">
<b-button @click="onClose" size="sm" variant="danger"> {{$t('ID_CANCEL')}}</b-button>
<b-button @click="onSave" size="sm" variant="success">{{$t('ID_SAVE')}}</b-button>
</div>
</div>
</div>
</b-popover>
@@ -56,4 +58,8 @@ export default {
max-width: 650px !important;
min-width: 400px !important;
}
.v-popover-footer{
display: flow-root;
}
</style>

View File

@@ -2,7 +2,11 @@
<div id="v-draft" ref="v-draft" class="v-container-draft">
<button-fleft :data="newCase"></button-fleft>
<modal-new-request ref="newRequest"></modal-new-request>
<CasesFilter
:filters="filters"
@onRemoveFilter="onRemoveFilter"
@onUpdateFilters="onUpdateFilters"
/>
<v-server-table
:data="tableData"
:columns="columns"
@@ -40,6 +44,7 @@
import HeaderCounter from "../components/home/HeaderCounter.vue";
import ButtonFleft from "../components/home/ButtonFleft.vue";
import ModalNewRequest from "./ModalNewRequest.vue";
import CasesFilter from "../components/search/CasesFilter";
import TaskCell from "../components/vuetable/TaskCell.vue";
import api from "./../api/index";
@@ -50,6 +55,7 @@ export default {
ButtonFleft,
ModalNewRequest,
TaskCell,
CasesFilter,
},
props: {},
data() {
@@ -71,7 +77,9 @@ export default {
"actions",
],
tableData: [],
filters: {},
options: {
filterable: false,
headings: {
case_number: this.$i18n.t("ID_MYCASE_NUMBER"),
case_title: this.$i18n.t("ID_CASE_TITLE"),
@@ -117,13 +125,20 @@ export default {
dt,
paged,
limit = data.limit,
start = data.page === 1 ? 0 : limit * (data.page - 1);
paged = start + ',' + limit;
start = data.page === 1 ? 0 : limit * (data.page - 1),
filters = {};
paged = start + "," + limit;
filters = {
paged: paged,
};
_.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value;
});
return new Promise((resolutionFunc, rejectionFunc) => {
api.cases
.draft({
paged: paged
})
.draft(filters)
.then((response) => {
dt = that.formatDataResponse(response.data.data);
resolutionFunc({
@@ -225,11 +240,20 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");
});
},
onRemoveFilter(data) {},
onUpdateFilters(data) {
this.filters = data.params;
if (data.refresh) {
this.$nextTick(() => {
this.$refs["vueTable"].getData();
});
}
},
},
};
</script>

View File

@@ -2,7 +2,11 @@
<div id="v-paused" ref="v-paused" class="v-container-paused">
<button-fleft :data="newCase"></button-fleft>
<modal-new-request ref="newRequest"></modal-new-request>
<CasesFilter
:filters="filters"
@onRemoveFilter="onRemoveFilter"
@onUpdateFilters="onUpdateFilters"
/>
<v-server-table
:data="tableData"
:columns="columns"
@@ -61,6 +65,7 @@
import HeaderCounter from "../components/home/HeaderCounter.vue";
import ButtonFleft from "../components/home/ButtonFleft.vue";
import ModalNewRequest from "./ModalNewRequest.vue";
import CasesFilter from "../components/search/CasesFilter";
import TaskCell from "../components/vuetable/TaskCell.vue";
import ModalUnpauseCase from "./modal/ModalUnpauseCase.vue";
import api from "./../api/index";
@@ -73,6 +78,7 @@ export default {
ModalNewRequest,
TaskCell,
ModalUnpauseCase,
CasesFilter,
},
props: {},
data() {
@@ -97,7 +103,9 @@ export default {
"actions",
],
tableData: [],
filters: {},
options: {
filterable: false,
headings: {
case_number: this.$i18n.t("ID_MYCASE_NUMBER"),
case_title: this.$i18n.t("ID_CASE_TITLE"),
@@ -146,13 +154,20 @@ export default {
dt,
paged,
limit = data.limit,
start = data.page === 1 ? 0 : limit * (data.page - 1);
paged = start + ',' + limit;
start = data.page === 1 ? 0 : limit * (data.page - 1),
filters = {};
paged = start + "," + limit;
filters = {
paged: paged,
};
_.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value;
});
return new Promise((resolutionFunc, rejectionFunc) => {
api.cases
.paused({
paged: paged
})
.paused(filters)
.then((response) => {
dt = that.formatDataResponse(response.data.data);
resolutionFunc({
@@ -239,7 +254,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");
});
@@ -248,6 +263,15 @@ export default {
this.$refs["modal-unpause-case"].data = item;
this.$refs["modal-unpause-case"].show();
},
onRemoveFilter(data) {},
onUpdateFilters(data) {
this.filters = data.params;
if (data.refresh) {
this.$nextTick(() => {
this.$refs["vueTable"].getData();
});
}
},
},
};
</script>

View File

@@ -2,7 +2,11 @@
<div id="v-todo" ref="v-todo" class="v-container-todo">
<button-fleft :data="newCase"></button-fleft>
<modal-new-request ref="newRequest"></modal-new-request>
<CasesFilter
:filters="filters"
@onRemoveFilter="onRemoveFilter"
@onUpdateFilters="onUpdateFilters"
/>
<v-server-table
:data="tableData"
:columns="columns"
@@ -58,6 +62,7 @@ import HeaderCounter from "../components/home/HeaderCounter.vue";
import ButtonFleft from "../components/home/ButtonFleft.vue";
import ModalNewRequest from "./ModalNewRequest.vue";
import TaskCell from "../components/vuetable/TaskCell.vue";
import CasesFilter from "../components/search/CasesFilter";
import api from "./../api/index";
export default {
@@ -67,8 +72,8 @@ export default {
ButtonFleft,
ModalNewRequest,
TaskCell,
CasesFilter,
},
props: {},
data() {
return {
newCase: {
@@ -91,7 +96,9 @@ export default {
"actions",
],
tableData: [],
filters: {},
options: {
filterable: false,
headings: {
case_number: this.$i18n.t("ID_MYCASE_NUMBER"),
case_title: this.$i18n.t("ID_CASE_TITLE"),
@@ -139,13 +146,20 @@ export default {
dt,
paged,
limit = data.limit,
start = data.page === 1 ? 0 : limit * (data.page - 1);
paged = start + ',' + limit;
start = data.page === 1 ? 0 : limit * (data.page - 1),
filters = {};
paged = start + "," + limit;
filters = {
paged: paged,
};
_.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value;
});
return new Promise((resolutionFunc, rejectionFunc) => {
api.cases
.todo({
paged: paged
})
.todo(filters)
.then((response) => {
dt = that.formatDataResponse(response.data.data);
resolutionFunc({
@@ -247,11 +261,20 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");
});
},
onRemoveFilter(data) {},
onUpdateFilters(data) {
this.filters = data.params;
if (data.refresh) {
this.$nextTick(() => {
this.$refs["vueTable"].getData();
});
}
},
},
};
</script>
@@ -262,4 +285,7 @@ export default {
padding-left: 50px;
padding-right: 50px;
}
.VueTables__limit {
display: none;
}
</style>

View File

@@ -2,7 +2,11 @@
<div id="v-unassigned" ref="v-unassigned" class="v-container-unassigned">
<button-fleft :data="newCase"></button-fleft>
<modal-new-request ref="newRequest"></modal-new-request>
<CasesFilter
:filters="filters"
@onRemoveFilter="onRemoveFilter"
@onUpdateFilters="onUpdateFilters"
/>
<v-server-table
:data="tableData"
:columns="columns"
@@ -59,6 +63,7 @@ import HeaderCounter from "../components/home/HeaderCounter.vue";
import ButtonFleft from "../components/home/ButtonFleft.vue";
import ModalNewRequest from "./ModalNewRequest.vue";
import TaskCell from "../components/vuetable/TaskCell.vue";
import CasesFilter from "../components/search/CasesFilter";
import ModalClaimCase from "./modal/ModalClaimCase.vue";
import api from "./../api/index";
@@ -70,6 +75,7 @@ export default {
ModalNewRequest,
TaskCell,
ModalClaimCase,
CasesFilter,
},
props: {},
data() {
@@ -94,7 +100,9 @@ export default {
"actions",
],
tableData: [],
filters: {},
options: {
filterable: false,
headings: {
case_number: this.$i18n.t("ID_MYCASE_NUMBER"),
case_title: this.$i18n.t("ID_CASE_TITLE"),
@@ -143,13 +151,20 @@ export default {
dt,
paged,
limit = data.limit,
start = data.page === 1 ? 0 : limit * (data.page - 1);
paged = start + ',' + limit;
start = data.page === 1 ? 0 : limit * (data.page - 1),
filters = {};
paged = start + "," + limit;
filters = {
paged: paged,
};
_.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value;
});
return new Promise((resolutionFunc, rejectionFunc) => {
api.cases
.unassigned({
paged: paged
})
.unassigned(filters)
.then((response) => {
dt = that.formatDataResponse(response.data.data);
resolutionFunc({
@@ -252,11 +267,20 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");
});
},
onRemoveFilter(data) {},
onUpdateFilters(data) {
this.filters = data.params;
if (data.refresh) {
this.$nextTick(() => {
this.$refs["vueTable"].getData();
});
}
},
},
};
</script>