Commit fbabf42d by 潘建波

修改合并文件

#	src/api/index.js
2 parents 87f1fc4f aabcea70
File mode changed
NODE_ENV = '"development"'
\ No newline at end of file \ No newline at end of file
NODE_ENV = 'development'
VUE_APP_URL = 'http://192.168.9.133:20080'
\ No newline at end of file \ No newline at end of file
VUE_APP_URL = ''
\ No newline at end of file \ No newline at end of file
...@@ -44,22 +44,6 @@ service.interceptors.response.use( ...@@ -44,22 +44,6 @@ service.interceptors.response.use(
}, },
(error) => { (error) => {
console.log(error) console.log(error)
let info = {}
if (!error.response) {
info = {
code: 5000,
msg: 'Network Error'
}
} else {
let { status, statusText, data } = error.response
// 此处整理错误信息格式
info = {
code: status,
data: data,
msg: statusText
}
}
return Promise.reject(error) return Promise.reject(error)
} }
) )
......
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
let options = {}; let options = {};
if (params) { if (params) {
options.params = params; options.data = params
} }
if (headers) { if (headers) {
options.headers = headers; options.headers = headers;
......
...@@ -2,8 +2,8 @@ import api from '../index' ...@@ -2,8 +2,8 @@ import api from '../index'
import urls from './urls' import urls from './urls'
export default { export default {
vehicleList(params) { tableList(params) {
return api.get(urls.vehicleList, params) return api.get(urls.tableList, params)
}, },
detailImg(params,id) { detailImg(params,id) {
return api.get(urls.detailImg+id, params) return api.get(urls.detailImg+id, params)
...@@ -12,4 +12,8 @@ export default { ...@@ -12,4 +12,8 @@ export default {
// return出去了一个promise // return出去了一个promise
return api.delete(urls.delVehicle+id,params) return api.delete(urls.delVehicle+id,params)
}, },
patchdel(params,id) {
// return出去了一个promise
return api.delete(urls.patchdel,params)
},
} }
\ No newline at end of file \ No newline at end of file
import baseUrl from '../baseUrl' import baseUrl from '../baseUrl'
export default { export default {
vehicleList: baseUrl + '/api/v1/traffic/events', tableList: baseUrl + '/api/v1/traffic/events',
detailImg: baseUrl + '/api/v1/web/pics/', detailImg: baseUrl + '/api/v1/web/pics/',
delVehicle: baseUrl + '/api/v1/traffic/events/', delVehicle: baseUrl + '/api/v1/traffic/events/',
patchdel: baseUrl + '/api/v1/traffic/events/patchdel'
} }
\ No newline at end of file \ No newline at end of file
...@@ -19,6 +19,7 @@ class Codes { ...@@ -19,6 +19,7 @@ class Codes {
this.result = {} this.result = {}
this.result = allData this.result = allData
this.classify(); this.classify();
console.log(this.result)
return this.result return this.result
} }
// 分类 // 分类
...@@ -221,6 +222,12 @@ class Codes { ...@@ -221,6 +222,12 @@ class Codes {
} catch (error) { } catch (error) {
this.result.xcycle_color_type = '未识别' this.result.xcycle_color_type = '未识别'
} }
// 违法类型
try {
this.result.illegalType = parseInt(this.allData.event_data.illegal.state) === 1 ? this.getCode('违法类型', this.allData.event_data.illegal.code) : '正常'
} catch (err) {
this.result.illegalType = '未识别'
}
// 行人上身颜色 // 行人上身颜色
try { try {
this.result.driver_face_upbody_text = this.getCode('车身颜色', this.allData.event_data.driver.face[0].upbody.code) this.result.driver_face_upbody_text = this.getCode('车身颜色', this.allData.event_data.driver.face[0].upbody.code)
...@@ -241,48 +248,54 @@ class Codes { ...@@ -241,48 +248,54 @@ class Codes {
} }
// 地点名称 // 地点名称
try { try {
this.allData.location_name = this.allData.event_this.allData.location.name === '' ? '无' : this.allData.event_this.allData.location.name this.result.location_name =this.allData.event_data.location.name === '' ? '未知' : this.allData.event_data.location.name
} catch (e) { } catch (e) {
this.allData.location_name = '未识别' this.result.location_name = '未识别'
}
// 车牌号码
try {
this.result.xcycle_plate_text = this.allData.event_data.xcycle.plate.text || '未识别'
} catch (error) {
this.result.xcycle_plate_text = '未识别'
} }
// 骑车类型 // 骑车类型
try { try {
switch (this.allData.event_this.allData.xcycle_type) { switch (this.allData.event_data.xcycle_type) {
case 'motorcycle': case 'motorcycle':
this.allData.xcycle_type_text = '摩托车' this.result.xcycle_type_text = '摩托车'
break break
case 'bicycle': case 'bicycle':
this.allData.xcycle_type_text = '自行车' this.result.xcycle_type_text = '自行车'
break break
case 'tricycle': case 'tricycle':
this.allData.xcycle_type_text = '三轮车' this.result.xcycle_type_text = '三轮车'
break break
default: default:
break break
} }
} catch (err) { } catch (err) {
this.allData.xcycle_type_text = '未识别' this.result.xcycle_type_text = '未识别'
} }
try { try {
if (this.allData.xcycle_type_text === '自行车') { if (this.result.xcycle_type_text === '自行车') {
this.allData.company = this.allData.event_this.allData.xcycle.company.name this.result.company = this.allData.event_data.xcycle.company.name
} else if (this.allData.xcycle_type_text === '摩托车') { } else if (this.result.xcycle_type_text === '摩托车') {
if (typeof (this.allData.event_this.allData.xcycle.company.code) !== 'number') { if (typeof (this.allData.event_data.xcycle.company.code) !== 'number') {
this.allData.company = '未识别' this.result.company = '未识别'
} else { } else {
this.allData.company = this.getCode('外卖公司', this.allData.event_this.allData.xcycle.company.code) this.result.company = this.getCode('外卖公司', this.allData.event_data.xcycle.company.code)
} }
} else if (this.allData.xcycle_type_text === '三轮车') { } else if (this.result.xcycle_type_text === '三轮车') {
if (typeof (this.allData.event_this.allData.xcycle.company.code) !== 'number') { if (typeof (this.allData.event_data.xcycle.company.code) !== 'number') {
this.allData.company = '未识别' this.result.company = '未识别'
} else { } else {
this.allData.company = this.getCode('快递公司', this.allData.event_this.allData.xcycle.company.code) this.result.company = this.getCode('快递公司', this.allData.event_data.xcycle.company.code)
} }
} else { } else {
this.allData.company = '无' this.result.company = '无'
} }
} catch (error) { } catch (error) {
this.allData.company = '未识别' this.result.company = '未识别'
} }
} }
// 客流 // 客流
......
...@@ -107,3 +107,8 @@ a:active{ ...@@ -107,3 +107,8 @@ a:active{
@extend .arrow; @extend .arrow;
right: -27px; right: -27px;
} }
.delIcon{
cursor: pointer;
color:#f2365a;
font-size:16px;
}
...@@ -28,6 +28,11 @@ const routes = [ ...@@ -28,6 +28,11 @@ const routes = [
path: "/search/vehicleSearch", path: "/search/vehicleSearch",
name: "taskSet", name: "taskSet",
component: resolve => require(['../views/search/vehicleSearch.vue'], resolve), component: resolve => require(['../views/search/vehicleSearch.vue'], resolve),
},
{
path: "/search/xcycle",
name: "xcycle",
component: resolve => require(['../views/search/xcycle.vue'], resolve),
} }
] ]
}, },
...@@ -38,6 +43,14 @@ const routes = [ ...@@ -38,6 +43,14 @@ const routes = [
// this generates a separate chunk (about.[hash].js) for this route // this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited. // which is lazy-loaded when the route is visited.
component: resolve => require(['../views/Login.vue'], resolve) component: resolve => require(['../views/Login.vue'], resolve)
},
{
path: "/show",
name: "show",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: resolve => require(['../views/Show.vue'], resolve)
} }
]; ];
......
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<span slot="title">智能检索</span> <span slot="title">智能检索</span>
</template> </template>
<el-menu-item index="/search/vehicleSearch"> <i class="el-icon-location"></i>过车记录检索</el-menu-item> <el-menu-item index="/search/vehicleSearch"> <i class="el-icon-location"></i>过车记录检索</el-menu-item>
<el-menu-item index="/search/xcycle"> <i class="el-icon-location"></i>非机动车检索</el-menu-item>
</el-submenu> </el-submenu>
<el-submenu index="4"> <el-submenu index="4">
<template slot="title"> <template slot="title">
......
...@@ -121,7 +121,7 @@ import types from '../store/types.js' ...@@ -121,7 +121,7 @@ import types from '../store/types.js'
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only --> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped> <style scoped lang="scss">
.loginTitle{ .loginTitle{
height:60px; height:60px;
background: #dcdcdc; background: #dcdcdc;
......
<template>
<div class="home">
<el-header class="headers">
<span class="title">实事分析展示</span>
</el-header>
<el-container style="min-height:calc(100vh - 64px);">
<el-main style="padding: 12px;">
<div style="margin-bottom: 12px;">
<div class="videoCon">
<!-- 加入视频 -->
</div>
<div class="imgCon">
<div class="imgDiv">
<!-- 加入img 100% -->
</div>
<div class="textDiv">
<p>抓拍时间:2019年10月29日 17:01:47</p>
<p>抓拍地点:丰豪东路与北清路交叉口</p>
<p>车牌号码:京B123456</p>
<p>车辆类型:小轿车</p>
<p>车身颜色:白色</p>
<p>违法类型:占用公交车道年</p>
</div>
</div>
<div style="clear: both;"></div>
</div>
<div class="bottomDiv">
<!-- 循环生成lDiv -->
<div class="lDiv">
<div class="leftImg">
<!-- 加入img 100% -->
</div>
<div class="rightDiv">
<p>抓拍时间:2019年10月29日 17:01:47</p>
<p>抓拍地点:丰豪东路与北清路交叉口</p>
<p>车牌号码:京B123456</p>
<p>车辆类型:小轿车</p>
<p>车身颜色:白色</p>
<p>违法类型:占用公交车道年</p>
</div>
<div style="clear: both;"></div>
</div>
<div class="lDiv">
<div class="leftImg">
<!-- 加入img 100% -->
</div>
<div class="rightDiv">
<p>抓拍时间:2019年10月29日 17:01:47</p>
<p>抓拍地点:丰豪东路与北清路交叉口</p>
<p>车牌号码:京B123456</p>
<p>车辆类型:小轿车</p>
<p>车身颜色:白色</p>
<p>违法类型:占用公交车道年</p>
</div>
<div style="clear: both;"></div>
</div>
<div class="lDiv">
<div class="leftImg">
<!-- 加入img 100% -->
</div>
<div class="rightDiv">
<p>抓拍时间:2019年10月29日 17:01:47</p>
<p>抓拍地点:丰豪东路与北清路交叉口</p>
<p>车牌号码:京B123456</p>
<p>车辆类型:小轿车</p>
<p>车身颜色:白色</p>
<p>违法类型:占用公交车道年</p>
</div>
<div style="clear: both;"></div>
</div>
<div style="clear: both;"></div>
</div>
</el-main>
</el-container>
</div>
</template>
<script>
// import HelloWorld from "@/components/HelloWorld.vue";
export default {
name: "home",
data(){
return{
isCollapse: false,
conHeight:0
};
},
created(){
},
mounted(){
},
components: {
// HelloWorld
},
methods:{}
};
</script>
<style scoped="scoped" lang="scss">
body{
overflow: hidden;
}
.title{
font-size:24px;
font-family:MicrosoftYaHeiUI;
color:rgba(255,255,255,1);
line-height:30px;
-webkit-background-clip:text;
}
.videoCon{
width:1212px;
height:682px;
background: red;
float: left;
margin-right: 12px;
}
.imgCon{
float: left;
background: #FFFFFF;
padding: 12px;
width: 644px;
}
.imgDiv{
width:644px;
height:360px;
background:rgba(216,216,216,1);
}
.lDiv{
float: left;
margin-right: 12px;
}
.lDiv:nth-last-of-type(2){
margin: 0;
}
.rightDiv{
width:226px;
height:176px;
border:1px solid rgba(229,229,229,1);
border-left: none;
color: #555555;
font-size: 12px;
padding-top: 8px;
float: left;
}
.rightDiv p{
margin: 10px 0;
margin-left: 10px;
}
.textDiv{
width:643px;
height:286px;
border:1px solid rgba(229,229,229,1);
color: #555555;
font-size:22px;
padding-top: 12px;
}
.textDiv p{
margin: 14px 0;
margin-left: 37px;
}
.bottomDiv{
padding: 7px;
background: #FFFFFF;
}
.leftImg{
width: 390px;
height: 186px;
background: #d8d8d8;
float: left;
}
</style>
\ No newline at end of file \ No newline at end of file
...@@ -89,10 +89,10 @@ ...@@ -89,10 +89,10 @@
<el-col :span="2"> <el-col :span="2">
<div style="margin-bottom: 6px;padding-top: 3px;"> <div style="margin-bottom: 6px;padding-top: 3px;">
<el-button type="primary" style="" @click="query" class="block">查询</el-button> <el-button type="primary" style="" @click="query" class="block">查询</el-button>
<el-button type="success" class="block">导出</el-button> <el-button type="success" class="block" @click="exportFun">导出</el-button>
</div> </div>
<div> <div>
<el-button type="success" class="block">批量删除</el-button> <el-button type="success" class="block" @click="batchdel">批量删除</el-button>
</div> </div>
</el-col> </el-col>
<div style=""> <div style="">
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
<div class="leftArrow" @click="leftFun"><i class="el-icon-d-arrow-left"></i></div> <div class="leftArrow" @click="leftFun"><i class="el-icon-d-arrow-left"></i></div>
<div class="detaiCon"> <div class="detaiCon">
<img :src="detailImg" alt="" style="width: 100%;"> <img :src="detailImg" alt="" style="width: 100%;">
<el-form label-width="80px" inline> <el-form label-width="120px" inline>
<div> <div>
<el-form-item label="车牌号码:"> <el-form-item label="车牌号码:">
<span>{{ detailObj.vehicle_plate_text }}</span> <span>{{ detailObj.vehicle_plate_text }}</span>
...@@ -289,6 +289,40 @@ ...@@ -289,6 +289,40 @@
this.getData() this.getData()
}, },
methods:{ methods:{
exportFun(){
window.open(encodeURI(process.env.VUE_APP_URL + '/api/v1/traffic/events/export?s=' + Math.random()+'&event_type=&event_dt__gte='+this.$moment(this.conditions.start_dt).utc().format('YYYY-MM-DD HH:mm:ss')+'&event_dt__lt='+this.$moment(this.conditions.end_dt).utc().format('YYYY-MM-DD HH:mm:ss')+'&source_type='+this.conditions.source_type+'&vchan_name__like='+this.conditions.vchan_name+'&vehicle_type='+this.conditions.car_type+'&body_color='+this.conditions.car_color+'&logo_type='+this.conditions.logo_type+'&plate_number__like='+this.conditions.plate+'&marker='+this.conditions.marker+'&task_name='+this.conditions.task_name+'&special_type='+this.conditions.special_type))
},
batchdel(){
if(this.selectcheck.length==0){
this.$message({
message: '请选择至少一条记录',
type: 'warning'
});
return false
}
this.$confirm('此操作将永久删除选中记录, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.search.patchdel({
"event_unids":this.selectcheck
}).then(res=>{
if(res.ecode == '200'){
this.$message({
type: 'success',
message: '删除成功!'
});
this.getData();
}else{
this.$message.error('删除失败!');
}
})
})
},
leftFun(){ leftFun(){
if(this.currentIndex-1<0){ if(this.currentIndex-1<0){
this.$message({ this.$message({
...@@ -349,7 +383,7 @@ ...@@ -349,7 +383,7 @@
special_type:this.conditions.special_type, special_type:this.conditions.special_type,
task_name: this.conditions.task_name ? this.conditions.task_name.replace(/\s\s*/g, '') : this.conditions.task_name task_name: this.conditions.task_name ? this.conditions.task_name.replace(/\s\s*/g, '') : this.conditions.task_name
} }
this.$api.search.vehicleList(search_params this.$api.search.tableList(search_params
).then((res)=>{ ).then((res)=>{
this.total=res.total_num; this.total=res.total_num;
res.list_data.forEach((item,index)=>{ res.list_data.forEach((item,index)=>{
......
<template>
<div class="innnerBox">
<el-col :span="22">
<el-form ref="form" label-width="80px" inline>
<el-form-item label="抓拍地点" >
<span class="inputBox">
<el-input placeholder="请输入抓拍地点" v-model="conditions.location_name"></el-input>
</span>
</el-form-item>
<el-form-item label="任务名称">
<span class="inputBox">
<el-input placeholder="请输入任务名称" v-model="conditions.task_name"></el-input>
</span>
</el-form-item>
<el-form-item label="非机动车类型">
<span class="selectBox">
<el-select placeholder="请选择" :popper-append-to-body=false v-model="conditions.xcycle_type">
<el-option value="" label='全部'></el-option>
<el-option value="motorcycle" label="摩托车"></el-option>
<el-option value="bicycle" label="自行车"></el-option>
<el-option value="tricycle" label="三轮车"></el-option>
</el-select>
</span>
</el-form-item>
<el-form-item label="起始时间">
<span class="dateBox">
<el-date-picker
v-model="dates"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</span>
</el-form-item>
</el-form>
</el-col>
<el-col :span="2">
<div style="margin-bottom: 6px;padding-top: 3px;">
<el-button type="primary" style="" @click="query" class="block">查询</el-button>
<el-button type="success" class="block" @click="exportFun">导出</el-button>
</div>
<div>
<el-button type="success" class="block" @click="batchdel">批量删除</el-button>
</div>
</el-col>
<div style="">
<el-table
:data="formattterData"
height="574"
stripe
border
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
align="center"
width="55">
</el-table-column>
<el-table-column
prop="xcycle_type_text"
align="center"
label="非机动车类型 ">
</el-table-column>
<el-table-column
prop="xcycle_plate_text"
align="center"
label="车牌号码 ">
</el-table-column>
<el-table-column
prop="shoot_date"
align="center"
label="抓拍时间">
<template slot-scope="scope">
<span>{{scope.row.shoot_date}} {{scope.row.shoot_time}}</span>
</template>
</el-table-column>
<el-table-column
prop="location_name"
align="center"
label="抓拍地点">
</el-table-column>
<el-table-column
prop="company"
align="center"
label="运营公司 ">
</el-table-column>
<el-table-column
align="center"
label="操作">
<template slot-scope="scope">
<el-tooltip content="详情" placement="bottom" effect="light" :visible-arrow=false>
<span class="iconfont icon-xiugai editIcon" @click="detailFun(scope.$index, scope.row)"></span>
</el-tooltip>
<span class="tableSpanBorder"></span>
<el-tooltip content="删除" placement="bottom" effect="light" :visible-arrow=false>
<span class="iconfont icon-detail delIcon" @click="delFun(scope.$index, scope.row)"></span>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 28px;">
<el-pagination
style="float: right;"
background
prev-text="上一页"
next-text="下一页"
:page-sizes="[30, 50, 100, 200]"
layout="prev, pager, next,sizes"
:current-page="page"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:total="total">
</el-pagination>
<div style="clear: both;"></div>
</div>
</div>
<el-dialog
title="详情"
top="12vh"
:visible.sync="detailVisible"
width="1000px">
<div style="position: relative;padding: 10px 20px;">
<div class="leftArrow" @click="leftFun"><i class="el-icon-d-arrow-left"></i></div>
<div class="detaiCon">
<el-image style="width: 100%;">
<div slot="error" class="image-slot">
<img :src="carImg" alt="" style="width: 40%;display: block;margin: 0 auto;">
</div>
</el-image>
<el-form label-width="120px" inline>
<div>
<el-form-item label="车牌号码:">
<span>{{ detailObj.xcycle_plate_text }}</span>
</el-form-item>
<el-form-item label="非机动车类型:">
<span>{{ detailObj.xcycle_type_text }}</span>
</el-form-item>
</div>
<div>
<el-form-item label="经过日期:">
<span>{{ detailObj.shoot_date ? detailObj.shoot_date : '' }}</span>
</el-form-item>
<el-form-item label="经过时间:">
<span>{{ detailObj.shoot_time ? detailObj.shoot_time : '' }}</span>
</el-form-item>
</div>
<div>
<el-form-item label="经过地点:">
<span>{{ detailObj.location_name }}</span>
</el-form-item>
<el-form-item label="车辆颜色:">
<span>{{ detailObj.xcycle_color_type }}</span>
</el-form-item>
</div>
<div>
<el-form-item label="性别:">
<span>{{ detailObj.driver_face_sex }}</span>
</el-form-item>
<el-form-item label="运营公司:">
<span>{{ detailObj.company }}</span>
</el-form-item>
</div>
<div>
<el-form-item label="上身颜色:">
<span>{{ detailObj.driver_face_upbody_text }}</span>
</el-form-item>
<el-form-item label="速度:">
<span>{{ detailObj.location_speed }}</span>
</el-form-item>
</div>
<div>
<el-form-item label="戴帽子:">
<span>{{ detailObj.driver_face_with_hats }}</span>
</el-form-item>
<el-form-item label="违法类型:">
<span>{{ detailObj.illegalType }}</span>
</el-form-item>
</div>
</el-form>
</div>
<div class="rightArrow" @click="rightFun"><i class="el-icon-d-arrow-right"></i></div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="detailDel">删 除</el-button>
<el-button type="primary" @click="detailVisible = false">关 闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data(){
let start_dt = this.$moment('2019-12-20').format('YYYY-MM-DD')+' 00:00:00';
let end_dt = this.$moment().format('YYYY-MM-DD')+' 23:59:59';
return{
detailObj:{},
carImg:require("@/assets/img/home/defaultImg.png"),
detailImg:'',
detailVisible:false,
dates:[ start_dt,end_dt ],
conditions: {
start_dt:start_dt,
end_dt:end_dt,
event_type: 'xcycle',
xcycle_type:'',
location_name:'',
task_name:''
},
brandList:this.$buildCode.getCodeList('车辆品牌'),
vehicleTypeList:this.$buildCode.getCodeList('车辆类型'),
vehicleColorList:this.$buildCode.getCodeList('车身颜色'),
tableData:[],
formattterData:[],
total:0,
page:1,
pageSize:30,
selectcheck:[],
currentIndex:0
}
},
watch:{
dates(val){
this.conditions.start_dt=val[0];
this.conditions.end_dt=val[1];
}
},
components:{},
mounted(){
this.getData()
},
methods:{
exportFun(){
window.open(
encodeURI(
process.env.VUE_APP_URL+
"/api/v1/traffic/events/export?s=" +
Math.random() +
"&event_type=xcycle&event_dt__gte=" +
this.$moment(this.conditions.start_dt).utc().format('YYYY-MM-DD HH:mm:ss') +
"&event_dt__lt=" +
this.$moment(this.conditions.end_dt).utc().format('YYYY-MM-DD HH:mm:ss') +
"&xcycle_type=" +
this.conditions.xcycle_type +
"&location_name=" +
this.conditions.location_name +
"&task_name=" +
this.conditions.task_name
)
);
},
batchdel(){
if(this.selectcheck.length==0){
this.$message({
message: '请选择至少一条记录',
type: 'warning'
});
return false
}
this.$confirm('此操作将永久删除选中记录, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.search.patchdel({
"event_unids":this.selectcheck
}).then(res=>{
if(res.ecode == '200'){
this.$message({
type: 'success',
message: '删除成功!'
});
this.getData();
}else{
this.$message.error('删除失败!');
}
})
})
},
leftFun(){
if(this.currentIndex-1<0){
this.$message({
message: '目前为第一条',
type: 'warning'
});
return false;
}
this.detailObj=this.formattterData[this.currentIndex-1];
this.currentIndex-=1;
this.getImg(this.detailObj.pics[0].pic_unid);
},
rightFun(){
if(this.currentIndex==this.formattterData.length-1){
this.$message({
message: '目前为最后一条',
type: 'warning'
});
return false;
}
this.detailObj=this.formattterData[this.currentIndex+1];
this.currentIndex+=1;
this.getImg(this.detailObj.pics[0].pic_unid);
},
handleSelectionChange(obj){
this.selectcheck = [];
obj.forEach(item => {
this.selectcheck.push(item.id)
});
},
handleSizeChange(val) {
this.pageSize=val;
this.getData();
},
handleCurrentChange(val) {
this.page=val;
this.getData();
},
query(){
this.getData();
},
getData(){
this.formattterData=[];
let offset = (this.page - 1) * this.pageSize;
let search_params = {
limit: this.pageSize,
offset: offset,
event_dt__gte: this.$moment(this.conditions.start_dt).utc().format('YYYY-MM-DD HH:mm:ss'),
event_dt__lt:this.$moment(this.conditions.end_dt).utc().format('YYYY-MM-DD HH:mm:ss'),
task_name: this.conditions.task_name ? this.conditions.task_name.replace(/\s\s*/g, '') : this.conditions.task_name,
event_type: "xcycle",
xcycle_type: this.conditions.xcycle_type,
location_name: this.conditions.location_name
}
this.$api.search.tableList(search_params
).then((res)=>{
this.total=res.total_num;
res.list_data.forEach((item,index)=>{
this.formattterData.push(this.$buildCode.init(item));
})
}).catch((err)=>{
})
},
getImg(unid){
this.$api.search.detailImg({
},unid).then(res=>{
this.detailImg=res.pic_url ? res.pic_url : carImg;
}).catch(e=>{
})
},
detailFun(index,row){
this.currentIndex=index;
if(row.pics.length>0){
this.detailObj = Object.assign({},row);
this.getImg(row.pics[0].pic_unid);
}
this.detailVisible=true;
},
delFun(index,row){
this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.search.delVehicle({
},row.id).then(res=>{
if(res.ecode==200){
this.formattterData.splice(index);
this.$message({
type: 'success',
message: '删除成功!'
});
}else{
this.$message.error('删除失败!');
}
}).catch(e=>{
this.$message.error('删除失败!');
})
})
},
detailDel(){
this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.search.delVehicle({},this.detailObj.id).then(res=>{
if(res.ecode==200){
this.formattterData.splice(this.currentIndex,1);
this.detailObj = Object.assign({},this.formattterData[this.currentIndex]);
this.getImg(this.formattterData[this.currentIndex].pics[0].pic_unid);
this.$message({
type: 'success',
message: '删除成功!'
});
}else{
this.$message.error('删除失败!');
}
}).catch(e=>{
this.$message.error('删除失败!');
})
})
}
},
}
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!