แก้โค้ดตาม issue
This commit is contained in:
parent
3968d2b1a0
commit
bb6afbb98e
12 changed files with 323 additions and 252 deletions
|
|
@ -11,31 +11,31 @@ export const apiUrlConfigReport = import.meta.env.VITE_API_REPORT_URL;
|
|||
const config = ref<any>({
|
||||
development: {
|
||||
// API_URI: "http://localhost:13001/api/v1",
|
||||
API_URI: "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
API_URI: "https://bma-ehr.frappet.com/api/v1",
|
||||
// API_URI_ORG_SERVICE: "https://localhost:7056/api/v1", //ใช้ชั่วคราว
|
||||
API_URI_ORG_SERVICE: "https://bma-ehr.frappet.synology.me/api/v1", //ใช้ชั่วคราว
|
||||
API_URI_ORG_SERVICE: "https://bma-ehr.frappet.com/api/v1", //ใช้ชั่วคราว
|
||||
// API_URI_ORG_EMPLOYEE_SERVICE: "https://localhost:7208/api/v1", //ใช้ชั่วคราว
|
||||
API_URI_ORG_EMPLOYEE_SERVICE: "https://bma-ehr.frappet.synology.me/api/v1", //ใช้ชั่วคราว
|
||||
API_URI_ORG_EMPLOYEE_SERVICE: "https://bma-ehr.frappet.com/api/v1", //ใช้ชั่วคราว
|
||||
// API_URI_PROFILE_SERVICE: "https://localhost:7159/api/v1",
|
||||
API_URI_PROFILE_SERVICE: "https://bma-ehr.frappet.synology.me/api/v1", //ใช้ชั่วคราว
|
||||
API_URI_PROFILE_SERVICE: "https://bma-ehr.frappet.com/api/v1", //ใช้ชั่วคราว
|
||||
// API_CANDIDATE_URI: "https://localhost:7007/api/v1",
|
||||
API_CANDIDATE_URI: "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
API_CANDIDATE_URI: "https://bma-ehr.frappet.com/api/v1",
|
||||
// API_REPORT_URI: "https://localhost:7187/api/v1",
|
||||
API_REPORT_URI: "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
API_REPORT_URI: "https://bma-ehr.frappet.com/api/v1",
|
||||
// API_PLACEMENT_URI: "https://localhost:7260/api",
|
||||
API_PLACEMENT_URI: "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
API_PLACEMENT_URI: "https://bma-ehr.frappet.com/api/v1",
|
||||
API_URI_ORG_TREE:
|
||||
"https://s3cluster.frappet.com/bma-ehr-fpt/organization/strueture/tree_20230712_172702.json",
|
||||
MEET_URI: "meet.frappet.com",
|
||||
API_RETIREMENT_URI: "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
API_RETIREMENT_URI: "https://bma-ehr.frappet.com/api/v1",
|
||||
// API_PROBATION_URI: "https://ehr.joolsoft.com/v1",
|
||||
API_PROBATION_URI: "https://bma-ehr.frappet.synology.me/api/v1/probation",
|
||||
API_PROBATION_URI: "https://bma-ehr.frappet.com/api/v1/probation",
|
||||
// API_PROBATION_URI: "http://192.168.1.151:7776/v1",
|
||||
API_REPORT2_URI: "https://bma-ehr.frappet.synology.me/api/v2",
|
||||
LINK_EVALUATE_PUBLISH: "https://bma-ehr-publish.frappet.synology.me",
|
||||
API_REPORT_TEMPLATE_URI:
|
||||
"https://report-server.frappet.synology.me/api/v1/report-template",
|
||||
API_SUPPORT_URI: "https://bma-ehr.frappet.synology.me/api/v1/support",
|
||||
API_SUPPORT_URI: "https://bma-ehr.frappet.com/api/v1/support",
|
||||
},
|
||||
test: {
|
||||
API_URI: "http://localhost:5010/api/v1",
|
||||
|
|
|
|||
|
|
@ -1706,52 +1706,50 @@ const fetchData = async () => {
|
|||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
rows.value = [];
|
||||
data.map((e: any) => {
|
||||
rows.value.push({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionName: e.positionName,
|
||||
positionId:
|
||||
e.positionId !== "00000000-0000-0000-0000-000000000000"
|
||||
? e.positionId
|
||||
: "",
|
||||
posNo: e.posNo,
|
||||
posNoId:
|
||||
e.posNoId !== "00000000-0000-0000-0000-000000000000"
|
||||
? e.posNoId
|
||||
: "",
|
||||
positionLine: e.positionLine,
|
||||
positionLineName: e.positionLineName,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionPathSideName: e.positionPathSideName,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveName: e.positionExecutiveName,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
salaryStatus: e.salaryStatus,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
orgName: e.orgName,
|
||||
agencyName: e.agencyName,
|
||||
cLevel: e.cLevel,
|
||||
createdAt: new Date(e.createdAt),
|
||||
});
|
||||
});
|
||||
rows.value = data.map((e: any) => ({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionName: e.positionName,
|
||||
positionId:
|
||||
e.positionId !== "00000000-0000-0000-0000-000000000000"
|
||||
? e.positionId
|
||||
: "",
|
||||
posNo: e.posNo,
|
||||
posNoId:
|
||||
e.posNoId !== "00000000-0000-0000-0000-000000000000"
|
||||
? e.posNoId
|
||||
: "",
|
||||
positionLine: e.positionLine,
|
||||
positionLineName: e.positionLineName,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionPathSideName: e.positionPathSideName,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveName: e.positionExecutiveName,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
salaryStatus: e.salaryStatus,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
orgName: e.orgName,
|
||||
agencyName: e.agencyName,
|
||||
cLevel: e.cLevel,
|
||||
createdAt: new Date(e.createdAt),
|
||||
}));
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -2257,46 +2255,44 @@ const clickHistory = async (row: RequestItemsObject) => {
|
|||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
rowsHistory.value = [];
|
||||
data.map((e: any) => {
|
||||
rowsHistory.value.push({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
positionName: e.positionName,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineName: e.positionLineName,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionPathSideName: e.positionPathSideName,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveName: e.positionExecutiveName,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryStatus: e.salaryStatus,
|
||||
salaryRef: e.salaryRef,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
orgName: e.orgName,
|
||||
agencyName: e.agencyName,
|
||||
cLevel: e.cLevel,
|
||||
createdAt: new Date(e.createdAt),
|
||||
});
|
||||
});
|
||||
rowsHistory.value = data.map((e: any) => ({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
positionName: e.positionName,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineName: e.positionLineName,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionPathSideName: e.positionPathSideName,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveName: e.positionExecutiveName,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryStatus: e.salaryStatus,
|
||||
salaryRef: e.salaryRef,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
orgName: e.orgName,
|
||||
agencyName: e.agencyName,
|
||||
cLevel: e.cLevel,
|
||||
createdAt: new Date(e.createdAt),
|
||||
}));
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
|
|||
|
|
@ -299,6 +299,8 @@ function deleteProductivitys(item: number) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** get ข้อมูล */
|
||||
async function getUser() {
|
||||
await http
|
||||
|
|
@ -980,17 +982,18 @@ watch(knowledge.value, () => {
|
|||
* @param update fn
|
||||
*/
|
||||
function filterFnCaretaker(val: string, update: any) {
|
||||
const dataFilter = filtermantor(OPcaretaker.value, [caretaker2.value]).filter(
|
||||
(i: any) => i.id !== chairman.value.id
|
||||
);
|
||||
if (val == "") {
|
||||
update(() => {
|
||||
optionCaretaker.value = filtermantor(OPcaretaker.value, [
|
||||
caretaker2.value,
|
||||
]);
|
||||
optionCaretaker.value = dataFilter;
|
||||
});
|
||||
} else {
|
||||
update(() => {
|
||||
optionCaretaker.value = filtermantor(OPcaretaker.value, [
|
||||
caretaker2.value,
|
||||
]).filter((e: any) => e.name.search(val) !== -1);
|
||||
optionCaretaker.value = dataFilter.filter(
|
||||
(e: any) => e.name.search(val) !== -1
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1002,17 +1005,18 @@ function filterFnCaretaker(val: string, update: any) {
|
|||
*/
|
||||
|
||||
function filterFnCaretaker2(val: string, update: any) {
|
||||
const dataFilter = filtermantor(OPcaretaker.value, [caretaker1.value]).filter(
|
||||
(i: any) => i.id !== chairman.value.id
|
||||
);
|
||||
if (val == "") {
|
||||
update(() => {
|
||||
optionCaretaker2.value = filtermantor(OPcaretaker.value, [
|
||||
caretaker1.value,
|
||||
]);
|
||||
optionCaretaker2.value = dataFilter;
|
||||
});
|
||||
} else {
|
||||
update(() => {
|
||||
optionCaretaker2.value = filtermantor(OPcaretaker.value, [
|
||||
caretaker1.value,
|
||||
]).filter((e: any) => e.name.search(val) !== -1);
|
||||
optionCaretaker2.value = dataFilter.filter(
|
||||
(e: any) => e.name.search(val) !== -1
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1024,13 +1028,16 @@ function filterFnCaretaker2(val: string, update: any) {
|
|||
*/
|
||||
|
||||
function filterFnCommander(val: string, update: any) {
|
||||
const dataFilter = OPcommander.value.filter(
|
||||
(i: any) => i.id !== chairman.value.id
|
||||
);
|
||||
if (val == "") {
|
||||
update(() => {
|
||||
OPcommanderFn.value = OPcommander.value;
|
||||
OPcommanderFn.value = dataFilter;
|
||||
});
|
||||
} else {
|
||||
update(() => {
|
||||
OPcommanderFn.value = OPcommander.value.filter(
|
||||
OPcommanderFn.value = dataFilter.filter(
|
||||
(e: any) => e.name.search(val) !== -1
|
||||
);
|
||||
});
|
||||
|
|
@ -1044,13 +1051,19 @@ function filterFnCommander(val: string, update: any) {
|
|||
*/
|
||||
|
||||
function filterFnChairman(val: string, update: any) {
|
||||
const dataFilter = OPchairman.value.filter(
|
||||
(i: any) =>
|
||||
i.id !== caretaker1.value.id &&
|
||||
i.id !== caretaker2.value.id &&
|
||||
i.id !== commander.value.id
|
||||
);
|
||||
if (val == "") {
|
||||
update(() => {
|
||||
OPchairmanFn.value = OPchairman.value;
|
||||
OPchairmanFn.value = dataFilter;
|
||||
});
|
||||
} else {
|
||||
update(() => {
|
||||
OPchairmanFn.value = OPchairman.value.filter(
|
||||
OPchairmanFn.value = dataFilter.filter(
|
||||
(e: any) => e.name.search(val) !== -1
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -972,39 +972,37 @@ const fetchData = async () => {
|
|||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
rows.value = [];
|
||||
data.map((e: ResponseObject) => {
|
||||
rows.value.push({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
salaryStatus: e.salaryStatus,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
createdAt: new Date(e.createdAt),
|
||||
});
|
||||
});
|
||||
rows.value = data.map((e: ResponseObject) => ({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
salaryStatus: e.salaryStatus,
|
||||
refCommandNo: e.refCommandNo,
|
||||
createdFullName: e.createdFullName,
|
||||
createdAt: new Date(e.createdAt),
|
||||
}));
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -1450,39 +1448,37 @@ const clickHistory = async (row: RequestItemsObject) => {
|
|||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
rowsHistory.value = [];
|
||||
data.map((e: ResponseObject) => {
|
||||
rowsHistory.value.push({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
refCommandNo: e.refCommandNo,
|
||||
salaryStatus: e.salaryStatus,
|
||||
createdFullName: e.createdFullName,
|
||||
createdAt: new Date(e.createdAt),
|
||||
});
|
||||
});
|
||||
rowsHistory.value = data.map((e: ResponseObject) => ({
|
||||
id: e.id,
|
||||
date: new Date(e.date),
|
||||
amount: e.amount,
|
||||
positionSalaryAmount: e.positionSalaryAmount,
|
||||
mouthSalaryAmount: e.mouthSalaryAmount,
|
||||
oc: e.oc,
|
||||
ocId: e.ocId,
|
||||
position: e.position,
|
||||
positionId: e.positionId,
|
||||
posNo: e.posNo,
|
||||
posNoId: e.posNoId,
|
||||
positionLine: e.positionLine,
|
||||
positionLineId: e.positionLineId,
|
||||
positionPathSide: e.positionPathSide,
|
||||
positionPathSideId: e.positionPathSideId,
|
||||
positionType: e.positionType,
|
||||
positionTypeId: e.positionTypeId,
|
||||
positionLevel: e.positionLevel,
|
||||
positionLevelId: e.positionLevelId,
|
||||
positionExecutive: e.positionExecutive,
|
||||
positionExecutiveId: e.positionExecutiveId,
|
||||
positionExecutiveSide: e.positionExecutiveSide,
|
||||
positionExecutiveSideId: e.positionExecutiveSideId,
|
||||
salaryClass: e.salaryClass,
|
||||
salaryRef: e.salaryRef,
|
||||
refCommandNo: e.refCommandNo,
|
||||
salaryStatus: e.salaryStatus,
|
||||
createdFullName: e.createdFullName,
|
||||
createdAt: new Date(e.createdAt),
|
||||
}));
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
|
|||
|
|
@ -899,6 +899,7 @@ const getClass = (val: boolean) => {
|
|||
:rules="[(val) => !!val || `${'กรุณากรอก พ.ศ.'}`]"
|
||||
:label="`${'พ.ศ.'}`"
|
||||
dense
|
||||
hide-bottom-space
|
||||
outlined
|
||||
>
|
||||
</q-input>
|
||||
|
|
@ -927,6 +928,7 @@ const getClass = (val: boolean) => {
|
|||
:class="getClass(true)"
|
||||
outlined
|
||||
dense
|
||||
hide-bottom-space
|
||||
class="full-width datepicker"
|
||||
:model-value="
|
||||
dateCommand != null ? date2Thai(dateCommand) : null
|
||||
|
|
|
|||
|
|
@ -863,6 +863,7 @@ const title = computed(() => {
|
|||
autoApply
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
@update:model-value="formDetail.endDate = null"
|
||||
>
|
||||
<template #year="{ year }">{{ year + 543 }}</template>
|
||||
<template #year-overlay-value="{ value }">{{
|
||||
|
|
@ -906,6 +907,7 @@ const title = computed(() => {
|
|||
autoApply
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
:min-date="formDetail.startDate"
|
||||
>
|
||||
<template #year="{ year }">{{ year + 543 }}</template>
|
||||
<template #year-overlay-value="{ value }">{{
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ onMounted(() => {
|
|||
<d-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:rows="rows.length !== 0 ? rows[item.id]:[]"
|
||||
:rows="rows[item.id].length !== 0 ? rows[item.id]:[]"
|
||||
row-key="id"
|
||||
flat
|
||||
bordered
|
||||
|
|
|
|||
|
|
@ -441,6 +441,21 @@ onMounted(() => {
|
|||
<q-separator />
|
||||
<q-card-section >
|
||||
<div class="row q-col-gutter-sm">
|
||||
<div class="col-12">
|
||||
<q-input
|
||||
dense
|
||||
outlined
|
||||
class="inputgreen"
|
||||
label="ชื่อตัวชี้วัด"
|
||||
v-model="formIndicators.indicators"
|
||||
hide-bottom-space
|
||||
:rules="[
|
||||
(val:string) =>
|
||||
!!val || `${'กรุณากรอกชื่อตัวชี้วัด'}`,
|
||||
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<q-select
|
||||
dense
|
||||
|
|
@ -461,23 +476,9 @@ onMounted(() => {
|
|||
]"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<q-input
|
||||
dense
|
||||
outlined
|
||||
class="inputgreen"
|
||||
label="ชื่อตัวชี้วัด"
|
||||
v-model="formIndicators.indicators"
|
||||
hide-bottom-space
|
||||
:rules="[
|
||||
(val:string) =>
|
||||
!!val || `${'กรุณากรอกชื่อตัวชี้วัด'}`,
|
||||
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
|
||||
<div class="col-6">
|
||||
<q-input
|
||||
dense
|
||||
outlined
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ onMounted(() => {
|
|||
<q-tab-panel name="Target"> <Target /></q-tab-panel>
|
||||
<q-tab-panel name="ProjectDetail" style="padding: 0px"> <ProjectDetail /> </q-tab-panel>
|
||||
<q-tab-panel name="FollowResult"> <FollowResult /> </q-tab-panel>
|
||||
<q-tab-panel name="Other" style="padding: 0px"> <Other /> </q-tab-panel>
|
||||
<q-tab-panel name="Other" style="padding: 0px"> <Other :status="status"/> </q-tab-panel>
|
||||
<q-tab-panel name="Record"> <Record /> </q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ const {
|
|||
const route = useRoute();
|
||||
const projectId = ref<string>(route.params.id.toLocaleString());
|
||||
|
||||
const status = defineModel<string>('status',{required:true})
|
||||
const provinceOp = ref<DataOption[]>([]);
|
||||
const provinceOpMain = ref<DataOption[]>([]);
|
||||
const budgetOp = ref<DataOption[]>([
|
||||
|
|
@ -475,7 +476,7 @@ onMounted(() => {
|
|||
reverse-fill-mask
|
||||
/>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="col-3" v-if="status == 'FINISH'">
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
|
|
|
|||
|
|
@ -15,6 +15,11 @@ import { useDevelopmentDataStore } from "@/modules/15_development/store/developm
|
|||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
const other1 = ref<boolean>(false);
|
||||
const other2 = ref<boolean>(false);
|
||||
const otherInput1 = ref<string>("");
|
||||
const otherInput2 = ref<string>("");
|
||||
|
||||
const $q = useQuasar();
|
||||
const store = useDevelopmentDataStore();
|
||||
const route = useRoute();
|
||||
|
|
@ -161,7 +166,9 @@ async function onSubmit() {
|
|||
projectModal: formData.projectModal,
|
||||
isBackPlanned: formData.isBackPlanned,
|
||||
isHoldPlanned: formData.isHoldPlanned,
|
||||
projectDayBackPlanned: formData.isBackPlanned ? formData.projectDayBackPlanned:null,
|
||||
projectDayBackPlanned: formData.isBackPlanned
|
||||
? formData.projectDayBackPlanned
|
||||
: null,
|
||||
projectDayHoldPlanned: formData.projectDayHoldPlanned,
|
||||
projectNigthHoldPlanned: formData.projectNigthHoldPlanned,
|
||||
developmentProjectTechniquePlanneds:
|
||||
|
|
@ -206,6 +213,15 @@ function updateSelected(data: DataStrategic, type: string) {
|
|||
}
|
||||
}
|
||||
|
||||
function checkOther(type: number, val: boolean) {
|
||||
if(val == false){
|
||||
if(type == 1){
|
||||
otherInput1.value = ''
|
||||
}else if(type == 2){
|
||||
otherInput2.value = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
/** ดึงข้อมูลเมื่อคอมโพเนนต์โหลดเสร็จสมบูรณ์ */
|
||||
onMounted(() => {
|
||||
fetchData();
|
||||
|
|
@ -232,7 +248,6 @@ onMounted(() => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<q-card bordered class="col-12 q-my-sm">
|
||||
<div
|
||||
class="col-xs-12 col-sm-12 text-weight-medium bg-grey-3 q-py-xs q-px-md"
|
||||
|
|
@ -285,7 +300,9 @@ onMounted(() => {
|
|||
<q-item
|
||||
clickable
|
||||
@click.stop="updateSelected(prop.node, '1')"
|
||||
:active="formData.strategyChildPlannedId == prop.node.id"
|
||||
:active="
|
||||
formData.strategyChildPlannedId == prop.node.id
|
||||
"
|
||||
active-class="my-list-link text-primary text-weight-medium"
|
||||
class="row col-12 items-center text-dark q-py-xs q-pl-sm rounded-borders my-list"
|
||||
>
|
||||
|
|
@ -448,7 +465,29 @@ onMounted(() => {
|
|||
type="checkbox"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12 q-mb-lg">
|
||||
<div class="row">
|
||||
<div class="col-4 relative-position">
|
||||
<div class="other_custom">
|
||||
<q-checkbox
|
||||
v-model="other1"
|
||||
label="อื่นๆ"
|
||||
size="sm"
|
||||
color="primary"
|
||||
keep-color
|
||||
:disable="store.projectStatus === 'FINISH'"
|
||||
@update:model-value="checkOther(1, other1)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-8 relative-position">
|
||||
<div class="other_custom_input" v-if="other1 == true">
|
||||
<q-input v-model="otherInput1" dense outlined label="กรุณากรอก อื่นๆ"></q-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-6 col-md-4">
|
||||
<q-input
|
||||
:disable="store.projectStatus === 'FINISH'"
|
||||
|
|
@ -534,6 +573,28 @@ onMounted(() => {
|
|||
type="checkbox"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12 q-mb-lg">
|
||||
<div class="row">
|
||||
<div class="col-4 relative-position">
|
||||
<div class="other_custom">
|
||||
<q-checkbox
|
||||
v-model="other2"
|
||||
label="อื่นๆ"
|
||||
size="sm"
|
||||
color="primary"
|
||||
keep-color
|
||||
@update:model-value="checkOther(2, other2)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-8 relative-position">
|
||||
<div class="other_custom_input" v-if="other2 == true">
|
||||
<q-input v-model="otherInput2" dense outlined label="กรุณากรอก อื่นๆ"></q-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-6 col-md-4">
|
||||
<q-input
|
||||
dense
|
||||
|
|
@ -573,4 +634,14 @@ onMounted(() => {
|
|||
font-weight: 600;
|
||||
border: 1px solid rgba(175, 185, 196, 0.217);
|
||||
}
|
||||
.other_custom {
|
||||
position: absolute;
|
||||
left: -7px;
|
||||
top: -29px;
|
||||
}
|
||||
.other_custom_input {
|
||||
position: absolute;
|
||||
top: -25px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1104,6 +1104,47 @@ onMounted(() => {
|
|||
v-for="(items, index) in formGroupTarget.positions"
|
||||
class="col-12 row q-col-gutter-sm"
|
||||
>
|
||||
|
||||
<div
|
||||
class="col"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
>
|
||||
<q-select
|
||||
dense
|
||||
outlined
|
||||
class="inputgreen"
|
||||
v-model="items.posTypeId"
|
||||
:options="posTypeOp"
|
||||
option-label="name"
|
||||
option-value="id"
|
||||
emit-value
|
||||
map-options
|
||||
input-class="text-red"
|
||||
label="ประเภทตำแหน่ง"
|
||||
@update:model-value="updatePosTypeName"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="col"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
>
|
||||
<q-select
|
||||
dense
|
||||
outlined
|
||||
class="inputgreen"
|
||||
v-model="items.posLevelId"
|
||||
:options="
|
||||
posTypeMain.find((v) => items.posTypeId === v.id)
|
||||
?.posLevels || []
|
||||
"
|
||||
option-label="posLevelName"
|
||||
option-value="id"
|
||||
emit-value
|
||||
map-options
|
||||
input-class="text-red"
|
||||
label="ระดับตำแหน่ง"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="col"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
|
|
@ -1121,58 +1162,6 @@ onMounted(() => {
|
|||
]"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="col"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
>
|
||||
<q-select
|
||||
dense
|
||||
outlined
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
class="inputgreen"
|
||||
v-model="items.posTypeId"
|
||||
:options="posTypeOp"
|
||||
option-label="name"
|
||||
option-value="id"
|
||||
emit-value
|
||||
map-options
|
||||
input-class="text-red"
|
||||
label="ประเภทตำแหน่ง"
|
||||
@update:model-value="updatePosTypeName"
|
||||
:rules="[
|
||||
(val:string) =>
|
||||
!!val || `${'กรุณาเลือกประเภทตำแหน่ง'}`,
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="col"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
>
|
||||
<q-select
|
||||
dense
|
||||
outlined
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
class="inputgreen"
|
||||
v-model="items.posLevelId"
|
||||
:options="
|
||||
posTypeMain.find((v) => items.posTypeId === v.id)
|
||||
?.posLevels || []
|
||||
"
|
||||
option-label="posLevelName"
|
||||
option-value="id"
|
||||
emit-value
|
||||
map-options
|
||||
input-class="text-red"
|
||||
label="ระดับตำแหน่ง"
|
||||
:rules="[
|
||||
(val:string) =>
|
||||
!!val || `${'กรุณาเลือกระดับ'}`,
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="col-1 q-mt-sm"
|
||||
v-if="formGroupTarget.groupTarget !== 'OUTSIDERS'"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue