chore: install prettier

This commit is contained in:
Viet An
2026-05-04 15:22:27 +07:00
parent 93d29ca7d8
commit bd58e2b847
267 changed files with 22950 additions and 13581 deletions

View File

@@ -4,8 +4,7 @@
<div :class="`column is-2 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("custcode")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("custcode")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -15,19 +14,30 @@
placeholder=""
/>
</div>
<p class="help is-danger" v-if="errors.code">{{ errors.code }}</p>
<p
class="help is-danger"
v-if="errors.code"
>
{{ errors.code }}
</p>
</div>
</div>
<div :class="`column is-4 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("name")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("name")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input class="input" type="text" placeholder="" />
<input
class="input"
type="text"
placeholder=""
/>
</div>
<p class="help is-danger" v-if="errors.fullname">
<p
class="help is-danger"
v-if="errors.fullname"
>
{{ errors.fullname }}
</p>
</div>
@@ -35,8 +45,7 @@
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("phone_number")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("phone_number")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<InputPhone
@@ -45,7 +54,10 @@
>
</InputPhone>
</div>
<p class="help is-danger" v-if="errors.phone">
<p
class="help is-danger"
v-if="errors.phone"
>
{{ errors.phone }}
<a
class="has-text-primary"
@@ -66,14 +78,18 @@
>
</InputEmail>
</div>
<p class="help is-danger" v-if="errors.email">{{ errors.email }}</p>
<p
class="help is-danger"
v-if="errors.email"
>
{{ errors.email }}
</p>
</div>
</div>
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("gender")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("gender")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<SearchBox
@@ -93,8 +109,7 @@
<div :class="`column is-3 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("birth_date")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("birth_date")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<Datepicker
@@ -103,14 +118,18 @@
>
</Datepicker>
</div>
<p class="help is-danger" v-if="errors.dob">{{ errors.dob }}</p>
<p
class="help is-danger"
v-if="errors.dob"
>
{{ errors.dob }}
</p>
</div>
</div>
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("country")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("country")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<SearchBox
@@ -130,8 +149,7 @@
<div :class="`column is-3 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("province")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("province")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -146,8 +164,7 @@
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("district")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("district")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -162,8 +179,7 @@
<div :class="`column is-4 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("address")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("address")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -173,14 +189,15 @@
v-model="record.address"
/>
</div>
<p class="help is-danger" v-if="errors.address"></p>
<p
class="help is-danger"
v-if="errors.address"
></p>
</div>
</div>
<div :class="`column is-5 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label">{{
dataLang && findFieldName("company")[lang]
}}</label>
<label class="label">{{ dataLang && findFieldName("company")[lang] }}</label>
<div class="control">
<SearchBox
v-bind="{
@@ -201,8 +218,7 @@
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("personal_id")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("personal_id")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<SearchBox
@@ -222,8 +238,7 @@
<div :class="`column is-3 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("idnum")[lang] }}
<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("idnum")[lang] }} <b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -233,7 +248,10 @@
v-model="record.legal_code"
/>
</div>
<p class="help is-danger" v-if="errors.legal_code">
<p
class="help is-danger"
v-if="errors.legal_code"
>
{{ errors.legal_code }}
</p>
</div>
@@ -241,8 +259,7 @@
<div :class="`column is-2 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("issued_date")[lang] }}
<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("issued_date")[lang] }} <b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<Datepicker
@@ -255,7 +272,10 @@
@date="selected('issued_date', $event)"
></Datepicker>
</div>
<p class="help is-danger" v-if="errors.issued_date">
<p
class="help is-danger"
v-if="errors.issued_date"
>
{{ errors.issued_date }}
</p>
</div>
@@ -263,8 +283,7 @@
<div :class="`column is-4 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label"
>{{ dataLang && findFieldName("issued_place")[lang] }}
<b class="ml-1 has-text-danger">*</b></label
>{{ dataLang && findFieldName("issued_place")[lang] }} <b class="ml-1 has-text-danger">*</b></label
>
<div class="control">
<input
@@ -274,7 +293,10 @@
v-model="record.issued_place"
/>
</div>
<p class="help is-danger" v-if="errors.issued_place"></p>
<p
class="help is-danger"
v-if="errors.issued_place"
></p>
</div>
</div>
<div :class="`column is-3 px-0 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
@@ -306,9 +328,7 @@
<div :class="`column px-0 is-6 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<div class="field">
<label class="label">{{
dataLang && findFieldName("note")[lang]
}}</label>
<label class="label">{{ dataLang && findFieldName("note")[lang] }}</label>
<div class="control">
<textarea
class="textarea"
@@ -317,7 +337,12 @@
rows="1"
></textarea>
</div>
<p class="help is-danger" v-if="errors.note">{{ errors.note }}</p>
<p
class="help is-danger"
v-if="errors.note"
>
{{ errors.note }}
</p>
</div>
</div>
</div>
@@ -330,11 +355,15 @@
}"
></Caption>
</div>
<div class="columns mb-0 mx-0" v-for="(v, i) in people">
<div
class="columns mb-0 mx-0"
v-for="(v, i) in people"
>
<div :class="`column is-7 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<label class="label" v-if="i === 0"
>{{ findFieldName("select")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
<label
class="label"
v-if="i === 0"
>{{ findFieldName("select")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<SearchBox
v-bind="{
@@ -351,12 +380,18 @@
@option="selectPeople($event, v, i)"
>
</SearchBox>
<p class="help is-danger" v-if="v.error">{{ v.error }}</p>
<p
class="help is-danger"
v-if="v.error"
>
{{ v.error }}
</p>
</div>
<div :class="`column is-3 ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<label class="label" v-if="i === 0"
>{{ findFieldName("relationship")[lang]
}}<b class="ml-1 has-text-danger">*</b></label
<label
class="label"
v-if="i === 0"
>{{ findFieldName("relationship")[lang] }}<b class="ml-1 has-text-danger">*</b></label
>
<SearchBox
v-bind="{
@@ -374,23 +409,30 @@
</SearchBox>
</div>
<div :class="`column ${viewport === 1 ? 'px-0 pb-1' : ''}`">
<label class="label" v-if="i === 0"
<label
class="label"
v-if="i === 0"
>{{ findFieldName("addmore")[lang] }}...</label
>
<button class="button px-2 is-dark mr-3" @click="add()">
<SvgIcon
v-bind="{ name: 'add1.png', type: 'white', size: 20 }"
></SvgIcon>
<button
class="button px-2 is-dark mr-3"
@click="add()"
>
<SvgIcon v-bind="{ name: 'add1.png', type: 'white', size: 20 }"></SvgIcon>
</button>
<button class="button px-2 is-warning" @click="remove(v, i)">
<SvgIcon
v-bind="{ name: 'bin1.svg', type: 'white', size: 20 }"
></SvgIcon>
<button
class="button px-2 is-warning"
@click="remove(v, i)"
>
<SvgIcon v-bind="{ name: 'bin1.svg', type: 'white', size: 20 }"></SvgIcon>
</button>
</div>
</div>
<div class="mt-2">
<button class="button is-primary has-text-white" @click="update()">
<button
class="button is-primary has-text-white"
@click="update()"
>
{{ store.lang === "en" ? "Save" : "Lưu lại" }}
</button>
</div>
@@ -410,17 +452,7 @@ import Datepicker from "~/components/datepicker/Datepicker";
import { useStore } from "@/stores/index";
const emit = defineEmits(["close", "update"]);
const nuxtApp = useNuxtApp();
const {
$getdata,
$updateapi,
$insertapi,
$empty,
$errPhone,
$resetNull,
$snackbar,
$copy,
$dayjs,
} = nuxtApp;
const { $getdata, $updateapi, $insertapi, $empty, $errPhone, $resetNull, $snackbar, $copy, $dayjs } = nuxtApp;
var props = defineProps({
pagename: String,
row: Object,
@@ -540,10 +572,7 @@ function showCustomer() {
}
const selected = (fieldName, value) => {
const finalValue =
value !== null && typeof value === "object"
? value.id || value.index
: value;
const finalValue = value !== null && typeof value === "object" ? value.id || value.index : value;
record.value[fieldName] = finalValue;
if (errors.value[fieldName]) {
@@ -566,9 +595,7 @@ function checkError() {
}
if ($empty(record.value.dob)) {
errors.value.dob = isVietnamese.value
? "Ngày sinh không được bỏ trống"
: "Date of birth cannot be empty";
errors.value.dob = isVietnamese.value ? "Ngày sinh không được bỏ trống" : "Date of birth cannot be empty";
} else {
if (record.value.dob > new Date()) {
errors.value.dob = isVietnamese.value
@@ -583,21 +610,15 @@ function checkError() {
}
if ($empty(record.value.legal_code)) {
errors.value.legal_code = isVietnamese.value
? "Mã số không được bỏ trống"
: "Legal code cannot be empty";
errors.value.legal_code = isVietnamese.value ? "Mã số không được bỏ trống" : "Legal code cannot be empty";
}
if ($empty(record.value.issued_date)) {
errors.value.issued_date = isVietnamese.value
? "Ngày cấp không được bỏ trống"
: "Date of issue cannot be empty";
errors.value.issued_date = isVietnamese.value ? "Ngày cấp không được bỏ trống" : "Date of issue cannot be empty";
}
if ($empty(record.value.issued_place)) {
errors.value.issued_place = isVietnamese.value
? "Nơi cấp không được bỏ trống"
: "Place of issue cannot be empty";
errors.value.issued_place = isVietnamese.value ? "Nơi cấp không được bỏ trống" : "Place of issue cannot be empty";
}
return Object.keys(errors.value).length > 0;
}
@@ -637,45 +658,26 @@ async function update() {
try {
if (record.value.phone) {
record.value.phone = record.value.phone.trim();
let phoneCheck = await $getdata(
"customer",
{ phone: record.value.phone },
undefined,
true
);
let phoneCheck = await $getdata("customer", { phone: record.value.phone }, undefined, true);
if (phoneCheck) {
existedCustomer = phoneCheck;
errors.value.phone = isVietnamese.value
? "Số điện thoại đã tồn tại."
: "Phone number already exists.";
errors.value.phone = isVietnamese.value ? "Số điện thoại đã tồn tại." : "Phone number already exists.";
return;
}
}
// Kiểm tra email
if (record.value.email && record.value.email.trim() !== "") {
let emailCheck = await $getdata(
"customer",
{ email: record.value.email.trim() },
undefined,
true
);
let emailCheck = await $getdata("customer", { email: record.value.email.trim() }, undefined, true);
if (emailCheck) {
errors.value.email = isVietnamese.value
? "Email đã tồn tại."
: "Email already exists.";
errors.value.email = isVietnamese.value ? "Email đã tồn tại." : "Email already exists.";
return;
}
}
// Kiểm tra legal_code
if (record.value.legal_code) {
let legalCheck = await $getdata(
"customer",
{ legal_code: record.value.legal_code },
undefined,
true
);
let legalCheck = await $getdata("customer", { legal_code: record.value.legal_code }, undefined, true);
if (legalCheck) {
errors.value.legal_code = isVietnamese.value
? "Số CMND/CCCD đã tồn tại."
@@ -714,34 +716,25 @@ async function update() {
return;
}
record.value.id = rs.id;
const customerData = await $getdata(
"customer",
{ id: rs.id },
undefined,
true
);
const customerData = await $getdata("customer", { id: rs.id }, undefined, true);
if (isNewCustomer) {
// link user=customer
await $getdata("linkusercustomer", undefined, { phone: rs.phone });
$snackbar(
`${
isVietnamese.value
? "Khách hàng đã được khởi tạo với mã"
: "Customer has been created with code"
isVietnamese.value ? "Khách hàng đã được khởi tạo với mã" : "Customer has been created with code"
} <b>${rs.code}</b>`,
"Thành công",
"Success"
"Success",
);
} else {
$snackbar(
`${
isVietnamese.value
? "Khách hàng đã được cập nhật với mã"
: "Customer has been updated with code"
isVietnamese.value ? "Khách hàng đã được cập nhật với mã" : "Customer has been updated with code"
} <b>${rs.code}</b>`,
"Thành công",
"Success"
"Success",
);
}
@@ -760,9 +753,7 @@ async function update() {
//Xử lý file uploads nếu có
if (record.value.image && record.value.image.length > 0) {
let arr = [];
record.value.image.map((v) =>
arr.push({ ref: record.value.id, file: v })
);
record.value.image.map((v) => arr.push({ ref: record.value.id, file: v }));
await $insertapi("customerfile", arr, undefined, false);
}
emit("update", customerData);