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

View File

@ -174,6 +174,10 @@ export default {
this.gridScrollTop = e.target.scrollTop; this.gridScrollTop = e.target.scrollTop;
this.gridScrollLeft = e.target.scrollLeft; 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: { methods: {

View File

@ -39,8 +39,6 @@
import { mapState, mapMutations, mapActions } from 'vuex'; import { mapState, mapMutations, mapActions } from 'vuex';
import Buttons from '~/components/common/button/Buttons'; import Buttons from '~/components/common/button/Buttons';
import Grid from '~/components/common/Grid'; import Grid from '~/components/common/Grid';
import { CustomCheckbox } from '~/plugins/gridUtility';
import { CustomNumberEditor } from '~/plugins/gridUtility';
import Form from '~/components/common/form/Form'; import Form from '~/components/common/form/Form';
import mixinGlobal from '@/mixin/global.js'; import mixinGlobal from '@/mixin/global.js';
import Utility from '~/plugins/utility'; import Utility from '~/plugins/utility';
@ -70,18 +68,6 @@ export default {
loadGrid: false, loadGrid: false,
gridName: 'rowDataSetTagRelGrid', gridName: 'rowDataSetTagRelGrid',
detailDataSetTagList: myDataSetTagDetail, 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: { computed: {
@ -324,7 +310,7 @@ const myDataSetTagDetail = [
valueNm: 'tagNm', valueNm: 'tagNm',
disabled: false, disabled: false,
cols: 6, cols: 6,
class: 'py-2 mt-2', class: 'py-2 mt-1',
required: true, required: true,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
@ -350,12 +336,11 @@ const myDataSetTagDetail = [
valueNm: 'useFg', valueNm: 'useFg',
disabled: false, disabled: false,
cols: 5, cols: 5,
class: 'py-2 mt-2', class: 'py-2 mt-1',
value: { '1': true, '0': false }, value: { '1': true, '0': false },
required: true, required: true,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
// class: "d-flex align-end"
}, },
{ {
type: 'TextArea', type: 'TextArea',
@ -369,23 +354,4 @@ const myDataSetTagDetail = [
required: false, 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> </script>

View File

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