diff --git a/web/src/components/DetailInfo.vue b/web/src/components/DetailInfo.vue
index 7715f1e..24ea701 100644
--- a/web/src/components/DetailInfo.vue
+++ b/web/src/components/DetailInfo.vue
@@ -68,6 +68,8 @@
:type="item.inputType"
:placeholder="'请输入' + item.label"
:disabled="!props.disabled && type ? !!item.disabled : props.disabled"
+ :addon-before="item.addonBefore"
+ :addon-after="item.addonAfter"
/>
@@ -535,8 +538,6 @@ function avatarUploadChange(info) {
function onFieldsChange() {}
function handleSubmit() {}
-
-
// 主动暴露方法
defineExpose({
confirm,
@@ -702,10 +703,10 @@ defineExpose({
border: none !important;
color: var(--theme-text-default) !important;
}
-:deep(.ant-input-clear-icon){
+:deep(.ant-input-clear-icon) {
color: #fff;
}
-:deep(.ant-select .ant-select-clear,.ant-select-clear:hover){
+:deep(.ant-select .ant-select-clear, .ant-select-clear:hover) {
color: #fff;
background: none !important;
}
diff --git a/web/src/components/monitor/device.vue b/web/src/components/monitor/device.vue
index 2359c6d..9bb48f7 100644
--- a/web/src/components/monitor/device.vue
+++ b/web/src/components/monitor/device.vue
@@ -369,6 +369,7 @@ export default {
})
this.deviceList = res.data
+
this.$emit('updateGatewayData', res.gateway);
} catch (error) {
this.deviceList = []
diff --git a/web/src/views/monitor.vue b/web/src/views/monitor.vue
index e219313..f9af7f6 100644
--- a/web/src/views/monitor.vue
+++ b/web/src/views/monitor.vue
@@ -9,7 +9,9 @@
>{{ station.name }}
- 查看预制舱参数
+ 查看预制舱参数
@@ -22,7 +24,7 @@
@@ -42,8 +44,17 @@
-
-
+
+
-
+
+
+
+
+
+
@@ -72,19 +102,20 @@ export default {
data() {
return {
// currentKey: '储能系统',
+ dispatchModal: false,
systemType: 1,
value: [],
stations: [],
selectStationId: '',
- message:'',
- msgModal:false,
+ message: '',
+ msgModal: false,
systems: [
{
name: '储能系统',
titles: [
{ v: '运行模式', key: 'workmode' },
{ v: '储能EMU状态', key: 'emu' },
- { v: '充电桩状态', key: 'cdz' },
+ { v: '充电桩状态', key: 'cdz' }
//{ v: '总有功功率(台区)', key: 'power', sufix: 'kW' }
],
power: 60,
@@ -153,13 +184,194 @@ export default {
label: '自定时段'
}
],
- deviceGroup: []
+ deviceGroup: [],
+ detailInfo: {
+ title: '预制舱参数设置',
+ icon: 'icon-xinxi',
+ list: [
+ {
+ label: '储能放电下限值(0-99)',
+ value: '',
+ key: 'soc_min',
+ type: 'input',
+ addonAfter: '%',
+ inputType:'number'
+ },
+ {
+ label: '储能充电上限值(1-100)',
+ value: '',
+ key: 'soc_max',
+ type: 'input',
+ addonAfter: '%',
+ inputType:'number'
+ },
+ {
+ label: '台区变压器容量(160-1600)',
+ value: undefined,
+ key: 'capacity',
+ type: 'input',
+ addonAfter: 'kVA',
+ inputType:'number'
+ },
+ {
+ label: '安全输入功率(0-400)',
+ value: '',
+ key: 'power_safe',
+ type: 'input',
+ addonAfter: 'kW',
+ inputType:'number'
+ },
+ {
+ label: '储能最大放电功率(0-150)',
+ value: '',
+ key: 'power_discharge',
+ type: 'input',
+ addonAfter: 'kW',
+ inputType:'number'
+ },
+ {
+ label: '储能最大充电功率(0-150)',
+ value: '',
+ key: 'power_charge',
+ type: 'input',
+ addonAfter: 'kW',
+ inputType:'number'
+ },
+ {
+ label: '防逆流回差(10-300)',
+ value: '',
+ key: 'backflow',
+ type: 'input',
+ addonAfter: 'kW',
+ inputType:'number'
+ },
+ {
+ label: '防过载回差(10-300)',
+ value: '',
+ key: 'overload',
+ type: 'input',
+ addonAfter: 'kW',
+ inputType:'number'
+ }
+ ],
+ ruleForm: {}
+ },
+ formRules: {
+ soc_min: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入储能放电下限值'
+ },
+ { pattern: /^([0-9]|[1-9][0-9])$/, message: '请输入0-99 的整数' }
+ ],
+ soc_max: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入储能充电上限值'
+ },
+ { pattern: /^(100|[1-9][0-9]?)$/, message: '请输入1-100的整数', trigger: 'blur' }
+ ],
+ capacity: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入台区变压器容量'
+ },
+ {
+ pattern: /^(1600|1[6-9][0-9]|[2-9][0-9]{2}|1[0-5][0-9]{2})$/,
+ message: '请输入160-1600的整数',
+ trigger: 'blur'
+ }
+ ],
+ power_safe: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入安全输入功率'
+ },
+ {
+ pattern: /^(400|[1-3][0-9]{2}|[1-9][0-9]?)$/,
+ message: '请输入0-400的整数',
+ trigger: 'blur'
+ }
+ ],
+ power_discharge: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入储能最大放电功率'
+ },
+ { pattern: /^(150|[1-1][0-9]?|[1-9])$/, message: '请输入0-150的整数', trigger: 'blur' }
+ ],
+ power_charge: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入储能最大充电功率'
+ },
+ { pattern: /^(150|[1-1][0-9]?|[1-9])$/, message: '请输入0-150的整数', trigger: 'blur' }
+ ],
+ backflow: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入防逆流回差'
+ },
+ {
+ pattern: /^(300|[1-2][0-9]{2}|[1-9][0-9])$/,
+ message: '请输入10-300的整数',
+ trigger: 'blur'
+ }
+ ],
+ overload: [
+ {
+ trigger: 'blur',
+ required: true,
+ message: '请输入防过载回差'
+ },
+ {
+ pattern: /^(300|[1-2][0-9]{2}|[1-9][0-9])$/,
+ message: '请输入10-300的整数',
+ trigger: 'blur'
+ }
+ ]
+ },
+ ruleForm:{},
+ gatewayData1:{}
}
},
mounted() {
this.getStations()
},
methods: {
+ handleback() {
+ this.dispatchModal = false
+ },
+ async handleConfirm() {
+ const res = await this.$refs.detailInfo.confirm()
+ if (!res) return
+
+ this.handleSubmit()
+ },
+ async handleSubmit() {
+ try {
+ const res = await postReq('/updateGatewayParams', {
+ station_id: this.selectStationId,
+ work_mode: this.workMode,
+ ...this.ruleForm
+ })
+ if (res.errcode == 0) {
+ this.$message.success('下发成功')
+ this.dispatchModal=false
+ }
+ } catch (error) {
+ this.$message.error('下发失败')
+ this.dispatchModal=false
+
+ }
+ },
updateGatewayData(gatewayData) {
this.systems[0].workmode = gatewayData.workmode
this.systems[0].emu = gatewayData.emu
@@ -167,23 +379,32 @@ export default {
this.message = gatewayData.msg
},
- handleMessage(){
- this.msgModal=true
+ handleMessage() {
+ this.msgModal = true
},
//下发
- async handleDispatch() {
- console.log(this.workMode)
+ // handleDispatch
+ async openDispatchModal() {
+
try {
- const res = await postReq('/updateStation', {
+ const res = await getReq('/queryDevicByCategory', {
station_id: this.selectStationId,
- work_mode: this.workMode
+ category: 0
})
- if (res.errcode == 0) {
- this.$message.success('下发成功')
- }
+
+ this.ruleForm=Object.keys(res.gateway).reduce((acc, key) => {
+ const value = res.gateway[key];
+ acc[key] = typeof value === 'number' ? String(value) : value;
+ return acc;
+ }, {});
+ this.dispatchModal = true
+
+
} catch (error) {
- this.$message.error('下发失败')
+ this.ruleForm = {}
+
}
+
},
//场站切换
getStationChange(val) {
@@ -212,10 +433,9 @@ export default {
res.data.device_group.forEach((Element, index) => {
this.systems[index].num = Element.count
this.systems[index].power = Element.power
-
this.systems[index].workmode = Element.workmode
- if(Element.category==1){
- this.message=Element.msg
+ if (Element.category == 1) {
+ this.message = Element.msg
}
})
this.workMode = res.data.work_mode
@@ -285,7 +505,7 @@ export default {
color: #fff;
padding: 10px 10px;
cursor: pointer;
- &:hover{
+ &:hover {
background: $table-bg;
}
@@ -316,4 +536,13 @@ export default {
}
}
}
+:deep(.ant-input-group-addon) {
+ color: #fff;
+ border: 1px solid $border-color;
+}
+:deep(.ant-form-item-label) {
+ color: #fff;
+ font-size: 16px !important;
+ width: 180px !important;
+}