This commit is contained in:
Viet An
2026-06-25 13:34:36 +07:00
parent 9f0729ccd9
commit 31ac60a282
7 changed files with 41 additions and 14 deletions

View File

@@ -234,14 +234,11 @@
class="tooltiptext" class="tooltiptext"
style="top: 110%; bottom: unset; min-width: max-content; right: 0" style="top: 110%; bottom: unset; min-width: max-content; right: 0"
> >
<span class="is-block">Lưu thiết lập: </span> Lưu thiết lập
<span class="tag fs-12 has-text-inherit is-family-monospace has-background-blue-85">{{
pagedata.setting.name
}}</span>
</p> </p>
</div> </div>
</div> </div>
<div class="tabs is-centered"> <div class="tabs">
<ul> <ul>
<li <li
v-for="(v, i) in getMenu().filter((x) => v-for="(v, i) in getMenu().filter((x) =>
@@ -255,7 +252,7 @@
:class="selectTab.code === v.code ? 'is-active' : 'has-text-primary'" :class="selectTab.code === v.code ? 'is-active' : 'has-text-primary'"
@click="changeTab(v)" @click="changeTab(v)"
> >
<a class="px-16 py-1.5 fs-14">{{ v.name }}</a> <a class="py-1.5 fs-14">{{ v.name }}</a>
</li> </li>
</ul> </ul>
</div> </div>
@@ -477,8 +474,8 @@ const radioType = store.datatype.find((v) => v.code === currentField.format);
// var textsize = undefined; // var textsize = undefined;
// var radioSize = colorchoice.find((v) => v.code === "none"); // var radioSize = colorchoice.find((v) => v.code === "none");
var minwidth = undefined; var minwidth = undefined;
// var radioWidth = colorchoice.find((v) => v.code === "none"); var radioWidth = colorchoice.find((v) => v.code === "none");
// var radioMaxWidth = colorchoice.find((v) => v.code === "none"); var radioMaxWidth = colorchoice.find((v) => v.code === "none");
var maxwidth = undefined; var maxwidth = undefined;
// var selectAlign = undefined; // var selectAlign = undefined;
// var radioAlign = colorchoice.find((v) => v.code === "none"); // var radioAlign = colorchoice.find((v) => v.code === "none");
@@ -622,7 +619,7 @@ const showSidebar = function () {
showmodal.value = { showmodal.value = {
component: "datatable/FormatOption", component: "datatable/FormatOption",
width: "850px", width: "850px",
height: "500px", height: "600px",
title, title,
vbind: { vbind: {
event, event,

View File

@@ -273,10 +273,13 @@ const showField = async function (field) {
width, width,
}, },
component: "datatable/ContextMenu", component: "datatable/ContextMenu",
title: field.name, title: `
<span>${field.name}</span>
<span class="tag font-normal fs-12 is-primary is-light">${pagedata.setting.name}</span>
`,
width: "650px", width: "650px",
height: "500px", height: "500px",
}; //$stripHtml(field.label) };
}; };
const getStyle = function (field, record) { const getStyle = function (field, record) {
let stop = false; let stop = false;

View File

@@ -0,0 +1,25 @@
<script setup>
import JsBarcode from "jsbarcode";
const props = defineProps({
imei: {
type: String,
required: true,
},
});
const barcodeSvg = useTemplateRef("barcode");
onMounted(() => {
if (barcodeSvg.value)
JsBarcode(barcodeSvg.value, props.imei, {
background: "transparent",
width: 1,
height: 15,
displayValue: false,
});
});
</script>
<template>
<svg ref="barcode"></svg>
</template>

View File

@@ -9,7 +9,7 @@
</span> </span>
<p <p
v-html="content" v-html="content"
class="control is-expanded fs-14" class="control is-expanded fs-14 has-text-danger-85"
></p> ></p>
</div> </div>
</template> </template>

View File

@@ -14,7 +14,7 @@ setTimeout(() => store.commit("snackbar", undefined), 2500);
<template> <template>
<div <div
class="snackbar is-flex is-justify-content-space-between is-align-items-center is-gap-3 pl-3 pr-1.5 py-2 rounded-md has-text-white" class="snackbar is-flex is-justify-content-space-between is-align-items-center is-gap-1 pl-3 pr-1.5 py-2 rounded-md"
> >
<Info <Info
v-if="component === 'Info'" v-if="component === 'Info'"

View File

@@ -9,7 +9,7 @@
</span> </span>
<p <p
v-html="content" v-html="content"
class="control is-expanded fs-14" class="control is-expanded fs-14 has-text-success-80"
></p> ></p>
</div> </div>
</template> </template>

View File

@@ -43,6 +43,7 @@ import IMEIButton from "~/components/imports/IMEIButton.vue";
import DeleteProductVariant from "~/components/imports/DeleteProductVariant.vue"; import DeleteProductVariant from "~/components/imports/DeleteProductVariant.vue";
import ProductImage from "~/components/imports/ProductImage.vue"; import ProductImage from "~/components/imports/ProductImage.vue";
import Returns from "~/components/imports/Returns.vue"; import Returns from "~/components/imports/Returns.vue";
import Barcode from "~/components/imports/Barcode.vue";
import Exports from "~/components/exports/Exports.vue"; import Exports from "~/components/exports/Exports.vue";
import ExportsDamaged from "~/components/exports/ExportsDamaged.vue"; import ExportsDamaged from "~/components/exports/ExportsDamaged.vue";
import ExportsInternal from "~/components/exports/ExportsInternal.vue"; import ExportsInternal from "~/components/exports/ExportsInternal.vue";
@@ -92,6 +93,7 @@ const components = {
DeleteProduct, DeleteProduct,
Color, Color,
IMEIButton, IMEIButton,
Barcode,
DeleteProductVariant, DeleteProductVariant,
ProductImage, ProductImage,
Returns, Returns,