From 328305d2e3fbac22e5c975b13667535b655ca445 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 25 十二月 2024 17:40:33 +0800
Subject: [PATCH] ll
---
admin/src/views/platform/LogisticsRecord/waybill.vue | 7
screen/package-lock.json | 18
admin/src/views/statistics/platformRecord.vue | 10
screen/src/views/SecurityControl.vue | 6
admin/src/views/statistics/platformStatic.vue | 1
admin/src/views/system/smsMessage.vue | 7
admin/src/views/platform/smokebox.vue | 2
screen/src/api/index.js | 7
screen/src/views/LogisticsCenter.vue | 222 ++++++--
admin/src/views/platform/LogisticsRecord/operation.vue | 1
h5/manifest.json | 4
screen/src/views/EnergyConsum.vue | 5
admin/src/views/platform/water.vue | 2
h5/pages/staffLogin/login.vue | 12
h5/utils/config.js | 4
h5/pages/login/login.vue | 3
admin/src/views/platform/LogisticsRecord/leaveAuth.vue | 1
admin/src/views/platform/LogisticsRecord/operationCity.vue | 25
screen/package.json | 1
screen/src/views/LogisticsEfficiency.vue | 103 ++-
screen/src/router/index.js | 2
screen/src/views/TaskEfficiency.vue | 31 +
admin/src/views/vehicle/driver.vue | 80 +++
admin/src/views/platform/LogisticsRecord/subscribe.vue | 37
admin/src/views/system/publicMsg.vue | 1
admin/src/views/platform/LogisticsRecord/waybillQuery.vue | 5
h5/App.vue | 1
h5/pages/driver/login.vue | 488 ++++++++++---------
h5/pages/staff/task/vDangetAppr.vue | 2
admin/src/views/platform/oil.vue | 102 +--
screen/src/views/FireFighting.vue | 298 +++++++----
31 files changed, 934 insertions(+), 554 deletions(-)
diff --git a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
index ecc0fa4..1d7eefc 100644
--- a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
+++ b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
@@ -237,6 +237,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/operation.vue b/admin/src/views/platform/LogisticsRecord/operation.vue
index 95dd8c5..2fe8765 100644
--- a/admin/src/views/platform/LogisticsRecord/operation.vue
+++ b/admin/src/views/platform/LogisticsRecord/operation.vue
@@ -203,6 +203,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/operationCity.vue b/admin/src/views/platform/LogisticsRecord/operationCity.vue
index 8b0634f..02f782d 100644
--- a/admin/src/views/platform/LogisticsRecord/operationCity.vue
+++ b/admin/src/views/platform/LogisticsRecord/operationCity.vue
@@ -1,12 +1,9 @@
<template>
<div class="main_app">
- <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)" @clear="clear">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)"
+ @clear="clear">
<template #fastdate>
- <el-radio-group
- v-model="filters.fastdate"
- size="small"
- @input="changeRadio"
- >
+ <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio">
<el-radio-button label="0">褰撳ぉ</el-radio-button>
<el-radio-button label="6">杩�7澶�</el-radio-button>
<el-radio-button label="29">杩�30澶�</el-radio-button>
@@ -14,7 +11,8 @@
</template>
</QueryForm>
<div class="pt16">
- <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">瀵煎嚭</el-button>
+ <el-button :loading="exLoading" @click="handleEx"
+ v-permissions="['business:platformjob:exportExcel']">瀵煎嚭</el-button>
</div>
<el-table class="mb20" v-loading="loading" :data="list" stripe>
<el-table-column prop="contractNum" label="鍚堝悓鍙�" min-width="100" show-overflow-tooltip />
@@ -49,7 +47,7 @@
<script>
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
-import { platformJobPage, platformJobExport,platformJobDel } from '@/api'
+import { platformJobPage, platformJobExport, platformJobDel } from '@/api'
import { statusMap } from '../config'
import DriverDetail from "@/views/task/driverDetail"
import GlobalWindow from '@/components/common/GlobalWindow'
@@ -57,7 +55,7 @@
import { Message } from 'element-ui'
import dayjs from 'dayjs'
import duration from 'dayjs/plugin/duration'
-dayjs.extend(duration);
+dayjs.extend(duration)
export default {
components: {
Pagination,
@@ -84,7 +82,7 @@
list: [],
queryFormConfig: {
formItems: [
- {
+ {
filed: 'contractNum',
type: 'input',
label: '鍚堝悓鍙�'
@@ -120,12 +118,12 @@
this.getList()
},
methods: {
- changeRadio (day) {
+ changeRadio(day) {
const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
this.$set(this.filters, 'selDate', arr)
this.getList()
},
- changeForm (str) {
+ changeForm(str) {
if (str === 'selDate') {
this.$set(this.filters, 'fastdate', null)
this.getList()
@@ -149,7 +147,7 @@
this.list.forEach(item => {
item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
item.taskOrigin = 'WMS鑾峰彇'
- item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�');
+ item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�')
})
this.pagination.total = res.total || 0
}, () => {
@@ -204,6 +202,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index 3673592..6422ad2 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -1,12 +1,9 @@
<template>
<div class="main_app">
- <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)" @clear="clear">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)"
+ @clear="clear">
<template #fastdate>
- <el-radio-group
- v-model="filters.fastdate"
- size="small"
- @input="changeRadio"
- >
+ <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio">
<el-radio-button label="0">褰撳ぉ</el-radio-button>
<el-radio-button label="6">杩�7澶�</el-radio-button>
<el-radio-button label="29">杩�30澶�</el-radio-button>
@@ -16,7 +13,8 @@
<div class="pt16">
<el-button type="primary" @click="handleEdit" icon="el-icon-plus"
v-permissions="['business:platformbooks:create']">鏂板缓</el-button>
- <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformbooks:exportExcel']">瀵煎嚭</el-button>
+ <el-button :loading="exLoading" @click="handleEx"
+ v-permissions="['business:platformbooks:exportExcel']">瀵煎嚭</el-button>
</div>
<el-table class="mb20" v-loading="loading" :data="list" stripe>
<el-table-column prop="contractNum" label="鍚堝悓鍗曞彿" min-width="100" show-overflow-tooltip />
@@ -62,8 +60,8 @@
<el-input v-model="param.contractNum" class="w300" placeholder="璇疯緭鍏ュ悎鍚屽彿"></el-input>
</el-form-item>
<el-form-item label="鍒板満鏃堕棿" prop="arriveDate">
- <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
- placeholder="璇烽�夋嫨">
+ <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime" class="w300" placeholder="璇烽�夋嫨">
</el-date-picker>
</el-form-item>
<el-form-item label="鍏ュ簱绫诲瀷" prop="inType">
@@ -73,7 +71,8 @@
</div>
</el-form-item>
<el-form-item label="鎬昏繍杈撻噺" prop="totalNum">
- <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
+ <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)"
+ v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
<span class="ml10">涓囨敮</span>
</el-form-item>
<el-form-item label="鍑嗚繍璇佺収鐗�" prop="transportImg">
@@ -86,7 +85,8 @@
<el-input v-model="param.driverName" placeholder="璇疯緭鍏�" class="w300"></el-input>
</el-form-item>
<el-form-item label="鍙告満鎵嬫満鍙�" prop="driverPhone">
- <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="param.driverPhone" placeholder="璇疯緭鍏�" class="w300"></el-input>
+ <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="param.driverPhone"
+ placeholder="璇疯緭鍏�" class="w300"></el-input>
</el-form-item>
<el-form-item label="杞﹀墠鐗岀収鍙�" prop="carCodeFront">
<el-input v-model="param.carCodeFront" placeholder="璇疯緭鍏�" class="w300"></el-input>
@@ -105,7 +105,7 @@
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api'
-import { checkSurplusNum } from '@/api/platform/platform'
+import { checkSurplusNum } from '@/api/platform/platform'
import DriverDetail from "@/views/task/driverDetail"
import GlobalWindow from '@/components/common/GlobalWindow'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
@@ -207,25 +207,25 @@
methods: {
checkSurplus() {
const { arriveDate, reasonId, totalNum } = this.param
- if(!arriveDate || !reasonId || !totalNum) return
+ if (!arriveDate || !reasonId || !totalNum) return
checkSurplusNum({
arriveDate,
reasonId,
totalNum
}).then(res => {
- console.log('res', res);
-
- if( res == 0 || res < Number(totalNum)){
+ console.log('res', res)
+
+ if (res == 0 || res < Number(totalNum)) {
Message.error(`褰撴棩鍓╀綑鍙绾︿綔涓氶噺${res}涓囨敮涓嶈冻璇烽�夋嫨鍏朵粬鍒板満鏃ユ湡`)
}
})
},
- changeRadio (day) {
+ changeRadio(day) {
const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
this.$set(this.filters, 'selDate', arr)
this.getList()
},
- changeForm (str) {
+ changeForm(str) {
if (str === 'selDate') {
this.$set(this.filters, 'fastdate', null)
this.getList()
@@ -336,6 +336,7 @@
handleDel() { },
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index c34af48..11b86a6 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -23,7 +23,7 @@
<el-table-column prop="driverName" label="鍙告満" min-width="100" show-overflow-tooltip />
<el-table-column prop="drivierPhone" label="鍙告満鐢佃瘽" min-width="100" show-overflow-tooltip />
<el-table-column prop="inTypeTemp" label="浣滀笟绫诲瀷" min-width="100" show-overflow-tooltip>
- <template v-slot="scope">
+ <template v-slot="scope">
<span v-if="scope.row.type == '0'">鑷湁杞﹀嵏璐�</span>
<span v-if="scope.row.type == '1'">鑷湁杞﹁璐�</span>
<span v-if="scope.row.type == '2'">澶栧崗杞﹀嵏璐�</span>
@@ -39,8 +39,8 @@
</el-table-column>
<el-table-column prop="name" label="鎿嶄綔" min-width="120" align="center" fixed="right" show-overflow-tooltip>
<template v-slot="scope">
- <el-button v-if="scope.row.status == '12'" type="text" class="red" v-permissions="['business:platformjob:delete']"
- @click="handleDel(scope.row)">鍒犻櫎</el-button>
+ <el-button v-if="scope.row.status == '12'" type="text" class="red"
+ v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">鍒犻櫎</el-button>
<el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']"
@click="handleDetail(scope.row)">杩愬崟璇︽儏</el-button>
</template>
@@ -226,6 +226,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/waybillQuery.vue b/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
index e9cb826..7f91fa0 100644
--- a/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
@@ -15,8 +15,8 @@
<el-table-column prop="driverName" label="鏈�鍚庢洿鏂版椂闂�" min-width="100" show-overflow-tooltip />
<el-table-column prop="name" label="鎿嶄綔" min-width="120" align="center" fixed="right" show-overflow-tooltip>
<template v-slot="scope">
- <el-button v-if="scope.row.status == '12'" type="text" class="red" v-permissions="['business:platformjob:delete']"
- @click="handleDel(scope.row)">鍒犻櫎</el-button>
+ <el-button v-if="scope.row.status == '12'" type="text" class="red"
+ v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">鍒犻櫎</el-button>
<el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']"
@click="handleDetail(scope.row)">缂栬緫</el-button>
</template>
@@ -167,6 +167,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/platform/oil.vue b/admin/src/views/platform/oil.vue
index a6b5680..8ae45c5 100644
--- a/admin/src/views/platform/oil.vue
+++ b/admin/src/views/platform/oil.vue
@@ -1,30 +1,17 @@
<template>
<TableLayout :permissions="['business:platformwatergas:query']">
<SearchFormCollapse slot="search-form" :need-more="false">
- <el-form ref="searchForm" :model="searchForm" label-width="100px" inline >
- <el-form-item title="璇疯緭鍏ヨ溅鐗屽彿" >
- <el-input v-model="searchForm.carCode" clearable placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="浣跨敤鏃堕棿锛�" >
- <el-date-picker
- @change="search"
- v-model="searchForm.startTime"
- format="yyyy-MM"
- style="width: 140px"
- placeholder="寮�濮嬫椂闂�"
- value-format="yyyy-MM-dd HH:mm:ss"
- type="month"
- />~
- <el-date-picker
- @change="search"
- v-model="searchForm.endTime"
- format="yyyy-MM"
- style="width: 140px"
- placeholder="缁撴潫鏃堕棿"
- value-format="yyyy-MM-dd HH:mm:ss"
- type="month"
- />
- </el-form-item>
+ <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+ <el-form-item title="璇疯緭鍏ヨ溅鐗屽彿">
+ <el-input v-model="searchForm.carCode" clearable placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+ @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="浣跨敤鏃堕棿锛�">
+ <el-date-picker @change="search" v-model="searchForm.startTime" format="yyyy-MM" style="width: 140px"
+ placeholder="寮�濮嬫椂闂�" value-format="yyyy-MM-dd HH:mm:ss" type="month" /> ~
+ <el-date-picker @change="search" v-model="searchForm.endTime" format="yyyy-MM" style="width: 140px"
+ placeholder="缁撴潫鏃堕棿" value-format="yyyy-MM-dd HH:mm:ss" type="month" />
+ </el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
<el-button @click="reset">閲嶇疆</el-button>
@@ -33,51 +20,45 @@
</SearchFormCollapse>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:platformwatergas:create','business:platformwatergas:delete','business:notice:exportExcel']">
- <li><el-button type="primary" @click="$refs.OperaPlatformOilWindow.open('鏂板缓娌硅��')" icon="el-icon-plus" v-permissions="['business:platformwatergas:create']">鏂板缓</el-button></li>
- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button></li>
- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']" @click="handleImport">瀵煎叆</el-button>
+ <ul class="toolbar"
+ v-permissions="['business:platformwatergas:create', 'business:platformwatergas:delete', 'business:notice:exportExcel']">
+ <li><el-button type="primary" @click="$refs.OperaPlatformOilWindow.open('鏂板缓娌硅��')" icon="el-icon-plus"
+ v-permissions="['business:platformwatergas:create']">鏂板缓</el-button></li>
+ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete"
+ v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button></li>
+ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']"
+ @click="exportExcel">瀵煎嚭</el-button>
+ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']"
+ @click="handleImport">瀵煎叆</el-button>
</ul>
- <el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
- >
+ <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="carCode" label="杞︾墝鍙�" fixed min-width="150px"></el-table-column>
<el-table-column prop="timeInfo" label="浣跨敤鏈堜唤" fixed min-width="100px">
<template slot-scope="{row}">
- {{(row.timeInfo || row.timeInfo.length >7 )?row.timeInfo.substr(0,7):'-'}}
+ {{ (row.timeInfo || row.timeInfo.length > 7) ? row.timeInfo.substr(0, 7) : '-' }}
</template>
</el-table-column>
<el-table-column prop="num" label="娌硅�楋紙鍗囷級" fixed min-width="150px"></el-table-column>
<el-table-column prop="content" label="璇存槑" min-width="120px"></el-table-column>
<el-table-column prop="editDate" label="鏈�杩戞搷浣滄椂闂�" min-width="140px"></el-table-column>
<el-table-column
- v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])"
- label="鎿嶄綔"
- align="center"
- min-width="150"
- fixed="right"
- >
+ v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" label="鎿嶄綔"
+ align="center" min-width="150" fixed="right">
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.OperaPlatformOilWindow.open('缂栬緫娌硅��', row)" icon="el-icon-edit" v-permissions="['business:platformwatergas:update']">缂栬緫</el-button>
- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button>
+ <el-button type="text" @click="$refs.OperaPlatformOilWindow.open('缂栬緫娌硅��', row)" icon="el-icon-edit"
+ v-permissions="['business:platformwatergas:update']">缂栬緫</el-button>
+ <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+ v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
</pagination>
</template>
<!-- 鏂板缓/淇敼 -->
- <OperaPlatformOilWindow ref="OperaPlatformOilWindow" @success="handlePageChange"/>
- <oilImportTem ref="oilImportTem" @success="handlePageChange"/>
+ <OperaPlatformOilWindow ref="OperaPlatformOilWindow" @success="handlePageChange" />
+ <oilImportTem ref="oilImportTem" @success="handlePageChange" />
</TableLayout>
</template>
@@ -93,21 +74,21 @@
name: 'Platform',
extends: BaseTable,
components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformOilWindow, oilImportTem },
- data () {
+ data() {
return {
groupList: [],
// 鎼滅储
working: false,
working1: false,
searchForm: {
- carCode:'',
+ carCode: '',
startTime: '',
endTime: '',
type: 2
}
}
},
- created () {
+ created() {
this.config({
module: '娌硅�椾俊鎭〃',
api: '/platform/platformWaterGas',
@@ -118,16 +99,25 @@
this.loadGroupList()
},
methods: {
+ reset() {
+ this.searchForm = {
+ carCode: '',
+ startTime: '',
+ endTime: '',
+ type: 2
+ }
+ this.search()
+ },
handleImport() {
this.$refs.oilImportTem.open('鎵归噺瀵煎叆')
},
- loadGroupList () {
+ loadGroupList() {
allList({})
.then(res => {
this.groupList = res || []
})
},
- changeStatus (e, row) {
+ changeStatus(e, row) {
this.api.updateStatusById({
id: row.id,
status: e
diff --git a/admin/src/views/platform/smokebox.vue b/admin/src/views/platform/smokebox.vue
index 95917eb..19c12f6 100644
--- a/admin/src/views/platform/smokebox.vue
+++ b/admin/src/views/platform/smokebox.vue
@@ -2,7 +2,7 @@
<TableLayout :permissions="['business:platformwatergas:query']">
<SearchFormCollapse slot="search-form" :need-more="false">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
- <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label="" >
+ <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label="" prop="timeInfo" >
<el-date-picker
@change="search"
clearable
diff --git a/admin/src/views/platform/water.vue b/admin/src/views/platform/water.vue
index fd99d89..1adb08a 100644
--- a/admin/src/views/platform/water.vue
+++ b/admin/src/views/platform/water.vue
@@ -2,7 +2,7 @@
<TableLayout :permissions="['business:platformwatergas:query']">
<SearchFormCollapse slot="search-form" :need-more="false">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
- <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label="" >
+ <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label="" prop="timeInfo" >
<el-date-picker
@change="search"
clearable
diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue
index f9f3291..729cf99 100644
--- a/admin/src/views/statistics/platformRecord.vue
+++ b/admin/src/views/statistics/platformRecord.vue
@@ -9,8 +9,7 @@
<el-table-column prop="param1" label="浣滀笟寮�濮�" min-width="100" show-overflow-tooltip />
<el-table-column prop="param2" label="浣滀笟缁撴潫" min-width="100" show-overflow-tooltip />
<el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip />
- <el-table-column prop="name"
- label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="100" show-overflow-tooltip>
+ <el-table-column prop="name" label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="100" show-overflow-tooltip>
<template v-slot="scope">
<span>{{ scope.row.billCode || scope.row.contractNum }}</span>
</template>
@@ -117,11 +116,11 @@
item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
item.taskOrigin = 'WMS鑾峰彇'
// item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
- if(item.param3 > 3600){
+ if (item.param3 > 3600) {
item.workTime = Math.ceil(item.param3 / 3600) + '鏃�' + Math.ceil(Math.ceil(item.param3 % 3600) / 60) + '鍒�' + item.param3 % 60 + '绉�'
- }else if(item.param3 > 60){
+ } else if (item.param3 > 60) {
item.workTime = Math.ceil(item.param3 / 60) + '鍒�' + item.param3 % 60 + '绉�'
- }else{
+ } else {
item.workTime = item.param3 + '绉�'
}
})
@@ -138,6 +137,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/statistics/platformStatic.vue b/admin/src/views/statistics/platformStatic.vue
index 6bec585..520748a 100644
--- a/admin/src/views/statistics/platformStatic.vue
+++ b/admin/src/views/statistics/platformStatic.vue
@@ -130,6 +130,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/system/publicMsg.vue b/admin/src/views/system/publicMsg.vue
index 085dbd0..136d910 100644
--- a/admin/src/views/system/publicMsg.vue
+++ b/admin/src/views/system/publicMsg.vue
@@ -145,6 +145,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/system/smsMessage.vue b/admin/src/views/system/smsMessage.vue
index f3f551f..0dbf752 100644
--- a/admin/src/views/system/smsMessage.vue
+++ b/admin/src/views/system/smsMessage.vue
@@ -3,8 +3,7 @@
<QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear">
</QueryForm>
<div class="pt16 mb10">
- <el-button type="primary" @click="batchStatus(0)"
- v-permissions="['business:platformjob:update']">鎵归噺鍚敤</el-button>
+ <el-button type="primary" @click="batchStatus(0)" v-permissions="['business:platformjob:update']">鎵归噺鍚敤</el-button>
<el-button @click="batchStatus(1)" v-permissions="['business:platformjob:update']">鎵归噺绂佺敤</el-button>
</div>
<el-table @selection-change="handleSelectionChange" class="mb20" v-loading="loading" :data="list" stripe>
@@ -15,7 +14,8 @@
<el-table-column prop="content" label="娑堟伅妯℃澘" min-width="300" show-overflow-tooltip />
<el-table-column label="鐘舵��" width="120" align="center" fixed="right">
<template v-slot="scope">
- <el-switch v-permissions="['business:platformjob:update']" v-model="scope.row.status" @change="changeStatus(scope.row)" :active-value="0" :inactive-value="1">
+ <el-switch v-permissions="['business:platformjob:update']" v-model="scope.row.status"
+ @change="changeStatus(scope.row)" :active-value="0" :inactive-value="1">
</el-switch>
</template>
</el-table-column>
@@ -145,6 +145,7 @@
},
handleSizeChange(capacity) {
this.pagination.pageSize = capacity
+ this.getList()
}
}
}
diff --git a/admin/src/views/vehicle/driver.vue b/admin/src/views/vehicle/driver.vue
new file mode 100644
index 0000000..edd3410
--- /dev/null
+++ b/admin/src/views/vehicle/driver.vue
@@ -0,0 +1,80 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear">
+ </QueryForm>
+ <el-table v-loading="loading" :data="list" stripe row-key="id" class="mb20" default-expand-all>
+ <el-table-column prop="realname" label="濮撳悕" min-width="100"></el-table-column>
+ <el-table-column prop="mobile" label="鎵嬫満鍙�" min-width="100"></el-table-column>
+ </el-table>
+ <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import { fetchList } from '@/api/system/user.js'
+export default {
+ components: {
+ QueryForm,
+ Pagination
+ },
+ data() {
+ return {
+ filters: {},
+ list: [],
+ queryFormConfig: {
+ formItems: [
+ {
+ type: 'input',
+ filed: 'realname',
+ label: '濮撳悕'
+ },
+ {
+ type: 'input',
+ filed: 'username',
+ label: '鎵嬫満鍙�'
+ },
+ ],
+ online: true
+ },
+ pagination: {
+ capacity: 10,
+ page: 1,
+ total: 0,
+ },
+ loading: false,
+ }
+ },
+ created() {
+ this.getList()
+ },
+ methods: {
+ getList(page) {
+ const { filters, pagination } = this
+ pagination.page = page || pagination.page
+ fetchList({
+ model: {
+ ...filters,
+ // memberType: 0
+ },
+ ...pagination
+ }).then(res => {
+ console.log('res', res)
+ this.list = res.records || []
+ this.pagination.total = res.total || 0
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.getList(0)
+ },
+ handleSizeChange(capacity) {
+ this.pagination.capacity = capacity
+ this.getList(0)
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/h5/App.vue b/h5/App.vue
index 709d712..a944dea 100644
--- a/h5/App.vue
+++ b/h5/App.vue
@@ -8,6 +8,7 @@
window.location.href = app_url
}
})
+ console.log('onLaunch')
},
onShow: function () {
console.log('App Show')
diff --git a/h5/manifest.json b/h5/manifest.json
index d3e82c9..d3fa7f7 100644
--- a/h5/manifest.json
+++ b/h5/manifest.json
@@ -128,8 +128,8 @@
"/zhyq_interface" : {
// 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃
// "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
- // "target" : "http://192.168.0.107:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
- "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+ "target" : "http://192.168.0.102:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+ // "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
// "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
"changeOrigin" : true, // 鍏佽璺ㄥ煙
"pathRewrite" : {
diff --git a/h5/pages/driver/login.vue b/h5/pages/driver/login.vue
index 374d179..99240e5 100644
--- a/h5/pages/driver/login.vue
+++ b/h5/pages/driver/login.vue
@@ -1,228 +1,260 @@
-<template>
- <view class="login">
- <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
- <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
- <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
- <view class="login_title">鐗╂祦杞﹀徃鏈虹櫥褰�</view>
- <view class="login_list">
- <view class="login_list_item">
- <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
- <input v-model="form.username" type="tel" @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="鎵嬫満鍙�" />
- </view>
- <view class="login_list_item">
- <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
- <input
- v-model="form.password"
- @focus="showKeyboard = true" @blur="showKeyboard = false"
- type="password"
- placeholder="瀵嗙爜"
- />
- </view>
- </view>
- <view class="login_btn">
- <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
- </view>
- <!-- -->
- <view class="btns" v-if="!showKeyboard">
- <view class="btn" @click="handleRegister">绔嬪嵆娉ㄥ唽</view>
- <view class="btn separate"> | </view>
- <view class="btn" @click="handleSetPsd">蹇樿瀵嗙爜</view>
- </view>
- </view>
-</template>
-
-<script>
-import { driverLogin, loginCaptcha, getUserInfo } from '@/api'
-import { mapState, mapMutations } from 'vuex'
-export default {
- data() {
- return {
- form: {
- username: '',
- password: ''
- },
- isShowProtocol: false,
- showKeyboard: false,
- countDown: 0
- }
- },
- onLoad() {
- this.initCaptcha()
- },
-
- methods: {
- ...mapMutations(["setToken", "setDriverInfo"]),
- handleRegister() {
- uni.navigateTo({
- url: "/pages/driver/register"
- })
- },
- handleSetPsd() {
- uni.navigateTo({
- url: "/pages/driver/forgetPsd?phone=" + this.form.username
- })
- },
- dealChange(e) {
- console.log(e)
- },
- initCaptcha() {
- loginCaptcha().then(res => {
- this.captcha = res.data
- })
- },
-
- onLogin() {
- const { form } = this
- if (!form.username) return uni.showToast({
- title: '鎵嬫満鍙蜂笉鑳戒负绌�',
- icon: 'none'
- })
- if (!form.password) return uni.showToast({
- title: '瀵嗙爜涓嶈兘涓虹┖',
- icon: 'none'
- })
- driverLogin({
- ...form,
- uuid: this.captcha.uuid,
- openid: this.$store.state.openId,
- code: '1'
- }).then(res => {
- if (res.code === 200) {
- this.setToken(res.data)
- getUserInfo().then(ress => {
- setTimeout(() => {
- this.showToast('鐧诲綍鎴愬姛')
- })
- this.setDriverInfo(ress.data)
- uni.redirectTo({
- url: "/pages/driver/index"
- })
- })
- }
- })
- }
- }
-}
-</script>
-
-<style lang="scss" scoped>
-.login {
- width: 100%;
- display: flex;
- padding-top: 100rpx;
- box-sizing: border-box;
- align-items: center;
- flex-direction: column;
- background: linear-gradient(
- 180deg,
- rgba(39, 155, 170, 0.2) 0%,
- rgba(39, 155, 170, 0) 100%
- );
- .login_logo {
- width: 180rpx;
- height: 180rpx;
- margin-bottom: 40rpx;
- }
- .login_bg {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- z-index: -1;
- }
- .login_title {
- font-size: 44rpx;
- font-weight: 600;
- color: #333333;
- }
- .login_list {
- margin-top: 60rpx;
- width: 100%;
- padding: 0 60rpx;
- box-sizing: border-box;
- .login_list_item {
- width: 100%;
- border-radius: 50rpx;
- height: 98rpx;
- padding: 0 40rpx;
- box-sizing: border-box;
- background: #ffffff;
- margin-bottom: 40rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- &:last-child {
- margin-bottom: 0 !important;
- }
- image {
- flex-shrink: 0;
- width: 40rpx;
- height: 40rpx;
- }
- .captcha {
- color: $uni-color-primary;
- }
- input {
- flex: 1;
- height: 100%;
- color: #666666;
- margin-left: 24rpx;
- border: none;
- }
- }
- }
- .login_btn {
- width: 100%;
- padding: 0 60rpx;
- box-sizing: border-box;
- margin-top: 80rpx;
- .for_psd {
- color: $uni-color-primary;
- margin-top: 40rpx;
- width: 140rpx;
- text-align: center;
- margin: 40rpx auto;
- }
- .login_btn_n {
- width: 100%;
- height: 98rpx;
- background: $uni-color-primary;
- box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 600;
- font-size: 32rpx;
- color: #ffffff;
- border-radius: 50rpx;
- }
- }
- .deal_wrap {
- position: absolute;
- width: 100%;
- left: 0;
- text-align: center;
- bottom: 108rpx;
- .deal {
- color: $uni-color-primary;
- }
- }
- .btns{
- display: flex;
- align-items: center;
- justify-content: center;
- position: fixed;
- bottom: 60rpx;
- left: 0;
- width: 100%;
- .btn{
- font-size: 30rpx;
- color: $uni-color-primary;
- }
- .separate{ margin: 0 8rpx; }
- }
-}
-.modal {
- padding: 32rpx;
-}
-</style>
+<template>
+ <view class="login">
+ <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
+ <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
+ <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
+ <view class="login_title">鐗╂祦杞﹀徃鏈虹櫥褰�</view>
+ <view class="login_list">
+ <view class="login_list_item">
+ <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
+ <input v-model="form.username" type="tel" @focus="showKeyboard = true" @blur="showKeyboard = false"
+ maxlength="18" placeholder="鎵嬫満鍙�" />
+ </view>
+ <view class="login_list_item">
+ <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
+ <input v-model="form.password" @focus="showKeyboard = true" @blur="showKeyboard = false" type="password"
+ placeholder="瀵嗙爜" />
+ </view>
+ </view>
+ <view class="login_btn">
+ <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
+ </view>
+ <!-- -->
+ <view class="btns" v-if="!showKeyboard">
+ <view class="btn" @click="handleRegister">绔嬪嵆娉ㄥ唽</view>
+ <view class="btn separate"> | </view>
+ <view class="btn" @click="handleSetPsd">蹇樿瀵嗙爜</view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import {
+ driverLogin,
+ loginCaptcha,
+ getUserInfo
+ } from '@/api'
+ import {
+ mapState,
+ mapMutations
+ } from 'vuex'
+ export default {
+ data() {
+ return {
+ form: {
+ username: '',
+ password: ''
+ },
+ isShowProtocol: false,
+ showKeyboard: false,
+ countDown: 0,
+
+ ywinfo: {}
+ }
+ },
+ onLoad() {
+ this.initCaptcha()
+ const ywinfo = uni.getStorageSync('ywinfo') || {}
+ if (ywinfo.ywid && ywinfo.type == 0) {
+ this.ywinfo = ywinfo
+ uni.setStorageSync('ywinfo', {})
+ }
+ },
+
+ methods: {
+ ...mapMutations(["setToken", "setDriverInfo"]),
+ handleRegister() {
+ uni.navigateTo({
+ url: "/pages/driver/register"
+ })
+ },
+ handleSetPsd() {
+ uni.navigateTo({
+ url: "/pages/driver/forgetPsd?phone=" + this.form.username
+ })
+ },
+ dealChange(e) {
+ console.log(e)
+ },
+ initCaptcha() {
+ loginCaptcha().then(res => {
+ this.captcha = res.data
+ })
+ },
+
+ onLogin() {
+ const {
+ form
+ } = this
+ if (!form.username) return uni.showToast({
+ title: '鎵嬫満鍙蜂笉鑳戒负绌�',
+ icon: 'none'
+ })
+ if (!form.password) return uni.showToast({
+ title: '瀵嗙爜涓嶈兘涓虹┖',
+ icon: 'none'
+ })
+ driverLogin({
+ ...form,
+ uuid: this.captcha.uuid,
+ openid: this.$store.state.openId,
+ code: '1'
+ }).then(res => {
+ if (res.code === 200) {
+ this.setToken(res.data)
+ getUserInfo().then(ress => {
+ setTimeout(() => {
+ this.showToast('鐧诲綍鎴愬姛')
+ })
+ uni.setStorageSync('ywinfo', this.ywinfo)
+ this.setDriverInfo(ress.data)
+ uni.redirectTo({
+ url: "/pages/driver/index"
+ })
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .login {
+ width: 100%;
+ display: flex;
+ padding-top: 100rpx;
+ box-sizing: border-box;
+ align-items: center;
+ flex-direction: column;
+ background: linear-gradient(180deg,
+ rgba(39, 155, 170, 0.2) 0%,
+ rgba(39, 155, 170, 0) 100%);
+
+ .login_logo {
+ width: 180rpx;
+ height: 180rpx;
+ margin-bottom: 40rpx;
+ }
+
+ .login_bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: -1;
+ }
+
+ .login_title {
+ font-size: 44rpx;
+ font-weight: 600;
+ color: #333333;
+ }
+
+ .login_list {
+ margin-top: 60rpx;
+ width: 100%;
+ padding: 0 60rpx;
+ box-sizing: border-box;
+
+ .login_list_item {
+ width: 100%;
+ border-radius: 50rpx;
+ height: 98rpx;
+ padding: 0 40rpx;
+ box-sizing: border-box;
+ background: #ffffff;
+ margin-bottom: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+
+ image {
+ flex-shrink: 0;
+ width: 40rpx;
+ height: 40rpx;
+ }
+
+ .captcha {
+ color: $uni-color-primary;
+ }
+
+ input {
+ flex: 1;
+ height: 100%;
+ color: #666666;
+ margin-left: 24rpx;
+ border: none;
+ }
+ }
+ }
+
+ .login_btn {
+ width: 100%;
+ padding: 0 60rpx;
+ box-sizing: border-box;
+ margin-top: 80rpx;
+
+ .for_psd {
+ color: $uni-color-primary;
+ margin-top: 40rpx;
+ width: 140rpx;
+ text-align: center;
+ margin: 40rpx auto;
+ }
+
+ .login_btn_n {
+ width: 100%;
+ height: 98rpx;
+ background: $uni-color-primary;
+ box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #ffffff;
+ border-radius: 50rpx;
+ }
+ }
+
+ .deal_wrap {
+ position: absolute;
+ width: 100%;
+ left: 0;
+ text-align: center;
+ bottom: 108rpx;
+
+ .deal {
+ color: $uni-color-primary;
+ }
+ }
+
+ .btns {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: fixed;
+ bottom: 60rpx;
+ left: 0;
+ width: 100%;
+
+ .btn {
+ font-size: 30rpx;
+ color: $uni-color-primary;
+ }
+
+ .separate {
+ margin: 0 8rpx;
+ }
+ }
+ }
+
+ .modal {
+ padding: 32rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index 9ab5fd0..196c85d 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -41,10 +41,11 @@
export default {
data() {
return {
- code: ''
+ code: 'qqq'
}
},
onLoad(option) {
+ console.log('onLoad');
if(option.ywid){
uni.setStorageSync('ywinfo', {
type: option.type,
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index a5caa3e..2e619e1 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -14,7 +14,7 @@
class="img" />
<view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
<video :src="item.fileurlFull" initial-time="0.01" :show-center-play-btn="false" :controls="false"
- class="video" :enable-progress-gesture="false" autoplay muted />
+ class="video" :enable-progress-gesture="false" muted />
<image src="@/static/play.png" class="play" mode=""></image>
</view>
</view>
diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue
index ddde42d..6e6aa57 100644
--- a/h5/pages/staffLogin/login.vue
+++ b/h5/pages/staffLogin/login.vue
@@ -86,7 +86,9 @@
ProtocolFlag: false,
captcha: {},
htmlText: '',
- windowHeight: ''
+ windowHeight: '',
+
+ ywinfo: {}
}
},
@@ -94,7 +96,12 @@
this.initCaptcha()
const result = uni.getWindowInfo()
this.windowHeight = result.windowHeight
- console.log('result', result);
+
+ const ywinfo = uni.getStorageSync('ywinfo') || {}
+ if (ywinfo.ywid && ywinfo.type == 2) {
+ this.ywinfo = ywinfo
+ uni.setStorageSync('ywinfo', {})
+ }
},
onBackPress(options) {
uni.redirectTo({
@@ -151,6 +158,7 @@
if (res.code === 200) {
this.setToken(res.data)
getUserInfo().then(ress => {
+ uni.setStorageSync('ywinfo', this.ywinfo)
this.setUserInfo(ress.data)
uni.redirectTo({
url: "/pages/staff/index"
diff --git a/h5/utils/config.js b/h5/utils/config.js
index 05ff784..08884a3 100644
--- a/h5/utils/config.js
+++ b/h5/utils/config.js
@@ -1,8 +1,8 @@
-// export const baseUrl = 'zhyq_interface/'
+export const baseUrl = 'zhyq_interface/'
// export const baseUrl = 'http://192.168.0.173/gateway_interface/'
// export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
-export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
+// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
diff --git a/screen/package-lock.json b/screen/package-lock.json
index b22bfc0..d1d2315 100644
--- a/screen/package-lock.json
+++ b/screen/package-lock.json
@@ -18,7 +18,6 @@
"uqrcodejs": "^4.0.7",
"v-scale-screen": "^2.0.0",
"vue": "^3.4.21",
- "vue-loading-overlay": "^6.0.6",
"vue-router": "^4.3.0"
},
"devDependencies": {
@@ -3167,9 +3166,9 @@
}
},
"node_modules/sass": {
- "version": "1.82.0",
- "resolved": "https://registry.npmmirror.com/sass/-/sass-1.82.0.tgz",
- "integrity": "sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q==",
+ "version": "1.83.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz",
+ "integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
"dev": true,
"dependencies": {
"chokidar": "^4.0.0",
@@ -3718,17 +3717,6 @@
"@vue/composition-api": {
"optional": true
}
- }
- },
- "node_modules/vue-loading-overlay": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-6.0.6.tgz",
- "integrity": "sha512-ZPrWawjCoNKGbCG9z4nePgbs/K9KXPa1j1oAJXP6T8FQho3NO+/chhjx4MLYFzfpwr+xkiQ8SNrV1kUG1bZPAw==",
- "engines": {
- "node": ">=12.13.0"
- },
- "peerDependencies": {
- "vue": "^3.2.0"
}
},
"node_modules/vue-router": {
diff --git a/screen/package.json b/screen/package.json
index 32f3191..828491a 100644
--- a/screen/package.json
+++ b/screen/package.json
@@ -20,7 +20,6 @@
"uqrcodejs": "^4.0.7",
"v-scale-screen": "^2.0.0",
"vue": "^3.4.21",
- "vue-loading-overlay": "^6.0.6",
"vue-router": "^4.3.0"
},
"devDependencies": {
diff --git a/screen/src/api/index.js b/screen/src/api/index.js
index 919a5b1..74d7469 100644
--- a/screen/src/api/index.js
+++ b/screen/src/api/index.js
@@ -83,6 +83,9 @@
export const getTemperatureHumidityData = (data) => {
return request('visitsAdmin/cloudService/board/api/fightingAdmin/getTemperatureHumidityData', data)
}
+export const monitorDataListP = (data) => {
+ return request('visitsAdmin/cloudService/board/api/fightingAdmin/monitorDataList', data)
+}
// 鍦哄唴璋冨害鐪嬫澘 浠婃棩鏈堝彴瀹屾垚璁㈠崟缁熻
@@ -142,6 +145,10 @@
export const carsListPost = (data) => {
return request('/visitsAdmin/cloudService/board/api/platformJobRun/carsList', data)
}
+// 鐗╂祦杩愯璋冨害鐪嬫澘 鎶ヨ淇℃伅
+export const carsEventListP = (data) => {
+ return request('/visitsAdmin/cloudService/board/api/platformJobRun/carsEventList', data)
+}
// 鐗╂祦杩愯璋冨害鐪嬫澘 鏍规嵁杞﹁締鏌ヤ俊鎭�
export const getCarsJobDetails = (data) => {
return request('/visitsAdmin/cloudService/board/api/platformJobRun/getCarsJobDetails', data, 'POST')
diff --git a/screen/src/router/index.js b/screen/src/router/index.js
index 01f66d0..af696c1 100644
--- a/screen/src/router/index.js
+++ b/screen/src/router/index.js
@@ -43,7 +43,7 @@
path: '/LogisticsCenter', //鍏ㄧ渷鐗╂祦鍦ㄩ��-鐗╂祦涓績
name: 'LogisticsCenter',
meta: {
- title: '鍏ㄧ渷鐗╂祦鍦ㄩ��'
+ title: '瀹夊窘涓儫鎴愬搧闆嗘帶澶у睆'
},
component: () => import('../views/LogisticsCenter.vue')
},
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 3ad40c9..419ae85 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -255,7 +255,7 @@
<div v-if="data3 && data3.length > 0" class="list">
<template v-for="item, i in data3">
<div v-if="i < 6" class="line">
- <div class="top"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
+ <div class="top" :class="{top3: i < 3}"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
<div class="id_card">{{ item.carNo }}</div>
<div class="wrap">
<ChargeRate :rate="item.rate" :color="i > 2 ? 'cyan' : '#e3a83a'" />
@@ -1013,6 +1013,9 @@
box-shadow: inset 0px 0px 3px 0px #01D9FE;
margin-right: 10px;
}
+ .top3{
+ box-shadow: inset 0px 0px 3px 0px #FEAF01;
+ }
.id_card {
color: #DBEAEA;
diff --git a/screen/src/views/FireFighting.vue b/screen/src/views/FireFighting.vue
index f9590a4..f0ca910 100644
--- a/screen/src/views/FireFighting.vue
+++ b/screen/src/views/FireFighting.vue
@@ -30,7 +30,7 @@
<span class="item">鎶ヨ</span>
<span class="item">灞忚斀</span>
<span class="item">鏁呴殰</span>
- <span class="item">绂荤嚎</span>
+ <span class="item">姝e父</span>
</div>
<div class="one-swiper list_content">
<div class="swiper-wrapper">
@@ -89,7 +89,7 @@
<div class="item">
<img src="@/assets/images/FireFighting/xiaofang_ic_zaixian@2x.png" alt="">
<div class="content">
- <div class="name">鍦ㄧ嚎</div>
+ <div class="name">鎬绘暟</div>
<div class="num">{{ dataList4.onlineDeviceNum }}</div>
</div>
</div>
@@ -110,7 +110,7 @@
<div class="item">
<img src="@/assets/images/FireFighting/xiaofang_ic_lixian@2x.png" alt="">
<div class="content">
- <div class="name">绂荤嚎</div>
+ <div class="name">姝e父</div>
<div class="num num4">{{ dataList4.offlineDeviceNum }}</div>
</div>
</div>
@@ -131,29 +131,33 @@
<span>娓╁害/婀垮害浼犳劅鍣�</span>
</div>
<div class="right">
- <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png" alt="">
- <div class="num">{{dataIndex8 + 1}}/{{ dataList8.length }}</div>
- <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png" alt="">
+ <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+ alt="">
+ <div class="num">{{ dataIndex8 + 1 }}/{{ dataList8.length }}</div>
+ <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+ alt="">
</div>
</div>
<div class="list_wrap">
<div class="title">
<img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
- <span>鍗歌揣鍖�1</span>
+ <span v-if="dataList8 && dataList8.length > 0">{{ dataList8[dataIndex8].humidityData.name }}</span>
</div>
<div class="list" v-if="dataList8 && dataList8.length > 0">
<div class="item">
<img class="icon" src="@/assets/images/FireFighting/ic_wendu@2x.png" alt="">
<div class="content">
<div class="num">{{ dataList8[dataIndex8].temperatureData?.latestValue }}<span>掳C</span></div>
- <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{ dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
+ <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{
+ dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
</div>
</div>
<div class="item">
<img class="icon" src="@/assets/images/FireFighting/ic_shidu@2x.png" alt="">
<div class="content">
<div class="num">{{ dataList8[dataIndex8].humidityData?.latestValue }}<span>%</span></div>
- <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{ dataList8[dataIndex8].humidityData?.alarmHigh }}</div>
+ <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{
+ dataList8[dataIndex8].humidityData?.alarmHigh }}</div>
</div>
</div>
</div>
@@ -166,35 +170,30 @@
<span>瀹炴椂浼犳劅鍣ㄦ娴�</span>
</div>
<div class="right">
- <img class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png" alt="">
- <div class="num">1/5</div>
- <img class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png" alt="">
+ <img @click="changeData9(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+ alt="">
+ <div class="num">{{ dataIndex9 + 1 }}/{{ dataTotal9 }}</div>
+ <img @click="changeData9(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+ alt="">
</div>
</div>
- <div class="list_wrap">
- <div class="title_wrap">
+ <div class="list_wrap2">
+ <div class="item" v-for="item, i in dataListTemp9">
<div class="title">
<img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
- <span>1璺�/姘村帇</span>
+ <span>{{ item.name }}</span>
</div>
- <div class="title">
- <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
- <span>2璺�/娑蹭綅</span>
+ <div class="watergage_wrap" v-if="item.obj.typeCode == 253958">
+ <div class="watergage" :id="'watergage' + i"></div>
+ <div class="unit">{{ item.obj.value }}</div>
+ <div class="place">闃堝�� {{ item.level }}</div>
</div>
- </div>
- <div class="list">
- <div class="watergage_wrap">
- <div class="watergage" id="watergage"></div>
- <div class="unit">2.50 <span>Mpa</span></div>
- <div class="place">闃堝�� 0锝�2.5Mpa</div>
- </div>
- <div class="item">
- <div class="liquidlevel_wrap">
- <div class="liquidlevel" id="liquidlevel"></div>
- <div class="unit">3.45 <span>M</span></div>
- <div class="placeT">闃堝��</div>
+ <div v-if="item.obj.typeCode == 254001" class="liquidlevel_wrap">
+ <div class="liquidlevel" :id="'liquidlevel' + i"></div>
+ <div class="liquidle_te">
+ <div class="unit">{{ item.obj.value }}</div>
+ <div class="placeT">闃堝�納{ item.level }}</div>
</div>
- <div class="place">闃堝�� 0锝�4.50M</div>
</div>
</div>
</div>
@@ -312,7 +311,7 @@
</template>
<script setup>
-import { ref, onMounted } from 'vue'
+import { ref, onMounted, nextTick } from 'vue'
import VScaleScreen from 'v-scale-screen'
import FirePercent from '@/components/FirePercent.vue'
import dayjs from 'dayjs'
@@ -328,7 +327,8 @@
getFightingDeAlarm,
getFightingDeviceY,
getFighalarmDataList,
- getTemperatureHumidityData
+ getTemperatureHumidityData,
+ monitorDataListP
} from '@/api'
const colors = ['#FEAF01', '#01ABFE', '#51F9E4']
@@ -344,9 +344,14 @@
}, 1000)
-const initWatergage = () => {
- const myChart = echarts.init(document.getElementById('watergage'))
- var data_value = 1
+const initWatergage = (id, item) => {
+ const myChart = echarts.init(document.getElementById(id))
+ var data_value = item.obj.value.replaceAll('Mpa', '')
+ const startI = item.level.indexOf('-')
+ const endI = item.level.indexOf('Mpa')
+ let maxNum = item.level.slice(startI + 1, endI)
+ let minNum = item.level.slice(0, startI)
+ // let maxNum =
const option = {
barMaxWidth: 3,
polar: {
@@ -373,8 +378,8 @@
series: [
{
type: 'gauge',
- min: 0,
- max: 2.50,
+ min: minNum,
+ max: maxNum,
splitNumber: 5,
radius: '100%',
center: ['50%', '50%'],
@@ -506,9 +511,17 @@
myChart.resize()
})
}
-const initLiquidlevel = () => {
- const myChart = echarts.init(document.getElementById('liquidlevel'))
- var data = 65
+const initLiquidlevel = (id, item) => {
+ const myChart = echarts.init(document.getElementById(id))
+ const startI = item.level.indexOf('-')
+ const endI = item.level.indexOf('M')
+ let maxNum = item.level.slice(startI + 1, endI)
+ let minNum = item.level.slice(0, startI)
+ let conNum = maxNum - minNum
+ let acNum = item.obj.value.replaceAll('M', '')
+ var data = (((acNum - minNum) / conNum) * 100).toFixed(0)
+ console.log('data', data);
+
const option = {
tooltip: {
trigger: 'none',
@@ -924,20 +937,69 @@
const dataList8 = ref([])
const dataIndex8 = ref(0)
+
+const dataList9 = ref([])
+const dataListTemp9 = ref([])
+const dataIndex9 = ref(0)
+const dataTotal9 = ref(0)
+
const getData8 = () => {
getTemperatureHumidityData().then(res => {
dataList8.value = res.data || []
})
+ monitorDataListP().then(res => {
+ dataList9.value = res.data || []
+ dataList9.value.forEach(item => {
+ if (item.dataList && item.dataList.length > 0) {
+ item.obj = item.dataList[0]
+ }
+ })
+ if (dataList9.value.length > 0) {
+ dataTotal9.value = Math.ceil(dataList9.value.length / 2)
+ dataListTemp9.value = dataList9.value.slice(0, 2)
+ }
+ initEcharts9()
+ })
}
const changeData8 = (num) => {
- if(dataIndex8.value == dataList8.value.length - 1 && num > 0){
+ if (dataIndex8.value == dataList8.value.length - 1 && num > 0) {
dataIndex8.value = 0
- }else if (dataIndex8.value == 0 && num < 0){
+ } else if (dataIndex8.value == 0 && num < 0) {
dataIndex8.value = dataList8.value.length - 1
- }else{
- dataIndex8.value = dataIndex8.value + num
+ } else {
+ dataIndex8.value = dataIndex8.value + num
}
}
+const changeData9 = (num) => {
+ // return
+ if (dataIndex9.value == dataTotal9.value - 1 && num > 0) {
+ dataIndex9.value = 0
+ dataListTemp9.value = dataList9.value.slice(0, 2)
+ } else if (dataIndex9.value == 0 && num < 0) {
+ dataIndex9.value = dataTotal9.value - 1
+ dataListTemp9.value = dataList9.value.slice(dataList9.value.length - 2, dataList9.value.length)
+ } else {
+ dataIndex9.value = dataIndex9.value + num
+ dataListTemp9.value = dataList9.value.slice(dataIndex9.value * 2, (dataIndex9.value + 1) * 2)
+ }
+ initEcharts9()
+}
+const initEcharts9 = () => {
+ dataListTemp9.value.forEach((item, i) => {
+
+ if (item.obj && item.obj.typeCode == 253958) {
+ nextTick(() => {
+ initWatergage('watergage' + i, item)
+ })
+ }
+ if (item.obj && item.obj.typeCode == 254001) {
+ nextTick(() => {
+ initLiquidlevel('liquidlevel' + i, item)
+ })
+ }
+ })
+}
+
const autoplayFlag = (list = [], leng = 4, time = 2000) => {
if (list.length > leng) {
@@ -987,9 +1049,6 @@
getData8()
}, 60 * 60 * 1000)
-
- initWatergage()
- initLiquidlevel()
setTimeout(() => {
loopFn1()
@@ -1273,7 +1332,8 @@
display: flex;
align-items: center;
position: relative;
- .place{
+
+ .place {
position: absolute;
top: 120px;
right: 70px;
@@ -1283,6 +1343,7 @@
width: 120px;
text-align: center;
}
+
.icon {
width: 70px;
height: 70px;
@@ -1307,76 +1368,111 @@
}
}
}
+ }
- .watergage_wrap {
- text-align: center;
- position: relative;
- left: 30px;
- .watergage {
- width: 130px;
- height: 112px;
- }
+ .list_wrap2 {
+ display: flex;
+ align-items: center;
+ height: 206px;
+ background-image: url('@/assets/images/FireFighting/bg_wendu@2x.png');
+ background-size: cover;
- .unit {
- font-weight: 500;
- font-size: 18px;
- position: relative;
- bottom: 16px;
- left: 4px;
+ .item {
+ width: 50%;
+ height: 100%;
- span {
- font-size: 12px;
- font-weight: 400;
+ .title {
+ height: 46px;
+ display: flex;
+ align-items: center;
+ color: #D2E0FF;
+ padding-left: 20px;
+
+ .icon {
+ width: 16px;
+ margin-right: 8px;
}
}
- .place {
+ .watergage_wrap {
+ text-align: center;
position: relative;
- bottom: 16px;
- left: 4px;
- font-size: 13px;
- color: #869CC9;
- }
- }
+ left: 30px;
- .liquidlevel_wrap {
- transform: scale(0.24);
- color: #fff;
- text-align: center;
- position: relative;
- left: 20px;
- bottom: 10px;
+ .watergage {
+ width: 130px;
+ height: 112px;
+ }
- .unit {
- font-weight: 500;
- font-size: 80px;
- position: relative;
- bottom: 24px;
- left: 4px;
+ .unit {
+ font-weight: 500;
+ font-size: 18px;
+ position: relative;
+ bottom: 16px;
+ left: 4px;
+ width: 130px;
+ margin-bottom: 6px;
+ margin-top: 2px;
- span {
- font-size: 52px;
- font-weight: 400;
+ span {
+ font-size: 12px;
+ font-weight: 400;
+ }
+ }
+
+ .place {
+ position: relative;
+ bottom: 16px;
+ left: 4px;
+ width: 130px;
+ font-size: 13px;
+ color: #869CC9;
}
}
- .placeT {
+ .liquidlevel_wrap {
position: relative;
- bottom: 10px;
- left: 4px;
- font-size: 44px;
- color: #869CC9;
- opacity: 0;
- }
- .liquidlevel {
- width: 300px;
- height: 396px;
+ /* border: 6px solid red; */
+ .liquidle_te {
+ font-weight: 500;
+ font-size: 16px;
+ position: absolute;
+ top: 102px;
+ left: 0;
+ width: 214px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .placeT {
+ font-size: 12px;
+ color: #869CC9;
+ margin-top: 4px;
+ }
+ }
+
+ /* .placeT {
+ position: relative;
+ bottom: 10px;
+ left: 4px;
+ font-size: 74px;
+ color: #869CC9;
+ opacity: 0;
+ } */
+
+ .liquidlevel {
+ width: 300px;
+ height: 400px;
+ transform: scale(0.24);
+ color: #fff;
+ text-align: center;
+ position: relative;
+ left: -42px;
+ top: -140px;
+ }
}
}
-
-
}
}
diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index 7b0303a..1359e22 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -4,7 +4,7 @@
<img src="@/assets/images/LogisticsCenter/bg@2x.png" class="main_bg" alt="" />
<div class="main_header">
<img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
- <div class="title">鍏ㄧ渷鐗╂祦鍦ㄩ��</div>
+ <div class="title">瀹夊窘涓儫鎴愬搧闆嗘帶澶у睆</div>
<div class="time_wrap">
<span class="date">{{ date }}</span>
<span class="week">{{ week }}</span>
@@ -101,9 +101,9 @@
</div>
<div class="list_wrap">
<div class="header line">
- <span class="item">杩愯緭杞﹁締</span>
- <span class="item status">鐘舵��</span>
- <span class="item">浣嶇疆</span>
+ <span class="item">鍚堝悓鍙�</span>
+ <span class="item status">璁㈠崟鐘舵��</span>
+ <span class="item">鐩殑鍦�</span>
<span class="item">浠诲姟涓嬭揪鏃堕棿</span>
</div>
<div class="one-swiper list">
@@ -225,17 +225,19 @@
</div>
<div class="center_box_two">
<div class="echart_map" ref="mapEchart" id="echart_map"></div>
- <div v-if="showModal1" @click="showModal1 = false" class="modal1">
- <div class="list">
+ <div v-if="showModal1" class="modal1">
+ <div class="content">
<div class="head line">
<div class="item">杞︾墝鍙�</div>
<div class="item">鍚堝悓鍙�</div>
<div class="item addr">鐩殑鍦�</div>
</div>
- <div class="line" v-for="item in active1List">
- <div class="item">{{ item.platNumber }}</div>
- <div class="item">{{ item.contractNumber }}</div>
- <div class="item addr">{{ item.repertotyName }}</div>
+ <div class="list">
+ <div class="line" v-for="item in active1List">
+ <div class="item">{{ item.platNumber }}</div>
+ <div class="item">{{ item.contractNumber }}</div>
+ <div class="item addr">{{ item.repertotyName }}</div>
+ </div>
</div>
</div>
</div>
@@ -305,7 +307,7 @@
<div class="second_title">
<div class="title">
<img src="@/assets/images/LogisticsCenter/ic_title@2x.png" class="icon" alt="" />
- <div>杩愮敤璧勬簮鍒╃敤鐜�</div>
+ <div>杩愬姏璧勬簮鍒╃敤鐜�</div>
</div>
<div class="side">
鍏ㄧ渷锛�
@@ -323,8 +325,11 @@
<!-- -->
<div class="modal_wrap" v-if="showModal">
<div class="title_head">
- <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
- <span>鍚堝悓鍙凤細{{ modalInfo.contractNumber }}</span>
+ <div class="left">
+ <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
+ <span>鍚堝悓鍙凤細{{ modalInfo.contractNumber }}</span>
+ </div>
+ <div class="tit_status">{{ modalInfo.orderStatusDesc }}</div>
</div>
<div class="info">
<div class="item">
@@ -366,6 +371,7 @@
<div id="map-container" ref="mapContainer"></div>
<div class="fu_list">
<div class="fu_item" v-for="item, k in modalInfo.cicleStatusList">
+ <view v-if="k != modalInfo.cicleStatusList.length - 1" class="separate"></view>
<div class="item_title">
<div class="icon">
<img v-if="item.key == 0 && k != 0" src="@/assets/images/LogisticsCenter/ic_dingdan@2x.png"
@@ -400,7 +406,7 @@
<div v-else class="icon_wrap"></div>
<div class="text" :class="{ placeholder3: k == 0 && i == 0 }">
{{ ite.orderStatusDes }}
- <text v-if="ite.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+ <text v-if="ite.tel">,鍙戣揣浠撳簱鐢佃瘽锛�</text>
<text v-if="ite.tel" class="primaryColor">{{ ite.tel }}</text>
</div>
</div>
@@ -411,7 +417,7 @@
</div>
<Loading v-if="modalLoading" />
</div>
- <div class="modal_mask" v-if="showModal" @click="closeModal"></div>
+ <div class="modal_mask" v-if="showModal || showModal1" @click="closeModal"></div>
</div>
</v-scale-screen>
</template>
@@ -517,7 +523,7 @@
item.yearNum = 0
mapList.value.forEach(ite => {
if (item.name == ite.name) {
- item.value = ite.value
+ item.value = ite.yearNum
item.monthNum = ite.monthNum
item.yearNum = ite.yearNum
}
@@ -612,11 +618,12 @@
},
itemStyle: {
show: true,
- color: '#00114F', // 楂樹寒鏂囧瓧棰滆壊
+ color: '#fff', // 楂樹寒鏂囧瓧棰滆壊
borderColor: '#a4d0ec', // 楂樹寒杈规棰滆壊
- areaColor: '#63d5c1', //楂樹寒鍖哄煙棰滆壊
+ areaColor: '#0056FF', //楂樹寒鍖哄煙棰滆壊
},
},
+ selectedMode: false,
label: {
// 鍦板浘鏍囨敞
show: false,
@@ -747,7 +754,7 @@
show: true,
textStyle: {
color: '#000000',
- fontSize: 10
+ fontSize: 12
}
},
emphasis: {
@@ -783,7 +790,11 @@
stack: 'total',
barWidth: 14,
label: {
- show: true
+ show: true,
+ textStyle: {
+ color: '#000000',
+ fontSize: 12
+ }
},
emphasis: {
focus: 'series'
@@ -818,7 +829,11 @@
barWidth: 14,
stack: 'total',
label: {
- show: true
+ show: true,
+ textStyle: {
+ color: '#000000',
+ fontSize: 12
+ }
},
textStyle: {
color: '#000000',
@@ -834,13 +849,13 @@
y2: 0,
colorStops: [{
offset: 0,
- color: '#71f3ce'
+ color: '#73f7d1'
}, {
offset: 1,
- color: '#4da999'
+ color: '#58beaa'
}]
}
- }
+ },
},
emphasis: {
focus: 'series'
@@ -900,6 +915,7 @@
}
const closeModal = () => {
showModal.value = false
+ showModal1.value = false
modalInfo.value = {}
}
@@ -1153,7 +1169,33 @@
containLabel: true
},
tooltip: {
- trigger: 'axis'
+ trigger: 'axis',
+ formatter: function (params) {
+ // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+ let result = `<div style="width: 160px">${params[0].name}</div>`
+ params.forEach((item) => {
+ if (item.seriesName === '鎬诲簱瀛�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #5e9bca;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '褰撳墠搴撳瓨') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '搴撳瓨鍒╃敤鐜�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #5a6fc0;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}%</strong></div>
+ </div>`
+ }
+ })
+ return result
+ }
},
xAxis: [{
nameGap: 5,
@@ -1165,7 +1207,7 @@
},
},
axisLabel: {
- color: '#D2E0FF'
+ color: '#869CC9'
},
axisTick: {
show: false,
@@ -1285,11 +1327,14 @@
color: "#9eabc2"
},
yAxisIndex: 1,
+ tooltip: {
+ show: true,
+ formatter: '{c}' + '%',
+ },
label: {
show: false,
position: 'top',
color: '#fff',
- // formatter: '{c}' + '%',
},
data: data5.value.detailList.map(i => i.useRate)
}
@@ -1318,15 +1363,41 @@
borderColor: '#fff'
},
},
+ tooltip: {
+ trigger: 'axis',
+ formatter: function (params) {
+ // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+ let result = `<div style="width: 160px">${params[0].name}</div>`
+ params.forEach((item) => {
+ if (item.seriesName === '鍑哄簱鑳藉姏') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #487af3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '褰撴棩鍑哄簱閲�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '鍑哄簱鍒╃敤鐜�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #b0bcd3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}%</strong></div>
+ </div>`
+ }
+ })
+ return result
+ }
+ },
grid: {
left: '3%',
right: '0%',
bottom: '3%',
top: '18%',
containLabel: true
- },
- tooltip: {
- trigger: 'axis'
},
xAxis: [{
nameGap: 5,
@@ -1468,7 +1539,6 @@
show: false,
position: 'top',
color: '#fff',
- // formatter: '{c}' + '%',
},
data: data6.value.detailList.map(i => i.useRate)
}
@@ -1497,15 +1567,41 @@
borderColor: '#fff'
},
},
+ tooltip: {
+ trigger: 'axis',
+ formatter: function (params) {
+ // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+ let result = `<div style="width: 160px">${params[0].name}</div>`
+ params.forEach((item) => {
+ if (item.seriesName === '鎬昏繍鍔涜祫婧�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #88d9cc;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '褰撴棩鎻愭姤杩愬姏') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}</strong></div>
+ </div>`
+ } else if (item.seriesName === '杞﹁締鍒╃敤鐜�') {
+ result += `
+ <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+ <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #b0bcd3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+ <div><strong>${item.value}%</strong></div>
+ </div>`
+ }
+ })
+ return result
+ }
+ },
grid: {
left: '3%',
right: '0%',
bottom: '3%',
top: '18%',
containLabel: true
- },
- tooltip: {
- trigger: 'axis'
},
xAxis: [{
nameGap: 5,
@@ -1645,7 +1741,6 @@
show: false,
position: 'top',
color: '#fff',
- // formatter: '{c}' + '%',
},
data: data7.value.detailList.map(i => i.useRate)
}
@@ -2226,7 +2321,7 @@
.modal1 {
width: 500px;
- height: 224px;
+ height: 192px;
background: rgba(0, 86, 255, 0.1);
backdrop-filter: blur(5px);
padding: 12px 30px;
@@ -2234,10 +2329,13 @@
top: 36px;
left: 12px;
border: 1px solid #4ba7f7;
+ z-index: 999999;
- .list {
- height: 192px;
- overflow: auto;
+ .content {
+ .list {
+ height: 128px;
+ overflow: auto;
+ }
.line {
display: flex;
@@ -2399,7 +2497,7 @@
width: 600px;
height: 556px;
background: rgba(0, 30, 63, 0.5);
- border: 1px solid #c6eef7;
+ /* border: 1px solid #c6eef7; */
backdrop-filter: blur(5px);
position: fixed;
top: 20%;
@@ -2409,12 +2507,13 @@
padding: 24px;
#map-container {
- width: 300px;
- height: 180px;
+ width: 260px;
+ height: 320px;
position: absolute;
- top: 220px;
- right: 10px;
+ top: 190px;
+ right: 20px;
z-index: 999999;
+ border-radius: 2px;
:deep(.amap-markers) {
left: -12px !important;
@@ -2425,9 +2524,19 @@
.title_head {
display: flex;
align-items: center;
- font-weight: bold;
- font-size: 17px;
+ justify-content: space-between;
margin-bottom: 20px;
+
+ .left {
+ display: flex;
+ align-items: center;
+ font-weight: bold;
+ font-size: 17px;
+ }
+
+ .tit_status {
+ color: #af8832;
+ }
img {
width: 20px;
@@ -2484,11 +2593,13 @@
.fu_list {
height: 310px;
+ width: 290px;
margin-top: 20px;
overflow: auto;
-
.fu_item {
+ position: relative;
+
.item_title {
margin-bottom: 6px;
@@ -2505,12 +2616,13 @@
}
.separate {
- height: calc(100% - 125px);
- width: 1px;
- border: 1px dashed #CCCCCC;
+ height: calc(100% - 8px);
+ /* width: 1px; */
+ border: 1px dashed #576783;
+ /* border: 1px dashed red; */
position: absolute;
- left: 26px;
- top: 51px;
+ left: 10px;
+ top: 20px;
z-index: -1;
}
@@ -2565,6 +2677,8 @@
.text {
color: #b1bfdc;
+ margin-bottom: 6px;
+ width: 100%;
}
.icon {
@@ -2577,7 +2691,6 @@
.h2 {
display: flex;
align-items: center;
- height: 24px;
}
.h1 {}
@@ -2585,7 +2698,6 @@
.time {
padding-left: 39px;
font-size: 12px;
- margin-top: 3px;
}
}
}
@@ -2601,7 +2713,7 @@
top: 0;
left: 0;
z-index: 9999;
- background-color: rgba(0, 0, 0, 0.1);
+ /* background-color: rgba(0, 0, 0, 0.0); */
/* background-color: red; */
}
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index 6e62925..8fcfb75 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -101,7 +101,7 @@
</div>
<div class="one-swiper list_temp">
<div class="swiper-wrapper">
- <div class="line swiper-slide one-swiper-slide" v-for="item in dataList3">
+ <div @click="taskClick(item)" class="line swiper-slide one-swiper-slide" v-for="item in dataList3">
<span class="item flag"><span :class="{ flag_bg: item.type == 1 || item.type == 3 }">{{ item.type
== 1
|| item.type == 3 ? '鍑�' : '鍏�' }}</span></span>
@@ -151,7 +151,7 @@
data1.currentInDoneNum
}}</span>
<span v-else>0</span>
- <span>涓囨敮</span>
+ 涓囨敮
</div>
</div>
</div>
@@ -161,9 +161,10 @@
<div class="name">宸插畬鎴愭瘮渚�</div>
<div class="num">
<span v-if="activeTab4 == 0 && data1.currentOutNum" class="finish">{{ ((data1.currentOutDoneNum /
- data1.currentOutNum) * 100).toFixed(1) }}%</span>
+ data1.currentOutNum) * 100).toFixed(1) }}</span>
<span v-if="activeTab4 == 1 && data1.currentInNum" class="finish">{{ ((data1.currentInDoneNum /
- data1.currentInNum) * 100).toFixed(1) }}%</span>
+ data1.currentInNum) * 100).toFixed(1) }}</span>
+ %
</div>
</div>
</div>
@@ -193,7 +194,7 @@
<span>杞﹁締鎶ヨ</span>
</div>
<div v-if="isShowCarW" class="war_list">
- <div class="line" v-for="item in data7.eventList">
+ <div class="line" v-for="item in eventList">
<div class="id_card">{{ item.carCode }}</div>
<div class="title">{{ item.title }}</div>
<div v-if="item.time">{{ item.time.slice(11) }}</div>
@@ -282,7 +283,8 @@
</div>
<div class="list two-swiper">
<div class="swiper-wrapper">
- <div class="item two-swiper-slide swiper-slide" v-for="item in data6.stockList">
+ <div :class="{ orange: item.num < 200 }" class="item two-swiper-slide swiper-slide"
+ v-for="item in data6.stockList">
<div class="la">{{ item.name }}</div>
<div class="val">{{ item.num }}涓囨敮</div>
</div>
@@ -325,7 +327,7 @@
<div class="icon_wrap">
<img v-if="i != 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt="">
<img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt="">
- <div class="line"></div>
+ <div v-if="i != activeCar.logList.length - 1" class="line"></div>
</div>
<div class="content">
<div class="status" :class="{ ac: i == 0 }">{{ statusMapD[item.objType] }}</div>
@@ -381,7 +383,8 @@
wltotalInList,
wltransportMeasure,
carsListPost,
- getCarsJobDetails
+ getCarsJobDetails,
+ carsEventListP
} from '@/api'
import 'swiper/css/swiper.min.css'
import Swiper from 'swiper'
@@ -452,26 +455,6 @@
yAxis: [
{
type: 'value',
- name: '涓�',
- min: 0,
- axisLabel: {
- color: '#869CC9'
- },
- nameTextStyle: {
- color: '#869CC9',
- padding: [0, 0, 0, -18] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
- },
- splitLine: {
- show: true,
- lineStyle: {
- width: 1,
- color: "rgba(49,105,129,0.4)",
- type: 'dashed'
- }
- },
- },
- {
- type: 'value',
name: '涓囨敮',
offset: 0,
type: 'value',
@@ -494,6 +477,26 @@
padding: [0, 0, 0, 12] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
},
},
+ {
+ type: 'value',
+ name: '涓�',
+ min: 0,
+ axisLabel: {
+ color: '#869CC9'
+ },
+ nameTextStyle: {
+ color: '#869CC9',
+ padding: [0, 0, 0, -18] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
+ },
+ splitLine: {
+ show: false,
+ lineStyle: {
+ width: 1,
+ color: "rgba(49,105,129,0.4)",
+ type: 'dashed'
+ }
+ },
+ },
],
series: [
{
@@ -506,7 +509,7 @@
position: 'top',
color: '#fff',
},
- yAxisIndex: 1,
+ yAxisIndex: 0,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
@@ -530,7 +533,7 @@
name: '浠诲姟瀹屾垚閲�',
type: 'bar',
barWidth: 10,
- yAxisIndex: 1,
+ yAxisIndex: 0,
label: {
show: false,
position: 'top',
@@ -560,7 +563,7 @@
type: 'line',
smooth: false,
showAllSymbol: true,
- yAxisIndex: 0,
+ yAxisIndex: 1,
symbol: 'none',
lineStyle: {
color: "#1a43bc"
@@ -590,7 +593,19 @@
show: false,
position: 'center'
},
- padAngle: 5,
+ tooltip: {
+ trigger: 'none'
+ },
+ emphasis: {
+ // 璁剧疆鎮诞鏃舵牱寮忎负绌�
+ scale: false, // 鍏抽棴鏀惧ぇ鏁堟灉
+ itemStyle: {
+ shadowBlur: 0, // 闃村奖妯$硦搴︿负 0
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0)',
+ },
+ },
+ padAngle: 3,
itemStyle: {
borderRadius: 10
},
@@ -827,6 +842,13 @@
showModal.value = false
activeCar.value = {}
}
+const taskClick = (item) => {
+ getCarsJobDetails({ carCode: item.carCodeFront }).then(res => {
+ // getCarsJobDetails({ carCode: '鐨朅E5277' }).then(res => {
+ showModal.value = true
+ activeCar.value = { ...res.data, carCode: item.carCodeFront }
+ })
+}
const data1 = ref({})
@@ -916,11 +938,15 @@
const isShowCarW = ref(false)
const data7 = ref({})
+const eventList = ref([])
const getData7 = () => {
carsListPost().then(res => {
const result = res.data || {}
data7.value = result
initMap()
+ })
+ carsEventListP().then(res => {
+ eventList.value = res.data || []
})
}
@@ -1106,6 +1132,7 @@
align-items: center;
padding: 0 10px;
font-size: 12px;
+ cursor: pointer;
&:nth-of-type(2n) {
background: rgba(27, 64, 97, 0.52);
@@ -1295,13 +1322,13 @@
bottom: 0;
border-top: 1px solid #5ecbce;
border-bottom: 1px solid #5ecbce;
+ background: rgba(0, 30, 63, 0.4);
+ /* backdrop-filter: blur(5px); */
.head {
display: flex;
width: 280px;
height: 57px;
- background: rgba(0, 30, 63, 0.4);
- backdrop-filter: blur(5px);
display: flex;
align-items: center;
padding-left: 10px;
@@ -1318,7 +1345,8 @@
.war_list {
max-height: 300px;
overflow: auto;
-
+ padding-left: 10px;
+ padding-bottom: 12px;
.line {
font-size: 13px;
color: #D2E0FF;
@@ -1505,6 +1533,7 @@
height: 36px !important;
display: flex;
align-items: center;
+ font-size: 14px;
&:nth-of-type(2n+1) {
background: rgba(0, 152, 255, 0.13);
@@ -1519,6 +1548,10 @@
flex: 2;
}
}
+
+ .orange {
+ color: #FF5728;
+ }
}
}
}
diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue
index 233548d..f8f77ea 100644
--- a/screen/src/views/SecurityControl.vue
+++ b/screen/src/views/SecurityControl.vue
@@ -164,7 +164,7 @@
<img src="@/assets/images/SecurityControl/title_short@2x.png" class="bg" alt="">
</div>
<div class="num_wrap">
- <div class="num">{{ data.internalCarTotal }}</div>
+ <div class="num">{{ data.inParkCarTotal || 0 }}</div>
<img src="@/assets/images/SecurityControl/anfang_ic_data@2x.png" class="bg" alt="">
</div>
</div>
@@ -423,7 +423,7 @@
</div>
<div class="list two-swiper">
<div class="swiper-wrapper">
- <template v-for="item, i in dataList2.filter(i => i.total > 0)">
+ <template v-for="item, i in dataList2.filter(i => i.totalNum > 0)">
<div class="item two-swiper-slide swiper-slide">
<div class="line">
<div class="driver">{{ item.deviceType }}</div>
@@ -826,6 +826,8 @@
}
return item
})
+ console.log('dataList2', dataList2.value);
+
data2.value = total
if (online >= outline) {
temp.push({ name: '鍦ㄧ嚎', value: online, rate: ((online / (online + outline)) * 100).toFixed(1) })
diff --git a/screen/src/views/TaskEfficiency.vue b/screen/src/views/TaskEfficiency.vue
index 7923c46..3189033 100644
--- a/screen/src/views/TaskEfficiency.vue
+++ b/screen/src/views/TaskEfficiency.vue
@@ -65,7 +65,7 @@
<div class="list one-swiper">
<div class="swiper-wrapper">
<div class="line one-swiper-slide swiper-slide" v-for="item, i in dataList2" :key="i">
- <div class="top"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
+ <div class="top" :class="{top3: i < 3}"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
<div class="id_card">{{ item.platformName }}</div>
<div class="wrap">
<ChargeRate :rate="item.rate" />
@@ -163,7 +163,7 @@
<div class="val">{{ workModalParam.finishTimeStr }}</div>
</div>
</div>
- <div class="modal_bg" v-if="showWorkModal" @click="showWorkModal = false"></div>
+ <div class="modal_bg" v-if="showWorkModal" @click="closeModal"></div>
</div>
<div class="center_box_two">
<div v-if="data4.videoIndexCodes && data4.videoIndexCodes.length > 0" class="videos">
@@ -342,6 +342,18 @@
label: {
show: false,
position: 'center'
+ },
+ tooltip: {
+ trigger: 'none'
+ },
+ emphasis: {
+ // 璁剧疆鎮诞鏃舵牱寮忎负绌�
+ scale: false, // 鍏抽棴鏀惧ぇ鏁堟灉
+ itemStyle: {
+ shadowBlur: 0, // 闃村奖妯$硦搴︿负 0
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0)',
+ },
},
padAngle: 2,
itemStyle: {
@@ -755,7 +767,6 @@
i.finishTime = dayjs(i.finishTime).format('HH:mm')
return i
})
- console.log('dataList5', dataList5.value)
})
}
@@ -801,7 +812,15 @@
const platformClick = (val) => {
const index = pointList.findIndex(i => i.name == val.platformName)
workModalParam.value = { ...val, ...pointList[index], index: pointList }
+ if(workModalParam.value.workTime){
+ workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('m', '鍒嗛挓')
+ workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('h', '灏忔椂')
+ }
showWorkModal.value = true
+}
+const closeModal = () => {
+ showWorkModal.value = false
+ workModalParam.value = {}
}
const loopFn2 = () => {
var newSwiper1 = new Swiper('.one-swiper', {
@@ -1002,7 +1021,9 @@
box-shadow: inset 0px 0px 3px 0px #01D9FE;
margin-right: 10px;
}
-
+ .top3{
+ box-shadow: inset 0px 0px 3px 0px #FEAF01;
+ }
.one-swiper-slide {
height: 40px !important;
}
@@ -1131,7 +1152,7 @@
padding: 22px 20px;
left: 850px;
top: 60px;
-
+ z-index: 99999999;
.head {
display: flex;
justify-content: space-between;
--
Gitblit v1.9.3