Merge branch 'develop' into devTee
This commit is contained in:
commit
a31a388481
3 changed files with 224 additions and 213 deletions
|
|
@ -120,7 +120,11 @@ async function fetchListProject() {
|
||||||
await http
|
await http
|
||||||
.get(
|
.get(
|
||||||
config.API.developmentMain +
|
config.API.developmentMain +
|
||||||
`?page=${formQuery.page}&pageSize=${formQuery.pageSize}&keyword=${formQuery.keyword.trim()}&year=${formQuery.year}&status=${formQuery.status}&node=${formQuery.node}&nodeId=${formQuery.nodeId}`
|
`?page=${formQuery.page}&pageSize=${
|
||||||
|
formQuery.pageSize
|
||||||
|
}&keyword=${formQuery.keyword.trim()}&year=${formQuery.year}&status=${
|
||||||
|
formQuery.status
|
||||||
|
}&node=${formQuery.node}&nodeId=${formQuery.nodeId}`
|
||||||
)
|
)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const data = res.data.result.data;
|
const data = res.data.result.data;
|
||||||
|
|
@ -350,7 +354,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- รายการโครงการ -->
|
<!-- รายการโครงการ -->
|
||||||
<div class="col-xs-12 col-sm-9 q-pa-md row">
|
<div class="col-xs-12 col-sm-9 q-pa-md row scroll" style="height: 85vh">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-toolbar class="row col-8 q-pa-none q-gutter-x-sm" style="padding: 0">
|
<q-toolbar class="row col-8 q-pa-none q-gutter-x-sm" style="padding: 0">
|
||||||
<datepicker
|
<datepicker
|
||||||
|
|
|
||||||
|
|
@ -406,103 +406,105 @@ onMounted(() => {
|
||||||
<!-- รายชื่อ -->
|
<!-- รายชื่อ -->
|
||||||
<q-card-section
|
<q-card-section
|
||||||
v-if="posmasterId"
|
v-if="posmasterId"
|
||||||
class="col-lg-9 col-md-8 col-xs-12 scroll"
|
class="col-lg-9 col-md-8 col-xs-12"
|
||||||
style="height: 80vh"
|
style="height: 80vh"
|
||||||
>
|
>
|
||||||
<LoadView v-if="isLaod" />
|
<LoadView v-if="isLaod" />
|
||||||
<div class="column q-col-gutter-sm" v-else>
|
<div class="column q-col-gutter-sm" style="height: 80vh" v-else>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<q-card bordered style="height: 100%; border: 1px solid #d6dee1">
|
<q-card bordered style="height: 100%; border: 1px solid #d6dee1">
|
||||||
<div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
<div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||||
รายชื่อ
|
รายชื่อ
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12"><q-separator /></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
<div class="row q-pa-md">
|
<q-scroll-area style="height: 85%">
|
||||||
<div class="col-12">
|
<div class="row q-pa-md">
|
||||||
<q-toolbar style="padding: 0">
|
<div class="col-12">
|
||||||
<q-space />
|
<q-toolbar style="padding: 0">
|
||||||
<div class="row q-gutter-md">
|
<q-space />
|
||||||
<div>
|
<div class="row q-gutter-md">
|
||||||
<q-checkbox
|
<div>
|
||||||
@update:model-value="updateIsAll"
|
<q-checkbox
|
||||||
keep-color
|
@update:model-value="updateIsAll"
|
||||||
v-model="isAll"
|
keep-color
|
||||||
label="แสดงตำแหน่งทั้งหมด"
|
v-model="isAll"
|
||||||
color="primary"
|
label="แสดงตำแหน่งทั้งหมด"
|
||||||
>
|
color="primary"
|
||||||
<q-tooltip>แสดงตำแหน่งทั้งหมด</q-tooltip>
|
>
|
||||||
</q-checkbox>
|
<q-tooltip>แสดงตำแหน่งทั้งหมด</q-tooltip>
|
||||||
|
</q-checkbox>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<q-input
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
v-model="keyword"
|
||||||
|
label="ค้นหา"
|
||||||
|
@keydown.enter="onSearchRowPosition"
|
||||||
|
>
|
||||||
|
<template v-slot:append>
|
||||||
|
<q-icon name="search" color="grey-5" />
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
</q-toolbar>
|
||||||
<q-input
|
</div>
|
||||||
outlined
|
<div class="col-12">
|
||||||
dense
|
<d-table
|
||||||
v-model="keyword"
|
ref="table"
|
||||||
label="ค้นหา"
|
:columns="columns"
|
||||||
@keydown.enter="onSearchRowPosition"
|
:rows="rowPosition"
|
||||||
>
|
:paging="true"
|
||||||
<template v-slot:append>
|
row-key="id"
|
||||||
<q-icon name="search" color="grey-5" />
|
flat
|
||||||
</template>
|
bordered
|
||||||
</q-input>
|
dense
|
||||||
</div>
|
:rows-per-page-options="[10, 25, 50, 100]"
|
||||||
</div>
|
>
|
||||||
</q-toolbar>
|
<template v-slot:header="props">
|
||||||
</div>
|
<q-tr :props="props">
|
||||||
<div class="col-12">
|
<q-th
|
||||||
<d-table
|
v-for="col in props.cols"
|
||||||
ref="table"
|
:key="col.name"
|
||||||
:columns="columns"
|
:props="props"
|
||||||
:rows="rowPosition"
|
>
|
||||||
:paging="true"
|
<span class="text-weight-medium">{{
|
||||||
row-key="id"
|
col.label
|
||||||
flat
|
}}</span>
|
||||||
bordered
|
</q-th>
|
||||||
dense
|
</q-tr>
|
||||||
:rows-per-page-options="[10, 25, 50, 100]"
|
</template>
|
||||||
>
|
<template v-slot:body="props">
|
||||||
<template v-slot:header="props">
|
<q-tr
|
||||||
<q-tr :props="props">
|
|
||||||
<q-th
|
|
||||||
v-for="col in props.cols"
|
|
||||||
:key="col.name"
|
|
||||||
:props="props"
|
:props="props"
|
||||||
>
|
:class="
|
||||||
<span class="text-weight-medium">{{
|
|
||||||
col.label
|
|
||||||
}}</span>
|
|
||||||
</q-th>
|
|
||||||
</q-tr>
|
|
||||||
</template>
|
|
||||||
<template v-slot:body="props">
|
|
||||||
<q-tr
|
|
||||||
:props="props"
|
|
||||||
:class="
|
|
||||||
checkPermission($route)?.attrIsUpdate &&
|
|
||||||
'cursor-pointer'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<q-td
|
|
||||||
v-for="col in props.cols"
|
|
||||||
:key="col.name"
|
|
||||||
:props="props"
|
|
||||||
@click="
|
|
||||||
checkPermission($route)?.attrIsUpdate &&
|
checkPermission($route)?.attrIsUpdate &&
|
||||||
selectPosition(props.row)
|
'cursor-pointer'
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div v-if="col.name === 'no'">
|
<q-td
|
||||||
{{ props.rowIndex + 1 }}
|
v-for="col in props.cols"
|
||||||
</div>
|
:key="col.name"
|
||||||
<div v-else>
|
:props="props"
|
||||||
{{ col.value ? col.value : "-" }}
|
@click="
|
||||||
</div>
|
checkPermission($route)?.attrIsUpdate &&
|
||||||
</q-td>
|
selectPosition(props.row)
|
||||||
</q-tr>
|
"
|
||||||
</template>
|
>
|
||||||
</d-table>
|
<div v-if="col.name === 'no'">
|
||||||
|
{{ props.rowIndex + 1 }}
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
{{ col.value ? col.value : "-" }}
|
||||||
|
</div>
|
||||||
|
</q-td>
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
</d-table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</q-scroll-area>
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
|
|
@ -512,140 +514,144 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12"><q-separator /></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
<div class="row q-pa-md">
|
<q-scroll-area style="height: 85%">
|
||||||
<div class="col-12">
|
<div class="row q-pa-md">
|
||||||
<q-toolbar style="padding: 0">
|
<div class="col-12">
|
||||||
<q-space />
|
<q-toolbar style="padding: 0">
|
||||||
<div class="row q-gutter-md">
|
<q-space />
|
||||||
<div>
|
<div class="row q-gutter-md">
|
||||||
<q-input
|
<div>
|
||||||
outlined
|
<q-input
|
||||||
dense
|
outlined
|
||||||
v-model="keywordAct"
|
dense
|
||||||
label="ค้นหา"
|
v-model="keywordAct"
|
||||||
@keydown.enter="onSearchListPerson"
|
label="ค้นหา"
|
||||||
>
|
@keydown.enter="onSearchListPerson"
|
||||||
<template v-slot:append>
|
>
|
||||||
<q-icon name="search" color="grey-5" />
|
<template v-slot:append>
|
||||||
</template>
|
<q-icon name="search" color="grey-5" />
|
||||||
</q-input>
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</q-toolbar>
|
||||||
</q-toolbar>
|
</div>
|
||||||
</div>
|
<div class="col-12">
|
||||||
<div class="col-12">
|
<d-table
|
||||||
<d-table
|
ref="table"
|
||||||
ref="table"
|
:columns="columns"
|
||||||
:columns="columns"
|
:rows="rowListPerson"
|
||||||
:rows="rowListPerson"
|
:paging="true"
|
||||||
:paging="true"
|
row-key="id"
|
||||||
row-key="id"
|
flat
|
||||||
flat
|
bordered
|
||||||
bordered
|
dense
|
||||||
dense
|
:rows-per-page-options="[10, 25, 50, 100]"
|
||||||
:rows-per-page-options="[10, 25, 50, 100]"
|
>
|
||||||
>
|
<template v-slot:header="props">
|
||||||
<template v-slot:header="props">
|
<q-tr :props="props">
|
||||||
<q-tr :props="props">
|
<q-th
|
||||||
<q-th
|
auto-width
|
||||||
auto-width
|
v-if="
|
||||||
v-if="
|
rowListPerson.length !== 1 &&
|
||||||
rowListPerson.length !== 1 &&
|
checkPermission($route)?.attrIsUpdate
|
||||||
checkPermission($route)?.attrIsUpdate
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
<q-th
|
|
||||||
auto-width
|
|
||||||
v-if="
|
|
||||||
rowListPerson.length !== 1 &&
|
|
||||||
checkPermission($route)?.attrIsUpdate
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
<q-th auto-width />
|
|
||||||
<q-th
|
|
||||||
v-for="col in props.cols"
|
|
||||||
:key="col.name"
|
|
||||||
:props="props"
|
|
||||||
>
|
|
||||||
<span class="text-weight-medium">{{
|
|
||||||
col.label
|
|
||||||
}}</span>
|
|
||||||
</q-th>
|
|
||||||
</q-tr>
|
|
||||||
</template>
|
|
||||||
<template v-slot:body="props">
|
|
||||||
<q-tr :props="props">
|
|
||||||
<q-td
|
|
||||||
auto-width
|
|
||||||
v-if="
|
|
||||||
rowListPerson.length !== 1 &&
|
|
||||||
checkPermission($route)?.attrIsUpdate
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<q-btn
|
|
||||||
dense
|
|
||||||
flat
|
|
||||||
round
|
|
||||||
:color="props.rowIndex + 1 == 1 ? 'grey' : 'green'"
|
|
||||||
:disable="props.rowIndex + 1 == 1"
|
|
||||||
icon="mdi-arrow-up-bold"
|
|
||||||
@click="onSwapPerson('up', props.row.id)"
|
|
||||||
>
|
|
||||||
</q-btn>
|
|
||||||
</q-td>
|
|
||||||
<q-td
|
|
||||||
auto-width
|
|
||||||
v-if="
|
|
||||||
rowListPerson.length !== 1 &&
|
|
||||||
checkPermission($route)?.attrIsUpdate
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<q-btn
|
|
||||||
dense
|
|
||||||
flat
|
|
||||||
round
|
|
||||||
:color="
|
|
||||||
rowListPerson.length == props.rowIndex + 1
|
|
||||||
? 'grey'
|
|
||||||
: 'red'
|
|
||||||
"
|
"
|
||||||
:disable="
|
/>
|
||||||
rowListPerson.length == props.rowIndex + 1
|
<q-th
|
||||||
|
auto-width
|
||||||
|
v-if="
|
||||||
|
rowListPerson.length !== 1 &&
|
||||||
|
checkPermission($route)?.attrIsUpdate
|
||||||
"
|
"
|
||||||
icon="mdi-arrow-down-bold"
|
/>
|
||||||
@click="onSwapPerson('down', props.row.id)"
|
<q-th auto-width />
|
||||||
|
<q-th
|
||||||
|
v-for="col in props.cols"
|
||||||
|
:key="col.name"
|
||||||
|
:props="props"
|
||||||
>
|
>
|
||||||
</q-btn>
|
<span class="text-weight-medium">{{
|
||||||
</q-td>
|
col.label
|
||||||
<q-td auto-width>
|
}}</span>
|
||||||
<q-btn
|
</q-th>
|
||||||
v-if="checkPermission($route)?.attrIsDelete"
|
</q-tr>
|
||||||
dense
|
</template>
|
||||||
flat
|
<template v-slot:body="props">
|
||||||
round
|
<q-tr :props="props">
|
||||||
color="red"
|
<q-td
|
||||||
icon="delete"
|
auto-width
|
||||||
@click="onDelete(props.row.id)"
|
v-if="
|
||||||
|
rowListPerson.length !== 1 &&
|
||||||
|
checkPermission($route)?.attrIsUpdate
|
||||||
|
"
|
||||||
>
|
>
|
||||||
</q-btn>
|
<q-btn
|
||||||
</q-td>
|
dense
|
||||||
<q-td
|
flat
|
||||||
v-for="col in props.cols"
|
round
|
||||||
:key="col.name"
|
:color="
|
||||||
:props="props"
|
props.rowIndex + 1 == 1 ? 'grey' : 'green'
|
||||||
>
|
"
|
||||||
<div v-if="col.name === 'no'">
|
:disable="props.rowIndex + 1 == 1"
|
||||||
{{ props.rowIndex + 1 }}
|
icon="mdi-arrow-up-bold"
|
||||||
</div>
|
@click="onSwapPerson('up', props.row.id)"
|
||||||
<div v-else>
|
>
|
||||||
{{ col.value ? col.value : "-" }}
|
</q-btn>
|
||||||
</div>
|
</q-td>
|
||||||
</q-td>
|
<q-td
|
||||||
</q-tr>
|
auto-width
|
||||||
</template>
|
v-if="
|
||||||
</d-table>
|
rowListPerson.length !== 1 &&
|
||||||
|
checkPermission($route)?.attrIsUpdate
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-btn
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
:color="
|
||||||
|
rowListPerson.length == props.rowIndex + 1
|
||||||
|
? 'grey'
|
||||||
|
: 'red'
|
||||||
|
"
|
||||||
|
:disable="
|
||||||
|
rowListPerson.length == props.rowIndex + 1
|
||||||
|
"
|
||||||
|
icon="mdi-arrow-down-bold"
|
||||||
|
@click="onSwapPerson('down', props.row.id)"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</q-td>
|
||||||
|
<q-td auto-width>
|
||||||
|
<q-btn
|
||||||
|
v-if="checkPermission($route)?.attrIsDelete"
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="red"
|
||||||
|
icon="delete"
|
||||||
|
@click="onDelete(props.row.id)"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</q-td>
|
||||||
|
<q-td
|
||||||
|
v-for="col in props.cols"
|
||||||
|
:key="col.name"
|
||||||
|
:props="props"
|
||||||
|
>
|
||||||
|
<div v-if="col.name === 'no'">
|
||||||
|
{{ props.rowIndex + 1 }}
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
{{ col.value ? col.value : "-" }}
|
||||||
|
</div>
|
||||||
|
</q-td>
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
</d-table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</q-scroll-area>
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -364,7 +364,8 @@ onMounted(async () => {
|
||||||
|
|
||||||
<!-- Table -->
|
<!-- Table -->
|
||||||
<q-card-section
|
<q-card-section
|
||||||
class="col-lg-9 col-md-8 col-xs-12 q-gutter-sm"
|
class="col-lg-9 col-md-8 col-xs-12 q-gutter-sm scroll"
|
||||||
|
style="height: 80vh;"
|
||||||
v-if="orgTreeId"
|
v-if="orgTreeId"
|
||||||
>
|
>
|
||||||
<div class="row col-12 q-gutter-sm">
|
<div class="row col-12 q-gutter-sm">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue