Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-trungvq7-0729

This commit is contained in:
dev
2025-08-18 17:50:07 +09:00
4 changed files with 44 additions and 95 deletions

View File

@ -21,6 +21,15 @@
display: none;
}
&-no-scroll-y {
.tui-grid-rside-area {
.tui-grid-header-area,
.tui-grid-summary-area {
margin-right: 0 !important;
}
}
}
&-rside-area {
.tui-grid-header-area,
@ -319,7 +328,7 @@
overflow: auto;
&::-webkit-scrollbar {
// width: $scrollbar-width !important;
width: $scrollbar-width !important;
height: $scrollbar-width !important;
-webkit-appearance: initial;
background-color: rgba(0, 0, 0, 0) !important;

View File

@ -174,6 +174,10 @@ export default {
this.gridScrollTop = e.target.scrollTop;
this.gridScrollLeft = e.target.scrollLeft;
});
if (!(this.scrollBody.scrollHeight > this.scrollBody.clientHeight)) {
this.gridInstance.$el.getElementsByClassName('tui-grid-content-area')[0].classList.add('tui-grid-no-scroll-y');
}
}
},
methods: {

View File

@ -39,8 +39,6 @@
import { mapState, mapMutations, mapActions } from 'vuex';
import Buttons from '~/components/common/button/Buttons';
import Grid from '~/components/common/Grid';
import { CustomCheckbox } from '~/plugins/gridUtility';
import { CustomNumberEditor } from '~/plugins/gridUtility';
import Form from '~/components/common/form/Form';
import mixinGlobal from '@/mixin/global.js';
import Utility from '~/plugins/utility';
@ -70,18 +68,6 @@ export default {
loadGrid: false,
gridName: 'rowDataSetTagRelGrid',
detailDataSetTagList: myDataSetTagDetail,
dataPathMock: {
"rowDataSetTagRelGrid": {
column: [
{ header: 'TAG ID', name: 'id', headerAlign: 'left' },
{ header: 'TAG 명', name: 'name', headerAlign: 'left' },
{ header: '모델 Data 구분', name: 'type', headerAlign: 'left' }
],
data: dataPathDataExample,
defaultRow: dataPathDataExample,
option: {}
}
},
};
},
computed: {
@ -324,7 +310,7 @@ const myDataSetTagDetail = [
valueNm: 'tagNm',
disabled: false,
cols: 6,
class: 'py-2 mt-2',
class: 'py-2 mt-1',
required: true,
labelCols: 12,
textCols: 12,
@ -350,12 +336,11 @@ const myDataSetTagDetail = [
valueNm: 'useFg',
disabled: false,
cols: 5,
class: 'py-2 mt-2',
class: 'py-2 mt-1',
value: { '1': true, '0': false },
required: true,
textCols: 12,
iconShow: true,
// class: "d-flex align-end"
},
{
type: 'TextArea',
@ -369,23 +354,4 @@ const myDataSetTagDetail = [
required: false,
},
];
const dataPathDataExample = [
{
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
type: '합계'
},
{
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
type: '합계'
},
{
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
type: '합계'
},
];
</script>

View File

@ -7,41 +7,21 @@
<v-card class="searchFilter">
<v-row align="end" no-gutters>
<v-col :cols="2.5">
<InputText
:parentPrgmId="myPrgmId"
label="배치ID"
valueNm="batchId"
:searchOption="true"
customClass="input-large"
/>
<InputText :parentPrgmId="myPrgmId" label="배치ID" valueNm="batchId" :searchOption="true"
customClass="input-large" />
</v-col>
<v-col :cols="2.5">
<InputText
:parentPrgmId="myPrgmId"
label="배치명"
valueNm="batchNm"
:searchOption="true"
customClass="input-large"
/>
<InputText :parentPrgmId="myPrgmId" label="배치명" valueNm="batchNm" :searchOption="true"
customClass="input-large" />
</v-col>
<v-col :cols="2.5">
<component
:is="'selectCodeList'"
:parentPrgmId="myPrgmId"
:label="'실행 결과'"
:dataKey="'execRsltCd'"
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
:addAll="true"
customClass="select-large"
/>
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'실행 결과'"
:dataKey="'execRsltCd'" :sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
:addAll="true" customClass="select-large" />
</v-col>
<v-col :cols="2.5">
<component
:is="'Datepicker'"
:parentPrgmId="myPrgmId"
:label="'조회기간'"
customClass="datepicker-large"
/>
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'조회기간'"
customClass="datepicker-large" />
</v-col>
<div class="text-right d-flex align-end justify-end pl-9" style="gap: 8px">
<BtnSearch />
@ -54,41 +34,30 @@
<v-row ref="contents">
<!-- 배치 리스트 -->
<v-col :cols="12" style="height:50%">
<v-card class="pb-5 h100">
<v-col :cols="12" style="height:70%">
<v-card class="h100">
<v-card-title>배치 리스트</v-card-title>
<div class="h100" style="height:calc(100% - 70px)">
<div class="h100" style="height:calc(100% - 150px)">
<div ref="gridParent" class="px-5 h100">
<component
:ref="gridName"
:is="loadGrid ? 'Grid' : null"
:parentPrgmId="myPrgmId"
:gridName="gridName"
@getRowsData="getRowData"
/>
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
:gridName="gridName" @getRowsData="getRowData" />
</div>
<div class="d-flex align-center justify-center pt-7" v-if="loadGrid && totalCount > 0">
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
@loadData="changeGrid" />
</div>
<div class="d-flex align-center justify-center pa-5" v-if="loadGrid && totalCount > 0">
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
@loadData="changeGrid" />
</div>
</div>
</v-card>
</v-col>
<!-- 배치 상세 -->
<v-col :cols="12" style="height:50%">
<v-card class="pb-5 h100">
<v-col :cols="12" style="height:30%">
<v-card class="h100">
<div class="d-flex align-center justify-space-between pa-5">
<v-card-title class="pa-0">배치 상세</v-card-title>
</div>
<div style="height:calc(100% - 50px)">
<div ref="gridParent" class="px-5 h100">
<component
:is="'Form'"
:parentPrgmId="myPrgmId"
:detailList="detailList"
@gridEditingFinish="gridEditingFinish"
/>
</div>
<div style="height:calc(100% - 50px)" class="px-5">
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
@gridEditingFinish="gridEditingFinish" />
</div>
</v-card>
</v-col>
@ -147,7 +116,7 @@ export default {
gridName: 'rowGrid',
// rowGridOrigin: [],
detailList: myDetail,
itemsPerPage: 10,
itemsPerPage: 20,
itemsPerPageArray: [10, 20, 30],
limit: 20,
page: 1,
@ -215,12 +184,12 @@ export default {
this.gridInit();
},
layoutInit() {
this.$refs.contents.style.height = 'auto';
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
this.$refs.contents.style.height = `calc(100% - 30px - ${searchFilterHeight}px)`;
},
gridInit() {
this.loadGrid = false;
const gridHeight = this.$refs.gridParent.offsetHeight;
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
const myOptions = {
scrollX: false,
};
@ -469,6 +438,7 @@ const myDetail = [
readonly: true,
cols: 12,
class: 'py-2',
rows: 3
},
];
</script>