เลขที่ตำแหน่ง => ตำแหน่งเลขที่
This commit is contained in:
parent
599a9c2c75
commit
c1bb3651ab
47 changed files with 155 additions and 127 deletions
|
|
@ -633,8 +633,8 @@
|
|||
dense
|
||||
lazy-rules
|
||||
v-model="posNo"
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:rules="[(val:any) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
:rules="[(val:any) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-12 col-md-12">
|
||||
|
|
@ -948,7 +948,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ const columns = ref<QTableColumn[]>([
|
|||
{
|
||||
name: "positionNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
field: "positionNo",
|
||||
sortable: true,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -368,10 +368,10 @@ function onSubmit() {
|
|||
positionIsSelected: e.positionIsSelected,
|
||||
}));
|
||||
const body = {
|
||||
posMasterNoPrefix: formData.prefixNo, //*Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: Number(formData.positionNo), //*เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: formData.suffixNo, //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
reason: formData.reason, //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: formData.prefixNo, //*Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: Number(formData.positionNo), //*ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: formData.suffixNo, //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
reason: formData.reason, //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
isDirector: formData.isDirector,
|
||||
isOfficer: formData.isOfficer ? formData.isOfficer : false,
|
||||
orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id สำนัก
|
||||
|
|
@ -670,11 +670,11 @@ async function emitSearch(keyword: string, typeSelect: string) {
|
|||
dense
|
||||
outlined
|
||||
for="#positionNo"
|
||||
label="เลขที่ตำแหน่ง"
|
||||
label="ตำแหน่งเลขที่"
|
||||
lazy-rules
|
||||
hide-bottom-space
|
||||
:rules="[
|
||||
(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`,
|
||||
(val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`,
|
||||
]"
|
||||
mask="########################"
|
||||
/>
|
||||
|
|
@ -686,7 +686,7 @@ async function emitSearch(keyword: string, typeSelect: string) {
|
|||
dense
|
||||
outlined
|
||||
for="#suffixNo"
|
||||
label="Suffix เลขที่ตำแหน่ง"
|
||||
label="Suffix ตำแหน่งเลขที่"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoPrefix",
|
||||
align: "left",
|
||||
label: " Prefix เลขที่ตำแหน่ง",
|
||||
label: " Prefix ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoPrefix",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -55,7 +55,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -64,7 +64,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoSuffix",
|
||||
align: "left",
|
||||
label: "Suffix เลขที่ตำแหน่ง",
|
||||
label: "Suffix ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoSuffix",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ const prosp = defineProps({
|
|||
|
||||
/** formData*/
|
||||
const formData = reactive<FormDetailPosition>({
|
||||
positionNo: "", //*เลขที่ตำแหน่ง
|
||||
positionNo: "", //*ตำแหน่งเลขที่
|
||||
positionType: "", //*ประเภทตำแหน่ง
|
||||
positionPathSide: "", //*ตำแหน่งในสายงาน
|
||||
positionLine: "", //*สายงาน
|
||||
|
|
@ -124,7 +124,7 @@ function close() {
|
|||
modal.value = false;
|
||||
}
|
||||
|
||||
/** callblack function ทำเมื่อเปิด popup set เลขที่ตำแหน่ง และสถานะตำแหน่ง */
|
||||
/** callblack function ทำเมื่อเปิด popup set ตำแหน่งเลขที่ และสถานะตำแหน่ง */
|
||||
watch(
|
||||
() => modal.value,
|
||||
() => {
|
||||
|
|
@ -180,7 +180,7 @@ watch(
|
|||
<div class="row q-col-gutter-sm q-mb-xs">
|
||||
<div class="col-4 text-bold">
|
||||
<div>
|
||||
<p>เลขที่ตำแหน่ง</p>
|
||||
<p>ตำแหน่งเลขที่</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8 text-grey-8">
|
||||
|
|
|
|||
|
|
@ -70,11 +70,11 @@ const selected = ref<Position[]>([]);
|
|||
const isSit = ref<boolean>(false);
|
||||
|
||||
const formData = reactive<FormPositionFilter>({
|
||||
positionNo: "", //*เลขที่ตำแหน่ง
|
||||
positionType: "", //*เลขที่ตำแหน่ง
|
||||
positionLevel: "", //*เลขที่ตำแหน่ง
|
||||
personal: "", //*เลขที่ตำแหน่ง
|
||||
position: "", //*เลขที่ตำแหน่ง
|
||||
positionNo: "", //*ตำแหน่งเลขที่
|
||||
positionType: "", //*ตำแหน่งเลขที่
|
||||
positionLevel: "", //*ตำแหน่งเลขที่
|
||||
personal: "", //*ตำแหน่งเลขที่
|
||||
position: "", //*ตำแหน่งเลขที่
|
||||
status: "",
|
||||
});
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ watch([() => page.value, () => pageSize.value], () => {
|
|||
<div class="q-px-md">
|
||||
<div class="row q-col-gutter-sm q-mb-xs">
|
||||
<div class="text-bold text-body1">
|
||||
<p>เลขที่ตำแหน่ง</p>
|
||||
<p>ตำแหน่งเลขที่</p>
|
||||
</div>
|
||||
<div class="text-grey-8 q-ml-sm text-body1">
|
||||
<p>{{ formData.positionNo }}</p>
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: false,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -94,9 +94,9 @@ interface Position {
|
|||
interface PosMaster {
|
||||
id: string; // id อัตรากำลัง posmaster
|
||||
orgShortname: string; // อักษรย่อตำแหน่ง
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
|
||||
positionField: string; // สายงาน
|
||||
posTypeId: string; // ประเภทตำแหน่ง
|
||||
|
|
@ -134,9 +134,9 @@ interface Position2 {
|
|||
interface PosMaster2 {
|
||||
id: string; // id อัตรากำลัง posmaster
|
||||
orgShortname: string; // อักษรย่อตำแหน่ง
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
|
||||
positionField: string; // สายงาน
|
||||
posTypeId: string; // ประเภทตำแหน่ง
|
||||
|
|
@ -155,9 +155,9 @@ interface HistoryPos {
|
|||
id: string; //id node
|
||||
orgShotName: string; //ชื่อย่อส่วนราชการ
|
||||
lastUpdatedAt: Date; //วันที่แก้ไข
|
||||
posMasterNoPrefix: string; //Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number; //เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string; //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; //Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number; //ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string; //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
}
|
||||
|
||||
interface SelectPerson {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ const employeeClassOps = ref<DataOption[]>([
|
|||
{ id: "perm", name: "ลูกจ้างประจำ" },
|
||||
]);
|
||||
const typeKeywordOps = ref<DataOption[]>([
|
||||
{ id: "no", name: "เลขที่ตำแหน่ง" },
|
||||
{ id: "no", name: "ตำแหน่งเลขที่" },
|
||||
{ id: "position", name: "ตำแหน่ง" },
|
||||
]);
|
||||
const positionOps = ref<DataOption[]>([]);
|
||||
|
|
@ -56,7 +56,7 @@ const columns = ref<any["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
|
|
@ -283,8 +283,8 @@ const paginationLabel = (start: number, end: number, total: number) => {
|
|||
dense
|
||||
debounce="300"
|
||||
v-model="Keyword"
|
||||
placeholder="เลขที่ตำแหน่ง"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก เลขที่ตำแหน่ง'}`]"
|
||||
placeholder="ตำแหน่งเลขที่"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก ตำแหน่งเลขที่'}`]"
|
||||
/>
|
||||
<q-select
|
||||
v-if="typeKeyword === 'position'"
|
||||
|
|
|
|||
|
|
@ -188,8 +188,8 @@
|
|||
:borderless="!edit"
|
||||
v-model="formDataSalary.posNo"
|
||||
hide-bottom-space
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:rules="[(val: string) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
:rules="[(val: string) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
|
||||
@update:modelValue="clickEditRow"
|
||||
>
|
||||
</q-input>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ const employeeClassOps = ref<DataOption[]>([
|
|||
{ id: "perm", name: "ลูกจ้างประจำ" },
|
||||
]);
|
||||
const typeKeywordOps = ref<DataOption[]>([
|
||||
{ id: "no", name: "เลขที่ตำแหน่ง" },
|
||||
{ id: "no", name: "ตำแหน่งเลขที่" },
|
||||
{ id: "position", name: "ตำแหน่ง" },
|
||||
]);
|
||||
const positionOps = ref<DataOption[]>([]);
|
||||
|
|
@ -63,7 +63,7 @@ const columns = ref<any["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
|
|
@ -274,8 +274,8 @@ const paginationLabel = (start: number, end: number, total: number) => {
|
|||
dense
|
||||
debounce="300"
|
||||
v-model="Keyword"
|
||||
placeholder="เลขที่ตำแหน่ง"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก เลขที่ตำแหน่ง'}`]"
|
||||
placeholder="ตำแหน่งเลขที่"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก ตำแหน่งเลขที่'}`]"
|
||||
hide-bottom-space
|
||||
/>
|
||||
<q-select
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ const formMain = reactive<FormMain>({
|
|||
positionId: "", //ตำแหน่ง
|
||||
positionLine: "", //สายงาน
|
||||
positionLevel: "", //ระดับ
|
||||
numberId: "", //เลขที่ตำแหน่ง
|
||||
numberId: "", //ตำแหน่งเลขที่
|
||||
positionExecutive: "", //ตำแหน่งทางการบริหาร
|
||||
positionExecutiveSide: "", //ด้านตำแหน่งทางการบริหาร
|
||||
positionType: "", //ประเภท
|
||||
|
|
@ -360,7 +360,7 @@ function getData() {
|
|||
formMain.positionId = data.position ?? "-"; //ตำแหน่ง
|
||||
formMain.positionLine = data.positionField ?? "-"; //สายงาน
|
||||
formMain.positionLevel = data.posLevel ?? "-"; //ระดับ
|
||||
formMain.numberId = data.posMasterNo ?? "-"; //เลขที่ตำแหน่ง
|
||||
formMain.numberId = data.posMasterNo ?? "-"; //ตำแหน่งเลขที่
|
||||
formMain.positionType = data.posType ?? "-"; //ประเภท
|
||||
formMain.positionExecutive = data.posExecutive ?? "-"; //ตำแหน่งทางการ บริหาร
|
||||
formMain.positionPathSide = data.positionArea ?? "-"; //ด้านสาขา
|
||||
|
|
@ -472,7 +472,7 @@ onMounted(() => {
|
|||
</div>
|
||||
<div class="row items-center">
|
||||
<div class="col-12 col-sm-12 col-md-5 text-grey-6 text-weight-medium">
|
||||
<div>เลขที่ตำแหน่ง</div>
|
||||
<div>ตำแหน่งเลขที่</div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-12 col-md-7">{{ formMain.numberId }}</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ async function submit() {
|
|||
profileId:
|
||||
!isStatusEdit.value && empType.value === "" ? profileId.value : undefined,
|
||||
date: formDataSalary.date, // วันที่
|
||||
posNo: formDataSalary.posNo, //เลขที่ตำแหน่ง
|
||||
posNo: formDataSalary.posNo, //ตำแหน่งเลขที่
|
||||
position: formDataSalary.position, //ตำแหน่ง
|
||||
positionLine:
|
||||
empType.value === "" ? formDataSalary.positionLine : undefined, //สายงาน
|
||||
|
|
@ -719,8 +719,8 @@ onMounted(() => {
|
|||
borderless
|
||||
v-model="formDataSalary.posNo"
|
||||
hide-bottom-space
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:rules="[(val: string) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
:rules="[(val: string) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
|
||||
>
|
||||
</q-input>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ const columnsPosition = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ const closeAndClear = async () => {
|
|||
dataForm.positionPathSideId = "";
|
||||
dataForm.positionTypeId = "";
|
||||
};
|
||||
// เลขที่ตำแหน่ง
|
||||
// ตำแหน่งเลขที่
|
||||
const posNoOptions = ref<Object[]>([
|
||||
{
|
||||
label: "",
|
||||
|
|
@ -600,7 +600,7 @@ onMounted(async () => {
|
|||
lazy-rules
|
||||
:options="posNoOptions"
|
||||
v-model="dataForm.posNoId"
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
map-options
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ const closeAndClear = async () => {
|
|||
dataForm.positionPathSideId = "";
|
||||
dataForm.positionTypeId = "";
|
||||
};
|
||||
// เลขที่ตำแหน่ง
|
||||
// ตำแหน่งเลขที่
|
||||
const posNoOptions = ref<Object[]>([
|
||||
{
|
||||
label: "",
|
||||
|
|
@ -601,7 +601,7 @@ onMounted(async () => {
|
|||
lazy-rules
|
||||
:options="posNoOptions"
|
||||
v-model="dataForm.posNoId"
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
map-options
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -177,7 +177,7 @@ const visibleColumns = ref<string[]>([
|
|||
]);
|
||||
|
||||
/**
|
||||
* function เลือกเลขที่ตำแหน่ง
|
||||
* function เลือกตำแหน่งเลขที่
|
||||
* @param id เลชที่ตำแหน่ง
|
||||
*/
|
||||
async function onClickSelectPos(id: string) {
|
||||
|
|
@ -210,11 +210,11 @@ onMounted(async () => {
|
|||
|
||||
<template>
|
||||
<div class="column q-col-gutter-sm">
|
||||
<!-- เลือกเลขที่ตำแหน่ง -->
|
||||
<!-- เลือกตำแหน่งเลขที่ -->
|
||||
<div class="col-7">
|
||||
<q-card bordered style="height: 100%; border: 1px solid #d6dee1">
|
||||
<div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
เลือกเลขที่ตำแหน่ง
|
||||
เลือกตำแหน่งเลขที่
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="col-12 q-pa-md">
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ const lazy = ref(nodes);
|
|||
const expanded = ref<string[]>([]);
|
||||
|
||||
/** Position*/
|
||||
const positionUse = ref<string[]>([]);
|
||||
const positionNo = ref<DataPositionNo[]>();
|
||||
const positionId = ref<string>("");
|
||||
const seletcId = ref<string>("");
|
||||
|
|
@ -171,7 +172,18 @@ async function fetchDataTable(id: string, level: number = 0) {
|
|||
}
|
||||
});
|
||||
|
||||
positionNo.value = store.fetchPosNo(dataMain);
|
||||
let posMain = store.fetchPosNo(dataMain);
|
||||
|
||||
if (props.dataRow?.posmasterId) {
|
||||
const newUse = positionUse.value.filter(
|
||||
(e) => e !== props.dataRow?.posmasterId
|
||||
);
|
||||
positionNo.value = posMain.filter((e: any) => !newUse.includes(e.id));
|
||||
} else {
|
||||
positionNo.value = posMain.filter(
|
||||
(e: any) => !positionUse.value.includes(e.id)
|
||||
);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -230,7 +242,7 @@ async function onClickSubmit() {
|
|||
nodeId: dataPosMaster.nodeId,
|
||||
orgRevisionId: orgRevisionId.value,
|
||||
positionId: selectedPos.value[0].id,
|
||||
posMasterNo: dataPosMaster.posMasterNo, //เลขที่ตำแหน่ง(เลขอย่่างเดียว)
|
||||
posMasterNo: dataPosMaster.posMasterNo, //ตำแหน่งเลขที่(เลขอย่่างเดียว)
|
||||
positionName: selectedPos.value[0].positionName, //ชื่อตำแหน่ง
|
||||
positionField: selectedPos.value[0].positionField, //ชื่อตำแหน่ง
|
||||
posTypeId: selectedPos.value[0].posTypeId, //ชื่อตำแหน่ง
|
||||
|
|
@ -278,7 +290,7 @@ watch(
|
|||
async () => {
|
||||
if (modal.value) {
|
||||
await fetchOrganizationActive();
|
||||
console.log(props?.dataRow);
|
||||
await fetchPositionUes();
|
||||
|
||||
if (props?.dataRow?.node !== null && props?.dataRow?.nodeId !== null) {
|
||||
await fetchPosFind(props?.dataRow?.node, props?.dataRow?.nodeId);
|
||||
|
|
@ -289,6 +301,17 @@ watch(
|
|||
}
|
||||
);
|
||||
|
||||
function fetchPositionUes() {
|
||||
http
|
||||
.get(config.API.placementPositionUse())
|
||||
.then((res) => {
|
||||
positionUse.value = res.data.result;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
});
|
||||
}
|
||||
|
||||
const itemTaps = ref<string[]>();
|
||||
function filterItemsTaps(data: TreeMain[]) {
|
||||
let orgTreeIds: string[] = [];
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ const columns2 = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoOld",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoOld",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoOld",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoOld",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ const columns2 = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoOld",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoOld",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoOld",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoOld",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -364,7 +364,7 @@ async function onClickSubmit() {
|
|||
nodeId: dataPosMaster.nodeId,
|
||||
orgRevisionId: orgRevisionId.value,
|
||||
positionId: selectedPos.value[0].id,
|
||||
posMasterNo: dataPosMaster.posMasterNo.toString(), //เลขที่ตำแหน่ง(เลขอย่่างเดียว)
|
||||
posMasterNo: dataPosMaster.posMasterNo.toString(), //ตำแหน่งเลขที่(เลขอย่่างเดียว)
|
||||
position: selectedPos.value[0].positionName, //ชื่อตำแหน่ง
|
||||
positionField: "", //ชื่อตำแหน่ง
|
||||
posTypeId: selectedPos.value[0].posTypeId, //ชื่อตำแหน่ง
|
||||
|
|
@ -558,7 +558,7 @@ watch(
|
|||
:name="item"
|
||||
>
|
||||
<div class="column q-col-gutter-sm">
|
||||
<!-- เลือกเลขที่ตำแหน่ง -->
|
||||
<!-- เลือกตำแหน่งเลขที่ -->
|
||||
<div class="col-7">
|
||||
<q-card
|
||||
bordered
|
||||
|
|
@ -567,7 +567,7 @@ watch(
|
|||
<div
|
||||
class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md"
|
||||
>
|
||||
เลือกเลขที่ตำแหน่ง
|
||||
เลือกตำแหน่งเลขที่
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="col-12 q-pa-md">
|
||||
|
|
|
|||
|
|
@ -420,7 +420,7 @@ const columnsPosition = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -414,9 +414,9 @@ onMounted(async () => {
|
|||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
v-model="data.posNo"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
|
||||
hide-bottom-space
|
||||
:label="`${'เลขที่ตำแหน่ง'}`"
|
||||
:label="`${'ตำแหน่งเลขที่'}`"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ interface ResponsePreson {
|
|||
prefix: string; //คำนำหน้า
|
||||
firstName: string; //ชื่อ
|
||||
lastName: string; //นามสกุล
|
||||
posNo: string; //เลขที่ตำแหน่ง
|
||||
posNo: string; //ตำแหน่งเลขที่
|
||||
position: string; //ตำแหน่ง
|
||||
positionLevel: string; //ระดับ
|
||||
salaries: number; //เงินเดือน
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ interface Persons {
|
|||
prefix: string; //คำนำหน้า
|
||||
firstName: string; //ชื่อ
|
||||
lastName: string; //นามสกุล
|
||||
posNo: string; //เลขที่ตำแหน่ง
|
||||
posNo: string; //ตำแหน่งเลขที่
|
||||
position: string; //ตำแหน่ง
|
||||
positionLevel: string; //ระดับ
|
||||
salary: number; //เงินเดือน
|
||||
|
|
@ -21,7 +21,7 @@ interface PersonsArray {
|
|||
prefix: string; //คำนำหน้า
|
||||
firstName: string; //ชื่อ
|
||||
lastName: string; //นามสกุล
|
||||
posNo: string; //เลขที่ตำแหน่ง
|
||||
posNo: string; //ตำแหน่งเลขที่
|
||||
position: string; //ตำแหน่ง
|
||||
positionLevel: string; //ระดับ
|
||||
salary: number; //เงินเดือน
|
||||
|
|
@ -47,7 +47,7 @@ interface Director {
|
|||
// prefix: string; //คำนำหน้า
|
||||
// firstName: string; //ชื่อ
|
||||
// lastName: string; //นามสกุล
|
||||
// posNo: string; //เลขที่ตำแหน่ง
|
||||
// posNo: string; //ตำแหน่งเลขที่
|
||||
// position: string; //ตำแหน่ง
|
||||
// positionLevel: string; //ระดับ
|
||||
// salary: number; //เงินเดือน
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ interface ArrayPersonAdd {
|
|||
prefix: string; //คำนำหน้า
|
||||
firstName: string; //ชื่อ
|
||||
lastName: string; //นามสกุล
|
||||
posNo: string|null; //เลขที่ตำแหน่ง
|
||||
posNo: string|null; //ตำแหน่งเลขที่
|
||||
position: string; //ตำแหน่ง
|
||||
positionLevel: string; //ระดับ
|
||||
salary: number|null; //เงินเดือน
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoOld",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoOld",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ interface ResponsePreson {
|
|||
prefix: string; //คำนำหน้า
|
||||
firstName: string; //ชื่อ
|
||||
lastName: string; //นามสกุล
|
||||
posNo: string; //เลขที่ตำแหน่ง
|
||||
posNo: string; //ตำแหน่งเลขที่
|
||||
position: string; //ตำแหน่ง
|
||||
positionLevel: string; //ระดับ
|
||||
salaries: number; //เงินเดือน
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ const formMain = reactive<FormAddHistory>({
|
|||
posTypeId: "", //id ประเภทตําแหน่ง
|
||||
position: "", //ตําแหน่ง
|
||||
positionSide: "", //ตําแหน่งทางการบริหาร
|
||||
posNo: "", //เลขที่ตำแหน่ง
|
||||
posNo: "", //ตำแหน่งเลขที่
|
||||
oc: "", //หน่วยงานที่สังกัด
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ const formMain = reactive<FormAddHistoryEmployee>({
|
|||
posLevelId: "", //id ระดับตําแหน่ง
|
||||
posTypeId: "", //id ประเภทตําแหน่ง
|
||||
position: "", //ตําแหน่ง
|
||||
posNo: "", //เลขที่ตำแหน่ง
|
||||
posNo: "", //ตำแหน่งเลขที่
|
||||
oc: "", //หน่วยงานที่สังกัด
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -207,10 +207,10 @@ function onSubmit() {
|
|||
posLevelId: e.posLevelId, //*ระดับตำแหน่ง
|
||||
}));
|
||||
const body = {
|
||||
posMasterNoPrefix: formData.prefixNo, //*Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: Number(formData.positionNo), //*เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: formData.suffixNo, //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
reason: formData.reason, //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: formData.prefixNo, //*Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: Number(formData.positionNo), //*ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: formData.suffixNo, //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
reason: formData.reason, //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id สำนัก
|
||||
orgChild1Id: props.orgLevel === 1 ? props.treeId : null,
|
||||
orgChild2Id: props.orgLevel === 2 ? props.treeId : null,
|
||||
|
|
@ -414,11 +414,11 @@ watch(
|
|||
dense
|
||||
outlined
|
||||
for="#positionNo"
|
||||
label="เลขที่ตำแหน่ง"
|
||||
label="ตำแหน่งเลขที่"
|
||||
lazy-rules
|
||||
hide-bottom-space
|
||||
:rules="[
|
||||
(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`,
|
||||
(val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`,
|
||||
]"
|
||||
mask="########################"
|
||||
/>
|
||||
|
|
@ -430,7 +430,7 @@ watch(
|
|||
dense
|
||||
outlined
|
||||
for="#suffixNo"
|
||||
label="Suffix เลขที่ตำแหน่ง"
|
||||
label="Suffix ตำแหน่งเลขที่"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoPrefix",
|
||||
align: "left",
|
||||
label: " Prefix เลขที่ตำแหน่ง",
|
||||
label: " Prefix ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoPrefix",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -55,7 +55,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -64,7 +64,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNoSuffix",
|
||||
align: "left",
|
||||
label: "Suffix เลขที่ตำแหน่ง",
|
||||
label: "Suffix ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNoSuffix",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ function close() {
|
|||
<!-- <div class="row q-col-gutter-sm q-mb-xs">
|
||||
<div class="col-4 text-bold">
|
||||
<div>
|
||||
<p>เลขที่ตำแหน่ง</p>
|
||||
<p>ตำแหน่งเลขที่</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8 text-grey-8">
|
||||
|
|
|
|||
|
|
@ -70,11 +70,11 @@ const selected = ref<Position[]>([]);
|
|||
const isSit = ref<boolean>(false);
|
||||
|
||||
const formData = reactive<FormPositionFilter>({
|
||||
positionNo: "", //*เลขที่ตำแหน่ง
|
||||
positionType: "", //*เลขที่ตำแหน่ง
|
||||
positionLevel: "", //*เลขที่ตำแหน่ง
|
||||
personal: "", //*เลขที่ตำแหน่ง
|
||||
position: "", //*เลขที่ตำแหน่ง
|
||||
positionNo: "", //*ตำแหน่งเลขที่
|
||||
positionType: "", //*ตำแหน่งเลขที่
|
||||
positionLevel: "", //*ตำแหน่งเลขที่
|
||||
personal: "", //*ตำแหน่งเลขที่
|
||||
position: "", //*ตำแหน่งเลขที่
|
||||
status: "",
|
||||
});
|
||||
|
||||
|
|
@ -393,7 +393,7 @@ watch([() => page.value, () => pageSize.value], () => {
|
|||
<div class="q-px-md">
|
||||
<div class="row q-col-gutter-sm q-mb-xs">
|
||||
<div class="text-bold text-body1">
|
||||
<p>เลขที่ตำแหน่ง</p>
|
||||
<p>ตำแหน่งเลขที่</p>
|
||||
</div>
|
||||
<div class="text-grey-8 q-ml-sm text-body1">
|
||||
<p>{{ formData.positionNo }}</p>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "posMasterNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: false,
|
||||
field: "posMasterNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -94,9 +94,9 @@ interface Position {
|
|||
interface PosMaster {
|
||||
id: string; // id อัตรากำลัง posmaster
|
||||
orgShortname: string; // อักษรย่อตำแหน่ง
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
|
||||
positionField: string; // สายงาน
|
||||
posTypeId: string; // ประเภทตำแหน่ง
|
||||
|
|
@ -134,9 +134,9 @@ interface Position2 {
|
|||
interface PosMaster2 {
|
||||
id: string; // id อัตรากำลัง posmaster
|
||||
orgShortname: string; // อักษรย่อตำแหน่ง
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
|
||||
positionField: string; // สายงาน
|
||||
posTypeId: string; // ประเภทตำแหน่ง
|
||||
|
|
@ -155,9 +155,9 @@ interface HistoryPos {
|
|||
id: string; //id node
|
||||
orgShotName: string; //ชื่อย่อส่วนราชการ
|
||||
lastUpdatedAt: Date; //วันที่แก้ไข
|
||||
posMasterNoPrefix: string; //Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number; //เลขที่ตำแหน่ง เป็นตัวเลข
|
||||
posMasterNoSuffix: string; //Suffix หลังเลขที่ตำแหน่ง เช่น ช.
|
||||
posMasterNoPrefix: string; //Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
|
||||
posMasterNo: number; //ตำแหน่งเลขที่ เป็นตัวเลข
|
||||
posMasterNoSuffix: string; //Suffix หลังตำแหน่งเลขที่ เช่น ช.
|
||||
}
|
||||
|
||||
interface SelectPerson {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue