e лет назад: 2
Родитель
Сommit
6e4195c393

+ 6 - 1
web/三相/src/utils/i18n/i18n-en-US.json

@@ -417,7 +417,12 @@
   "SMTPsz":"SMTP settings",
   "SNMPsz":"SNMP settings",
   "NTPsz":"NTP settings",
-  "fwztsz":"Service status settings"
+  "fwztsz":"Service status settings",
+  "IPbb":"IP version",
+  "zs":"certificate",
+  "zssc":"Certificate upload",
+  "mqbcts":"The maximum number of brokers is limited to 5",
+  "xtpz":"system configuration"
 
 
 }

+ 7 - 1
web/三相/src/utils/i18n/i18n-ru-RU.json

@@ -418,5 +418,11 @@
   "SMTPsz":"Настройки SMTP",
   "SNMPsz":"Настройки SNMP",
   "NTPsz":"Настройки NTP",
-  "fwztsz":"HастройKи CTaTyc сервиса"
+  "fwztsz":"HастройKи CTaTyc сервиса",
+  "IPbb":"Версия IP",
+  "zs":"Сертификат",
+  "zssc":"Загрузка сертификата",
+  "mqbcts":"Максимальное количество брокеров ограничено пятью",
+  "xtpz":"Настройка системы"
+
 }

+ 6 - 1
web/三相/src/utils/i18n/i18n-zh-CN.json

@@ -417,7 +417,12 @@
   "SMTPsz":"SMTP设置",
   "SNMPsz":"SNMP设置",
   "NTPsz":"NTP设置",
-  "fwztsz":"服务状态设置"
+  "fwztsz":"服务状态设置",
+  "IPbb":"IP版本",
+  "zs":"证书",
+  "zssc":"证书上传",
+  "mqbcts":"broker最大数量限定为5个",
+  "xtpz":"系统配置"
 
 
 

+ 154 - 71
web/三相/src/views/fwgl/mqsz/index.vue

@@ -1,65 +1,72 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="auto">
-      <el-form-item :label="this.$t('fwztsz')" prop="serverName">
-        <el-select style="width: 100%" v-model="mode"   @change="handleSelectChange"   ref="multiSelect">
-          <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-          </el-option>
-        </el-select>
-      </el-form-item>
+      <!--<el-form-item :label="this.$t('fwzt')+this.$t('sz')" prop="serverName">-->
+      <!--<el-select style="width: 100%" v-model="mode"   @change="handleSelectChange"   ref="multiSelect">-->
+      <!--<el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">-->
+      <!--</el-option>-->
+      <!--</el-select>-->
+      <!--</el-form-item>-->
       <el-form-item>
-        <el-button type="primary" style="width: 100px;"  icon="el-icon-plus"  size="mini" @click="sensorStatusAdd">{{$t('xz')}}</el-button>
+        <el-button type="primary"   icon="el-icon-plus"  size="mini" @click="sensorStatusAdd">{{$t('xz')}}</el-button>
       </el-form-item>
       <!--<el-row :gutter="10" class="mb8">-->
-        <!--<el-col :span="1.5">-->
-          <!--<el-button-->
-            <!--type="primary"-->
-            <!--plain-->
-            <!--icon="el-icon-plus"-->
-            <!--size="mini"-->
-            <!--@click="sensorStatusAdd"-->
-          <!--&gt;{{$t('xz')}}</el-button>-->
-        <!--</el-col>-->
-        <!--&lt;!&ndash;<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>&ndash;&gt;-->
+      <!--<el-col :span="1.5">-->
+      <!--<el-button-->
+      <!--type="primary"-->
+      <!--plain-->
+      <!--icon="el-icon-plus"-->
+      <!--size="mini"-->
+      <!--@click="sensorStatusAdd"-->
+      <!--&gt;{{$t('xz')}}</el-button>-->
+      <!--</el-col>-->
+      <!--&lt;!&ndash;<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>&ndash;&gt;-->
       <!--</el-row>-->
 
     </el-form>
 
     <el-card style="min-height: 700px ;border-radius: 15px">
-    <el-table max-height="700"   :data="channelList" :header-cell-style="{ background:'#FFFFFF',color:'#000000'}">
-      <!--<el-table-column type="selection" width="55" align="center" />-->
-      <el-table-column :label="this.$t('mc')" prop="serverName"   />
-      <el-table-column label="idx" prop="idx" v-if="false"     />
-      <el-table-column label="Broker ID" prop="kfdId"     />
-      <el-table-column :label="this.$t('ym')+'/IP'" :min-width="getStringWidth(this.$t('ym'))+'/IP'" prop="ip" :show-overflow-tooltip="true"   />
-      <el-table-column :label="this.$t('dk2')" :min-width="getStringWidth(this.$t('dk2'))" prop="port" :show-overflow-tooltip="true"  />
-      <el-table-column :label="this.$t('yhm2')" :min-width="getStringWidth(this.$t('yhm2'))" prop="yhm" :show-overflow-tooltip="true"  />
-      <el-table-column :label="this.$t('formPassword')" :min-width="getStringWidth(this.$t('formPassword'))" prop="mm"     />
-      <el-table-column   :label="this.$t('ljzt')" :min-width="getStringWidth(this.$t('ljzt'))"  align="center" prop="ljzt" >
-        <template slot-scope="scope">
-          <span v-if="scope.row.ljzt=='2'" style="color: red">{{getDity(scope.row,'ljzt')}}</span>
-          <span v-else style="color: green">{{getDity(scope.row,'ljzt')}}</span>
-        </template>
-      </el-table-column>
-      <el-table-column :label="this.$t('cz')" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope" >
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-          >{{$t('xg')}}</el-button>
-          <el-dropdown    style="margin-left:10px" size="mini" @command="(command) => mqttCommand(command, scope.row)" >
-            <el-button icon="el-icon-d-arrow-right" size="mini" type="text" style="margin-left: 10px">{{$t('gd')}}</el-button>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item  command="close" style="margin-left: 10px">{{$t('gb')}}</el-dropdown-item>
-              <el-dropdown-item command="open" style="margin-left: 10px">{{$t('kq')}}</el-dropdown-item>
-            </el-dropdown-menu>
+      <el-table max-height="700"   :data="channelList" :header-cell-style="{ background:'#FFFFFF',color:'#000000'}">
+        <!--<el-table-column type="selection" width="55" align="center" />-->
+        <el-table-column :label="this.$t('mc')" prop="serverName"   />
+        <el-table-column label="idx" prop="idx" v-if="false"     />
+        <el-table-column label="Broker ID" prop="kfdId"     />
+        <el-table-column :label="this.$t('ym')+'/IP'" :min-width="getStringWidth(this.$t('ym'))+'/IP'" prop="ip" :show-overflow-tooltip="true"   />
+        <el-table-column :label="this.$t('dk2')" :min-width="getStringWidth(this.$t('dk2'))" prop="port" :show-overflow-tooltip="true"  />
+        <el-table-column :label="this.$t('yhm2')" :min-width="getStringWidth(this.$t('yhm2'))" prop="yhm" :show-overflow-tooltip="true"  />
+        <el-table-column :label="this.$t('formPassword')" :min-width="getStringWidth(this.$t('formPassword'))" prop="mm"     />
+        <el-table-column :label="this.$t('zs')" :min-width="getStringWidth(this.$t('zs'))" prop="zs"     />
+        <el-table-column   :label="this.$t('ljzt')" :min-width="getStringWidth(this.$t('ljzt'))"  align="center" prop="ljzt" >
+          <template slot-scope="scope">
+            <span v-if="scope.row.ljzt=='2'" style="color: red">{{getDity(scope.row,'ljzt')}}</span>
+            <span v-else style="color: green">{{getDity(scope.row,'ljzt')}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="this.$t('cz')" align="center" class-name="small-padding fixed-width">
+          <template slot-scope="scope" >
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+            >{{$t('xg')}}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-upload"
+              @click="handleImport(scope.row)"
+            >{{$t('zssc')}}</el-button>
+            <el-dropdown    style="margin-left:10px" size="mini" @command="(command) => mqttCommand(command, scope.row)" >
+              <el-button icon="el-icon-d-arrow-right" size="mini" type="text" style="margin-left: 10px">{{$t('gd')}}</el-button>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item  command="close" style="margin-left: 10px">{{$t('gb')}}</el-dropdown-item>
+                <el-dropdown-item command="open" style="margin-left: 10px">{{$t('kq')}}</el-dropdown-item>
+              </el-dropdown-menu>
 
-          </el-dropdown>
-        </template>
-      </el-table-column>
-    </el-table>
+            </el-dropdown>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <!-- 编辑通道-->
     <el-dialog :title="title" :visible.sync="open" width="500px" :close-on-click-modal="false" :close-on-press-escape="false" append-to-body>
@@ -94,7 +101,37 @@
         <el-button @click="cancel">{{$t('qx')}}</el-button>
       </div>
     </el-dialog>
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" :close-on-click-modal="false" :close-on-press-escape="false" append-to-body>
+      <el-form ref="form3" :model="form3"  label-width="auto">
+        <el-form-item v-if="false"  :label="this.$t('lx')" prop="uploadType">
+          <el-input  :readonly="true" v-model="form3.uploadType" />
+        </el-form-item>
+
 
+      </el-form>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".*"
+        :action="upload.url + '?idx=' + form3.uploadType+'&type=importData&token='+this.usertoken"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :before-upload="beforeAvatarUpload"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">{{$t('drts')}}<em>{{$t('djsc')}}</em></div>
+        <div class="el-upload__tip text-center" slot="tip">
+          <span>{{$t('bcts')}}</span>
+        </div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">{{$t('qd')}}</el-button>
+        <el-button @click="upload.open = false">{{$t('qx')}}</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -118,6 +155,7 @@
         open: false,
         // 通道配置表单参数
         form: {},
+        form3: {},
         channelLoadTypes:["空调","服务器","交换机","路由器","计算机","显示器","灯","其他"],
         modes:[{"id":"0","name":"gb"},{"id":"1","name":"kq"}],
         ljzts:[{"id":"1","name":"ylj"},{"id":"2","name":"wlj"}],
@@ -131,6 +169,16 @@
         usertoken:"",
         mode:"",
         mode2:"",
+        upload: {
+          // 是否显示弹出层(用户导入)
+          open: false,
+          // 弹出层标题(用户导入)
+          title: "",
+          // 是否禁用上传
+          isUploading: false,
+          // 上传的地址
+          url: window.location.origin+"/pdu/serviceManagementUpload"
+        }
       };
     },
     created() {
@@ -139,6 +187,35 @@
       this.queryChannelStatus2(); // 查询状态
     },
     methods: {
+      beforeAvatarUpload(file) {
+        if(file==null){
+          this.$modal.msgSuccess(this.$t('zxcg'));
+        }
+      },
+
+      /** 导入按钮操作 */
+      handleImport(row) {
+        this.upload.title = this.$t('zssc'); // todo
+        this.upload.open = true;
+        this.form3.uploadType =row.idx;
+      },
+
+// 文件上传中处理
+      handleFileUploadProgress(event, file, fileList) {
+        this.upload.isUploading = true;
+      },
+// 文件上传成功处理
+      handleFileSuccess(response, file, fileList) {
+        this.upload.open = false;
+        this.upload.isUploading = false;
+        this.$refs.upload.clearFiles();
+        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", this.$t("drjg"), { dangerouslyUseHTMLString: true });
+        this.handleQuery();
+      },
+// 提交上传文件
+      submitFileForm() {
+        this.$refs.upload.submit();
+      },
       getStringWidth(text) {
         //console.log('text', text)
         const font = '14px Arial'
@@ -179,22 +256,22 @@
               serviceManagement(params);
             }).then(() => {
               this.$modal.msgSuccess(this.$t('zxcg'));
-              this.querySensorStatusMonitoring();
-            }).catch(() => {});
+            this.querySensorStatusMonitoring();
+        }).catch(() => {});
 
-            break;
-          case "close":
-            params.type="mqttClose";
-            this.$modal.confirm(this.$t('qrygbm')).then(function() {
-              serviceManagement(params);
-            }).then(() => {
-              this.$modal.msgSuccess(this.$t('zxcg'));
-              this.querySensorStatusMonitoring();
-            }).catch(() => {});
-            break;
-          default:
-            break;
-        }
+        break;
+      case "close":
+        params.type="mqttClose";
+        this.$modal.confirm(this.$t('qrygbm')).then(function() {
+          serviceManagement(params);
+        }).then(() => {
+          this.$modal.msgSuccess(this.$t('zxcg'));
+        this.querySensorStatusMonitoring();
+      }).catch(() => {});
+        break;
+      default:
+        break;
+      }
       },
       changeMode(value){
         this.mode= value
@@ -215,7 +292,7 @@
         this.$modal.confirm(this.$t('qdy')+modeName).then(function() {
           serviceManagement(params).then(response => {
             thisa.$modal.msgSuccess(thisa.$t('zxcg'));
-          });
+        });
         }).catch(function (e) {
           if(e=='cancel'){
             thisa.changeMode(a)
@@ -239,10 +316,11 @@
         // };
         // this.mode =re.data.mode
         // this.mode2 =re.data.mode
-          this.loading = true;
+        this.loading = true;
         serviceManagement(this.queryParams).then(response => {
           this.mode = response.data.mode;
-          this.mode2 = response.data.mode;
+        this.mode2 = response.data.mode;
+
       }).catch(() => {});
         this.loading = false;
       },
@@ -263,17 +341,22 @@
         //   "msg": "操作成功"
         // };
         // this.channelList =re.data
-          this.loading = true;
+        this.loading = true;
         serviceManagement(this.queryParams).then(response => {
           if(response.data!=null){
           this.channelList = response.data;
-          }
+          this.total= response.data.length;
+        }
 
       }).catch(() => {});
         this.loading = false;
       },
       //新增传感器
       sensorStatusAdd(){
+        if( this.total>=5){
+          this.$modal.alert(this.$t('mqbcts'));
+          return;
+        }
         this.form ={};
         this.open = true;
         this.title = this.$t('xz');
@@ -358,7 +441,7 @@
       // 取消按钮
       cancel() {
         this.open = false;
-          this.queryChannelStatus();
+        this.queryChannelStatus();
       },
       /** 强退按钮操作 */
       handleForceLogout(row) {

+ 26 - 6
web/三相/src/views/jgbh/xtjg/index.vue

@@ -1,12 +1,28 @@
 <template>
   <div class="app-container">
     <el-form  size="small" :inline="true"  label-width="auto">
-      <el-form-item :label="this.$t('gjlx')" prop="roleName">
-        <el-input
-          v-model="queryParams.alarmType"
-          clearable
-          style="width: 240px"
-        />
+      <!--<el-form-item :label="this.$t('gjlx')" prop="roleName">-->
+        <!--<el-input-->
+          <!--v-model="queryParams.alarmType"-->
+          <!--clearable-->
+          <!--style="width: 240px"-->
+        <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item :label="this.$t('startTime')" prop="startTime">
+        <el-date-picker clearable
+                        v-model="queryParams.startTime"
+                        type="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item :label="this.$t('endTime')" prop="endTime">
+        <el-date-picker clearable
+                        v-model="queryParams.endTime"
+                        type="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+        >
+        </el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('ss')}}</el-button>
@@ -137,6 +153,10 @@
     },
     created() {
       this.usertoken= this.$store.state.user.usertoken;
+      var  date = new Date();
+      this.queryParams.endTime=this.getNowDateTime(date);
+      date.setHours(date.getHours() - 168);
+      this.queryParams.startTime=this.getNowDateTime(date);
      this.handleQuery();
     },
 

+ 28 - 0
web/三相/src/views/sbwh/pzdrdc/index.vue

@@ -81,6 +81,32 @@
           </el-row>
           </el-card>
         </el-tab-pane>
+        <el-tab-pane :label="this.$t('xtpz')" name="tab4">
+          <el-card style="min-height: 700px ;border-radius: 15px">
+          <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                style="    border-radius: 10px;"
+                icon="el-icon-upload"
+                size="mini"
+                @click="handleImport('3')"
+                v-hasPermi="['tool:gen:import']"
+              >{{$t('dr')}}</el-button>
+            </el-col>
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                style=" border-radius: 10px;background-color: #656B8B"
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport('3')"
+                v-hasPermi="['system:dict:export']"
+              >{{$t('dc')}}</el-button>
+            </el-col>
+          </el-row>
+          </el-card>
+        </el-tab-pane>
       </el-tabs>
     </el-col>
 
@@ -196,6 +222,8 @@
           this.upload.title = this.$t('fwpz'); // todo
         }else if (row=='2'){
           this.upload.title = this.$t('cgqpz'); // todo
+        }else if (row=='3'){
+          this.upload.title = this.$t('xtpz'); // todo
         }
 
         this.upload.open = true;

+ 58 - 47
web/三相/src/views/txgl/wifisz/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
 
     <el-row>
-      <el-col :span="8" class="card-box">
+      <el-col :span="12" class="card-box">
         <el-card>
           <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('WIFIsz')}}</span>
           </div>
@@ -27,7 +27,7 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="8" class="card-box">
+      <el-col :span="12" class="card-box">
         <el-card>
           <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV4sz')}}</span>
           </div>
@@ -43,6 +43,12 @@
                   </el-select>
                 </el-form-item>
 
+                <el-form-item  :label="this.$t('IPbb')" prop="type">
+                  <el-select   style="width: 100%" v-model="form.type"     allow-create   clearable :filterable="false">
+                    <el-option v-for="item in types" :key="item.id" :label="$t(item.name)" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
                 <el-form-item     :label="'IP '+this.$t('dz')" prop="ipaddress">
                   <el-input :disabled="showClass" v-model="form.ipaddress"   />
                 </el-form-item>
@@ -71,50 +77,50 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="8" class="card-box">
-        <el-card>
-          <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>
-          </div>
-
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <template cellspacing="0" style="width: 100%;">
-              <el-form ref="form2" :model="form2"  :rules="rules3" label-width="auto">
-
-                <el-form-item   :label="this.$t('xzms')" prop="mode">
-                  <el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable filterable>
-                    <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
+      <!--<el-col :span="8" class="card-box">-->
+        <!--<el-card>-->
+          <!--<div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>-->
+          <!--</div>-->
+
+          <!--<div class="el-table el-table&#45;&#45;enable-row-hover el-table&#45;&#45;medium">-->
+            <!--<template cellspacing="0" style="width: 100%;">-->
+              <!--<el-form ref="form2" :model="form2"  :rules="rules3" label-width="auto">-->
+
+                <!--<el-form-item   :label="this.$t('xzms')" prop="mode">-->
+                  <!--<el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable filterable>-->
+                    <!--<el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">-->
+                    <!--</el-option>-->
+                  <!--</el-select>-->
+                <!--</el-form-item>-->
 
-                <el-form-item   :label="'IPV6 '+this.$t('dz')" prop="ipaddress">
-                  <el-input  :disabled="showClass2" v-model="form2.ipaddress"   />
-                </el-form-item>
+                <!--<el-form-item   :label="'IPV6 '+this.$t('dz')" prop="ipaddress">-->
+                  <!--<el-input  :disabled="showClass2" v-model="form2.ipaddress"   />-->
+                <!--</el-form-item>-->
 
-                <el-form-item     :label="this.$t('zwym2')" prop="mask">
-                  <el-input :disabled="showClass2" v-model="form2.mask"    />
-                </el-form-item>
+                <!--<el-form-item     :label="this.$t('zwym2')" prop="mask">-->
+                  <!--<el-input :disabled="showClass2" v-model="form2.mask"    />-->
+                <!--</el-form-item>-->
 
-                <el-form-item     :label="this.$t('wg')" prop="gateway">
-                  <el-input :disabled="showClass2" v-model="form2.gateway"    />
-                </el-form-item>
-                <el-form-item     label="DNS1:" prop="dns1">
-                  <el-input :disabled="showClass2" v-model="form2.dns1"    />
-                </el-form-item>
-                <el-form-item    label="DNS2:" prop="dns2">
-                  <el-input :disabled="showClass2" v-model="form2.dns2"    />
-                </el-form-item>
-                <!--<el-form-item   label="MAC:" prop="mac">-->
-                <!--<el-input v-model="form.mac"    />-->
+                <!--<el-form-item     :label="this.$t('wg')" prop="gateway">-->
+                  <!--<el-input :disabled="showClass2" v-model="form2.gateway"    />-->
                 <!--</el-form-item>-->
-              </el-form>
-              <div slot="footer" style="float: right;" class="dialog-footer">
-                <el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>
-              </div>
-            </template>
-          </div>
-        </el-card>
-      </el-col>
+                <!--<el-form-item     label="DNS1:" prop="dns1">-->
+                  <!--<el-input :disabled="showClass2" v-model="form2.dns1"    />-->
+                <!--</el-form-item>-->
+                <!--<el-form-item    label="DNS2:" prop="dns2">-->
+                  <!--<el-input :disabled="showClass2" v-model="form2.dns2"    />-->
+                <!--</el-form-item>-->
+                <!--&lt;!&ndash;<el-form-item   label="MAC:" prop="mac">&ndash;&gt;-->
+                <!--&lt;!&ndash;<el-input v-model="form.mac"    />&ndash;&gt;-->
+                <!--&lt;!&ndash;</el-form-item>&ndash;&gt;-->
+              <!--</el-form>-->
+              <!--<div slot="footer" style="float: right;" class="dialog-footer">-->
+                <!--<el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>-->
+              <!--</div>-->
+            <!--</template>-->
+          <!--</div>-->
+        <!--</el-card>-->
+      <!--</el-col>-->
     </el-row>
 
   </div>
@@ -146,6 +152,7 @@
         form3: {},
         sensorStatusForm: {}, // 传感器表单数据
         modes:[{"id":"0","name":"zd"},{"id":"1","name":"sd"}],
+        types:[{"id":"WIFIIPV4Save","name":"IPV4"},{"id":"WIFIIPV6Save","name":"IPV6"}],
         activeName: '温湿度传感器', // 当前激活的标签页的 name
         sensorStatusTabs:[],
         sensorStatusOpen: false, // 配置传感器
@@ -164,6 +171,10 @@
           mode: [
             { required: true, message: this.$i18n.t('xzms')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
           ],
+          type: [
+            { required: true, message: this.$i18n.t('IPbb')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
+          ]
+
         },
         rules3: {
           mode: [
@@ -178,9 +189,9 @@
       setTimeout(()=>{
         this.queryIp();
       },1000) ;
-      setTimeout(()=>{
-        this.queryIp2();
-      },1500)
+      // setTimeout(()=>{
+      //   this.queryIp2();
+      // },1500)
     },
     methods: {
 
@@ -192,7 +203,7 @@
           this.showClass = false;
         }else{
           this.showClass = true;
-          this.form={}
+          // this.form={}
           this.form.mode=type
           //   const params={};
           //   params.token=this.usertoken;
@@ -288,7 +299,7 @@
           if (valid) {
             const params={};
             params.token=this.usertoken;
-            params.type="WIFIIPV4Save";
+            params.type=this.form.type;
             params.mode=this.form.mode;
             params.ipaddress=this.form.ipaddress;
             params.mask=this.form.mask;

+ 55 - 45
web/三相/src/views/txgl/wksz/index.vue

@@ -10,13 +10,19 @@
             <template cellspacing="0" style="width: 100%;">
               <el-form ref="form" :model="form" :rules="rules1"  label-width="auto">
 
-                    <el-form-item  :label="this.$t('xzms')" prop="mode">
+
+                  <el-form-item  :label="this.$t('xzms')" prop="mode">
                       <el-select style="width: 100%" v-model="form.mode"   @change="handleSelectChange"  allow-create   clearable :filterable="false">
                         <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
                         </el-option>
                       </el-select>
                     </el-form-item>
-
+                <el-form-item  :label="this.$t('IPbb')" prop="type">
+                  <el-select   style="width: 100%" v-model="form.type"     allow-create   clearable :filterable="false">
+                    <el-option v-for="item in types" :key="item.id" :label="$t(item.name)" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
                     <el-form-item    :label="'IP '+this.$t('dz')" prop="ipaddress">
                       <el-input :disabled="showClass" v-model="form.ipaddress"   />
                     </el-form-item>
@@ -45,50 +51,50 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="12" class="card-box">
-        <el-card>
-          <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>
-          </div>
+      <!--<el-col :span="12" class="card-box">-->
+        <!--<el-card>-->
+          <!--<div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>-->
+          <!--</div>-->
 
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <template cellspacing="0" style="width: 100%;">
-              <el-form ref="form2" :model="form2" :rules="rules2"  label-width="auto">
+          <!--<div class="el-table el-table&#45;&#45;enable-row-hover el-table&#45;&#45;medium">-->
+            <!--<template cellspacing="0" style="width: 100%;">-->
+              <!--<el-form ref="form2" :model="form2" :rules="rules2"  label-width="auto">-->
 
-                <el-form-item   :label="this.$t('xzms')" prop="mode">
-                  <el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable :filterable="false">
-                    <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
+                <!--<el-form-item   :label="this.$t('xzms')" prop="mode">-->
+                  <!--<el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable :filterable="false">-->
+                    <!--<el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">-->
+                    <!--</el-option>-->
+                  <!--</el-select>-->
+                <!--</el-form-item>-->
 
-                <el-form-item    :label="'IPV6 '+this.$t('dz')" prop="ipaddress">
-                  <el-input  :disabled="showClass2"  v-model="form2.ipaddress"   />
-                </el-form-item>
+                <!--<el-form-item    :label="'IPV6 '+this.$t('dz')" prop="ipaddress">-->
+                  <!--<el-input  :disabled="showClass2"  v-model="form2.ipaddress"   />-->
+                <!--</el-form-item>-->
 
-                <el-form-item    :label="this.$t('zwym2')" prop="mask">
-                  <el-input  :disabled="showClass2"  v-model="form2.mask"    />
-                </el-form-item>
+                <!--<el-form-item    :label="this.$t('zwym2')" prop="mask">-->
+                  <!--<el-input  :disabled="showClass2"  v-model="form2.mask"    />-->
+                <!--</el-form-item>-->
 
-                <el-form-item    :label="this.$t('wg')" prop="gateway">
-                  <el-input  :disabled="showClass2"  v-model="form2.gateway"    />
-                </el-form-item>
-                <el-form-item     label="DNS1:" prop="dns1">
-                  <el-input  :disabled="showClass2"  v-model="form2.dns1"    />
-                </el-form-item>
-                <el-form-item     label="DNS2:" prop="dns2">
-                  <el-input    :disabled="showClass2"  v-model="form2.dns2"    />
-                </el-form-item>
-                <!--<el-form-item   label="MAC:" prop="mac">-->
-                <!--<el-input v-model="form.mac"    />-->
+                <!--<el-form-item    :label="this.$t('wg')" prop="gateway">-->
+                  <!--<el-input  :disabled="showClass2"  v-model="form2.gateway"    />-->
                 <!--</el-form-item>-->
-              </el-form>
-              <div slot="footer" style="float: right;" class="dialog-footer">
-                <el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>
-              </div>
-            </template>
-          </div>
-        </el-card>
-      </el-col>
+                <!--<el-form-item     label="DNS1:" prop="dns1">-->
+                  <!--<el-input  :disabled="showClass2"  v-model="form2.dns1"    />-->
+                <!--</el-form-item>-->
+                <!--<el-form-item     label="DNS2:" prop="dns2">-->
+                  <!--<el-input    :disabled="showClass2"  v-model="form2.dns2"    />-->
+                <!--</el-form-item>-->
+                <!--&lt;!&ndash;<el-form-item   label="MAC:" prop="mac">&ndash;&gt;-->
+                <!--&lt;!&ndash;<el-input v-model="form.mac"    />&ndash;&gt;-->
+                <!--&lt;!&ndash;</el-form-item>&ndash;&gt;-->
+              <!--</el-form>-->
+              <!--<div slot="footer" style="float: right;" class="dialog-footer">-->
+                <!--<el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>-->
+              <!--</div>-->
+            <!--</template>-->
+          <!--</div>-->
+        <!--</el-card>-->
+      <!--</el-col>-->
     </el-row>
 
   </div>
@@ -119,6 +125,7 @@
         form2: {},
         sensorStatusForm: {}, // 传感器表单数据
         modes:[{"id":"0","name":"zd"},{"id":"1","name":"sd"}],
+        types:[{"id":"WkIPV4Save","name":"IPV4"},{"id":"WkIPV6Save","name":"IPV6"}],
         activeName: '温湿度传感器', // 当前激活的标签页的 name
         sensorStatusTabs:[],
         sensorStatusOpen: false, // 配置传感器
@@ -129,6 +136,9 @@
         rules1: {
           mode: [
             { required: true, message: this.$i18n.t('xzms')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
+          ],
+          type: [
+            { required: true, message: this.$i18n.t('IPbb')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
           ]
 
         },
@@ -144,9 +154,9 @@
     created() {
       this.usertoken= this.$store.state.user.usertoken;
       this.queryIp();
-      setTimeout(()=>{
-        this.queryIp2();
-      },1000)
+      // setTimeout(()=>{
+      //   this.queryIp2();
+      // },1000)
     },
     methods: {
 
@@ -158,7 +168,7 @@
           this.showClass = false;
         }else{
           this.showClass = true;
-          this.form={}
+          // this.form={}
           this.form.mode=type
           //   const params={};
           //   params.token=this.usertoken;
@@ -240,7 +250,7 @@
           if (valid) {
             const params={};
             params.token=this.usertoken;
-            params.type="WkIPV4Save";
+            params.type=this.form.type;
             params.mode=this.form.mode;
             params.ipaddress=this.form.ipaddress;
             params.mask=this.form.mask;

+ 3 - 1
web/安德森/src/utils/i18n/i18n-en-US.json

@@ -429,7 +429,9 @@
   "Telnetsz":"Telnet settings",
   "mqbcts":"The maximum number of brokers is limited to 5",
   "zs":"certificate",
-  "zssc":"Certificate upload"
+  "zssc":"Certificate upload",
+  "IPbb":"IP version",
+  "xtpz":"system configuration"
 
 
 

+ 3 - 1
web/安德森/src/utils/i18n/i18n-ru-RU.json

@@ -430,5 +430,7 @@
   "Telnetsz":"Настройки Telnet",
   "mqbcts":"Максимальное количество брокеров ограничено пятью",
   "zs":"Сертификат",
-  "zssc":"Загрузка сертификата"
+  "zssc":"Загрузка сертификата",
+  "xtpz":"Настройка системы",
+  "IPbb":"Версия IP"
 }

+ 3 - 1
web/安德森/src/utils/i18n/i18n-zh-CN.json

@@ -430,7 +430,9 @@
   "Telnetsz":"Telnet设置",
   "mqbcts":"broker最大数量限定为5个",
   "zs":"证书",
-  "zssc":"证书上传"
+  "zssc":"证书上传",
+  "xtpz":"系统配置",
+  "IPbb":"IP版本"
 
 
 

+ 28 - 7
web/安德森/src/views/jgbh/xtjg/index.vue

@@ -1,12 +1,28 @@
 <template>
   <div class="app-container">
     <el-form  size="small" :inline="true" label-width="100px">
-      <el-form-item :label="this.$t('gjlx')" prop="roleName">
-        <el-input
-          v-model="queryParams.alarmType"
-          clearable
-          style="width: 240px"
-        />
+      <!--<el-form-item :label="this.$t('gjlx')" prop="roleName">-->
+        <!--<el-input-->
+          <!--v-model="queryParams.alarmType"-->
+          <!--clearable-->
+          <!--style="width: 240px"-->
+        <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item :label="this.$t('startTime')" prop="startTime">
+        <el-date-picker clearable
+                        v-model="queryParams.startTime"
+                        type="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item :label="this.$t('endTime')" prop="endTime">
+        <el-date-picker clearable
+                        v-model="queryParams.endTime"
+                        type="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+        >
+        </el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('ss')}}</el-button>
@@ -144,7 +160,12 @@
     },
     created() {
       this.usertoken= this.$store.state.user.usertoken;
-     this.handleQuery();
+      var  date = new Date();
+      this.queryParams.endTime=this.getNowDateTime(date);
+      date.setHours(date.getHours() - 168);
+      this.queryParams.startTime=this.getNowDateTime(date);
+      this.handleQuery();
+
     },
 
     methods: {

+ 93 - 65
web/安德森/src/views/sbwh/pzdrdc/index.vue

@@ -5,17 +5,17 @@
       <el-tabs v-model="tabName" type="card" @tab-click="handleClick" >
         <el-tab-pane :label="this.$t('cgqpz')" name="tab1">
           <el-card style="min-height: 700px ;border-radius: 15px">
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button
-                style="    border-radius: 10px;"
-                type="primary"
-                icon="el-icon-upload"
-                size="mini"
-                @click="handleImport('2')"
-              >{{$t('dr')}}</el-button>
-            </el-col>
-            <el-col :span="1.5">
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  style="    border-radius: 10px;"
+                  type="primary"
+                  icon="el-icon-upload"
+                  size="mini"
+                  @click="handleImport('2')"
+                >{{$t('dr')}}</el-button>
+              </el-col>
+              <el-col :span="1.5">
                 <el-button
                   style=" border-radius: 10px;background-color: #656B8B"
                   type="primary"
@@ -23,62 +23,88 @@
                   size="mini"
                   @click="handleExport('2')"
                 >{{$t('dc')}}</el-button>
-            </el-col>
-          </el-row>
+              </el-col>
+            </el-row>
           </el-card>
 
         </el-tab-pane>
         <el-tab-pane :label="this.$t('gjyzpz')" name="tab2">
           <el-card style="min-height: 700px ;border-radius: 15px">
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button
-                style="    border-radius: 10px;"
-                type="primary"
-                icon="el-icon-upload"
-                size="mini"
-                @click="handleImport('0')"
-                v-hasPermi="['tool:gen:import']"
-              >{{$t('dr')}}</el-button>
-            </el-col>
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                style=" border-radius: 10px;background-color: #656B8B"
-                icon="el-icon-download"
-                size="mini"
-                @click="handleExport('0')"
-                v-hasPermi="['system:dict:export']"
-              >{{$t('dc')}}</el-button>
-            </el-col>
-          </el-row>
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  style="    border-radius: 10px;"
+                  type="primary"
+                  icon="el-icon-upload"
+                  size="mini"
+                  @click="handleImport('0')"
+                  v-hasPermi="['tool:gen:import']"
+                >{{$t('dr')}}</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  style=" border-radius: 10px;background-color: #656B8B"
+                  icon="el-icon-download"
+                  size="mini"
+                  @click="handleExport('0')"
+                  v-hasPermi="['system:dict:export']"
+                >{{$t('dc')}}</el-button>
+              </el-col>
+            </el-row>
 
           </el-card>
         </el-tab-pane>
         <el-tab-pane :label="this.$t('fwglpz')" name="tab3">
           <el-card style="min-height: 700px ;border-radius: 15px">
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                style="    border-radius: 10px;"
-                icon="el-icon-upload"
-                size="mini"
-                @click="handleImport('1')"
-                v-hasPermi="['tool:gen:import']"
-              >{{$t('dr')}}</el-button>
-            </el-col>
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                style=" border-radius: 10px;background-color: #656B8B"
-                icon="el-icon-download"
-                size="mini"
-                @click="handleExport('1')"
-                v-hasPermi="['system:dict:export']"
-              >{{$t('dc')}}</el-button>
-            </el-col>
-          </el-row>
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  style="    border-radius: 10px;"
+                  icon="el-icon-upload"
+                  size="mini"
+                  @click="handleImport('1')"
+                  v-hasPermi="['tool:gen:import']"
+                >{{$t('dr')}}</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  style=" border-radius: 10px;background-color: #656B8B"
+                  icon="el-icon-download"
+                  size="mini"
+                  @click="handleExport('1')"
+                  v-hasPermi="['system:dict:export']"
+                >{{$t('dc')}}</el-button>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-tab-pane>
+        <el-tab-pane :label="this.$t('xtpz')" name="tab4">
+          <el-card style="min-height: 700px ;border-radius: 15px">
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  style="    border-radius: 10px;"
+                  icon="el-icon-upload"
+                  size="mini"
+                  @click="handleImport('3')"
+                  v-hasPermi="['tool:gen:import']"
+                >{{$t('dr')}}</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  style=" border-radius: 10px;background-color: #656B8B"
+                  icon="el-icon-download"
+                  size="mini"
+                  @click="handleExport('3')"
+                  v-hasPermi="['system:dict:export']"
+                >{{$t('dc')}}</el-button>
+              </el-col>
+            </el-row>
           </el-card>
         </el-tab-pane>
       </el-tabs>
@@ -98,7 +124,7 @@
         ref="upload"
         :limit="1"
         accept=".xml"
-        :action="upload.url + '?type=importData&token='+this.usertoken"
+        :action="upload.url + '?uploadType=' + form.uploadType+'&type=importData&token='+this.usertoken"
         :disabled="upload.isUploading"
         :on-progress="handleFileUploadProgress"
         :before-upload="beforeAvatarUpload"
@@ -109,7 +135,7 @@
         <i class="el-icon-upload"></i>
         <div class="el-upload__text">{{$t('drts')}}<em>{{$t('djsc')}}</em></div>
         <div class="el-upload__tip text-center" slot="tip">
-        <span>{{$t('jyxdr')}}xml{{$t('gswj')}}。</span>
+          <span>{{$t('jyxdr')}}xml{{$t('gswj')}}。</span>
         </div>
       </el-upload>
       <div slot="footer" class="dialog-footer">
@@ -182,10 +208,10 @@
     methods: {
       // 导入前校验
       beforeAvatarUpload(file) {
-       var name= file.name.split('.')[1].toLowerCase() ;
+        var name= file.name.split('.')[1].toLowerCase() ;
         if ( name!='xml' ) {
           this.$modal.msgError(this.$t('jyxdr')+"xml"+this.$t('gswj'));
-         return false;
+          return false;
         }
       },
       /** 导入按钮操作 */
@@ -196,6 +222,8 @@
           this.upload.title = this.$t('fwpz'); // todo
         }else if (row=='2'){
           this.upload.title = this.$t('cgqpz'); // todo
+        }else if (row=='3'){
+          this.upload.title = this.$t('xtpz'); // todo
         }
 
         this.upload.open = true;
@@ -211,7 +239,7 @@
         this.upload.open = false;
         this.upload.isUploading = false;
         this.$refs.upload.clearFiles();
-        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", this.$t("drjg"), { dangerouslyUseHTMLString: true });
+        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", $t("drjg"), { dangerouslyUseHTMLString: true });
         this.getList();
       },
 // 提交上传文件
@@ -229,9 +257,9 @@
 
         // var url=window.location.origin+":8084/pdu/equipmentMintenanceExport?token="+this.usertoken+"&export="+row+"&type=export";
         // window.open(url,'_blank');
-      //   this.download('/pdu/equipmentMintenanceExport', {
-      //     ...params
-      // })
+        //   this.download('/pdu/equipmentMintenanceExport', {
+        //     ...params
+        // })
       },
       /** 搜索按钮操作 */
       handleQuery() {

+ 74 - 63
web/安德森/src/views/txgl/wifisz/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
 
     <el-row>
-      <el-col :span="8" class="card-box">
+      <el-col :span="12" class="card-box">
         <el-card>
           <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('WIFIsz')}}</span>
           </div>
@@ -10,7 +10,7 @@
           <div class="el-table el-table--enable-row-hover el-table--medium">
             <template cellspacing="0" style="width: 100%;">
               <el-form ref="form3" :model="form3" :rules="rules1" label-width="auto">
-                <el-form-item   :required="true" :label="'SSID'" prop="ssid">
+                <el-form-item    :label="'SSID'" prop="ssid">
                   <el-input v-model="form3.ssid"   />
                 </el-form-item>
 
@@ -27,7 +27,7 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="8" class="card-box">
+      <el-col :span="12" class="card-box">
         <el-card>
           <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV4sz')}}</span>
           </div>
@@ -36,13 +36,19 @@
             <template cellspacing="0" style="width: 100%;">
               <el-form ref="form" :model="form"  :rules="rules2" label-width="auto">
 
-                <el-form-item :required="true" :label="this.$t('xzms')" prop="mode">
+                <el-form-item  :label="this.$t('xzms')" prop="mode">
                   <el-select style="width: 100%" v-model="form.mode"   @change="handleSelectChange"  allow-create   clearable :filterable="false">
                     <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
                     </el-option>
                   </el-select>
                 </el-form-item>
 
+                <el-form-item  :label="this.$t('IPbb')" prop="type">
+                  <el-select   style="width: 100%" v-model="form.type"     allow-create   clearable :filterable="false">
+                    <el-option v-for="item in types" :key="item.id" :label="$t(item.name)" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
                 <el-form-item     :label="'IP '+this.$t('dz')" prop="ipaddress">
                   <el-input :disabled="showClass" v-model="form.ipaddress"   />
                 </el-form-item>
@@ -71,50 +77,50 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="8" class="card-box">
-        <el-card>
-          <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>
-          </div>
-
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <template cellspacing="0" style="width: 100%;">
-              <el-form ref="form2" :model="form2"  :rules="rules3" label-width="auto">
-
-                <el-form-item :required="true" :label="this.$t('xzms')" prop="mode">
-                  <el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable filterable>
-                    <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-
-                <el-form-item   :label="'IPV6 '+this.$t('dz')" prop="ipaddress">
-                  <el-input  :disabled="showClass2" v-model="form2.ipaddress"   />
-                </el-form-item>
-
-                <el-form-item     :label="this.$t('zwym2')" prop="mask">
-                  <el-input :disabled="showClass2" v-model="form2.mask"    />
-                </el-form-item>
-
-                <el-form-item     :label="this.$t('wg')" prop="gateway">
-                  <el-input :disabled="showClass2" v-model="form2.gateway"    />
-                </el-form-item>
-                <el-form-item     label="DNS1:" prop="dns1">
-                  <el-input :disabled="showClass2" v-model="form2.dns1"    />
-                </el-form-item>
-                <el-form-item    label="DNS2:" prop="dns2">
-                  <el-input :disabled="showClass2" v-model="form2.dns2"    />
-                </el-form-item>
-                <!--<el-form-item   label="MAC:" prop="mac">-->
-                <!--<el-input v-model="form.mac"    />-->
-                <!--</el-form-item>-->
-              </el-form>
-              <div slot="footer" style="float: right;" class="dialog-footer">
-                <el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>
-              </div>
-            </template>
-          </div>
-        </el-card>
-      </el-col>
+      <!--<el-col :span="8" class="card-box">-->
+      <!--<el-card>-->
+      <!--<div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>-->
+      <!--</div>-->
+
+      <!--<div class="el-table el-table&#45;&#45;enable-row-hover el-table&#45;&#45;medium">-->
+      <!--<template cellspacing="0" style="width: 100%;">-->
+      <!--<el-form ref="form2" :model="form2"  :rules="rules3" label-width="auto">-->
+
+      <!--<el-form-item   :label="this.$t('xzms')" prop="mode">-->
+      <!--<el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable filterable>-->
+      <!--<el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">-->
+      <!--</el-option>-->
+      <!--</el-select>-->
+      <!--</el-form-item>-->
+
+      <!--<el-form-item   :label="'IPV6 '+this.$t('dz')" prop="ipaddress">-->
+      <!--<el-input  :disabled="showClass2" v-model="form2.ipaddress"   />-->
+      <!--</el-form-item>-->
+
+      <!--<el-form-item     :label="this.$t('zwym2')" prop="mask">-->
+      <!--<el-input :disabled="showClass2" v-model="form2.mask"    />-->
+      <!--</el-form-item>-->
+
+      <!--<el-form-item     :label="this.$t('wg')" prop="gateway">-->
+      <!--<el-input :disabled="showClass2" v-model="form2.gateway"    />-->
+      <!--</el-form-item>-->
+      <!--<el-form-item     label="DNS1:" prop="dns1">-->
+      <!--<el-input :disabled="showClass2" v-model="form2.dns1"    />-->
+      <!--</el-form-item>-->
+      <!--<el-form-item    label="DNS2:" prop="dns2">-->
+      <!--<el-input :disabled="showClass2" v-model="form2.dns2"    />-->
+      <!--</el-form-item>-->
+      <!--&lt;!&ndash;<el-form-item   label="MAC:" prop="mac">&ndash;&gt;-->
+      <!--&lt;!&ndash;<el-input v-model="form.mac"    />&ndash;&gt;-->
+      <!--&lt;!&ndash;</el-form-item>&ndash;&gt;-->
+      <!--</el-form>-->
+      <!--<div slot="footer" style="float: right;" class="dialog-footer">-->
+      <!--<el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>-->
+      <!--</div>-->
+      <!--</template>-->
+      <!--</div>-->
+      <!--</el-card>-->
+      <!--</el-col>-->
     </el-row>
 
   </div>
@@ -146,6 +152,7 @@
         form3: {},
         sensorStatusForm: {}, // 传感器表单数据
         modes:[{"id":"0","name":"zd"},{"id":"1","name":"sd"}],
+        types:[{"id":"WIFIIPV4Save","name":"IPV4"},{"id":"WIFIIPV6Save","name":"IPV6"}],
         activeName: '温湿度传感器', // 当前激活的标签页的 name
         sensorStatusTabs:[],
         sensorStatusOpen: false, // 配置传感器
@@ -164,6 +171,10 @@
           mode: [
             { required: true, message: this.$i18n.t('xzms')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
           ],
+          type: [
+            { required: true, message: this.$i18n.t('IPbb')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
+          ]
+
         },
         rules3: {
           mode: [
@@ -177,10 +188,10 @@
       this.queryIp3();
       setTimeout(()=>{
         this.queryIp();
-      },1000) ;
-      setTimeout(()=>{
-        this.queryIp2();
-      },1500)
+    },1000) ;
+      // setTimeout(()=>{
+      //   this.queryIp2();
+      // },1500)
     },
     methods: {
 
@@ -192,7 +203,7 @@
           this.showClass = false;
         }else{
           this.showClass = true;
-          this.form={}
+          // this.form={}
           this.form.mode=type
           //   const params={};
           //   params.token=this.usertoken;
@@ -250,9 +261,9 @@
             this.showClass = false;
           }
           this.form=response.data;
-          }
+        }
 
-        });
+      });
       },
       //IPV6查询
       queryIp2(){
@@ -265,10 +276,10 @@
             this.showClass2 = false;
           }
           this.form2=response.data;
-          }
+        }
 
 
-        });
+      });
       },
 
       queryIp3(){
@@ -278,9 +289,9 @@
         communicationManagement(params).then(response => {
           if(response.data!=null){
           this.form3=response.data;
-          }
+        }
 
-        });
+      });
       },
       /** 提交按钮 */
       submitForm: function() {
@@ -288,7 +299,7 @@
           if (valid) {
             const params={};
             params.token=this.usertoken;
-            params.type="WIFIIPV4Save";
+            params.type=this.form.type;
             params.mode=this.form.mode;
             params.ipaddress=this.form.ipaddress;
             params.mask=this.form.mask;
@@ -300,7 +311,7 @@
               communicationManagement(params);
             }).then(() => {
               this.$modal.msgSuccess(this.$t('zxcg'));
-            }).catch(() => {});
+          }).catch(() => {});
 
 
           }
@@ -325,7 +336,7 @@
               communicationManagement(params);
             }).then(() => {
               this.$modal.msgSuccess(this.$t('zxcg'));
-            }).catch(() => {});
+          }).catch(() => {});
 
 
           }
@@ -346,7 +357,7 @@
               communicationManagement(params);
             }).then(() => {
               this.$modal.msgSuccess(this.$t('zxcg'));
-            }).catch(() => {});
+          }).catch(() => {});
 
 
           }

+ 69 - 59
web/安德森/src/views/txgl/wksz/index.vue

@@ -10,20 +10,26 @@
             <template cellspacing="0" style="width: 100%;">
               <el-form ref="form" :model="form" :rules="rules1"  label-width="auto">
 
-                    <el-form-item :required="true" :label="this.$t('xzms')" prop="mode">
-                      <el-select style="width: 100%" v-model="form.mode"   @change="handleSelectChange"  allow-create   clearable :filterable="false">
-                        <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-                        </el-option>
-                      </el-select>
-                    </el-form-item>
 
-                    <el-form-item    :label="'IP '+this.$t('dz')" prop="ipaddress">
-                      <el-input :disabled="showClass" v-model="form.ipaddress"   />
-                    </el-form-item>
+                <el-form-item  :label="this.$t('xzms')" prop="mode">
+                  <el-select style="width: 100%" v-model="form.mode"   @change="handleSelectChange"  allow-create   clearable :filterable="false">
+                    <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item  :label="this.$t('IPbb')" prop="type">
+                  <el-select   style="width: 100%" v-model="form.type"     allow-create   clearable :filterable="false">
+                    <el-option v-for="item in types" :key="item.id" :label="$t(item.name)" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item    :label="'IP '+this.$t('dz')" prop="ipaddress">
+                  <el-input :disabled="showClass" v-model="form.ipaddress"   />
+                </el-form-item>
 
-                    <el-form-item    :label="this.$t('zwym')" prop="mask">
-                      <el-input :disabled="showClass" v-model="form.mask"    />
-                    </el-form-item>
+                <el-form-item    :label="this.$t('zwym')" prop="mask">
+                  <el-input :disabled="showClass" v-model="form.mask"    />
+                </el-form-item>
 
                 <el-form-item     :label="this.$t('wg')" prop="gateway">
                   <el-input :disabled="showClass" v-model="form.gateway"    />
@@ -35,7 +41,7 @@
                   <el-input  :disabled="showClass" v-model="form.dns2"    />
                 </el-form-item>
                 <!--<el-form-item   label="MAC:" prop="mac">-->
-                  <!--<el-input v-model="form.mac"    />-->
+                <!--<el-input v-model="form.mac"    />-->
                 <!--</el-form-item>-->
               </el-form>
               <div slot="footer" style="float: right;" class="dialog-footer">
@@ -45,50 +51,50 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="12" class="card-box">
-        <el-card>
-          <div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>
-          </div>
+      <!--<el-col :span="12" class="card-box">-->
+      <!--<el-card>-->
+      <!--<div slot="header"><span style=" font-size: 20px; font-weight: bold;"><i class="el-icon-monitor"></i> {{$t('IPV6sz')}}</span>-->
+      <!--</div>-->
 
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <template cellspacing="0" style="width: 100%;">
-              <el-form ref="form2" :model="form2" :rules="rules2"  label-width="auto">
+      <!--<div class="el-table el-table&#45;&#45;enable-row-hover el-table&#45;&#45;medium">-->
+      <!--<template cellspacing="0" style="width: 100%;">-->
+      <!--<el-form ref="form2" :model="form2" :rules="rules2"  label-width="auto">-->
 
-                <el-form-item :required="true" :label="this.$t('xzms')" prop="mode">
-                  <el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable :filterable="false">
-                    <el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
+      <!--<el-form-item   :label="this.$t('xzms')" prop="mode">-->
+      <!--<el-select style="width: 100%" v-model="form2.mode"   @change="handleSelectChange2"  allow-create   clearable :filterable="false">-->
+      <!--<el-option v-for="item in modes" :key="item.id" :label="$t(item.name)" :value="item.id">-->
+      <!--</el-option>-->
+      <!--</el-select>-->
+      <!--</el-form-item>-->
 
-                <el-form-item    :label="'IPV6 '+this.$t('dz')" prop="ipaddress">
-                  <el-input  :disabled="showClass2"  v-model="form2.ipaddress"   />
-                </el-form-item>
+      <!--<el-form-item    :label="'IPV6 '+this.$t('dz')" prop="ipaddress">-->
+      <!--<el-input  :disabled="showClass2"  v-model="form2.ipaddress"   />-->
+      <!--</el-form-item>-->
 
-                <el-form-item    :label="this.$t('zwym2')" prop="mask">
-                  <el-input  :disabled="showClass2"  v-model="form2.mask"    />
-                </el-form-item>
+      <!--<el-form-item    :label="this.$t('zwym2')" prop="mask">-->
+      <!--<el-input  :disabled="showClass2"  v-model="form2.mask"    />-->
+      <!--</el-form-item>-->
 
-                <el-form-item    :label="this.$t('wg')" prop="gateway">
-                  <el-input  :disabled="showClass2"  v-model="form2.gateway"    />
-                </el-form-item>
-                <el-form-item     label="DNS1:" prop="dns1">
-                  <el-input  :disabled="showClass2"  v-model="form2.dns1"    />
-                </el-form-item>
-                <el-form-item     label="DNS2:" prop="dns2">
-                  <el-input    :disabled="showClass2"  v-model="form2.dns2"    />
-                </el-form-item>
-                <!--<el-form-item   label="MAC:" prop="mac">-->
-                <!--<el-input v-model="form.mac"    />-->
-                <!--</el-form-item>-->
-              </el-form>
-              <div slot="footer" style="float: right;" class="dialog-footer">
-                <el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>
-              </div>
-            </template>
-          </div>
-        </el-card>
-      </el-col>
+      <!--<el-form-item    :label="this.$t('wg')" prop="gateway">-->
+      <!--<el-input  :disabled="showClass2"  v-model="form2.gateway"    />-->
+      <!--</el-form-item>-->
+      <!--<el-form-item     label="DNS1:" prop="dns1">-->
+      <!--<el-input  :disabled="showClass2"  v-model="form2.dns1"    />-->
+      <!--</el-form-item>-->
+      <!--<el-form-item     label="DNS2:" prop="dns2">-->
+      <!--<el-input    :disabled="showClass2"  v-model="form2.dns2"    />-->
+      <!--</el-form-item>-->
+      <!--&lt;!&ndash;<el-form-item   label="MAC:" prop="mac">&ndash;&gt;-->
+      <!--&lt;!&ndash;<el-input v-model="form.mac"    />&ndash;&gt;-->
+      <!--&lt;!&ndash;</el-form-item>&ndash;&gt;-->
+      <!--</el-form>-->
+      <!--<div slot="footer" style="float: right;" class="dialog-footer">-->
+      <!--<el-button type="primary" @click="submitForm2">{{$t('qd')}}</el-button>-->
+      <!--</div>-->
+      <!--</template>-->
+      <!--</div>-->
+      <!--</el-card>-->
+      <!--</el-col>-->
     </el-row>
 
   </div>
@@ -119,6 +125,7 @@
         form2: {},
         sensorStatusForm: {}, // 传感器表单数据
         modes:[{"id":"0","name":"zd"},{"id":"1","name":"sd"}],
+        types:[{"id":"WkIPV4Save","name":"IPV4"},{"id":"WkIPV6Save","name":"IPV6"}],
         activeName: '温湿度传感器', // 当前激活的标签页的 name
         sensorStatusTabs:[],
         sensorStatusOpen: false, // 配置传感器
@@ -129,6 +136,9 @@
         rules1: {
           mode: [
             { required: true, message: this.$i18n.t('xzms')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
+          ],
+          type: [
+            { required: true, message: this.$i18n.t('IPbb')+" "+this.$i18n.t('bnwk'), trigger: "blur" }
           ]
 
         },
@@ -144,9 +154,9 @@
     created() {
       this.usertoken= this.$store.state.user.usertoken;
       this.queryIp();
-      setTimeout(()=>{
-        this.queryIp2();
-      },1000)
+      // setTimeout(()=>{
+      //   this.queryIp2();
+      // },1000)
     },
     methods: {
 
@@ -158,7 +168,7 @@
           this.showClass = false;
         }else{
           this.showClass = true;
-          this.form={}
+          // this.form={}
           this.form.mode=type
           //   const params={};
           //   params.token=this.usertoken;
@@ -216,7 +226,7 @@
             this.showClass = false;
           }
           this.form=response.data;
-          }
+        }
 
       });
       },
@@ -231,7 +241,7 @@
             this.showClass2 = false;
           }
           this.form2=response.data;
-          }
+        }
       });
       },
       /** 提交按钮 */
@@ -240,7 +250,7 @@
           if (valid) {
             const params={};
             params.token=this.usertoken;
-            params.type="WkIPV4Save";
+            params.type=this.form.type;
             params.mode=this.form.mode;
             params.ipaddress=this.form.ipaddress;
             params.mask=this.form.mask;