| | |
| | | <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="请输入设备ID" |
| | | 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="请输入设备ID" |
| | | 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="输入启动口令,并确认" 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 { |
| | | 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 rules = const_aio.dischargeRules; |
| | | // let cycleStart = const_aio.cycleStart; |
| | | // let HourRate = const_aio.HourRate; |
| | | let testType = const_aio.testType; |
| | | let cycleStart = const_aio.cycleStart; |
| | | let HourRate = const_aio.HourRate; |
| | | return { |
| | | cmd:cmd, |
| | | active: 0, //选项卡下标 |
| | | show:false, |
| | | pass:"",//启动口令 |
| | | 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:"",//放完静置 |
| | | |
| | | |
| | | 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 |
| | | } |
| | | }, |
| | | 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' |
| | | }] |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | let self = this ; |
| | | self.opt = this.$route.query; |
| | | self.batt = this.$route.query; |
| | | self.$nextTick(()=>{ |
| | | self.active = self.opt.num; |
| | | self.getData();//获取参数 |
| | | self.active = self.batt.num; |
| | | self.getParams(); //获取参数 |
| | | }) |
| | | |
| | | 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('读取失败!'); |
| | | 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, |
| | | } |
| | | }).catch(err=>{ |
| | | |
| | | }) |
| | | }, |
| | | 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 self = this; |
| | | let res = ''; |
| | | switch (self.opt.num) { |
| | | case '0': |
| | | switch (Number(this.batt.num)) { |
| | | case 0: |
| | | res = '充电'; |
| | | break; |
| | | case '1': |
| | | case 1: |
| | | res = '放电'; |
| | | break; |
| | | case '2': |
| | | 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("读取失败,读取请求异常!"); |
| | | }) |
| | | }, |
| | | // 确认口令 |
| | | confirm(){ |
| | | let self = this; |
| | |
| | | if(rs.code == 1) { |
| | | self.$toast("密码检测通过,启动测试"); |
| | | // 启动测试 |
| | | // this.startTest(); |
| | | this.startTestCheck(); |
| | | }else { |
| | | self.$toast("启动口令错误!"); |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // 启动程序运行 |
| | | startTest(){ |
| | | 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 |
| | | num: num, |
| | | dev_id: this.batt.FBSDeviceId, |
| | | BattGroupNum: this.batt.GroupIndexInFBSDevice + 1 |
| | | }).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | 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('设置失败,设置请求异常!'); |
| | | }); |
| | | }, |
| | | }, |
| | | } |
| | |
| | | .passty /deep/.van-field__control{ |
| | | text-align: center; |
| | | } |
| | | |
| | | .bottom { |
| | | height: 48px; |
| | | border-top: 1px solid #dddddd; |
| | | align-content: center; |
| | | } |
| | | </style> |