chore: install prettier
This commit is contained in:
@@ -4,9 +4,7 @@
|
||||
<div class="field-body">
|
||||
<!-- Mã giỏ hàng -->
|
||||
<div class="field is-narrow">
|
||||
<label class="label">
|
||||
Mã <span class="has-text-danger">*</span>
|
||||
</label>
|
||||
<label class="label"> Mã <span class="has-text-danger">*</span> </label>
|
||||
<div class="control">
|
||||
<input
|
||||
class="input"
|
||||
@@ -20,9 +18,7 @@
|
||||
|
||||
<!-- Tên giỏ hàng -->
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
Tên giỏ hàng <span class="has-text-danger">*</span>
|
||||
</label>
|
||||
<label class="label"> Tên giỏ hàng <span class="has-text-danger">*</span> </label>
|
||||
<div class="control">
|
||||
<input
|
||||
class="input"
|
||||
@@ -34,10 +30,11 @@
|
||||
</div>
|
||||
|
||||
<!-- Index -->
|
||||
<div class="field" style="width: 120px;">
|
||||
<label class="label">
|
||||
Index <span class="has-text-danger">*</span>
|
||||
</label>
|
||||
<div
|
||||
class="field"
|
||||
style="width: 120px"
|
||||
>
|
||||
<label class="label"> Index <span class="has-text-danger">*</span> </label>
|
||||
<div class="control">
|
||||
<input
|
||||
class="input"
|
||||
@@ -59,10 +56,10 @@
|
||||
api: 'dealer',
|
||||
field: 'code',
|
||||
column: 'code',
|
||||
optionid: record.dealer || null,
|
||||
optionid: record.dealer || null,
|
||||
first: true,
|
||||
viewaddon: viewAddon,
|
||||
addon: newAddon
|
||||
addon: newAddon,
|
||||
}"
|
||||
@option="dealerSelected"
|
||||
/>
|
||||
@@ -72,8 +69,11 @@
|
||||
<!-- Nút lưu -->
|
||||
<div class="field is-grouped is-grouped-right mt-6">
|
||||
<div class="control">
|
||||
<button class="button is-primary has-text-white" @click="update">
|
||||
{{ record.id ? 'Cập nhật' : 'Thêm mới' }}
|
||||
<button
|
||||
class="button is-primary has-text-white"
|
||||
@click="update"
|
||||
>
|
||||
{{ record.id ? "Cập nhật" : "Thêm mới" }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -81,95 +81,88 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, nextTick } from 'vue'
|
||||
const {
|
||||
$copy,
|
||||
$resetNull,
|
||||
$snackbar,
|
||||
$getdata,
|
||||
$insertapi,
|
||||
$updateapi
|
||||
} = useNuxtApp()
|
||||
import { ref, onMounted, nextTick } from "vue";
|
||||
const { $copy, $resetNull, $snackbar, $getdata, $insertapi, $updateapi } = useNuxtApp();
|
||||
|
||||
// Chỉ nhận id (không nhận row)
|
||||
const props = defineProps({
|
||||
prefix: String,
|
||||
id: [Number, String, null]
|
||||
})
|
||||
id: [Number, String, null],
|
||||
});
|
||||
|
||||
const emit = defineEmits(['close', 'modalevent'])
|
||||
const emit = defineEmits(["close", "modalevent"]);
|
||||
|
||||
const record = ref({
|
||||
code: '',
|
||||
name: '',
|
||||
code: "",
|
||||
name: "",
|
||||
index: 0,
|
||||
dealer: null
|
||||
})
|
||||
dealer: null,
|
||||
});
|
||||
|
||||
const viewAddon = {}
|
||||
const newAddon = {}
|
||||
const viewAddon = {};
|
||||
const newAddon = {};
|
||||
|
||||
function dealerSelected(obj) {
|
||||
record.value.dealer = obj ? obj.id : null
|
||||
record.value.dealer = obj ? obj.id : null;
|
||||
}
|
||||
|
||||
async function loadCart() {
|
||||
if (!props.id) {
|
||||
record.value = {
|
||||
code: '',
|
||||
name: '',
|
||||
code: "",
|
||||
name: "",
|
||||
index: 0,
|
||||
dealer: null
|
||||
}
|
||||
return
|
||||
dealer: null,
|
||||
};
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const row = await $getdata('cart', { id: props.id }, null, true)
|
||||
const row = await $getdata("cart", { id: props.id }, null, true);
|
||||
|
||||
if (row) {
|
||||
record.value = $copy(row)
|
||||
record.value = $copy(row);
|
||||
} else {
|
||||
$snackbar('Không tìm thấy giỏ hàng này')
|
||||
emit('close')
|
||||
$snackbar("Không tìm thấy giỏ hàng này");
|
||||
emit("close");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Lỗi khi tải dữ liệu giỏ hàng:', error)
|
||||
$snackbar('Lỗi tải dữ liệu')
|
||||
emit('close')
|
||||
console.error("Lỗi khi tải dữ liệu giỏ hàng:", error);
|
||||
$snackbar("Lỗi tải dữ liệu");
|
||||
emit("close");
|
||||
}
|
||||
}
|
||||
|
||||
// Lưu dữ liệu
|
||||
async function update() {
|
||||
const data = $resetNull(record.value)
|
||||
const data = $resetNull(record.value);
|
||||
|
||||
try {
|
||||
let rs
|
||||
let rs;
|
||||
if (data.id) {
|
||||
rs = await $updateapi('cart', data)
|
||||
rs = await $updateapi("cart", data);
|
||||
} else {
|
||||
rs = await $insertapi('cart', data)
|
||||
rs = await $insertapi("cart", data);
|
||||
}
|
||||
|
||||
if (rs === 'error') {
|
||||
$snackbar('Lỗi khi lưu dữ liệu')
|
||||
return
|
||||
if (rs === "error") {
|
||||
$snackbar("Lỗi khi lưu dữ liệu");
|
||||
return;
|
||||
}
|
||||
|
||||
$snackbar('Lưu thành công!')
|
||||
emit('modalevent', { name: 'dataevent', data: rs })
|
||||
emit('close')
|
||||
$snackbar("Lưu thành công!");
|
||||
emit("modalevent", { name: "dataevent", data: rs });
|
||||
emit("close");
|
||||
} catch (err) {
|
||||
$snackbar('Có lỗi xảy ra khi lưu')
|
||||
console.error(err)
|
||||
$snackbar("Có lỗi xảy ra khi lưu");
|
||||
console.error(err);
|
||||
}
|
||||
}
|
||||
|
||||
// Khởi tạo khi mở modal
|
||||
onMounted(async () => {
|
||||
await loadCart()
|
||||
await nextTick()
|
||||
document.getElementById('code')?.focus()
|
||||
})
|
||||
</script>
|
||||
await loadCart();
|
||||
await nextTick();
|
||||
document.getElementById("code")?.focus();
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user