([
field: "lastUpdatedAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
+
{
name: "lastUpdateFullName",
align: "left",
@@ -222,7 +229,18 @@ onMounted(async () => {
-
+
+
+
+
+
([]); // รายการกลุ่มงาน
@@ -45,7 +48,7 @@ const columns = ref([
{
name: "posLevelName",
align: "left",
- label: "ระดับชั้นงาน",
+ label: "กลุ่มงาน",
sortable: true,
field: "posLevelName",
headerStyle: "font-size: 14px",
@@ -78,6 +81,9 @@ const columns = ref([
field: "createdAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
{
name: "lastUpdatedAt",
@@ -87,6 +93,9 @@ const columns = ref([
field: "lastUpdatedAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
{
name: "lastUpdateFullName",
@@ -249,7 +258,7 @@ onMounted(() => {
class="q-mr-sm"
@click="router.go(-1)"
/>
- รายการระดับชั้นงาน{{ titleName }}
+ รายการระดับชั้นงานของกลุ่มงาน{{ titleName }}
@@ -266,7 +275,18 @@ onMounted(() => {
-
+
+
+
+
+
{
- {{ col.label }}
+ {{ col.label }}
diff --git a/src/modules/01_metadata/components/position/01_Position.vue b/src/modules/01_metadata/components/position/01_Position.vue
index f439e51e..7b07e7c1 100644
--- a/src/modules/01_metadata/components/position/01_Position.vue
+++ b/src/modules/01_metadata/components/position/01_Position.vue
@@ -16,8 +16,14 @@ import type {
import DialogFormPosition from "@/modules/01_metadata/components/position/DialogFormPosition.vue";
const $q = useQuasar();
-const { showLoader, hideLoader, messageError, success, dialogRemove } =
- useCounterMixin();
+const {
+ showLoader,
+ hideLoader,
+ messageError,
+ success,
+ dialogRemove,
+ date2Thai,
+} = useCounterMixin();
/** Table*/
const rowsPositionSelect = ref([]); // รายการข้อมูลตำแหน่งข้าราชการ ฯ
@@ -100,6 +106,9 @@ const columns = ref([
label: "วันที่สร้าง",
sortable: true,
field: "createdAt",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@@ -111,6 +120,9 @@ const columns = ref([
field: "lastUpdatedAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
{
name: "lastUpdateFullName",
@@ -154,10 +166,9 @@ const statusEdit = ref(false); // สถานะการแก้ไ
const copyPosition = ref(false); // สถานะการคัดลอกข้อมูล
const search = ref(""); // คำค้นหา
-const type = ref("ALL"); // ประเภท
+const type = ref("positionName"); // ประเภท
const isReadonly = ref(false); // อ่านได้อย่างเดียว
const optionFilter = ref([
- { id: "ALL", name: "ทั้งหมด" },
{ id: "positionName", name: "ตำแหน่งในสายงาน" },
{ id: "positionField", name: "สายงาน" },
{ id: "positionType", name: "ประเภทตำแหน่ง" },
@@ -298,14 +309,11 @@ onMounted(async () => {
outlined
option-label="name"
option-value="id"
- :clearable="type !== 'ALL'"
- @clear="type = 'ALL'"
/>
{
-
+
+
+
+
+
([]); // รายากรข้อมูลตำแหน่งทางการบริหาร
@@ -61,6 +61,9 @@ const columns = ref([
field: "createdAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
{
name: "lastUpdatedAt",
@@ -70,6 +73,9 @@ const columns = ref([
field: "lastUpdatedAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
+ format(val, row) {
+ return date2Thai(val, false, true);
+ },
},
{
name: "lastUpdateFullName",
@@ -148,7 +154,18 @@ onMounted(async () => {
-
+
+
+
+
+
{
ref="table"
:columns="columns"
:rows="rows"
+ :filter="filterKeyword"
row-key="id"
flat
bordered
diff --git a/src/modules/01_metadata/components/position/TypeDetail.vue b/src/modules/01_metadata/components/position/TypeDetail.vue
index b26c2c51..38ef37ae 100644
--- a/src/modules/01_metadata/components/position/TypeDetail.vue
+++ b/src/modules/01_metadata/components/position/TypeDetail.vue
@@ -86,7 +86,7 @@ const columns = [
{
name: "createdAt",
- align: "center",
+ align: "left",
label: "วันที่สร้าง",
sortable: true,
field: "createdAt",
@@ -98,7 +98,7 @@ const columns = [
{
name: "lastUpdatedAt",
- align: "center",
+ align: "left",
label: "วันที่แก้ไข",
sortable: true,
field: "lastUpdatedAt",
@@ -153,7 +153,7 @@ async function fetchData() {
.get(config.API.orgPosTypeId(id.value))
.then(async (res) => {
posName.value = res.data.result.posTypeName;
- store.save(res.data.result.posLevels);
+ store.save(res.data.result.posLevels, posName.value);
})
.catch((err) => {
messageError($q, err);
@@ -282,11 +282,17 @@ onMounted(async () => {
+ placeholder="ค้นหา"
+ @clear="filterKeyword = ''"
+ >
+
+
+
+
{
- {{ col.label }}
+ {{ col.label }}
@@ -374,7 +380,7 @@ onMounted(async () => {
{{ props.rowIndex + 1 }}
-
+
{{ posName }}
diff --git a/src/modules/01_metadata/stores/InsigniaStore.ts b/src/modules/01_metadata/stores/InsigniaStore.ts
index df843bfb..4b5a2f09 100644
--- a/src/modules/01_metadata/stores/InsigniaStore.ts
+++ b/src/modules/01_metadata/stores/InsigniaStore.ts
@@ -15,8 +15,10 @@ export const useInsigniaDataStore = defineStore("insigniaData", () => {
const list = data.map((e) => ({
...e,
insigniaType: insigniaType,
- createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
- lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
+ createdAt: e.createdAt ? date2Thai(e.createdAt, false, true) : "-",
+ lastUpdatedAt: e.lastUpdatedAt
+ ? date2Thai(e.lastUpdatedAt, false, true)
+ : "-",
}));
list;
row.value = list;
diff --git a/src/modules/01_metadata/stores/positionListStore.ts b/src/modules/01_metadata/stores/positionListStore.ts
index a6b405c8..41a45986 100644
--- a/src/modules/01_metadata/stores/positionListStore.ts
+++ b/src/modules/01_metadata/stores/positionListStore.ts
@@ -13,15 +13,17 @@ const { date2Thai } = useCounterMixin();
export const usePositionDataStore = defineStore("PositionData", () => {
const pathLocation = ref
("list_position");
const row = ref([]);
- function save(data: DataResponse[]) {
+ function save(data: DataResponse[], posTypeName: string) {
const list = data.map((e) => ({
...e,
posTypes: undefined,
posTypeId: e.posTypes?.id,
- posTypeName: e.posTypes?.posTypeName,
+ posTypeName: posTypeName,
posTypeRank: e.posTypes?.posTypeRank,
- createdAt: e.createdAt ? date2Thai(e.createdAt) : "-",
- lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "-",
+ createdAt: e.createdAt ? date2Thai(e.createdAt, false, true) : "-",
+ lastUpdatedAt: e.lastUpdatedAt
+ ? date2Thai(e.lastUpdatedAt, false, true)
+ : "-",
posLevelAuthority: e.posLevelAuthority
? storeOption.posLevelAuthorityConvert(e.posLevelAuthority)
: "-",
diff --git a/src/modules/01_metadata/stores/positionTypeStore.ts b/src/modules/01_metadata/stores/positionTypeStore.ts
index a0df2a88..77f90530 100644
--- a/src/modules/01_metadata/stores/positionTypeStore.ts
+++ b/src/modules/01_metadata/stores/positionTypeStore.ts
@@ -22,8 +22,10 @@ export const usePositionTypeDataStore = defineStore("PositionTypeData", () => {
...e,
posTypes: undefined,
posTypeId: e.posTypes?.id,
- createdAt: e.createdAt ? date2Thai(e.createdAt) : "-",
- lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "-",
+ createdAt: e.createdAt ? date2Thai(e.createdAt, false, true) : "-",
+ lastUpdatedAt: e.lastUpdatedAt
+ ? date2Thai(e.lastUpdatedAt, false, true)
+ : "-",
})) satisfies DataRow[];
row.value = list;
}
diff --git a/src/modules/01_metadata/views/05_insignia.vue b/src/modules/01_metadata/views/05_insignia.vue
index 9979529a..2785c7d2 100644
--- a/src/modules/01_metadata/views/05_insignia.vue
+++ b/src/modules/01_metadata/views/05_insignia.vue
@@ -198,11 +198,17 @@ onMounted(async () => {
+ placeholder="ค้นหา"
+ @clear="filterKeyword = ''"
+ >
+
+
+
+