Compare commits

...

8 Commits

Author SHA1 Message Date
ruyaxie aca2cb1ed3 Merge remote-tracking branch 'origin/master' 2024-10-10 10:12:26 +08:00
ruyaxie 78006d326f feat():修复预警信息 2024-10-10 10:07:13 +08:00
王鑫 d04736a169 feat():添加登录公司下拉框 2024-10-10 09:59:27 +08:00
ruyaxie 76637ae46d feat():修复预警信息 2024-10-07 09:57:43 +08:00
xieyaru070903 051447962b Merge pull request 'feat():修复车辆管理前台' (#2) from dev.warn into master
Reviewed-on: #2
2024-09-26 11:58:06 +08:00
ruyaxie 587bd79d81 feat():修复车辆管理前台 2024-09-26 11:57:10 +08:00
xieyaru070903 b544fd0e3b Merge pull request 'fix() : 优化代码' (#1) from dev.car into master
Reviewed-on: #1
2024-09-25 09:02:39 +08:00
Li HD b285cbef7e fix() : 优化代码 2024-09-24 00:13:10 +08:00
13 changed files with 221 additions and 203 deletions

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询车辆基础信息列表 // 查询车辆基础信息列表
export function listCar(query) { export function listCar(query) {
return request({ return request({
url: '/car/car/list', url: '/saas/car/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -12,7 +12,7 @@ export function listCar(query) {
// 查询车辆基础信息详细 // 查询车辆基础信息详细
export function getCar(id) { export function getCar(id) {
return request({ return request({
url: '/car/car/' + id, url: '/saas/car/' + id,
method: 'get' method: 'get'
}) })
} }
@ -20,7 +20,7 @@ export function getCar(id) {
// 新增车辆基础信息 // 新增车辆基础信息
export function addCar(data) { export function addCar(data) {
return request({ return request({
url: '/car/car', url: '/saas/car',
method: 'post', method: 'post',
data: data data: data
}) })
@ -29,7 +29,7 @@ export function addCar(data) {
// 修改车辆基础信息 // 修改车辆基础信息
export function updateCar(data) { export function updateCar(data) {
return request({ return request({
url: '/car/car', url: '/saas/car',
method: 'put', method: 'put',
data: data data: data
}) })
@ -38,16 +38,7 @@ export function updateCar(data) {
// 删除车辆基础信息 // 删除车辆基础信息
export function delCar(id) { export function delCar(id) {
return request({ return request({
url: '/car/car/' + id, url: '/saas/car/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 查询所有车辆类型
export function getSysType() {
return request({
url: '/car/sysType/list' ,
method: 'get'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 报文模版列表 // 报文模版列表
export function templateList() { export function templateList() {
return request({ return request({
url: 'car/messageTemplate/list', url: 'saas/messageTemplate/list',
method: 'POST', method: 'POST',
}) })
} }
@ -11,7 +11,7 @@ export function templateList() {
//添加报文模版 //添加报文模版
export function addTemplate(data) { export function addTemplate(data) {
return request({ return request({
url: 'car/messageTemplate/', url: 'saas/messageTemplate/',
method: 'POST', method: 'POST',
data: data data: data
}) })
@ -20,7 +20,7 @@ export function addTemplate(data) {
// 报文数据列表 // 报文数据列表
export function valueList(data) { export function valueList(data) {
return request({ return request({
url: 'car/messageValue/list', url: 'saas/messageValue/list',
method: 'POST', method: 'POST',
data: data data: data
}) })
@ -29,16 +29,8 @@ export function valueList(data) {
// 添加报文数据 // 添加报文数据
export function addValue(data) { export function addValue(data) {
return request({ return request({
url: 'car/messageValue/', url: 'saas/messageValue/',
method: 'POST', method: 'POST',
data: data data: data
}) })
} }
// 根据报文模版类型Id查询数据
export function findByTemplateValue(id) {
return request({
url: 'car/messageValue/templateId/'+id,
method: 'POST'
})
}

View File

@ -0,0 +1,10 @@
import request from "@/utils/request";
//查询所有的车辆类型
export function listType(){
return request({
url: '/saas/sysType/list',
method: 'get'
})
}

View File

@ -2,7 +2,7 @@ import request from '@/utils/request'
// 登录方法 // 登录方法
export function login(username, password, code, uuid) { export function login(username, password,firmId, code, uuid) {
return request({ return request({
url: '/auth/login', url: '/auth/login',
headers: { headers: {
@ -10,7 +10,7 @@ export function login(username, password, code, uuid) {
repeatSubmit: false repeatSubmit: false
}, },
method: 'post', method: 'post',
data: {username, password, code, uuid} data: {username, password,firmId, code, uuid}
}) })
} }

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询预警日志列表 // 查询预警日志列表
export function listLogs(query) { export function listLogs(query) {
return request({ return request({
url: '/warn/logs/list', url: '/saas/logs/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -12,7 +12,7 @@ export function listLogs(query) {
// 查询预警日志详细 // 查询预警日志详细
export function getLogs(id) { export function getLogs(id) {
return request({ return request({
url: '/warn/logs/' + id, url: '/saas/logs/' + id,
method: 'get' method: 'get'
}) })
} }
@ -20,7 +20,7 @@ export function getLogs(id) {
// 新增预警日志 // 新增预警日志
export function addLogs(data) { export function addLogs(data) {
return request({ return request({
url: '/warn/logs', url: '/saas/logs',
method: 'post', method: 'post',
data: data data: data
}) })
@ -29,7 +29,7 @@ export function addLogs(data) {
// 修改预警日志 // 修改预警日志
export function updateLogs(data) { export function updateLogs(data) {
return request({ return request({
url: '/warn/logs', url: '/saas/logs',
method: 'put', method: 'put',
data: data data: data
}) })
@ -38,7 +38,7 @@ export function updateLogs(data) {
// 删除预警日志 // 删除预警日志
export function delLogs(id) { export function delLogs(id) {
return request({ return request({
url: '/warn/logs/' + id, url: '/saas/logs/' + id,
method: 'delete' method: 'delete'
}) })
} }

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询预警规则列表 // 查询预警规则列表
export function listRule(query) { export function listRule(query) {
return request({ return request({
url: '/warn/rule/list', url: '/saas/rule/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -12,7 +12,7 @@ export function listRule(query) {
// 查询预警规则详细 // 查询预警规则详细
export function getRule(id) { export function getRule(id) {
return request({ return request({
url: '/warn/rule/' + id, url: '/saas/rule/' + id,
method: 'get' method: 'get'
}) })
} }
@ -20,7 +20,7 @@ export function getRule(id) {
// 新增预警规则 // 新增预警规则
export function addRule(data) { export function addRule(data) {
return request({ return request({
url: '/warn/rule', url: '/saas/rule',
method: 'post', method: 'post',
data: data data: data
}) })
@ -29,7 +29,7 @@ export function addRule(data) {
// 修改预警规则 // 修改预警规则
export function updateRule(data) { export function updateRule(data) {
return request({ return request({
url: '/warn/rule', url: '/saas/rule',
method: 'put', method: 'put',
data: data data: data
}) })
@ -38,7 +38,7 @@ export function updateRule(data) {
// 删除预警规则 // 删除预警规则
export function delRule(id) { export function delRule(id) {
return request({ return request({
url: '/warn/rule/' + id, url: '/saas/rule/' + id,
method: 'delete' method: 'delete'
}) })
} }

View File

@ -1,17 +1,10 @@
import request from '@/utils/request' import request from '@/utils/request'
// //根据车辆类型
// export function findBySysTypeId(id) {
// return request({
// url: 'car/sysType/findBySysTypeId/' + id,
// method: "POST"
// })
// }
// 查询预警策略列表 // 查询预警策略列表
export function listStrategy(query) { export function listStrategy(query) {
return request({ return request({
url: '/warn/strategy/list', url: '/saas/strategy/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -20,7 +13,7 @@ export function listStrategy(query) {
// 查询预警策略详细 // 查询预警策略详细
export function getStrategy(id) { export function getStrategy(id) {
return request({ return request({
url: '/warn/strategy/' + id, url: '/saas/strategy/' + id,
method: 'get' method: 'get'
}) })
} }
@ -28,7 +21,7 @@ export function getStrategy(id) {
// 新增预警策略 // 新增预警策略
export function addStrategy(data) { export function addStrategy(data) {
return request({ return request({
url: '/warn/strategy', url: '/saas/strategy',
method: 'post', method: 'post',
data: data data: data
}) })
@ -37,7 +30,7 @@ export function addStrategy(data) {
// 修改预警策略 // 修改预警策略
export function updateStrategy(data) { export function updateStrategy(data) {
return request({ return request({
url: '/warn/strategy', url: '/saas/strategy',
method: 'put', method: 'put',
data: data data: data
}) })
@ -46,15 +39,7 @@ export function updateStrategy(data) {
// 删除预警策略 // 删除预警策略
export function delStrategy(id) { export function delStrategy(id) {
return request({ return request({
url: '/warn/strategy/' + id, url: '/saas/strategy/' + id,
method: 'delete' method: 'delete'
}) })
} }

View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 查询用户列表
export function firmList() {
return request({
url: '/system/sysFirm/firmList',
method: 'get'
})
}

View File

@ -40,10 +40,11 @@ const user = {
Login({commit}, userInfo) { Login({commit}, userInfo) {
const username = userInfo.username.trim() const username = userInfo.username.trim()
const password = userInfo.password const password = userInfo.password
const firmId = userInfo.firmId;
const code = userInfo.code const code = userInfo.code
const uuid = userInfo.uuid const uuid = userInfo.uuid
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => { login(username, password,firmId, code, uuid).then(res => {
let data = res.data let data = res.data
setToken(data.access_token) setToken(data.access_token)
commit('SET_TOKEN', data.access_token) commit('SET_TOKEN', data.access_token)

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="82px">
<el-form-item label="车辆VIN码" prop="carVin"> <el-form-item label="车辆VIN码" prop="carVin">
<el-input <el-input
v-model="queryParams.carVin" v-model="queryParams.carVin"
@ -40,7 +40,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['car:car:add']" v-hasPermi="['car:car:add']"
>新增</el-button> >新增
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -51,7 +52,8 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['car:car:edit']" v-hasPermi="['car:car:edit']"
>修改</el-button> >修改
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -62,7 +64,8 @@
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['car:car:remove']" v-hasPermi="['car:car:remove']"
>删除</el-button> >删除
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -72,25 +75,22 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['car:car:export']" v-hasPermi="['car:car:export']"
>导出</el-button> >导出
</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="carList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="carList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center"/>
<el-table-column label="自增主键" align="center" prop="id" /> <el-table-column label="自增主键" align="center" prop="id"/>
<el-table-column label="车辆VIN码" align="center" prop="carVin" /> <el-table-column label="车辆VIN码" align="center" prop="carVin"/>
<el-table-column label="车辆车牌号" align="center" prop="carPlate" /> <el-table-column label="车辆车牌号" align="center" prop="carPlate"/>
<el-table-column label="车辆品牌;" align="center" prop="carBrand" /> <el-table-column label="车辆品牌" align="center" prop="carBrand"/>
<el-table-column label="车辆型号" align="center" prop="carModel" /> <el-table-column label="车辆型号" align="center" prop="carModel"/>
<el-table-column label="车辆车型" align="center" prop="carType" /> <el-table-column label="车辆车型" align="center" prop="carType"/>
<el-table-column label="车辆电机厂商" align="center" prop="carMotorManufacturer" /> <el-table-column label="围栏组编码" align="center" prop="groupCode"/>
<el-table-column label="电机型号" align="center" prop="carMotorModel" /> <el-table-column label="启用状态" align="center" prop="state"/>
<el-table-column label="车辆电池厂商" align="center" prop="carBatteryManufacturer" />
<el-table-column label="电池型号" align="center" prop="carBatteryModel" />
<el-table-column label="围栏组编码" align="center" prop="groupCode" />
<el-table-column label="启用状态" align="center" prop="state" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -99,21 +99,22 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['car:car:edit']" v-hasPermi="['car:car:edit']"
>修改</el-button> >修改
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['car:car:remove']" v-hasPermi="['car:car:remove']"
>删除</el-button> >删除
<el-button </el-button>
size="mini" <!-- <el-button-->
type="text" <!-- size="mini"-->
icon="el-icon-plus" <!-- type="text"-->
@click="handleAddStrategy(scope.row)" <!-- icon="el-icon-s-order"-->
v-hasPermi="['car:car:add']" <!-- @click="handleAddStrategy(scope.row)"-->
>添加策略信息</el-button> <!-- >详细信息</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -128,63 +129,51 @@
<!-- 添加或修改车辆基础信息对话框 --> <!-- 添加或修改车辆基础信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="82px">
<el-form-item label="车辆VIN码" prop="carVin"> <el-form-item label="车辆VIN码" prop="carVin">
<el-input v-model="form.carVin" placeholder="请输入车辆VIN码" /> <el-input v-model="form.carVin" placeholder="请输入车辆VIN码"/>
</el-form-item> </el-form-item>
<el-form-item label="车辆车牌号" prop="carPlate"> <el-form-item label="车辆车牌号" prop="carPlate">
<el-input v-model="form.carPlate" placeholder="请输入车辆车牌号" /> <el-input v-model="form.carPlate" placeholder="请输入车辆车牌号"/>
</el-form-item> </el-form-item>
<el-form-item label="车辆电机厂商" prop="carMotorManufacturer"> <el-form-item label="车辆品牌" prop="carBrand">
<el-input v-model="form.carMotorManufacturer" placeholder="请输入车辆电机厂商" /> <el-input v-model="form.carBrand" placeholder="请输入车辆品牌"/>
</el-form-item> </el-form-item>
<el-form-item label="电机型号" prop="carMotorModel"> <el-form-item label="车辆型号" prop="carModel">
<el-input v-model="form.carMotorModel" placeholder="请输入电机型号" /> <el-input v-model="form.carModel" placeholder="请输入车辆型号"/>
</el-form-item> </el-form-item>
<el-form-item label="车辆电池厂商" prop="carBatteryManufacturer"> <el-form-item label="车辆车型" prop="carType">
<el-input v-model="form.carBatteryManufacturer" placeholder="请输入车辆电池厂商" /> <el-select v-model="form.carType" placeholder="请选择报文模版id" :change="getCarTypeList">
</el-form-item>
<el-form-item label="电池型号" prop="carBatteryModel">
<el-input v-model="form.carBatteryModel" placeholder="请输入电池型号" />
</el-form-item>
<el-form-item label="围栏组编码" prop="groupCode">
<el-input v-model="form.groupCode" placeholder="请输入围栏组编码" />
</el-form-item>
<el-form-item label="启用状态" prop="state">
<el-input v-model="form.state" placeholder="请输入启用状态" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 添加预警策略对话框 -->
<el-dialog :title="title" :visible.sync="beginOpen" width="500px" append-to-body>
<el-form ref="formList" :model="formList" :rules="rules" label-width="80px">
<el-form-item label="车辆类型id" prop="carTypeId">
<el-input v-model="formList.carTypeId" placeholder="请输入车辆类型id" />
</el-form-item>
<el-form-item label="报文模版id" prop="msgId">
<el-select v-model="formList.msgId" placeholder="请选择报文模版id">
<el-option <el-option
v-for="item in templateList" v-for="item in sysCarType"
:key="item.messageTemplateId" :key="item.id"
:label="item.messageTemplateName" :label="item.sysTypeName"
:value="item.messageTemplateId"> :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="策略名称" prop="strategyName"> <el-form-item label="围栏组编码" prop="groupCode">
<el-input v-model="formList.strategyName" placeholder="请输入策略名称" /> <el-input v-model="form.groupCode" placeholder="请输入围栏组编码"/>
</el-form-item> </el-form-item>
<el-form-item label="启用状态" prop="state">
<el-input v-model="form.state" placeholder="请输入启用状态"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
</el-form-item>
<el-form-item label="策略信息" prop="strategyId">
<el-select v-model="form.msgId" placeholder="请选择报文模版id">
<el-option
v-for="item in strategyList"
:key="item.id"
:label="item.strategyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitAddForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -194,8 +183,8 @@
<script> <script>
import {listCar, getCar, delCar, addCar, updateCar} from "/src/api/car/car"; import {listCar, getCar, delCar, addCar, updateCar} from "/src/api/car/car";
import {templateList} from "@/api/car/message/template"; import {addStrategy, listStrategy} from "@/api/platform/strategy";
import {addStrategy} from "@/api/platform/strategy"; import {listType} from "@/api/car/type";
export default { export default {
name: "Car", name: "Car",
@ -215,12 +204,14 @@ export default {
total: 0, total: 0,
// //
carList: [], carList: [],
templateList:[], templateList: [],
//
sysCarType: [],
// //
title: "", title: "",
// //
open: false, open: false,
beginOpen:false, beginOpen: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -233,15 +224,25 @@ export default {
state: null, state: null,
}, },
// //
form: {}, form: {
formList:{}, carVin: null,
carPlate: null,
carBrand: null,
carModel: null,
carType: null,
groupCode: null,
state: null,
remark: null,
msgId: null
},
formList: {},
// //
rules: { rules: {}
}
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getListType();
}, },
methods: { methods: {
/** 查询车辆基础信息列表 */ /** 查询车辆基础信息列表 */
@ -253,6 +254,11 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
getListType() {
listType().then(res => {
this.sysCarType = res.data.rows;
})
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -267,12 +273,6 @@ export default {
carBrand: null, carBrand: null,
carModel: null, carModel: null,
carType: null, carType: null,
carLastJoinTime: null,
carLastOfflineTime: null,
carMotorManufacturer: null,
carMotorModel: null,
carBatteryManufacturer: null,
carBatteryModel: null,
groupCode: null, groupCode: null,
state: null, state: null,
createBy: null, createBy: null,
@ -281,12 +281,11 @@ export default {
updateTime: null, updateTime: null,
remark: null remark: null
}; };
this.resetForm("form"); this.resetForm("form");
}, },
// //
init() { init() {
this.formList= { this.formList = {
carTypeId: null, carTypeId: null,
strategyName: null, strategyName: null,
msgId: null msgId: null
@ -306,7 +305,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -315,21 +314,11 @@ export default {
this.open = true; this.open = true;
this.title = "添加车辆基础信息"; this.title = "添加车辆基础信息";
}, },
/** 添加策略信息按钮 **/ /** 离焦获取策略信息 **/
handleAddStrategy(row) { getCarTypeList(carType) {
this.init(); listStrategy({sysTypeId: carType}).then(res => {
const id = row.id || this.ids this.strategyList = res.data;
getCar(id).then(response => { })
this.formList.carTypeId = response.data.id;
this.beginOpen = true;
this.title ="添加策略信息";
});
templateList().then(response => {
this.templateList = response.data;
console.log(this.templateList);
});
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
@ -339,8 +328,14 @@ export default {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改车辆基础信息"; this.title = "修改车辆基础信息";
this.listStrategy(response.data.carType)
}); });
}, },
listStrategy(sysTypeId) {
listStrategy({sysTypeId: sysTypeId}).then(res => {
this.strategyList = res.data.rows;
})
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
@ -361,25 +356,18 @@ export default {
} }
}); });
}, },
/** 添加策略信息**/
submitAddForm(){
addStrategy(this.formList).then(response => {
this.$modal.msgSuccess("添加策略信息成功");
this.beginOpen = false;
this.getList();
});
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除车辆基础信息编号为"' + ids + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除车辆基础信息编号为"' + ids + '"的数据项?').then(function () {
return delCar(ids); return delCar(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => {
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('car/car/export', { this.download('car/car/export', {

View File

@ -2,6 +2,17 @@
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">若依后台管理系统</h3> <h3 class="title">若依后台管理系统</h3>
<el-form-item prop="firmId">
<el-select v-model="loginForm.firmId" placeholder="请选择公司" style="width: 350px">
<el-option
v-for="item in firmList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
<svg-icon slot="prefix" class="el-input__icon input-icon" icon-class="user"/>
</el-select>
</el-form-item>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"
@ -65,11 +76,13 @@
import {getCodeImg} from "@/api/login"; import {getCodeImg} from "@/api/login";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {decrypt, encrypt} from '@/utils/jsencrypt' import {decrypt, encrypt} from '@/utils/jsencrypt'
import { firmList } from '@/api/system/firm'
export default { export default {
name: "Login", name: "Login",
data() { data() {
return { return {
firmList: [],
codeUrl: "", codeUrl: "",
loginForm: { loginForm: {
username: "admin", username: "admin",
@ -91,7 +104,7 @@ export default {
// //
captchaEnabled: false, captchaEnabled: false,
// //
register: false, register: true,
redirect: undefined redirect: undefined
}; };
}, },
@ -106,8 +119,15 @@ export default {
created() { created() {
this.getCode(); this.getCode();
this.getCookie(); this.getCookie();
this.getFirmList();
}, },
methods: { methods: {
getFirmList(){
firmList().then(response => {
this.firmList = response.data;
console.log(this.firmList)
})
},
getCode() { getCode() {
getCodeImg().then(res => { getCodeImg().then(res => {
this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled; this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;

View File

@ -33,22 +33,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="最大值" prop="maxValue">
<el-input
v-model="queryParams.maxValue"
placeholder="请输入最大值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="最小值" prop="minValue">
<el-input
v-model="queryParams.minValue"
placeholder="请输入最小值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -109,8 +93,9 @@
<el-table-column label="报文数据类型id" align="center" prop="msgTypeId" /> <el-table-column label="报文数据类型id" align="center" prop="msgTypeId" />
<el-table-column label="滑窗时间" align="center" prop="slideTime" /> <el-table-column label="滑窗时间" align="center" prop="slideTime" />
<el-table-column label="滑窗频率" align="center" prop="slideFrequency" /> <el-table-column label="滑窗频率" align="center" prop="slideFrequency" />
<el-table-column label="最大值" align="center" prop="maxValue" /> <el-table-column label="数据频率名称" align="center" prop="slideData" />
<el-table-column label="最小值" align="center" prop="minValue" /> <el-table-column label="数据频率最大值" align="center" prop="slideMaxNum" />
<el-table-column label="数据频率最小值" align="center" prop="slideMinNum" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -148,8 +133,7 @@
v-for="item in strategyList" v-for="item in strategyList"
:key="item.id" :key="item.id"
:label="item.strategyName" :label="item.strategyName"
:value="item.id" :value="item.id">
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -157,14 +141,13 @@
<el-input v-model="form.ruleName" placeholder="请输入规则名称" /> <el-input v-model="form.ruleName" placeholder="请输入规则名称" />
</el-form-item> </el-form-item>
<el-form-item label="报文数据类型id" prop="msgTypeId"> <el-form-item label="报文数据类型id" prop="msgTypeId">
<el-select v-model="form.messageId" placeholder="请选择报文数据名称"> <el-select ref="select" v-model="form.msgTypeId" multiple placeholder="请选择报文数据名称">
<el-option <el-option
ref="multipleTable"
tooltip-effect="dark"
v-for="item in templateValueList" v-for="item in templateValueList"
:key="item.messageId" :key="item.messageId"
:label="item.messageCode" :label="item.messageCode"
:value="item.messageId"> :value="item.messageId">
<el-checkbox @change="clickBox(item.messageId)" :value ="value.includes(item.messageId)" :label="item.messageCode"></el-checkbox>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -182,7 +165,16 @@
<el-option value="1:60">1:60</el-option> <el-option value="1:60">1:60</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据频率名称" prop="slideData">
<el-input v-model="form.slideData" placeholder="请输入数据频率名称" />
</el-form-item>
<el-form-item label="数据频率最大值" prop="slideMaxNum">
<el-input v-model="form.slideMaxNum" placeholder="请输入数据频率最大值" />
</el-form-item>
<el-form-item label="数据频率最小值" prop="slideMinNum">
<el-input v-model="form.slideMinNum" placeholder="请输入数据频率最小值" />
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -196,6 +188,7 @@
import { listRule, getRule, delRule, addRule, updateRule } from "/src/api/platform/rule"; import { listRule, getRule, delRule, addRule, updateRule } from "/src/api/platform/rule";
import { listStrategy} from "@/api/platform/strategy"; import { listStrategy} from "@/api/platform/strategy";
import {valueList} from "@/api/car/message/template"; import {valueList} from "@/api/car/message/template";
import item from "@/layout/components/Sidebar/Item.vue";
export default { export default {
name: "Rule", name: "Rule",
@ -209,8 +202,10 @@ export default {
single: true, single: true,
// //
multiple: true, multiple: true,
props: { multiple: true },
// //
showSearch: true, showSearch: true,
// //
total: 0, total: 0,
// //
@ -219,6 +214,7 @@ export default {
sysTypeList :[], sysTypeList :[],
// //
templateValueList:[], templateValueList:[],
value:[],
// //
templateList :[], templateList :[],
@ -234,6 +230,8 @@ export default {
title: "", title: "",
// //
open: false, open: false,
//
drawer:false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -243,8 +241,9 @@ export default {
msgTypeId: null, msgTypeId: null,
slideTime: null, slideTime: null,
slideFrequency: null, slideFrequency: null,
maxValue: null, slideData:null,
minValue: null slideMaxNum: null,
slideMinNum: null
}, },
// //
form: {}, form: {},
@ -257,6 +256,27 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
clickBox(val) {
console.log('val::', val);
let values = this.value
if(values.includes(val)) {
this.value = values.filter(n => n !== val)
} else {
values.push(val)
this.value = values
}
console.log('this.value::', this.value)
this.value.forEach((item,index)=>{
// console.log("item:"+item);
// console.log("index"+index);
this.form.msgTypeId += ","+item;
})
console.log(this.form.msgTypeId.substring(1));
},
/** 查询预警规则列表 */ /** 查询预警规则列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -280,8 +300,9 @@ export default {
msgTypeId: null, msgTypeId: null,
slideTime: null, slideTime: null,
slideFrequency: null, slideFrequency: null,
maxValue: null, slideData:null,
minValue: null slideMaxNum: null,
slideMinNum: null
}; };
this.resetForm("form"); this.resetForm("form");
}, },

View File

@ -35,7 +35,7 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8080`, target: `http://localhost:18080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''