Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-dungtv-0731

This commit is contained in:
Tran Van Dung/(Tran Van Dung)/현장대리인/SK
2025-07-31 13:52:37 +07:00
18 changed files with 539 additions and 812 deletions

View File

@ -80,11 +80,11 @@
</div> -->
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)"
class="mr-2">닫기</a-button>
<a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
<a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
@click="deleteBtnAction($event)" class="mr-2">삭제</a-button>
<a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
</v-card-actions>
</v-card>
</v-dialog>
@ -156,23 +156,7 @@ export default {
return {
dialog: false,
loadGrid: true,
dataPathPopExample: {
"rowGrid": {
data: [
{
'calcProc': 'AVG_CNT2',
'argCnt': '2',
'calcDesc': '두개 변수에 대한 평균'
}
],
column: [
{ header: '계산코드', name: 'calcProc', width: 150 },
{ header: '아규먼트갯수', name: 'argCnt', align: 'center', width: 100 },
]
}
},
loadGrid: false,
grid_01: 'grid_01',
myModalKey: 'egrpPysclQtyPop',
modalDataKey: 'pyscModalData',
@ -337,13 +321,6 @@ export default {
this.selectValueList01 = [];
this.selectValue01 = null;
}
// this.selectValueList01 = [
// { label: '냉동기고온', value: '냉동기고온' },
// { label: '냉동기저온', value: '냉동기저온' },
// { label: '공조기', value: '공조기' },
// { label: '보일러', value: '보일러' }
// ];
},
search() {
this.getGridData();
@ -365,7 +342,7 @@ export default {
modalDataKey: this.modalDataKey,
value: Object.assign(
// Utility.defaultGridOption(this.$refs.modalGridParent.offsetHeight - 60, myOptions),
// Utility.defaultGridOption(100, myOptions),
Utility.defaultGridOption(400, myOptions),
myOptions,
),
});
@ -423,6 +400,15 @@ export default {
}
}
// res = [
// {
// 'pysclQtyId' : 'PYSCL00001',
// 'pysclQtyCd' : 'AMP_1A',
// 'pysclQtyNm' : '회로1 전류A',
// 'pysclQtyTpNm' : 'TAG'
// }
// ]
this.setModalGridData({
modalKey: this.myModalKey,
gridKey: this.grid_01,
@ -477,10 +463,10 @@ export default {
this.dialog = flag;
},
async dialogOpenCloseEvent(val) {
// await this.setSelectValueList01();
// if (!this.myBindingData) {
// return alert('그리드를 먼저 선택해주세요.');
// }
await this.setSelectValueList01();
if (!this.myBindingData) {
return alert('그리드를 먼저 선택해주세요.');
}
this.dialog = !val;
},
deleteBtnAction(v) {

View File

@ -5,7 +5,7 @@
<v-icon
v-if="iconShow"
small
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
>$icoBulletPoint</v-icon
>
{{ option.labelContent }}

View File

@ -43,7 +43,10 @@
</v-col>
<v-col :cols="6" class="py-0 pl-2">
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
<div class="startpicker-container2">
<component :parentPrgmId="parentPrgmId" :is="'SelectBoxTime'" ref="SelectBox1"
:propsValue="selectTimeValue1" :itemList="selectTimeValueList1" :minInterval="selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
" @update:propsValue="selectTimeValue1 = $event" />
<!-- <div class="startpicker-container2">
<v-text-field id="startpicker2" ref="startpicker2" v-model="strtDt"
:class="'v-input__custom'" :hide-details="true" readonly outlined>
<template #append>
@ -53,7 +56,7 @@
<div ref="startpicker-container2" id="startpicker-container2"></div>
</template>
</v-text-field>
</div>
</div> -->
</v-col>
<!-- <v-col :cols="2">
<vue-numeric-input v-model="strtHh" :min="0" :max="23" controls-type="updown"
@ -91,17 +94,9 @@
</div>
</v-col>
<v-col :cols="6" class="pl-2">
<div class="startpicker-container3">
<v-text-field id="startpicker3" ref="startpicker3" v-model="endDt"
:class="'v-input__custom'" :hide-details="true" readonly outlined>
<template #append>
<v-icon size="20">$icoCalendar</v-icon>
</template>
<template #append-outer>
<div ref="startpicker-container3" id="startpicker-container3"></div>
</template>
</v-text-field>
</div>
<component :parentPrgmId="parentPrgmId" :is="'SelectBoxTime'" ref="SelectBox2"
:propsValue="selectTimeValue2" :itemList="selectTimeValueList2" :minInterval="selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
" @update:propsValue="selectTimeValue2 = $event" />
</v-col>
<!-- <v-col :cols="2">
<vue-numeric-input v-model="endHh" :min="0" :max="23" controls-type="updown"
@ -186,10 +181,11 @@
</div>
</template>
<v-card-actions class="justify-end">
<a-button :ripple="false" @click="btnAction('save')" class="mr-2">저장</a-button>
<a-button :ripple="false" @click="btnAction('close')" class="mr-2">닫기</a-button>
<a-button type="primary" :ripple="false" @click="btnAction('save')" class="mr-2">저장</a-button>
<a-button v-show="popUpAction === 'update'" type="danger" ghost danger :ripple="false"
@click="btnAction('delete')" class="mr-2">삭제</a-button>
<a-button :ripple="false" type="primary" @click="btnAction('close')" class="mr-2">닫기</a-button>
@click="btnAction('delete')">삭제</a-button>
</v-card-actions>
</v-card>
</v-dialog>
@ -210,6 +206,7 @@ import DatePicker from '~/components/common/Datepicker';
import mixinGlobal from '@/mixin/global.js';
import Utility from '~/plugins/utility';
import TuiDatepicker from 'tui-date-picker';
import SelectBoxTime from "@/components/common/select/SelectBoxTime";
export default {
mixins: [mixinGlobal],
@ -237,6 +234,13 @@ export default {
type: String,
require: false,
},
selectBoxTimeItemList: {
type: Object,
require: false,
default: () => {
return {};
},
},
},
components: {
InputText,
@ -250,6 +254,7 @@ export default {
Utility,
TuiDatepicker,
VueNumericInput,
SelectBoxTime,
},
data() {
return {
@ -272,7 +277,23 @@ export default {
planSeq: '',
blocId: '',
addPlanData: {
}
},
selectTimeValue1:
this.selectBoxTimeItemList.selectTimeValue1 != undefined
? this.selectBoxTimeItemList.selectTimeValue1
: null, // selectBoxTime에 필요한 prop
selectTimeValueList1:
this.selectBoxTimeItemList.selectTimeValueList1 != undefined
? this.selectBoxTimeItemList.selectTimeValueList1
: [], // selectBoxTime에 필요한 prop
selectTimeValue2:
this.selectBoxTimeItemList.selectTimeValue2 != undefined
? this.selectBoxTimeItemList.selectTimeValue2
: null, // selectBoxTime에 필요한 prop
selectTimeValueList2:
this.selectBoxTimeItemList.selectTimeValueList2 != undefined
? this.selectBoxTimeItemList.selectTimeValueList2
: [], // selectBoxTime에 필요한 prop
};
},
computed: {
@ -310,7 +331,11 @@ export default {
}
},
strtHh(val) {
// console.log('strtHh : ', val);
// const [hh, mm] = selectTimeValue1.split(':');
// console.log(`Hours: ${hh}, Minutes: ${mm}`);
console.log('strtHh : ', val);
this.checkStrtAndEndDateTime('start');
},
endHh(val) {
@ -323,6 +348,12 @@ export default {
endMm(val) {
this.checkStrtAndEndDateTime('end');
},
selectTimeValue1(val) {
this.setPageData({ selectTimeValue1: val });
},
selectTimeValue2(val) {
this.setPageData({ selectTimeValue2: val });
}
},
methods: {
...mapMutations({
@ -505,10 +536,8 @@ export default {
let returnData = res[0];
this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD');
this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD');
this.strtHh = returnData.strtHh;
this.strtMm = returnData.strtMm;
this.endHh = returnData.endHh;
this.endMm = returnData.endMm;
this.selectTimeValue1 = returnData.strtHh+' : '+ returnData.strtMm;
this.selectTimeValue2 = returnData.endHh+' : '+ returnData.endMm;
this.planTitle = returnData.planTitle;
this.planCntn = returnData.planCntn;
this.planColor = returnData.planColor;
@ -525,10 +554,8 @@ export default {
if (
this.strtDt === '' ||
this.endDt === '' ||
this.strtHh === '' ||
this.strtMm === '' ||
this.endHh === '' ||
this.endMm === '' ||
this.selectTimeValue1 === '' ||
this.selectTimeValue2 === '' ||
this.planTitle === '' ||
this.planCntn === '' ||
this.planColor === ''
@ -542,10 +569,8 @@ export default {
if (
this.strtDt == '' ||
this.endDt == '' ||
this.strtHh == '' ||
this.strtMm == '' ||
this.endHh == '' ||
this.endMm == '' ||
this.selectTimeValue1 === '' ||
this.selectTimeValue2 === '' ||
this.planTitle == '' ||
this.planCntn == '' ||
this.planColor == ''
@ -565,13 +590,17 @@ export default {
//console.log(this);
},
async insertDetail() {
const [strtHh, strtMm] = this.selectTimeValue1 ? this.selectTimeValue1.split(':') : '00:00'.split(':');
const [endHh, endMm] = this.selectTimeValue2 ? this.selectTimeValue2.split(':') : '01:00'.split(':');
var params = {
strtDt: this.strtDt,
endDt: this.endDt,
strtHh: this.strtHh.toString(),
strtMm: this.strtMm.toString(),
endHh: this.endHh.toString(),
endMm: this.endMm.toString(),
strtHh: strtHh.trim().toString(),
strtMm: strtMm.trim().toString(),
endHh: endHh.trim().toString(),
endMm: endMm.trim().toString(),
blocId: this.blocId,
planTitle: this.planTitle,
planCntn: this.planCntn,
@ -592,13 +621,16 @@ export default {
});
},
async updateDetail() {
const [strtHh, strtMm] = this.selectTimeValue1 ? this.selectTimeValue1.split(':') : '00:00'.split(':');
const [endHh, endMm] = this.selectTimeValue2 ? this.selectTimeValue2.split(':') : '01:00'.split(':');
var params = {
strtDt: this.strtDt.substr(0, 10),
endDt: this.endDt.substr(0, 10),
strtHh: this.strtHh.toString(),
strtMm: this.strtMm.toString(),
endHh: this.endHh.toString(),
endMm: this.endMm.toString(),
strtHh: strtHh.trim().toString(),
strtMm: strtMm.trim().toString(),
endHh: endHh.trim().toString(),
endMm: endMm.trim().toString(),
planTitle: this.planTitle,
planCntn: this.planCntn,
planColor: this.planColor,

View File

@ -67,7 +67,7 @@
Expand All
</a-button></v-col>
</v-row>
<!-- <v-btn color="primary" dark @click="btnTreeExpand()">{{
treeExpand
}}</v-btn> -->
@ -268,7 +268,7 @@ export default {
header: '',
name: '',
align: 'center',
width: 50,
width: 20,
formatter: (props) => {
return `<label class="custom-radio">
<span class="radio-mark"></span>
@ -278,10 +278,10 @@ export default {
{
header: '검침개소명',
name: 'readPlcNm',
width: 300,
width: 500,
align: 'left',
},
{ header: '검침개소', name: 'name', align: 'center' },
{ header: '검침개소', name: 'name', align: 'left', width: 200 },
],
});
},
@ -307,6 +307,9 @@ export default {
// console.log("treeData", res)
let myOptionsTree = {
columnOptions: {
resizable: true,
},
treeColumnOptions: {
name: 'readPlcNm',
},