Merge branch 'dev' of http://122.51.230.86:3000/dianliang/lanan-system-vue into dev
This commit is contained in:
commit
b38ddea724
18
src/api/repair/repairRecord/index.js
Normal file
18
src/api/repair/repairRecord/index.js
Normal file
@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 根据条件查询维修记录
|
||||
export function queryList(params){
|
||||
return request({
|
||||
url: '/dl/repair-records/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 设置图片是否开放给用户
|
||||
export function updateOpen(ids, isOpen){
|
||||
return request({
|
||||
url: '/dl/repair-records-item/updateOpen?ids=' + ids + '&isOpen=' + isOpen,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
@ -220,6 +220,8 @@ export const DICT_TYPE = {
|
||||
TICKET_WARES_STATUS: 'ticket_wares_status',
|
||||
// 领料、退料配件状态
|
||||
TW_ITEM_STATUS: 'tw_item_status',
|
||||
// 维修记录类型
|
||||
REPAIR_RECORDS_TYPE: 'repair_records_type',
|
||||
|
||||
// ---------会员相关---------member_coupon_type,member_coupon_out_rule,member_car,member_active
|
||||
//卡券类型
|
||||
|
@ -44,6 +44,9 @@
|
||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleShow(scope.row)"
|
||||
>查看
|
||||
</el-button>
|
||||
<el-button v-if="userRole === 'service_advisor' && isFinish" size="mini" type="text" icon="el-icon-refresh" @click="handleEditRecord(scope.row)">
|
||||
维修记录设置
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="(scope.row.ticketsWorkStatus === '01' && userRole === 'repair_staff') && nowUser.id === scope.row.nowRepairId"
|
||||
size="mini" type="text" icon="el-icon-check" @click="handleTake(scope.row)">
|
||||
@ -60,7 +63,7 @@
|
||||
<el-button size="mini"
|
||||
v-if=" scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff' && !isFinish && nowUser.id === scope.row.nowRepairId"
|
||||
type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgz')">
|
||||
过程记录
|
||||
过程记录{{scope.row.ticketsWorkStatus !== '01' && ((userRole === 'service_advisor' || userRole === 'general_inspection') && !isFinish)}}
|
||||
</el-button>
|
||||
<el-button size="mini"
|
||||
v-if="scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff' && !isFinish && nowUser.id === scope.row.nowRepairId"
|
||||
@ -75,7 +78,7 @@
|
||||
重新指派
|
||||
</el-button>
|
||||
<el-dropdown
|
||||
v-if="scope.row.ticketsWorkStatus !== '01' && ((userRole === 'service_advisor' || userRole === 'general_inspection') && !isFinish)"
|
||||
v-if="(scope.row.ticketsWorkStatus !== '01' && ((userRole === 'service_advisor' || userRole === 'general_inspection') && !isFinish)) || (userRole === 'repair_staff' && !isFinish && scope.row.ticketsWorkStatus !== '01')"
|
||||
@command="(command) => handleCommand(command, scope.$index, scope.row)">
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
@ -143,6 +146,8 @@
|
||||
<el-button @click="doBack(true)" type="success" :disabled="partList.length === 0">退料全部</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<RecordSetting ref="recordSet" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -156,10 +161,11 @@ import {updateTicketWares} from "@/api/repair/tickets/TicketWares";
|
||||
import {getIfLeader} from "@/api/repair/repairworker";
|
||||
import UpdateRecord from "@/views/repair/tickets/form/UpdateRecord.vue";
|
||||
import {getUserProfile} from "@/api/system/user";
|
||||
import RecordSetting from "@/views/repair/tickets/form/RecordSetting.vue";
|
||||
|
||||
export default {
|
||||
name: "TicketManagerItem",
|
||||
components: {UpdateRecord, TWOperate, UpdateRepair, TicketsShow},
|
||||
components: {RecordSetting, UpdateRecord, TWOperate, UpdateRepair, TicketsShow},
|
||||
props: {
|
||||
isFinish: {
|
||||
type: Boolean,
|
||||
@ -197,7 +203,7 @@ export default {
|
||||
formData: {},
|
||||
remark: null,
|
||||
leader: false,
|
||||
nowUser: null
|
||||
nowUser: null,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -389,9 +395,9 @@ export default {
|
||||
this.$refs.updateRecord.open(row)
|
||||
},
|
||||
// 设置维修图片可不可见
|
||||
async handleEditRecord(row){
|
||||
console.log(row)
|
||||
}
|
||||
handleEditRecord(row){
|
||||
this.$refs.recordSet.open(row.id)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -168,12 +168,12 @@
|
||||
<el-table-column label="规格" align="center" prop="wares.model" width="180"/>
|
||||
<el-table-column label="数量" align="center" prop="waresCount" width="180"/>
|
||||
<el-table-column v-if="userRole === 'service_advisor' && type" label="折扣" align="center" prop="itemDiscount" width="180">
|
||||
<div v-if="formData.status === '01'" class="item" slot-scope="scope">
|
||||
<!-- <el-input @blur="save(scope.row)" class="item__input" v-model="scope.row.itemDiscount"/>-->
|
||||
<DiscountInput @input-blur="save(scope.row)" class="item__input" v-model="scope.row.itemDiscount" />
|
||||
<span class="item__txt">{{ scope.row.itemDiscount === 1 ? "无折扣" : scope.row.itemDiscount }}</span>
|
||||
</div>
|
||||
<div v-else slot-scope="scope">
|
||||
<!-- <div v-if="formData.status === '01'" class="item" slot-scope="scope">-->
|
||||
<!--<!– <el-input @blur="save(scope.row)" class="item__input" v-model="scope.row.itemDiscount"/>–>-->
|
||||
<!-- <DiscountInput @input-blur="save(scope.row)" class="item__input" v-model="scope.row.itemDiscount" />-->
|
||||
<!-- <span class="item__txt">{{ scope.row.itemDiscount === 1 ? "无折扣" : scope.row.itemDiscount }}</span>-->
|
||||
<!-- </div>-->
|
||||
<div slot-scope="scope">
|
||||
<span>{{ scope.row.itemDiscount === 1 ? "无折扣" : scope.row.itemDiscount }}</span>
|
||||
</div>
|
||||
</el-table-column>
|
||||
@ -221,7 +221,7 @@ export default {
|
||||
loading: false,
|
||||
formData: {},
|
||||
clickCellMap: {},
|
||||
editProp: ['itemDiscount'],
|
||||
editProp: [],
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
188
src/views/repair/tickets/form/RecordSetting.vue
Normal file
188
src/views/repair/tickets/form/RecordSetting.vue
Normal file
@ -0,0 +1,188 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="维修记录" :visible.sync="recordDialog" width="80%" v-dialogDrag append-to-body ref="recordRef">
|
||||
<el-form :model="recordQuery" :inline="true" ref="recordQueryForm" label-width="10rem">
|
||||
<el-form-item label="项目" prop="repairItemId">
|
||||
<el-select v-model="recordQuery.repairItemId" clearable filterable>
|
||||
<el-option v-for="project in projectList" :key="project.id" :label="project.itemName" :value="project.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="记录类型" prop="type">
|
||||
<el-select v-model="recordQuery.type" clearable filterable>
|
||||
<el-option v-for="item in this.getDictDatas(DICT_TYPE.REPAIR_RECORDS_TYPE)" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleRecordQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetRecordQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table :data="recordList" :stripe="true" :show-overflow-tooltip="true" v-loading="recordTableLoading">
|
||||
<el-table-column label="序号" align="center" width="55">
|
||||
<template scope="scope">
|
||||
<span>{{ scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="记录类型" align="center" prop="type" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :type="DICT_TYPE.REPAIR_RECORDS_TYPE" :value="scope.row.type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目名称" align="center" prop="repairItemId" width="200">
|
||||
<template slot-scope="scope">
|
||||
{{getProjectName(scope.row.repairItemId)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="描述" align="center" prop="remark" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="handleSetting(scope.row)">
|
||||
设置客户查看权限
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="客户查看权限设置" :visible.sync="settingDialog" v-dialogDrag append-to-body width="60%">
|
||||
<el-row :gutter="1">
|
||||
<el-col :span="24">
|
||||
<el-radio v-model="radio" label="-1">全部</el-radio>
|
||||
<el-radio v-model="radio" label="0">客户不可见</el-radio>
|
||||
<el-radio v-model="radio" label="1">客户可见</el-radio>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="items" :stripe="true" :show-overflow-tooltip="true" @selection-change="selectRow">
|
||||
<el-table-column align="center" type="selection" width="55" />
|
||||
<el-table-column align="center" label="图片" prop="image">
|
||||
<template slot-scope="scope">
|
||||
<el-image
|
||||
style="width: 100px; height: 100px"
|
||||
:src="scope.row.image"
|
||||
:preview-src-list="srcList">
|
||||
</el-image>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="状态" prop="isOpen">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.isOpen === '0' ? '客户不可见' : '客户可见'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="success" :disabled="!(selectRows.length > 0 && radio !== '1')" @click="doUpdate('1')">设置客户可见</el-button>
|
||||
<el-button type="danger" :disabled="!(selectRows.length > 0 && radio !== '0')" @click="doUpdate('0')">设置客户不可见</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {queryList, updateOpen} from "@/api/repair/repairRecord";
|
||||
import {getTicketsById} from "@/api/repair/tickets/Tickets";
|
||||
|
||||
export default {
|
||||
name: "RecordSetting",
|
||||
data(){
|
||||
return {
|
||||
recordDialog: false,
|
||||
recordQuery:{
|
||||
ticketId: null,
|
||||
repairItemId: null,
|
||||
dealUserId: null,
|
||||
type: null
|
||||
},
|
||||
recordList: [],
|
||||
dialogLoading: null,
|
||||
projectList: [],
|
||||
recordTableLoading: false,
|
||||
items: [],
|
||||
settingDialog: false,
|
||||
srcList: [],
|
||||
radio: '-1',
|
||||
finalItems: [],
|
||||
selectRows: []
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
radio(val){
|
||||
this.filterByRadio(val)
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
async open(id){
|
||||
this.resetForm("recordQueryForm")
|
||||
this.recordQuery.ticketId = id
|
||||
try {
|
||||
this.recordDialog = true
|
||||
this.dialogLoading = this.$loading({
|
||||
target: this.$refs.recordRef.$el
|
||||
})
|
||||
const response = await getTicketsById(id)
|
||||
this.projectList = response.data.projects
|
||||
await this.getRecordList()
|
||||
}finally {
|
||||
this.dialogLoading.close()
|
||||
}
|
||||
},
|
||||
async getRecordList(){
|
||||
try {
|
||||
this.recordTableLoading = true
|
||||
const res = await queryList(this.recordQuery)
|
||||
this.recordList = res.data
|
||||
}finally {
|
||||
this.recordTableLoading = false
|
||||
}
|
||||
},
|
||||
handleRecordQuery(){
|
||||
this.getRecordList()
|
||||
},
|
||||
resetRecordQuery(){
|
||||
const id = this.recordQuery.ticketId
|
||||
this.resetForm('recordQueryForm')
|
||||
this.recordQuery.ticketId = id
|
||||
this.handleRecordQuery()
|
||||
},
|
||||
getProjectName(id){
|
||||
return this.projectList.filter(item => item.id === id)?.[0]?.itemName || "无项目"
|
||||
},
|
||||
handleSetting(row){
|
||||
this.radio = '-1'
|
||||
this.items = row.itemList
|
||||
this.items = [...this.items.map(item => {
|
||||
return {
|
||||
...item,
|
||||
image: process.env.VUE_APP_FILE_API + item.image
|
||||
}
|
||||
})]
|
||||
this.finalItems = this.items
|
||||
this.srcList = this.items.map(item => item.image)
|
||||
this.settingDialog = true
|
||||
},
|
||||
filterByRadio(val){
|
||||
if (val === '-1'){
|
||||
this.items = this.finalItems
|
||||
}else {
|
||||
this.items = this.finalItems.filter(item => item.isOpen === val)
|
||||
}
|
||||
this.srcList = this.items.map(item => item.image)
|
||||
},
|
||||
selectRow(val){
|
||||
this.selectRows = val
|
||||
},
|
||||
async doUpdate(isOpen){
|
||||
try {
|
||||
const ids = this.selectRows.map(item => item.id).join(",")
|
||||
await updateOpen(ids, isOpen)
|
||||
this.settingDialog = false
|
||||
await this.getRecordList()
|
||||
this.$modal.msgSuccess("设置成功")
|
||||
}catch{}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
@ -47,6 +47,9 @@
|
||||
<el-button @click="handleEdit(scope.row)" v-if="userRole === 'service_advisor'" size="mini" type="text" icon="el-icon-setting">
|
||||
编辑工单
|
||||
</el-button>
|
||||
<el-button v-if="userRole === 'service_advisor'" size="mini" type="text" icon="el-icon-refresh" @click="handleEditRecord(scope.row)">
|
||||
维修记录设置
|
||||
</el-button>
|
||||
<el-button v-if="!(userRole === 'service_advisor' && scope.row.ticketsWorkStatus === '03')" size="mini" type="text" icon="el-icon-edit-outline" @click="handleDispose(scope.row)">
|
||||
处理
|
||||
</el-button>
|
||||
@ -127,6 +130,7 @@
|
||||
|
||||
<UpdateRepair ref="updateRepair" @success="getList"/>
|
||||
<EditTickets ref="editTickets" @success="getList"/>
|
||||
<RecordSetting ref="recordSet" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -136,10 +140,11 @@ import TicketsShow from "@/views/repair/tickets/Components/TicketsShow.vue";
|
||||
import UpdateRepair from "@/views/repair/tickets/form/UpdateRepair.vue";
|
||||
import {getUserProfile} from "@/api/system/user";
|
||||
import EditTickets from "@/views/repair/tickets/form/EditTickets.vue";
|
||||
import RecordSetting from "@/views/repair/tickets/form/RecordSetting.vue";
|
||||
|
||||
export default {
|
||||
name: "TicketFinishManager",
|
||||
components: {EditTickets, UpdateRepair, TicketsShow},
|
||||
components: {RecordSetting, EditTickets, UpdateRepair, TicketsShow},
|
||||
props:{
|
||||
userRole: String
|
||||
},
|
||||
@ -272,7 +277,11 @@ export default {
|
||||
},
|
||||
handleEdit(row){
|
||||
this.$refs.editTickets.open(row)
|
||||
}
|
||||
},
|
||||
// 设置维修图片可不可见
|
||||
handleEditRecord(row){
|
||||
this.$refs.recordSet.open(row.id)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
491
src/views/rescue/rescueIndex.vue
Normal file
491
src/views/rescue/rescueIndex.vue
Normal file
@ -0,0 +1,491 @@
|
||||
<template>
|
||||
<div class="dashboard-editor-container">
|
||||
<template >
|
||||
<div class="top-box">
|
||||
<div class="t_box">
|
||||
<div>待取车</div>
|
||||
<div>{{dataMap.dqcNum}}</div>
|
||||
</div>
|
||||
<div class="t_box">
|
||||
<div>待支付</div>
|
||||
<div>{{dataMap.dzfNum}}</div>
|
||||
</div>
|
||||
<div class="t_box">
|
||||
<div>救援中</div>
|
||||
<div>{{dataMap.jyzNum}}</div>
|
||||
</div>
|
||||
<div class="t_box">
|
||||
<div>已完成</div>
|
||||
<div>{{dataMap.ywcNum}}</div>
|
||||
</div>
|
||||
<div class="t_box">
|
||||
<div>未读消息</div>
|
||||
<div style="color: red;font-size: 38px;margin-right: 15px">{{noReadMsgNum}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cent-box">
|
||||
<el-table :data="messageList.list">
|
||||
|
||||
<el-table-column label="标题" align="center" prop="title" />
|
||||
<el-table-column label="消息内容" align="center" prop="content" />
|
||||
<el-table-column label="已读/未读" align="center" prop="isSuccess" >
|
||||
<template slot-scope="scope">
|
||||
<!-- <span>{{ scope.row.isRead==='1'?'已读':'未读' }}</span>-->
|
||||
<el-tag type="success" v-if="scope.row.isRead=='1'">已读</el-tag>
|
||||
<el-tag type="danger" v-if="scope.row.isRead!='1'">未读</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {hh}:{mm}:{ss}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="messageList.total>0"
|
||||
:total="messageList.total"
|
||||
:page.sync="messageList.pageNum"
|
||||
:limit.sync="messageList.pageSize"
|
||||
@pagination="getMsgList()"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="32">
|
||||
<el-col :xs="24" :sm="24" :lg="8">
|
||||
<div style="display: flex;align-items: center;margin-bottom: 10px">
|
||||
<el-input v-model="kcList.searchValue" placeholder="请输入车牌号"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="getkcList()">搜索</el-button>
|
||||
|
||||
</div>
|
||||
<div class="bot-list">
|
||||
<div style="font-weight: bold">
|
||||
扣车中:
|
||||
</div>
|
||||
<el-empty v-if=" kcList.list.length ==0" description="暂无数据"></el-empty>
|
||||
<div class="boxa" v-for="(item,index) in kcList.list" :key="index">
|
||||
<div class="hei-title">{{item.licenseNum || ''}}</div>
|
||||
<div class="box-bs">
|
||||
<div class="zc">车主:{{item.connectionName || ''}}</div>
|
||||
<div class="zc">联系电话:{{item.connectionPhone || ''}}</div>
|
||||
</div>
|
||||
<div class="yihang">扣车时间:{{item.createTime || ''}}</div>
|
||||
<div class="yihang">扣车地点:{{item.rescuePosition || ''}}</div>
|
||||
|
||||
<div class="yihang">取车地点:{{item.kcPosition || ''}}</div>
|
||||
<div class="right-box">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="bd-bot">
|
||||
<pagination
|
||||
:pageSizes="[3]"
|
||||
v-show="kcList.total>0"
|
||||
:total="kcList.total"
|
||||
:page.sync="kcList.pageNum"
|
||||
:limit.sync="kcList.pageSize"
|
||||
@pagination="getkcList()"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :xs="24" :sm="24" :lg="8">
|
||||
<div style="display: flex;align-items: center;margin-bottom: 10px">
|
||||
<el-input v-model="jkList.searchValue" placeholder="请输入车牌号"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="getjkList()">搜索</el-button>
|
||||
|
||||
</div>
|
||||
<div class="bot-list">
|
||||
<div style="font-weight: bold">
|
||||
已解扣:
|
||||
</div>
|
||||
<el-empty v-if=" jkList.list.length ==0" description="暂无数据"></el-empty>
|
||||
<div class="boxa" v-for="(item,index) in jkList.list" :key="index">
|
||||
<div class="hei-title">{{item.licenseNum || ''}}</div>
|
||||
<div class="box-bs">
|
||||
<div class="zc">车主:{{item.connectionName || ''}}</div>
|
||||
<div class="zc">联系电话:{{item.connectionPhone || ''}}</div>
|
||||
</div>
|
||||
<div class="yihang">扣车时间:{{item.createTime || ''}}</div>
|
||||
<div class="yihang">扣车地点:{{item.rescuePosition || ''}}</div>
|
||||
|
||||
<div class="yihang">取车地点:{{item.kcPosition || ''}}</div>
|
||||
<div class="right-box">
|
||||
<div class="janniu" @click="hcOpen(item.id)">
|
||||
<span>还车</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bd-bot">
|
||||
<pagination
|
||||
:pageSizes="[3]"
|
||||
v-show="jkList.total>0"
|
||||
:total="jkList.total"
|
||||
:page.sync="jkList.pageNum"
|
||||
:limit.sync="jkList.pageSize"
|
||||
@pagination="getjkList()"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :lg="8">
|
||||
<div style="display: flex;align-items: center;margin-bottom: 10px">
|
||||
<el-input v-model="hcList.searchValue" placeholder="请输入车牌号"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="gethcList()">搜索</el-button>
|
||||
|
||||
</div>
|
||||
<div class="bot-list">
|
||||
<div style="font-weight: bold">
|
||||
已还车:
|
||||
</div>
|
||||
<el-empty v-if=" hcList.list.length ==0" description="暂无数据"></el-empty>
|
||||
<div class="boxa" v-for="(item,index) in hcList.list" :key="index">
|
||||
<div class="hei-title">{{item.licenseNum || ''}}</div>
|
||||
<div class="box-bs">
|
||||
<div class="zc">车主:{{item.connectionName || ''}}</div>
|
||||
<div class="zc">联系电话:{{item.connectionPhone || ''}}</div>
|
||||
</div>
|
||||
<div class="yihang">扣车时间:{{item.createTime || ''}}</div>
|
||||
<div class="yihang">扣车地点:{{item.rescuePosition || ''}}</div>
|
||||
|
||||
<div class="yihang">取车地点:{{item.kcPosition || ''}}</div>
|
||||
<div class="right-box">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="bd-bot">
|
||||
<pagination
|
||||
:pageSizes="[3]"
|
||||
v-show="hcList.total>0"
|
||||
:total="hcList.total"
|
||||
:page.sync="hcList.pageNum"
|
||||
:limit.sync="hcList.pageSize"
|
||||
@pagination="gethcList()"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import PanelGroup from './dashboard/PanelGroup'
|
||||
// import LineChart from './dashboard/LineChart'
|
||||
// import LineChart2 from './dashboard/LineChart2'
|
||||
// import PieChart from './dashboard/PieChart'
|
||||
// import BarChart from './dashboard/BarChart'
|
||||
import partnerIdx from '@/views/partner/index'
|
||||
import request from '@/utils/request'
|
||||
export default {
|
||||
name: 'Index',
|
||||
components: {
|
||||
// PanelGroup,
|
||||
// LineChart,
|
||||
// LineChart2,
|
||||
// PieChart,
|
||||
// BarChart,
|
||||
partnerIdx
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
rolseStr:'none',
|
||||
//扣车中list
|
||||
kcList:{
|
||||
list:[],
|
||||
total:0,
|
||||
pageSize:3,
|
||||
pageNum:1,
|
||||
searchValue:""
|
||||
},
|
||||
//已解扣list
|
||||
jkList:{
|
||||
list:[],
|
||||
total:0,
|
||||
pageSize:3,
|
||||
pageNum:1,
|
||||
searchValue:""
|
||||
},
|
||||
//已还车list
|
||||
hcList:{
|
||||
list:[],
|
||||
total:0,
|
||||
pageSize:3,
|
||||
pageNum:1,
|
||||
searchValue:""
|
||||
},
|
||||
//消息通知list
|
||||
messageList:{
|
||||
list:[],
|
||||
total:0,
|
||||
pageSize:10,
|
||||
pageNum:1,
|
||||
searchValue:""
|
||||
},
|
||||
//未读消息list
|
||||
noReadMsgNum:0,
|
||||
dataMap:{}
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.setAllRead()
|
||||
setInterval(() => {
|
||||
// 在这里执行你的方法
|
||||
this.getData()
|
||||
// 例如:
|
||||
|
||||
}, 3000) // 每2秒执行一次
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData(){
|
||||
this.getKcList()
|
||||
this.getjkList()
|
||||
this.gethcList()
|
||||
this.getMsgList()
|
||||
this.getOwnNoRead()
|
||||
this.getRescueStatistics()
|
||||
},
|
||||
hcOpen(rescueId){
|
||||
request({
|
||||
url: '/app/rescueInfo/hcOpen',
|
||||
method: 'post',
|
||||
params:{
|
||||
rescueId:rescueId
|
||||
}
|
||||
}).then(res=>{
|
||||
this.$message.success("操作成功")
|
||||
this.getjkList()
|
||||
})
|
||||
},
|
||||
getRescueStatistics(){
|
||||
request({
|
||||
url: '/app/rescueInfo/getRescueStatistics',
|
||||
method: 'get',
|
||||
}).then(res=>{
|
||||
this.dataMap = res.data
|
||||
})
|
||||
},
|
||||
getKcList(){
|
||||
request({
|
||||
url: '/app/rescueInfo/getRescueList',
|
||||
method: 'get',
|
||||
params:{
|
||||
licenseNum:this.kcList.searchValue,
|
||||
rescueStatus:'9',
|
||||
pageNum:this.kcList.pageNum,
|
||||
pageSize:this.kcList.pageSize
|
||||
}
|
||||
}).then(res=>{
|
||||
this.kcList.list = res.rows;
|
||||
this.kcList.total = res.total;
|
||||
})
|
||||
},
|
||||
getjkList(){
|
||||
request({
|
||||
url: '/app/rescueInfo/getRescueList',
|
||||
method: 'get',
|
||||
params:{
|
||||
licenseNum:this.jkList.searchValue,
|
||||
rescueStatus:'3',
|
||||
pageNum:this.jkList.pageNum,
|
||||
pageSize:this.jkList.pageSize
|
||||
}
|
||||
}).then(res=>{
|
||||
this.jkList.list = res.rows;
|
||||
this.jkList.total = res.total;
|
||||
})
|
||||
},
|
||||
gethcList(){
|
||||
request({
|
||||
url: '/app/rescueInfo/getRescueList',
|
||||
method: 'get',
|
||||
params:{
|
||||
licenseNum:this.hcList.searchValue,
|
||||
rescueStatus:'8',
|
||||
pageNum:this.hcList.pageNum,
|
||||
pageSize:this.hcList.pageSize
|
||||
}
|
||||
}).then(res=>{
|
||||
this.hcList.list = res.rows;
|
||||
this.hcList.total = res.total;
|
||||
})
|
||||
},
|
||||
getMsgList(){
|
||||
request({
|
||||
url: '/announcement/announcement/getOwnMsg',
|
||||
method: 'get',
|
||||
params:{
|
||||
pageNum:this.messageList.pageNum,
|
||||
pageSize:this.messageList.pageSize
|
||||
}
|
||||
}).then(res=>{
|
||||
this.messageList.list = res.rows;
|
||||
this.messageList.total = res.total;
|
||||
})
|
||||
},
|
||||
getOwnNoRead(){
|
||||
request({
|
||||
url: '/announcement/announcement/getOwnNoRead',
|
||||
method: 'get',
|
||||
}).then(res=>{
|
||||
this.noReadMsgNum = res.data||0;
|
||||
// this.setAllRead()
|
||||
|
||||
})
|
||||
},
|
||||
setAllRead(){
|
||||
request({
|
||||
url: '/announcement/announcement/setAllRead',
|
||||
method: 'get',
|
||||
}).then(res=>{
|
||||
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.top-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 15px;
|
||||
|
||||
}
|
||||
.cent-box{
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
.box_mess{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.t_box{
|
||||
width: 19%;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
font-size: 24px;
|
||||
background: #FFFFFF;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.bot-list{
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
background: #FFFFFF;
|
||||
height: 550px;
|
||||
//overflow: scroll;
|
||||
//position: relative;
|
||||
}
|
||||
|
||||
.dashboard-editor-container {
|
||||
padding: 32px;
|
||||
background-color: rgb(240, 242, 245);
|
||||
position: relative;
|
||||
|
||||
.chart-wrapper {
|
||||
background: #fff;
|
||||
padding: 16px 16px 0;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.chart-wrapper {
|
||||
padding: 8px;
|
||||
}
|
||||
}
|
||||
.chart-title{
|
||||
padding:10px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin:0 auto;
|
||||
line-height: 18px;
|
||||
color: rgba(0, 0, 0, 0.45);
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.boxa{
|
||||
background: #FFFFFF;
|
||||
border-radius: 10px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
width: 95%;
|
||||
border-radius: 10px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.box-bs{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.zc{
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #363636
|
||||
}
|
||||
.hei-title{
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: #363636;
|
||||
}
|
||||
.yihang{
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #363636;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.right-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.janniu{
|
||||
width: 120px;
|
||||
height: 30px;
|
||||
background: #FF4D4F;
|
||||
border-radius: 26px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.ques{
|
||||
width: 90%;
|
||||
margin: 100px auto;
|
||||
|
||||
}
|
||||
.bd-bot{
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background: #FFFFFF;
|
||||
//display: flex;
|
||||
//align-items: center;
|
||||
//justify-content: center;
|
||||
|
||||
bottom: 0px;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user