| | |
| | | export default { |
| | | types: [ |
| | | { |
| | | label: '蓄电池', |
| | | label: 'Battery', |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: '胶体电池', |
| | | label: 'GelBattery', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '锂电池', |
| | | label: 'LithiumBattery', |
| | | value: 2 |
| | | } |
| | | ], |
| | | getLabel(value, list) { |
| | | let label = "未知"; |
| | | let label = "Unknown"; |
| | | for (let i = 0; i < list.length; i++) { |
| | | let item = list[i]; |
| | | if (item.value == value) { |
| | |
| | | ipReg: { |
| | | pattern: /^\d{1,3}(\.\d{1,3}){3}$/, |
| | | regVal: false, |
| | | msg: '格式不正确' |
| | | msg: 'Wrongformat' |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | WrongIPaddressformat: 'IP地址格式不正确', |
| | | Wrongsubnetmaskformat: '子网掩码格式不正确', |
| | | Wronggatewayformat: '网关格式不正确', |
| | | }, |
| | | US: { |
| | | WrongIPaddressformat: 'Wrong IP address format.', |
| | | Wrongsubnetmaskformat: 'Wrong subnet mask format.', |
| | | Wronggatewayformat: 'Wrong gateway format.', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | Battery: '蓄电池', |
| | | GelBattery: '胶体电池', |
| | | LithiumBattery: '锂电池', |
| | | Unknown: '未知', |
| | | }, |
| | | US: { |
| | | Battery: 'Battery', |
| | | GelBattery: 'Gel Battery', |
| | | LithiumBattery: 'Lithium Battery', |
| | | Unknown: 'Unknown', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | Wrongformat: '格式不正确', |
| | | }, |
| | | US: { |
| | | Wrongformat: 'Wrong format.', |
| | | } |
| | | } |
| | | } |
| | |
| | | }, |
| | | US: { |
| | | isValidIp: 'IP地址格式不正确', |
| | | noSpecialChar: '存在特殊字符', |
| | | noSpecialChar: 'Special character exists', |
| | | isWhiteIp: 'Enter the correct IP address. For example: * or 192.168.10.7, 192.168.10.8', |
| | | } |
| | | } |
| | |
| | | <flex-layout> |
| | | <div class="table-layout filter-box-table" slot="header"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">省:</div> |
| | | <div class="table-cell text-right">{{ $t('Province') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.province" |
| | | @change="searchCity" |
| | | size="small" |
| | | placeholder="请选择省" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.province" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="filters.values.province" @change="searchCity" size="small"> |
| | | <el-option v-for="(item, idx) in filters.data.province" :key="item.value" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">市:</div> |
| | | <div class="table-cell text-right">{{ $t('City') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.city" |
| | | @change="searchCounty" |
| | | size="small" |
| | | placeholder="请选择市" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.city" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="filters.values.city" @change="searchCounty" size="small"> |
| | | <el-option v-for="(item, idx) in filters.data.city" :key="item.value" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">区/县/班组:</div> |
| | | <div class="table-cell text-right">{{ $t('DistrictCounty') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.county" |
| | | @change="searchHome" |
| | | size="small" |
| | | placeholder="请选择区/县/班组" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.county" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="filters.values.county" @change="searchHome" size="small"> |
| | | <el-option v-for="(item, idx) in filters.data.county" :key="item.value" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房名称:</div> |
| | | <div class="table-cell text-right">{{ $t('EquipmentRoomName') }}:</div> |
| | | <div class="table-cell w360"> |
| | | <el-select |
| | | v-model="filters.values.home" |
| | | @click="changeHome" |
| | | filterable |
| | | size="small" |
| | | placeholder="请选择机房名称" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.home" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="filters.values.home" @click="changeHome" :placeholder="$t('selectDistrictCounty')" filterable size="small"> |
| | | <el-option v-for="(item, idx) in filters.data.home" :key="item.value" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="flex-page-content"> |
| | | <el-table |
| | | stripe |
| | | size="mini" |
| | | header-row-class-name="header-primary" |
| | | height="100%" |
| | | :data="tableData" |
| | | > |
| | | <el-table-column |
| | | v-for="(item, idx) in tableHeader" |
| | | :key="'theader_' + idx" |
| | | :prop="item.prop" |
| | | :label="item.label" |
| | | :min-width="item.minWidth" |
| | | :resizable="false" |
| | | :sortable="item.sortable" |
| | | align="center" |
| | | > |
| | | <el-table stripe size="mini" header-row-class-name="header-primary" height="100%" :data="tableData"> |
| | | <el-table-column v-for="(item, idx) in tableHeader" :key="'theader_' + idx" :prop="item.prop" :label="$t(item.label)" |
| | | show-overflow-tooltip |
| | | :min-width="item.minWidth" :resizable="false" :sortable="item.sortable" align="center"> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="250" align="center"> |
| | | <el-table-column fixed="right" :label="$t('operate.operation')" width="310" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | @click="showSelectEditDialog(scope.row)" |
| | | type="primary" |
| | | size="mini" |
| | | v-if="editMore" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | @click="handleClick(scope.row)" |
| | | type="primary" |
| | | size="mini" |
| | | v-else |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | type="info" |
| | | @click="handleAddClick(scope.row)" |
| | | size="mini" |
| | | >添加电池组</el-button |
| | | > |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | type="danger" |
| | | size="mini" |
| | | @click="confirmDelHome(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button :disabled="!isCanEdit" @click="showSelectEditDialog(scope.row)" type="primary" size="mini" |
| | | v-if="!0 || editMore">{{ $t('operate.edit') }}</el-button> |
| | | <el-button :disabled="!isCanEdit" @click="handleClick(scope.row)" type="primary" size="mini" v-else>{{ |
| | | $t('operate.edit') }}</el-button> |
| | | <el-button :disabled="!isCanEdit" type="info" @click="handleAddClick(scope.row)" size="mini">{{ |
| | | $t('AddBatteryGroup') }}</el-button> |
| | | <el-button :disabled="!isCanEdit" type="danger" size="mini" @click="confirmDelHome(scope.row)">{{ |
| | | $t('operate.delete') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button |
| | | type="primary" |
| | | @click="searchData" |
| | | round |
| | | size="mini" |
| | | icon="el-icon-search" |
| | | >查询</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | round |
| | | size="mini" |
| | | icon="el-icon-wallet" |
| | | @click="exportFile" |
| | | >导出</el-button |
| | | > |
| | | <el-button type="primary" @click="searchData" round size="mini" icon="el-icon-search">{{ $t('operate.search') |
| | | }}</el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile">{{ $t('operate.export') |
| | | }}</el-button> |
| | | </div> |
| | | <el-pagination |
| | | size="mini" |
| | | :current-page="page.pageCurr" |
| | | :page-sizes="[10, 20, 30, 50, 100]" |
| | | :page-size="page.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="page.pageAll" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | ></el-pagination> |
| | | <el-pagination size="mini" :current-page="page.pageCurr" :page-sizes="[10, 20, 30, 50, 100]" |
| | | :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="page.pageAll" |
| | | @current-change="currentChange" @size-change="sizeChange"></el-pagination> |
| | | <div class="el-pagination-btns"> |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | type="primary" |
| | | @click="addHome()" |
| | | round |
| | | size="mini" |
| | | icon="el-icon-plus">新建电池组</el-button> |
| | | <el-button :disabled="!isCanEdit" type="primary" @click="addHome()" round size="mini" icon="el-icon-plus">{{ |
| | | $t('AddBatteryGroup') }}</el-button> |
| | | </div> |
| | | </div> |
| | | <!-- 电池信息编辑选择 --> |
| | | <el-dialog |
| | | title="电池信息编辑选择" |
| | | width="auto" |
| | | :visible.sync="selectEdit" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | > |
| | | <el-dialog :title="$t('BatteryInfoEditselect')" width="auto" :visible.sync="selectEdit" :close-on-click-modal="false" |
| | | top="0" class="dialog-center"> |
| | | <div class="padding16161616 white-bg"> |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | @click="dHandleClick()" |
| | | type="primary" |
| | | size="mini" |
| | | >电池信息编辑</el-button |
| | | > |
| | | <el-button |
| | | :disabled="!isCanEdit" |
| | | @click="dChangeIpClick()" |
| | | type="primary" |
| | | size="mini" |
| | | v-if="changeIp" |
| | | >远程IP修改</el-button |
| | | > |
| | | <el-button :disabled="!isCanEdit" @click="dHandleClick()" type="primary" size="mini">{{ $t('BatteryInfoEdit') |
| | | }}</el-button> |
| | | <el-button :disabled="!isCanEdit" @click="dChangeIpClick()" type="primary" size="mini" v-if="!0 || changeIp">{{ |
| | | $t('RemoteIPModify') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加电池组 --> |
| | | <el-dialog |
| | | title="添加电池组" |
| | | width="800px" |
| | | :visible.sync="addDialog" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false" |
| | | > |
| | | <add-group-mager |
| | | v-if="addDialog" |
| | | :batt="batt" |
| | | @success="addSuccess" |
| | | ></add-group-mager> |
| | | <el-dialog :title="$t('AddBatteryGroup')" width="800px" :visible.sync="addDialog" :close-on-click-modal="false" |
| | | top="0" class="dialog-center" :modal-append-to-body="false"> |
| | | <add-group-mager v-if="addDialog" :batt="batt" @success="addSuccess"></add-group-mager> |
| | | </el-dialog> |
| | | <!-- 编辑电池组 --> |
| | | <el-dialog |
| | | :title="editTitle" |
| | | width="800px" |
| | | :visible.sync="editDialog" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false" |
| | | > |
| | | <edit-group-mager |
| | | v-if="editDialog" |
| | | :batt="batt" |
| | | @success="editSuccess" |
| | | ></edit-group-mager> |
| | | <el-dialog :title="editTitle" width="800px" :visible.sync="editDialog" :close-on-click-modal="false" top="0" |
| | | class="dialog-center" :modal-append-to-body="false"> |
| | | <edit-group-mager v-if="editDialog" :batt="batt" @success="editSuccess"></edit-group-mager> |
| | | </el-dialog> |
| | | <!-- 远程修改ip --> |
| | | <el-dialog |
| | | title="远程修改IP" |
| | | width="auto" |
| | | :visible.sync="changeIpDialog" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false" |
| | | > |
| | | <change-ip-params |
| | | :batt="batt" |
| | | :visible.sync="changeIpDialog" |
| | | v-if="changeIpDialog" |
| | | @success="changeIpSuccess" |
| | | ></change-ip-params> |
| | | <el-dialog :title="$t('RemoteIPModify')" width="auto" :visible.sync="changeIpDialog" :close-on-click-modal="false" |
| | | top="0" class="dialog-center" :modal-append-to-body="false"> |
| | | <change-ip-params :batt="batt" :visible.sync="changeIpDialog" v-if="changeIpDialog" |
| | | @success="changeIpSuccess"></change-ip-params> |
| | | </el-dialog> |
| | | </flex-layout> |
| | | </template> |
| | |
| | | import EditAutograph from "./components/EditAutograph"; |
| | | import ChangeIpParams from "./components/ChangeIpParams"; |
| | | import { const_battery_type } from "@/assets/js/const"; |
| | | import i18n from './i18n/battGroupMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: 'battGroupMager', |
| | | mixins: [i18nMixin], |
| | | components: { |
| | | ChangeIpParams, |
| | | EditAutograph, |
| | |
| | | tableHeader: [ |
| | | { |
| | | prop: 'stationId', |
| | | label: '机房编号', |
| | | label: 'RoomNo', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'stationName1', |
| | | label: '省', |
| | | minWidth: 120 |
| | | label: 'Province', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'stationName2', |
| | | label: '市', |
| | | minWidth: 120 |
| | | label: 'City', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'stationName5', |
| | | label: '区县/班组', |
| | | minWidth: 120 |
| | | label: 'DistrictCounty', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'stationName3', |
| | | label: '机房名称', |
| | | minWidth: 280 |
| | | label: 'EquipmentRoomName', |
| | | minWidth: 310 |
| | | }, |
| | | { |
| | | prop: 'stationName4', |
| | | label: '设备名称', |
| | | minWidth: 120 |
| | | label: 'DeviceName', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'monCapStd', |
| | | label: '标称容量(AH)', |
| | | minWidth: 120 |
| | | label: 'RatedCapacity', |
| | | minWidth: 170 |
| | | }, |
| | | { |
| | | prop: 'monVolStd', |
| | | label: '标称单体电压(V)', |
| | | label: 'RatedCellV', |
| | | minWidth: 130 |
| | | }, |
| | | { |
| | | prop: 'monResStd', |
| | | label: '标称单体内阻(mΩ)', |
| | | label: 'RatedCellR', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'battProductDate', |
| | | label: '电池生产日期', |
| | | label: 'ManufactureDate', |
| | | sortable: true, |
| | | minWidth: 160 |
| | | minWidth: 180 |
| | | }, |
| | | { |
| | | prop: 'battInUseDate', |
| | | label: '投入使用日期', |
| | | label: 'ServiceDate', |
| | | sortable: true, |
| | | minWidth: 160 |
| | | }, |
| | | { |
| | | prop: 'battProducer', |
| | | label: '电池品牌', |
| | | label: 'BatteryBrand', |
| | | minWidth: 120 |
| | | }, |
| | | { |
| | | prop: 'battModel', |
| | | label: '电池型号', |
| | | minWidth: 120 |
| | | label: 'BatteryModel', |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | prop: 'loadCurr', |
| | | label: '负载电流(A)', |
| | | minWidth: 120 |
| | | label: 'LoadCurrent', |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | prop: 'disCurrMax', |
| | | label: '最大核容电流(A)', |
| | | minWidth: 130 |
| | | label: 'MaxDischargeCurrent', |
| | | minWidth: 210 |
| | | }, |
| | | { |
| | | prop: 'fbsdeviceId', |
| | | label: '设备ID', |
| | | label: 'DeviceID', |
| | | minWidth: 120 |
| | | }, |
| | | { |
| | | prop: 'fbsdeviceIp', |
| | | label: '设备IP', |
| | | label: 'DeviceIP', |
| | | minWidth: 160 |
| | | }, |
| | | { |
| | | prop: 'fbsdeviceipYm', |
| | | label: '子网掩码', |
| | | label: 'SubnetMask', |
| | | minWidth: 160 |
| | | }, |
| | | { |
| | | prop: 'fbsdeviceipWg', |
| | | label: '网关', |
| | | label: 'Gateway', |
| | | minWidth: 160 |
| | | }, |
| | | { |
| | | prop: 'fbsdeviceName', |
| | | label: '协议名称', |
| | | minWidth: 120 |
| | | label: 'ProtocolName', |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | prop: 'groupIndexInFBSDevice', |
| | | label: 'FBS设备索引', |
| | | label: 'FBSIndex', |
| | | minWidth: 120 |
| | | }, |
| | | { |
| | | prop: 'battGroupId', |
| | | label: '电池组ID', |
| | | minWidth: 120 |
| | | label: 'BatteryGroupID', |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | prop: 'batteryType', |
| | | label: '电池组类型', |
| | | minWidth: 134 |
| | | label: 'BatteryGroupType', |
| | | minWidth: 164 |
| | | }, |
| | | { |
| | | prop: 'battGroupName', |
| | | label: '电池组名称', |
| | | minWidth: 120 |
| | | label: 'BatteryGroupName', |
| | | minWidth: 170 |
| | | }, |
| | | { |
| | | prop: 'floatVolLevel', |
| | | label: '浮充电压阀值(V)', |
| | | minWidth: 130 |
| | | label: 'FCVoltageThreshold', |
| | | minWidth: 200 |
| | | }, |
| | | { |
| | | prop: 'offlineVolLevel', |
| | | label: '离线电压阀值(V)', |
| | | minWidth: 130 |
| | | label: 'OfflineThreshold', |
| | | minWidth: 190 |
| | | }, |
| | | { |
| | | prop: 'battFloatCurrent', |
| | | label: '浮充电流阀值(A)', |
| | | minWidth: 130 |
| | | label: 'FCCurrentThreshold', |
| | | minWidth: 210 |
| | | }, |
| | | { |
| | | prop: 'monCount', |
| | | label: '单体数量', |
| | | label: 'CellQty', |
| | | minWidth: 120 |
| | | }, |
| | | { |
| | | prop: 'monSerStd', |
| | | label: '标称单体电导', |
| | | label: 'RatedCellC', |
| | | minWidth: 120 |
| | | }, |
| | | { |
| | | prop: 'monVolLowToAvg', |
| | | label: '单体电压次低偏移量(V)', |
| | | minWidth: 168 |
| | | }, |
| | | { |
| | | prop: 'videoUrl', |
| | | label: '视频监控序列号', |
| | | minWidth: 120 |
| | | label: 'MonitoringSerialNo', |
| | | minWidth: 180 |
| | | }, |
| | | { |
| | | prop: 'tmpId', |
| | | label: '模板名称', |
| | | minWidth: 120 |
| | | label: 'TemplateName', |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | prop: 'stationPhone', |
| | | label: '基站号码', |
| | | minWidth: 120, |
| | | label: 'BaseStationNo', |
| | | minWidth: 140, |
| | | }, |
| | | ], |
| | | tableData: [], |
| | |
| | | }, |
| | | // 导出表格 |
| | | exportFile() { |
| | | ExportFile(this.tableHeader, this.tableData, "电池信息管理数据"); |
| | | ExportFile(this.tableHeader, this.tableData, this.$t('BatteryInfoManagementData')); |
| | | }, |
| | | searchProvince() { |
| | | // 查询省 |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置省 |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置市 |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置区县 |
| | |
| | | // 未选择区县 |
| | | if (searchParams.stationName5 == "") { |
| | | // 设置机房 |
| | | this.filters.data.home = [ |
| | | { |
| | | label: "请选择区/县/班组", |
| | | value: "", |
| | | }, |
| | | ]; |
| | | this.filters.data.home = []; |
| | | // 查询数据 |
| | | this.searchData(true); |
| | | return; |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置机房 |
| | |
| | | }, |
| | | confirmDelHome(batt) { |
| | | var self = this; |
| | | this.$layer.confirm( |
| | | "确定删除" + batt.stationName3, |
| | | { icon: 3 }, |
| | | function (index) { |
| | | // 关闭询问框 |
| | | self.$layer.close(index); |
| | | this.$confirm( |
| | | this.$t('Confimetodelete') + batt.stationName3, |
| | | this.$t('Message'), |
| | | { icon: 3 }).then((res) => { |
| | | if (res != 'confirm') { |
| | | return false; |
| | | } |
| | | // 删除机房 |
| | | self.delHome(batt); |
| | | } |
| | | ); |
| | | }); |
| | | }, |
| | | delHome(batt) { |
| | | let loading = this.$layer.loading(1); |
| | | // 请求后台 |
| | | del({battgroupId: batt.battGroupId}) |
| | | del({ battgroupId: batt.battGroupId }) |
| | | .then((res) => { |
| | | res = res.data; |
| | | if (res.code) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除" + batt.stationName3 + "成功!", |
| | | }); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.searchData(); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "删除" + batt.stationName3 + "失败!", |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | |
| | | console.log(error); |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | }); |
| | | }, |
| | | handleClick(batt) { |
| | |
| | | editTitle() { |
| | | let batt = this.batt; |
| | | return ( |
| | | "编辑" + |
| | | this.$t('operate.edit') + ' ' + |
| | | batt.stationName1 + |
| | | "-" + |
| | | batt.stationName2 + |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
| | | <style scoped></style> |
| | |
| | | <template> |
| | | <div class="params-container"> |
| | | <el-form |
| | | ref="ruleForm" |
| | | size="mini" |
| | | label-position="top" |
| | | :model="params" |
| | | :rules="rules" |
| | | class="params-dialog bg-white" |
| | | > |
| | | <el-form ref="ruleForm" size="mini" label-position="top" :model="params" :rules="rules" |
| | | class="params-dialog bg-white"> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="省" prop="stationName1"> |
| | | <el-select |
| | | v-model="params.stationName1" |
| | | placeholder="请选择省" |
| | | @change="provinceChange" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.provinces" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('Province')" prop="stationName1"> |
| | | <el-select v-model="params.stationName1" :placeholder="$t('form.selectMsg')" @change="provinceChange" |
| | | :filterable="true"> |
| | | <el-option v-for="item in linkage.provinces" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="市" prop="stationName2"> |
| | | <el-select |
| | | v-model="params.stationName2" |
| | | placeholder="请选择市" |
| | | @change="cityChange" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.cities" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('City')" prop="stationName2"> |
| | | <el-select v-model="params.stationName2" :placeholder="$t('form.selectMsg')" @change="cityChange" |
| | | :filterable="true"> |
| | | <el-option v-for="item in linkage.cities" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="区/县/班组" prop="stationName5"> |
| | | <el-select |
| | | v-model="params.stationName5" |
| | | placeholder="请选择区县" |
| | | @change="countyChange" |
| | | allow-create |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.counties" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('DistrictCounty')" prop="stationName5"> |
| | | <el-select v-model="params.stationName5" :placeholder="$t('form.selectMsg')" @change="countyChange" |
| | | allow-create :filterable="true"> |
| | | <el-option v-for="item in linkage.counties" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="机房名称" prop="stationName3"> |
| | | <el-select |
| | | v-model="params.stationName3" |
| | | placeholder="请选择站点" |
| | | @change="siteChange" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in linkage.sites" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-form-item :label="$t('EquipmentRoomName')" prop="stationName3"> |
| | | <el-select v-model="params.stationName3" :placeholder="$t('form.selectMsg')" @change="siteChange" |
| | | :filterable="true"> |
| | | <el-option v-for="(item, index) in linkage.sites" :key="index" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备名称" prop="stationName4"> |
| | | <el-form-item :label="$t('DeviceName')" prop="stationName4"> |
| | | <el-input v-model="params.stationName4"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备IP" prop="fbsdeviceIp"> |
| | | <el-form-item :label="$t('DeviceIP')" prop="fbsdeviceIp"> |
| | | <el-input v-model="params.fbsdeviceIp"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="子网掩码" prop="fbsdeviceipYm"> |
| | | <el-form-item :label="$t('SubnetMask')" prop="fbsdeviceipYm"> |
| | | <el-input v-model="params.fbsdeviceipYm"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="网关" prop="fbsdeviceipWg"> |
| | | <el-form-item :label="$t('Gateway')" prop="fbsdeviceipWg"> |
| | | <el-input v-model="params.fbsdeviceipWg"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="协议名称" prop="fbsdeviceName"> |
| | | <el-form-item :label="$t('ProtocolName')" prop="fbsdeviceName"> |
| | | <el-input v-model="params.fbsdeviceName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备类型" prop="fbsdeviceId"> |
| | | <el-select |
| | | v-model="params.fbsdeviceId" |
| | | placeholder="请选择设备类型" |
| | | > |
| | | <el-option |
| | | v-for="item in devTypes" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('DeviceType')" prop="fbsdeviceId"> |
| | | <el-select v-model="params.fbsdeviceId" disabled :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in devTypes" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isInversion"> |
| | | <el-form-item label="充电类型"> |
| | | <el-select v-model="params.chargeType" placeholder="请选择充电类型"> |
| | | <el-option |
| | | v-for="item in chargeTypes" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('ChargeType')"> |
| | | <el-select v-model="params.chargeType" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in chargeTypes" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isHasBuscouple"> |
| | | <el-form-item label="母联状态"> |
| | | <el-select |
| | | v-model="params.buscoupleState" |
| | | placeholder="请选择母联状态" |
| | | > |
| | | <el-option |
| | | v-for="item in buscouplestates" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('BuscouplerStatus')"> |
| | | <el-select v-model="params.buscoupleState" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in buscouplestates" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池组类型" prop="battGroupNum"> |
| | | <el-select |
| | | v-model="params.battGroupNum" |
| | | placeholder="请选择电池类型" |
| | | > |
| | | <el-option |
| | | v-for="item in batteryTypes" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('BatteryGroupType')" prop="battGroupNum"> |
| | | <el-select v-model="params.battGroupNum" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in batteryTypes" :key="item.value" :label="$t('battTypes.' + item.label)" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池组名称" prop="battGroupName"> |
| | | <el-form-item :label="$t('BatteryGroupName')" prop="battGroupName"> |
| | | <el-input v-model="params.battGroupName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="浮充电压阀值(V)" prop="floatVolLevel"> |
| | | <el-form-item :label="$t('FCVoltageThreshold')" prop="floatVolLevel"> |
| | | <el-input v-model="params.floatVolLevel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="离线电压阀值(V)" prop="offlineVolLevel"> |
| | | <el-form-item :label="$t('OfflineThreshold')" prop="offlineVolLevel"> |
| | | <el-input v-model="params.offlineVolLevel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="浮充电流阀值(A)" prop="battFloatCurrent"> |
| | | <el-form-item :label="$t('FCCurrentThreshold')" prop="battFloatCurrent"> |
| | | <el-input v-model="params.battFloatCurrent"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isLithiumPack"> |
| | | <el-form-item label="锂电池包个数" prop="PackCount"> |
| | | <el-form-item :label="$t('LithiumBatteryPackQty')" prop="PackCount"> |
| | | <el-input v-model="params.packCount"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item :label="monCountText" prop="monCount"> |
| | | <!-- <el-select v-model="params.MonCount" placeholder="请选择单体数量">--> |
| | | <!-- <el-option label="4" value="4"></el-option>--> |
| | | <!-- <el-option label="24" value="24"></el-option>--> |
| | | <!-- </el-select>--> |
| | | <el-input v-model="params.monCount"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称容量(AH)" prop="monCapStd"> |
| | | <el-form-item :label="$t('RatedCapacity')" prop="monCapStd"> |
| | | <el-input v-model="params.monCapStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体电压(V)" prop="monVolStd"> |
| | | <el-form-item :label="$t('RatedCellV')" prop="monVolStd"> |
| | | <el-input v-model="params.monVolStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体内阻(mΩ)" prop="monResStd"> |
| | | <el-form-item :label="$t('RatedCellR')" prop="monResStd"> |
| | | <el-input v-model="params.monResStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体电导" prop="monSerStd"> |
| | | <el-form-item :label="$t('RatedCellC')" prop="monSerStd"> |
| | | <el-input v-model="params.monSerStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="FBS设备索引" prop="groupIndexInFBSDevice"> |
| | | <el-form-item :label="$t('FBSIndex')" prop="groupIndexInFBSDevice"> |
| | | <el-input v-model="params.groupIndexInFBSDevice"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="layout.span">--> |
| | | <!-- <el-form-item label="单体电压次低偏移量(V)" prop="MonVolLowToAvg">--> |
| | | <!-- <el-input v-model="params.MonVolLowToAvg"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="负载电流(A)" prop="loadCurr"> |
| | | <el-form-item :label="$t('LoadCurrent')" prop="loadCurr"> |
| | | <el-input v-model="params.loadCurr"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="最大核容电流(A)" prop="disCurrMax"> |
| | | <el-form-item :label="$t('MaxDischargeCurrent')" prop="disCurrMax"> |
| | | <el-input v-model="params.disCurrMax"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池品牌" prop="battProducer"> |
| | | <el-select |
| | | v-model="params.battProducer" |
| | | placeholder="请选择" |
| | | @change="battProducerChange" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.battProducers" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('BatteryBrand')" prop="battProducer"> |
| | | <el-select v-model="params.battProducer" :placeholder="$t('form.selectMsg')" @change="battProducerChange" |
| | | :filterable="true"> |
| | | <el-option v-for="item in linkage.battProducers" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="-999"></el-option> |
| | | <el-option :label="$t('Other')" value="-999"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池型号" prop="battModel"> |
| | | <el-form-item :label="$t('BatteryModel')" prop="battModel"> |
| | | <el-input v-model="params.battModel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池生产日期" prop="battProductDate"> |
| | | <el-date-picker |
| | | v-model="params.battProductDate" |
| | | size="small" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <el-form-item :label="$t('ManufactureDate')" prop="battProductDate"> |
| | | <el-date-picker v-model="params.battProductDate" size="small" type="date" :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="投入使用日期" prop="battInUseDate"> |
| | | <el-date-picker |
| | | v-model="params.battInUseDate" |
| | | size="small" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <el-form-item :label="$t('ServiceDate')" prop="battInUseDate"> |
| | | <el-date-picker v-model="params.battInUseDate" size="small" type="date" :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="视频监控序列号"> |
| | | <el-form-item :label="$t('MonitoringSerialNo')"> |
| | | <el-input v-model="params.videoUrl"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isLithium"> |
| | | <el-form-item label="电价分布模板" prop="tmpId"> |
| | | <el-select v-model="params.tmpId" placeholder="请选择电价分布模板"> |
| | | <el-option |
| | | v-for="item in tmpList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('ElectricityRateTemplate')" prop="tmpId"> |
| | | <el-select v-model="params.tmpId" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in tmpList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="基站号码"> |
| | | <el-form-item :label="$t('BaseStationNo')"> |
| | | <el-input v-model="params.stationPhone"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <three-btn @click="autoComputeIp" v-if="params.fbsdeviceId == '9100'" |
| | | >自动计算IP</three-btn |
| | | > |
| | | <three-btn @click="submitFrom">确定</three-btn> |
| | | <three-btn @click="autoComputeIp" v-if="params.fbsdeviceId == '9100'">{{ $t('AutomaticallycalculateIP') }}</three-btn> |
| | | <three-btn @click="submitFrom">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | <!-- 省 --> |
| | | <el-dialog |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择省" |
| | | :visible.sync="province.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('Province')" :visible.sync="province.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="省"> |
| | | <el-select |
| | | v-model="province.value" |
| | | placeholder="请选择省" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="province in province.list" |
| | | :key="province.name" |
| | | :label="province.name" |
| | | :value="province.name" |
| | | ></el-option> |
| | | <el-form-item :label="$t('Province')"> |
| | | <el-select v-model="province.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="province in province.list" :key="province.name" :label="province.name" |
| | | :value="province.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="provinceOk" |
| | | >确定</el-button |
| | | > |
| | | <el-button size="mini" @click="province.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="provinceOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 市 --> |
| | | <el-dialog |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择市" |
| | | :visible.sync="city.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('City')" :visible.sync="city.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select |
| | | v-model="city.value" |
| | | placeholder="请选择市" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="city in city.list" |
| | | :key="city.name" |
| | | :label="city.name" |
| | | :value="city.name" |
| | | > |
| | | <el-form-item :label="$t('City')"> |
| | | <el-select v-model="city.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="city in city.list" :key="city.name" :label="city.name" :value="city.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="cityOk">确定</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="cityOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 区县 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择区县" |
| | | :visible.sync="county.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('DistrictCounty')" :visible.sync="county.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select |
| | | v-model="county.value" |
| | | placeholder="请选择市" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="county in county.list" |
| | | :key="county.name" |
| | | :label="county.name" |
| | | :value="county.name" |
| | | ></el-option> |
| | | <el-form-item :label="$t('DistrictCounty')"> |
| | | <el-select v-model="county.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="county in county.list" :key="county.name" :label="county.name" |
| | | :value="county.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="countyOk">确定</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="countyOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 电池品牌 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请输入电池品牌" |
| | | :visible.sync="battProducer.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.inputMsg') + ' ' + $t('BatteryBrand')" :visible.sync="battProducer.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="电池品牌"> |
| | | <el-form-item :label="$t('BatteryBrand')"> |
| | | <el-input v-model="battProducer.value"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="battProducerOk" |
| | | >确定</el-button |
| | | > |
| | | <el-button size="mini" @click="battProducer.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="battProducerOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="battProducer.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 机房 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请输入机房" |
| | | :visible.sync="site.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.inputMsg') + ' ' + $t('EquipmentRoomName')" :visible.sync="site.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="site.value" |
| | | placeholder="请输入机房名称" |
| | | ></el-input> |
| | | <el-input v-model="site.value" :placeholder="$t('form.inputMsg')"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="siteOk">确定</el-button> |
| | | <el-button size="mini" @click="site.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="siteOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="site.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | |
| | | import const_rules from "@/assets/js/const/const_rules"; |
| | | import getDevIp from "@/assets/js/tools/getDevIp"; |
| | | |
| | | import i18n from '../i18n/battGroupMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import battTypes from '@/assets/js/i18n/const_battery_type'; |
| | | import i18nConstRules from '@/assets/js/i18n/const_rules'; |
| | | import i18nConstBatt from '@/assets/js/i18n/const_battGroup'; |
| | | const i18nMixin = createI18nOption(i18n, [[battTypes, 'battTypes'], [i18nConstRules, 'constRule'], [i18nConstBatt, 'rule']]); |
| | | export default { |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | batt: { |
| | | type: Object, |
| | |
| | | let constRules = const_rules; |
| | | let devTypes = const_devType.batt; |
| | | let batteryTypes = const_battery_type.types; |
| | | const vm = this; |
| | | const subRules = { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.noSpecialChar); |
| | | testVal(rule, value, callback, constRules.noSpecialChar, vm, 'constRule'); |
| | | }, |
| | | trigger: "change", |
| | | }; |
| | |
| | | stationName3: "", // 机房名称* |
| | | stationName4: "", // 设备名称* |
| | | stationIp: "192.168.0.5", // 机房ip |
| | | fbsdeviceId: 618500152, // 设备ID (后台自动生成最大) |
| | | fbsdeviceId: 4831, // 设备ID (后台自动生成最大) |
| | | fbsdeviceIp: "192.168.7.155", // 设备IP(重要)* |
| | | fbsdeviceipYm: "255.255.255.0", // 设备子网掩码(重要)* |
| | | fbsdeviceipWg: "192.168.7.1", // 设备网关(重要)* |
| | |
| | | stationName1: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName2: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName5: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName3: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName4: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | fbsdeviceName: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_YM); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_YM, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_WG); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_WG, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | groupIndexInFBSDevice: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | tmpId: [ |
| | | { |
| | | required: true, |
| | | message: "请先录入电价分布模板", |
| | | message: this.$t('electricityTemplateMsg'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battGroupNum: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | floatVolLevel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | offlineVolLevel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battFloatCurrent: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monResStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monSerStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | monVolLowToAvg: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | disCurrMax: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battGroupName: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monVolStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monCapStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | loadCurr: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battProducer: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battModel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battProductDate: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battInUseDate: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | packCount: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monCount: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | batteryTypes: batteryTypes, |
| | | chargeTypes: [ |
| | | { |
| | | label: "限流充电", |
| | | label: "LimitCurrentCharge", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "逆变充电", |
| | | label: "InverterCharge", |
| | | value: 2, |
| | | }, |
| | | ], |
| | | buscouplestates: [ |
| | | { |
| | | label: "无母联", |
| | | label: "NoBuscoupler", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "有母联", |
| | | label: "Buscoupler", |
| | | value: 1, |
| | | }, |
| | | ], |
| | |
| | | // 查询后台 |
| | | getExistStations(searchParams).then((res) => { |
| | | res = res.data; |
| | | console.log(res, "res======99"); |
| | | // console.log(res, "res======99"); |
| | | var data = []; |
| | | if (res.code) { |
| | | data = res.data.map((v) => { |
| | |
| | | this.linkage.cites = []; |
| | | |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | var provinces = this.linkagePlus.getProvince(); |
| | | this.province.dialogVisible = true; |
| | | this.province.value = provinces[0].name; |
| | |
| | | // 获取省 |
| | | var stationName1 = this.params.stationName1; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName2 = this.linkage.city; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 获取市 |
| | | var stationName2 = this.params.stationName2; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName5 = this.linkage.county; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | message: this.$t('cityfirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 获取区 |
| | | var stationName5 = this.params.stationName5; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName3 = this.linkage.site; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | message: this.$t('cityfirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择区", |
| | | message: this.$t('CountyFirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 添加机房 |
| | | this.addHome(tmp); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | .then((res) => { |
| | | res = res.data; |
| | | if (res.code) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "添加" + batt.stationName + "成功!", |
| | | }); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | // 触发事件 |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "添加" + batt.stationName + "失败!", |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | this.$emit("success"); |
| | | // 关闭加载框 |
| | |
| | | }) |
| | | .catch((error) => { |
| | | console.log(error); |
| | | this.$message({ |
| | | type: "error", |
| | | message: "修改" + batt.stationName + "失败!", |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | // 触发事件 |
| | | this.$emit("success"); |
| | | // 关闭加载框 |
| | |
| | | let ipInfo = getDevIp(dev_id); |
| | | if (ipInfo.code == 1) { |
| | | this.$alert( |
| | | "设备IP:" + ipInfo.data + ",已自动更新到设备IP", |
| | | "系统提示", |
| | | this.$t('DeviceIP') + ':' + ipInfo.data + ", " + this.$t('AutomaticupdatedtodeviceIP'), |
| | | this.$t('Message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | } |
| | | ); |
| | | this.params.fbsdeviceIp = ipInfo.data; |
| | |
| | | }, |
| | | isHasBuscouple() { |
| | | let dev_id = this.params.fbsdeviceId; |
| | | return regEquipType(dev_id,["BTS9120", "BTS9110"]); |
| | | return regEquipType(dev_id, ["BTS9120", "BTS9110"]); |
| | | }, |
| | | isLithium() { |
| | | // 锂电BTS |
| | |
| | | }, |
| | | monCountText() { |
| | | let isLithiumPack = this.isLithiumPack; |
| | | return isLithiumPack ? "锂电池包单体个数" : "单体个数"; |
| | | return isLithiumPack ? this.$t('LithiumBatteryPackCellQty') : this.$t('CellQty'); |
| | | }, |
| | | }, |
| | | mounted() { |
| | |
| | | .form-footer .three-btn { |
| | | margin-left: 12px; |
| | | } |
| | | |
| | | >>> ::-webkit-input-placeholder { |
| | | color: #666 !important; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | :rules="rules" |
| | | class="params-dialog" |
| | | > |
| | | <el-form-item label="机房名称"> |
| | | <el-form-item :label="$t('EquipmentRoomName')"> |
| | | <el-input readonly v-model="otherParams.groupName"></el-input> |
| | | </el-form-item> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="有效性"> |
| | | <el-form-item :label="$t('Validity')"> |
| | | <el-select v-model="params.num"> |
| | | <el-option |
| | | v-for="effectType in effectTypes" |
| | | :key="effectType.value" |
| | | :label="effectType.label" |
| | | :label="$t(effectType.label)" |
| | | :value="effectType.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备IP" prop="fbsdeviceIp"> |
| | | <el-input placeholder="设备IP" v-model="params.fbsdeviceIp"> |
| | | <el-form-item :label="$t('DeviceIP')" prop="fbsdeviceIp"> |
| | | <el-input :placeholder="$t('form.inputMsg')" v-model="params.fbsdeviceIp"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="子网掩码" prop="fbsdeviceipYm"> |
| | | <el-input placeholder="子网掩码" v-model="params.fbsdeviceipYm"> |
| | | <el-form-item :label="$t('SubnetMask')" prop="fbsdeviceipYm"> |
| | | <el-input :placeholder="$t('form.inputMsg')" v-model="params.fbsdeviceipYm"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="网关" prop="fbsdeviceipWg"> |
| | | <el-input placeholder="网关" v-model="params.fbsdeviceipWg"> |
| | | <el-form-item :label="$t('Gateway')" prop="fbsdeviceipWg"> |
| | | <el-input :placeholder="$t('form.inputMsg')" v-model="params.fbsdeviceipWg"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <three-btn @click="submitFrom">确定</three-btn> |
| | | <three-btn @click="close">取消</three-btn> |
| | | <three-btn @click="submitFrom">{{ $t('operate.ok') }}</three-btn> |
| | | <three-btn @click="close">{{ $t('operate.cancel') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | |
| | | import { |
| | | updateIp |
| | | } from '../js/battGroupMager'; |
| | | |
| | | import i18n from '../i18n/battGroupMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import i18nConstIp from '@/assets/js/i18n/const_changeIp'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nConstIp, 'rule']]); |
| | | export default { |
| | | name: "ChangeIpParams", |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | batt: { |
| | | type: Object, |
| | |
| | | }, |
| | | data() { |
| | | let rules = const_changeIp.rules; |
| | | const vm = this; |
| | | return { |
| | | layout: { |
| | | span: 12, |
| | |
| | | }, |
| | | effectTypes: [ |
| | | { |
| | | label: "永久有效", |
| | | label: "PermanentValidity", |
| | | value: 88, |
| | | }, |
| | | { |
| | | label: "临时有效", |
| | | label: "TemporaryValidity", |
| | | value: 90, |
| | | }, |
| | | ], |
| | |
| | | fbsdeviceIp: [ |
| | | { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.ipReg); |
| | | testVal(rule, value, callback, rules.ipReg, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | fbsdeviceipYm: [ |
| | | { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.ipReg); |
| | | testVal(rule, value, callback, rules.ipReg, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | fbsdeviceipWg: [ |
| | | { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.ipReg); |
| | | testVal(rule, value, callback, rules.ipReg, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | // 设置参数 |
| | | this.setParams(); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | setParams() { |
| | | this.$confirm("确认修改IP", { |
| | | title: "系统提示", |
| | | this.$confirm(this.$t('ConfirmtomodifyIP'), { |
| | | title: this.$t('Message'), |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | let loading = this.$layer.loading(); |
| | | updateIp(this.params) |
| | | .then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | this.$layer.msg("修改成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | // 触发事件 |
| | | this.$emit("success"); |
| | | } else { |
| | | this.$layer.msg("修改失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | }) |
| | | .catch((error) => { |
| | | console.log(error); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | }); |
| | |
| | | computed: { |
| | | otherParams() { |
| | | let batt = this.batt; |
| | | let groupInfo = |
| | | "单体数量:" + |
| | | this.batt.MonCount + |
| | | ";电压(V):" + |
| | | this.batt.MonVolStd + |
| | | ";容量(AH):" + |
| | | this.batt.MonCapStd; |
| | | // let groupInfo = |
| | | // "单体数量:" + |
| | | // this.batt.MonCount + |
| | | // ";电压(V):" + |
| | | // this.batt.MonVolStd + |
| | | // ";容量(AH):" + |
| | | // this.batt.MonCapStd; |
| | | return { |
| | | groupName: |
| | | batt.stationName1 + |
| | |
| | | "-" + |
| | | batt.battGroupName, |
| | | fbsdeviceId: batt.fbsdeviceId, |
| | | groupInfo: groupInfo, |
| | | GroupIndexInFBSDevice: this.batt.groupIndexInFBSDevice + 1, |
| | | // groupInfo: groupInfo, |
| | | // GroupIndexInFBSDevice: this.batt.groupIndexInFBSDevice + 1, |
| | | }; |
| | | }, |
| | | }, |
| | |
| | | <template> |
| | | <div class="params-container"> |
| | | <el-form |
| | | ref="ruleForm" |
| | | size="mini" |
| | | label-position="top" |
| | | :model="params" |
| | | :rules="rules" |
| | | class="params-dialog bg-white" |
| | | > |
| | | <el-form ref="ruleForm" size="mini" label-position="top" :model="params" :rules="rules" |
| | | class="params-dialog bg-white"> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="省" prop="stationName1"> |
| | | <el-select |
| | | v-model="params.stationName1" |
| | | placeholder="请选择省" |
| | | @change="provinceChange" |
| | | :filterable="true" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.provinces" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('Province')" prop="stationName1"> |
| | | <el-select v-model="params.stationName1" :placeholder="$t('form.selectMsg')" @change="provinceChange" |
| | | :filterable="true" disabled> |
| | | <el-option v-for="item in linkage.provinces" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="市" prop="stationName2"> |
| | | <el-select |
| | | v-model="params.stationName2" |
| | | placeholder="请选择市" |
| | | @change="cityChange" |
| | | :filterable="true" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.cities" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('City')" prop="stationName2"> |
| | | <el-select v-model="params.stationName2" :placeholder="$t('form.selectMsg')" @change="cityChange" |
| | | :filterable="true" disabled> |
| | | <el-option v-for="item in linkage.cities" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="区/县" prop="stationName5"> |
| | | <el-select |
| | | v-model="params.stationName5" |
| | | placeholder="请选择区县" |
| | | @change="countyChange" |
| | | :filterable="true" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.counties" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('DistrictCounty')" prop="stationName5"> |
| | | <el-select v-model="params.stationName5" :placeholder="$t('form.selectMsg')" @change="countyChange" |
| | | :filterable="true" disabled> |
| | | <el-option v-for="item in linkage.counties" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="机房名称" prop="stationName3"> |
| | | <el-form-item :label="$t('EquipmentRoomName')" prop="stationName3"> |
| | | <el-input v-model="params.stationName3" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备ID" prop="fbsdeviceId"> |
| | | <el-form-item :label="$t('DeviceID')" prop="fbsdeviceId"> |
| | | <el-input v-model="params.fbsdeviceId"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备名称" prop="stationName4"> |
| | | <el-form-item :label="$t('DeviceName')" prop="stationName4"> |
| | | <el-input v-model="params.stationName4"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备IP" prop="fbsdeviceIp"> |
| | | <el-form-item :label="$t('DeviceIP')" prop="fbsdeviceIp"> |
| | | <el-input v-model="params.fbsdeviceIp"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="子网掩码" prop="fbsdeviceipYm"> |
| | | <el-form-item :label="$t('SubnetMask')" prop="fbsdeviceipYm"> |
| | | <el-input v-model="params.fbsdeviceipYm"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="网关" prop="fbsdeviceipWg"> |
| | | <el-form-item :label="$t('Gateway')" prop="fbsdeviceipWg"> |
| | | <el-input v-model="params.fbsdeviceipWg"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="协议名称" prop="fbsdeviceName"> |
| | | <el-form-item :label="$t('ProtocolName')" prop="fbsdeviceName"> |
| | | <el-input v-model="params.fbsdeviceName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="FBS设备索引" prop="groupIndexInFBSDevice"> |
| | | <el-form-item :label="$t('FBSIndex')" prop="groupIndexInFBSDevice"> |
| | | <el-input v-model="params.groupIndexInFBSDevice"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池组类型" prop="battGroupNum"> |
| | | <el-select |
| | | v-model="params.battGroupNum" |
| | | placeholder="请选择电池类型" |
| | | > |
| | | <el-option |
| | | v-for="item in batteryTypes" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('BatteryGroupType')" prop="battGroupNum"> |
| | | <el-select v-model="params.battGroupNum" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in batteryTypes" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isInversion"> |
| | | <el-form-item label="充电类型"> |
| | | <el-select |
| | | v-model="params.chargeType" |
| | | placeholder="请选择充电类型" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in chargeTypes" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('ChargeType')"> |
| | | <el-select v-model="params.chargeType" :placeholder="$t('form.selectMsg')" disabled> |
| | | <el-option v-for="item in chargeTypes" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isInversion"> |
| | | <el-form-item label="母联状态"> |
| | | <el-select |
| | | v-model="params.buscoupleState" |
| | | placeholder="请选择母联状态" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in buscoupleStates" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('BuscouplerStatus')"> |
| | | <el-select v-model="params.buscoupleState" :placeholder="$t('form.selectMsg')" disabled> |
| | | <el-option v-for="item in buscoupleStates" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池组名称" prop="battGroupName"> |
| | | <el-form-item :label="$t('BatteryGroupName')" prop="battGroupName"> |
| | | <el-input v-model="params.battGroupName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="浮充电压阀值(V)" prop="floatVolLevel"> |
| | | <el-form-item :label="$t('FCVoltageThreshold')" prop="floatVolLevel"> |
| | | <el-input v-model="params.floatVolLevel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="离线电压阀值(V)" prop="offlineVolLevel"> |
| | | <el-form-item :label="$t('OfflineThreshold')" prop="offlineVolLevel"> |
| | | <el-input v-model="params.offlineVolLevel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="浮充电流阀值(A)" prop="battFloatCurrent"> |
| | | <el-form-item :label="$t('FCCurrentThreshold')" prop="battFloatCurrent"> |
| | | <el-input v-model="params.battFloatCurrent"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isLithiumPack"> |
| | | <el-form-item label="锂电池包个数" prop="packCount"> |
| | | <el-form-item :label="$t('LithiumBatteryPackQty')" prop="packCount"> |
| | | <el-input v-model="params.packCount"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="单体数量" prop="monCount"> |
| | | <!-- <el-select v-model="params.monCount" placeholder="请选择单体数量">--> |
| | | <!-- <el-option label="4" value="4"></el-option>--> |
| | | <!-- <el-option label="24" value="24"></el-option>--> |
| | | <!-- </el-select>--> |
| | | <el-form-item :label="$t('CellQty')" prop="monCount"> |
| | | <el-input v-model="params.monCount"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称容量(AH)" prop="monCapStd"> |
| | | <el-form-item :label="$t('RatedCapacity')" prop="monCapStd"> |
| | | <el-input v-model="params.monCapStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体电压(V)" prop="monVolStd"> |
| | | <el-form-item :label="$t('RatedCellV')" prop="monVolStd"> |
| | | <el-input v-model="params.monVolStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体内阻(mΩ)" prop="monResStd"> |
| | | <el-form-item :label="$t('RatedCellR')" prop="monResStd"> |
| | | <el-input v-model="params.monResStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="标称单体电导" prop="monSerStd"> |
| | | <el-form-item :label="$t('RatedCellC')" prop="monSerStd"> |
| | | <el-input v-model="params.monSerStd"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="layout.span">--> |
| | | <!-- <el-form-item label="单体电压次低偏移量(V)" prop="monVolLowToAvg">--> |
| | | <!-- <el-input v-model="params.monVolLowToAvg"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="负载电流(A)" prop="loadCurr"> |
| | | <el-form-item :label="$t('LoadCurrent')" prop="loadCurr"> |
| | | <el-input v-model="params.loadCurr"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="最大核容电流(A)" prop="disCurrMax"> |
| | | <el-form-item :label="$t('MaxDischargeCurrent')" prop="disCurrMax"> |
| | | <el-input v-model="params.disCurrMax"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池品牌" prop="battProducer"> |
| | | <el-select |
| | | v-model="params.battProducer" |
| | | placeholder="请选择" |
| | | @change="battProducerChange" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="item in linkage.battProducers" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | > |
| | | <el-form-item :label="$t('BatteryBrand')" prop="battProducer"> |
| | | <el-select v-model="params.battProducer" :placeholder="$t('form.selectMsg')" @change="battProducerChange" |
| | | :filterable="true"> |
| | | <el-option v-for="item in linkage.battProducers" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="-999"></el-option> |
| | | <el-option :label="$t('Other')" value="-999"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池型号" prop="battModel"> |
| | | <el-form-item :label="$t('BatteryModel')" prop="battModel"> |
| | | <el-input v-model="params.battModel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="电池生产日期" prop="battProductDate"> |
| | | <el-date-picker |
| | | v-model="params.battProductDate" |
| | | size="small" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <el-form-item :label="$t('ManufactureDate')" prop="battProductDate"> |
| | | <el-date-picker v-model="params.battProductDate" size="small" type="date" :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="投入使用日期" prop="battInUseDate"> |
| | | <el-date-picker |
| | | v-model="params.battInUseDate" |
| | | size="small" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <el-form-item :label="$t('ServiceDate')" prop="battInUseDate"> |
| | | <el-date-picker v-model="params.battInUseDate" size="small" type="date" :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="视频监控序列号"> |
| | | <el-form-item :label="$t('MonitoringSerialNo')"> |
| | | <el-input v-model="params.videoUrl"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isLithium"> |
| | | <el-form-item label="电价分布模板" prop="tmpId"> |
| | | <el-select v-model="params.tmpId" placeholder="请选择电价分布模板"> |
| | | <el-option |
| | | v-for="item in tmpList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-form-item :label="$t('ElectricityRateTemplate')" prop="tmpId"> |
| | | <el-select v-model="params.tmpId" :placeholder="$t('form.selectMsg')"> |
| | | <el-option v-for="item in tmpList" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="基站号码"> |
| | | <el-form-item :label="$t('BaseStationNo')"> |
| | | <el-input v-model="params.stationPhone"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <three-btn @click="autoComputeIp" v-if="isDcDcBts" |
| | | >自动计算IP</three-btn |
| | | > |
| | | <three-btn @click="submitFrom">确定</three-btn> |
| | | <three-btn @click="autoComputeIp" v-if="isDcDcBts">{{ $t('AutomaticallycalculateIP') }}</three-btn> |
| | | <three-btn @click="submitFrom">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | <!-- 省 --> |
| | | <el-dialog |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择省" |
| | | :visible.sync="province.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('Province')" |
| | | :visible.sync="province.dialogVisible" width="280px" append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="省"> |
| | | <el-select |
| | | v-model="province.value" |
| | | placeholder="请选择省" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="province in province.list" |
| | | :key="province.name" |
| | | :label="province.name" |
| | | :value="province.name" |
| | | ></el-option> |
| | | <el-form-item :label="$t('Province')"> |
| | | <el-select v-model="province.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="province in province.list" :key="province.name" :label="province.name" |
| | | :value="province.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="provinceOk" |
| | | >确定</el-button |
| | | > |
| | | <el-button size="mini" @click="province.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="provinceOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 市 --> |
| | | <el-dialog |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择市" |
| | | :visible.sync="city.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('City')" |
| | | :visible.sync="city.dialogVisible" width="280px" append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select |
| | | v-model="city.value" |
| | | placeholder="请选择市" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="city in city.list" |
| | | :key="city.name" |
| | | :label="city.name" |
| | | :value="city.name" |
| | | > |
| | | <el-form-item :label="$t('City')"> |
| | | <el-select v-model="city.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="city in city.list" :key="city.name" :label="city.name" :value="city.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="cityOk">确定</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="cityOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 区县 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择区县" |
| | | :visible.sync="county.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.selectMsg') + ' ' + $t('DistrictCounty')" |
| | | :visible.sync="county.dialogVisible" width="280px" append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select |
| | | v-model="county.value" |
| | | placeholder="请选择市" |
| | | :filterable="true" |
| | | > |
| | | <el-option |
| | | v-for="county in county.list" |
| | | :key="county.name" |
| | | :label="county.name" |
| | | :value="county.name" |
| | | ></el-option> |
| | | <el-form-item :label="$t('DistrictCounty')"> |
| | | <el-select v-model="county.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="county in county.list" :key="county.name" :label="county.name" |
| | | :value="county.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="countyOk">确定</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="countyOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 电池品牌 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请输入电池品牌" |
| | | :visible.sync="battProducer.dialogVisible" |
| | | width="280px" |
| | | append-to-body |
| | | > |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.inputMsg') + ' ' + $t('BatteryBrand')" |
| | | :visible.sync="battProducer.dialogVisible" width="280px" append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="电池品牌"> |
| | | <el-form-item :label="$t('BatteryBrand')"> |
| | | <el-input v-model="battProducer.value"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="battProducerOk" |
| | | >确定</el-button |
| | | > |
| | | <el-button size="mini" @click="battProducer.dialogVisible = false" |
| | | >取消</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="battProducerOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="battProducer.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | import { searchBattProducer, edit } from "../js/battGroupMager"; |
| | | import const_rules from "@/assets/js/const/const_rules"; |
| | | import getDevIp from "@/assets/js/tools/getDevIp"; |
| | | |
| | | import i18n from '../i18n/battGroupMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import battTypes from '@/assets/js/i18n/const_battery_type'; |
| | | import i18nConstRules from '@/assets/js/i18n/const_rules'; |
| | | import i18nConstBatt from '@/assets/js/i18n/const_battGroup'; |
| | | const i18nMixin = createI18nOption(i18n, [[battTypes, 'battTypes'], [i18nConstRules, 'constRule'], [i18nConstBatt, 'rule']]); |
| | | export default { |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | batt: { |
| | | type: Object, |
| | |
| | | let rules = const_battGroup.rules; |
| | | let constRules = const_rules; |
| | | let batteryTypes = const_battery_type.types; |
| | | const vm = this; |
| | | const subRules = { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.noSpecialChar); |
| | | testVal(rule, value, callback, constRules.noSpecialChar, vm, 'constRule'); |
| | | }, |
| | | trigger: "change", |
| | | }; |
| | |
| | | stationName1: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName2: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName5: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName3: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName4: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | fbsdeviceId: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | fbsdeviceName: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_YM); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_YM, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | { |
| | | required: true, |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_WG); |
| | | testVal(rule, value, callback, rules.FbsDeviceIp_WG, vm); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | |
| | | groupIndexInFBSDevice: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | tmpId: [ |
| | | { |
| | | required: true, |
| | | message: "请先录入电价分布模板", |
| | | message: this.$t('electricityTemplateMsg'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battGroupNum: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | floatVolLevel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | offlineVolLevel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battFloatCurrent: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monResStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | monSerStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monVolLowToAvg: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | disCurrMax: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battGroupName: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monVolStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monCapStd: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | loadCurr: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battProducer: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | battModel: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battProductDate: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | battInUseDate: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | packCount: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | monCount: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | batteryTypes: batteryTypes, |
| | | chargeTypes: [ |
| | | { |
| | | label: "限流充电", |
| | | label: "LimitCurrentCharge", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "逆变充电", |
| | | label: "InverterCharge", |
| | | value: 2, |
| | | }, |
| | | ], |
| | | buscoupleStates: [ |
| | | buscouplestates: [ |
| | | { |
| | | label: "无母联", |
| | | label: "NoBuscoupler", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "有母联", |
| | | label: "Buscoupler", |
| | | value: 1, |
| | | }, |
| | | ], |
| | |
| | | // 编辑机房 |
| | | this.editHome(tmp); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | .then((res) => { |
| | | res = res.data; |
| | | if (res.code) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "修改" + batt.stationName + "成功!", |
| | | }); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | // 触发事件 |
| | | this.$emit("success"); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "修改" + batt.stationName + "失败!", |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 关闭加载框 |
| | | this.$layer.close(loading); |
| | | }) |
| | | .catch((error) => { |
| | | console.log(error); |
| | | this.$message({ |
| | | type: "error", |
| | | message: "修改" + batt.stationName + "失败!", |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | // 触发事件 |
| | | this.$emit("success"); |
| | | // 关闭加载框 |
| | |
| | | this.linkage.county = ""; |
| | | this.linkage.counties = []; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | var provinces = this.linkagePlus.getProvince(); |
| | | this.province.dialogVisible = true; |
| | | this.province.value = provinces[0].name; |
| | |
| | | // 获取省 |
| | | var stationName1 = this.params.stationName1; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName2 = this.linkage.city; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 获取市 |
| | | var stationName2 = this.params.StationName2; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName5 = this.linkage.county; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | message: this.$t('cityfirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | }, |
| | | searchTplAll() { |
| | | searchTplAll().then((res) => { |
| | | let rs = res.data; |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data; |
| | | } |
| | | let rs = res.data; |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data; |
| | | } |
| | | |
| | | // 更新模板列表 |
| | | this.tmpList = data.map((item) => { |
| | | item.key = item.tmpId; |
| | | item.value = item.tmpId; |
| | | item.label = item.tmpName; |
| | | return item; |
| | | }); |
| | | // 更新模板列表 |
| | | this.tmpList = data.map((item) => { |
| | | item.key = item.tmpId; |
| | | item.value = item.tmpId; |
| | | item.label = item.tmpName; |
| | | return item; |
| | | }); |
| | | |
| | | // 初始化模板id |
| | | this.initTpl(); |
| | | }) |
| | | // 初始化模板id |
| | | this.initTpl(); |
| | | }) |
| | | .catch((error) => { |
| | | console.log(error); |
| | | }); |
| | |
| | | let dev_id = this.params.fbsdeviceId; |
| | | let ipInfo = getDevIp(dev_id); |
| | | if (ipInfo.code == 1) { |
| | | this.$alert("设备IP:" + ipInfo.data, "系统提示", { |
| | | confirmButtonText: "确定", |
| | | }); |
| | | this.$alert(this.$t('DeviceIP') + ':' + ipInfo.data + ", " + this.$t('AutomaticupdatedtodeviceIP'), |
| | | this.$t('Message'), |
| | | { |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | }); |
| | | } else { |
| | | this.$layer.msg(ipInfo.data); |
| | | } |
| | |
| | | }, |
| | | monCountText() { |
| | | let isLithiumPack = this.isLithiumPack; |
| | | return isLithiumPack ? "锂电池包单体个数" : "单体个数"; |
| | | return isLithiumPack ? this.$t('LithiumBatteryPackCellQty') : this.$t('CellQty'); |
| | | }, |
| | | }, |
| | | mounted() { |
| | |
| | | .form-footer .three-btn { |
| | | margin-left: 12px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | :data="data" |
| | | filterable |
| | | class="transfer-width480" |
| | | :titles="['非节点站', '节点站']" |
| | | :button-texts="['移除', '添加']" |
| | | :titles="[$t('NonnodeStation'), $t('NodeStation')]" |
| | | :button-texts="[$t('Remove'), $t('Add')]" |
| | | @change="handleChange"></el-transfer> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {searchShuttleStation, updateShuttleStation} from "@/views/dataMager/js/station"; |
| | | import i18n from '../i18n/totalStation'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "nodeManage", |
| | | mixins: [i18nMixin], |
| | | data() { |
| | | return { |
| | | data: [], |
| | |
| | | updateShuttleStation(list, true).then(res=>{ |
| | | let rs = res.data; |
| | | if(rs.code == 1 && rs.data) { |
| | | this.$message.success("添加节点站成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | }else { |
| | | this.$message.error("添加节点站失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | this.searchShuttleStation(); |
| | | this.change(); |
| | |
| | | updateShuttleStation(list, false).then(res=>{ |
| | | let rs = res.data; |
| | | if(rs.code == 1 && rs.data) { |
| | | this.$message.success("移除节点站成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | }else { |
| | | this.$message.error("移除节点站失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | this.searchShuttleStation(); |
| | | this.change(); |
| | |
| | | class="params-dialog bg-white"> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="省" prop="stationName1"> |
| | | <el-form-item :label="$t('Province')" prop="stationName1"> |
| | | <el-select |
| | | v-model="params.stationName1" |
| | | placeholder="请选择省" |
| | | :placeholder="$t('form.selectMsg')" |
| | | @change="provinceChange" |
| | | :filterable="true"> |
| | | <el-option |
| | |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="市" prop="stationName2"> |
| | | <el-form-item :label="$t('City')" prop="stationName2"> |
| | | <el-select |
| | | v-model="params.stationName2" |
| | | placeholder="请选择市" |
| | | :placeholder="$t('form.selectMsg')" |
| | | @change="cityChange" |
| | | :filterable="true"> |
| | | <el-option |
| | |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="区/县/班组" prop="stationName5"> |
| | | <el-form-item :label="$t('DistrictCounty')" prop="stationName5"> |
| | | <el-select |
| | | v-model="params.stationName5" |
| | | placeholder="请选择区县" |
| | | :placeholder="$t('form.selectMsg')" |
| | | @change="countyChange" |
| | | allow-create |
| | | :filterable="true"> |
| | |
| | | :key="item" |
| | | :label="item" |
| | | :value="item"></el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="机房名称" prop="stationName3"> |
| | | <el-form-item :label="$t('EquipmentRoomName')" prop="stationName3"> |
| | | <el-input v-model="params.stationName3"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备名称" prop="stationName4"> |
| | | <el-form-item :label="$t('DeviceName')" prop="stationName4"> |
| | | <el-input v-model="params.stationName4"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="站点类型" prop="nodeStation"> |
| | | <el-form-item :label="$t('SiteType')" prop="nodeStation"> |
| | | <el-select |
| | | v-model="params.nodeStation"> |
| | | <el-option |
| | | v-for="(item, index) in nodeStations" |
| | | :key="index" |
| | | :label="item.label" |
| | | :label="$t(item.label)" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="站点电压等级" prop="stationType"> |
| | | <el-form-item :label="$t('SiteVoltageLevel')" prop="stationType"> |
| | | <el-select v-model="params.stationType"> |
| | | <el-option |
| | | v-for="item in volLevels" :key="item.value" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="经度" prop="stationLongitude"> |
| | | <el-form-item :label="$t('Longitude')" prop="stationLongitude"> |
| | | <el-input v-model="params.stationLongitude"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="纬度" prop="stationLatitude"> |
| | | <el-form-item :label="$t('Latitude')" prop="stationLatitude"> |
| | | <el-input v-model="params.stationLatitude"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="机房详细地址" prop="stationAddr"> |
| | | <el-form-item :label="$t('Address')" prop="stationAddr"> |
| | | <el-input type="textarea" v-model="params.stationAddr" resize="none"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <el-button type="primary" size="mini" @click="submitFrom">确定</el-button> |
| | | <el-button type="info" size="mini" @click="close">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="submitFrom">{{ $t('operate.ok') }}</el-button> |
| | | <el-button type="info" size="mini" @click="close">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-form> |
| | | <!-- 省 --> |
| | |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择省" |
| | | :title="$t('form.selectMsg')" |
| | | :visible.sync="province.dialogVisible" |
| | | width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="省"> |
| | | <el-form-item :label="$t('Province')"> |
| | | <el-select |
| | | v-model="province.value" |
| | | placeholder="请选择省" |
| | | :placeholder="$t('form.selectMsg')" |
| | | :filterable="true"> |
| | | <el-option |
| | | v-for="province in province.list" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="provinceOk">确定</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="provinceOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 市 --> |
| | |
| | | v-cloak |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择市" |
| | | :title="$t('form.selectMsg')" |
| | | :visible.sync="city.dialogVisible" |
| | | width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-form-item :label="$t('City')"> |
| | | <el-select |
| | | v-model="city.value" |
| | | placeholder="请选择市" |
| | | :placeholder="$t('form.selectMsg')" |
| | | :filterable="true"> |
| | | <el-option |
| | | v-for="city in city.list" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="cityOk">确定</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="cityOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 区县 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请选择区县" |
| | | :title="$t('form.selectMsg')" |
| | | :visible.sync="county.dialogVisible" |
| | | width="280px" |
| | | width="380px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-form-item :label="$t('DistrictCounty')"> |
| | | <el-select |
| | | v-model="county.value" |
| | | placeholder="请选择市" |
| | | :placeholder="$t('form.selectMsg')" |
| | | :filterable="true"> |
| | | <el-option |
| | | v-for="county in county.list" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="countyOk">确定</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="countyOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 机房 --> |
| | | <el-dialog |
| | | top="0" |
| | | class="dialog-center" |
| | | title="请输入机房" |
| | | :title="$t('form.inputMsg')" |
| | | :visible.sync="site.dialogVisible" |
| | | width="280px" |
| | | append-to-body> |
| | |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="site.value" |
| | | placeholder="请输入机房名称"></el-input> |
| | | :placeholder="$t('form.inputMsg')"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="siteOk">确定</el-button> |
| | | <el-button size="mini" @click="site.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="siteOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="site.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | import const_rules from "@/assets/js/const/const_rules"; |
| | | import {addStation, const_station, getVolLevels} from "@/views/dataMager/js/station"; |
| | | import config from "@/assets/js/config"; |
| | | import i18n from '../i18n/stationManage'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import i18nConstRules from '@/assets/js/i18n/const_rules'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nConstRules, 'rule']]); |
| | | export default { |
| | | name: "stationManage", |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | visible: { |
| | | type: Boolean, |
| | |
| | | let constRules = const_rules; |
| | | let isForSx = (config.clientName.name === "sxty"); |
| | | let volLevels = getVolLevels(isForSx); |
| | | let vm = this; |
| | | |
| | | const subRules = { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.noSpecialChar); |
| | | testVal(rule, value, callback, constRules.noSpecialChar, vm); |
| | | }, |
| | | trigger: "change", |
| | | }; |
| | |
| | | stationName1: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName2: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName5: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName3: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName4: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | // 查询后台 |
| | | getExistStations(searchParams).then((res) => { |
| | | res = res.data; |
| | | console.log(res, "res======99"); |
| | | // console.log(res, "res======99"); |
| | | let data = []; |
| | | if (res.code) { |
| | | data = res.data.map((v) => { |
| | |
| | | this.linkage.cites = []; |
| | | |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | let provinces = this.linkagePlus.getProvince(); |
| | | this.province.dialogVisible = true; |
| | | this.province.value = provinces[0].name; |
| | |
| | | // 获取省 |
| | | let stationName1 = this.params.stationName1; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName2 = this.linkage.city; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 获取市 |
| | | let stationName2 = this.params.stationName2; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName5 = this.linkage.county; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | message: this.$t('cityfirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | this.county.dialogVisible = false; |
| | | // 查询站点 |
| | | this.searchSite(); |
| | | }, |
| | | siteChange(value) { |
| | | // 获取省 |
| | | let stationName1 = this.params.stationName1; |
| | | // 获取市 |
| | | let stationName2 = this.params.stationName2; |
| | | // 获取区 |
| | | let stationName5 = this.params.stationName5; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName3 = this.linkage.site; |
| | | // 未选择省 |
| | | if (stationName1 == "") { |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 未选择市 |
| | | if (stationName2 == "") { |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 未选择区 |
| | | if (stationName5 == "") { |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择区", |
| | | }); |
| | | return; |
| | | } |
| | | this.site.dialogVisible = true; |
| | | this.linkage.site = this.site.value; |
| | | } else { |
| | | this.linkage.site = value; |
| | | } |
| | | }, |
| | | siteOk() { |
| | | let value = this.site.value; |
| | |
| | | // 添加站点 |
| | | this.addStation(tmp); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | addStation(tmp) { |
| | | this.$confirm("确认添加当前机房", "系统提示", { |
| | | this.$confirm(this.$t('addConfirm'), this.$t('Message'), { |
| | | type: "warning" |
| | | }).then(()=>{ |
| | | let loading = this.$layer.loading(); |
| | |
| | | this.$layer.close(loading); |
| | | let rs = res.data; |
| | | if(rs.code == 1) { |
| | | this.$message.success("添加机房成功!"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.$emit('success', true); |
| | | this.close(); |
| | | }else { |
| | | this.$message.warning("添加机房失败!"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error=>{ |
| | | this.$layer.close(loading); |
| | | this.$message.error("添加机房失败, 请联系管理员"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | console.log(error); |
| | | }); |
| | | }).catch(()=>{}); |
| | |
| | | margin-bottom: 8px; |
| | | text-align: right; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | class="params-dialog bg-white"> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="站点类型" prop="nodeStation"> |
| | | <el-form-item :label="$t('SiteType')" prop="nodeStation"> |
| | | <el-select |
| | | v-model="params.nodeStation"> |
| | | <el-option |
| | | v-for="(item, index) in nodeStations" |
| | | :key="index" |
| | | :label="item.label" |
| | | :label="$t(item.label)" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="站点电压等级" prop="stationType"> |
| | | <el-form-item :label="$t('SiteVoltageLevel')" prop="stationType"> |
| | | <el-select v-model="params.stationType"> |
| | | <el-option |
| | | v-for="item in volLevels" :key="item.value" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="经度" prop="stationLongitude"> |
| | | <el-form-item :label="$t('Longitude')" prop="stationLongitude"> |
| | | <el-input v-model="params.stationLongitude"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="纬度" prop="stationLatitude"> |
| | | <el-form-item :label="$t('Latitude')" prop="stationLatitude"> |
| | | <el-input v-model="params.stationLatitude"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="机房详细地址" prop="stationAddr"> |
| | | <el-form-item :label="$t('Address')" prop="stationAddr"> |
| | | <el-input type="textarea" v-model="params.stationAddr" resize="none"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <el-button type="primary" size="mini" @click="submitFrom">确定</el-button> |
| | | <el-button type="info" size="mini" @click="close">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="submitFrom">{{ $t('operate.ok') }}</el-button> |
| | | <el-button type="info" size="mini" @click="close">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | |
| | | <script> |
| | | import {const_station, updateStation, getVolLevels} from "@/views/dataMager/js/station"; |
| | | import config from "@/assets/js/config"; |
| | | |
| | | import i18n from '../i18n/updateStation'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "updateStation", |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | visible: { |
| | | type: Boolean, |
| | |
| | | if (valid) { |
| | | this.updateStation(this.params); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | updateStation(params) { |
| | | this.$confirm("确认添加当前机房", "系统提示", { |
| | | this.$confirm(this.$t('ModifyConfirm'), this.$t('Message'), { |
| | | type: "warning" |
| | | }).then(()=>{ |
| | | let loading = this.$layer.loading(); |
| | |
| | | this.$layer.close(loading); |
| | | let rs = res.data; |
| | | if(rs.code == 1) { |
| | | this.$message.success("编辑机房成功!"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.$emit('success', true); |
| | | this.close(); |
| | | }else { |
| | | this.$message.warning("编辑机房失败!"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error=>{ |
| | | this.$layer.close(loading); |
| | | this.$message.error("编辑机房失败, 请联系管理员"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | console.log(error); |
| | | }); |
| | | }).catch(error=>{}); |
| | |
| | | <template> |
| | | <div class="params-container"> |
| | | <div class="row"> |
| | | <div class="label">选择机房</div> |
| | | <el-select class="selector" size="mini" @change="selected" filterable v-model="stationId" placeholder="请选择要修改的机房"> |
| | | <div class="label">{{ $t('selectequipmentroom') }}</div> |
| | | <el-select class="selector" size="mini" @change="selected" filterable v-model="stationId" :placeholder="$t('Pleaseselecttheequipmentroomtomodify')"> |
| | | <el-option v-for="(item, idx) in stationList" :key="'item_' + idx" :label="item.stationName" |
| | | :value="item.stationId"></el-option> |
| | | </el-select> |
| | |
| | | class="params-dialog bg-white"> |
| | | <el-row :gutter="layout.gutter"> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="省" prop="stationName1"> |
| | | <el-select v-model="params.stationName1" placeholder="请选择省" @change="provinceChange" :filterable="true"> |
| | | <el-form-item :label="$t('Province')" prop="stationName1"> |
| | | <el-select v-model="params.stationName1" :placeholder="$t('form.selectMsg')" @change="provinceChange" :filterable="true"> |
| | | <el-option v-for="item in linkage.provinces" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="市" prop="stationName2"> |
| | | <el-select v-model="params.stationName2" placeholder="请选择市" @change="cityChange" :filterable="true"> |
| | | <el-form-item :label="$t('City')" prop="stationName2"> |
| | | <el-select v-model="params.stationName2" :placeholder="$t('form.selectMsg')" @change="cityChange" :filterable="true"> |
| | | <el-option v-for="item in linkage.cities" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="区/县/班组" prop="stationName5"> |
| | | <el-select v-model="params.stationName5" placeholder="请选择区县" @change="countyChange" allow-create |
| | | <el-form-item :label="$t('DistrictCounty')" prop="stationName5"> |
| | | <el-select v-model="params.stationName5" :placeholder="$t('form.selectMsg')" @change="countyChange" allow-create |
| | | :filterable="true"> |
| | | <el-option v-for="item in linkage.counties" :key="item" :label="item" :value="item"></el-option> |
| | | <el-option label="其他" value="其他"></el-option> |
| | | <el-option :label="$t('Other')" :value="$t('Other')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="机房名称" prop="stationName3"> |
| | | <el-form-item :label="$t('EquipmentRoomName')" prop="stationName3"> |
| | | <el-input v-model="params.stationName3"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span"> |
| | | <el-form-item label="设备名称" prop="stationName4"> |
| | | <el-form-item :label="$t('DeviceName')" prop="stationName4"> |
| | | <el-input v-model="params.stationName4"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="form-footer"> |
| | | <el-button type="primary" size="mini" @click="submitFrom">确定</el-button> |
| | | <el-button type="info" size="mini" @click="close">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="submitFrom">{{ $t('operate.ok') }}</el-button> |
| | | <el-button type="info" size="mini" @click="close">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-form> |
| | | <!-- 省 --> |
| | | <el-dialog v-cloak top="0" class="dialog-center" title="请选择省" :visible.sync="province.dialogVisible" width="280px" |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg')" :visible.sync="province.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="省"> |
| | | <el-select v-model="province.value" placeholder="请选择省" :filterable="true"> |
| | | <el-select v-model="province.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="province in province.list" :key="province.name" :label="province.name" |
| | | :value="province.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="provinceOk">确定</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="provinceOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="province.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 市 --> |
| | | <el-dialog v-cloak top="0" class="dialog-center" title="请选择市" :visible.sync="city.dialogVisible" width="280px" |
| | | <el-dialog v-cloak top="0" class="dialog-center" :title="$t('form.selectMsg')" :visible.sync="city.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select v-model="city.value" placeholder="请选择市" :filterable="true"> |
| | | <el-select v-model="city.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="city in city.list" :key="city.name" :label="city.name" :value="city.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="cityOk">确定</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="cityOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="city.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 区县 --> |
| | | <el-dialog top="0" class="dialog-center" title="请选择区县" :visible.sync="county.dialogVisible" width="280px" |
| | | <el-dialog top="0" class="dialog-center" :title="$t('form.selectMsg')" :visible.sync="county.dialogVisible" width="280px" |
| | | append-to-body> |
| | | <el-form size="small"> |
| | | <el-form-item label="市"> |
| | | <el-select v-model="county.value" placeholder="请选择市" :filterable="true"> |
| | | <el-select v-model="county.value" :placeholder="$t('form.selectMsg')" :filterable="true"> |
| | | <el-option v-for="county in county.list" :key="county.name" :label="county.name" |
| | | :value="county.name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="text-align: right"> |
| | | <el-button type="primary" size="mini" @click="countyOk">确定</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" size="mini" @click="countyOk">{{ $t('operate.ok') }}</el-button> |
| | | <el-button size="mini" @click="county.dialogVisible = false">{{ $t('operate.cancel') }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | import { |
| | | const_province_city_county |
| | | } from "@/assets/js/const"; |
| | | |
| | | import i18n from '../i18n/stationManage'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import i18nConstRules from '@/assets/js/i18n/const_rules'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nConstRules, 'rule']]); |
| | | export default { |
| | | name: "updateStationName", |
| | | mixins: [i18nMixin], |
| | | data() { |
| | | let constRules = const_rules; |
| | | let vm = this; |
| | | const subRules = { |
| | | validator(rule, value, callback) { |
| | | testVal(rule, value, callback, constRules.noSpecialChar); |
| | | testVal(rule, value, callback, constRules.noSpecialChar, vm); |
| | | }, |
| | | trigger: "change", |
| | | }; |
| | |
| | | stationName1: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName2: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName5: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName3: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | stationName4: [ |
| | | { |
| | | required: true, |
| | | message: "不能为空", |
| | | message: this.$t('cannotbeblank'), |
| | | trigger: "change", |
| | | }, |
| | | { ...subRules }, |
| | |
| | | this.linkage.cites = []; |
| | | |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | let provinces = this.linkagePlus.getProvince(); |
| | | this.province.dialogVisible = true; |
| | | this.province.value = provinces[0].name; |
| | |
| | | // 获取市 |
| | | let stationName2 = this.params.stationName2; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName5 = this.linkage.county; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择市", |
| | | message: this.$t('cityfirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | // 获取省 |
| | | let stationName1 = this.params.stationName1; |
| | | // 点击其他 |
| | | if (value == "其他") { |
| | | if (value == this.$t('Other')) { |
| | | // 恢复上一次选择的内容 |
| | | this.params.stationName2 = this.linkage.city; |
| | | // 未选择省 |
| | |
| | | // 提出告警 |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "请先选择省", |
| | | message: this.$t('provincefirst'), |
| | | }); |
| | | return; |
| | | } |
| | |
| | | }, |
| | | submitFrom() { |
| | | if (!this.stationId) { |
| | | this.$message.error('请选择要修改的机房'); |
| | | this.$message.error(this.$t('Pleaseselecttheequipmentroomtomodify')); |
| | | return false; |
| | | } |
| | | this.$refs.ruleForm.validate((valid) => { |
| | |
| | | }; |
| | | this.updateName(params); |
| | | } else { |
| | | this.$layer.msg("存在校验未通过的数据!"); |
| | | this.$layer.msg(this.$t('form.validateMsg')); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | this.$layer.close(loading); |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | this.$message.success("编辑机房成功!"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.close(); |
| | | } else { |
| | | this.$message.warning("编辑机房失败!"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | this.$layer.close(loading); |
| | | this.$message.error("编辑机房失败, 请联系管理员"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | console.log(error); |
| | | }); |
| | | }, |
| | |
| | | margin-bottom: 8px; |
| | | text-align: right; |
| | | } |
| | | </style> |
| | | </style> |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | selectequipmentroom: '选择机房', |
| | | Pleaseselecttheequipmentroomtomodify: '请选择要修改的机房', |
| | | Other: '其他', |
| | | Province: '省', |
| | | City: '市', |
| | | DistrictCounty: '区县/班组', |
| | | selectDistrictCounty: '请选择区县/班组', |
| | | NodeStationManagement: '节点站管理', |
| | | NodeStationManaegement: '节点/非节点站管理', |
| | | StationEdit: '站点编辑', |
| | | RoomNo: '机房编号', |
| | | EquipmentRoomName: '机房名称', |
| | | DeviceName: '设备名称', |
| | | SiteType: '站点类型', |
| | | SiteVoltageLevel: '站点电压等级', |
| | | Longitude: '经度', |
| | | Latitude: '纬度', |
| | | Address: '机房详细地址', |
| | | NodeStation: '节点站', |
| | | NonnodeStation: '非节点站', |
| | | addConfirm: '确认添加当前机房', |
| | | Message: '提示', |
| | | Remove: '移除', |
| | | Add: '添加', |
| | | cannotbeblank: '不能为空', |
| | | provincefirst: '请先选择省', |
| | | cityfirst: '请先选择市', |
| | | AddBatteryGroup: '添加电池组', |
| | | BatteryInfoEditselect: '电池信息编辑选择', |
| | | BatteryInfoEdit: '电池信息编辑', |
| | | RemoteIPModify: '远程IP修改', |
| | | RatedCapacity: '标称容量(AH)', |
| | | RatedCellV: '标称单体电压(V)', |
| | | RatedCellR: '标称单体内阻(mΩ)', |
| | | ManufactureDate: '电池生产日期', |
| | | ServiceDate: '投入使用日期', |
| | | BatteryBrand: '电池品牌', |
| | | BatteryModel: '电池型号', |
| | | LoadCurrent: '负载电流(A)', |
| | | MaxDischargeCurrent: '最大核容电流(A)', |
| | | DeviceID: '设备ID', |
| | | DeviceIP: '设备IP', |
| | | SubnetMask: '子网掩码', |
| | | Gateway: '网关', |
| | | ProtocolName: '协议名称', |
| | | FBSIndex: 'FBS设备索引', |
| | | BatteryGroupID: '电池组ID', |
| | | BatteryGroupType: '电池组类型', |
| | | BatteryGroupName: '电池组名称', |
| | | FCVoltageThreshold: '浮充电压阀值(V)', |
| | | OfflineThreshold: '离线电压阀值(V)', |
| | | FCCurrentThreshold: '浮充电流阀值(A)', |
| | | CellQty: '单体数量', |
| | | RatedCellC: '标称单体电导', |
| | | MonitoringSerialNo: '视频监控序列号', |
| | | TemplateName: '模板名称', |
| | | BaseStationNo: '基站号码', |
| | | BatteryInfoManagementData: '电池信息管理数据', |
| | | Confimetodelete: '确定删除', |
| | | LithiumBatteryPackCellQty: '锂电池包单体个数', |
| | | CellQty: '单体个数', |
| | | AutomaticupdatedtodeviceIP: '已自动更新到设备IP', |
| | | LimitCurrentCharge: '限流充电', |
| | | InverterCharge: '逆变充电', |
| | | NoBuscoupler: '无母联', |
| | | Buscoupler: '有母联', |
| | | CountyFirst: '请先选择区', |
| | | electricityTemplateMsg: '请先录入电价分布模板', |
| | | DeviceType: '设备类型', |
| | | ChargeType: '充电类型', |
| | | BuscouplerStatus: '母联状态', |
| | | LithiumBatteryPackQty: '锂电池包个数', |
| | | ElectricityRateTemplate: '电价分布模板', |
| | | AutomaticallycalculateIP: '自动计算IP', |
| | | Validity: '有效性', |
| | | PermanentValidity: '永久有效', |
| | | TemporaryValidity: '临时有效', |
| | | ConfirmtomodifyIP: '确认修改IP', |
| | | }, |
| | | US: { |
| | | selectequipmentroom: 'select equipment room', |
| | | Pleaseselecttheequipmentroomtomodify: 'Please select the equipment room to modify', |
| | | Other: 'Other', |
| | | Province: 'Province', |
| | | City: 'City', |
| | | DistrictCounty: 'District/County', |
| | | selectDistrictCounty: 'Please Select District/County', |
| | | NodeStationManagement: 'Node Station Management', |
| | | NodeStationManaegement: 'Node/Non-node Station Manaegement', |
| | | StationEdit: 'Station Edit', |
| | | RoomNo: 'Room No.', |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | DeviceName: 'Device Name', |
| | | SiteType: 'Site Type', |
| | | SiteVoltageLevel: 'Site Voltage Level', |
| | | Longitude: 'Longitude', |
| | | Latitude: 'Latitude', |
| | | Address: 'Detail Address', |
| | | NodeStation: 'Node Station', |
| | | NonnodeStation: 'Non-node Station', |
| | | addConfirm: 'Confirm to add the current equipment room?', |
| | | Message: 'Message', |
| | | Remove: 'Remove', |
| | | Add: 'Add', |
| | | cannotbeblank: 'cannot be blank.', |
| | | provincefirst: 'Please select the province first', |
| | | cityfirst: 'Please select the city first', |
| | | AddBatteryGroup: 'Add Battery Group', |
| | | BatteryInfoEditselect: 'Battery Info Edit select', |
| | | BatteryInfoEdit: 'Battery Info Edit', |
| | | RemoteIPModify: 'Remote IP Modify', |
| | | RatedCapacity: 'Rated Capacity (Ah)', |
| | | RatedCellV: 'Rated Cell V(V)', |
| | | RatedCellR: 'Rated Cell R(mΩ)', |
| | | ManufactureDate: 'Manufacture Date', |
| | | ServiceDate: 'Service Date', |
| | | BatteryBrand: 'Battery Brand', |
| | | BatteryModel: 'Battery Model', |
| | | LoadCurrent: 'Load Current (A)', |
| | | MaxDischargeCurrent: 'Max Discharge Current (A)', |
| | | DeviceID: 'Device ID', |
| | | DeviceIP: 'Device IP', |
| | | SubnetMask: 'Subnet Mask', |
| | | Gateway: 'Gateway', |
| | | ProtocolName: 'Protocol Name', |
| | | FBSIndex: 'FBS Index', |
| | | BatteryGroupID: 'Battery Group ID', |
| | | BatteryGroupType: 'Battery Group Type', |
| | | BatteryGroupName: 'Battery Group Name', |
| | | FCVoltageThreshold: 'FC Voltage Threshold (V)', |
| | | OfflineThreshold: 'Off-line Threshold (V)', |
| | | FCCurrentThreshold: 'FC Current Threshold (A)', |
| | | CellQty: 'Cell Qty', |
| | | RatedCellC: 'Rated Cell C', |
| | | MonitoringSerialNo: 'Monitoring Serial No.', |
| | | TemplateName: 'Template Name', |
| | | BaseStationNo: 'Base Station No.', |
| | | BatteryInfoManagementData: 'Battery Info Management Data', |
| | | Confimetodelete: 'Confime to delete ', |
| | | LithiumBatteryPackCellQty: 'Lithium Battery Pack Cell Qty', |
| | | CellQty: 'Cell Qty', |
| | | AutomaticupdatedtodeviceIP: 'Automatic updated to device IP.', |
| | | LimitCurrentCharge: 'Limit Current Charge', |
| | | InverterCharge: 'Inverter Charge', |
| | | NoBuscoupler: 'No Bus-coupler', |
| | | Buscoupler: 'Bus-coupler', |
| | | CountyFirst: 'Please select the District/County first', |
| | | electricityTemplateMsg: 'Please input the electricity rate distribution template.', |
| | | DeviceType: 'Device Type', |
| | | ChargeType: 'Charge Type', |
| | | BuscouplerStatus: 'Bus-coupler Status', |
| | | LithiumBatteryPackQty: 'Lithium Battery Pack Qty', |
| | | ElectricityRateTemplate: 'Electricity Rate Template', |
| | | AutomaticallycalculateIP: 'Automatically calculate IP', |
| | | Validity: 'Validity', |
| | | PermanentValidity: 'Permanent Validity', |
| | | TemporaryValidity: 'Temporary Validity', |
| | | ConfirmtomodifyIP: 'Confirm to modify IP.', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | selectequipmentroom: '选择机房', |
| | | Pleaseselecttheequipmentroomtomodify: '请选择要修改的机房', |
| | | Other: '其他', |
| | | Province: '省', |
| | | City: '市', |
| | | DistrictCounty: '区/县/班组', |
| | | NodeStationManagement: '节点站管理', |
| | | NodeStationManaegement: '节点/非节点站管理', |
| | | StationEdit: '站点编辑', |
| | | RoomNo: '机房编号', |
| | | EquipmentRoomName: '机房名称', |
| | | DeviceName: '设备名称', |
| | | SiteType: '站点类型', |
| | | SiteVoltageLevel: '站点电压等级', |
| | | Longitude: '经度', |
| | | Latitude: '纬度', |
| | | Address: '机房详细地址', |
| | | NodeStation: '节点站', |
| | | NonnodeStation: '非节点站', |
| | | addConfirm: '确认添加当前机房', |
| | | Message: '提示', |
| | | Remove: '移除', |
| | | Add: '添加', |
| | | cannotbeblank: '不能为空', |
| | | provincefirst: '请先选择省', |
| | | cityfirst: '请先选择市', |
| | | }, |
| | | US: { |
| | | selectequipmentroom: 'select equipment room', |
| | | Pleaseselecttheequipmentroomtomodify: 'Please select the equipment room to modify', |
| | | Other: 'Other', |
| | | Province: 'Province', |
| | | City: 'City', |
| | | DistrictCounty: 'District/County', |
| | | NodeStationManagement: 'Node Station Management', |
| | | NodeStationManaegement: 'Node/Non-node Station Manaegement', |
| | | StationEdit: 'Station Edit', |
| | | RoomNo: 'Room No.', |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | DeviceName: 'Device Name', |
| | | SiteType: 'Site Type', |
| | | SiteVoltageLevel: 'Site Voltage Level', |
| | | Longitude: 'Longitude', |
| | | Latitude: 'Latitude', |
| | | Address: 'Detail Address', |
| | | NodeStation: 'Node Station', |
| | | NonnodeStation: 'Non-node Station', |
| | | addConfirm: 'Confirm to add the current equipment room?', |
| | | Message: 'Message', |
| | | Remove: 'Remove', |
| | | Add: 'Add', |
| | | cannotbeblank: 'cannot be blank.', |
| | | provincefirst: 'Please select the province first', |
| | | cityfirst: 'Please select the city first', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | Province: '省', |
| | | City: '市', |
| | | DistrictCounty: '区/县/班组', |
| | | ModifyEquipmentRoomName: '修改机房名', |
| | | NodeStationManagement: '节点站管理', |
| | | NewStation: '新建站点', |
| | | NodeStationManaegement: '节点/非节点站管理', |
| | | StationEdit: '站点编辑', |
| | | RoomNo: '机房编号', |
| | | EquipmentRoomName: '机房名称', |
| | | SiteType: '站点类型', |
| | | SiteVoltageLevel: '电压等级', |
| | | Longitude: '经度', |
| | | Latitude: '纬度', |
| | | Address: '地址', |
| | | NodeStation: '节点站', |
| | | NonnodeStation: '非节点站', |
| | | Confirmtodeletethecurrentequipmentroom: '确认删除当前机房', |
| | | Message: '提示', |
| | | Remove: '移除', |
| | | Add: '添加', |
| | | }, |
| | | US: { |
| | | Province: 'Province', |
| | | City: 'City', |
| | | DistrictCounty: 'District/County', |
| | | ModifyEquipmentRoomName: 'Modify Equipment Room Name', |
| | | NodeStationManagement: 'Node Station Management', |
| | | NewStation: 'New Station', |
| | | NodeStationManaegement: 'Node/Non-node Station Manaegement', |
| | | StationEdit: 'Station Edit', |
| | | RoomNo: 'Room No.', |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | SiteType: 'Site Type', |
| | | SiteVoltageLevel: 'Site Voltage Level', |
| | | Longitude: 'Longitude', |
| | | Latitude: 'Latitude', |
| | | Address: 'Address', |
| | | NodeStation: 'Node Station', |
| | | NonnodeStation: 'Non-node Station', |
| | | Confirmtodeletethecurrentequipmentroom: 'Confirm to delete the current equipment room?', |
| | | Message: 'Message', |
| | | Remove: 'Remove', |
| | | Add: 'Add', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | SiteType: '站点类型', |
| | | SiteVoltageLevel: '站点电压等级', |
| | | Longitude: '经度', |
| | | Latitude: '纬度', |
| | | Address: '地址', |
| | | NodeStation: '节点站', |
| | | NonnodeStation: '非节点站', |
| | | Message: '提示', |
| | | ModifyConfirm: '确认修改当前机房', |
| | | }, |
| | | US: { |
| | | SiteType: 'Site Type', |
| | | SiteVoltageLevel: 'Site Voltage Level', |
| | | Longitude: 'Longitude', |
| | | Latitude: 'Latitude', |
| | | Address: 'Detail Address', |
| | | NodeStation: 'Node Station', |
| | | NonnodeStation: 'Non-node Station', |
| | | Message: 'Message', |
| | | ModifyConfirm: 'Confirm to Modify the current equipment room?', |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | export const const_station = [ |
| | | { |
| | | label: "非节点", |
| | | label: "NonnodeStation", |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: "节点", |
| | | label: "NodeStation", |
| | | value: 1 |
| | | } |
| | | ]; |
| | |
| | | <flex-layout :loading="loading"> |
| | | <div class="table-layout filter-box-table" slot="header"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">省:</div> |
| | | <div class="table-cell text-right">{{ $t('Province') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.province" |
| | | @change="searchCity" |
| | | size="small" |
| | | placeholder="请选择省" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.province" |
| | | v-for="(item, idx) in filters.data.province" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :label="0 == idx ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">市:</div> |
| | | <div class="table-cell text-right">{{ $t('City') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.city" |
| | | @change="searchCounty" |
| | | size="small" |
| | | placeholder="请选择市" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.city" |
| | | v-for="(item, idx) in filters.data.city" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :label="0 == idx ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">区/县/班组:</div> |
| | | <div class="table-cell text-right">{{ $t('DistrictCounty') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="filters.values.county" |
| | | @change="searchData" |
| | | size="small" |
| | | placeholder="请选择区/县/班组" |
| | | > |
| | | <el-option |
| | | v-for="item in filters.data.county" |
| | | v-for="(item, idx) in filters.data.county" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :label="0 == idx ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | |
| | | v-for="header in headers" |
| | | :key="header.prop" |
| | | :prop="header.prop" |
| | | :label="header.label" |
| | | :label="$t(header.label)" |
| | | :min-width="header.minWidth" |
| | | align="center" |
| | | :resizable="false"></el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="160" align="center"> |
| | | <el-table-column fixed="right" :label="$t('operate.operation')" width="160" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="updateStation(scope.row)">编辑</el-button> |
| | | <el-button type="danger" size="mini" @click="delStation(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" @click="updateStation(scope.row)">{{ $t('operate.edit') }}</el-button> |
| | | <el-button type="danger" size="mini" @click="delStation(scope.row)">{{ $t('operate.delete') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | @click="searchData" |
| | | round |
| | | size="mini" |
| | | icon="el-icon-search">查询</el-button> |
| | | icon="el-icon-search">{{ $t('operate.search') }}</el-button> |
| | | </div> |
| | | <el-pagination |
| | | size="mini" |
| | |
| | | type="primary" |
| | | @click="editVisible = true" |
| | | round |
| | | size="mini">修改机房名</el-button> |
| | | size="mini">{{ $t('ModifyEquipmentRoomName') }}</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="nodeManage" |
| | | round |
| | | size="mini">节点站管理</el-button> |
| | | size="mini">{{ $t('NodeStationManagement') }}</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="addStation" |
| | | round |
| | | size="mini">新建站点</el-button> |
| | | size="mini">{{ $t('NewStation') }}</el-button> |
| | | </div> |
| | | </div> |
| | | <!-- 节点/非节点站管理 --> |
| | | <el-dialog |
| | | title="节点/非节点站管理" |
| | | :title="$t('NodeStationManaegement')" |
| | | width="auto" |
| | | :visible.sync="nodeManageDialog" |
| | | :close-on-click-modal="false" |
| | |
| | | </el-dialog> |
| | | <!-- 新增站点 --> |
| | | <el-dialog |
| | | title="新增站点" |
| | | :title="$t('NewStation')" |
| | | width="auto" |
| | | :visible.sync="stationManageDialog" |
| | | :close-on-click-modal="false" |
| | |
| | | </el-dialog> |
| | | <!-- 编辑站点 --> |
| | | <el-dialog |
| | | :title="info.stationName+'-站点编辑'" |
| | | :title="info.stationName+'-' + $t('StationEdit')" |
| | | width="auto" |
| | | :visible.sync="updateStationDialog" |
| | | :close-on-click-modal="false" |
| | |
| | | </el-dialog> |
| | | <!-- 修改机房名 --> |
| | | <el-dialog |
| | | title="修改机房名" |
| | | :title="$t('ModifyEquipmentRoomName')" |
| | | width="auto" |
| | | :visible.sync="editVisible" |
| | | :close-on-click-modal="false" |
| | |
| | | import StationManage from "@/views/dataMager/components/stationManage.vue"; |
| | | import UpdateStation from "@/views/dataMager/components/updateStation.vue"; |
| | | import UpdateStationName from "@/views/dataMager/components/updateStationName"; |
| | | |
| | | import i18n from './i18n/totalStation'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "totalStation", |
| | | mixins: [i18nMixin], |
| | | components: { |
| | | UpdateStation, |
| | | StationManage, |
| | |
| | | headers: [ |
| | | { |
| | | prop: 'stationId', |
| | | label: '机房编号', |
| | | label: 'RoomNo', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: "stationName", |
| | | label: "机房名称", |
| | | label: "EquipmentRoomName", |
| | | minWidth: 480, |
| | | }, |
| | | { |
| | | prop: 'nodeStationText', |
| | | label: '站点类型', |
| | | label: 'SiteType', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: 'stationType', |
| | | label: '电压等级', |
| | | label: 'SiteVoltageLevel', |
| | | minWidth: 150 |
| | | }, |
| | | { |
| | | prop: "stationLongitude", |
| | | label: "经度", |
| | | label: "Longitude", |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | | prop: "stationLatitude", |
| | | label: "纬度", |
| | | label: "Latitude", |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | | prop: "stationAddr", |
| | | label: "地址", |
| | | label: "Address", |
| | | minWidth: 360, |
| | | }, |
| | | ], |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置省 |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置市 |
| | |
| | | let len = data.length; |
| | | // 设置第一笔数据 |
| | | data.unshift({ |
| | | label: "全部(共" + len + "种)", |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | // 设置区县 |
| | |
| | | if(rs.code == 1 && rs.data) { |
| | | let data2 = rs.data2; |
| | | data = data2.list.map(item=>{ |
| | | item.nodeStationText = item.nodeStation?"节点站":"非节点站"; |
| | | item.nodeStationText = item.nodeStation? this.$t('NodeStation') : this.$t('NonnodeStation'); |
| | | return item; |
| | | }); |
| | | this.page.pageAll = data2.total; |
| | |
| | | this.updateStationDialog = true; |
| | | }, |
| | | delStation(row) { |
| | | this.$confirm("确认删除当前机房", "系统提示", { |
| | | this.$confirm(this.$t('Confirmtodeletethecurrentequipmentroom'), this.$t('Message'), { |
| | | type: "error" |
| | | }).then(()=>{ |
| | | let loading = this.$layer.loading(); |
| | |
| | | this.$layer.close(loading); |
| | | let rs = res.data; |
| | | if(rs.code == 1) { |
| | | this.$message.success("删除机房成功!"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | }else { |
| | | this.$message.warning("删除机房失败!"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | this.searchData(); |
| | | }).catch(error=>{ |
| | | this.$layer.close(loading); |
| | | this.$message.error("删除机房失败, 请联系管理员"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | console.log(error); |
| | | }); |
| | | }).catch(()=>{}); |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | /deep/ .el-transfer .el-transfer__buttons { |
| | | width: 5.2rem; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="baoji-group-list"> |
| | | <ul> |
| | | <li v-if="list.length == 0"> |
| | | <div class="no-data-text">暂无数据</div> |
| | | </li> |
| | | <li class="baoji-group-li" v-for="item in list" :key="item.key"> |
| | | <a href="javascript:;" |
| | | :class="{'active-item': item.key == activeKey}" |
| | | @click="handleClick(item)">{{item.txt}}</a> |
| | | <div class="baoji-group-tools" v-if="showGroupBtn"> |
| | | <el-button @click="changeGroup(item)" :type="item.dischargePlanFlag?'danger':'primary'" size="mini">{{ item.dischargePlanFlag?'取消班组':'设置班组' }}</el-button> |
| | | </div> |
| | | </li> |
| | | </ul> |
| | | <!-- 冲突机房显示 --> |
| | | <el-dialog |
| | | title="冲突机房显示" |
| | | width="auto" |
| | | :visible.sync="clashStationDialog" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false"> |
| | | <clash-station :data="tableData"></clash-station> |
| | | </el-dialog> |
| | | </div> |
| | | <div class="baoji-group-list"> |
| | | <ul> |
| | | <li v-if="list.length == 0"> |
| | | <div class="no-data-text">{{ $t('NoData') }}</div> |
| | | </li> |
| | | <li class="baoji-group-li" v-for="item in list" :key="item.key"> |
| | | <a href="javascript:;" :class="{ 'active-item': item.key == activeKey }" @click="handleClick(item)">{{ item.txt }}</a> |
| | | <!-- <div class="baoji-group-tools" v-if="showGroupBtn"> |
| | | <el-button @click="changeGroup(item)" :type="item.dischargePlanFlag ? 'danger' : 'primary'" size="mini">{{ |
| | | item.dischargePlanFlag ? '取消班组' : '设置班组' }}</el-button> |
| | | </div> --> |
| | | </li> |
| | | </ul> |
| | | <!-- 冲突机房显示 --> |
| | | <el-dialog title="冲突机房显示" width="auto" :visible.sync="clashStationDialog" :close-on-click-modal="false" top="0" |
| | | class="dialog-center" :modal-append-to-body="false"> |
| | | <clash-station :data="tableData"></clash-station> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {dischargeFlag} from "@/views/userMager/apis/apis"; |
| | | import { dischargeFlag } from "@/views/userMager/apis/apis"; |
| | | import ClashStation from "@/views/userMager/components/clashStation.vue"; |
| | | |
| | | import i18n from './i18n/BaojiGroupList'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: 'BaojiGroupList', |
| | | components: {ClashStation}, |
| | | mixins: [i18nMixin], |
| | | components: { ClashStation }, |
| | | props: { |
| | | list: { |
| | | type: Array, |
| | |
| | | }, |
| | | methods: { |
| | | handleClick(item) { |
| | | if(this.activeKey != item.key) { |
| | | if (this.activeKey != item.key) { |
| | | this.activeKey = item.key; |
| | | this.$emit('handle-click', item) |
| | | } |
| | |
| | | changeGroup(data) { |
| | | let msg = ""; |
| | | const h = this.$createElement; |
| | | if(data.dischargePlanFlag) { |
| | | if (data.dischargePlanFlag) { |
| | | msg = h('p', null, [ |
| | | h('span', null, '确认把'), |
| | | h('span', { style: 'color: teal;font-size:18px' }, data.txt), |
| | |
| | | h('span', null, "吗?"), |
| | | h('p', null, "这可能导致生成放电计划的时候跳过该包机组!") |
| | | ]); |
| | | }else { |
| | | } else { |
| | | msg = h('p', null, [ |
| | | h('span', null, '确认把'), |
| | | h('span', { style: 'color: teal;font-size:18px'}, data.txt), |
| | | h('span', { style: 'color: teal;font-size:18px' }, data.txt), |
| | | h('span', null, '设置为班组吗'), |
| | | ]); |
| | | } |
| | | this.$confirm(msg,"系统提示", { |
| | | this.$confirm(msg, "系统提示", { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(()=>{ |
| | | }).then(() => { |
| | | this.handleChangeGroup(data); |
| | | }).catch(()=>{}); |
| | | }).catch(() => { }); |
| | | }, |
| | | handleChangeGroup(data) { |
| | | let flag = data.dischargePlanFlag?0:1; |
| | | let flag = data.dischargePlanFlag ? 0 : 1; |
| | | let baoJiGroupld = data.baoJiGroupId; |
| | | dischargeFlag(baoJiGroupld, flag).then(res=>{ |
| | | dischargeFlag(baoJiGroupld, flag).then(res => { |
| | | let rs = res.data; |
| | | if(rs.code == 1 && rs.data) { |
| | | let msg = data.dischargePlanFlag?"移除成功":"设置成功"; |
| | | if (rs.code == 1 && rs.data) { |
| | | let msg = data.dischargePlanFlag ? "移除成功" : "设置成功"; |
| | | this.$message.success(msg); |
| | | this.$emit('success', true); |
| | | }else { |
| | | } else { |
| | | this.$alert("当前包机组与其他班组管理的机房存在冲突!", "系统提示", { |
| | | callback: action=>{ |
| | | this.tableData = rs.data2.map(item=>{ |
| | | item.stationName = item.stationName1+"-"+item.stationName2+"-"+item.stationName5+"-"+item.stationName3; |
| | | callback: action => { |
| | | this.tableData = rs.data2.map(item => { |
| | | item.stationName = item.stationName1 + "-" + item.stationName2 + "-" + item.stationName5 + "-" + item.stationName3; |
| | | return item; |
| | | }); |
| | | this.clashStationDialog = true; |
| | | } |
| | | }); |
| | | } |
| | | }).catch(error=>{ |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .baoji-group-list a{ |
| | | display: block; |
| | | padding: 6px 8px; |
| | | text-indent: 10px; |
| | | text-decoration: none; |
| | | color: #FFFFFF; |
| | | font-size: 14px; |
| | | .baoji-group-list a { |
| | | display: block; |
| | | padding: 6px 8px; |
| | | text-indent: 10px; |
| | | text-decoration: none; |
| | | color: #FFFFFF; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .baoji-group-list a:hover { |
| | | background-color: #0b2184; |
| | | background-color: #0b2184; |
| | | } |
| | | |
| | | .baoji-group-list a.active-item { |
| | | background-color: #00fefe; |
| | | color: #021a64; |
| | | background-color: #00fefe; |
| | | color: #021a64; |
| | | } |
| | | |
| | | .no-data-text { |
| | | padding-top: 18px; |
| | | text-align: center; |
| | | padding-top: 18px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .baoji-group-li { |
| | | position: relative; |
| | | } |
| | | |
| | | .baoji-group-tools { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | <template> |
| | | <flex-layout direction="row" no-bg> |
| | | <my-card slot="header" title="包机组列表" class="w300"> |
| | | <div slot="card-tools"> |
| | | <el-button class="card-tools" size="mini" type="primary" |
| | | :disabled="!isCanEdit" |
| | | icon="el-icon-plus" circle @click="showAddDialog"></el-button> |
| | | <el-button class="card-tools" size="mini" type="primary" |
| | | :disabled="getToolsState || !isCanEdit" |
| | | icon="el-icon-edit" circle @click="showEditDialog"></el-button> |
| | | <el-button class="card-tools" size="mini" type="danger" |
| | | :disabled="getToolsState || !isCanEdit" |
| | | icon="el-icon-delete" circle @click="confirmDelBaojiGroup"></el-button> |
| | | <flex-layout direction="row" no-bg> |
| | | <my-card slot="header" :title="$t('WorkTeamList')" class="w300"> |
| | | <div slot="card-tools"> |
| | | <el-button class="card-tools" size="mini" type="primary" :disabled="!isCanEdit" icon="el-icon-plus" circle |
| | | @click="showAddDialog"></el-button> |
| | | <el-button class="card-tools" size="mini" type="primary" :disabled="getToolsState || !isCanEdit" |
| | | icon="el-icon-edit" circle @click="showEditDialog"></el-button> |
| | | <el-button class="card-tools" size="mini" type="danger" :disabled="getToolsState || !isCanEdit" |
| | | icon="el-icon-delete" circle @click="confirmDelBaojiGroup"></el-button> |
| | | </div> |
| | | <baoji-group-list ref="groupList" :list="baojigrouplist" :show-group-btn="true" @handle-click="groupListClick" |
| | | @success="searchBaojiGroupList"></baoji-group-list> |
| | | </my-card> |
| | | <div class="flex-page-content"> |
| | | <el-tabs v-model="activeName" type="border-card" class="flex-layout "> |
| | | <el-tab-pane :label="$t('WorkTeamUser')" name="baoji-group-user"> |
| | | <span slot="label"><i class="el-icon-user-solid"></i> {{ $t('WorkTeamUser') }}</span> |
| | | <el-transfer v-model="user.value" :titles="[$t('Nouseradded'), $t('Addeduser')]" |
| | | :button-texts="[$t('Remove'), $t('Add')]" :data="user.data" :filterable="true" @change="userChange" |
| | | class="transfer-width320"> |
| | | </el-transfer> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="$t('EquipmentRoom')" name="baoji-home"> |
| | | <span slot="label"><i class="el-icon-s-home"></i> {{ $t('EquipmentRoom') }}</span> |
| | | <el-transfer v-model="baoji.value" :titles="[$t('Noequipmentroomadded'), $t('Addedequipmentroom')]" |
| | | :button-texts="[$t('Remove'), $t('Add')]" :data="baoji.data" :filterable="true" @change="baojiChange" |
| | | class="transfer-width480"> |
| | | </el-transfer> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | <!-- 添加包机组 --> |
| | | <el-dialog :title="$t('AddWorkTeam')" width="400px" :visible.sync="addBaojiGroup.show" :close-on-click-modal="false" |
| | | top="0" class="dialog-center" :modal-append-to-body="false"> |
| | | <div class="params-container"> |
| | | <el-form size="mini" label-position="top" class="params-dialog"> |
| | | <div class="table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell"> |
| | | <el-form-item :label="$t('WorkTeamName')"> |
| | | <el-input v-model="addBaojiGroup.value"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | <baoji-group-list |
| | | ref="groupList" |
| | | :list="baojigrouplist" |
| | | :show-group-btn="true" |
| | | @handle-click="groupListClick" @success="searchBaojiGroupList"></baoji-group-list> |
| | | </my-card> |
| | | <div class="flex-page-content"> |
| | | <el-tabs v-model="activeName" type="border-card" class="flex-layout "> |
| | | <el-tab-pane label="包机组用户" name="baoji-group-user"> |
| | | <span slot="label"><i class="el-icon-user-solid"></i> 包机组用户</span> |
| | | <el-transfer |
| | | v-model="user.value" |
| | | :titles="['未添加用户', '已添加用户']" |
| | | :button-texts="['移除', '添加']" |
| | | :data="user.data" |
| | | :filterable="true" |
| | | @change="userChange" |
| | | class="transfer-width320"> |
| | | </el-transfer> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="包机机房" name="baoji-home"> |
| | | <span slot="label"><i class="el-icon-s-home"></i> 包机机房</span> |
| | | <el-transfer |
| | | v-model="baoji.value" |
| | | :titles="['未添加机房', '已添加机房']" |
| | | :button-texts="['移除', '添加']" |
| | | :data="baoji.data" |
| | | :filterable="true" |
| | | @change="baojiChange" |
| | | class="transfer-width480"> |
| | | </el-transfer> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | <!-- 添加包机组 --> |
| | | <el-dialog |
| | | title="添加包机组" |
| | | width="400px" |
| | | :visible.sync="addBaojiGroup.show" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false"> |
| | | <div class="params-container"> |
| | | <el-form |
| | | size="mini" |
| | | label-position="top" |
| | | class="params-dialog"> |
| | | <div class="table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell"> |
| | | <el-form-item label="包机组名称"> |
| | | <el-input v-model="addBaojiGroup.value"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="addBaojiGroupOk">确定</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="addBaojiGroupOk">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 编辑包机组 --> |
| | | <el-dialog :title="$t('EditWorkTeam')" width="400px" :visible.sync="editBaojiGroup.show" :close-on-click-modal="false" |
| | | top="0" class="dialog-center" :modal-append-to-body="false"> |
| | | <div class="params-container"> |
| | | <el-form size="mini" label-position="top" class="params-dialog"> |
| | | <div class="table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell"> |
| | | <el-form-item Llabel="$t('WorkTeamName')"> |
| | | <el-input v-model="editBaojiGroup.value"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 编辑包机组 --> |
| | | <el-dialog |
| | | title="编辑包机组" |
| | | width="400px" |
| | | :visible.sync="editBaojiGroup.show" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false"> |
| | | <div class="params-container"> |
| | | <el-form |
| | | size="mini" |
| | | label-position="top" |
| | | class="params-dialog"> |
| | | <div class="table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell"> |
| | | <el-form-item label="包机组名称"> |
| | | <el-input v-model="editBaojiGroup.value"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="editBaojiGroupOk">确定</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-dialog> |
| | | </flex-layout> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="editBaojiGroupOk">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-dialog> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyCard from './MyCard' |
| | | import BaojiGroupList from './BaojiGroupList' |
| | | import {isHasPermit, uniqueByKey} from "@/assets/js/tools"; |
| | | import { baoJiGroupList,userList,stationList,addBaoJiGroup,editBaoJiGroup,deleteBaoJiGroup,moveUserList,moveStationList } from "./apis/apis" |
| | | |
| | | import { isHasPermit, uniqueByKey } from "@/assets/js/tools"; |
| | | import { baoJiGroupList, userList, stationList, addBaoJiGroup, editBaoJiGroup, deleteBaoJiGroup, moveUserList, moveStationList } from "./apis/apis" |
| | | import i18n from './i18n/baojiMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name:"baojiMager", |
| | | components: { |
| | | MyCard, |
| | | BaojiGroupList |
| | | }, |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | | let isCanEdit = isHasPermit('usr_edit_permit', permits); |
| | | return { |
| | | isCanEdit: true,//isCanEdit, |
| | | activeName: 'baoji-group-user', |
| | | user: { |
| | | data: [], |
| | | value: [] |
| | | }, |
| | | baoji: { |
| | | data: [], |
| | | value: [], |
| | | }, |
| | | baojigrouplist: [], |
| | | addBaojiGroup: { |
| | | show: false, |
| | | value: '' |
| | | }, |
| | | editBaojiGroup: { |
| | | show: false, |
| | | value: '' |
| | | }, |
| | | searchParams: { |
| | | baoji_group_id: '', |
| | | baoji_group_name: '', |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | // 初始化数据 |
| | | initData() { |
| | | // 初始化用户列表 |
| | | this.user = { |
| | | data: [], |
| | | value: [] |
| | | }; |
| | | |
| | | // 初始化包机组机房列表 |
| | | this.baoji = { |
| | | data: [], |
| | | value: [], |
| | | }; |
| | | // 初始化查询条件 |
| | | this.searchParams = { |
| | | baoji_group_id: '', |
| | | baoji_group_name: '', |
| | | }; |
| | | |
| | | // 列表的激活状态修改 |
| | | this.$refs.groupList.activeKey = ""; |
| | | }, |
| | | // 查询包机组列表 |
| | | searchBaojiGroupList() { |
| | | // 初始化数据 |
| | | this.initData(); |
| | | // 查询后台 |
| | | baoJiGroupList().then(res=>{ |
| | | let rs = res.data; |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | data = rs.data.map(item=>{ |
| | | item.txt = item.baoJiGroupName; |
| | | item.key = item.baoJiGroupId; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置包机组列表 |
| | | this.baojigrouplist = data; |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | groupListClick(item) { |
| | | let self = this; |
| | | // 设置查询的值 |
| | | self.searchParams.baoji_group_id = item.baoJiGroupId; |
| | | self.searchParams.baoji_group_name = item.baoJiGroupName; |
| | | self.editBaojiGroup.value = item.baoJiGroupName; |
| | | |
| | | // 用户 |
| | | self.getUserList(); |
| | | // 机房 |
| | | self.getStationList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // // 查询所有的用户 |
| | | // self.searchUserListAll(); |
| | | |
| | | // // 根据包机组id查询包机组用户 |
| | | // this.searchUserList(); |
| | | |
| | | // // 查询所有的机房 |
| | | // this.getStationList(); |
| | | |
| | | // // 查询已经添加到包机组的机房 |
| | | // this.searchHome(); |
| | | }, |
| | | |
| | | // 包机组已添加用户和未添加用户列表 |
| | | getUserList:function(){ |
| | | let self = this; |
| | | let id = self.searchParams.baoji_group_id; |
| | | userList({baoJiGroupId:id}).then(result=>{ |
| | | let res = result.data; |
| | | if(res.code == 1){ |
| | | let userData = []; |
| | | let addData = []; |
| | | res.data.usersAdded.forEach(item => { |
| | | item.key = item.uid; |
| | | item.label = item.uname; |
| | | item.disabled = !self.isCanEdit; |
| | | userData.push(item); |
| | | addData.push(item.uid); |
| | | }); |
| | | res.data.usersNotAdded.forEach(list => { |
| | | list.key = list.uid; |
| | | list.label = list.uname; |
| | | list.disabled = !self.isCanEdit; |
| | | userData.push(list); |
| | | }); |
| | | self.user.data = userData; |
| | | self.user.value = addData; |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | // 机房站点查询 |
| | | getStationList:function(){ |
| | | let self = this; |
| | | let id = self.searchParams.baoji_group_id; |
| | | stationList({baoJiGroupId:id}).then(result=>{ |
| | | let res = result.data; |
| | | if(res.code == 1){ |
| | | let notAdded = []; |
| | | let addData = []; |
| | | res.data.stationsAdded.forEach(item => { |
| | | item.key = item.stationId; |
| | | item.label = item.stationName; |
| | | item.disabled = !self.isCanEdit; |
| | | notAdded.push(item); |
| | | addData.push(item.stationId); |
| | | }); |
| | | res.data.stationsNotAdded.forEach(list => { |
| | | list.key = list.stationId; |
| | | list.label = list.stationName; |
| | | list.disabled = !self.isCanEdit; |
| | | notAdded.push(list); |
| | | }); |
| | | self.baoji.data = uniqueByKey('stationId', notAdded); |
| | | self.baoji.value = addData; |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | checkBaojiGroup(value) { |
| | | var rs = { |
| | | code: 1, |
| | | message: '', |
| | | }; |
| | | |
| | | // 为空检测 |
| | | if(value == '') { |
| | | rs.code = 0; |
| | | rs.message = "包机组名称不能为空"; |
| | | return rs; |
| | | } |
| | | |
| | | // 遍历包机组列表获取是否重名 |
| | | for(var i=0; i<this.baojigrouplist.length; i++) { |
| | | var _data = this.baojigrouplist[i]; |
| | | if(value == _data.txt) { |
| | | rs.code = 0; |
| | | rs.message = value+"已存在"; |
| | | break; |
| | | } |
| | | } |
| | | return rs; |
| | | }, |
| | | showAddDialog() { |
| | | // 显示添加面板并初始化值 |
| | | this.addBaojiGroup.show = true; |
| | | this.addBaojiGroup.value = ""; |
| | | }, |
| | | // 添加包机组 |
| | | addBaojiGroupOk() { |
| | | // 包机组信息 |
| | | var value = this.addBaojiGroup.value; |
| | | // 检测包机组用户的合法性 |
| | | var checkResult = this.checkBaojiGroup(value); |
| | | if(checkResult.code == 0) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: checkResult.message, |
| | | }); |
| | | return; |
| | | } |
| | | // 请求后台 |
| | | addBaoJiGroup({groupName:value}).then(result=>{ |
| | | let rs = result.data; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | |
| | | // 关闭弹出框 |
| | | this.addBaojiGroup.show = false; |
| | | // 查询包机组 |
| | | this.searchBaojiGroupList(); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | showEditDialog() { |
| | | this.editBaojiGroup.value = this.searchParams.baoji_group_name; |
| | | this.editBaojiGroup.show = true; |
| | | }, |
| | | // 修改包机组 |
| | | editBaojiGroupOk() { |
| | | // 包机组信息 |
| | | let self = this; |
| | | let data = { |
| | | baoJiGroupId:self.searchParams.baoji_group_id, |
| | | baoJiGroupName:self.editBaojiGroup.value |
| | | } |
| | | // 检测包机组用户的合法性 |
| | | var checkResult = self.checkBaojiGroup(data.baoJiGroupName); |
| | | if(checkResult.code == 0) { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'warning', |
| | | message: checkResult.message, |
| | | }); |
| | | return; |
| | | } |
| | | // 请求后台 |
| | | editBaoJiGroup(data).then(result=>{ |
| | | let rs = result.data; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | |
| | | // 关闭弹出框 |
| | | self.editBaojiGroup.show = false; |
| | | // 查询包机组 |
| | | self.searchBaojiGroupList(); |
| | | }else { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | confirmDelBaojiGroup() { |
| | | let name = this.searchParams.baoji_group_name; |
| | | this.$layer.confirm('确认删除'+name, {icon:3},index=>{ |
| | | // 关闭弹出框 |
| | | this.$layer.close(index); |
| | | // 删除包机组 |
| | | this.delBaojiGroup(); |
| | | }); |
| | | }, |
| | | delBaojiGroup() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | // 请求后台 |
| | | deleteBaoJiGroup({baoJiGroupId:id}).then(result=>{ |
| | | let rs = result.data; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | |
| | | // 查询包机组 |
| | | this.searchBaojiGroupList(); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | getUserListByuids(uids) { |
| | | var userList = this.user.data; |
| | | var searchParams = this.searchParams; |
| | | |
| | | var result = []; |
| | | for(var i=0; i<uids.length; i++) { |
| | | var uid = uids[i]; |
| | | for(var k=0; k<userList.length; k++) { |
| | | var user = userList[k]; |
| | | if(user.uid == uid) { |
| | | result.push({ |
| | | baoJiGroupId: searchParams.baoji_group_id, |
| | | // baoji_group_name: searchParams.baoji_group_name, |
| | | uId: user.uid, |
| | | // uname: user.uname, |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | }, |
| | | searchUserListAll() { |
| | | // 查询后台 |
| | | this.$apis.userMager.userInfo.searchAll().then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | data = rs.data.map(item=>{ |
| | | item.key = item.uid; |
| | | item.label = item.uname; |
| | | item.disabled = !this.isCanEdit; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置用户名 |
| | | this.user.data = data; |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | searchUserList() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | this.$apis.userMager.userInfo.searchBaojiUser(id).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | data = rs.data.map(item=>{ |
| | | return item.uid; |
| | | }); |
| | | } |
| | | // 设置用户名 |
| | | this.user.value = data; |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | userChange(list, type, values) { |
| | | let data = this.getUserListByuids(values); |
| | | let params = { |
| | | operationFlag:1 |
| | | } |
| | | // 根据类型确定事件 |
| | | switch(type) { |
| | | case 'left'://移除 |
| | | params.operationFlag = -1; |
| | | this.changeUser(params,data); |
| | | break; |
| | | case 'right'://添加 |
| | | params.operationFlag = 1; |
| | | this.changeUser(params,data); |
| | | break; |
| | | } |
| | | }, |
| | | // 添加,移除用户到包机组 |
| | | changeUser:function(params,data){ |
| | | let self = this; |
| | | moveUserList(params,data).then(result=>{ |
| | | let rs = result.data; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | self.getUserList(); |
| | | }else { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | self.getUserList(); |
| | | } |
| | | }) |
| | | }, |
| | | // 将用户添加进包机组 |
| | | addUser(list) { |
| | | // 请求后台添加 |
| | | this.$apis.userMager.baojiGroup.addUser(list).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | // 查询已经添加的用户 |
| | | this.searchUserList(); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 将用户从包机组移除 |
| | | removeUser(list) { |
| | | // 请求后台移除 |
| | | this.$apis.userMager.baojiGroup.removeUser(list).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | // 查询已经添加的用户 |
| | | this.searchUserList(); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | getUserListByKeys(keys) { |
| | | var baojiList = this.baoji.data; |
| | | var searchParams = this.searchParams; |
| | | var result = []; |
| | | for(var i=0; i<keys.length; i++) { |
| | | var key = keys[i]; |
| | | for(var k=0; k<baojiList.length; k++) { |
| | | var baoji = baojiList[k]; |
| | | if(baoji.key == key) { |
| | | result.push({ |
| | | baojiGroupId: searchParams.baoji_group_id, |
| | | // baoji_group_name: searchParams.baoji_group_name, |
| | | stationId: baoji.key, |
| | | // note: baoji.label |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | }, |
| | | searchAllHome() { |
| | | // 查询后台 |
| | | this.$apis.homeMager.searchAllStations().then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | // 去重 |
| | | let uniqueList = uniqueByKey('StationId', rs.data); |
| | | data = uniqueList.map(item=>{ |
| | | item.key = item.StationId; |
| | | item.label = item.StationName; |
| | | item.disabled = !this.isCanEdit; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置机房 |
| | | this.baoji.data = data; |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | searchHome() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | // 查询后台 |
| | | this.$apis.homeMager.searchBaojiStation(id).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | // 去重 |
| | | let uniqueList = uniqueByKey('StationId', rs.data); |
| | | data = uniqueList.map(item=>{ |
| | | return item.StationId; |
| | | }); |
| | | } |
| | | // 设置已包机组已包机机房 |
| | | this.baoji.value = data; |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 包机组左右移动 |
| | | baojiChange(list, type, values) { |
| | | var data = this.getUserListByKeys(values); |
| | | let params = { |
| | | operationFlag:1 |
| | | } |
| | | // 根据类型确定事件 |
| | | switch(type) { |
| | | case 'left': |
| | | params.operationFlag = -1; |
| | | this.changeBaoji(params,data); |
| | | break; |
| | | case 'right': |
| | | params.operationFlag = 1; |
| | | this.changeBaoji(params,data); |
| | | break; |
| | | } |
| | | }, |
| | | // 添加,移除机房 |
| | | changeBaoji:function(params,data){ |
| | | let self = this; |
| | | moveStationList(params,data).then(result=>{ |
| | | let rs = result.data; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | self.getStationList(); |
| | | }else { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | self.getStationList(); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | removeBaoji(list) { |
| | | this.$apis.userMager.baojiGroup.removeHome(list).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | // 查询已经添加包机机房 |
| | | this.searchHome(); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | addBaoji(list) { |
| | | this.$apis.userMager.baojiGroup.addHome(list).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | }else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | } |
| | | // 查询已经添加包机机房 |
| | | this.searchHome(); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }); |
| | | } |
| | | }, |
| | | computed: { |
| | | getToolsState() { // 根据选中的状态确定包机组列表工具栏的状态 |
| | | return this.searchParams.baoji_group_id == ""?true:false; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // 查询包机组列表 |
| | | this.searchBaojiGroupList(); |
| | | name: "baojiMager", |
| | | mixins: [i18nMixin], |
| | | components: { |
| | | MyCard, |
| | | BaojiGroupList |
| | | }, |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | | let isCanEdit = isHasPermit('usr_edit_permit', permits); |
| | | return { |
| | | isCanEdit: true,//isCanEdit, |
| | | activeName: 'baoji-group-user', |
| | | user: { |
| | | data: [], |
| | | value: [] |
| | | }, |
| | | baoji: { |
| | | data: [], |
| | | value: [], |
| | | }, |
| | | baojigrouplist: [], |
| | | addBaojiGroup: { |
| | | show: false, |
| | | value: '' |
| | | }, |
| | | editBaojiGroup: { |
| | | show: false, |
| | | value: '' |
| | | }, |
| | | searchParams: { |
| | | baoji_group_id: '', |
| | | baoji_group_name: '', |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | // 初始化数据 |
| | | initData() { |
| | | // 初始化用户列表 |
| | | this.user = { |
| | | data: [], |
| | | value: [] |
| | | }; |
| | | |
| | | // 初始化包机组机房列表 |
| | | this.baoji = { |
| | | data: [], |
| | | value: [], |
| | | }; |
| | | // 初始化查询条件 |
| | | this.searchParams = { |
| | | baoji_group_id: '', |
| | | baoji_group_name: '', |
| | | }; |
| | | |
| | | // 列表的激活状态修改 |
| | | this.$refs.groupList.activeKey = ""; |
| | | }, |
| | | // 查询包机组列表 |
| | | searchBaojiGroupList() { |
| | | // 初始化数据 |
| | | this.initData(); |
| | | // 查询后台 |
| | | baoJiGroupList().then(res => { |
| | | let rs = res.data; |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data.map(item => { |
| | | item.txt = item.baoJiGroupName; |
| | | item.key = item.baoJiGroupId; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置包机组列表 |
| | | this.baojigrouplist = data; |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | groupListClick(item) { |
| | | let self = this; |
| | | // 设置查询的值 |
| | | self.searchParams.baoji_group_id = item.baoJiGroupId; |
| | | self.searchParams.baoji_group_name = item.baoJiGroupName; |
| | | self.editBaojiGroup.value = item.baoJiGroupName; |
| | | |
| | | // 用户 |
| | | self.getUserList(); |
| | | // 机房 |
| | | self.getStationList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // // 查询所有的用户 |
| | | // self.searchUserListAll(); |
| | | |
| | | // // 根据包机组id查询包机组用户 |
| | | // this.searchUserList(); |
| | | |
| | | // // 查询所有的机房 |
| | | // this.getStationList(); |
| | | |
| | | // // 查询已经添加到包机组的机房 |
| | | // this.searchHome(); |
| | | }, |
| | | |
| | | // 包机组已添加用户和未添加用户列表 |
| | | getUserList: function () { |
| | | let self = this; |
| | | let id = self.searchParams.baoji_group_id; |
| | | userList({ baoJiGroupId: id }).then(result => { |
| | | let res = result.data; |
| | | if (res.code == 1) { |
| | | let userData = []; |
| | | let addData = []; |
| | | res.data.usersAdded.forEach(item => { |
| | | item.key = item.uid; |
| | | item.label = item.uname; |
| | | item.disabled = !self.isCanEdit; |
| | | userData.push(item); |
| | | addData.push(item.uid); |
| | | }); |
| | | res.data.usersNotAdded.forEach(list => { |
| | | list.key = list.uid; |
| | | list.label = list.uname; |
| | | list.disabled = !self.isCanEdit; |
| | | userData.push(list); |
| | | }); |
| | | self.user.data = userData; |
| | | self.user.value = addData; |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | // 机房站点查询 |
| | | getStationList: function () { |
| | | let self = this; |
| | | let id = self.searchParams.baoji_group_id; |
| | | stationList({ baoJiGroupId: id }).then(result => { |
| | | let res = result.data; |
| | | if (res.code == 1) { |
| | | let notAdded = []; |
| | | let addData = []; |
| | | res.data.stationsAdded.forEach(item => { |
| | | item.key = item.stationId; |
| | | item.label = item.stationName; |
| | | item.disabled = !self.isCanEdit; |
| | | notAdded.push(item); |
| | | addData.push(item.stationId); |
| | | }); |
| | | res.data.stationsNotAdded.forEach(list => { |
| | | list.key = list.stationId; |
| | | list.label = list.stationName; |
| | | list.disabled = !self.isCanEdit; |
| | | notAdded.push(list); |
| | | }); |
| | | self.baoji.data = uniqueByKey('stationId', notAdded); |
| | | self.baoji.value = addData; |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | checkBaojiGroup(value) { |
| | | var rs = { |
| | | code: 1, |
| | | message: '', |
| | | }; |
| | | |
| | | // 为空检测 |
| | | if (value == '') { |
| | | rs.code = 0; |
| | | rs.message = this.$t('Theworkteamnamecannotbeblank'); |
| | | return rs; |
| | | } |
| | | |
| | | // 遍历包机组列表获取是否重名 |
| | | for (var i = 0; i < this.baojigrouplist.length; i++) { |
| | | var _data = this.baojigrouplist[i]; |
| | | if (value == _data.txt) { |
| | | rs.code = 0; |
| | | rs.message = value + this.$t('Existed'); |
| | | break; |
| | | } |
| | | } |
| | | return rs; |
| | | }, |
| | | showAddDialog() { |
| | | // 显示添加面板并初始化值 |
| | | this.addBaojiGroup.show = true; |
| | | this.addBaojiGroup.value = ""; |
| | | }, |
| | | // 添加包机组 |
| | | addBaojiGroupOk() { |
| | | // 包机组信息 |
| | | var value = this.addBaojiGroup.value; |
| | | // 检测包机组用户的合法性 |
| | | var checkResult = this.checkBaojiGroup(value); |
| | | if (checkResult.code == 0) { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | return; |
| | | } |
| | | // 请求后台 |
| | | addBaoJiGroup({ groupName: value }).then(result => { |
| | | let rs = result.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | |
| | | // 关闭弹出框 |
| | | this.addBaojiGroup.show = false; |
| | | // 查询包机组 |
| | | this.searchBaojiGroupList(); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | showEditDialog() { |
| | | this.editBaojiGroup.value = this.searchParams.baoji_group_name; |
| | | this.editBaojiGroup.show = true; |
| | | }, |
| | | // 修改包机组 |
| | | editBaojiGroupOk() { |
| | | // 包机组信息 |
| | | let self = this; |
| | | let data = { |
| | | baoJiGroupId: self.searchParams.baoji_group_id, |
| | | baoJiGroupName: self.editBaojiGroup.value |
| | | } |
| | | // 检测包机组用户的合法性 |
| | | var checkResult = self.checkBaojiGroup(data.baoJiGroupName); |
| | | if (checkResult.code == 0) { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | return; |
| | | } |
| | | // 请求后台 |
| | | editBaoJiGroup(data).then(result => { |
| | | let rs = result.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | |
| | | // 关闭弹出框 |
| | | self.editBaojiGroup.show = false; |
| | | // 查询包机组 |
| | | self.searchBaojiGroupList(); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | confirmDelBaojiGroup() { |
| | | let name = this.searchParams.baoji_group_name; |
| | | this.$confirm( |
| | | this.$t('Confirmtodelete') + name, |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | }).then((res) => { |
| | | if (res !== 'confirm') { |
| | | return false; |
| | | } |
| | | // 删除包机组 |
| | | this.delBaojiGroup(); |
| | | }); |
| | | }, |
| | | delBaojiGroup() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | // 请求后台 |
| | | deleteBaoJiGroup({ baoJiGroupId: id }).then(result => { |
| | | let rs = result.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | |
| | | // 查询包机组 |
| | | this.searchBaojiGroupList(); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | getUserListByuids(uids) { |
| | | var userList = this.user.data; |
| | | var searchParams = this.searchParams; |
| | | |
| | | var result = []; |
| | | for (var i = 0; i < uids.length; i++) { |
| | | var uid = uids[i]; |
| | | for (var k = 0; k < userList.length; k++) { |
| | | var user = userList[k]; |
| | | if (user.uid == uid) { |
| | | result.push({ |
| | | baoJiGroupId: searchParams.baoji_group_id, |
| | | // baoji_group_name: searchParams.baoji_group_name, |
| | | uId: user.uid, |
| | | // uname: user.uname, |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | }, |
| | | searchUserListAll() { |
| | | // 查询后台 |
| | | this.$apis.userMager.userInfo.searchAll().then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data.map(item => { |
| | | item.key = item.uid; |
| | | item.label = item.uname; |
| | | item.disabled = !this.isCanEdit; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置用户名 |
| | | this.user.data = data; |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | searchUserList() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | this.$apis.userMager.userInfo.searchBaojiUser(id).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data.map(item => { |
| | | return item.uid; |
| | | }); |
| | | } |
| | | // 设置用户名 |
| | | this.user.value = data; |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | userChange(list, type, values) { |
| | | let data = this.getUserListByuids(values); |
| | | let params = { |
| | | operationFlag: 1 |
| | | } |
| | | // 根据类型确定事件 |
| | | switch (type) { |
| | | case 'left'://移除 |
| | | params.operationFlag = -1; |
| | | this.changeUser(params, data); |
| | | break; |
| | | case 'right'://添加 |
| | | params.operationFlag = 1; |
| | | this.changeUser(params, data); |
| | | break; |
| | | } |
| | | }, |
| | | // 添加,移除用户到包机组 |
| | | changeUser: function (params, data) { |
| | | let self = this; |
| | | moveUserList(params, data).then(result => { |
| | | let rs = result.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | self.getUserList(); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | self.getUserList(); |
| | | } |
| | | }) |
| | | }, |
| | | // 将用户添加进包机组 |
| | | addUser(list) { |
| | | // 请求后台添加 |
| | | this.$apis.userMager.baojiGroup.addUser(list).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 查询已经添加的用户 |
| | | this.searchUserList(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 将用户从包机组移除 |
| | | removeUser(list) { |
| | | // 请求后台移除 |
| | | this.$apis.userMager.baojiGroup.removeUser(list).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 查询已经添加的用户 |
| | | this.searchUserList(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | getUserListByKeys(keys) { |
| | | var baojiList = this.baoji.data; |
| | | var searchParams = this.searchParams; |
| | | var result = []; |
| | | for (var i = 0; i < keys.length; i++) { |
| | | var key = keys[i]; |
| | | for (var k = 0; k < baojiList.length; k++) { |
| | | var baoji = baojiList[k]; |
| | | if (baoji.key == key) { |
| | | result.push({ |
| | | baojiGroupId: searchParams.baoji_group_id, |
| | | // baoji_group_name: searchParams.baoji_group_name, |
| | | stationId: baoji.key, |
| | | // note: baoji.label |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | }, |
| | | searchAllHome() { |
| | | // 查询后台 |
| | | this.$apis.homeMager.searchAllStations().then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | // 去重 |
| | | let uniqueList = uniqueByKey('StationId', rs.data); |
| | | data = uniqueList.map(item => { |
| | | item.key = item.StationId; |
| | | item.label = item.StationName; |
| | | item.disabled = !this.isCanEdit; |
| | | return item; |
| | | }); |
| | | } |
| | | // 设置机房 |
| | | this.baoji.data = data; |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | searchHome() { |
| | | let id = this.searchParams.baoji_group_id; |
| | | // 查询后台 |
| | | this.$apis.homeMager.searchBaojiStation(id).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | // 去重 |
| | | let uniqueList = uniqueByKey('StationId', rs.data); |
| | | data = uniqueList.map(item => { |
| | | return item.StationId; |
| | | }); |
| | | } |
| | | // 设置已包机组已包机机房 |
| | | this.baoji.value = data; |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 包机组左右移动 |
| | | baojiChange(list, type, values) { |
| | | var data = this.getUserListByKeys(values); |
| | | let params = { |
| | | operationFlag: 1 |
| | | } |
| | | // 根据类型确定事件 |
| | | switch (type) { |
| | | case 'left': |
| | | params.operationFlag = -1; |
| | | this.changeBaoji(params, data); |
| | | break; |
| | | case 'right': |
| | | params.operationFlag = 1; |
| | | this.changeBaoji(params, data); |
| | | break; |
| | | } |
| | | }, |
| | | // 添加,移除机房 |
| | | changeBaoji: function (params, data) { |
| | | let self = this; |
| | | moveStationList(params, data).then(result => { |
| | | let rs = result.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | self.getStationList(); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | self.getStationList(); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | removeBaoji(list) { |
| | | this.$apis.userMager.baojiGroup.removeHome(list).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 查询已经添加包机机房 |
| | | this.searchHome(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | addBaoji(list) { |
| | | this.$apis.userMager.baojiGroup.addHome(list).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 查询已经添加包机机房 |
| | | this.searchHome(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }); |
| | | } |
| | | }, |
| | | computed: { |
| | | getToolsState() { // 根据选中的状态确定包机组列表工具栏的状态 |
| | | return this.searchParams.baoji_group_id == "" ? true : false; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // 查询包机组列表 |
| | | this.searchBaojiGroupList(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .flex-page-content { |
| | | padding: 0 8px; |
| | | padding: 0 8px; |
| | | } |
| | | </style> |
| | | |
| | | /deep/ .el-transfer .el-transfer__buttons { |
| | | width: 5.2rem; |
| | | } |
| | | </style> |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | NoData: '暂无数据', |
| | | }, |
| | | US: { |
| | | NoData: 'No Data', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | WorkTeamList: '包机组列表', |
| | | WorkTeamUser: '包机组用户', |
| | | Nouseradded: '未添加用户', |
| | | Addeduser: '已添加用户', |
| | | Remove: '移除', |
| | | Add: '添加', |
| | | EquipmentRoom: '包机机房', |
| | | Noequipmentroomadded: '未添加机房', |
| | | Addedequipmentroom: '已添加机房', |
| | | AddWorkTeam: '添加包机组', |
| | | WorkTeamName: '包机组名称', |
| | | EditWorkTeam: '编辑包机组', |
| | | Theworkteamnamecannotbeblank: '包机组名称不能为空', |
| | | Existed: '已存在', |
| | | Confirmtodelete: '确认删除', |
| | | message: '提示', |
| | | }, |
| | | US: { |
| | | WorkTeamList: 'Work Team List', |
| | | WorkTeamUser: 'Work Team User', |
| | | Nouseradded: 'No user added', |
| | | Addeduser: 'Added user', |
| | | Remove: 'Remove', |
| | | Add: 'Add', |
| | | EquipmentRoom: 'Equipment Room', |
| | | Noequipmentroomadded: 'No equipment room added', |
| | | Addedequipmentroom: 'Added equipment room', |
| | | AddWorkTeam: 'Add Work Team', |
| | | WorkTeamName: 'Work Team Name', |
| | | EditWorkTeam: 'Edit Work Team', |
| | | Theworkteamnamecannotbeblank: 'The work team name cannot be blank.', |
| | | Existed: ' is Existed', |
| | | Confirmtodelete: 'Confirm to delete ', |
| | | message: 'Message', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | AuthorityGroupList: '权限组列表', |
| | | UserAuthorityTree: '用户-权限树', |
| | | Nouseradded: '未添加用户', |
| | | Addeduser: '已添加用户', |
| | | Remove: '移除', |
| | | Add: '添加', |
| | | AddAuthorityGroup: '添加权限组', |
| | | AuthorityGroupName: '权限组名称', |
| | | ModifyAuthorityTree: '修改权限树', |
| | | ReportSearchPermission: '报表查询权限', |
| | | BatteryInformationReport: '电池信息报表', |
| | | GroupAnalysisReport: '电池组分析报表', |
| | | CellAnalysisReport: '电池单体分析报表', |
| | | BatteryDataManagement: '电池数据管理', |
| | | JobManagementPermission: '作业管理权限', |
| | | SpotCheck: '抽查', |
| | | Recheck: '复查', |
| | | UserWorkTeamPermission: '用户和包机组权限', |
| | | AuthorityManagement: '权限管理', |
| | | ServerParmsSettingPermission: '服务器参数设置权限', |
| | | OperatingPermission: '操作权限', |
| | | BatteryTest: '电池测试', |
| | | DummyLoad: '虚拟负载', |
| | | BatteryAlarmManagementPermission: '电池告警管理权限', |
| | | Confirm: '确认', |
| | | BatteryAlarmParmsSettingPermission: '电池告警参数设置权限', |
| | | DeviceAlarmManagementPermission: '设备告警管理权限', |
| | | BatteryErrorManagementPermission: '电池故障管理权限', |
| | | TroubleshootingConfirmation: '故障排除确认', |
| | | JobSpotCheckTaskManagementPermission: '作业抽查任务管理权限', |
| | | JobChangeManagementPermission: '作业变更管理权限', |
| | | Approve: '审批', |
| | | EquipmentRoomLocationManagementPermission: '机房定位信息管理权限', |
| | | AuthorityGroupNamecannotbeblank: '权限组名称不能为空', |
| | | Existed: '已存在', |
| | | Confirmtodelete: '确认删除', |
| | | message: '提示', |
| | | }, |
| | | US: { |
| | | AuthorityGroupList: 'Authority Group List', |
| | | UserAuthorityTree: 'User-Authority Tree', |
| | | Nouseradded: 'No user added', |
| | | Addeduser: 'Added user', |
| | | Remove: 'Remove', |
| | | Add: 'Add', |
| | | AddAuthorityGroup: 'Add Authority Group', |
| | | AuthorityGroupName: 'Authority Group Name', |
| | | ModifyAuthorityTree: 'Modify Authority Tree', |
| | | ReportSearchPermission: 'Report Search Permission', |
| | | BatteryInformationReport: 'Battery Information Report', |
| | | GroupAnalysisReport: 'Group Analysis Report', |
| | | CellAnalysisReport: 'Cell Analysis Report', |
| | | BatteryDataManagement: 'Battery Data Management', |
| | | JobManagementPermission: 'Job Management Permission', |
| | | SpotCheck: 'Spot Check', |
| | | Recheck: 'Recheck', |
| | | UserWorkTeamPermission: 'User & Work Team Permission', |
| | | AuthorityManagement: 'Authority Management', |
| | | ServerParmsSettingPermission: 'Server Parms Setting Permission', |
| | | OperatingPermission: 'Operating Permission', |
| | | BatteryTest: 'Battery Test', |
| | | DummyLoad: 'Dummy Load', |
| | | BatteryAlarmManagementPermission: 'Battery Alarm Management Permission', |
| | | Confirm: 'Confirm', |
| | | BatteryAlarmParmsSettingPermission: 'Battery Alarm Parms Setting Permission', |
| | | DeviceAlarmManagementPermission: 'Device Alarm Management Permission', |
| | | BatteryErrorManagementPermission: 'Battery Error Management Permission', |
| | | TroubleshootingConfirmation: 'Troubleshooting Confirmation', |
| | | JobSpotCheckTaskManagementPermission: 'Job Spot Check Task Management Permission', |
| | | JobChangeManagementPermission: 'Job Change Management Permission', |
| | | Approve: 'Approve', |
| | | EquipmentRoomLocationManagementPermission: 'Equipment Room Location Management Permission', |
| | | AuthorityGroupNamecannotbeblank: 'Authority Group Name cannot be blank.', |
| | | Existed: ' is Existed', |
| | | Confirmtodelete: 'Confirm to delete ', |
| | | message: 'Message', |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <flex-layout direction="row" no-bg> |
| | | <my-card slot="header" title="权限组列表" class="w320"> |
| | | <my-card slot="header" :title="$t('AuthorityGroupList')" class="list-wrap"> |
| | | <div slot="card-tools"> |
| | | <el-button class="card-tools" size="mini" type="primary" |
| | | :disabled="false" |
| | |
| | | :list="powergrouplist"></baoji-group-list> |
| | | </my-card> |
| | | <div class="flex-page-content"> |
| | | <context-box title="用户-权限树"> |
| | | <context-box :title="$t('UserAuthorityTree')"> |
| | | <div class="power-user-tree"> |
| | | <div class="power-content power-content-user"> |
| | | <el-transfer |
| | | v-model="user.value" |
| | | :titles="['未添加用户', '已添加用户']" |
| | | :button-texts="['移除', '添加']" |
| | | :titles="[$t('Nouseradded'), $t('Addeduser')]" |
| | | :button-texts="[$t('Remove'), $t('Add')]" |
| | | :data="user.data" |
| | | :filterable="true" |
| | | @change="userChange" |
| | | class="transfer-width320 transfer-left"> |
| | | </el-transfer> |
| | | </div> |
| | | <div class="power-tree-wrapper w320" style="overflow-y: auto;"> |
| | | <div class="power-tree-wrapper list-wrap" style="overflow-y: auto;"> |
| | | <el-tree |
| | | ref="powerTree" |
| | | :props="{label: (data) => $t(data.label)}" |
| | | :data="powerTree" |
| | | show-checkbox |
| | | node-key="id" |
| | |
| | | </div> |
| | | <!-- 添加权限组 --> |
| | | <el-dialog |
| | | title="添加权限组" |
| | | :title="$t('AddAuthorityGroup')" |
| | | width="480px" |
| | | :visible.sync="addGroup.show" |
| | | :close-on-click-modal="false" |
| | |
| | | <div class="table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell"> |
| | | <el-form-item label="权限组名称"> |
| | | <el-form-item :label="$t('AuthorityGroupName')"> |
| | | <el-input v-model="addGroup.permit_group_name"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | |
| | | <div class="dialog-tree-container h400" style="overflow-y: auto"> |
| | | <el-tree |
| | | ref="addPowerTree" |
| | | :props="{label: (data) => $t(data.label)}" |
| | | :data="powerTree" |
| | | show-checkbox |
| | | node-key="id" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="addGroupOk">确定</three-btn> |
| | | <three-btn @click="addGroupOk">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 编辑包机组 --> |
| | | <el-dialog |
| | | title="修改权限树" |
| | | :title="$t('ModifyAuthorityTree')" |
| | | width="480px" |
| | | :visible.sync="editGroup.show" |
| | | :close-on-click-modal="false" |
| | |
| | | <el-tree |
| | | ref="editPowerTree" |
| | | :data="powerTree" |
| | | :props="{label: (data) => $t(data.label)}" |
| | | show-checkbox |
| | | node-key="id" |
| | | highlight-current> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="form-footer"> |
| | | <three-btn @click="editGroupOk">确定</three-btn> |
| | | <three-btn @click="editGroupOk">{{ $t('operate.ok') }}</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | |
| | | permitGroupUser, |
| | | userSearchCSAll2 |
| | | } from "./apis/apis" |
| | | import i18n from './i18n/powerMager'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | const i18nMixin = createI18nOption(i18n); |
| | | |
| | | export default { |
| | | name:"powerMager", |
| | | mixins: [i18nMixin], |
| | | components: { |
| | | MyCard, |
| | | BaojiGroupList, |
| | |
| | | powerTree: [ |
| | | { |
| | | id: 'report_query', |
| | | label: '报表查询权限', |
| | | label: 'ReportSearchPermission', |
| | | children: [ |
| | | { |
| | | id: 'battinf_report_query_permit', |
| | | label: '电池信息报表', |
| | | label: 'BatteryInformationReport', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'battgroup_report_query_permit', |
| | | label: '电池组分析报表', |
| | | label: 'GroupAnalysisReport', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'monomer_report_query_permit', |
| | | label: '电池单体分析报表', |
| | | label: 'CellAnalysisReport', |
| | | leaf: true, |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 'batttest_data', |
| | | label: '电池数据管理', |
| | | label: 'BatteryDataManagement', |
| | | children: [ |
| | | { |
| | | id: 'batttest_data_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batttest_data_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | // { |
| | | // id: 'power_info_data', |
| | | // label: "电源数据管理", |
| | | // children: [ |
| | | // { |
| | | // id: "power_info_data_query_permit", |
| | | // label: '查询', |
| | | // leaf: true, |
| | | // }, |
| | | // { |
| | | // id: "power_info_data_edit_permit", |
| | | // label: '编辑', |
| | | // leaf: true, |
| | | // } |
| | | // ] |
| | | // }, |
| | | { |
| | | id: 'task_manage', |
| | | label: '作业管理权限', |
| | | label: 'JobManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'task_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'task_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'task_check_permit', |
| | | label: '抽查', |
| | | label: 'SpotCheck', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'task_recheck_permit', |
| | | label: '复查', |
| | | label: 'Recheck', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'user_manage', |
| | | label: '用户和包机组权限', |
| | | label: 'UserWorkTeamPermission', |
| | | children: [ |
| | | { |
| | | id: 'usr_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'usr_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'power_manage', |
| | | label: '权限管理', |
| | | label: 'AuthorityManagement', |
| | | children: [ |
| | | { |
| | | id: 'permit_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'permit_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'server_manage', |
| | | label: '服务器参数设置权限', |
| | | label: 'ServerParmsSettingPermission', |
| | | children: [ |
| | | { |
| | | id: 'server_param_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'server_param_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'test_permit_manage', |
| | | label: '操作权限', |
| | | label: 'OperatingPermission', |
| | | children: [ |
| | | { |
| | | id: 'batt_test_op_permit', |
| | | label: '电池测试', |
| | | label: 'BatteryTest', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'analog_loader_op_permit', |
| | | label: '虚拟负载', |
| | | label: 'DummyLoad', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'batt_warn_manage', |
| | | label: '电池告警管理权限', |
| | | label: 'BatteryAlarmManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'batt_alm_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batt_alm_confirm_permit', |
| | | label: '确认', |
| | | label: 'Confirm', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batt_alm_clear_permit', |
| | | label: '取消', |
| | | label: 'operate.cancel', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batt_alm_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 'batt_warn_param_manage', |
| | | label: '电池告警参数设置权限', |
| | | label: 'BatteryAlarmParmsSettingPermission', |
| | | children: [ |
| | | { |
| | | id: 'batt_alm_param_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batt_alm_param_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'dev_warn_manage', |
| | | label: '设备告警管理权限', |
| | | label: 'DeviceAlarmManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'dev_alm_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'dev_alm_confirm_permit', |
| | | label: '确认', |
| | | label: 'Confirm', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'dev_alm_clear_permit', |
| | | label: '取消', |
| | | label: 'operate.cancel', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'dev_alm_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 'battfault_manage', |
| | | label: '电池故障管理权限', |
| | | label: 'BatteryErrorManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'battfault_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'battfault_add_permit', |
| | | label: '添加', |
| | | label: 'Add', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'battfault_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'battfault_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'battmaint_confirm_permit', |
| | | label: '故障排除确认', |
| | | label: 'TroubleshootingConfirmation', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'usrtaskcheck_manage', |
| | | label: '作业抽查任务管理权限', |
| | | label: 'JobSpotCheckTaskManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'usrtaskcheck_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'usrtaskcheck_add_permit', |
| | | label: '添加', |
| | | label: 'Add', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'usrtaskcheck_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'usrtaskcheck_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'usrtaskcheck_confirm_permit', |
| | | label: '确认', |
| | | label: 'Confirm', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'taskchange_manage', |
| | | label: '作业变更管理权限', |
| | | label: 'JobChangeManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'taskchange_query_permit', |
| | | label: '查询', |
| | | label: 'operate.search', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'taskchange_add_permit', |
| | | label: '添加', |
| | | label: 'Add', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'taskchange_shenpi_permit', |
| | | label: '审批', |
| | | label: 'Approve', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'taskchange_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | id: 'batt_map_manage', |
| | | label: '机房定位信息管理权限', |
| | | label: 'EquipmentRoomLocationManagementPermission', |
| | | children: [ |
| | | { |
| | | id: 'batt_map_edit_permit', |
| | | label: '编辑', |
| | | label: 'operate.edit', |
| | | leaf: true, |
| | | }, |
| | | { |
| | | id: 'batt_map_delete_permit', |
| | | label: '删除', |
| | | label: 'operate.delete', |
| | | leaf: true, |
| | | }, |
| | | ] |
| | |
| | | // 为空检测 |
| | | if (value == '') { |
| | | rs.code = 0; |
| | | rs.message = "权限组名称不能为空"; |
| | | rs.message = this.$t('AuthorityGroupNamecannotbeblank'); |
| | | return rs; |
| | | } |
| | | |
| | |
| | | var _data = this.powergrouplist[i]; |
| | | if (value == _data.txt) { |
| | | rs.code = 0; |
| | | rs.message = value + "已存在"; |
| | | rs.message = value + this.$t('Existed'); |
| | | break; |
| | | } |
| | | } |
| | |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | this.addGroup.show = false; |
| | | this.$layer.msg('添加成功'); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.searchGroup(); |
| | | } else { |
| | | this.$layer.msg('添加失败'); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | self.editGroup.show = false; |
| | | self.$layer.msg('修改成功'); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | // 查询当前权限组的权限 |
| | | self.getUserPermits(); |
| | | |
| | | } else { |
| | | self.$layer.msg('修改失败'); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | |
| | | }, |
| | | confirmDelGroup() { |
| | | let name = this.powerInfo.permit_group_name; |
| | | this.$layer.confirm('确认删除' + name, {icon: 3}, index => { |
| | | // 关闭弹出框 |
| | | this.$layer.close(index); |
| | | this.$confirm( |
| | | this.$t('Confirmtodelete') + name, |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).then((res) => { |
| | | if(res !== 'confirm') { |
| | | return false; |
| | | } |
| | | // 删除权限组 |
| | | this.delGroup(); |
| | | }); |
| | |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | |
| | | // 查询权限组 |
| | | self.searchGroup(); |
| | | } else { |
| | | // 提示信息 |
| | | self.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | |
| | | let rs = res.data; |
| | | if (rs.code == 1) { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'success', |
| | | message: rs.msg, |
| | | }); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | // 提示信息 |
| | | this.$message({ |
| | | type: 'error', |
| | | message: rs.msg, |
| | | }); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | // 查询已添加的用户 |
| | | this.getUserPermits(); |
| | |
| | | .power-content-user { |
| | | padding: 0 8px 8px 8px; |
| | | } |
| | | </style> |
| | | .list-wrap { |
| | | width: 380px; |
| | | } |
| | | /deep/ .el-transfer .el-transfer__buttons { |
| | | width: 5.2rem; |
| | | } |
| | | </style> |