UPDATE ROUTE in CASE DETAIL

This commit is contained in:
Henry Jordan
2020-12-07 18:52:12 +00:00
parent ee8ea68901
commit a39a54cc10
7 changed files with 362 additions and 300 deletions

View File

@@ -53,7 +53,7 @@
</div> </div>
<br /> <br />
<h6 class="card-subtitle mb-2 text-muted">{{ data.titleActions }}</h6> <h6 class="card-subtitle mb-2 text-muted">{{ data.titleActions }}</h6>
<div v-if=data.btnType class="container v-case-summary-center"> <div v-if="data.btnType" class="container v-case-summary-center">
<button <button
type="button" type="button"
class="btn btn-success btn-sm" class="btn btn-success btn-sm"

View File

@@ -59,6 +59,7 @@ export default {
icon: { icon: {
pdf: "fas fa-file-pdf", pdf: "fas fa-file-pdf",
doc: "fas fa-file-word", doc: "fas fa-file-word",
png: "fas fa-picture-o",
}, },
}; };
}, },

View File

@@ -12,29 +12,30 @@
</template> </template>
<script> <script>
import { Tabs, Tab } from 'vue-slim-tabs' import { Tabs, Tab } from "vue-slim-tabs";
export default { export default {
props: { props: {
data: Object data: Object,
}, },
components: { components: {
Tabs, Tab Tabs,
Tab,
}, },
data() { data() {
return { return {
0: function() { 0: function () {
console.log(this.data.items[0].appUid); console.log(this.data.items[0].appUid);
} },
}; };
}, },
methods: { methods: {
selectedTab(e, index) { selectedTab(e, index) {
if (index === 0) { if (index === 0) {
console.log("fabio") console.log("fabio");
}
} }
}, },
} },
};
</script> </script>
<style src="vue-slim-tabs/themes/default.css"></style> <style src="vue-slim-tabs/themes/default.css"></style>

View File

@@ -1,7 +1,10 @@
<template> <template>
<div id="case-detail" ref="case-detail" class="v-container-mycases"> <div id="case-detail" ref="case-detail" class="v-container-mycases">
<div> <div>
<p class="mb-2"><b-icon icon="arrow-left" @click="backSearch()"></b-icon><u>Back to Results</u></p> <p class="mb-2">
<b-icon icon="arrow-left" @click="backSearch()"></b-icon
><u>Back to Results</u>
</p>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-8"> <div class="col-sm-8">
@@ -11,7 +14,7 @@
:columns="columns" :columns="columns"
:options="options" :options="options"
ref="vueTable" ref="vueTable"
style="height:120px" style="height: 120px"
> >
<div slot="task" slot-scope="props"> <div slot="task" slot-scope="props">
{{ props.row.TASK }} {{ props.row.TASK }}
@@ -41,11 +44,25 @@
<div> <div>
<p><b>Comments</b></p> <p><b>Comments</b></p>
<div class="form-group"> <div class="form-group">
<textarea class="form-control" name="comments" id="comments" cols="80" rows="5"></textarea> <textarea
class="form-control"
name="comments"
id="comments"
cols="80"
rows="5"
></textarea>
<div class="form-check"> <div class="form-check">
<input type="checkbox" class="form-check-input" id="sendEmail"> <input type="checkbox" class="form-check-input" id="sendEmail" />
<label class="form-check-label" for="sendEmail">Send email to Participants</label> <label class="form-check-label" for="sendEmail"
<button class="btn btn-secondary btn-sm" id="comment" name="comment">Comment</button> >Send email to Participants</label
>
<button
class="btn btn-secondary btn-sm"
id="comment"
name="comment"
>
Comment
</button>
</div> </div>
</div> </div>
</div> </div>
@@ -60,10 +77,10 @@
</template> </template>
<script> <script>
import Tabs from '../components/Tabs.vue'; import Tabs from "../components/home/caseDetail/Tabs.vue";
import IoDocuments from '../components/cases/IoDocuments.vue'; import IoDocuments from "../components/home/caseDetail/IoDocuments.vue";
import CaseSummary from '../components/cases/CaseSummary.vue'; import CaseSummary from "../components/home/caseDetail/CaseSummary.vue";
import AttachedDocuments from '../components/cases/AttachedDocuments.vue'; import AttachedDocuments from "../components/home/caseDetail/AttachedDocuments.vue";
export default { export default {
name: "CaseDetail", name: "CaseDetail",
@@ -71,20 +88,28 @@ export default {
Tabs, Tabs,
IoDocuments, IoDocuments,
CaseSummary, CaseSummary,
AttachedDocuments AttachedDocuments,
}, },
props: {}, props: {},
data () { data() {
return { return {
columns: ["task", "case_title", "assignee", "status", "due_date", "actions"], columns: [
tableData:[{ "task",
"case_title",
"assignee",
"status",
"due_date",
"actions",
],
tableData: [
{
task: "Approve Art", task: "Approve Art",
case_title: "Case Title A", case_title: "Case Title A",
assignee: "User 1", assignee: "User 1",
status: "To Do", status: "To Do",
due_date: "3 days", due_date: "3 days",
},
}], ],
options: { options: {
headings: { headings: {
task: this.$i18n.t("ID_TASK"), task: this.$i18n.t("ID_TASK"),
@@ -92,18 +117,17 @@ export default {
assignee: this.$i18n.t("ID_ASSIGNEE"), assignee: this.$i18n.t("ID_ASSIGNEE"),
status: this.$i18n.t("ID_STATUS"), status: this.$i18n.t("ID_STATUS"),
due_date: this.$i18n.t("ID_DUE_DATE"), due_date: this.$i18n.t("ID_DUE_DATE"),
actions: this.$i18n.t("ID_ACTIONS") actions: this.$i18n.t("ID_ACTIONS"),
}, },
selectable: { selectable: {
mode: 'single', // or 'multiple' mode: "single", // or 'multiple'
only: function (row) { only: function (row) {
return true // any condition return true; // any condition
}, },
selectAllMode: 'all',// or 'page', selectAllMode: "all", // or 'page',
programmatic: false, programmatic: false,
}, },
filterable: false filterable: false,
}, },
dataCaseSummary: { dataCaseSummary: {
title: "Case Summary", title: "Case Summary",
@@ -140,8 +164,8 @@ export default {
extension: "pdf", extension: "pdf",
onClick: () => { onClick: () => {
console.log("Attached document"); console.log("Attached document");
} },
} },
], ],
titleOutput: "Output Document", titleOutput: "Output Document",
outputDocuments: [ outputDocuments: [
@@ -150,8 +174,8 @@ export default {
extension: "pdf", extension: "pdf",
onClick: () => { onClick: () => {
console.log("Attached document"); console.log("Attached document");
} },
} },
], ],
}, },
dataAttachedDocuments: { dataAttachedDocuments: {
@@ -163,7 +187,7 @@ export default {
onClick: () => { onClick: () => {
console.log("Attached document"); console.log("Attached document");
}, },
} },
], ],
}, },
dataTabs: { dataTabs: {
@@ -174,41 +198,43 @@ export default {
firstName: "Jason", firstName: "Jason",
lastName: "Burne", lastName: "Burne",
userName: "jburne@processmaker.com", userName: "jburne@processmaker.com",
} },
}, },
{ {
title: "Process Map", title: "Process Map",
data: [ data: [
{ {
pro_uid: "123dit" pro_uid: "123dit",
} },
] ],
}, },
{ {
title: "Case History" title: "Case History",
}, },
{ {
title: "Change Log" title: "Change Log",
} },
] ],
} },
}; };
}, },
mounted() { mounted() {
let that = this; let that = this;
this.$el.getElementsByClassName('VuePagination__count')[0].remove(); this.$el.getElementsByClassName("VuePagination__count")[0].remove();
this.getDataCaseSummary(); this.getDataCaseSummary();
this.getDataIODocuments(); this.getDataIODocuments();
}, },
methods: { methods: {
getDataCaseSummary() { getDataCaseSummary() {
var data = new FormData(); var data = new FormData();
data.append('appUid', APP_UID); data.append("appUid", APP_UID);
data.append('delIndex', DEL_INDEX); data.append("delIndex", DEL_INDEX);
data.append('action', 'todo'); data.append("action", "todo");
ProcessMaker.apiClient.post('../../../appProxy/getSummary', data).then((response) => { ProcessMaker.apiClient
.post("../../../appProxy/getSummary", data)
.then((response) => {
var data = response.data; var data = response.data;
this.dataCaseSummary = { this.dataCaseSummary = {
title: "Case Summary", title: "Case Summary",
@@ -236,8 +262,9 @@ export default {
delegationDate: response.data[11].value.split(" ")[0], delegationDate: response.data[11].value.split(" ")[0],
duration: response.data[11].value.split(" ")[1], duration: response.data[11].value.split(" ")[1],
}, },
} };
}).catch((err) => { })
.catch((err) => {
throw new Error(err); throw new Error(err);
}); });
}, },
@@ -247,9 +274,14 @@ export default {
}, },
getInputDocuments() { getInputDocuments() {
var data = new FormData(); var data = new FormData();
data.append ('appUid', APP_UID); data.append("appUid", APP_UID);
data.append ('delIndex', DEL_INDEX); data.append("delIndex", DEL_INDEX);
ProcessMaker.apiClient.post('../../../cases/cases_Ajax.php?action=getCasesInputDocuments',data).then((response) => { ProcessMaker.apiClient
.post(
"../../../cases/cases_Ajax.php?action=getCasesInputDocuments",
data
)
.then((response) => {
var data = response.data, var data = response.data,
document = data.data, document = data.data,
i, i,
@@ -259,22 +291,28 @@ export default {
this.dataIoDocuments.inputDocuments = []; this.dataIoDocuments.inputDocuments = [];
for (i = 0; i < data.totalCount; i += 1) { for (i = 0; i < data.totalCount; i += 1) {
info = { info = {
"title" : document[i].TITLE, title: document[i].TITLE,
"extension" : document[i].TITLE.split(".")[1], extension: document[i].TITLE.split(".")[1],
"onClick" : document[i].DOWNLOAD_LINK onClick: document[i].DOWNLOAD_LINK,
}; };
this.dataIoDocuments.inputDocuments.push(info); this.dataIoDocuments.inputDocuments.push(info);
} }
} }
}).catch((err) => { })
.catch((err) => {
throw new Error(err); throw new Error(err);
}); });
}, },
getOutputDocuments() { getOutputDocuments() {
var data = new FormData(); var data = new FormData();
data.append ('appUid', APP_UID); data.append("appUid", APP_UID);
data.append ('delIndex', DEL_INDEX); data.append("delIndex", DEL_INDEX);
ProcessMaker.apiClient.post('../../../cases/cases_Ajax.php?action=getCasesOutputDocuments',data).then((response) => { ProcessMaker.apiClient
.post(
"../../../cases/cases_Ajax.php?action=getCasesOutputDocuments",
data
)
.then((response) => {
var data = response.data, var data = response.data,
document = data.data, document = data.data,
i, i,
@@ -284,17 +322,18 @@ export default {
this.dataIoDocuments.outputDocuments = []; this.dataIoDocuments.outputDocuments = [];
for (i = 0; i < data.totalCount; i += 1) { for (i = 0; i < data.totalCount; i += 1) {
info = { info = {
"title" : document[i].TITLE, title: document[i].TITLE,
"extension" : document[i].TITLE.split(".")[1], extension: document[i].TITLE.split(".")[1],
"onClick" : document[i].DOWNLOAD_LINK onClick: document[i].DOWNLOAD_LINK,
}; };
this.dataIoDocuments.outputDocuments.push(info); this.dataIoDocuments.outputDocuments.push(info);
} }
} }
}).catch((err) => { })
.catch((err) => {
throw new Error(err); throw new Error(err);
}); });
}, },
} },
} };
</script> </script>

View File

@@ -28,9 +28,10 @@ import Draft from "./Draft";
import Paused from "./Paused"; import Paused from "./Paused";
import Unassigned from "./Unassigned"; import Unassigned from "./Unassigned";
import BatchRouting from "./BatchRouting"; import BatchRouting from "./BatchRouting";
import CaseDetail from "./CaseDetail";
import XCase from "./XCase"; import XCase from "./XCase";
import TaskReassignments from "./TaskReassignments"; import TaskReassignments from "./TaskReassignments";
import AdvancedSearch from "./AdvancedSearch" import AdvancedSearch from "./AdvancedSearch";
export default { export default {
name: "Home", name: "Home",
@@ -46,6 +47,7 @@ export default {
Draft, Draft,
Paused, Paused,
Unassigned, Unassigned,
CaseDetail,
}, },
data() { data() {
return { return {

View File

@@ -9,6 +9,11 @@
:options="options" :options="options"
ref="vueTable" ref="vueTable"
> >
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props)">
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props"> <div slot="case_number" slot-scope="props">
{{ props.row.CASE_NUMBER }} {{ props.row.CASE_NUMBER }}
</div> </div>
@@ -74,6 +79,7 @@ export default {
}, },
}, },
columns: [ columns: [
"detail",
"case_number", "case_number",
"case_title", "case_title",
"process_name", "process_name",
@@ -216,6 +222,19 @@ export default {
}; };
this.$parent.page = "XCase"; this.$parent.page = "XCase";
}, },
/**
* Open case detail
*
* @param {object} item
*/
openCaseDetail(item) {
this.$parent.dataCase = {
APP_UID: item.APP_UID,
DEL_INDEX: item.DEL_INDEX,
ACTION: "todo",
};
this.$parent.page = "case-detail";
},
}, },
}; };
</script> </script>