|
|
@@ -1,7 +1,7 @@
|
|
|
/* 自动生成的文本数据头文件 */
|
|
|
/* 源文件: index.html */
|
|
|
-/* 文件大小: 57177 字节 */
|
|
|
-/* 生成时间: 2025-09-12 05:41:57 */
|
|
|
+/* 文件大小: 68489 字节 */
|
|
|
+/* 生成时间: 2025-09-16 05:47:07 */
|
|
|
/* 编码: utf-8 */
|
|
|
#ifndef P_INDEX_HTML_H
|
|
|
#define P_INDEX_HTML_H
|
|
|
@@ -60,7 +60,7 @@ const char *p_index_html =
|
|
|
" <div class=\"left-buttons\">\n"
|
|
|
" <button @click=\"showFzszModal = true;\" class=\"btn btn-threshold\">阈值设置</button>\n"
|
|
|
" <button @click=\"showysszModal=true\" class=\"btn btn-delay\">延时设置</button>\n"
|
|
|
- " <button @click=\"showFormModal = true\" class=\"btn btn-energy\">耗电量重置</button>\n"
|
|
|
+ " <button @click=\" hdlsz()\" class=\"btn btn-energy\">耗电量重置</button>\n"
|
|
|
" </div>\n"
|
|
|
" <div class=\"right-buttons\">\n"
|
|
|
" <button @click=\"toggleAllDevices(true)\" class=\" btn btn-energy\">总开</button>\n"
|
|
|
@@ -116,15 +116,16 @@ const char *p_index_html =
|
|
|
" </thead>\n"
|
|
|
" <tbody>\n"
|
|
|
" <tr v-for=\"device in channelList\">\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChName }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productPhOrder }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChVoltage }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChCurrent }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChPower }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChPowerFreq }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.productChConsumption }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.firingInterval }}</td>\n"
|
|
|
- " <td :style=\"device.colorStyle\">{{ device.closeInterval }}</td>\n"
|
|
|
+ " <td >{{ device.productChName }}</td>\n"
|
|
|
+ " <td >{{ device.productPhOrder }}</td>\n"
|
|
|
+ " <td v-if=\"device.colorStyledy!=''\" :style=\"device.colorStyledy\">{{ device.productChVoltage }}</td>\n"
|
|
|
+ " <td v-else :style=\"device.colorStyledy2\">{{ device.productChVoltage }}</td>\n"
|
|
|
+ " <td :style=\"device.colorStyledl\">{{ device.productChCurrent }}</td>\n"
|
|
|
+ " <td :style=\"device.colorStylegl\">{{ device.productChPower }}</td>\n"
|
|
|
+ " <td>{{ device.productChPowerFreq }}</td>\n"
|
|
|
+ " <td :style=\"device.colorStylehdl\">{{ device.productChConsumption }}</td>\n"
|
|
|
+ " <td >{{ device.firingInterval }}</td>\n"
|
|
|
+ " <td >{{ device.closeInterval }}</td>\n"
|
|
|
" <td :class=\"device.productChStatus ? 'status-active' : 'status-inactive'\">\n"
|
|
|
" {{ device.productChStatus==1 ? '接通' : '断开' }}\n"
|
|
|
" </td>\n"
|
|
|
@@ -147,12 +148,12 @@ const char *p_index_html =
|
|
|
" <div class=\"status-box\">\n"
|
|
|
" <h3>温度</h3>\n"
|
|
|
" <p v-if=\"statusData.temperatureStatus==0\" style=\"color: red\">{{ statusData.temperature }}</p>\n"
|
|
|
- " <p v-else>{{ statusData.temperature }} </p>\n"
|
|
|
+ " <p v-else :style=\"statusData.tempcolorStyle\">{{ statusData.temperature }} </p>\n"
|
|
|
" </div>\n"
|
|
|
" <div class=\"status-box\">\n"
|
|
|
" <h3>湿度</h3>\n"
|
|
|
" <p v-if=\"statusData.temperatureStatus==0\" style=\"color: red\">{{ statusData.humidity }}</p>\n"
|
|
|
- " <p v-else>{{ statusData.humidity }} </p>\n"
|
|
|
+ " <p v-else :style=\"statusData.humcolorStylesx\">{{ statusData.humidity }} </p>\n"
|
|
|
|
|
|
" </div>\n"
|
|
|
" <div class=\"status-box\">\n"
|
|
|
@@ -163,9 +164,9 @@ const char *p_index_html =
|
|
|
" <div class=\"status-box\">\n"
|
|
|
" <h3>CO2</h3>\n"
|
|
|
" <p v-if=\"statusData.smokeStatus==0\" style=\"color: red\">{{ statusData.smoke }}</p>\n"
|
|
|
- " <p v-else>{{ statusData.smoke }} </p>\n"
|
|
|
+ " <p v-else :style=\"statusData.smokecolorStylesx\">{{ statusData.smoke }} </p>\n"
|
|
|
" </div>\n"
|
|
|
- " <div class=\"status-box\">\n"
|
|
|
+ " <div class=\"status-box\" @click=\"showFzszModalgj=true\" style=\" cursor: pointer; position: relative; \">\n"
|
|
|
" <h3>报警</h3>\n"
|
|
|
" <p>{{ statusData.alarm1 }}</p>\n"
|
|
|
" </div>\n"
|
|
|
@@ -178,10 +179,31 @@ const char *p_index_html =
|
|
|
" <!-- 下拉选择 -->\n"
|
|
|
" <div class=\"form-group\" >\n"
|
|
|
" <label>通道:</label>\n"
|
|
|
- " <select v-model=\"formData.channel_power_infro\" class=\"custom-select\">\n"
|
|
|
- " <option :value=\"null\" disabled selected hidden style=\"color: #aaa;\">请选择耗电量复位通道...</option>\n"
|
|
|
- " <option v-for=\"option in channelList1\" :value=\"option.channel_power_infro\">{{ option.productChName }}</option>\n"
|
|
|
+ " <div class=\"select-header\">\n"
|
|
|
+ " <p class=\"hint\">提示:使用Ctrl/Cmd键进行多选</p>\n"
|
|
|
+ " <button class=\"select-all\" @click=\"toggleSelectAll2\">\n"
|
|
|
+ " {{ formData.productChIds.length === Object.keys(channelList1).length ? '取消全选' : '全选' }}\n"
|
|
|
+ " </button>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " <select v-model=\"formData.productChIds\" multiple >\n"
|
|
|
+ " <option v-for=\"option in channelList1\" :value=\"option.productChId\">{{ option.productChName }}</option>\n"
|
|
|
" </select>\n"
|
|
|
+
|
|
|
+ " <div class=\"selected-items\">\n"
|
|
|
+ " <h3>已选通道:</h3>\n"
|
|
|
+ " <div class=\"selected-tags\">\n"
|
|
|
+ " <span v-if=\"formData.productChIds.length === 0\" class=\"no-selection\">暂无选择</span>\n"
|
|
|
+ " <div v-for=\"id in formData.productChIds\" :key=\"id\" class=\"tag\">\n"
|
|
|
+ " {{ getOptionName2(id) }}\n"
|
|
|
+ " <button @click=\"removeOption2(id)\">×</button>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " <!--<label>通道:</label>-->\n"
|
|
|
+ " <!--<select v-model=\"formData.channel_power_infro\" class=\"custom-select\">-->\n"
|
|
|
+ " <!--<option :value=\"null\" disabled selected hidden style=\"color: #aaa;\">请选择耗电量复位通道...</option>-->\n"
|
|
|
+ " <!--<option v-for=\"option in channelList1\" :value=\"option.channel_power_infro\">{{ option.productChName }}</option>-->\n"
|
|
|
+ " <!--</select>-->\n"
|
|
|
" </div>\n"
|
|
|
" <!-- 表单按钮 -->\n"
|
|
|
" <div class=\"form-actions\">\n"
|
|
|
@@ -195,6 +217,7 @@ const char *p_index_html =
|
|
|
" <div @vue:mounted=\"fzszData\" v-if=\"showFzszModal\" class=\"modal-overlay\" >\n"
|
|
|
" <div class=\"modal-content\" style=\"max-width: 100%;overflow-y: hidden\">\n"
|
|
|
" <h2>阈值设置</h2>\n"
|
|
|
+ " <button @click=\"handleUpdateList()\" style=\"margin: 10px;\" :class=\" 'btn btn-on'\">批量设置 </button>\n"
|
|
|
" <div class=\"scrollable-table\" style=\" max-height: 60vh; \">\n"
|
|
|
" <table class=\"device-table\">\n"
|
|
|
" <thead>\n"
|
|
|
@@ -211,7 +234,7 @@ const char *p_index_html =
|
|
|
" </thead>\n"
|
|
|
" <tbody>\n"
|
|
|
" <tr v-for=\"power in powerThresholdList\" :key=\"power.productChId\">\n"
|
|
|
- " <td :style=\"{{ power.colorStyle }}\">{{ power.productChName }}</td>\n"
|
|
|
+ " <td>{{ power.productChName }}</td>\n"
|
|
|
" <td>{{ power.productChId }}</td>\n"
|
|
|
" <td>{{ power.currentUpperAction }}</td>\n"
|
|
|
" <td>{{ power.voltageUpperAction }}</td>\n"
|
|
|
@@ -237,7 +260,30 @@ const char *p_index_html =
|
|
|
" <!-- 阈值设置单设备弹窗内容 -->\n"
|
|
|
" <div v-if=\"showFzszModal2\" class=\"modal-overlay\" >\n"
|
|
|
" <div class=\"modal-content\">\n"
|
|
|
- " <div class=\"form-group\" >\n"
|
|
|
+ " <div class=\"form-group\" v-if=\"fzscData.list=='1'\" >\n"
|
|
|
+ " <label>通道:</label>\n"
|
|
|
+ " <div class=\"select-header\">\n"
|
|
|
+ " <p class=\"hint\">提示:使用Ctrl/Cmd键进行多选</p>\n"
|
|
|
+ " <button class=\"select-all\" @click=\"toggleSelectAll\">\n"
|
|
|
+ " {{ fzscData.productChIds.length === Object.keys(channelList1).length ? '取消全选' : '全选' }}\n"
|
|
|
+ " </button>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " <select v-model=\"fzscData.productChIds\" multiple >\n"
|
|
|
+ " <option v-for=\"option in channelList1\" :value=\"option.productChId\">{{ option.productChName }}</option>\n"
|
|
|
+ " </select>\n"
|
|
|
+
|
|
|
+ " <div class=\"selected-items\">\n"
|
|
|
+ " <h3>已选通道:</h3>\n"
|
|
|
+ " <div class=\"selected-tags\">\n"
|
|
|
+ " <span v-if=\"fzscData.productChIds.length === 0\" class=\"no-selection\">暂无选择</span>\n"
|
|
|
+ " <div v-for=\"id in fzscData.productChIds\" :key=\"id\" class=\"tag\">\n"
|
|
|
+ " {{ getOptionName(id) }}\n"
|
|
|
+ " <button @click=\"removeOption(id)\">×</button>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " <div class=\"form-group\" v-if=\"fzscData.list==''\">\n"
|
|
|
" <label>通道号:</label>\n"
|
|
|
" <input type=\"text\" v-model=\"fzscData.productChId\" readonly >\n"
|
|
|
" </div>\n"
|
|
|
@@ -261,7 +307,6 @@ const char *p_index_html =
|
|
|
" <label>耗电量上限:</label>\n"
|
|
|
" <input type=\"text\" v-model=\"fzscData.alarmContentUpperAction\">\n"
|
|
|
" </div>\n"
|
|
|
-
|
|
|
" <!-- 表单按钮 -->\n"
|
|
|
" <div class=\"form-actions\">\n"
|
|
|
" <button class=\"btn btn-energy\" @click=\"fzscClick()\" >提交</button>\n"
|
|
|
@@ -330,6 +375,35 @@ const char *p_index_html =
|
|
|
" </div>\n"
|
|
|
" </div>\n"
|
|
|
|
|
|
+ " <!--告警信息弹窗-->\n"
|
|
|
+ " <div v-if=\"showFzszModalgj\" class=\"modal-overlay\" >\n"
|
|
|
+ " <div class=\"modal-content\" style=\"max-width: 100%;overflow-y: hidden\">\n"
|
|
|
+ " <div class=\"scrollable-table\" style=\" max-height: 60vh; \">\n"
|
|
|
+ " <table class=\"device-table\">\n"
|
|
|
+ " <thead>\n"
|
|
|
+ " <tr>\n"
|
|
|
+ " <th>序号</th>\n"
|
|
|
+ " <th>报警时间</th>\n"
|
|
|
+ " <th>报警类型</th>\n"
|
|
|
+ " <th>报警信息</th>\n"
|
|
|
+ " </tr>\n"
|
|
|
+ " </thead>\n"
|
|
|
+ " <tbody>\n"
|
|
|
+ " <tr v-for=\"(item, index) in his_alarmd\" :key=\"index\">\n"
|
|
|
+ " <td>{{ item.number }}</td>\n"
|
|
|
+ " <td>{{ item.date }}</td>\n"
|
|
|
+ " <td>{{ item.type }}</td>\n"
|
|
|
+ " <td>{{ item.waning_context }}</td>\n"
|
|
|
+ " </tr>\n"
|
|
|
+ " </tbody>\n"
|
|
|
+ " </table>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " <!-- 表单按钮 -->\n"
|
|
|
+ " <div class=\"button-footer form-actions\">\n"
|
|
|
+ " <button type=\"button\" class=\"btn btn-energy\" @click=\"fzscClickClosegj()\">取消</button>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
+ " </div>\n"
|
|
|
|
|
|
" </div>\n"
|
|
|
|
|
|
@@ -738,10 +812,19 @@ const char *p_index_html =
|
|
|
" delay_update(this.saveDataAll.channel_power_infro)\n"
|
|
|
" this.ysszClickClose2()\n"
|
|
|
" }else if(this.popType=='hdlcz'){\n"
|
|
|
- " power_reset(this.saveDataAll.channel_power_infro)\n"
|
|
|
+ " for(const ket in this.saveDataAll.channel_power_infros){\n"
|
|
|
+ " power_reset(this.saveDataAll.channel_power_infros[ket])\n"
|
|
|
+ " }\n"
|
|
|
" this.hdlczClickClose()\n"
|
|
|
" }else if(this.popType=='fzsz'){\n"
|
|
|
- " threshold_update(this.saveDataAll.channel_power_infro)\n"
|
|
|
+ " if(this.saveDataAll.list=='1'){\n"
|
|
|
+ " for(const ket in this.saveDataAll.channel_power_infros){\n"
|
|
|
+ " threshold_update(this.saveDataAll.channel_power_infros[ket])\n"
|
|
|
+ " }\n"
|
|
|
+ " }else{\n"
|
|
|
+ " threshold_update(this.saveDataAll.channel_power_infro)\n"
|
|
|
+ " }\n"
|
|
|
+
|
|
|
" this.fzscClickClose2()\n"
|
|
|
" }else if(this.popType=='tdkg'){\n"
|
|
|
|
|
|
@@ -792,12 +875,16 @@ const char *p_index_html =
|
|
|
" showFormModal:false,\n"
|
|
|
" // 阈值设置\n"
|
|
|
" showFzszModal:false,\n"
|
|
|
+ " //告警\n"
|
|
|
+ " showFzszModalgj:false,\n"
|
|
|
" showFzszModal2:false,\n"
|
|
|
" showysszModal:false,\n"
|
|
|
" showysszModal2:false,\n"
|
|
|
- " formData:{productChName:null,productChId:null,channel_power_infro:null},\n"
|
|
|
+ " formData:{productChName:null,productChId:null,channel_power_infro:null,productChIds:[]},\n"
|
|
|
" powerThresholdList:[],\n"
|
|
|
- " fzscData:{},\n"
|
|
|
+ " fzscData:{\n"
|
|
|
+ " productChIds:[]\n"
|
|
|
+ " },\n"
|
|
|
" items: [],\n"
|
|
|
" newItem: '',\n"
|
|
|
" loading: false,\n"
|
|
|
@@ -836,6 +923,7 @@ const char *p_index_html =
|
|
|
" channelList1:[],\n"
|
|
|
" ysszList:[],\n"
|
|
|
" totalFormList:[],\n"
|
|
|
+ " his_alarmd:[],\n"
|
|
|
" ysszData2:{},\n"
|
|
|
" popMessage:'',\n"
|
|
|
" popType:'',\n"
|
|
|
@@ -889,6 +977,68 @@ const char *p_index_html =
|
|
|
" /** 阈值设置按钮操作 */\n"
|
|
|
" handleUpdate(row) {\n"
|
|
|
" this.fzscData = JSON.parse(JSON.stringify(row));\n"
|
|
|
+ " this.fzscData.list='';\n"
|
|
|
+ " this.showFzszModal2 = true;\n"
|
|
|
+ " // this.title = this.$t('pz');\n"
|
|
|
+ " },\n"
|
|
|
+ " getOptionName(id) {\n"
|
|
|
+ " for(const key in this.channelList1){\n"
|
|
|
+ " if(this.channelList1[key].productChId===id){\n"
|
|
|
+ " return this.channelList1[key].productChName\n"
|
|
|
+ " break\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " ;\n"
|
|
|
+ " },\n"
|
|
|
+ " removeOption(id) {\n"
|
|
|
+ " this.fzscData.productChIds = this.fzscData.productChIds.filter(optId => optId !== id);\n"
|
|
|
+ " },\n"
|
|
|
+ " toggleSelectAll() {\n"
|
|
|
+
|
|
|
+ " if (this.fzscData.productChIds.length === Object.keys(this.channelList1).length ) {\n"
|
|
|
+ " this.fzscData.productChIds = [];\n"
|
|
|
+ " } else {\n"
|
|
|
+ " for(const key in this.channelList1){\n"
|
|
|
+ " this.fzscData.productChIds.push(this.channelList1[key].productChId)\n"
|
|
|
+ " }\n"
|
|
|
+
|
|
|
+ " // this.fzscData.productChIds = this.channelList1.map(option => option.productChId);\n"
|
|
|
+ " }\n"
|
|
|
+ " },\n"
|
|
|
+
|
|
|
+ " getOptionName2(id) {\n"
|
|
|
+ " for(const key in this.channelList1){\n"
|
|
|
+ " if(this.channelList1[key].productChId===id){\n"
|
|
|
+ " return this.channelList1[key].productChName\n"
|
|
|
+ " break\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " ;\n"
|
|
|
+ " },\n"
|
|
|
+ " removeOption2(id) {\n"
|
|
|
+ " this.formData.productChIds = this.formData.productChIds.filter(optId => optId !== id);\n"
|
|
|
+ " },\n"
|
|
|
+ " toggleSelectAll2() {\n"
|
|
|
+ " if (this.formData.productChIds.length === Object.keys(this.channelList1).length ) {\n"
|
|
|
+ " this.formData.productChIds = [];\n"
|
|
|
+ " } else {\n"
|
|
|
+ " for(const key in this.channelList1){\n"
|
|
|
+ " this.formData.productChIds.push(this.channelList1[key].productChId)\n"
|
|
|
+ " }\n"
|
|
|
+
|
|
|
+ " // this.fzscData.productChIds = this.channelList1.map(option => option.productChId);\n"
|
|
|
+ " }\n"
|
|
|
+ " },\n"
|
|
|
+ " /** 阈值设置按钮操作 */\n"
|
|
|
+ " handleUpdateList() {\n"
|
|
|
+ " this.fzscData.list='1';\n"
|
|
|
+ " this.fzscData.productChIds=[];\n"
|
|
|
+ " this.fzscData.currentUpperAction='';\n"
|
|
|
+ " this.fzscData.voltageUpperAction='';\n"
|
|
|
+ " this.fzscData.voltageDownAction='';\n"
|
|
|
+ " this.fzscData.powerUpperAction='';\n"
|
|
|
+ " this.fzscData.alarmContentUpperAction='';\n"
|
|
|
+
|
|
|
" this.showFzszModal2 = true;\n"
|
|
|
" // this.title = this.$t('pz');\n"
|
|
|
" },\n"
|
|
|
@@ -916,6 +1066,9 @@ const char *p_index_html =
|
|
|
" this.powerThresholdList=[];\n"
|
|
|
" // this.formData.productChId=null;\n"
|
|
|
" },\n"
|
|
|
+ " fzscClickClosegj(){\n"
|
|
|
+ " this.showFzszModalgj = false;\n"
|
|
|
+ " },\n"
|
|
|
|
|
|
" fzscClickClose2(){\n"
|
|
|
" this.showFzszModal2 = false\n"
|
|
|
@@ -930,11 +1083,27 @@ const char *p_index_html =
|
|
|
" this.showysszModal2 = false;\n"
|
|
|
" },\n"
|
|
|
|
|
|
+ " hdlsz(){\n"
|
|
|
+ " this.formData.productChIds=[]\n"
|
|
|
+ " this.showFormModal = true\n"
|
|
|
+ " },\n"
|
|
|
+
|
|
|
" // 耗电量重置\n"
|
|
|
" async hdlczClick(){\n"
|
|
|
" const params={};\n"
|
|
|
+ " let lists=[]\n"
|
|
|
+ " console.log( this.formData.productChIds)\n"
|
|
|
+ " for( const id in this.formData.productChIds){\n"
|
|
|
+ " for( const key in this.powerThresholdList ){\n"
|
|
|
+ " if(this.formData.productChIds[id]== this.powerThresholdList[key].productChId){\n"
|
|
|
+ " lists.push(this.powerThresholdList[key].channel_power_infro);\n"
|
|
|
+ " break\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " params.channel_power_infros= lists;\n"
|
|
|
|
|
|
- " params.channel_power_infro=this.formData.channel_power_infro;\n"
|
|
|
+ " // params.channel_power_infro=this.formData.channel_power_infro;\n"
|
|
|
" this.popMessage=\"确认要重置此通道吗?\";\n"
|
|
|
" // const result = await confirmAction({\n"
|
|
|
" // title: message\n"
|
|
|
@@ -949,12 +1118,46 @@ const char *p_index_html =
|
|
|
" // 阈值设置保存\n"
|
|
|
" async fzscClick(){\n"
|
|
|
" const params={};\n"
|
|
|
- " params.channel_power_infro=this.fzscData.channel_power_infro;\n"
|
|
|
- " params.channel_power_infro.thr.w_upper=this.fzscData.alarmContentUpperAction* 1000;\n"
|
|
|
- " params.channel_power_infro.thr.c_upper=this.fzscData.currentUpperAction* 10;\n"
|
|
|
- " params.channel_power_infro.thr.p_upper=this.fzscData.powerUpperAction* 1000;\n"
|
|
|
- " params.channel_power_infro.thr.v_lower=this.fzscData.voltageDownAction* 10;\n"
|
|
|
- " params.channel_power_infro.thr.v_upper=this.fzscData.voltageUpperAction* 10;\n"
|
|
|
+ " params.list=this.fzscData.list;\n"
|
|
|
+ " if(this.fzscData.list=='1'){\n"
|
|
|
+ " if(this.fzscData.productChIds.length==0){\n"
|
|
|
+ " alert(\"请选择通道\")\n"
|
|
|
+ " return\n"
|
|
|
+ " }\n"
|
|
|
+ " if(this.fzscData.alarmContentUpperAction=='' || this.fzscData.currentUpperAction=='' || this.fzscData.voltageDownAction=='' || this.fzscData.voltageUpperAction==''){\n"
|
|
|
+ " alert(\"存在未设置项,请重试\")\n"
|
|
|
+ " return\n"
|
|
|
+ " }\n"
|
|
|
+ " if(this.fzscData.voltageUpperAction!=0 && this.fzscData.voltageDownAction !=0 && this.fzscData.voltageUpperAction* 10<=this.fzscData.voltageDownAction* 10){\n"
|
|
|
+ " alert(\"电压上限需要大于下限\")\n"
|
|
|
+ " return\n"
|
|
|
+ " }\n"
|
|
|
+ " let lists=[]\n"
|
|
|
+ " for( const id in this.fzscData.productChIds){\n"
|
|
|
+ " for( const key in this.powerThresholdList ){\n"
|
|
|
+ " if(this.fzscData.productChIds[id]== this.powerThresholdList[key].productChId){\n"
|
|
|
+ " let param=this.powerThresholdList[key].channel_power_infro;\n"
|
|
|
+ " param.thr.w_upper=this.fzscData.alarmContentUpperAction* 1000;\n"
|
|
|
+ " param.thr.c_upper=this.fzscData.currentUpperAction* 10;\n"
|
|
|
+ " param.thr.p_upper=this.fzscData.powerUpperAction* 1000;\n"
|
|
|
+ " param.thr.v_lower=this.fzscData.voltageDownAction* 10;\n"
|
|
|
+ " param.thr.v_upper=this.fzscData.voltageUpperAction* 10;\n"
|
|
|
+ " lists.push(param);\n"
|
|
|
+ " break\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " params.channel_power_infros= lists;\n"
|
|
|
+
|
|
|
+ " }else{\n"
|
|
|
+ " params.channel_power_infro=this.fzscData.channel_power_infro;\n"
|
|
|
+ " params.channel_power_infro.thr.w_upper=this.fzscData.alarmContentUpperAction* 1000;\n"
|
|
|
+ " params.channel_power_infro.thr.c_upper=this.fzscData.currentUpperAction* 10;\n"
|
|
|
+ " params.channel_power_infro.thr.p_upper=this.fzscData.powerUpperAction* 1000;\n"
|
|
|
+ " params.channel_power_infro.thr.v_lower=this.fzscData.voltageDownAction* 10;\n"
|
|
|
+ " params.channel_power_infro.thr.v_upper=this.fzscData.voltageUpperAction* 10;\n"
|
|
|
+
|
|
|
+ " }\n"
|
|
|
|
|
|
" this.popMessage=\"确认要保存吗?\";\n"
|
|
|
" // const result = await confirmAction({\n"
|
|
|
@@ -1005,18 +1208,7 @@ const char *p_index_html =
|
|
|
|
|
|
" // 获取数据方法\n"
|
|
|
" async fetchData() {\n"
|
|
|
- " // var js={\n"
|
|
|
- " // \"sys\":{\n"
|
|
|
- " // \"lang\": 0,\n"
|
|
|
- " // \"tzone\": 8,\n"
|
|
|
- " // \"route\": 90,\n"
|
|
|
- " // \"ver\": \"V1.0.0\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\",\n"
|
|
|
- " // \"sys_time\": \"2025/09/09 01:00:06\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\",\n"
|
|
|
- " // \"len\": 52\n"
|
|
|
- " // }\n"
|
|
|
- " //\n"
|
|
|
- " // }\n"
|
|
|
- " // on_ws_msg(js)\n"
|
|
|
+ " \n"
|
|
|
" function5();\n"
|
|
|
" this.queryTotalStatus5();\n"
|
|
|
" if (activePageIntervalId1 != null) {\n"
|
|
|
@@ -1024,7 +1216,7 @@ const char *p_index_html =
|
|
|
" };\n"
|
|
|
" activePageIntervalId1 = setInterval(() => {\n"
|
|
|
" if(tabId=='tab1'){\n"
|
|
|
- " function1();\n"
|
|
|
+ " function1();\n"
|
|
|
" this.queryTotalStatus();\n"
|
|
|
" if(this.wlszForm4.sys_time=='' || this.wlszForm4.sys_time==null){\n"
|
|
|
" this.queryTotalStatus5();\n"
|
|
|
@@ -1063,8 +1255,23 @@ const char *p_index_html =
|
|
|
" this.channelList1 = {...channelAllList1};\n"
|
|
|
" this.powerThresholdList = {...initialYzFormList};\n"
|
|
|
" this.ysszList = {...channelAllList1};\n"
|
|
|
- " if({...data_alarm}!=null){\n"
|
|
|
- " this.statusData.alarm1 = Object.keys({...data_alarm}).length;\n"
|
|
|
+ " if({...his_alarm}!=null){\n"
|
|
|
+ " this.statusData.alarm1 = Object.keys({...his_alarm}).length;\n"
|
|
|
+ " var alarmds={...his_alarm};\n"
|
|
|
+ " this.his_alarmd=[]\n"
|
|
|
+ " for(var i=0;i<Object.keys({...his_alarm}).length ;i++){\n"
|
|
|
+ " var open=alarmds[i];\n"
|
|
|
+ " open.number=i+1;\n"
|
|
|
+ " open.date= (open.date.replace(/\\\\u0000/g, '\\u0000')).replace(/\\u0000/g, '');\n"
|
|
|
+ " open.waning_context= (open.waning_context.replace(/\\\\u0000/g, '\\u0000')).replace(/\\u0000/g, '');\n"
|
|
|
+ " if(open.type==0){\n"
|
|
|
+ " open.type='电量信息报警'\n"
|
|
|
+ " }else if(open.type==1){\n"
|
|
|
+ " open.type='传感器报警'\n"
|
|
|
+ " }\n"
|
|
|
+ " this.his_alarmd.push(open)\n"
|
|
|
+ " }\n"
|
|
|
+
|
|
|
" }\n"
|
|
|
" if({...sensorc_list}!=null && Object.keys({...sensorc_list}).length>0){\n"
|
|
|
" let sencorList={...sensorc_list};\n"
|
|
|
@@ -1074,7 +1281,24 @@ const char *p_index_html =
|
|
|
" try{\n"
|
|
|
" let sensor_val =sencorList[key].sensor_val\n"
|
|
|
" this.statusData.temperature=sensor_val[1].val.toFixed(2)\n"
|
|
|
+
|
|
|
+ " if(sensor_val[1].s_alarm & 0x1){ // 上限\n"
|
|
|
+ " this.statusData.tempcolorStyle='color: red;font-weight: bold;'\n"
|
|
|
+ " }else if(sensor_val[1].s_alarm & 0x2){ // 下限\n"
|
|
|
+ " this.statusData.tempcolorStyle='color: #ff00ff;font-weight: bold;'\n"
|
|
|
+ " }else{\n"
|
|
|
+ " this.statusData.tempcolorStyle=''\n"
|
|
|
+ " }\n"
|
|
|
+
|
|
|
" this.statusData.humidity=sensor_val[0].val.toFixed(2)\n"
|
|
|
+
|
|
|
+ " if(sensor_val[0].s_alarm & 0x1){ // 上限\n"
|
|
|
+ " this.statusData.humcolorStylesx='color: red;font-weight: bold;'\n"
|
|
|
+ " }else if(sensor_val[0].s_alarm & 0x2){ // 下限\n"
|
|
|
+ " this.statusData.humcolorStylesx='color: #ff00ff;font-weight: bold;'\n"
|
|
|
+ " }else{\n"
|
|
|
+ " this.statusData.humcolorStylesx=''\n"
|
|
|
+ " }\n"
|
|
|
" }catch (e) {\n"
|
|
|
" console.log(\"温湿度传感器赋值失败\")\n"
|
|
|
" }\n"
|
|
|
@@ -1104,6 +1328,13 @@ const char *p_index_html =
|
|
|
" try{\n"
|
|
|
" let sensor_val =sencorList[key].sensor_val\n"
|
|
|
" this.statusData.smoke=sensor_val[0].val.toFixed(2)\n"
|
|
|
+ " if(sensor_val[0] & 0x1 ){ // 上限\n"
|
|
|
+ " this.statusData.smokecolorStylesx='color: red;font-weight: bold;'\n"
|
|
|
+ " }else if(sensor_val[0] & 0x2){ // 下限\n"
|
|
|
+ " this.statusData.smokecolorStylesx='color: #ff00ff;font-weight: bold;'\n"
|
|
|
+ " }else{\n"
|
|
|
+ " this.statusData.smokecolorStylesx=''\n"
|
|
|
+ " }\n"
|
|
|
" }catch (e) {\n"
|
|
|
" console.log(\"CO2传感器赋值失败\")\n"
|
|
|
" }\n"
|
|
|
@@ -1473,9 +1704,9 @@ const char *p_index_html =
|
|
|
;
|
|
|
|
|
|
// 文本数据大小(包括null终止符)
|
|
|
-const size_t p_index_html_size = 57178;
|
|
|
+const size_t p_index_html_size = 68490;
|
|
|
|
|
|
// 文本长度(字符数)
|
|
|
-const size_t p_index_html_length = 55265;
|
|
|
+const size_t p_index_html_length = 66291;
|
|
|
|
|
|
#endif /* P_INDEX_HTML_H */
|