Merge remote-tracking branch 'origin/master'
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm |
| | | v-model="filters" |
| | | :query-form-config="queryFormConfig" |
| | | @handleQuery="getList(1)" |
| | | @clear="clear" |
| | | @changeForm='changeForm' |
| | | > |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getHeadData(1)" @clear="clear" |
| | | @changeForm='changeForm'> |
| | | <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> |
| | |
| | | </template> |
| | | </QueryForm> |
| | | <!-- --> |
| | | <el-tabs v-model="filters.queryType" @tab-click="(e) => getList(1)"> |
| | | <el-tabs v-model="filters.queryType" @tab-click="(e) => getHeadData(1)"> |
| | | <el-tab-pane label="待处理" name="0"> |
| | | <template #label> |
| | | <span |
| | | >待处理 |
| | | <el-badge |
| | | v-if="headData.noticeWaitNum" |
| | | :value="headData.noticeWaitNum" |
| | | class="item" |
| | | type="danger" |
| | | > |
| | | <span>待处理 |
| | | <el-badge v-if="headData.noticeWaitNum" :value="headData.noticeWaitNum" class="item" type="danger"> |
| | | </el-badge> |
| | | </span> |
| | | </template> |
| | |
| | | </el-tab-pane> |
| | | <el-tab-pane :value="headData.noticeCopyNum" label="抄送我的" name="3"> |
| | | <template #label> |
| | | <span |
| | | >抄送我的 |
| | | <el-badge |
| | | v-if="headData.noticeCopyNum" |
| | | :value="headData.noticeCopyNum" |
| | | class="item" |
| | | type="danger" |
| | | > |
| | | <span>抄送我的 |
| | | <el-badge v-if="headData.noticeCopyNum" :value="headData.noticeCopyNum" class="item" type="danger"> |
| | | </el-badge> |
| | | </span> |
| | | </template> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | stripe |
| | | row-key="id" |
| | | class="mb20" |
| | | default-expand-all |
| | | > |
| | | <el-table v-loading="loading" :data="dataList" stripe row-key="id" class="mb20" default-expand-all> |
| | | <el-table-column label="处理事项" min-width="160"> |
| | | <template slot-scope="{ row }"> {{ row.title}} |
| | | <template slot-scope="{ row }"> {{ row.title }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="info" label="当前阶段" min-width="100"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="230" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button |
| | | type="text" |
| | | @click="handleDetail(row)" |
| | | >查看详情</el-button |
| | | > |
| | | <el-button type="text" @click="handleDetail(row)">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | <TaskDetail v-if="isShowDetail" ref="DetailRef" @close="isShowDetail = false" @success="SubSuccess('isShowDetail')" /> |
| | | <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" @close="isShowReport = false" @success="SubSuccess('isShowReport')" /> |
| | | <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" @close="isShowDanger = false" @success="SubSuccess('isShowDanger')" /> |
| | | <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" @close="isShowDriver = false" @success="SubSuccess('isShowDriver')" /> |
| | | <pagination @size-change="handleSizeChange" @current-change="getHeadData" :pagination="pagination" /> |
| | | <TaskDetail v-if="isShowDetail" ref="DetailRef" @close="isShowDetail = false" |
| | | @success="SubSuccess('isShowDetail')" /> |
| | | <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" @close="isShowReport = false" |
| | | @success="SubSuccess('isShowReport')" /> |
| | | <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" @close="isShowDanger = false" |
| | | @success="SubSuccess('isShowDanger')" /> |
| | | <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" @close="isShowDriver = false" |
| | | @success="SubSuccess('isShowDriver')" /> |
| | | <!-- 用车申请 --> |
| | | <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getList" /> |
| | | <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getHeadData" /> |
| | | <!-- 隐患 --> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getList" /> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getHeadData" /> |
| | | <!-- 预约详情 --> |
| | | <OperaVisitsDesWindow ref="OperaVisitsDesWindow" /> |
| | | </div> |
| | |
| | | OperaHiddenDangerWindow, |
| | | OperaVisitsDesWindow |
| | | }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | isShowDetail: false, |
| | | isShowReport: false, |
| | |
| | | ] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | // this.getHeadData() |
| | | // this.changeRadio('0') |
| | | this.getList() |
| | | this.getHeadData() |
| | | }, |
| | | 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, 'selTime', arr) |
| | | this.getList() |
| | | this.getHeadData() |
| | | }, |
| | | SubSuccess(str) { |
| | | this[str] = false |
| | | this.getTaskList() |
| | | this.getHeadData() |
| | | }, |
| | | handleTest (row) { |
| | | handleTest(row) { |
| | | getAppHeaderNav(5).then(res => { |
| | | if (res === undefined || res == null) { |
| | | return |
| | |
| | | }, 3000) |
| | | }) |
| | | }, |
| | | handleDetail (row) { |
| | | handleDetail(row) { |
| | | if (row.type === 7) { |
| | | this.handleTest(row); |
| | | this.handleTest(row) |
| | | return |
| | | } |
| | | if (this.filters.queryType == 3) { |
| | |
| | | }) |
| | | } |
| | | }, |
| | | changeForm (str) { |
| | | changeForm(str) { |
| | | if (str === 'selTime') { |
| | | this.$set(this.filters, 'fastdate', null) |
| | | this.getList() |
| | | this.getHeadData() |
| | | } |
| | | }, |
| | | getList (page) { |
| | | this.getHeadData() |
| | | getList(page) { |
| | | const { filters, pagination } = this |
| | | if (filters.selTime && filters.selTime.length > 0) { |
| | | filters.startDate = filters.selTime[0] |
| | |
| | | ...pagination |
| | | }).then(res => { |
| | | console.log('res', res) |
| | | this.loading = false |
| | | this.dataList = res.records || [] |
| | | this.pagination.total = res.total || 0 |
| | | this.dataList.forEach(i => { |
| | | i.param1 = JSON.parse(i.param1) |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }) |
| | | }, |
| | | getHeadData () { |
| | | getHeadData(page) { |
| | | const { filters } = this |
| | | if (filters.selTime && filters.selTime.length > 0) { |
| | | filters.startDate = filters.selTime[0] |
| | |
| | | filters.startDate = null |
| | | filters.endDate = null |
| | | } |
| | | this.loading = true |
| | | taskCenterHeadPC({ ...filters, queryType: Number(filters.queryType), isDetail: '1' }).then(res => { |
| | | this.headData = res |
| | | this.getList(page) |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | clear () { |
| | | clear() { |
| | | this.filters = { |
| | | queryType: '0', |
| | | } |
| | | this.getList(0) |
| | | this.getHeadData(0) |
| | | }, |
| | | handleSizeChange (capacity) { |
| | | handleSizeChange(capacity) { |
| | | this.pagination.capacity = capacity |
| | | } |
| | | } |
| | |
| | | if(path == '/pages/login/login' || path == '/'){ |
| | | window.location.href = app_url |
| | | } |
| | | // console.log('path', path); |
| | | if(path == '/pages/wdata/home'){ |
| | | window.location.href = 'https://atwl.ahzyssl.com/zhyq_h5/#/pages/wdata/home' |
| | | } |
| | |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | code: 'aaa'
|
| | | code: ''
|
| | | }
|
| | | }, |
| | | onLoad(option) { |
| | |
| | | var that = this
|
| | | let url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
|
| | | let code = ''
|
| | | if (window.location.href.indexOf('code=') !== -1 || this.code) {
|
| | | if (window.location.href.indexOf('code=') !== -1 || this.code) { |
| | | // if(window.location.href.indexOf('wdata') !== -1){ |
| | | // uni.redirectTo({ |
| | | // url: '/pages/wdata/home?code=' + |
| | | // }) |
| | | // }
|
| | | const ywinfo = uni.getStorageSync('ywinfo') || {} |
| | | if(ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)){ |
| | | this.userAuth(ywinfo.type) |
| | |
| | | <image v-else src="@/static/waybill/ic_dingdan@2x.png" mode=""></image>
|
| | | </view>
|
| | | <view class="content">
|
| | | <view class="name">{{item.receiveLocation}}</view>
|
| | | <view class="name" :class="{primaryColor: (info.logisticsStatus == 1 && item.actualArrivedDate) || info.logisticsStatus == 2}">{{item.receiveLocation}}</view>
|
| | | <view class="status">
|
| | | <view v-if="info.logisticsStatus == 0" class="btn">到货</view>
|
| | | <view v-else-if="info.logisticsStatus == 1 && !item.actualArrivedDate" @click="startAri(item.stopNumber)"
|
| | |
| | | </view>
|
| | | <view class="top1">
|
| | | <view class="left_icon"></view>
|
| | | <view class="time">到货时间:{{ item.actualArrivedDate || '-' }}</view>
|
| | | <view class="time" v-if="item.actualArrivedDate">到货时间:{{ item.actualArrivedDate}}</view> |
| | | <view class="time" style="margin-top: -10rpx;" v-else>-</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | optType: 0
|
| | | }).then((ress) => {
|
| | | if (ress.code == 200) {
|
| | | this.showToast('启运成功')
|
| | | this.showToast('启运成功') |
| | | this.getDetail()
|
| | | }
|
| | | })
|
| | | }
|
| | |
| | | id: this.id
|
| | | }).then(ress => {
|
| | | if (ress.code == 200) {
|
| | | this.showToast('到货成功')
|
| | | this.showToast('到货成功') |
| | | this.getDetail()
|
| | | }
|
| | | })
|
| | | }
|
| | |
| | | position: absolute;
|
| | | top: 0;
|
| | | left: 0;
|
| | | z-index: -1;
|
| | | }
|
| | |
|
| | | .info {
|
| | |
| | | overflow: hidden;
|
| | | margin-top: 30rpx;
|
| | | background: #FFFFFF;
|
| | |
|
| | | position: relative; |
| | | z-index: 1;
|
| | | .head {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
| | | color: #222222;
|
| | |
|
| | | .line {
|
| | | height: 68rpx;
|
| | | min-height: 68rpx;
|
| | | align-items: center;
|
| | | display: flex;
|
| | | border-bottom: 1px solid #E5E5E5;
|
| | |
| | | border-radius: 16rpx;
|
| | | padding: 30rpx;
|
| | | margin-top: 20rpx;
|
| | |
|
| | | margin-bottom: 20rpx;
|
| | | .title {
|
| | | font-weight: 500;
|
| | | font-size: 32rpx;
|
| | |
| | | .list {
|
| | | .item {
|
| | | position: relative;
|
| | |
|
| | | padding-bottom: 24rpx; |
| | | &:nth-last-child(1){ |
| | | padding-bottom: 0; |
| | | }
|
| | | .dian {
|
| | | border: 1rpx dashed #CCCCCC;
|
| | | height: calc(100% - 48rpx);
|
| | |
| | |
|
| | | .top1 {
|
| | | display: flex;
|
| | |
|
| | | .left_icon {
|
| | | width: 78rpx;
|
| | |
|
| | |
| | | flex: 1;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | // align-items: center;
|
| | | margin-bottom: 12rpx;
|
| | |
|
| | | .name {
|
| | |
| | |
|
| | | .status {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | // align-items: center;
|
| | | font-size: 26rpx;
|
| | |
|
| | | .btn {
|
| | |
| | |
|
| | | .pri {
|
| | | color: #fff;
|
| | | background-color: $uni-color-primary;
|
| | | background-color: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary;
|
| | | }
|
| | |
|
| | | image {
|
| | |
| | | let uri = encodeURIComponent(url)
|
| | | let authURL =
|
| | | `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base#wechat_redirect`
|
| | | // window.location.href = authURL
|
| | | window.location.href = authURL
|
| | | }
|
| | | },
|
| | | methods: {
|
| | |
| | | loginDriverWithCode({
|
| | | phone,
|
| | | code, |
| | | openid: this.$store.state.openId || '000'
|
| | | openid: this.$store.state.openId || '111'
|
| | | }).then(res => {
|
| | | if (res && res.code == 200) { |
| | | if (res.data) { |
| | |
| | | getUserInfo().then(ress => { |
| | | this.$store.commit('setDriverInfo', ress.data) |
| | | }) |
| | | uni.navigateTo({ |
| | | url: '/pages/wdata/list' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.navigateTo({ |
| | | url: '/pages/wdata/list' |
| | | }) |
| | | }, 300) |
| | | }
|
| | | }
|
| | | })
|
| | |
| | | sendSms({
|
| | | phone: this.form.phone
|
| | | }).then(res => {
|
| | | this.countDown = 60
|
| | | this.countDown = 10
|
| | | setInterval(() => {
|
| | | if (this.countDown == 0) return
|
| | | this.countDown--
|
| | |
| | | <template>
|
| | | <view class="main_app"> |
| | | <view class="title_wrap"> |
| | | <view class="name" v-if="driverInfo.realname">{{ driverInfo.realname || "" }},欢迎登录~</view> |
| | | <view class="name" v-if="driverInfo.realname || driverInfo.username">{{ driverInfo.realname || driverInfo.username }},欢迎登录~</view> |
| | | <view class="name" v-else>请先登录</view> |
| | | <view class="btn" @click="loginOut">{{ |
| | | driverInfo.realname ? "退出登录" : "去登录" |
| | | driverInfo.realname || driverInfo.username ? "退出登录" : "去登录" |
| | | }}</view> |
| | | </view>
|
| | | <view class="head_wrap">
|
| | |
| | | <script>
|
| | | import {
|
| | | putTaskList, |
| | | logoutPost
|
| | | logoutPost, |
| | | getUserInfo
|
| | | } from '@/api'
|
| | | import dayjs from 'dayjs';
|
| | | export default {
|
| | |
| | | };
|
| | | },
|
| | | onLoad(options) { |
| | | this.driverInfo = uni.getStorageSync('driverInfo')
|
| | | this.driverInfo = uni.getStorageSync('driverInfo') || {}
|
| | | this.getList()
|
| | | },
|
| | | methods: {
|
| | |
| | | driverTel: this.driverInfo.username
|
| | | },
|
| | | pager: {
|
| | | rows: 10,
|
| | | rows: 30,
|
| | | page
|
| | | }
|
| | | }).then(res => {
|
| | |
| | | }).then(res => { |
| | | this.$store.commit('empty') |
| | | setTimeout(() => { |
| | | uni.redirectTo({ |
| | | url: '/pages/wdata/home' |
| | | }) |
| | | let str = 'https://atwl.ahzyssl.com/zhyq_h5/#/pages/wdata/home' |
| | | window.location.href = str |
| | | }, 300) |
| | | }) |
| | | }
|
| | |
| | |
|
| | | .scroll_Y {
|
| | | background-color: #f7f7f7;
|
| | | height: calc(100vh - 240rpx); |
| | | height: calc(100vh - 220rpx); |
| | | margin-top: 20rpx;
|
| | | .main_list {
|
| | | width: 750rpx;
|
| | |
| | | <div class="item"> |
| | | <img class="icon" src="@/assets/images/FireFighting/ic_wendu@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="num" v-if="dataList8[dataIndex8].temperatureData && dataList8[dataIndex8].temperatureData.latestValue">{{ Number(dataList8[dataIndex8].temperatureData.latestValue).toFixed(1) }}<span>°C</span></div> |
| | | <div class="num" |
| | | v-if="dataList8[dataIndex8].temperatureData && dataList8[dataIndex8].temperatureData.latestValue"> |
| | | {{ Number(dataList8[dataIndex8].temperatureData.latestValue).toFixed(1) }}<span>°C</span></div> |
| | | <div class="la">阈值 {{ dataList8[dataIndex8].temperatureData?.alarmLow }}~{{ |
| | | dataList8[dataIndex8].temperatureData?.alarmHigh }}°C</div> |
| | | </div> |
| | |
| | | <div class="item"> |
| | | <img class="icon" src="@/assets/images/FireFighting/ic_shidu@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="num" v-if="dataList8[dataIndex8].humidityData && dataList8[dataIndex8].humidityData.latestValue">{{ Number(dataList8[dataIndex8].humidityData.latestValue).toFixed(1) }}<span>%</span></div> |
| | | <div class="num" |
| | | v-if="dataList8[dataIndex8].humidityData && dataList8[dataIndex8].humidityData.latestValue">{{ |
| | | Number(dataList8[dataIndex8].humidityData.latestValue).toFixed(1) }}<span>%</span></div> |
| | | <div class="la">阈值 {{ dataList8[dataIndex8].humidityData?.alarmLow }}~{{ |
| | | dataList8[dataIndex8].humidityData?.alarmHigh }}°C</div> |
| | | </div> |
| | |
| | | <span class="status" v-else-if="item.handleStatus == 3">核实中</span> |
| | | <span v-else class="status">未核实</span> |
| | | </div> |
| | | <div class="have_time">已经发生{{ item.haveTime }}</div> |
| | | <div class="have_time">已发生{{ item.haveTime }}</div> |
| | | </div> |
| | | <div class="wrap"> |
| | | <div class="title"> |
| | |
| | | let conNum = maxNum - minNum |
| | | let acNum = item.obj.value.replaceAll('M', '') |
| | | var data = (((acNum - minNum) / conNum) * 100).toFixed(0) |
| | | console.log('data', data); |
| | | |
| | | console.log('data', data) |
| | | |
| | | const option = { |
| | | tooltip: { |
| | | trigger: 'none', |
| | |
| | | label: { |
| | | distance: 15, |
| | | show: true, |
| | | position: data > 52 ? 'inside' : 'top', |
| | | position: data > 52 ? 'inside' : 'top', |
| | | formatter: '{c}' + '%', |
| | | fontSize: 72, |
| | | color: '#1AFCFF', |
| | |
| | | getFighalarmDataList().then(res => { |
| | | dataList7.value = res.data || [] |
| | | dataList7.value = dataList7.value.map(item => { |
| | | item.haveTime = dayjs.duration(new Date().getTime() - new Date(item.alarmTime).getTime()).format('H小时m分钟') |
| | | let times = new Date().getTime() - new Date(item.alarmTime).getTime() |
| | | if (times > 86400000) { |
| | | item.haveTime = dayjs.duration(times).format('D天H小时m分钟') |
| | | } else if (times > 3600000) { |
| | | item.haveTime = dayjs.duration(times).format('H小时m分钟') |
| | | } else { |
| | | item.haveTime = dayjs.duration(times).format('m分钟') |
| | | } |
| | | return item |
| | | }) |
| | | }) |
| | |
| | | width: 108%; |
| | | display: flex; |
| | | margin: 0 -4%; |
| | | |
| | | .content_wrap { |
| | | flex: 1; |
| | | flex-shrink: 0; |
| | |
| | | { name: '澳门特别行政区', code:'820003',value: 0 }, |
| | | { name: '南海诸岛', code:'',value: 0 }, |
| | | ] |
| | | let totalNum = 0 |
| | | mapList.value.forEach(i => { |
| | | totalNum += i.yearNum |
| | | }) |
| | | mapData.forEach(item => { |
| | | item.monthNum = 0 |
| | | item.yearNum = 0 |
| | | mapList.value.forEach(ite => { |
| | | if (item.code == ite.code) { |
| | | item.value = ite.yearNum |
| | | item.value = 0 |
| | | item.monthNum = ite.monthNum |
| | | item.yearNum = ite.yearNum |
| | | if(totalNum > 0){ |
| | | item.rate = ((ite.yearNum / totalNum) * 100).toFixed(2) |
| | | item.value = (ite.yearNum / totalNum).toFixed(4) |
| | | |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | |
| | | visualMap: { |
| | | type: 'piecewise', |
| | | pieces: [ |
| | | { min: 100000, max: 99999999999, label: '出库量10w以上', color: '#be6f2b' }, |
| | | { min: 50000, max: 100000, label: '出库量5-10w', color: '#c39332' }, |
| | | { min: 20000, max: 50000, label: '出库量2-5w', color: '#5ecbaf' }, |
| | | { min: -1, max: 20000, label: '出库量2w以下', color: '#3561a4' }, |
| | | { min: 0.05, max: 99999999999, label: '调拨量占比5%以上', color: '#be6f2b' }, |
| | | { min: 0.02, max: 0.05, label: '调拨量占比2%~5%', color: '#c39332' }, |
| | | { min: 0.01, max: 0.02, label: '调拨量占比1%~2%', color: '#5ecbaf' }, |
| | | { min: -1, max: 0.01, label: '调拨量占比1%以下', color: '#3561a4' }, |
| | | // { min: 100000, max: 99999999999, label: '出库量10w以上', color: '#be6f2b' }, |
| | | // { min: 50000, max: 100000, label: '出库量5-10w', color: '#c39332' }, |
| | | // { min: 20000, max: 50000, label: '出库量2-5w', color: '#5ecbaf' }, |
| | | // { min: -1, max: 20000, label: '出库量2w以下', color: '#3561a4' }, |
| | | ], |
| | | itemWidth: 22, |
| | | itemHeight: 22, |
| | |
| | | <div class="item-state-con"> |
| | | <span class="dot bj"></span> |
| | | <span class="item-state-num"> |
| | | <span class="text">本月出库量:</span> |
| | | <span class="text">本月调拨量:</span> |
| | | <span class="num">${params.data.monthNum}万支</span> |
| | | </span> |
| | | </div> |
| | | <div class="item-state-con"> |
| | | <div class="item-state-con"> |
| | | <span class="dot yj"></span> |
| | | <span class="item-state-num"> |
| | | <span class="text">本年出库量:</span> |
| | | <span class="text">本年调拨量:</span> |
| | | <span class="num">${params.data.yearNum}万支</span> |
| | | </span> |
| | | </div> |
| | | <div class="item-state-con"> |
| | | <span class="dot yj"></span> |
| | | <span class="item-state-num"> |
| | | <span class="text">调拨量占比:</span> |
| | | <span class="num">${params.data.rate || 0}%</span> |
| | | </span> |
| | | </div> |
| | | </div>` |
| | | } |
| | | }, |
| | |
| | | <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" :class="{top3: i < 3}"><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" /> |
| | |
| | | const platformClick = (val) => { |
| | | const index = pointList.findIndex(i => i.name == val.platformName) |
| | | workModalParam.value = { ...val, ...pointList[index], index: pointList } |
| | | if(workModalParam.value.workTime){ |
| | | if (workModalParam.value.workTime) { |
| | | workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('m', '分钟') |
| | | workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('h', '小时') |
| | | } |
| | |
| | | box-shadow: inset 0px 0px 3px 0px #01D9FE; |
| | | margin-right: 10px; |
| | | } |
| | | .top3{ |
| | | |
| | | .top3 { |
| | | box-shadow: inset 0px 0px 3px 0px #FEAF01; |
| | | } |
| | | |
| | | .one-swiper-slide { |
| | | height: 40px !important; |
| | | } |
| | |
| | | |
| | | .num { |
| | | font-weight: 500; |
| | | width: 82px; |
| | | width: 88px; |
| | | text-align: right; |
| | | font-size: 13px; |
| | | color: #DBEAEA; |
| | | margin-left: 2px; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .wrap { |
| | |
| | | left: 850px; |
| | | top: 60px; |
| | | z-index: 99999999; |
| | | |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |