PMCORE-2516
new methods ajax
This commit is contained in:
40
resources/assets/js/components/Tabs.vue
Normal file
40
resources/assets/js/components/Tabs.vue
Normal file
@@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<Tabs>
|
||||
<Tab
|
||||
v-for="item in data.items"
|
||||
:key="item.title"
|
||||
:title="item.title"
|
||||
v-on:click="selectedTab"
|
||||
>
|
||||
{{ item.title }}
|
||||
</Tab>
|
||||
</Tabs>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Tabs, Tab } from 'vue-slim-tabs'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
data: Object
|
||||
},
|
||||
components: {
|
||||
Tabs, Tab
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
0: function() {
|
||||
console.log(this.data.items[0].appUid);
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
selectedTab(e, index) {
|
||||
if (index === 0) {
|
||||
console.log("fabio")
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style src="vue-slim-tabs/themes/default.css"></style>
|
||||
92
resources/assets/js/components/cases/AttachedDocuments.vue
Normal file
92
resources/assets/js/components/cases/AttachedDocuments.vue
Normal file
@@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<div class="card v-case-summary-card" style="width: 20rem">
|
||||
<div class="card-body">
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.title }}</h6>
|
||||
<div class="card-text">
|
||||
<div
|
||||
v-for="item in data.items"
|
||||
:key="item.title"
|
||||
class="v-attached-block"
|
||||
>
|
||||
<div class="v-list v-list-row block">
|
||||
<div class="v-list-item">
|
||||
<div class="v-attached-icon">
|
||||
<i :class="classIcon(item.extension)"></i>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div @click="item.onClick" class="v-item-except text-sm h-1x">
|
||||
{{ item.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "AttachedDocuments",
|
||||
props: {
|
||||
data: Object,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
icon: {
|
||||
pdf: "fas fa-file-pdf",
|
||||
doc: "fas fa-file-word",
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
classBtn(cls) {
|
||||
return "btn v-btn-request " + cls;
|
||||
},
|
||||
classIcon(icon) {
|
||||
return this.icon[icon];
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-list-item {
|
||||
position: relative;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.v-list-row .v-list-item {
|
||||
-ms-flex-direction: row;
|
||||
flex-direction: row;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.block {
|
||||
background: #fff;
|
||||
border-width: 0;
|
||||
border-radius: 0.25rem;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.v-list {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.v-item-except {
|
||||
padding-left: 10px;
|
||||
color: #6c757d !important;
|
||||
}
|
||||
|
||||
.v-attached-icon {
|
||||
font-size: 25px;
|
||||
}
|
||||
</style>
|
||||
107
resources/assets/js/components/cases/CaseSummary.vue
Normal file
107
resources/assets/js/components/cases/CaseSummary.vue
Normal file
@@ -0,0 +1,107 @@
|
||||
<template>
|
||||
<div class="card v-case-summary-card" style="width: 20rem">
|
||||
<div class="card-body">
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.title }}</h6>
|
||||
<div class="card-text v-case-summary-card-body">
|
||||
<div>
|
||||
<span> {{ data.label.numberCase }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.numberCase }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.process }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.process }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.status }} </span>:<span class="font-weight-bold">
|
||||
{{ data.text.status }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.caseTitle }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.caseTitle }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.created }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.created }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.delegationDate }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.delegationDate }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span> {{ data.label.duration }} </span>:<span
|
||||
class="font-weight-bold"
|
||||
>
|
||||
{{ data.text.duration }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.titleActions }}</h6>
|
||||
<div v-if=data.btnType class="container v-case-summary-center">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-success btn-sm"
|
||||
@click="data.onClick"
|
||||
>
|
||||
{{ data.btnLabel }}
|
||||
</button>
|
||||
</div>
|
||||
<div v-else class="container v-case-summary-center">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-secondary btn-sm"
|
||||
@click="data.onClick"
|
||||
>
|
||||
{{ data.btnLabel }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CaseSummary",
|
||||
props: {
|
||||
data: Object,
|
||||
},
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
methods: {
|
||||
classBtn(cls) {
|
||||
return "btn v-btn-request " + cls;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-case-summary-card {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.v-case-summary-card-body {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.v-case-summary-center {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
114
resources/assets/js/components/cases/IoDocuments.vue
Normal file
114
resources/assets/js/components/cases/IoDocuments.vue
Normal file
@@ -0,0 +1,114 @@
|
||||
<template>
|
||||
<div class="card v-case-summary-card" style="width: 20rem">
|
||||
<div class="card-body">
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.titleInput }}</h6>
|
||||
<div class="card-text">
|
||||
<div
|
||||
v-for="item in data.inputDocuments"
|
||||
:key="item.title"
|
||||
class="v-attached-block"
|
||||
>
|
||||
<div class="v-list v-list-row block">
|
||||
<div class="v-list-item">
|
||||
<div class="v-attached-icon">
|
||||
<i :class="classIcon(item.extension)"></i>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div @click="item.onClick" class="v-item-except text-sm h-1x">
|
||||
{{ item.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.titleOutput }}</h6>
|
||||
<div class="card-text">
|
||||
<div
|
||||
v-for="item in data.outputDocuments"
|
||||
:key="item.title"
|
||||
class="v-attached-block"
|
||||
>
|
||||
<div class="v-list v-list-row block">
|
||||
<div class="v-list-item">
|
||||
<div class="v-attached-icon">
|
||||
<i :class="classIcon(item.extension)"></i>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div @click="item.onClick" class="v-item-except text-sm h-1x">
|
||||
{{ item.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "IoDocuments",
|
||||
props: {
|
||||
data: Object,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
icon: {
|
||||
pdf: "fas fa-file-pdf",
|
||||
doc: "fas fa-file-word",
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
classBtn(cls) {
|
||||
return "btn v-btn-request " + cls;
|
||||
},
|
||||
classIcon(icon) {
|
||||
return this.icon[icon];
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-list-item {
|
||||
position: relative;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.v-list-row .v-list-item {
|
||||
-ms-flex-direction: row;
|
||||
flex-direction: row;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.block {
|
||||
background: #fff;
|
||||
border-width: 0;
|
||||
border-radius: 0.25rem;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.v-list {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.v-item-except {
|
||||
padding-left: 10px;
|
||||
color: #6c757d !important;
|
||||
}
|
||||
|
||||
.v-attached-icon {
|
||||
font-size: 25px;
|
||||
}
|
||||
</style>
|
||||
300
resources/assets/js/home/CaseDetail.vue
Normal file
300
resources/assets/js/home/CaseDetail.vue
Normal file
@@ -0,0 +1,300 @@
|
||||
<template>
|
||||
<div id="case-detail" ref="case-detail" class="v-container-mycases">
|
||||
<div>
|
||||
<p class="mb-2"><b-icon icon="arrow-left" @click="backSearch()"></b-icon><u>Back to Results</u></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<div id="pending-task" ref="pending-task">
|
||||
<v-server-table
|
||||
:data="tableData"
|
||||
:columns="columns"
|
||||
:options="options"
|
||||
ref="vueTable"
|
||||
style="height:120px"
|
||||
>
|
||||
<div slot="task" slot-scope="props">
|
||||
{{ props.row.TASK }}
|
||||
</div>
|
||||
<div slot="case_title" slot-scope="props">
|
||||
{{ props.row.CASE_TITLE }}
|
||||
</div>
|
||||
<div slot="assignee" slot-scope="props">
|
||||
{{ props.row.ASSIGNEE }}
|
||||
</div>
|
||||
<div slot="status" slot-scope="props">
|
||||
{{ props.row.STATUS }}
|
||||
</div>
|
||||
<div slot="due_date" slot-scope="props">
|
||||
{{ props.row.DUE_DATE }}
|
||||
</div>
|
||||
<div slot="actions">
|
||||
<div class="btn-default">
|
||||
<i class="fas fa-comments"></i>
|
||||
<span class="badge badge-light">9</span>
|
||||
<span class="sr-only">Continue</span>
|
||||
</div>
|
||||
</div>
|
||||
</v-server-table>
|
||||
</div>
|
||||
<Tabs :data="dataTabs"></Tabs>
|
||||
<div>
|
||||
<p><b>Comments</b></p>
|
||||
<div class="form-group">
|
||||
<textarea class="form-control" name="comments" id="comments" cols="80" rows="5"></textarea>
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input" id="sendEmail">
|
||||
<label class="form-check-label" for="sendEmail">Send email to Participants</label>
|
||||
<button class="btn btn-secondary btn-sm" id="comment" name="comment">Comment</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm4">
|
||||
<case-summary :data="dataCaseSummary"></case-summary>
|
||||
<io-documents :data="dataIoDocuments"></io-documents>
|
||||
<attached-documents :data="dataAttachedDocuments"></attached-documents>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Tabs from '../components/Tabs.vue';
|
||||
import IoDocuments from '../components/cases/IoDocuments.vue';
|
||||
import CaseSummary from '../components/cases/CaseSummary.vue';
|
||||
import AttachedDocuments from '../components/cases/AttachedDocuments.vue';
|
||||
|
||||
export default {
|
||||
name: "CaseDetail",
|
||||
components: {
|
||||
Tabs,
|
||||
IoDocuments,
|
||||
CaseSummary,
|
||||
AttachedDocuments
|
||||
},
|
||||
props: {},
|
||||
data () {
|
||||
return {
|
||||
columns: ["task", "case_title", "assignee", "status", "due_date", "actions"],
|
||||
tableData:[{
|
||||
task: "Approve Art",
|
||||
case_title: "Case Title A",
|
||||
assignee: "User 1",
|
||||
status: "To Do",
|
||||
due_date: "3 days",
|
||||
|
||||
}],
|
||||
options: {
|
||||
headings: {
|
||||
task: this.$i18n.t("ID_TASK"),
|
||||
case_title: this.$i18n.t("ID_CASE_TITLE"),
|
||||
assignee: this.$i18n.t("ID_ASSIGNEE"),
|
||||
status: this.$i18n.t("ID_STATUS"),
|
||||
due_date: this.$i18n.t("ID_DUE_DATE"),
|
||||
actions: this.$i18n.t("ID_ACTIONS")
|
||||
},
|
||||
selectable: {
|
||||
mode: 'single', // or 'multiple'
|
||||
only: function (row) {
|
||||
return true // any condition
|
||||
},
|
||||
selectAllMode: 'all',// or 'page',
|
||||
programmatic: false,
|
||||
},
|
||||
filterable: false
|
||||
|
||||
},
|
||||
dataCaseSummary: {
|
||||
title: "Case Summary",
|
||||
titleActions: "Actions",
|
||||
btnLabel: "Cancel Request",
|
||||
btnType: false,
|
||||
onClick: () => {
|
||||
console.log("acitons");
|
||||
},
|
||||
label: {
|
||||
numberCase: "Case #",
|
||||
process: "Process",
|
||||
status: "Status",
|
||||
caseTitle: "Case title",
|
||||
created: "Created",
|
||||
delegationDate: "Delegation Date",
|
||||
duration: "Duration",
|
||||
},
|
||||
text: {
|
||||
numberCase: "",
|
||||
process: "",
|
||||
status: "",
|
||||
caseTitle: "",
|
||||
created: "",
|
||||
delegationDate: "",
|
||||
duration: "",
|
||||
},
|
||||
},
|
||||
dataIoDocuments: {
|
||||
titleInput: "Input Document",
|
||||
inputDocuments: [
|
||||
{
|
||||
title: "Invoice January 2018.pdf",
|
||||
extension: "pdf",
|
||||
onClick: () => {
|
||||
console.log("Attached document");
|
||||
}
|
||||
}
|
||||
],
|
||||
titleOutput: "Output Document",
|
||||
outputDocuments: [
|
||||
{
|
||||
title: "Invoice January 2018.pdf",
|
||||
extension: "pdf",
|
||||
onClick: () => {
|
||||
console.log("Attached document");
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
dataAttachedDocuments: {
|
||||
title: "Attached Documents",
|
||||
items: [
|
||||
{
|
||||
title: "Invoice January 2018.pdf",
|
||||
extension: "pdf",
|
||||
onClick: () => {
|
||||
console.log("Attached document");
|
||||
},
|
||||
}
|
||||
],
|
||||
},
|
||||
dataTabs: {
|
||||
items: [
|
||||
{
|
||||
title: "Request Summary",
|
||||
data: {
|
||||
firstName: "Jason",
|
||||
lastName: "Burne",
|
||||
userName: "jburne@processmaker.com",
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "Process Map",
|
||||
data: [
|
||||
{
|
||||
pro_uid: "123dit"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Case History"
|
||||
},
|
||||
{
|
||||
title: "Change Log"
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
let that = this;
|
||||
this.$el.getElementsByClassName('VuePagination__count')[0].remove();
|
||||
this.getDataCaseSummary();
|
||||
this.getDataIODocuments();
|
||||
},
|
||||
methods: {
|
||||
getDataCaseSummary() {
|
||||
var data = new FormData();
|
||||
data.append('appUid', APP_UID);
|
||||
data.append('delIndex', DEL_INDEX);
|
||||
data.append('action', 'todo');
|
||||
|
||||
ProcessMaker.apiClient.post('../../../appProxy/getSummary', data).then((response) => {
|
||||
var data = response.data;
|
||||
this.dataCaseSummary = {
|
||||
title: "Case Summary",
|
||||
titleActions: "Actions",
|
||||
btnLabel: "Cancel Request",
|
||||
btnType: false,
|
||||
onClick: () => {
|
||||
console.log("acitons");
|
||||
},
|
||||
label: {
|
||||
numberCase: data[2].label,
|
||||
process: data[0].label,
|
||||
status: data[3].label,
|
||||
caseTitle: data[1].label,
|
||||
created: data[6].label,
|
||||
delegationDate: response.data[11].label,
|
||||
duration: "Duration",
|
||||
},
|
||||
text: {
|
||||
numberCase: data[2].value,
|
||||
process: data[0].value,
|
||||
status: data[3].value,
|
||||
caseTitle: data[1].value,
|
||||
created: data[6].value,
|
||||
delegationDate: response.data[11].value.split(" ")[0],
|
||||
duration: response.data[11].value.split(" ")[1],
|
||||
},
|
||||
}
|
||||
}).catch((err) => {
|
||||
throw new Error(err);
|
||||
});
|
||||
},
|
||||
getDataIODocuments() {
|
||||
this.getInputDocuments();
|
||||
this.getOutputDocuments();
|
||||
},
|
||||
getInputDocuments() {
|
||||
var data = new FormData();
|
||||
data.append ('appUid', APP_UID);
|
||||
data.append ('delIndex', DEL_INDEX);
|
||||
ProcessMaker.apiClient.post('../../../cases/cases_Ajax.php?action=getCasesInputDocuments',data).then((response) => {
|
||||
var data = response.data,
|
||||
document = data.data,
|
||||
i,
|
||||
info;
|
||||
|
||||
if (data.totalCount > 0 && document !== []) {
|
||||
this.dataIoDocuments.inputDocuments = [];
|
||||
for (i = 0; i < data.totalCount; i += 1) {
|
||||
info = {
|
||||
"title" : document[i].TITLE,
|
||||
"extension" : document[i].TITLE.split(".")[1],
|
||||
"onClick" : document[i].DOWNLOAD_LINK
|
||||
};
|
||||
this.dataIoDocuments.inputDocuments.push(info);
|
||||
}
|
||||
}
|
||||
}).catch((err) => {
|
||||
throw new Error(err);
|
||||
});
|
||||
},
|
||||
getOutputDocuments() {
|
||||
var data = new FormData();
|
||||
data.append ('appUid', APP_UID);
|
||||
data.append ('delIndex', DEL_INDEX);
|
||||
ProcessMaker.apiClient.post('../../../cases/cases_Ajax.php?action=getCasesOutputDocuments',data).then((response) => {
|
||||
var data = response.data,
|
||||
document = data.data,
|
||||
i,
|
||||
info;
|
||||
|
||||
if (data.totalCount > 0 && document !== []) {
|
||||
this.dataIoDocuments.outputDocuments = [];
|
||||
for (i = 0; i < data.totalCount; i += 1) {
|
||||
info = {
|
||||
"title" : document[i].TITLE,
|
||||
"extension" : document[i].TITLE.split(".")[1],
|
||||
"onClick" : document[i].DOWNLOAD_LINK
|
||||
};
|
||||
this.dataIoDocuments.outputDocuments.push(info);
|
||||
}
|
||||
}
|
||||
}).catch((err) => {
|
||||
throw new Error(err);
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -541,6 +541,92 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
case 'getCasesInputDocuments':
|
||||
$arrayToTranslation = array(
|
||||
"INPUT" => G::LoadTranslation("ID_INPUT_DB"),
|
||||
"OUTPUT" => G::LoadTranslation("ID_OUTPUT_DB"),
|
||||
"ATTACHED" => G::LoadTranslation("ID_ATTACHED_DB")
|
||||
);
|
||||
$oCase = new Cases();
|
||||
$fields = $oCase->loadCase($_POST['appUid']);
|
||||
$sProcessUID = $fields['PRO_UID'];
|
||||
$criteria = $oCase->getAllUploadedDocumentsCriteria(
|
||||
$sProcessUID,
|
||||
$_POST['appUid'],
|
||||
'',
|
||||
$_SESSION['USER_LOGGED'],
|
||||
$_POST['delIndex']
|
||||
);
|
||||
if ($criteria->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs($criteria);
|
||||
} else {
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
}
|
||||
$totalCount = $rs->getRecordCount();
|
||||
if ($criteria->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs($criteria);
|
||||
} else {
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
}
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
while ($rs->next()) {
|
||||
$result = $rs->getRow();
|
||||
$result["TYPE"] = (array_key_exists($result["TYPE"], $arrayToTranslation)) ? $arrayToTranslation[$result["TYPE"]] : $result["TYPE"];
|
||||
$result['CREATE_DATE'] = DateTime::convertUtcToTimeZone($result['CREATE_DATE']);
|
||||
$aProcesses[] = $result;
|
||||
}
|
||||
$r = new stdclass();
|
||||
$r->data = $aProcesses;
|
||||
$r->totalCount = $totalCount;
|
||||
echo Bootstrap::json_encode($r);
|
||||
break;
|
||||
case 'getCasesOutputDocuments':
|
||||
$oCase = new Cases();
|
||||
$fields = $oCase->loadCase($_POST['appUid']);
|
||||
$sProcessUID = $fields['PRO_UID'];
|
||||
$aProcesses = array();
|
||||
$c = $oCase->getAllGeneratedDocumentsCriteria(
|
||||
$sProcessUID,
|
||||
$_POST['appUid'],
|
||||
'',
|
||||
$_SESSION['USER_LOGGED'],
|
||||
$_POST['delIndex']
|
||||
);
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs($c);
|
||||
} else {
|
||||
$rs = GulliverBasePeer::doSelectRs($c);
|
||||
}
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$rs->next();
|
||||
$totalCount = 0;
|
||||
for ($j = 0; $j < $rs->getRecordCount(); $j++) {
|
||||
$result = $rs->getRow();
|
||||
$result["FILEPDFEXIST"] = ($result["FILEPDF"]);
|
||||
$result["DELETE_FILE"] = (isset($result['ID_DELETE']) && $result['ID_DELETE'] == 'Delete') ? true : false;
|
||||
$result['CREATE_DATE'] = DateTime::convertUtcToTimeZone($result['CREATE_DATE']);
|
||||
$aProcesses[] = $result;
|
||||
$rs->next();
|
||||
$totalCount++;
|
||||
}
|
||||
//!dateFormat
|
||||
$conf = new Configurations();
|
||||
try {
|
||||
$globaleneralConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', '');
|
||||
} catch (Exception $e) {
|
||||
$generalConfCasesList = array();
|
||||
}
|
||||
$dateFormat = "";
|
||||
$varFlag = isset($generalConfCasesList['casesListDateFormat']);
|
||||
if ($varFlag && !empty($generalConfCasesList['casesListDateFormat'])) {
|
||||
$dateFormat = $generalConfCasesList['casesListDateFormat'];
|
||||
}
|
||||
$r = new stdclass();
|
||||
$r->data = $aProcesses;
|
||||
$r->totalCount = $totalCount;
|
||||
$r->dataFormat = $dateFormat;
|
||||
echo Bootstrap::json_encode($r);
|
||||
break;
|
||||
case 'uploadDocumentGrid_Ajax':
|
||||
global $G_PUBLISH;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user