update workflow

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-10-18 14:51:16 +07:00
parent 4b473d34ba
commit 3e38b02261
3 changed files with 117 additions and 102 deletions

View file

@ -185,7 +185,13 @@ defineExpose({
</q-item-label> </q-item-label>
<q-btn <q-btn
v-if="item.isComment && state === index + 1" v-if="
item.isComment &&
state === index + 1 &&
item.isAccept === null &&
item.reason === null &&
item.isApprove === null
"
@click.prevent=" @click.prevent="
(dataUserComment = item), (modalApprove = true) (dataUserComment = item), (modalApprove = true)
" "

View file

@ -41,6 +41,7 @@ const formData = reactive({
}); });
const isReadOnly = ref<boolean>(false); // const isReadOnly = ref<boolean>(false); //
const workflowRef = ref<any>(null);
// //
const statusOptionMain = ref<DataOption[]>( const statusOptionMain = ref<DataOption[]>(
store.optionStatus.filter((e) => e.id !== "") store.optionStatus.filter((e) => e.id !== "")
@ -248,8 +249,12 @@ onMounted(async () => {
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-xs-12 col-md-12"> <div class="col-xs-12 col-md-12">
<q-select <q-select
:class="classInput(isReadOnly)" :class="
:readonly="isReadOnly" classInput(
isReadOnly || !workflowRef?.permission.isUpdate
)
"
:readonly="isReadOnly || !workflowRef?.permission.isUpdate"
v-model="formData.status" v-model="formData.status"
label="สถานะ" label="สถานะ"
dense dense
@ -279,8 +284,12 @@ onMounted(async () => {
<div class="col-xs-12 col-md-12"> <div class="col-xs-12 col-md-12">
<q-input <q-input
:class="classInput(isReadOnly)" :class="
:readonly="isReadOnly" classInput(
isReadOnly || !workflowRef?.permission.isUpdate
)
"
:readonly="isReadOnly || !workflowRef?.permission.isUpdate"
v-model="formData.remark" v-model="formData.remark"
label="หมายเหตุ" label="หมายเหตุ"
dense dense
@ -290,7 +299,10 @@ onMounted(async () => {
/> />
</div> </div>
<div class="row col-12 justify-end" v-if="!isReadOnly"> <div
class="row col-12 justify-end"
v-if="!isReadOnly && workflowRef?.permission.isUpdate"
>
<q-btn label="บันทึก" color="secondary" type="submit" <q-btn label="บันทึก" color="secondary" type="submit"
><q-tooltip>นท</q-tooltip></q-btn ><q-tooltip>นท</q-tooltip></q-btn
> >
@ -302,7 +314,11 @@ onMounted(async () => {
</q-form> </q-form>
<div class="col-12"> <div class="col-12">
<Workflow :id="requestId" sys-name="REGISTRY_PROFILE" /> <Workflow
ref="workflowRef"
:id="requestId"
sys-name="REGISTRY_PROFILE"
/>
</div> </div>
</div> </div>
</q-card-section> </q-card-section>

View file

@ -46,7 +46,7 @@ const {
/** ตัวแปร */ /** ตัวแปร */
const modalPersonal = ref<boolean>(false); const modalPersonal = ref<boolean>(false);
const personId = ref<string>(""); const personId = ref<string>("");
const roleUser = ref<string>(""); // const roleUser = ref<string>("");
const dataProfile = ref<DataProfile>(); const dataProfile = ref<DataProfile>();
const id = ref<string>(route.params.id.toString()); const id = ref<string>(route.params.id.toString());
@ -210,72 +210,72 @@ function popUp(action: "pass" | "passNot") {
} }
//pop up //pop up
function conditionPopup() { // function conditionPopup() {
if (myFormConfirm.value !== null) { // if (myFormConfirm.value !== null) {
myFormConfirm.value.validate().then(async (check) => { // myFormConfirm.value.validate().then(async (check) => {
if (check) { // if (check) {
if (actionPass.value) { // if (actionPass.value) {
await confirmpopUp(); // await confirmpopUp();
} else { // } else {
await rejectpopUp(); // await rejectpopUp();
} // }
} // }
}); // });
} // }
} // }
//pop up //pop up
async function confirmpopUp() { // async function confirmpopUp() {
dialogConfirm( // dialogConfirm(
$q, // $q,
async () => { // async () => {
const body = { // const body = {
reason: reasonReign.value, // reason: reasonReign.value,
}; // };
await http // await http
.put(config.API.resignConfirm(roleUser.value, id.value), body) // .put(config.API.resignConfirm(roleUser.value, id.value), body)
.then(() => { // .then(() => {
success($q, "การอนุญาตสำเร็จ"); // success($q, "");
closeModal(); // closeModal();
}) // })
.catch((e) => { // .catch((e) => {
messageError($q, e); // messageError($q, e);
}) // })
.finally(() => { // .finally(() => {
fetchData(id.value); // fetchData(id.value);
}); // });
}, // },
"ยืนยันการอนุญาต", // "",
"ต้องการยืนยันการอนุญาตการลานี้หรือไม่ ?" // " ?"
); // );
} // }
//pop up //pop up
async function rejectpopUp() { // async function rejectpopUp() {
dialogConfirm( // dialogConfirm(
$q, // $q,
async () => { // async () => {
const body = { // const body = {
reason: reasonReign.value, // reason: reasonReign.value,
date: dateBreak.value, // date: dateBreak.value,
}; // };
await http // await http
.put(config.API.resignReject(roleUser.value, id.value), body) // .put(config.API.resignReject(roleUser.value, id.value), body)
.then(() => { // .then(() => {
success($q, "การยับยั้งสำเร็จ"); // success($q, "");
closeModal(); // closeModal();
}) // })
.catch((e) => { // .catch((e) => {
messageError($q, e); // messageError($q, e);
}) // })
.finally(() => { // .finally(() => {
fetchData(id.value); // fetchData(id.value);
}); // });
}, // },
"ยืนยันการยับยั้ง", // "",
"ต้องการยืนยันการยับยั้งนี้หรือไม่ ?" // " ?"
); // );
} // }
/** /**
* กดยกเล * กดยกเล
@ -511,20 +511,20 @@ onMounted(async () => {
fetchData(id.value); fetchData(id.value);
fetchFile(); fetchFile();
const user = await tokenParsed(); const user = await tokenParsed();
if (user) { // if (user) {
const commander = await user.role.includes("commander"); // const commander = await user.role.includes("commander");
const oligarch = await user.role.includes("oligarch"); // const oligarch = await user.role.includes("oligarch");
const officer = await user.role.includes("officer"); // const officer = await user.role.includes("officer");
if (commander) { // if (commander) {
roleUser.value = "commander"; // roleUser.value = "commander";
} else if (oligarch) { // } else if (oligarch) {
roleUser.value = "oligarch"; // roleUser.value = "oligarch";
} else if (officer) { // } else if (officer) {
roleUser.value = "officer"; // roleUser.value = "officer";
} else { // } else {
roleUser.value = "admin"; // roleUser.value = "admin";
} // }
} // }
}); });
</script> </script>
@ -551,7 +551,7 @@ onMounted(async () => {
<q-card bordered class="row col-12 text-dark q-mt-sm"> <q-card bordered class="row col-12 text-dark q-mt-sm">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"> <div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
<div class="q-pl-sm text-weight-bold text-dark">อมลการลาออก</div> <div class="q-pl-sm text-weight-bold text-dark">อมลการลาออก</div>
<q-space /> <!-- <q-space />
<div <div
class="q-gutter-x-sm" class="q-gutter-x-sm"
v-if=" v-if="
@ -583,7 +583,7 @@ onMounted(async () => {
label="ยับยั้ง" label="ยับยั้ง"
@click="popUp('passNot')" @click="popUp('passNot')"
/> />
</div> </div> -->
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="row col-12 q-pa-md"> <div class="row col-12 q-pa-md">
@ -749,8 +749,8 @@ onMounted(async () => {
<div <div
v-if=" v-if="
dataDetail.status == 'WAITTING' && dataDetail.status == 'WAITTING' &&
roleUser === 'officer' && !checkRoutePermisson &&
!checkRoutePermisson workflowRef?.permission.isUpdate
" "
> >
<div v-if="!conditions"> <div v-if="!conditions">
@ -793,7 +793,7 @@ onMounted(async () => {
v-model="isNoDebt" v-model="isNoDebt"
label="ไม่เป็นหนี้สหกรณ์" label="ไม่เป็นหนี้สหกรณ์"
color="teal" color="teal"
:disable="!conditions" :disable="!conditions && !workflowRef?.permission.isUpdate"
/> />
</div> </div>
<div class="col-12"> <div class="col-12">
@ -801,7 +801,7 @@ onMounted(async () => {
v-model="isNoBurden" v-model="isNoBurden"
label="ไม่มีภาระผูกพันค้ำประกันทุนการศึกษา" label="ไม่มีภาระผูกพันค้ำประกันทุนการศึกษา"
color="teal" color="teal"
:disable="!conditions" :disable="!conditions && !workflowRef?.permission.isUpdate"
/> />
</div> </div>
<div class="col-12"> <div class="col-12">
@ -809,15 +809,9 @@ onMounted(async () => {
v-model="isDiscipline" v-model="isDiscipline"
label="ไม่มีพฤติการณ์ทางวินัย" label="ไม่มีพฤติการณ์ทางวินัย"
color="teal" color="teal"
:disable="!conditions" :disable="!conditions && !workflowRef?.permission.isUpdate"
/> />
</div> </div>
<!-- <q-option-group
:options="checkboxOp"
type="checkbox"
v-model="checkboxGroup"
:disable="!conditions"
/> -->
</q-card> </q-card>
</div> </div>
<div class="col-6"> <div class="col-6">
@ -833,8 +827,8 @@ onMounted(async () => {
<q-file <q-file
v-if=" v-if="
dataDetail.status == 'WAITTING' && dataDetail.status == 'WAITTING' &&
roleUser === 'officer' && !checkRoutePermisson &&
!checkRoutePermisson workflowRef?.permission.isUpdate
" "
class="col-12" class="col-12"
for="#evidenceFiles" for="#evidenceFiles"
@ -891,7 +885,6 @@ onMounted(async () => {
<q-btn <q-btn
v-if=" v-if="
dataDetail.status == 'WAITTING' && dataDetail.status == 'WAITTING' &&
roleUser === 'officer' &&
!checkRoutePermisson !checkRoutePermisson
" "
dense dense
@ -1066,7 +1059,7 @@ onMounted(async () => {
</div> </div>
<q-space /> <q-space />
<div v-if="roleUser === 'officer' && !checkRoutePermisson"> <div v-if="!checkRoutePermisson && workflowRef?.permission.isUpdate">
<div class="q-gutter-sm" v-if="!edit"> <div class="q-gutter-sm" v-if="!edit">
<q-btn <q-btn
outline outline
@ -1357,7 +1350,7 @@ onMounted(async () => {
</div> </div>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
<DialogFooter :editvisible="true" :save="conditionPopup" /> <!-- <DialogFooter :editvisible="true" :save="conditionPopup" /> -->
</q-form> </q-form>
</q-card> </q-card>
</q-dialog> </q-dialog>