Merge branch 'develop' of github.com:Frappet/bma-ehr-frontend into develop
* 'develop' of github.com:Frappet/bma-ehr-frontend: ปรับหน้ารายละเอียดของผู้สอบผ่าน เเก้เป็นส่ง name แทน id แก้list รูปไม่ตรง ทะเบียนประวัติ เปลี่ยนรูป
This commit is contained in:
commit
5ac08fd6ea
8 changed files with 99 additions and 51 deletions
|
|
@ -90,6 +90,7 @@ const profileFile = ref();
|
|||
const input = document.createElement("input");
|
||||
const activeImage = ref<any | null>(null);
|
||||
const images = ref<any[]>([]);
|
||||
const imagesAlldata = ref<any[]>([]);
|
||||
|
||||
input.type = "file";
|
||||
input.accept = ".jpg,.png,.tif,.pic";
|
||||
|
|
@ -137,7 +138,7 @@ async function uploadProfile(path: string) {
|
|||
.then(async (res) => {
|
||||
uploadUrl.value = res.data[fileName.value].uploadUrl;
|
||||
uploadFileURL(uploadUrl.value, profileFile.value);
|
||||
dialogImage.value = false;
|
||||
closeImage();
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -368,15 +369,19 @@ async function clickSaveDeceased() {
|
|||
|
||||
function openDialogImg() {
|
||||
dialogImage.value = true;
|
||||
getImage();
|
||||
}
|
||||
function getImage() {
|
||||
showLoader();
|
||||
http
|
||||
.get(config.API.orgProfileAvatar + `/${profileId.value}`)
|
||||
.then((res) => {
|
||||
.then(async (res) => {
|
||||
let data = res.data.result;
|
||||
imagesAlldata.value = data;
|
||||
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
getImg(data[i]);
|
||||
await getImg(data[i]);
|
||||
}
|
||||
// images.value = data
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -390,7 +395,14 @@ function getImg(dataList: any) {
|
|||
http
|
||||
.get(config.API.fileByPath(`${dataList.avatar}/${dataList.avatarName}`))
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
const data = res.data;
|
||||
const newData = {
|
||||
id: dataList.id,
|
||||
isActive: dataList.isActive,
|
||||
...data,
|
||||
};
|
||||
images.value = [...images.value, newData];
|
||||
console.log(images.value);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -400,10 +412,31 @@ function getImg(dataList: any) {
|
|||
|
||||
function closeImage() {
|
||||
dialogImage.value = false;
|
||||
images.value = [];
|
||||
imagesAlldata.value = [];
|
||||
}
|
||||
|
||||
async function deletePhoto(id: string) {
|
||||
dialogRemove($q, () => {}, "ต้องการทำการลบข้อมูลนี้ใช่หรือไม่");
|
||||
dialogRemove(
|
||||
$q,
|
||||
() => {
|
||||
showLoader();
|
||||
http
|
||||
.delete(config.API.orgProfileAvatar + `/${id}`)
|
||||
.then((res) => {
|
||||
images.value = [];
|
||||
imagesAlldata.value = [];
|
||||
getImage();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
},
|
||||
"ต้องการทำการลบข้อมูลนี้ใช่หรือไม่"
|
||||
);
|
||||
}
|
||||
|
||||
function imageClass(n: any) {
|
||||
|
|
@ -413,7 +446,6 @@ function imageClass(n: any) {
|
|||
"rounded-borders bg-grey-2 image-size-full": !val,
|
||||
};
|
||||
}
|
||||
|
||||
function getClass(n: any) {
|
||||
const val = n == activeImage.value;
|
||||
return {
|
||||
|
|
@ -423,20 +455,21 @@ function getClass(n: any) {
|
|||
}
|
||||
|
||||
async function selectAvatarHistory() {
|
||||
console.log(activeImage.value);
|
||||
|
||||
if (activeImage.value == null) {
|
||||
dialogMessageNotify($q, "กรุณาเลือกรูปที่ต้องการเปลี่ยน");
|
||||
return;
|
||||
}
|
||||
const data = activeImage.value;
|
||||
showLoader();
|
||||
await http
|
||||
.put(config.API.profileAvatarId(profileId.value), {
|
||||
avatar: activeImage.value.avatarId,
|
||||
})
|
||||
.then((res) => {
|
||||
dialogImage.value = false;
|
||||
// fileName.value = `profile-${profileId.value}`;
|
||||
fetchProfile(profileId.value);
|
||||
fetchDataPersonal();
|
||||
.get(config.API.orgProfileAvatar + `/select/${profileId.value}/${data.id}`)
|
||||
.then(async(res) => {
|
||||
closeImage();
|
||||
|
||||
await fetchDataPersonal();
|
||||
await fetchProfile(profileId.value);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -770,8 +803,8 @@ onMounted(async () => {
|
|||
>
|
||||
<div :class="getClass(n)">
|
||||
<q-img
|
||||
v-if="n.avatar != null"
|
||||
:src="n.avatar"
|
||||
v-if="n.downloadUrl != null"
|
||||
:src="n.downloadUrl"
|
||||
:class="imageClass(n)"
|
||||
>
|
||||
<!-- <div
|
||||
|
|
@ -791,7 +824,7 @@ onMounted(async () => {
|
|||
class="absolute-bottom col-12 cursor-pointer flex justify-between items-center"
|
||||
style="padding: 5px"
|
||||
>
|
||||
{{ date2Thai(n.createdDate) }}
|
||||
{{ date2Thai(n.createdAt) }}
|
||||
|
||||
<q-btn
|
||||
v-if="!n.isActive"
|
||||
|
|
@ -871,4 +904,18 @@ h2.title {
|
|||
.bg-active-image {
|
||||
background-color: #52c688;
|
||||
}
|
||||
|
||||
.image-size-default {
|
||||
height: 150px;
|
||||
max-width: 15vw;
|
||||
}
|
||||
|
||||
.image-size-full {
|
||||
height: 160px;
|
||||
max-width: 15vw;
|
||||
}
|
||||
.border-green {
|
||||
border: 5px solid #52c688;
|
||||
border-radius: 8px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -172,12 +172,7 @@ function insertAvatar(items: DataPerson[]) {
|
|||
items.map((x: any, index: number) => {
|
||||
http
|
||||
.get(
|
||||
config.API.fileByFile(
|
||||
"ทะเบียนประวัติ",
|
||||
"โปรไฟล์",
|
||||
x.id,
|
||||
"profile-" + x.id
|
||||
)
|
||||
config.API.fileByFile("ทะเบียนประวัติ", "โปรไฟล์", x.id, x.avatarName)
|
||||
)
|
||||
.then((img) => {
|
||||
dataPersonMain.value[index] = {
|
||||
|
|
|
|||
|
|
@ -129,12 +129,11 @@ const fetchData = async () => {
|
|||
InformationData.value.lastname = data.lastname;
|
||||
InformationData.value.nationality = data.nationality;
|
||||
InformationData.value.race = data.race;
|
||||
InformationData.value.genderId = guidCheck(data.genderId) ?? "";
|
||||
InformationData.value.prefixId = guidCheck(data.prefixId) ?? "";
|
||||
InformationData.value.relationshipId =
|
||||
guidCheck(data.relationshipId) ?? "";
|
||||
InformationData.value.religionId = guidCheck(data.religionId) ?? "";
|
||||
InformationData.value.bloodGroupId = guidCheck(data.bloodGroupId) ?? "";
|
||||
InformationData.value.genderId = guidCheck(data.gender) ?? "";
|
||||
InformationData.value.prefixId = guidCheck(data.prefix) ?? "";
|
||||
InformationData.value.relationshipId = guidCheck(data.relationship) ?? "";
|
||||
InformationData.value.religionId = guidCheck(data.religion) ?? "";
|
||||
InformationData.value.bloodGroupId = guidCheck(data.bloodGroup) ?? "";
|
||||
InformationData.value.dateOfBirth = new Date(data.dateOfBirth);
|
||||
InformationData.value.age = data.age;
|
||||
InformationData.value.telephone = data.telephone;
|
||||
|
|
@ -165,17 +164,17 @@ const fetchData = async () => {
|
|||
|
||||
FamilyData.value.couple = data.couple ? "1" : "0";
|
||||
FamilyData.value.marryPrefix = data.marryPrefix ?? "";
|
||||
FamilyData.value.marryPrefixId = guidCheck(data.marryPrefixId) ?? "";
|
||||
FamilyData.value.marryPrefixId = guidCheck(data.marryPrefix) ?? "";
|
||||
FamilyData.value.marryFirstName = data.marryFirstName ?? "";
|
||||
FamilyData.value.marryLastName = data.marryLastName ?? "";
|
||||
FamilyData.value.marryOccupation = data.marryOccupation ?? "";
|
||||
FamilyData.value.fatherPrefix = data.fatherPrefix ?? "";
|
||||
FamilyData.value.fatherPrefixId = guidCheck(data.fatherPrefixId) ?? "";
|
||||
FamilyData.value.fatherPrefixId = guidCheck(data.fatherPrefix) ?? "";
|
||||
FamilyData.value.fatherFirstName = data.fatherFirstName ?? "";
|
||||
FamilyData.value.fatherLastName = data.fatherLastName ?? "";
|
||||
FamilyData.value.fatherOccupation = data.fatherOccupation ?? "";
|
||||
FamilyData.value.motherPrefix = data.motherPrefix ?? "";
|
||||
FamilyData.value.motherPrefixId = guidCheck(data.motherPrefixId) ?? "";
|
||||
FamilyData.value.motherPrefixId = guidCheck(data.motherPrefix) ?? "";
|
||||
FamilyData.value.motherFirstName = data.motherFirstName ?? "";
|
||||
FamilyData.value.motherLastName = data.motherLastName ?? "";
|
||||
FamilyData.value.motherOccupation = data.motherOccupation ?? "";
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ onMounted(async () => {
|
|||
const fetchLevel = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.educationLevel)
|
||||
.get(config.API.orgEducationLevel)
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
let option: optionData[] = [];
|
||||
|
|
@ -774,6 +774,7 @@ const getClass = (val: boolean) => {
|
|||
</ProfileTable>
|
||||
</q-form>
|
||||
</q-card>
|
||||
|
||||
<q-dialog v-model="modal" persistent>
|
||||
<q-card style="width: 600px">
|
||||
<q-form ref="myForm" greedy @submit.prevent @validation-success="clickSave">
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ const selectSubDistrict = (e: string | null, name: string) => {
|
|||
const fetchProvince = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.province)
|
||||
.get(config.API.orgProvince)
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
let option: optionData[] = [];
|
||||
|
|
@ -326,9 +326,9 @@ const fetchDistrict = async (id: string | null, position: string) => {
|
|||
if (id != null && id != "") {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.listDistrict(id))
|
||||
.get(config.API.orgProvince+`/${id}`)
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
const data = res.data.result.districts;
|
||||
let option: optionData[] = [];
|
||||
data.map((r: any) => {
|
||||
option.push({ id: r.id.toString(), name: r.name.toString() });
|
||||
|
|
@ -372,9 +372,9 @@ const fetchSubDistrict = async (id: string | null, position: string) => {
|
|||
if (id != null && id != "") {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.listSubDistrict(id))
|
||||
.get(config.API.orgDistrict+`/${id}`)
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
const data = res.data.result.subDistricts;
|
||||
let option: zipCodeOption[] = [];
|
||||
data.map((r: any) => {
|
||||
option.push({
|
||||
|
|
|
|||
|
|
@ -81,12 +81,12 @@ const refreshData = async () => {
|
|||
const fetchPrefix = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.prefix)
|
||||
.get(config.API.profileNewMetaMain)
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
let option: DataOption[] = [];
|
||||
data.map((r: any) => {
|
||||
option.push({ id: r.id.toString(), name: r.name.toString() });
|
||||
data.prefixs.map((r: any) => {
|
||||
option.push({ id: r.name.toString(), name: r.name.toString() });
|
||||
});
|
||||
Ops.value.prefixOps = option;
|
||||
OpsFilter.value.prefixOps = option;
|
||||
|
|
|
|||
|
|
@ -112,53 +112,59 @@ const onCancel = async () => {
|
|||
const fetchPerson = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.person)
|
||||
.get(config.API.profileNewMetaMain)
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
|
||||
//กรุ๊ปเลือด
|
||||
let optionbloodGroups: optionData[] = [];
|
||||
data.bloodGroups.map((r: any) => {
|
||||
optionbloodGroups.push({
|
||||
id: r.id ?? "",
|
||||
id: r.name ?? "",
|
||||
name: r.name ?? "",
|
||||
});
|
||||
});
|
||||
Ops.value.bloodOps = optionbloodGroups;
|
||||
OpsFilter.value.bloodOps = optionbloodGroups;
|
||||
|
||||
//เพศ
|
||||
let optiongenders: optionData[] = [];
|
||||
data.genders.map((r: any) => {
|
||||
optiongenders.push({
|
||||
id: r.id ?? "",
|
||||
id: r.name ?? "",
|
||||
name: r.name ?? "",
|
||||
});
|
||||
});
|
||||
Ops.value.genderOps = optiongenders;
|
||||
OpsFilter.value.genderOps = optiongenders;
|
||||
|
||||
//คำนำหน้าชื่อ
|
||||
let optionprefixs: optionData[] = [];
|
||||
data.prefixs.map((r: any) => {
|
||||
optionprefixs.push({
|
||||
id: r.id ?? "",
|
||||
id: r.name ?? "",
|
||||
name: r.name ?? "",
|
||||
});
|
||||
});
|
||||
Ops.value.prefixOps = optionprefixs;
|
||||
OpsFilter.value.prefixOps = optionprefixs;
|
||||
|
||||
//สถานภาพ
|
||||
let optionrelationships: optionData[] = [];
|
||||
data.relationships.map((r: any) => {
|
||||
optionrelationships.push({
|
||||
id: r.id ?? "",
|
||||
id: r.name ?? "",
|
||||
name: r.name ?? "",
|
||||
});
|
||||
});
|
||||
Ops.value.statusOps = optionrelationships;
|
||||
OpsFilter.value.statusOps = optionrelationships;
|
||||
|
||||
//ศาสนา
|
||||
let optionreligions: optionData[] = [];
|
||||
data.religions.map((r: any) => {
|
||||
optionreligions.push({
|
||||
id: r.id ?? "",
|
||||
id: r.name ?? "",
|
||||
name: r.name ?? "",
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -142,10 +142,10 @@ interface Address {
|
|||
}
|
||||
|
||||
interface AddressData {
|
||||
subDistrictId: string;
|
||||
subDistrictId: any;
|
||||
zipCode: string;
|
||||
districtId: string;
|
||||
provinceId: string;
|
||||
districtId: any;
|
||||
provinceId: any;
|
||||
}
|
||||
|
||||
interface Certificate {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue