init dev-push code ui base design

This commit is contained in:
leonard
2025-07-22 09:58:38 +07:00
parent ffdf5ccb66
commit eedbf94d56
214 changed files with 42170 additions and 28040 deletions

View File

@ -3,272 +3,148 @@
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
<v-row align="center" no-gutters>
<v-row align="end" no-gutters>
<v-col :cols="3">
<component
:is="'SelectBox'"
ref="SelectBox1"
:propsValue="selectValue01"
:itemList="selectValueList01"
:label="'설비종류'"
@update:propsValue="selectValue01 = $event"
/>
<component :is="'SelectBox'" ref="SelectBox1" :propsValue="selectValue01"
:itemList="selectValueList01" :label="'설비종류'"
@update:propsValue="selectValue01 = $event" labelCols="12" :textCols="12"
:customClass="'select-large fixed-width'" :iconShow="true" />
</v-col>
<v-col :cols="3">
<component
:is="'SelectBox'"
ref="SelectBox2"
:propsValue="selectValue02"
:itemList="selectValueList02"
:label="'설비그룹'"
@update:propsValue="selectValue02 = $event"
/>
<component :is="'SelectBox'" ref="SelectBox2" :propsValue="selectValue02"
:itemList="selectValueList02" :label="'설비그룹'"
@update:propsValue="selectValue02 = $event" labelCols="12" :textCols="12"
:customClass="'select-large fixed-width'" :iconShow="true" />
</v-col>
<v-col :cols="3">
<component
:is="'SelectBox'"
ref="SelectBox3"
:propsValue="selectValue03"
:itemList="selectValueList03"
:label="'물리량타입'"
@update:propsValue="selectValue03 = $event"
/>
<component :is="'SelectBox'" ref="SelectBox3" :propsValue="selectValue03"
:itemList="selectValueList03" :label="'물리량타입'"
@update:propsValue="selectValue03 = $event" labelCols="12" :textCols="12"
:customClass="'select-large fixed-width'" :iconShow="true" />
</v-col>
<v-col :cols="3" class="text-right">
<v-btn :ripple="false" @click="search()">조회</v-btn>
<BtnSearch @click="search" size="large" />
</v-col>
</v-row>
</v-card>
</v-col>
</v-row>
<v-row ref="contents">
<v-col :cols="4" class="h100">
<v-card class="pb-5 px-2">
<v-card-title class="d-flex align-center justify-space-between pa-5">
<span class="tit ft-size_20 ft-weight_600">물리량 리스트</span>
<Buttons
:parentPrgmId="myPrgmId"
:bindingData="gridName"
:detailList="detailList"
:btnActionsFnc="btnActions"
/>
<v-col :cols="5" class="h100">
<v-card class="pb-5">
<v-card-title class="d-flex align-center justify-space-between pa-4">
물리량 리스트
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
:btnActionsFnc="btnActions" />
</v-card-title>
<div class="px-5" style="height:calc(100% - 76px)">
<div ref="gridParent" class="w100 h100">
<component
:ref="gridName"
:is="loadGrid ? 'Grid' : null"
:gridName="gridName"
:parentPrgmId="myPrgmId"
@getRowsData="getRowData"
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
:selectedRowDataWatchFlag="true"
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
:preventFocusChangeEventFlag="true"
:preventFocusChangeEventTargetGridList="editingGridList"
/>
:preventFocusChangeEventTargetGridList="editingGridList" :dataPath="dataPathExample" />
</div>
</div>
</v-card>
</v-col>
<v-col :cols="8" class="h100">
<v-col :cols="7" class="h100">
<v-card class="pb-5 px-4">
<v-card-title>물리량 상세</v-card-title>
<v-card-title class="px-0">물리량 상세</v-card-title>
<v-row no-gutters>
<v-col :cols="6" class="py-2">
<InputText
:parentPrgmId="myPrgmId"
label="물리량 ID"
valueNm="pysclQtyId"
:labelCols="4"
:textCols="7"
:required="requiredValueList[0]"
:disabled="disabledValueList[0]"
:readonly="readOnlyValueList[0]"
placeholder="시스템 자동입력"
/>
<v-col :cols="12" class="py-3">
<InputText :parentPrgmId="myPrgmId" label="물리량 ID" valueNm="pysclQtyId" :labelCols="12"
:textCols="12" :required="requiredValueList[0]" :disabled="disabledValueList[0]"
:readonly="readOnlyValueList[0]" placeholder="시스템 자동입력" />
</v-col>
</v-row>
<v-row no-gutters>
<v-col :cols="6" class="py-2">
<component
:is="'SelectBox'"
ref="SelectBox4"
:propsValue="formEqpmGrpId"
:itemList="formSelectValueList01"
:label="'설비그룹'"
:required="requiredValueList[1]"
:disabled="disabledValueList[1]"
:readonly="readOnlyValueList[1]"
@update:propsValue="formEqpmGrpId = $event"
:labelCols="4"
:textCols="7"
/>
<v-col :cols="6" class="py-3 pr-4">
<component :is="'SelectBox'" ref="SelectBox4" :propsValue="formEqpmGrpId"
:itemList="formSelectValueList01" :label="'설비그룹'" :required="requiredValueList[1]"
:disabled="disabledValueList[1]" :readonly="readOnlyValueList[1]"
@update:propsValue="formEqpmGrpId = $event" :labelCols="12" :textCols="12" />
</v-col>
<v-col :cols="6" class="py-2">
<InputTextReg
:parentPrgmId="myPrgmId"
label="물리량코드"
valueNm="pysclQtyCd"
:labelCols="4"
:textCols="7"
:required="requiredValueList[2]"
:disabled="disabledValueList[2]"
:readonly="readOnlyValueList[2]"
/>
<v-col :cols="6" class="py-3 pl-4">
<InputTextReg :parentPrgmId="myPrgmId" label="물리량코드" valueNm="pysclQtyCd" :labelCols="12"
:textCols="12" :required="requiredValueList[2]" :disabled="disabledValueList[2]"
:readonly="readOnlyValueList[2]" />
</v-col>
</v-row>
<v-row no-gutters>
<v-col :cols="6" class="py-2">
<InputText
:parentPrgmId="myPrgmId"
label="물리량명"
valueNm="pysclQtyNm"
:labelCols="4"
:textCols="7"
:required="requiredValueList[3]"
:disabled="disabledValueList[3]"
:readonly="readOnlyValueList[3]"
/>
<v-col :cols="12" class="py-3">
<InputText :parentPrgmId="myPrgmId" label="물리량명" valueNm="pysclQtyNm" :labelCols="12"
:textCols="12" :required="requiredValueList[3]" :disabled="disabledValueList[3]"
:readonly="readOnlyValueList[3]" />
</v-col>
</v-row>
<v-row no-gutters>
<v-col :cols="6" class="py-2">
<component
:is="'SelectBox'"
ref="SelectBox5"
:propsValue="formPysclQtyTp"
:itemList="formSelectValueList02"
:label="'물리량타입'"
@update:propsValue="formPysclQtyTp = $event"
:required="requiredValueList[4]"
:disabled="disabledValueList[4]"
:readonly="readOnlyValueList[4]"
:labelCols="4"
:textCols="7"
/>
<v-col :cols="6" class="py-3 pr-4">
<component :is="'SelectBox'" ref="SelectBox5" :propsValue="formPysclQtyTp"
:itemList="formSelectValueList02" :label="'물리량타입'"
@update:propsValue="formPysclQtyTp = $event" :required="requiredValueList[4]"
:disabled="disabledValueList[4]" :readonly="readOnlyValueList[4]" :labelCols="12"
:textCols="12" />
</v-col>
<v-col :cols="6" class="py-2">
<component
:is="'SelectBox'"
ref="SelectBox6"
:propsValue="formUpTotMeth"
:itemList="formSelectValueList04"
:label="'상위집계방법'"
@update:propsValue="formUpTotMeth = $event"
:required="requiredValueList[5]"
:disabled="disabledValueList[5]"
:readonly="readOnlyValueList[5]"
:labelCols="4"
:textCols="7"
/>
<v-col :cols="6" class="py-3 pl-4">
<component :is="'SelectBox'" ref="SelectBox6" :propsValue="formUpTotMeth"
:itemList="formSelectValueList04" :label="'상위집계방법'"
@update:propsValue="formUpTotMeth = $event" :required="requiredValueList[5]"
:disabled="disabledValueList[5]" :readonly="readOnlyValueList[5]" :labelCols="12"
:textCols="12" />
</v-col>
</v-row>
<v-row no-gutters>
<v-col :cols="6" class="py-2">
<component
:is="'SelectBox'"
ref="SelectBox7"
:propsValue="formUnit"
:itemList="formSelectValueList03"
:label="'단위'"
@update:propsValue="formUnit = $event"
:required="requiredValueList[6]"
:disabled="disabledValueList[6]"
:readonly="readOnlyValueList[6]"
:labelCols="4"
:textCols="7"
/>
<v-col :cols="6" class="py-3 pr-4">
<component :is="'SelectBox'" ref="SelectBox7" :propsValue="formUnit"
:itemList="formSelectValueList03" :label="'단위'" @update:propsValue="formUnit = $event"
:required="requiredValueList[6]" :disabled="disabledValueList[6]"
:readonly="readOnlyValueList[6]" :labelCols="12" :textCols="12" />
</v-col>
<v-col :cols="6" class="py-3 pl-4" v-show="argContentShowFlag">
<component :is="'EqpmCalcPop'" :parentPrgmId="myPrgmId" ref="EqpmCalcPop" :openMode="'P'"
:modalTitle="'계산코드'" :labelContent="'계산코드'" :item="calcItem" :labelCols="12"
:textCols="12" />
</v-col>
</v-row>
<v-row no-gutters v-show="argContentShowFlag">
<v-col :cols="6" class="py-2">
<component
:is="'EqpmCalcPop'"
:parentPrgmId="myPrgmId"
ref="EqpmCalcPop"
:openMode="'P'"
:modalTitle="'계산코드'"
:labelContent="'계산코드'"
:item="calcItem"
:labelCols="4"
:textCols="7"
/>
<v-col :cols="6" class="py-3">
<component :is="'TextArea'" :parentPrgmId="myPrgmId" ref="TextArea" :item="calcDescItem" />
</v-col>
</v-row>
<v-row no-gutters v-show="argContentShowFlag">
<v-col :cols="12" class="py-2">
<component
:is="'TextArea'"
:parentPrgmId="myPrgmId"
ref="TextArea"
:item="calcDescItem"
/>
</v-col>
</v-row>
<v-row no-gutters v-show="argContentShowFlag">
<v-col :cols="2" class="py-2">
<label for="">
<v-icon
x-small
:color="requiredValueList[7] ? '#fb8200' : 'primary'"
class="mr-1"
>mdi-record-circle</v-icon
>
<v-icon small
:class="['mr-1', requiredValueList[7] ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
계산Argument
</label>
</v-col>
<v-col :cols="2" class="py-2">
<InputText
:parentPrgmId="myPrgmId"
label="ARG갯수"
valueNm="argCnt"
:labelCols="8"
:textCols="4"
:iconShow="false"
:required="requiredValueList[7]"
:disabled="disabledValueList[7]"
:readonly="readOnlyValueList[7]"
/>
<v-col :cols="4" class="py-2">
<InputText :parentPrgmId="myPrgmId" label="ARG갯수" valueNm="argCnt" :labelCols="12"
:textCols="12" :iconShow="true" :required="requiredValueList[7]"
:disabled="disabledValueList[7]" :readonly="readOnlyValueList[7]" />
</v-col>
<v-col :cols="4"> </v-col>
<v-col :cols="4" class="py-2" align="right">
<v-btn
:ripple="false"
@click="btnAction('add')"
:disabled="disabledValueList[7]"
>추가</v-btn
>
<v-btn :ripple="false" @click="btnAction('add')" :disabled="disabledValueList[7]">추가</v-btn>
<!-- <v-btn :ripple="false" @click="btnAction('edit')">수정</v-btn> -->
<v-btn
:ripple="false"
@click="btnAction('remove')"
:disabled="disabledValueList[7]"
>삭제</v-btn
>
<v-btn :ripple="false" @click="btnAction('remove')"
:disabled="disabledValueList[7]">삭제</v-btn>
</v-col>
</v-row>
<v-row style="height:calc(30% - 76px)" v-show="argContentShowFlag">
<v-col :cols="2"> </v-col>
<v-col :cols="10" style="height:100%">
<div ref="gridParent2" style="height:100%">
<component
:ref="gridName2"
:is="loadGrid2 ? 'Grid' : null"
:gridName="gridName2"
:parentPrgmId="myPrgmId"
@getRowsData="getRowData2"
/>
<component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2"
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" :dataPath="dataPathExample2" />
</div>
</v-col>
</v-row>
<component
v-show="false"
:is="'EgrpPysclQtyPop'"
:parentPrgmId="myPrgmId"
ref="EgrpPysclQtyPop"
:item="EgrpPysclQtyPopItem"
@dialogOpenCloseEvent="egrpPysclQtyPopOpenCloseEvent"
/>
<component v-show="false" :is="'EgrpPysclQtyPop'" :parentPrgmId="myPrgmId" ref="EgrpPysclQtyPop"
:item="EgrpPysclQtyPopItem" @dialogOpenCloseEvent="egrpPysclQtyPopOpenCloseEvent" />
</v-card>
</v-col>
</v-row>
@ -350,8 +226,115 @@ export default {
formatterSelectList01: [],
formatterSelectList02: [],
loadGrid: false,
loadGrid2: false,
loadGrid: true,
dataPathExample: {
"rowGrid": {
data: [
{
"pysclQtyId": "001",
"pysclQtyCd": "TEMP001",
"pysclQtyNm": "온도",
"pysclQtyTp": "실수"
},
{
"pysclQtyId": "002",
"pysclQtyCd": "PRESS001",
"pysclQtyNm": "압력",
"pysclQtyTp": "실수"
},
{
"pysclQtyId": "003",
"pysclQtyCd": "FLOW001",
"pysclQtyNm": "유량",
"pysclQtyTp": "정수"
},
{
"pysclQtyId": "004",
"pysclQtyCd": "HUMID001",
"pysclQtyNm": "습도",
"pysclQtyTp": "실수"
},
{
"pysclQtyId": "005",
"pysclQtyCd": "VOLT001",
"pysclQtyNm": "전압",
"pysclQtyTp": "실수"
}
]
,
column: [
{
header: '물리량 ID',
name: 'pysclQtyId',
width: 100,
align: 'center',
},
{ header: '물리량코드', name: 'pysclQtyCd', minWidth: 255 },
{ header: '물리량명', name: 'pysclQtyNm', width: 150 },
{
header: '물리량타입',
name: 'pysclQtyTp',
width: 80,
},
],
}
},
dataPathExample2: {
"rowGrid2": {
data:
[
{
"argSeq": "1",
"argPysclQtyId": "001",
"eqpmGrpId": "EQPM-GRP-A",
"pysclQtyCd": "TEMP001"
},
{
"argSeq": "2",
"argPysclQtyId": "002",
"eqpmGrpId": "EQPM-GRP-B",
"pysclQtyCd": "PRESS001"
},
{
"argSeq": "3",
"argPysclQtyId": "003",
"eqpmGrpId": "EQPM-GRP-C",
"pysclQtyCd": "FLOW001"
},
{
"argSeq": "4",
"argPysclQtyId": "004",
"eqpmGrpId": "EQPM-GRP-D",
"pysclQtyCd": "HUMID001"
},
{
"argSeq": "5",
"argPysclQtyId": "005",
"eqpmGrpId": "EQPM-GRP-E",
"pysclQtyCd": "VOLT001"
}
]
,
column: [
{ header: '순번', name: 'argSeq', editor: 'text' },
{ header: '물리량 ID', name: 'argPysclQtyId' },
{
header: '설비그룹',
name: 'eqpmGrpId',
},
{ header: '물리량 코드', name: 'pysclQtyCd' },
],
}
},
loadGrid2: true,
detailList: myDetail,
readOnlyValueList: [
@ -401,7 +384,8 @@ export default {
required: false,
label: '계산설명',
cols: 12,
textCols: 10,
textCols: 12,
padding: false,
},
argContentShowFlag: true,
@ -715,7 +699,7 @@ export default {
defaultData: defaultData,
});
},
created() {},
created() { },
mounted() {
this.init();
},
@ -1045,7 +1029,7 @@ export default {
header: '물리량타입',
name: 'pysclQtyTp',
width: 80,
formatter: function(data) {
formatter: function (data) {
var resultValue = '';
var pysclQtyTp = data.row.pysclQtyTp;
@ -1100,7 +1084,7 @@ export default {
{
header: '설비그룹',
name: 'eqpmGrpId',
formatter: function(data) {
formatter: function (data) {
var resultValue = '';
var pysclQtyId = '';
var eqpmGrpId = '';
@ -1184,12 +1168,12 @@ export default {
//rowKey: 0,
rowKey:
this.pageData.rowGridSelectKey == '' ||
this.pageData.rowGridSelectKey == null
this.pageData.rowGridSelectKey == null
? 0
: this.pageData.rowGridSelectKey ==
this.$refs['rowGrid'].getData().length - 1
? this.pageData.rowGridSelectKey
: 0,
this.$refs['rowGrid'].getData().length - 1
? this.pageData.rowGridSelectKey
: 0,
columnName: 'pysclQtyId',
setScroll: true,
});
@ -1529,7 +1513,7 @@ export default {
}
// 2. 삭제가 먼저 되도록 정렬
dataArr.sort(function(data1, data2) {
dataArr.sort(function (data1, data2) {
if (data1.rowStat > data2.rowStat) {
return 1;
} else if (data1.rowStat < data2.rowStat) {
@ -1683,6 +1667,3 @@ const defaultData = {
const myDetail = [];
</script>
<style lang="scss">
@import '@/assets/scss/common.scss';
</style>