From 4231b4406ee43a42234ce47d41bcf4b94c48c138 Mon Sep 17 00:00:00 2001
From: whyczyk <525500596@qq.com>
Date: 星期二, 10 八月 2021 15:42:37 +0800
Subject: [PATCH] 参数设置界面开发

---
 src/pages/functionList/functionList.vue |   69 +-
 src/components/site/siteList.vue        |  145 +++---
 src/pages/parameter/parameter.vue       |  943 +++++++++++++++++++++++++++--------------------
 src/assets/js/api.js                    |   33 +
 4 files changed, 676 insertions(+), 514 deletions(-)

diff --git a/src/assets/js/api.js b/src/assets/js/api.js
index 9080ef4..ec46842 100644
--- a/src/assets/js/api.js
+++ b/src/assets/js/api.js
@@ -71,9 +71,9 @@
  */
 export const checkUserPwd = (data) => {
     return axios({
-        method: "post",
-        url: "User_infAction!checkUserPass",
-        data: "addjson="+ md5(data),
+        method: 'post',
+        url: 'User_infAction!checkUserPass',
+        data: "addjson=" + md5(data),
     });
 }
 /**
@@ -81,11 +81,11 @@
  * @param data 浼犲叆json:{dev_id,op_cmd}
  * @returns {AxiosPromise}
  */
- export const getParams = (data) => {
+export const getParams = (data) => {
     return axios({
-        method: 'POST'
-        ,url: 'Fbs9100_setparamAction_action_searchA059Param'
-        ,data: 'json=' + JSON.stringify(data)
+        method: 'POST',
+        url: 'Fbs9100_setparamAction_action_searchA059Param',
+        data: 'json=' + JSON.stringify(data)
     });
 }
 /**
@@ -93,18 +93,31 @@
  * @param data 鍚姩鍛戒护
  * @returns {AxiosPromise}
  */
- export const start = (data) => {
+export const start = (data) => {
     return axios({
         method: 'post',
         url: 'Fbs9100_setparamAction_action_serchbyDev_id',
-        data: 'json='+JSON.stringify(data),
+        data: 'json=' + JSON.stringify(data),
+    });
+}
+
+/**
+ * 璁惧畾
+ * @param data 鍚姩鍛戒护
+ * @returns {AxiosPromise}
+ */
+export const setParams = (data) => {
+    return axios({
+        method: 'POST',
+        url: 'Fbs9100_setparamAction_action_updateA059Param',
+        data: 'json=' + JSON.stringify(data)
     });
 }
 /**
  * 鏌ヨ鐢垫睜缁勪俊鎭�
  * 鍙傛暟锛歫son = {"StationName1":"鍖椾含甯�","StationName2":"甯傝緰鍖�","StationName5":"娴锋穩鍖�","StationName3":"绱櫠绉戞妧鏈烘埧"}
  */
- export const searchBattInfo = (params) => {
+export const searchBattInfo = (params) => {
     return axios({
         method: "post",
         url: "BattInfAction!serchAllBattinf",
diff --git a/src/components/site/siteList.vue b/src/components/site/siteList.vue
index 3a73b99..dcdfc60 100644
--- a/src/components/site/siteList.vue
+++ b/src/components/site/siteList.vue
@@ -4,7 +4,8 @@
             <van-collapse-item v-for="(item,i) in dataList" :key="i" :title="item.label" :name="i">
                 <span>
                     <ul>
-                        <li v-for="(element,i) in item.list" class="group_name" @click="toRouter(element)">{{ element.BattGroupName }}</li>
+                        <li v-for="(element,i) in item.list" class="group_name" @click="toRouter(element)" :key="i">
+                            {{ element.BattGroupName }}</li>
                     </ul>
                 </span>
             </van-collapse-item>
@@ -19,102 +20,106 @@
     </div>
 </template>
 <script>
-import { searchStation,searchBattInfo } from "@/assets/js/api";
-export default {
-    data(){
-        return {
-            finished: false,
-            dataList:[],
-            activeNames:[],
-        }
-    },
-    mounted(){
-        this.searchStation();
-    },
-    methods:{
-        searchStation:function(){
-            let self = this;
+    import {
+        searchStation,
+        searchBattInfo
+    } from "@/assets/js/api";
+    export default {
+        data() {
+            return {
+                finished: false,
+                dataList: [],
+                activeNames: [],
+            }
+        },
+        mounted() {
+            this.searchStation();
+        },
+        methods: {
+            searchStation: function () {
+                let self = this;
                 searchStation({
-                    StationName1:"",
-                    StationName2:"",
-                    StationName5:"",
-                }).then((res)=>{
+                    StationName1: "",
+                    StationName2: "",
+                    StationName5: "",
+                }).then((res) => {
                     let rs = JSON.parse(res.data.result);
                     let data = [];
-                    if(rs.code == 1) {
+                    if (rs.code == 1) {
                         data = rs.data;
                         console.log(data)
                     }
                     // 鏍煎紡鍖栨暟鎹�
                     this.formatData(data);
                 });
-        },
-        formatData(data) {
-            let self = this;
-            let homeList = [];
-            // 閬嶅巻鏁版嵁鏋勯�犳爲鐘�
-            data.forEach((item,i)=>{
-                let tmp = {};
-                tmp.label = item.StationName1+"-"+item.StationName2+"-"+item.StationName5+"-"+item.StationName3;
-                tmp.key = item.FBSDeviceId+Math.random();
-                tmp.id = item.FBSDeviceId;
-                tmp.data = item;
-                let index = this.checkValIsIn(tmp.label, homeList);
-                if(index == -1) {
-                    tmp.list = [];
-                    homeList.push(tmp);
+            },
+            formatData(data) {
+                let self = this;
+                let homeList = [];
+                // 閬嶅巻鏁版嵁鏋勯�犳爲鐘�
+                data.forEach((item, i) => {
+                    let tmp = {};
+                    tmp.label = item.StationName1 + "-" + item.StationName2 + "-" + item.StationName5 + "-" +
+                        item.StationName3;
+                    tmp.key = item.FBSDeviceId + Math.random();
+                    tmp.id = item.FBSDeviceId;
+                    tmp.data = item;
+                    let index = this.checkValIsIn(tmp.label, homeList);
+                    if (index == -1) {
+                        tmp.list = [];
+                        homeList.push(tmp);
+                    }
+                });
+                self.dataList = homeList;
+                self.finished = true;
+            },
+            checkValIsIn(val, arr) {
+                for (let i = 0; i < arr.length; i++) {
+                    if (arr[i].label == val) {
+                        return i;
+                    }
                 }
-            });
-            self.dataList = homeList;
-            self.finished = true;
-        },
-        checkValIsIn(val, arr) {
-            for(let i=0; i<arr.length; i++) {
-                if(arr[i].label == val) {
-                    return i;
-                }
-            }
-            return -1;
-        },
-        // 鏌ヨ鐢垫睜缁�
-        changeList(){
-            let self = this;
-                self.$nextTick(()=>{
+                return -1;
+            },
+            // 鏌ヨ鐢垫睜缁�
+            changeList() {
+                let self = this;
+                self.$nextTick(() => {
                     self.activeNames.forEach(item => {
                         let arr = self.dataList[item].list;
-                        if(arr.length<1){
+                        if (arr.length < 1) {
                             console.log(self.dataList[item])
                             let objs = self.dataList[item].data;
                             searchBattInfo({
-                                StationName1:objs.StationName1,
-                                StationName2:objs.StationName2,
-                                StationName5:objs.StationName5,
-                                StationName3:objs.StationName3
-                            }).then(res=>{
+                                StationName1: objs.StationName1,
+                                StationName2: objs.StationName2,
+                                StationName5: objs.StationName5,
+                                StationName3: objs.StationName3
+                            }).then(res => {
                                 let re = JSON.parse(res.data.result)
-                                    re.data.forEach(element => {
-                                        self.dataList[item].list.push(element);
-                                    });
+                                re.data.forEach(element => {
+                                    self.dataList[item].list.push(element);
+                                });
                             })
                         }
                     });
                 })
-            
-        },
-        // 璺宠浆
-        toRouter(element){
-            let self = this;
+
+            },
+            // 璺宠浆
+            toRouter(element) {
+                let self = this;
                 self.$router.push({
                     path: '/functionList',
-                    query:element
+                    query: element
                 })
+            }
         }
-    }
 
-}
+    }
 </script>
 <style scoped>
-    .group_name{
+    .group_name {
         margin-bottom: 14px;
         margin-left: 10px;
     }
diff --git a/src/pages/functionList/functionList.vue b/src/pages/functionList/functionList.vue
index b31fcd8..2c8bb20 100644
--- a/src/pages/functionList/functionList.vue
+++ b/src/pages/functionList/functionList.vue
@@ -1,46 +1,49 @@
 <template>
-    <!-- <van-nav-bar title="棣栭〉" left-arrow></van-nav-bar> -->
-    <van-grid>
-        <van-grid-item @click="ok(0)">
-            <van-image :src=" require('../../assets/img/home-charge.png')"/>
-            <span>鏂囧瓧</span>
-        </van-grid-item>
-        <van-grid-item @click="ok(1)">
-            <van-image :src=" require('../../assets/img/home-charge.png')"/>
-            <span>鏂囧瓧</span>
-        </van-grid-item>
-        <van-grid-item @click="ok(2)">
-            <van-image :src=" require('../../assets/img/home-charge.png')"/>
-            <span>鏂囧瓧</span>
-        </van-grid-item>
-        
-        <!-- <van-grid-item icon="photo-o" text="鏂囧瓧" />
+    <div class="">
+        <van-nav-bar title="绔欑偣" left-arrow @click-left="$router.back()"></van-nav-bar>
+        <van-grid>
+            <van-grid-item @click="ok(0)">
+                <van-image :src=" require('../../assets/img/home-charge.png')" />
+                <span>鍏呯數鍙傛暟</span>
+            </van-grid-item>
+            <van-grid-item @click="ok(1)">
+                <van-image :src=" require('../../assets/img/home-charge.png')" />
+                <span>鏀剧數鍙傛暟</span>
+            </van-grid-item>
+            <van-grid-item @click="ok(2)">
+                <van-image :src=" require('../../assets/img/home-charge.png')" />
+                <span>娲诲寲鍙傛暟</span>
+            </van-grid-item>
+
+            <!-- <van-grid-item icon="photo-o" text="鏂囧瓧" />
         <van-grid-item icon="photo-o" text="鏂囧瓧" />
         <van-grid-item icon="photo-o" text="鏂囧瓧" /> -->
-    </van-grid>
+        </van-grid>
+    </div>
+
 </template>
 <script>
-export default {
-    data(){
-        return {
+    export default {
+        data() {
+            return {
 
-        }
-    },
-    mounted(){
-        
-    },
-    methods: {
-        ok:function(val){
-            let self = this;
-            let obj = this.$route.query;
+            }
+        },
+        mounted() {
+
+        },
+        methods: {
+            ok: function (val) {
+                let self = this;
+                let obj = this.$route.query;
                 obj.num = val;
                 self.$router.push({
                     path: '/parameter',
-                    query:obj
+                    query: obj
                 })
-        }
-    },
-}
+            }
+        },
+    }
 </script>
 <style scoped>
 
diff --git a/src/pages/parameter/parameter.vue b/src/pages/parameter/parameter.vue
index 4d45e6f..7dc85f4 100644
--- a/src/pages/parameter/parameter.vue
+++ b/src/pages/parameter/parameter.vue
@@ -1,445 +1,586 @@
 <template>
     <div>
+        <van-nav-bar title="鍙傛暟" left-arrow @click-left="$router.back()"></van-nav-bar>
         <van-form>
-            <van-field
-                v-model="groupName"
-                label="鐢垫睜缁勫悕绉�:"
-                label-width="120"
-                placeholder="璇疯緭鍏ョ數姹犵粍鍚嶇О"
-                name="鐢垫睜缁勫悕绉�"
-            />
-            <van-field
-                v-model="FBSDeviceId"
-                label="璁惧ID:"
-                label-width="120"
-                placeholder="璇疯緭鍏ヨ澶嘔D"
-                name="璁惧ID"
-            />
-            <van-field
-                v-model="GroupIndexInFBSDevice"
-                label="鐢垫睜缁勭紪鍙�:"
-                label-width="120"
-                placeholder="璇疯緭鍏ョ數姹犵粍缂栧彿"
-                name="鐢垫睜缁勭紪鍙�"
-            />
-            <van-field
-                v-model="groupInfo"
-                label="鐢垫睜缁勪俊鎭�:"
-                label-width="120"
-                placeholder="璇疯緭鍏ョ數姹犵粍淇℃伅"
-                name="鐢垫睜缁勪俊鎭�"
-            />
+            <van-field v-model="otherParams.groupName" label="鐢垫睜缁勫悕绉�:" label-width="120" placeholder="璇疯緭鍏ョ數姹犵粍鍚嶇О"
+                name="鐢垫睜缁勫悕绉�" />
+            <van-field v-model="otherParams.FBSDeviceId" label="璁惧ID:" label-width="120" placeholder="璇疯緭鍏ヨ澶嘔D"
+                name="璁惧ID" />
+            <van-field v-model="otherParams.GroupIndexInFBSDevice" label="鐢垫睜缁勭紪鍙�:" label-width="120"
+                placeholder="璇疯緭鍏ョ數姹犵粍缂栧彿" name="鐢垫睜缁勭紪鍙�" />
+            <van-field v-model="otherParams.groupInfo" label="鐢垫睜缁勪俊鎭�:" label-width="120" placeholder="璇疯緭鍏ョ數姹犵粍淇℃伅"
+                name="鐢垫睜缁勪俊鎭�" />
+            <van-field v-model="params.CharHighTmp" label="娓╁害鍛婅(鈩�):" label-width="120" placeholder="璇疯緭鍏ユ俯搴﹀憡璀�(鈩�)"
+                name="娓╁害鍛婅(鈩�)" />
         </van-form>
         <van-tabs v-model="active">
             <!-- 鏀剧數鍙傛暟 -->
-            <van-tab title="鍏呯數鍙傛暟" :disabled="!(0 == opt.num)">
-                <van-field
-                    v-model="OnLineVol_Low"
-                    label="鍏呯數鐢靛帇(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖鐢电數鍘�(V)"
-                    name="鍏呯數鐢靛帇(V)"
-                />
-                <van-field
-                    v-model="ChargeCurrSet"
-                    label="鍏呯數鐢垫祦(A):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖鐢电數娴�(A)"
-                    name="鍏呯數鐢垫祦(A)"
-                />
-                <van-field
-                    v-model="AutoTestStartVol"
-                    label="娴厖鐢靛帇(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ诞鍏呯數鍘�(V)"
-                    name="娴厖鐢靛帇(V)"
-                />
-                <van-field
-                    v-model="CharHighTmp"
-                    label="鍏呯數杩囨俯(鈩�):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖鐢佃繃娓�(鈩�)"
-                    name="鍏呯數杩囨俯(鈩�)"
-                />
-                <van-field
-                    v-model="CharSotpCurr"
-                    label="鎴鐢垫祦(A):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ埅姝㈢數娴�(A)"
-                    name="鎴鐢垫祦(A)"
-                />
-                <van-field
-                    v-model="CharCap"
-                    label="鍏呯數瀹归噺(AH):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖鐢靛閲�(AH)"
-                    name="鍏呯數瀹归噺(AH)"
-                />
-                <van-field
-                    v-model="MonVolHightLimit"
-                    label="鍗曚綋涓婇檺(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ崟浣撲笂闄�(V)"
-                    name="鍗曚綋涓婇檺(V)"
-                />
-                <van-field
-                    v-model="DCVolHighLimit"
-                    label="缁勭涓婇檺(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ョ粍绔笂闄�(V)"
-                    name="缁勭涓婇檺(V)"
-                />
-                <van-field
-                    v-model="MonVolHightLimitCount"
-                    label="鍗曚綋涓婇檺鏁伴噺(涓�):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ崟浣撲笂闄愭暟閲�(涓�)"
-                    name="鍗曚綋涓婇檺鏁伴噺(涓�)"
-                />
-                <van-field
-                    v-model="CharTimeLong"
-                    label="鍏呯數鏃堕暱(鍒嗛挓):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖鐢垫椂闀�(鍒嗛挓)"
-                    name="鍏呯數鏃堕暱(鍒嗛挓)"
-                />
-                <van-field
-                    v-model="FloatCharTimeLong"
-                    label="娴厖鏃堕暱(鍒嗛挓):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ诞鍏呮椂闀�(鍒嗛挓)"
-                    name="娴厖鏃堕暱(鍒嗛挓)"
-                />
+            <van-tab title="鍏呯數鍙傛暟" :disabled="!(0 == batt.num)">
+                <van-field v-model="params.OnLineVol_Low" label="鎭掑帇鐢靛帇(V):" label-width="120" placeholder="璇疯緭鍏ユ亽鍘嬬數鍘�(V)"
+                    name="鎭掑帇鐢靛帇(V)" />
+                <van-field v-model="params.ChargeCurrSet" label="鎭掑帇鐢垫祦(A):" label-width="120" placeholder="璇疯緭鍏ユ亽鍘嬬數娴�(A)"
+                    name="鎭掑帇鐢垫祦(A)" />
+                <van-field v-model="params.CharTimeLong" label="鎭掑帇鏃堕暱(鍒嗛挓):" label-width="120" placeholder="璇疯緭鍏ユ亽鍘嬫椂闀�(鍒嗛挓)"
+                    name="鎭掑帇鏃堕暱(鍒嗛挓)" />
+                <van-field v-model="params.AutoTestStartVol" label="娴厖鐢靛帇(V):" label-width="120" placeholder="璇疯緭鍏ユ诞鍏呯數鍘�(V)"
+                    name="娴厖鐢靛帇(V)" />
+                <van-field v-model="params.CharSotpCurr" label="娴厖鐢垫祦(A):" label-width="120" placeholder="璇疯緭鍏ユ诞鍏呯數娴�(A)"
+                    name="娴厖鐢垫祦(A)" />
+                <van-field v-model="params.FloatCharTimeLong" label="娴厖鏃堕暱(鍒嗛挓):" label-width="120"
+                    placeholder="璇疯緭鍏ユ诞鍏呮椂闀�(鍒嗛挓)" name="娴厖鏃堕暱(鍒嗛挓)" />
+                <van-field v-model="params.MonVolHightLimit" label="鍗曚綋涓婇檺(V):" label-width="120" placeholder="璇疯緭鍏ュ崟浣撲笂闄�(V)"
+                    name="鍗曚綋涓婇檺(V)" />
+                <van-field v-model="params.MonVolHightLimitCount" label="鍗曚綋涓婇檺鏁伴噺(涓�):" label-width="120"
+                    placeholder="璇疯緭鍏ュ崟浣撲笂闄愭暟閲�(涓�)" name="鍗曚綋涓婇檺鏁伴噺(涓�)" />
+                <van-field v-model="params.DCVolHighLimit" label="淇濇姢鐢靛帇(V):" label-width="120" placeholder="璇疯緭鍏ヤ繚鎶ょ數鍘�(V)"
+                    name="淇濇姢鐢靛帇(V)" />
+                <van-field readonly clickable name="picker" :value="params.FlowOver_Count" label="鎭掓祦闃舵鎬绘暟:"
+                    placeholder="鐐瑰嚮鎭掓祦闃舵鎬绘暟" @click="showPicker = true" />
+                <van-popup v-model="showPicker" position="bottom">
+                    <van-picker show-toolbar :columns="flowOverCount" @confirm="onConfirm1"
+                        @cancel="showPicker = false" />
+                </van-popup>
+                <van-field v-model="params.FlowOver_CharCurr_1" label="鎭掓祦1闃舵鍏呯數鐢垫祦:" label-width="120"
+                    placeholder="璇疯緭鍏ユ亽娴�1闃舵鍏呯數鐢垫祦" name="鎭掓祦1闃舵鍏呯數鐢垫祦" />
+                <van-field v-model="params.FlowOver_CharCurr_2" :disabled="params.FlowOver_Count < 2" label="鎭掓祦2闃舵鍏呯數鐢垫祦:"
+                    label-width="120" placeholder="璇疯緭鍏ユ亽娴�2闃舵鍏呯數鐢垫祦" name="鎭掓祦2闃舵鍏呯數鐢垫祦" />
+                <van-field v-model="params.FlowOver_CharCurr_3" :disabled="params.FlowOver_Count < 3" label="鎭掓祦3闃舵鍏呯數鐢垫祦:"
+                    label-width="120" placeholder="璇疯緭鍏ユ亽娴�3闃舵鍏呯數鐢垫祦" name="鎭掓祦3闃舵鍏呯數鐢垫祦" />
+                <van-field v-model="params.FlowOver_CharTime_1" label="鎭掓祦1闃舵鍏呯數鏃堕暱:" label-width="120"
+                    placeholder="璇疯緭鍏ユ亽娴�1闃舵鍏呯數鏃堕暱" name="鎭掓祦1闃舵鍏呯數鏃堕暱" />
+                <van-field v-model="params.FlowOver_CharTime_2" :disabled="params.FlowOver_Count < 2" label="鎭掓祦2闃舵鍏呯數鏃堕暱:"
+                    label-width="120" placeholder="璇疯緭鍏ユ亽娴�2闃舵鍏呯數鏃堕暱" name="鎭掓祦2闃舵鍏呯數鏃堕暱" />
+                <van-field v-model="params.FlowOver_CharTime_3" :disabled="params.FlowOver_Count < 3" label="鎭掓祦3闃舵鍏呯數鏃堕暱:"
+                    label-width="120" placeholder="璇疯緭鍏ユ亽娴�3闃舵鍏呯數鏃堕暱" name="鎭掓祦3闃舵鍏呯數鏃堕暱" />
+
             </van-tab>
             <!-- 鏀剧數鍙傛暟 -->
-            <van-tab title="鏀剧數鍙傛暟" :disabled="!(1 == opt.num)">
-                <van-field
-                    readonly
-                    clickable
-                    name="picker"
-                    :value="OnlineLowAction"
-                    label="鏀剧數妯″紡:"
-                    placeholder="鐐瑰嚮閫夋嫨鏀剧數妯″紡"
-                    @click="showPicker = true"
-                />
+            <van-tab title="鏀剧數鍙傛暟" :disabled="!(1 == batt.num)">
+                <van-field readonly clickable name="picker" :value="params.OnlineLowAction" label="鏀剧數妯″紡:"
+                    placeholder="鐐瑰嚮閫夋嫨鏀剧數妯″紡" @click="showPicker = true" />
                 <van-popup v-model="showPicker" position="bottom">
-                    <van-picker
-                        show-toolbar
-                        :columns="columns"
-                        @confirm="onConfirm"
-                        @cancel="showPicker = false"
-                    />
+                    <van-picker show-toolbar :columns="testType" @confirm="onConfirm2" @cancel="showPicker = false" />
                 </van-popup>
 
-                <van-field
-                    v-model="DisCurr"
-                    label="鏀剧數鐢垫祦(A):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁鐢电數娴�(A)"
-                    name="鏀剧數鐢垫祦(A)"
-                />
-                <van-field
-                    v-model="DisCap"
-                    label="鏀剧數瀹归噺(AH):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁鐢靛閲�(AH)"
-                    name="鏀剧數瀹归噺(AH)"
-                />
-                <van-field
-                    readonly
-                    clickable
-                    name="picker"
-                    :value="HourRate"
-                    label="鏀剧數灏忔椂鐜�:"
-                    placeholder="鐐瑰嚮閫夋嫨鏀剧數灏忔椂鐜�"
-                    @click="showPicker2 = true"
-                />
+                <van-field v-model="params.DisCurr" label="棰勬斁鐢垫祦(A):" label-width="120" placeholder="璇疯緭鍏ラ鏀剧數娴�(A)"
+                    name="棰勬斁鐢垫祦(A)" />
+                <van-field v-model="params.DisCap" label="棰勬斁瀹归噺(AH):" label-width="120" placeholder="璇疯緭鍏ラ鏀惧閲�(AH)"
+                    name="棰勬斁瀹归噺(AH)" />
+                <van-field readonly clickable name="picker" :value="params.HourRate" label="鏀剧數灏忔椂鐜�:"
+                    placeholder="鐐瑰嚮閫夋嫨鏀剧數灏忔椂鐜�" @click="showPicker2 = true" />
                 <van-popup v-model="showPicker2" position="bottom">
-                    <van-picker
-                        show-toolbar
-                        :columns="columns2"
-                        @confirm="onConfirm2"
-                        @cancel="showPicker2 = false"
-                    />
+                    <van-picker show-toolbar :columns="HourRate" @confirm="onConfirm3" @cancel="showPicker2 = false" />
                 </van-popup>
-                <van-field
-                    v-model="DisPreRes"
-                    label="鏀剧數闃诲��(m惟):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁鐢甸樆鍊�(m惟)"
-                    name="鏀剧數闃诲��(m惟)"
-                />
-                <van-field
-                    v-model="DisPower"
-                    label="棰勬斁鍔熺巼(KW):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ラ鏀惧姛鐜�(KW)"
-                    name="棰勬斁鍔熺巼(KW)"
-                />
-                <van-field
-                    v-model="DisTime"
-                    label="鏀剧數鏃堕暱(鍒嗛挓):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁鐢垫椂闀�(鍒嗛挓)"
-                    name="鏀剧數鏃堕暱(鍒嗛挓)"
-                />
-                <van-field
-                    v-model="MonomerTmp_High"
-                    label="鏀剧數杩囨俯:"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁鐢佃繃娓�"
-                    name="鏀剧數杩囨俯"
-                />
-                <van-field
-                    v-model="GroupVol_Low"
-                    label="缁勭涓嬮檺(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ョ粍绔笅闄�(V)"
-                    name="缁勭涓嬮檺(V)"
-                />
-                <van-field
-                    v-model="MonomerVol_Low"
-                    label="鍗曚綋涓嬮檺(V):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ崟浣撲笅闄�(V)"
-                    name="鍗曚綋涓嬮檺(V)"
-                />
-                <van-field
-                    v-model="MonomerLowCount"
-                    label="鍗曚綋涓嬮檺鏁伴噺(涓�):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ崟浣撲笅闄愭暟閲�(涓�)"
-                    name="鍗曚綋涓嬮檺鏁伴噺(涓�)"
-                />
+                <van-field v-model="params.DisPreRes" label="棰勬斁闃诲��(m惟):" label-width="120" placeholder="璇疯緭鍏ラ鏀鹃樆鍊�(m惟)"
+                    name="棰勬斁闃诲��(m惟)" />
+                <van-field v-model="params.DisPower" label="棰勬斁鍔熺巼(KW):" label-width="120" placeholder="璇疯緭鍏ラ鏀惧姛鐜�(KW)"
+                    name="棰勬斁鍔熺巼(KW)" />
+                <van-field v-model="params.DisTime" label="棰勬斁鏃堕棿(鍒嗛挓):" label-width="120" placeholder="璇疯緭鍏ラ鏀炬椂闂�(鍒嗛挓)"
+                    name="棰勬斁鏃堕棿(鍒嗛挓)" />
+                <!-- <van-field v-model="MonomerTmp_High" label="鏀剧數杩囨俯:" label-width="120" placeholder="璇疯緭鍏ユ斁鐢佃繃娓�"
+                        name="鏀剧數杩囨俯" /> -->
+                <van-field v-model="params.GroupVol_Low" label="缁勭涓嬮檺(V):" label-width="120" placeholder="璇疯緭鍏ョ粍绔笅闄�(V)"
+                    name="缁勭涓嬮檺(V)" />
+                <van-field v-model="params.MonomerVol_Low" label="鍗曚綋涓嬮檺(V):" label-width="120" placeholder="璇疯緭鍏ュ崟浣撲笅闄�(V)"
+                    name="鍗曚綋涓嬮檺(V)" />
+                <van-field v-model="params.MonomerLowCount" label="涓嬮檺涓暟(涓�):" label-width="120" placeholder="璇疯緭鍏ヤ笅闄愪釜鏁�(涓�)"
+                    name="涓嬮檺涓暟(涓�)" />
             </van-tab>
             <!-- 娲诲寲鍙傛暟 -->
-            <van-tab title="娲诲寲鍙傛暟" :disabled="!(2 == opt.num)">
-                <van-field
-                    readonly
-                    clickable
-                    name="picker"
-                    :value="OffLineYHOnceCycle"
-                    label="娲诲寲璧风偣:"
-                    placeholder="鐐瑰嚮閫夋嫨娲诲寲璧风偣"
-                    @click="showPicker3 = true"
-                />
+            <van-tab title="娲诲寲鍙傛暟" :disabled="!(2 == batt.num)">
+                <van-field readonly clickable name="picker" :value="params.OffLineYHOnceCycle" label="娲诲寲璧风偣:"
+                    placeholder="鐐瑰嚮閫夋嫨娲诲寲璧风偣" @click="showPicker3 = true" />
                 <van-popup v-model="showPicker3" position="bottom">
-                    <van-picker
-                        show-toolbar
-                        :columns="columns3"
-                        @confirm="onConfirm3"
-                        @cancel="showPicker3 = false"
-                    />
+                    <van-picker show-toolbar :columns="cycleStart" @confirm="onConfirm4"
+                        @cancel="showPicker3 = false" />
                 </van-popup>
-                <van-field
-                    v-model="OffLineYHTimes"
-                    label="娲诲寲娆℃暟(娆�):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ椿鍖栨鏁�(娆�)"
-                    name="娲诲寲娆℃暟(娆�)"
-                />
-                <van-field
-                    v-model="DisWaitTime"
-                    label="鍏呭畬闈欑疆(鍒嗛挓):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ュ厖瀹岄潤缃�(鍒嗛挓)"
-                    name="鍏呭畬闈欑疆(鍒嗛挓)"
-                />
-                <van-field
-                    v-model="CharWaitTime"
-                    label="鏀惧畬闈欑疆(鍒嗛挓):"
-                    label-width="120"
-                    placeholder="璇疯緭鍏ユ斁瀹岄潤缃�(鍒嗛挓)"
-                    name="鏀惧畬闈欑疆(鍒嗛挓)"
-                />
+                <van-field v-model="params.OffLineYHTimes" label="寰幆娆℃暟(娆�):" label-width="120" placeholder="璇疯緭鍏ュ惊鐜鏁�(娆�)"
+                    name="寰幆娆℃暟(娆�)" />
+                <van-field v-model="params.DisWaitTime" label="鍏呭畬闈欑疆(鍒嗛挓):" label-width="120" placeholder="璇疯緭鍏ュ厖瀹岄潤缃�(鍒嗛挓)"
+                    name="鍏呭畬闈欑疆(鍒嗛挓)" />
+                <van-field v-model="params.CharWaitTime" label="鏀惧畬闈欑疆(鍒嗛挓):" label-width="120" placeholder="璇疯緭鍏ユ斁瀹岄潤缃�(鍒嗛挓)"
+                    name="鏀惧畬闈欑疆(鍒嗛挓)" />
             </van-tab>
         </van-tabs>
         <!-- 涓ょ瀵归綈 -->
-        <van-row type="flex" justify="end">
-            <van-col span="6"><van-button type="primary" size="mini" style="width:95%" @click="startTest">鍚姩</van-button></van-col>
-            <van-col span="6"><van-button type="info" size="mini" style="width:95%" @click="getData()">璇诲彇</van-button></van-col>
-            <van-col span="6"><van-button type="warning" size="mini" style="width:95%">璁惧畾</van-button></van-col>
+        <van-row type="flex" justify="center" class="bottom">
+            <van-col span="6">
+                <van-button type="primary" :disabled="!startTestFlag" size="mini" style="width:95%" @click="show=true">
+                    鍚姩{{typeStr}}</van-button>
+            </van-col>
+            <van-col span="6">
+                <van-button type="info" size="mini" style="width:95%" @click="getParams">璇诲彇</van-button>
+            </van-col>
+            <van-col span="6">
+                <van-button type="warning" size="mini" style="width:95%" :disabled="!setTestFlag" @click="submitFrom">璁惧畾
+                </van-button>
+            </van-col>
         </van-row>
-        
-        
+
+
         <van-dialog v-model="show" title="杈撳叆鍚姩鍙d护锛屽苟纭" show-cancel-button @confirm="confirm()">
-            <van-field
-                class="passty"
-                v-model="pass"
-                label-width="120"
-                placeholder="璇疯緭鍏ュ惎鍔ㄥ彛浠�"
-            />
+            <van-field class="passty" v-model="pass" label-width="120" placeholder="璇疯緭鍏ュ惎鍔ㄥ彛浠�" />
         </van-dialog>
     </div>
 </template>
 <script>
- import { checkUserPwd,start,getParams } from "@/assets/js/api";
-import  const_aio from "@/assets/js/const_aio"
-export default {
-    data(){
-        let cmd = const_aio.cmd;
-        // let testType = const_aio.testType;
-        // let rules = const_aio.dischargeRules;
-        // let cycleStart = const_aio.cycleStart;
-        // let HourRate = const_aio.HourRate;
-        return {
-            cmd:cmd,
-            show:false,
-            pass:"",//鍚姩鍙d护
-            opt:{//璺敱鍙傛暟
-                
-            },
-            groupName:"",//鐢垫睜缁勫悕绉�
-            FBSDeviceId:"",//璁惧ID
-            GroupIndexInFBSDevice:"",//鐢垫睜缁勭紪鍙�
-            groupInfo:"",//鐢垫睜缁勪俊鎭�
-            active:0,//閫夐」鍗′笅鏍�
-            // 鍏呯數鍙傛暟
-            OnLineVol_Low:"",//鍏呯數鐢靛帇(V)
-            ChargeCurrSet:"",//鍏呯數鐢垫祦(A)
-            AutoTestStartVol:"",//娴厖鐢靛帇(V)
-            CharHighTmp:"",//鍏呯數杩囨俯(鈩�)
-            CharSotpCurr:"",//鎴鐢垫祦(A)
-            CharCap:"",//鍏呯數瀹归噺(AH)
-            MonVolHightLimit:"",//鍗曚綋涓婇檺(V)
-            DCVolHighLimit:"",//缁勭涓婇檺(V)
-            MonVolHightLimitCount:"",//鍗曚綋涓婇檺鏁伴噺(涓�)
-            CharTimeLong:"",//鍏呯數鏃堕暱(鍒嗛挓)
-            FloatCharTimeLong:"",//娴厖鏃堕暱(鍒嗛挓)
-            // 鏀剧數鍙傛暟
-            columns: ['鏉窞', '瀹佹尝', '娓╁窞', '鍢夊叴', '婀栧窞'],
-            showPicker: false,
-            columns2: ['鏉窞', '瀹佹尝', '娓╁窞', '鍢夊叴', '婀栧窞'],
-            showPicker2: false,
-
-            OnlineLowAction:"",
-            DisCurr:"",
-            DisCap:"",
-            HourRate:"",
-            DisPreRes:"",
-            DisPower:"",
-            DisTime:"",
-            MonomerTmp_High:"",
-            GroupVol_Low:"",
-            MonomerVol_Low:"",
-            MonomerLowCount:"",
-            // 娲诲寲鍙傛暟
-            columns3: ['鏉窞', '瀹佹尝', '娓╁窞', '鍢夊叴', '婀栧窞'],
-            showPicker3: false,
-            OffLineYHOnceCycle:"",//娲诲寲璧风偣
-            OffLineYHTimes:"",//娲诲寲娆℃暟
-            DisWaitTime:"",//鍏呭畬闈欑疆
-            CharWaitTime:"",//鏀惧畬闈欑疆
-
-
-        }
-    },
-    mounted() {
-        let self = this ;
-            self.opt = this.$route.query;
-            self.$nextTick(()=>{
-                self.active = self.opt.num;
-                self.getData();//鑾峰彇鍙傛暟
-            })
-            
-        console.log(this.$route.query)  
-    },
-    methods: {
-        // 涓嬫媺 鏀剧數妯″紡
-        onConfirm(value) {
-            this.OnlineLowAction = value;
-            this.showPicker = false;
-        },
-        // 涓嬫媺2 鏀剧數灏忔椂鐜�
-        onConfirm2(value) {
-            this.HourRate = value;
-            this.showPicker2 = false;
-        },
-        // 涓嬫媺3 鏀剧數灏忔椂鐜�
-        onConfirm3(value) {
-            this.OffLineYHOnceCycle = value;
-            this.showPicker3 = false;
-        },
-        // 鑾峰彇鍙傛暟
-        getData(){
-            let self = this;
-                getParams({
-                    dev_id:"618500001",//self.opt.id,
-                    op_cmd:self.cmd.getParams
-                }).then(res=>{
-                    let rs = JSON.parse(res.data.result);
-                    if(rs.code == 1) {
-                        let fsparam = rs.data[0];
-                            console.log(fsparam)
-                        // // 閬嶅巻鍙傛暟灞炴�у苟璧嬪��
-                        // for (let key in this.params) {
-                        //     this.params[key] = fsparam[key];
-                        // }
-                        // // 璁剧疆鐨勫懡浠ゅ拰dev_id
-                        // this.params.op_cmd = this.cmd.setParams;
-                        // this.$layer.msg('璇诲彇鎴愬姛锛�');
-                    }else {
-                        console.log(rs)
-                        // this.$layer.msg('璇诲彇澶辫触锛�');
+    import {
+        checkUserPwd,
+        start,
+        getParams,
+        setParams
+    } from "@/assets/js/api";
+    import const_aio from "@/assets/js/const_aio"
+    let rules = const_aio.dischargeRules;
+    export default {
+        data() {
+            let cmd = const_aio.cmd;
+            let testType = const_aio.testType;
+            let cycleStart = const_aio.cycleStart;
+            let HourRate = const_aio.HourRate;
+            return {
+                active: 0, //閫夐」鍗′笅鏍�
+                show: false,
+                pass: "", //鍚姩鍙d护
+                showPicker: false,
+                showPicker2: false,
+                showPicker3: false,
+                batt: {
+                    num: 0
+                },
+                flowOverCount: const_aio.flowOverCount,
+                cmd: cmd, // 鎿嶄綔鍛戒护
+                startTestFlag: false, // 鍚姩娴嬭瘯鐨勭姸鎬�
+                setTestFlag: false, // 璁剧疆鍙傛暟鐨勭姸鎬�
+                testType: testType, // 娴嬭瘯绫诲瀷
+                cycleStart: cycleStart, // 娲诲寲璧风偣
+                HourRate: HourRate, // 鏀剧數灏忔椂鐜�
+                acTabs: 'activate',
+                params: {
+                    AutoTestStartVol: 0, //娴厖鐢靛帇(V)
+                    BattGroupNum: 0, //鐢垫睜缁勭紪鍙�
+                    CharCap: 0, //鍏呯數瀹归噺(AH)(涓嶆樉绀�)
+                    CharHighTmp: 0, //鍏呯數杩囨俯
+                    CharSotpCurr: 0, //鎴鐢垫祦
+                    CharTimeLong: 0, //鍏呯數鏃堕暱
+                    CharWaitTime: 0, //鏀惧畬闈欑疆
+                    ChargeCurrSet: 0, //鍏呯數鐢垫祦
+                    DCVolHighLimit: 5, //缁勭涓婇檺
+                    DisCap: 0, //鏀剧數瀹归噺
+                    DisCurr: 0, //鏀剧數鐢垫祦
+                    DisPower: 0, //棰勬斁鍔熺巼
+                    DisPreRes: 0, //鏀剧數闃诲��
+                    DisTime: 0, //鏀剧數鏃堕暱
+                    DisWaitTime: 0, //鍏呭畬闈欑疆
+                    FloatCharTimeLong: 0, //娴厖鏃堕暱
+                    GroupVol_Low: 0, //缁勭涓嬮檺
+                    HourRate: 0, //鏀剧數灏忔椂鐜�
+                    MonCount: 0, //鍗曚綋鏁伴噺
+                    MonVol: 0, //鍗曚綋鐢靛帇
+                    MonVolHightLimit: 0, //鍗曚綋涓婇檺
+                    MonVolHightLimitCount: 0, //鍗曚綋涓婇檺鏁伴噺
+                    MonomerLowCount: 0, //鍗曚綋涓嬮檺鏁伴噺
+                    MonomerTmp_High: 0, //鏀剧數杩囨俯
+                    MonomerVol_Low: 0, //鍗曚綋涓嬮檺
+                    OffLineYHOnceCycle: 1, //娲诲寲璧风偣
+                    OffLineYHTimes: 1, //娲诲寲娆℃暟
+                    OffLineYH_Cycle: 0, //鐢垫睜缁勬爣绉板閲�
+                    FlowOver_Count: 1, //鎭掓祦鎬婚樁娈垫暟
+                    FlowOver_CharCurr_1: 0, //鎭掓祦1闃舵鍏呯數鐢垫祦
+                    FlowOver_CharCurr_2: 0, //鎭掓祦2闃舵鍏呯數鐢垫祦
+                    FlowOver_CharCurr_3: 0, //鎭掓祦3闃舵鍏呯數鐢垫祦
+                    FlowOver_CharTime_1: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    FlowOver_CharTime_2: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    FlowOver_CharTime_3: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    OffLineYHstarttime: "2000-01-01 00:00:00", //鍏绘姢寮�濮嬫椂闂�
+                    OnLineVol_Low: 0, //鍏呯數鐢靛帇
+                    OnlineLowAction: 0, //娴嬭瘯绫诲瀷 0:鎭掔數娴侊紝1锛氭亽鍔熺巼锛�2锛氭亽鐢甸樆
+                    TestCmd: 0, //澶囩敤
+                    dev_id: 0, //璁惧id
+                    dev_ip: "127.0.0.0", //璁惧ip
+                    op_cmd: cmd.setParams, //鎸囦护
+                },
+                ranges: {
+                    GroupVol_Low: {
+                        name: '缁勭鐢靛帇涓嬮檺',
+                        unit: 'V',
+                        min: rules.GroupVol_Low.min,
+                        max: rules.GroupVol_Low.max
+                    },
+                    MonomerVol_Low: {
+                        name: '鍗曚綋鐢靛帇涓嬮檺',
+                        unit: 'V',
+                        min: rules.MonomerVol_Low.min,
+                        max: rules.MonomerVol_Low.max
                     }
-                }).catch(err=>{
-
-                })
-        },
-        typeStr(){
-            let self = this;
-            let res = '';
-            switch (self.opt.num) {
-                case '0':
-                    res = '鍏呯數';
-                    break;
-                case '1':
-                    res = '鏀剧數';
-                    break;
-                case '2':
-                    res = '娲诲寲';
-                    break;
+                },
+                rules: {
+                    AutoTestStartVol: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.AutoTestStartVol)
+                        },
+                        trigger: 'change'
+                    }],
+                    // CharCap: [{
+                    //     validator(rule, value, callback) {
+                    //         testVal(rule, value, callback, rules.CharCap)
+                    //     },
+                    //     trigger: 'change'
+                    // }],
+                    CharHighTmp: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.CharHighTmp)
+                        },
+                        trigger: 'change'
+                    }],
+                    CharSotpCurr: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.CharSotpCurr)
+                        },
+                        trigger: 'change'
+                    }],
+                    CharWaitTime: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.CharWaitTime)
+                        },
+                        trigger: 'change'
+                    }],
+                    ChargeCurrSet: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.ChargeCurrSet)
+                        },
+                        trigger: 'change'
+                    }],
+                    DCVolHighLimit: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DCVolHighLimit)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisCap: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisCap)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisCurr: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisCurr)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisPower: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisPower)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisPreRes: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisPreRes)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisTime: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisTime)
+                        },
+                        trigger: 'change'
+                    }],
+                    DisWaitTime: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.DisWaitTime)
+                        },
+                        trigger: 'change'
+                    }],
+                    // FloatCharTimeLong: [{
+                    //     validator(rule, value, callback) {
+                    //         testVal(rule, value, callback, rules.FloatCharTimeLong)
+                    //     },
+                    //     trigger: 'change'
+                    // }],
+                    GroupVol_Low: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.GroupVol_Low)
+                        },
+                        trigger: 'change'
+                    }],
+                    MonVolHightLimit: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.MonVolHightLimit)
+                        },
+                        trigger: 'change'
+                    }],
+                    MonVolHightLimitCount: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.MonVolHightLimitCount)
+                        },
+                        trigger: 'change'
+                    }],
+                    MonomerLowCount: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.MonomerLowCount)
+                        },
+                        trigger: 'change'
+                    }],
+                    // MonomerTmp_High: [{
+                    //     validator(rule, value, callback) {
+                    //         testVal(rule, value, callback, rules.MonomerTmp_High)
+                    //     },
+                    //     trigger: 'change'
+                    // }],
+                    MonomerVol_Low: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.MonomerVol_Low)
+                        },
+                        trigger: 'change'
+                    }],
+                    OffLineYHTimes: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.OffLineYHTimes)
+                        },
+                        trigger: 'change'
+                    }],
+                    OnLineVol_Low: [{
+                        validator(rule, value, callback) {
+                            testVal(rule, value, callback, rules.OnLineVol_Low)
+                        },
+                        trigger: 'change'
+                    }]
+                },
             }
-            return res;
         },
-
-        
-        // 纭鍙d护
-        confirm(){
+        mounted() {
             let self = this;
+            self.batt = this.$route.query;
+            self.$nextTick(() => {
+                self.active = self.batt.num;
+                self.getParams(); //鑾峰彇鍙傛暟
+            })
+        },
+        computed: {
+            otherParams() {
+                let batt = this.batt;
+                let groupInfo = '鍗曚綋鏁伴噺:' + this.batt.MonCount + ";鐢靛帇(V):" +
+                    this.batt.MonVolStd + ";瀹归噺(AH):" + this.batt.MonCapStd;
+                return {
+                    groupName: batt.StationName + "-" + batt.BattGroupName,
+                    FBSDeviceId: batt.FBSDeviceId,
+                    groupInfo: groupInfo,
+                    GroupIndexInFBSDevice: this.batt.GroupIndexInFBSDevice + 1,
+                }
+            },
+            rangeLabel() {
+                let ranges = this.ranges;
+                let result = {};
+                for (let key in ranges) {
+                    let item = ranges[key];
+                    result[key] = item.name + "(" + item.min + "~" + item.max + item.unit + ")";
+                }
+                return result;
+            },
+            typeStr() {
+                let res = '';
+                switch (Number(this.batt.num)) {
+                    case 0:
+                        res = '鍏呯數';
+                        break;
+                    case 1:
+                        res = '鏀剧數';
+                        break;
+                    case 2:
+                        res = '娲诲寲';
+                        break;
+                }
+                return res;
+            }
+        },
+        methods: {
+            initParams() {
+                // 鍒濆鍖栧弬鏁�
+                this.params = {
+                    AutoTestStartVol: 0, //娴厖鐢靛帇(V)
+                    BattGroupNum: 0, //鐢垫睜缁勭紪鍙�
+                    CharCap: 0, //鍏呯數瀹归噺(AH)
+                    CharHighTmp: 0, //鍏呯數杩囨俯
+                    CharSotpCurr: 0, //鎴鐢垫祦
+                    CharTimeLong: 0, //鍏呯數鏃堕暱
+                    CharWaitTime: 0, //鏀惧畬闈欑疆
+                    ChargeCurrSet: 0, //鍏呯數鐢垫祦
+                    DCVolHighLimit: 5, //缁勭涓婇檺
+                    DisCap: 0, //鏀剧數瀹归噺
+                    DisCurr: 0, //鏀剧數鐢垫祦
+                    DisPower: 0, //棰勬斁鍔熺巼
+                    DisPreRes: 0, //鏀剧數闃诲��
+                    DisTime: 0, //鏀剧數鏃堕暱
+                    DisWaitTime: 0, //鍏呭畬闈欑疆
+                    FloatCharTimeLong: 0, //娴厖鏃堕暱
+                    GroupVol_Low: 0, //缁勭涓嬮檺
+                    HourRate: 0, //鏀剧數灏忔椂鐜�
+                    MonCount: 0, //鍗曚綋鏁伴噺
+                    MonVol: 0, //鍗曚綋鐢靛帇
+                    MonVolHightLimit: 0, //鍗曚綋涓婇檺
+                    MonVolHightLimitCount: 0, //鍗曚綋涓婇檺鏁伴噺
+                    MonomerLowCount: 0, //鍗曚綋涓嬮檺鏁伴噺
+                    MonomerTmp_High: 0, //鏀剧數杩囨俯
+                    MonomerVol_Low: 0, //鍗曚綋涓嬮檺
+                    OffLineYHOnceCycle: 1, //娲诲寲璧风偣
+                    OffLineYHTimes: 1, //娲诲寲娆℃暟
+                    OffLineYH_Cycle: 0, //鐢垫睜缁勬爣绉板閲�
+                    FlowOver_Count: 1, //鎭掓祦鎬婚樁娈垫暟
+                    FlowOver_CharCurr_1: 0, //鎭掓祦1闃舵鍏呯數鐢垫祦
+                    FlowOver_CharCurr_2: 0, //鎭掓祦2闃舵鍏呯數鐢垫祦
+                    FlowOver_CharCurr_3: 0, //鎭掓祦3闃舵鍏呯數鐢垫祦
+                    FlowOver_CharTime_1: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    FlowOver_CharTime_2: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    FlowOver_CharTime_3: 0, //鎭掓祦3闃舵鍏呯數鏃堕暱
+                    OffLineYHstarttime: "2000-01-01 00:00:00", //鍏绘姢寮�濮嬫椂闂�
+                    OnLineVol_Low: 0, //鍏呯數鐢靛帇
+                    OnlineLowAction: 0, //娴嬭瘯绫诲瀷 0:鎭掔數娴侊紝1锛氭亽鍔熺巼锛�2锛氭亽鐢甸樆
+                    TestCmd: 0, //澶囩敤
+                    dev_id: 0, //璁惧id
+                    dev_ip: "127.0.0.0", //璁惧ip
+                    op_cmd: const_aio.cmd.setParams, //鎸囦护
+                };
+            },
+            // 涓嬫媺 鏀剧數妯″紡
+            onConfirm1(value) {
+                this.OnlineLowAction = value;
+                this.showPicker = false;
+            },
+            // 涓嬫媺 鏀剧數妯″紡
+            onConfirm2(value) {
+                this.OnlineLowAction = value;
+                this.showPicker = false;
+            },
+            // 涓嬫媺2 鏀剧數灏忔椂鐜�
+            onConfirm3(value) {
+                this.HourRate = value;
+                this.showPicker2 = false;
+            },
+            // 涓嬫媺3 鏀剧數灏忔椂鐜�
+            onConfirm4(value) {
+                this.OffLineYHOnceCycle = value;
+                this.showPicker3 = false;
+            },
+            // 鑾峰彇鍙傛暟
+            getParams() {
+                let self = this;
+                // 鍚姩鎸夐挳涓嶅彲鐐瑰嚮
+                this.startTestFlag = false;
+                getParams({
+                    dev_id: self.batt.FBSDeviceId,
+                    op_cmd: self.cmd.getParams
+                }).then(res => {
+                    let rs = JSON.parse(res.data.result);
+                    console.log(rs)
+                    if (rs.code == 1) {
+                        let fsparam = rs.data[0];
+                        // 閬嶅巻鍙傛暟灞炴�у苟璧嬪��
+                        for (let key in this.params) {
+                            this.params[key] = fsparam[key];
+                        }
+                        // 璁剧疆鐨勫懡浠ゅ拰dev_id
+                        this.params.op_cmd = this.cmd.setParams;
+                        this.$toast("璇诲彇鎴愬姛锛�");
+                        // 璁剧疆鎸夐挳鍙偣鍑�
+                        this.setTestFlag = true;
+                    } else {
+                        this.setTestFlag = !0 || false;
+                        this.$toast("璇诲彇澶辫触锛�");
+                    }
+                }).catch(err => {
+                    console.log(error);
+                    // 鍒濆鍖栧弬鏁�
+                    this.initParams();
+                    // 璁剧疆鎸夐挳涓嶅彲鐐瑰嚮
+                    this.setTestFlag = false;
+                    this.$toast("璇诲彇澶辫触锛岃鍙栬姹傚紓甯革紒");
+                })
+            },
+            // 纭鍙d护
+            confirm() {
+                let self = this;
                 self.show = true;
                 // 鏍稿鍙d护
-                checkUserPwd(self.pass).then(res=>{
+                checkUserPwd(self.pass).then(res => {
                     let rs = JSON.parse(res.data.result);
-                        if(rs.code == 1) {
-                            self.$toast("瀵嗙爜妫�娴嬮�氳繃锛屽惎鍔ㄦ祴璇�");
-                            // 鍚姩娴嬭瘯
-                            // this.startTest();
-                        }else {
-                            self.$toast("鍚姩鍙d护閿欒锛�");
-                        }
-                }).catch(err=>{
+                    if (rs.code == 1) {
+                        self.$toast("瀵嗙爜妫�娴嬮�氳繃锛屽惎鍔ㄦ祴璇�");
+                        // 鍚姩娴嬭瘯
+                        this.startTestCheck();
+                    } else {
+                        self.$toast("鍚姩鍙d护閿欒锛�");
+                    }
+                }).catch(err => {
                     self.$toast("缃戠粶璇锋眰寮傚父");
                 })
-        },
-        // 鍚姩绋嬪簭杩愯
-        startTest(){
-            let self = this;
+            },
+            // 鍚姩绋嬪簭杩愯
+            startTestCheck() {
+                let self = this;
+                let num = 0;
+                switch (this.batt.num) {
+                    case 0:
+                        num = this.cmd.startCharge;
+                        break;
+                    case 1:
+                        num = this.cmd.startDisCharge;
+                        break;
+                    case 2:
+                        num = this.cmd.startActivate;
+                        break;
+                }
                 start({
-                    num:self.cmd,
-                    dev_id:self.opt.id,
-                    BattGroupNum:self.opt
-                }).then(res=>{
+                    num: num,
+                    dev_id: this.batt.FBSDeviceId,
+                    BattGroupNum: this.batt.GroupIndexInFBSDevice + 1
+                }).then(res => {
                     let rs = JSON.parse(res.data.result);
-                }).catch(err=>{
-
+                    if (rs.code == 1) {
+                        // 鎻愮ず淇℃伅
+                        this.$toast('鍚姩娴嬭瘯鎴愬姛');
+                    } else {
+                        // 鎻愮ず淇℃伅
+                        this.$toast('鍚姩娴嬭瘯澶辫触锛�');
+                    }
+                }).catch(err => {
+                    this.$toast('鍚姩娴嬭瘯澶辫触锛屽惎鍔ㄦ祴璇曡姹傚紓甯革紒');
                 })
+            },
+            submitFrom() {
+                setParams(this.params).then(res => {
+                    let rs = JSON.parse(res.data.result);
+                    if (rs.code == 1) {
+                        // 鍚姩鎸夐挳鍙偣鍑�
+                        this.startTestFlag = true;
+                        // 鎻愮ず淇℃伅
+                        this.$toast('璁剧疆鎴愬姛');
+                    } else {
+                        // 鍚姩鎸夐挳涓嶅彲鐐瑰嚮
+                        this.startTestFlag = false;
+                        // 鎻愮ず淇℃伅
+                        this.$toast('璁剧疆澶辫触锛�');
+                    }
+                }).catch(error => {
+                    console.log(error);
+                    // 鍚姩鎸夐挳涓嶅彲鐐瑰嚮
+                    this.startTestFlag = false;
+                    // 鎻愮ず淇℃伅
+                    this.$toast('璁剧疆澶辫触锛岃缃姹傚紓甯革紒');
+                });
+            },
         },
-    },
-}
+    }
 </script>
 <style scoped>
-    .passty /deep/.van-field__control{
+    .passty /deep/.van-field__control {
         text-align: center;
     }
+
+    .bottom {
+        height: 48px;
+        border-top: 1px solid #dddddd;
+        align-content: center;
+    }
 </style>
\ No newline at end of file

--
Gitblit v1.9.1