Compare commits

..

12 Commits

Author SHA1 Message Date
dev
8744da1900 Merge pull request 'updatecode' (#80) from dev-luannv24-fixbug-s28 into dev
Reviewed-on: #80
2025-08-20 11:08:38 +09:00
dev
c77ee52c19 Merge pull request 'optimize-css' (#76) from dev-dungtv-optimize-css into dev
Reviewed-on: #76
2025-08-20 11:08:18 +09:00
fe9e12e7ed updatecode 2025-08-20 11:05:53 +09:00
dev
b7f83002c1 Merge pull request 'Update screen 7, 13' (#79) from dev-trungvq7-0729 into dev
Reviewed-on: #79
2025-08-20 11:03:51 +09:00
dev
f0c47a132b Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-trungvq7-0729 2025-08-20 10:18:13 +09:00
dev
7baa87df12 Update 1908 2025-08-20 10:17:23 +09:00
dev
b82589978d Merge pull request 'Update paging disable style + Fix bug line chart + Fix paging function hide grid' (#78) from dev-nghiantt-fix-bugs into dev
Reviewed-on: #78
2025-08-19 18:56:30 +09:00
c1911f2ebc Rename default s11 card when there're no data 2025-08-19 18:09:24 +09:00
d405e5bf6d Update paging disable style + Fix bug line chart + Fix paging function hide grid 2025-08-19 17:27:35 +09:00
dev
99168acab1 Merge pull request 'update code' (#77) from dev-luannv24-fixbug-s36 into dev
Reviewed-on: #77
2025-08-19 16:45:34 +09:00
2fcc719721 update 2025-08-19 16:44:01 +09:00
06f16f82ff update code 2025-08-19 16:41:01 +09:00
14 changed files with 250 additions and 94 deletions

View File

@ -227,7 +227,8 @@ a {
.ant-checkbox-disabled .ant-checkbox-inner .ant-checkbox-disabled .ant-checkbox-inner
{ {
background-color: #f5f5f5 !important; background-color: map-deep-get($config, #{$theme}, "ant-checkbox-disabled-bg") !important;
border: map-deep-get($config, #{$theme}, "ant-checkbox-disabled-border") !important;
} }
.v-list-item__title { .v-list-item__title {

View File

@ -145,6 +145,44 @@
} }
} }
.tui-grid-editor-select-box-layer {
min-width: 116px !important;
.tui-select-box-input {
border-radius: 6px;
}
.tui-select-box-dropdown {
margin-top: 1px;
border-radius: 4px;
padding: 4px;
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
.tui-select-box-item {
margin-bottom: 4px;
position: relative;
&:before {
bottom: 0;
content: '';
left: 0;
opacity: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0
}
&:hover {
&::before {
opacity: 0.04
}
}
}
}
}
.treeGrid { .treeGrid {
.tui-grid { .tui-grid {
&-header-area { &-header-area {
@ -756,6 +794,142 @@
} }
} }
} }
select {
&.selectbox {
background: map-deep-get($config,
#{$theme},
"tui-grid-cell-backgroundColor"
);
border-color:map-deep-get($config,
#{$theme},
"v-input-fieldset-color"
);
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
.calendarOption {
background: map-deep-get($config,
#{$theme},
"tui-grid-cell-backgroundColor"
);
border-color:map-deep-get($config,
#{$theme},
"v-input-fieldset-color"
);
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
&:hover {
background: #d9d9d9;
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
}
&:checked {
background: #E6F4FF;
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
}
}
}
}
}
}
.tui-grid-editor-select-box-layer {
.tui-select-box-input {
background: map-deep-get($config,
#{$theme},
"tui-grid-cell-backgroundColor"
);
border-color:map-deep-get($config,
#{$theme},
"v-input-fieldset-color"
);
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
}
.tui-select-box-dropdown {
background-color: map-deep-get($config,
#{$theme},
"tui-datepicker-backgroundColor"
);
border: 1px solid map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
.tui-select-box-item {
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
&:before {
opacity: map-deep-get($config,
#{$theme},
"selected-bg-opacity"
);
}
}
.tui-select-box-highlight {
background:none !important;
&:before {
background: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
opacity: map-deep-get($config,
#{$theme},
"highlighted-bg-opacity"
);
}
}
.tui-select-box-selected {
background: map-deep-get($config,
#{$theme},
"v-treeview-node-label-active-bg"
);
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
&:before {
// opacity: map-deep-get($config,
// #{$theme},
// "selected-bg-opacity"
// );
background: map-deep-get($config,
#{$theme},
"ant-btn-primary-bg"
) !important;
opacity: map-deep-get($config,
#{$theme},
"selected-bg-opacity"
) !important;
}
}
} }
} }

View File

@ -10,13 +10,25 @@
margin-top: 10px; margin-top: 10px;
} }
.ant-pagination-disabled {
color: map-deep-get($config, #{$theme}, "paging-disable") !important;;
cursor: not-allowed !important;
pointer-events: none; /* disables hover and click */
background-color: transparent;
}
.ant-pagination-disabled:hover {
color: map-deep-get($config, #{$theme}, "paging-disable") !important;;
background-color: transparent !important;
}
.ant-pagination-item, .ant-pagination-item,
.ant-pagination-prev, .ant-pagination-prev,
.ant-pagination-next { .ant-pagination-next {
// border: none !important; // border: none !important;
// box-shadow: none !important; // box-shadow: none !important;
background-color: map-deep-get($config, #{$theme}, "paging-background") !important; background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
color: map-deep-get($config, #{$theme}, "paging-text") !important; color: map-deep-get($config, #{$theme}, "paging-text");
border: none; border: none;
.ant-pagination-item-link { .ant-pagination-item-link {

View File

@ -184,7 +184,12 @@ $config: (
ant-btn-popup-border: #424242, ant-btn-popup-border: #424242,
paging-background: #212224, paging-background: #212224,
paging-text: #FFFFFFD9, paging-text: #FFFFFFD9,
paging-disable: #FFFFFF40,
icon-datepicker-color: #FFFFFF73, icon-datepicker-color: #FFFFFF73,
selected-bg-opacity: 0.32,
highlighted-bg-opacity: 0.08,
ant-checkbox-disabled-bg: #FFFFFF14,
ant-checkbox-disabled-border: #424242,
), ),
light: (w-g5: $--color-gray_555, light: (w-g5: $--color-gray_555,
g5-w: $--color-white, g5-w: $--color-white,
@ -332,6 +337,11 @@ $config: (
ant-btn-popup-border: #D9D9D9, ant-btn-popup-border: #D9D9D9,
paging-background: #FFFFFF, paging-background: #FFFFFF,
paging-text: #000000E0, paging-text: #000000E0,
paging-disable: #00000040,
icon-datepicker-color: #00000073, icon-datepicker-color: #00000073,
selected-bg-opacity: 0.16,
highlighted-bg-opacity: 0.04,
ant-checkbox-disabled-bg: #0000000A,
ant-checkbox-disabled-border: #D9D9D9,
), ),
); );

View File

@ -12,7 +12,7 @@
readonly readonly
v-model="selectValue" v-model="selectValue"
append-icon="mdi-magnify" append-icon="mdi-magnify"
class="v-input__custom" :class="['v-select__custom', customClass]"
@click="dialogOpenCloseEvent(dialog)" @click="dialogOpenCloseEvent(dialog)"
outlined outlined
:hide-details="true" :hide-details="true"

View File

@ -442,3 +442,10 @@ const myDetail = [
}, },
]; ];
</script> </script>
<style lang="scss" scoped>
::v-deep{
.tui-grid-layer-state{
top: 40px !important;
}
}
</style>

View File

@ -261,18 +261,18 @@ export default {
formatter({ value }) { formatter({ value }) {
return value == 1 ? '휴일' : '평일'; return value == 1 ? '휴일' : '평일';
}, },
editor: {
type: CustomSelectBoxEditor,
},
// editor: { // editor: {
// type: 'select', // type: CustomSelectBoxEditor,
// options: {
// listItems: [
// { text: '휴일', value: '1' },
// { text: '평일', value: '0' },
// ],
// },
// }, // },
editor: {
type: 'select',
options: {
listItems: [
{ text: '휴일', value: '1' },
{ text: '평일', value: '0' },
],
},
},
}, },
{ header: '휴일명', name: 'hldyNm', editor: 'text' }, { header: '휴일명', name: 'hldyNm', editor: 'text' },
]; ];
@ -482,6 +482,8 @@ const defaultData = {
height: 100%; height: 100%;
padding: 0; padding: 0;
margin: 0; margin: 0;
border: 1px solid;
border-radius: 6px;
} }
select.selectbox { select.selectbox {
@ -510,10 +512,8 @@ const defaultData = {
/* 네이티브 외형 감추기 */ /* 네이티브 외형 감추기 */
-moz-appearance: auto; -moz-appearance: auto;
appearance: auto; appearance: auto;
background: #fff; border: 1px solid;
border: 1px solid #d9d9d9;
border-radius: 6px; border-radius: 6px;
color: rgba(0,0,0,0.87843);
} }
.tui-grid-layer-editing { .tui-grid-layer-editing {

View File

@ -635,15 +635,15 @@ export default {
this.setChart04Data(chart04Dat); this.setChart04Data(chart04Dat);
let chartOption2 = getLineChartOption({ let chartOption2 = getLineChartOption({
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_02].xAxisData, xAxisData: this.$store.state.pageData[myPrgmId][this.chart_02].xAxis.data,
seriesData: this.$store.state.pageData[myPrgmId][this.chart_02].seriesData, seriesData: this.$store.state.pageData[myPrgmId][this.chart_02].series,
isDarkMode: this.isDarkMode, isDarkMode: this.isDarkMode,
}); });
this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption2 this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption2
let chartOption5 = getLineChartOption({ let chartOption5 = getLineChartOption({
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_05].xAxisData, xAxisData: this.$store.state.pageData[myPrgmId][this.chart_05].xAxis.data,
seriesData: this.$store.state.pageData[myPrgmId][this.chart_05].seriesData, seriesData: this.$store.state.pageData[myPrgmId][this.chart_05].series,
isDarkMode: this.isDarkMode, isDarkMode: this.isDarkMode,
}); });
this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption5 this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption5
@ -754,7 +754,7 @@ export default {
changeGrid: async function (pageNum, limit) { changeGrid: async function (pageNum, limit) {
this.page = pageNum; this.page = pageNum;
this.limit = limit; this.limit = limit;
await this.getGridData(); await this.getGridData(true);
}, },
async search() { async search() {
await new Promise((resolve) => setTimeout(resolve, 1500)); await new Promise((resolve) => setTimeout(resolve, 1500));
@ -766,7 +766,7 @@ export default {
await this.getTodayEfficiencyStatus(); await this.getTodayEfficiencyStatus();
await this.getTodayNgTopTen(); await this.getTodayNgTopTen();
await this.getCompareEqpmTGdChart(); await this.getCompareEqpmTGdChart();
await this.getGridData(); await this.getGridData(false);
} }
}, },
async gridInit() { async gridInit() {
@ -944,8 +944,13 @@ export default {
this.loadGrid = true; this.loadGrid = true;
// this.getGridData(); // this.getGridData();
}, },
async getGridData() { async getGridData(isPaging) {
// Do not hide grid when trigger paging function
if (!isPaging) {
this.loadGrid = false; this.loadGrid = false;
}
// Get total records of grid // Get total records of grid
const totalRes = await this.postApiReturn({ const totalRes = await this.postApiReturn({
apiKey: "selectIssueGdIdxDataPageTotal", apiKey: "selectIssueGdIdxDataPageTotal",

View File

@ -41,7 +41,7 @@
<div class="h100 px-4" style="height:calc(100% - 70px)"> <div class="h100 px-4" style="height:calc(100% - 70px)">
<div ref="gridParent" style="height: 26%"> <div ref="gridParent" style="height: 26%">
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :dataPath="dataPathExample" /> :parentPrgmId="myPrgmId" @getRowsData="getRowData" />
</div> </div>
<div class="d-flex py-4 mt-4"> <div class="d-flex py-4 mt-4">
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList" <component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"

View File

@ -210,62 +210,6 @@ export default {
selectValueList02: [], selectValueList02: [],
selectValue03: null, selectValue03: null,
selectValueList03: [], selectValueList03: [],
// dataPathExample: {
// "rowGrid": {
// data: [
// {
// eqpmId: 'EQ001',
// originEqpmId: 'ORIG001',
// eqpmNm: '냉각기 A',
// careStndVal: 75,
// warnStndVal: 90,
// },
// {
// eqpmId: 'EQ002',
// originEqpmId: 'ORIG002',
// eqpmNm: '펌프 B',
// careStndVal: 60,
// warnStndVal: 80,
// },
// {
// eqpmId: 'EQ003',
// originEqpmId: 'ORIG003',
// eqpmNm: '모터 C',
// careStndVal: 50,
// warnStndVal: 70,
// },
// {
// eqpmId: 'EQ004',
// originEqpmId: 'ORIG004',
// eqpmNm: '밸브 D',
// careStndVal: 65,
// warnStndVal: 85,
// },
// {
// eqpmId: 'EQ005',
// originEqpmId: 'ORIG005',
// eqpmNm: '컨트롤러 E',
// careStndVal: 55,
// warnStndVal: 75,
// },
// ],
// column: [
// { header: '설비', name: 'eqpmId', align: 'left' },
// {
// header: 'origin설비',
// name: 'originEqpmId',
// align: 'center',
// hidden: true,
// },
// { header: '설비명', name: 'eqpmNm', align: 'left' },
// { header: '주의기준', name: 'careStndVal', align: 'right' },
// { header: '심각기준', name: 'warnStndVal', align: 'right' },
// ]
// }
// }
}; };
}, },
computed: { computed: {

View File

@ -60,20 +60,21 @@
</v-col> </v-col>
</v-row> </v-row>
<v-row ref="contents" class="pt-3"> <v-row ref="contents" class="pt-3">
<v-col :cols="12" > <v-col :cols="12" style="height: 100%">
<v-card class="pb-5"> <v-card class="pb-3">
<div class="d-flex align-center justify-space-between pa-4"> <div class="d-flex align-center justify-space-between pa-4">
<v-card-title class="pa-0">설비별 현황 리스트</v-card-title> <v-card-title class="pa-0">설비별 현황 리스트</v-card-title>
</div> </div>
<div class="px-4" > <div class="px-4" style="height:calc(100% - 120px)">
<div ref="gridParent" class="w100 h100 enrg-effc"> <div ref="gridParent" class="w100 h100 enrg-effc">
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" :columnClickEventFlag="true" @columnClick="columnClick" /> :parentPrgmId="myPrgmId" :columnClickEventFlag="true" @columnClick="columnClick" />
</div>
<div class="d-flex align-center justify-center pa-5 pb-0" v-if="loadGrid && totalCount > 0"> <div class="d-flex align-center justify-center pa-5 pb-0" v-if="loadGrid && totalCount > 0">
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit" <pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
@loadData="changeGrid" /> @loadData="changeGrid" />
</div> </div>
</div>
</div> </div>

View File

@ -282,13 +282,13 @@ export default {
changeGrid: async function (pageNum, limit) { changeGrid: async function (pageNum, limit) {
this.page = pageNum; this.page = pageNum;
this.limit = limit; this.limit = limit;
this.search(); this.getGridData(true);
}, },
async init() { async init() {
await this.getSelectValueList(); await this.getSelectValueList();
await this.setQueryParams(); await this.setQueryParams();
this.gridInit(); this.gridInit();
await this.getGridData(); await this.getGridData(false);
this.initedFlag = true; this.initedFlag = true;
}, },
@ -588,8 +588,10 @@ export default {
value: columnList, value: columnList,
}); });
}, },
async getGridData() { async getGridData(isPaging) {
if(!isPaging) {
this.loadGrid = false; this.loadGrid = false;
}
this.enrgUseMainIdxDesc = []; this.enrgUseMainIdxDesc = [];
var apiKey = null; var apiKey = null;
var apiKey2 = null; var apiKey2 = null;
@ -651,7 +653,7 @@ export default {
this.makeTooltip(); this.makeTooltip();
}, },
async search() { async search() {
await this.getGridData(); await this.getGridData(false);
}, },
async makeTooltip() { async makeTooltip() {
var gdIdxList = [ var gdIdxList = [

View File

@ -153,7 +153,7 @@
<v-card class="pb-5 px-2"> <v-card class="pb-5 px-2">
<div class="d-flex align-center justify-space-between"> <div class="d-flex align-center justify-space-between">
<v-card-title class="d-flex align-center justify-space-between pa-5">{{ <v-card-title class="d-flex align-center justify-space-between pa-5">{{
"ICHEON.HVAC.EQP_HT_CH004.UT_HT_CH201.CHI_AMP_1A_PV" 'TAG를 선택해주세요'
}}</v-card-title> }}</v-card-title>
</div> </div>
<div :ref="'chartParent' + 0" style="height: 100%; overflow: visible"> <div :ref="'chartParent' + 0" style="height: 100%; overflow: visible">