no message

This commit is contained in:
setthawutttty 2024-10-21 13:52:29 +07:00
parent ae3cee9e2a
commit 72eb47e4e5
4 changed files with 72 additions and 7 deletions

View file

@ -33,7 +33,7 @@ const { fetchDataList } = defineProps({
});
const isReadOnly = ref<boolean>(false); //
const isDone = ref<string>('')
//
const formData = reactive<FormDataIDP>({
topic: "", ////
@ -161,6 +161,8 @@ function fetchDataByid(id: string) {
formData.reason = data.reason;
formData.createdFullName = data.createdFullName;
formData.createdAt = data.createdAt;
isDone.value = data.status
})
.catch((err) => {
messageError($q, err);
@ -263,7 +265,7 @@ watch(modal, (val) => {
<!-- สถานะคำรอง -->
<q-form greedy @submit.prevent @validation-success="onSubmit">
<q-card-section v-if="formData.status == 'PENDING'">
<q-card-section v-if="isDone == 'PENDING'">
<q-card bordered class="col-12">
<div class="row q-pa-md q-col-gutter-sm">
<!-- สถานะ -->

View file

@ -0,0 +1,10 @@
import { ref } from "vue";
import { defineStore } from "pinia";
export const useActingStore = defineStore("actingStore", () => {
const rootId = ref<string>("");
const isOfficer = ref<boolean | null>(null);
const isStaff = ref<boolean | null>(null);
const orgPublishDate = ref<Date | null>(null);
return { isOfficer, isStaff, rootId,orgPublishDate };
});

View file

@ -2,11 +2,12 @@
import { ref, onMounted } from "vue";
import { useQuasar } from "quasar";
import { checkPermission } from "@/utils/permissions";
import { useCounterMixin } from "@/stores/mixin";
import { useStructureTree } from "@/stores/structureTree";
import http from "@/plugins/http";
import config from "@/app.config";
import { checkPermission } from "@/utils/permissions";
import { useCounterMixin } from "@/stores/mixin";
import { useActingStore } from "@/modules/17_acting/store/Main";
import { useStructureTree } from "@/stores/structureTree";
/** importType*/
import type { QTableProps } from "quasar";
@ -17,22 +18,24 @@ import type {
} from "@/modules/17_acting/interface/response/Main";
import LoadView from "@/components/LoadView.vue";
import DialogCreateCommandORG from "@/modules/18_command/components/DialogCreateCommandORG.vue";
/** use*/
const $q = useQuasar();
const { fetchTreeActing } = useStructureTree();
const storeTree = useStructureTree();
const storeActing = useActingStore();
const { showLoader, hideLoader, messageError, dialogRemove } =
useCounterMixin();
/** โครงสร้าง*/
const keycloakSystem = ref<string>("ORG_COMMAND");
const expanded = ref<Array<string>>([]);
const filter = ref<string>("");
const nodeTree = ref<DataTree[]>([]);
const posmasterId = ref<string>("");
const isAll = ref<boolean>(false);
const modalCommand = ref<boolean>(false);
/**
* function เรยกขอมลโครงสราง แบบป
*/
@ -254,8 +257,28 @@ function onDelete(id: string) {
});
}
function getWorkFlow() {
showLoader();
http
.get(config.API.workflowKeycloakSystem(keycloakSystem.value))
.then((res) => {
const data = res.data.result;
storeActing.isOfficer = data.isOfficer;
storeActing.isStaff = data.isStaff;
hideLoader();
})
.catch((e) => {
messageError($q, e);
hideLoader();
})
.finally(() => {});
}
onMounted(() => {
fetchOrganizationActive();
if (storeActing.isOfficer == null && storeActing.isStaff == null) {
getWorkFlow();
}
});
</script>
@ -438,7 +461,25 @@ onMounted(() => {
<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">
รายชอรกษาการ
<q-btn
v-if="
storeActing.isOfficer === true ||
storeActing.isStaff === true
"
flat
round
dense
:disable="
storeActing.isStaff == true && storeActing.rootId == ''
"
color="add"
icon="mdi-account-arrow-right"
@click.prevent="modalCommand = true"
>
<q-tooltip>งไปออกคำส</q-tooltip>
</q-btn>
</div>
<div class="col-12"><q-separator /></div>
<div class="row q-pa-md">
<div class="col-12">
@ -580,6 +621,17 @@ onMounted(() => {
</q-card-section>
</q-card-section>
</q-card>
<!-- dialog งไปออกคำส -->
<DialogCreateCommandORG
v-model:modal="modalCommand"
command-type-code="C-PM-40"
:org-publish-date="storeActing.orgPublishDate as Date||undefined"
v-model:is-officer="storeActing.isOfficer as boolean"
v-model:is-staff="storeActing.isStaff as boolean"
v-model:root-id="storeActing.rootId"
:system-name="'acting'"
/>
</template>
<style scoped>

View file

@ -216,6 +216,7 @@ function getPerson() {
.then((res) => {
const data = res.data.result;
rows.value = data;
selected.value = data; //select all
hideLoader();
})
.catch((e) => {