| | |
| | | }) |
| | | }, |
| | | loadLedList() { |
| | | deviceList({ type: 2 }) |
| | | deviceList({ type: 2, isdeleted: 0 }) |
| | | .then(res => { |
| | | this.ledList = res || [] |
| | | }) |
| | | }, |
| | | loadBroadcastList() { |
| | | deviceList({ type: 3 }) |
| | | deviceList({ type: 3, isdeleted: 0 }) |
| | | .then(res => { |
| | | this.broadcastList = res || [] |
| | | }) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from 'vue' |
| | | const preventReClick = Vue.directive('preventReClick', { |
| | | inserted: function(el, binding, vNode, oldVnode) { |
| | | el.addEventListener('click', () => { |
| | | if (!el.disabled) { |
| | | el.disabled = true |
| | | // el.style.backgroundColor = '#ccc' |
| | | // el.style.border = 'none' |
| | | setTimeout(() => { |
| | | el.disabled = false |
| | | // el.style.backgroundColor = '#4870F7' |
| | | // el.style.border = '1px solid #4870F7' |
| | | }, 2000) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | export default { |
| | | preventReClick |
| | | } |
| | |
| | | import plugins from './plugins' |
| | | import { mapState, mapMutations } from 'vuex' |
| | | import { fetchMenuTree } from './api/system/menu' |
| | | |
| | | import preventReClick from '@/directives/directive' |
| | | Vue.use(preventReClick) |
| | | Vue.config.productionTip = false |
| | | Vue.use(ElementUI, { |
| | | size: 'small' |
| | |
| | | <el-table-column prop="carCodeFront" label="车çå·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeBack" label="çµåéç¶æ" min-width="100" show-overflow-tooltip> |
| | | <template v-slot="scope"> |
| | | <span class="red" v-if="scope.row.lockStatus == 0">æªä¸é</span> |
| | | <span class="red" v-if="scope.row.lockStatus == 1">é¨åä¸é</span> |
| | | <span v-if="scope.row.lockStatus == 2">å
¨é¨ä¸é</span> |
| | | <span class="red" v-if="scope.row.billCode && scope.row.lockStatus == 0">æªä¸é</span> |
| | | <span class="red" v-if="scope.row.billCode && scope.row.lockStatus == 1">é¨åä¸é</span> |
| | | <span v-if="scope.row.billCode && scope.row.lockStatus == 2">å
¨é¨ä¸é</span> |
| | | <span v-if="!scope.row.billCode">-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="carrierName" label="è¿è¾å
¬å¸" min-width="100" show-overflow-tooltip /> |
| | |
| | | <div class="status">{{ statusMap[item.status] }}</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div v-if="item.type == 4" class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ item.contractNum }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <div v-if="item.billCode" class="ite"> |
| | | <span>è¿è¾åå·ï¼</span> |
| | | <span>{{ item.billCode }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ item.contractNum }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>驾驶åï¼</span> |
| | |
| | | <span>æ»è¿è¾éï¼</span> |
| | | <span>{{ item.totalNum }}䏿¯</span> |
| | | </div> |
| | | <div v-if="item.type != 4" class="ite" style="width: 66%"> |
| | | <div v-if="item.billCode" class="ite" style="width: 66%"> |
| | | <span>è¿è¾å
¬å¸ï¼</span> |
| | | <span>{{ item.carrierName }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="footer df_sb"> |
| | | <div v-if="item.type != 4" class="detail">è¿å详æ
</div> |
| | | <div v-else></div> |
| | | <el-button type="primary" @click="handleCall(item)">å«å·</el-button> |
| | | <div v-if="item.billCode" @click="handleDetail(item)" class="detail">è¿å详æ
</div> |
| | | <div v-else class="detail" @click="subDetail(item)">é¢çº¦è¯¦æ
</div> |
| | | <el-button v-preventReClick :loading="loadingCall" type="primary" @click="handleCall(item)">å«å·</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination"> |
| | | </pagination> |
| | | </div> |
| | | <!-- --> |
| | | <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" /> |
| | | <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import { platformCallList, platformCallNumber, platformInPark } from '@/api' |
| | | import { statusMap } from '../config' |
| | | import { Message } from 'element-ui' |
| | | import WaybillDetail from './WaybillDetail.vue' |
| | | import DriverDetail from "@/views/task/driverDetail.vue" |
| | | export default { |
| | | components: { |
| | | GlobalWindow, |
| | | Pagination |
| | | Pagination, |
| | | WaybillDetail, |
| | | DriverDetail |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | title: '', |
| | | callType: '1', |
| | | activePlat: {}, |
| | | dataList: [] |
| | | dataList: [], |
| | | isShowDetail: false, // è¿å详æ
|
| | | isShowDriver: false, // é¢çº¦è¯¦æ
|
| | | loadingCall: false |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | handleCall(item) { |
| | | const { activePlat, callType } = this |
| | | this.loadingCall = true |
| | | if (callType == 1) { // å
¥åå«å· |
| | | platformInPark({ |
| | | jobId: item.id, |
| | | platformId: activePlat.id |
| | | }).then(() => { |
| | | this.loadingCall = false |
| | | Message.success('å«å·æå') |
| | | this.$emit('success') |
| | | this.getList() |
| | | }) |
| | | },() => {this.loadingCall = false}) |
| | | } else { |
| | | this.loadingCall = true |
| | | platformCallNumber({ platformId: activePlat.id, jobId: item.id }).then(res => { |
| | | this.loadingCall = false |
| | | Message.success('å«å·æå') |
| | | this.$emit('success') |
| | | this.getList() |
| | | }) |
| | | },()=> {this.loadingCall = false}) |
| | | } |
| | | }, |
| | | subDetail(row) { |
| | | this.isShowDriver = true |
| | | this.$nextTick(() => { |
| | | this.$refs.DriverDetailRef.id = row.bookId |
| | | this.$refs.DriverDetailRef.type = row.objType |
| | | this.$refs.DriverDetailRef.getDetail() |
| | | this.$refs.DriverDetailRef.isShowModal = true |
| | | }) |
| | | }, |
| | | handleDetail(row) { |
| | | this.isShowDetail = true |
| | | this.$nextTick(() => { |
| | | this.$refs.WaybillDetailRef.isShowModal = true |
| | | this.$refs.WaybillDetailRef.id = row.id |
| | | this.$refs.WaybillDetailRef.getDetail() |
| | | }) |
| | | }, |
| | | getList() { |
| | | const { activePlat, pagination, carCodeFront, callType } = this |
| | | platformCallList({ |
| | |
| | | <div class="status" :class="{ red: item.status == 0 }">{{ statusMap[item.status] }}</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div v-if="item.type == 4" class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ item.contractNum }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <div v-if="item.billCode" class="ite"> |
| | | <span>è¿è¾åå·ï¼</span> |
| | | <span>{{ item.billCode }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ item.contractNum }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>驾驶åï¼</span> |
| | | <span>{{ item.driverName }}</span> |
| | |
| | | <div class="contract"> |
| | | <span>ååå·ï¼{{ item.contractCode }}</span> |
| | | <div> |
| | | <span class="scs" v-if="item.platformWmsDetailList[0].status == 1">WMSä½ä¸å·²å®æ</span> |
| | | <span class="pad" v-if="item.platformWmsDetailList[0].status == 0">WMSä½ä¸æªå®æ</span> |
| | | <span class="err" v-if="item.platformWmsDetailList[0].status == 2">WMSä½ä¸å·²åæ¶</span> |
| | | <span class="scs" v-if="item.platformWmsDetailList[0].lockStatus == 1">çµåéå·²ä¸é</span> |
| | | <span class="pad" v-if="item.platformWmsDetailList[0].lockStatus == 0">çµåéæªä¸é</span> |
| | | <span class="scs" v-if="item.status == 1">WMSä½ä¸å·²å®æ</span> |
| | | <span class="pad" v-if="item.status == 0">WMSä½ä¸æªå®æ</span> |
| | | <span class="err" v-if="item.status == 2">WMSä½ä¸å·²åæ¶</span> |
| | | <span class="scs" v-if="item.lockStatus == 1">çµåéå·²ä¸é</span> |
| | | <span class="pad" v-if="item.lockStatus == 0">çµåéæªä¸é</span> |
| | | </div> |
| | | </div> |
| | | <div class="placeholder6">æ¶è´§å°ï¼{{ item.address }}</div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="line"> |
| | | <div v-if="task.type == 4" class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ task.contractNum }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <div v-if="task.billCode" class="ite"> |
| | | <span>è¿è¾åå·ï¼</span> |
| | | <span>{{ task.billCode }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ task.contractNum }}</span> |
| | | </div> |
| | | <div class="ite siji"> |
| | | <span>驾驶åï¼</span> |
| | |
| | | <span>æ»è¿è¾éï¼</span> |
| | | <span>{{ task.totalNum }}䏿¯</span> |
| | | </div> |
| | | <div v-if="task.type != 4" class="ite" style="width: 66.6%"> |
| | | <div v-if="task.billCode" class="ite" style="width: 66.6%"> |
| | | <span>è¿è¾å
¬å¸ï¼</span> |
| | | <span>{{ task.carrierName }}</span> |
| | | </div> |
| | | <div class="ite"></div> |
| | | </div> |
| | | <div class="line"> |
| | | <div v-if="task.type != 4" class="left"> |
| | | <span class="primaryColor pointer" @click="handleDetail(task)">è¿å详æ
</span> |
| | | <div class="left"> |
| | | <span v-if="task.billCode" class="primaryColor pointer" @click="handleDetail(task)">è¿å详æ
</span> |
| | | <span v-else class="primaryColor pointer" @click="subDetail(task)">é¢çº¦è¯¦æ
</span> |
| | | </div> |
| | | <div v-else></div> |
| | | <div class="right"> |
| | | <el-button v-if="task.status == 5" plain @click="handleErr(task)">å¼å¸¸æèµ·</el-button> |
| | | <el-button v-if="task.status == 5 || task.status == 8" plain |
| | | @click="handleTransform(item, task)">转移æå°</el-button> |
| | | <el-button v-if="task.status == 4" plain @click="handlePass(task)">è¿å·</el-button> |
| | | <el-button v-if="task.status == 5 || task.status == 8" type="primary" |
| | | <el-button v-preventReClick :loading="loadingFinish" v-if="task.status == 5 || task.status == 8" type="primary" |
| | | @click="handleFinish(task)">ä½ä¸å®æ</el-button> |
| | | <el-button v-if="task.status == 4" type="primary" @click="handleWork(task)">å¼å§ä½ä¸</el-button> |
| | | <el-button v-preventReClick :loading="loadingOpen" v-if="task.status == 4" type="primary" @click="handleWork(task)">å¼å§ä½ä¸</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <PlatformQueuing ref="PlatformQueuingRef" v-if="isShowQueuing" @success="getPlatGroupList" |
| | | @close="isShowQueuing = false" /> |
| | | <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" /> |
| | | <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" /> |
| | | <el-dialog title="转移æå°" :visible.sync="isShowTransform" width="500px" style="margin-top: 12vh"> |
| | | <div class="df_ac"> |
| | | <span>éæ©è½¬ç§»å°çæå°ï¼</span> |
| | |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowTransform = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="transformSub">ç¡®å®</el-button> |
| | | <el-button v-preventReClick type="primary" @click="transformSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | } from '@/api' |
| | | import PlatformQueuing from './components/PlatformQueuing.vue' |
| | | import WaybillDetail from './components/WaybillDetail.vue' |
| | | import DriverDetail from "@/views/task/driverDetail.vue" |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | import { Message } from 'element-ui' |
| | | import { Loading, Message } from 'element-ui' |
| | | import { statusMap } from './config' |
| | | dayjs.extend(duration) |
| | | export default { |
| | | components: { |
| | | PlatformQueuing, |
| | | WaybillDetail, |
| | | DriverDetail, |
| | | GlobalWindow |
| | | }, |
| | | data() { |
| | |
| | | |
| | | setParam: {}, |
| | | isShowDetail: false, // è¿å详æ
|
| | | isShowDriver: false, // é¢çº¦è¯¦æ
|
| | | detail: {}, |
| | | isShowQueuing: false, |
| | | timer: null |
| | | timer: null, |
| | | |
| | | loadingOpen: false, |
| | | loadingFinish: false, |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | methods: { |
| | | handleWork(item) { |
| | | this.loadingOpen = true |
| | | platformBeginWork({ jobId: item.id }).then(res => { |
| | | this.loadingOpen = false |
| | | Message.success('å·²å¼å§ä½ä¸') |
| | | this.getPlatGroupList() |
| | | }, () => { |
| | | this.loadingOpen = false |
| | | }) |
| | | }, |
| | | handleFinish(item) { |
| | | this.loadingFinish = true |
| | | platformFinishWork({ jobId: item.id }).then(res => { |
| | | this.loadingFinish = false |
| | | Message.success('宿ä½ä¸') |
| | | this.getPlatGroupList() |
| | | },() => { |
| | | this.loadingFinish = false |
| | | }) |
| | | }, |
| | | handleTransform(item, task) { |
| | |
| | | this.$refs.PlatformQueuingRef.title = item.name |
| | | }) |
| | | }, |
| | | subDetail(row) { |
| | | this.isShowDriver = true |
| | | this.$nextTick(() => { |
| | | this.$refs.DriverDetailRef.id = row.bookId |
| | | this.$refs.DriverDetailRef.type = 6 |
| | | this.$refs.DriverDetailRef.getDetail() |
| | | this.$refs.DriverDetailRef.isShowModal = true |
| | | }) |
| | | }, |
| | | handleDetail(row) { |
| | | this.isShowDetail = true |
| | | this.$nextTick(() => { |
| | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import DriverDetail from "@/views/task/driverDetail.vue" |
| | | import { |
| | | getPlatformGroupList, |
| | | platformLineUpPage, |
| | |
| | | } from '@/api' |
| | | import { queryQueueUpConfig } from './config' |
| | | import WaybillDetail from './components/WaybillDetail.vue' |
| | | import DriverDetail from "@/views/task/driverDetail.vue" |
| | | import PlatformSign from './components/PlatformSign.vue' |
| | | export default { |
| | | components: { |
| | |
| | | <view class="label">ææºå·</view> |
| | | <view class="value">{{ param.drivierPhone }}</view> |
| | | </view> |
| | | <view class="line" v-if="type != 4"> |
| | | <view class="line" v-if="param.billCode"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="wmsDetail"> |
| | | <text class="waybill_num">{{ param.billCode }}</text> |
| | |
| | | } |
| | | |
| | | .detail_modal { |
| | | height: calc( 100vh - 88rpx );
|
| | | height: calc( 100vh - 88rpx ); |
| | | padding: 36rpx 30rpx; |
| | | border-radius: 12rpx; |
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
|
| | | .modal_title {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | line-height: 44rpx;
|
| | | text-align: center;
|
| | | margin-bottom: 36rpx;
|
| | | }
|
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5); |
| | | .modal_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | line-height: 44rpx; |
| | | text-align: center; |
| | | margin-bottom: 36rpx; |
| | | } |
| | | .contract_wrap{ |
| | | height: calc( 100% - 400rpx ); |
| | | overflow-y: auto; |
| | | }
|
| | | } |
| | | .contract_list { |
| | | border-top: 1rpx solid #E5E5E5; |
| | | margin-bottom: 30rpx; |
| | | padding-top: 30rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | }
|
| | | .list {
|
| | | background: #f7f7f7;
|
| | | border-radius: 8rpx;
|
| | | padding: 20rpx;
|
| | | } |
| | | .list { |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | padding: 20rpx; |
| | | .item{ |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding-bottom: 20rpx; |
| | |
| | | padding-bottom: 0; |
| | | margin-bottom: 0; |
| | | } |
| | | }
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | } |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0rpx; |
| | | }
|
| | | .label {
|
| | | color: #666666;
|
| | | width: 92rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 600;
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-bottom: 12rpx;
|
| | | }
|
| | |
|
| | | .address {
|
| | | font-size: 26rpx;
|
| | | color: #666666;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .info {
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .label {
|
| | | font-size: 30rpx;
|
| | | color: #666666;
|
| | | width: 150rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .separate {
|
| | | width: 750rpx;
|
| | | height: 2rpx;
|
| | | margin: 30rpx -30rpx;
|
| | | border: 1rpx solid #e5e5e5;
|
| | | }
|
| | |
|
| | | .id_card {
|
| | | display: flex;
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | line-height: 60rpx;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | | width: 220rpx;
|
| | | margin-bottom: 15rpx;
|
| | |
|
| | | text {
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | | padding: 0 12rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 10rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | .label { |
| | | color: #666666; |
| | | width: 92rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .address { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | |
| | | .label { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | width: 150rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .separate { |
| | | width: 750rpx; |
| | | height: 2rpx; |
| | | margin: 30rpx -30rpx; |
| | | border: 1rpx solid #e5e5e5; |
| | | } |
| | | |
| | | .id_card { |
| | | display: flex; |
| | | font-weight: 600; |
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | width: 220rpx; |
| | | margin-bottom: 15rpx; |
| | | |
| | | text { |
| | | &:nth-of-type(1) { |
| | | background: #e9f5f6; |
| | | padding: 0 12rpx; |
| | | } |
| | | |
| | | &:nth-of-type(2) { |
| | | padding-left: 10rpx; |
| | | } |
| | | |
| | | &:nth-of-type(4) { |
| | | padding-right: 6rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image>
|
| | | <view class="name" v-if="param.status == 1">请ä¸{{ param.arriveDate.slice(0,11) }}ç°åºç¾å°</view>
|
| | | <view class="name" v-if="param.status == 2">åæ¹æéï¼{{param.lineUpNum}}è¾</view>
|
| | | <view class="name" v-if="param.status == 3">å
¥åçå¾
</view> |
| | | <view class="name" v-if="param.status == 4">请å
¥ååé {{param.platformName}}ä½ä¸</view> |
| | | <view class="name" v-if="param.status == 3">å
¥åçå¾
</view>
|
| | | <view class="name" v-if="param.status == 4">请å
¥ååé {{param.platformName}}ä½ä¸</view>
|
| | | <view class="name" v-if="param.status == 5">æå°ä½ä¸ä¸</view>
|
| | | <view class="name" v-if="param.status == 6">ä½ä¸å·²å®æ</view>
|
| | | <view class="id_card">{{ param.carCodeFront }}</view>
|
| | |
| | | <view class="label">ææºå·</view>
|
| | | <view class="value">{{param.drivierPhone}}</view>
|
| | | </view>
|
| | | <template v-if="param.type != 4">
|
| | | <template v-if="param.billCode">
|
| | | <view class="line">
|
| | | <view class="label">è¿è¾åå·</view>
|
| | | <view class="value" @click="wmsDetail">
|
| | |
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">ä½ä¸ç±»å</view>
|
| | | <view class="value" v-if="param.type == 0">èªæè½¦å¸è´§</view> |
| | | <view class="value" v-if="param.type == 1">èªæè½¦è£
è´§</view> |
| | | <view class="value" v-if="param.type == 2">å¤å车å¸è´§</view> |
| | | <view class="value" v-if="param.type == 0">èªæè½¦å¸è´§</view>
|
| | | <view class="value" v-if="param.type == 1">èªæè½¦è£
è´§</view>
|
| | | <view class="value" v-if="param.type == 2">å¤å车å¸è´§</view>
|
| | | <view class="value" v-if="param.type == 3">å¤å车è£
è´§</view>
|
| | | </view>
|
| | | </template>
|
| | |
| | | <view class="label">è¿è¾å
¬å¸</view>
|
| | | <view class="value">{{ wmsInfo.carrierName }}</view>
|
| | | </view>
|
| | | </view> |
| | | <view class="contract_wrap"> |
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList"> |
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view> |
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view> |
| | | <view class="list"> |
| | | <view class="item" v-for="line in item.platformWmsDetailList"> |
| | | <view class="line"> |
| | | <view class="label">ç©æï¼</view> |
| | | <view class="value">{{ line.materialName }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ°éï¼</view> |
| | | <view class="value">{{ line.ioQty }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view>
|
| | | <view class="contract_wrap">
|
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
|
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view>
|
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view>
|
| | | <view class="list">
|
| | | <view class="item" v-for="line in item.platformWmsDetailList">
|
| | | <view class="line">
|
| | | <view class="label">ç©æï¼</view>
|
| | | <view class="value">{{ line.materialName }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">æ°éï¼</view>
|
| | | <view class="value">{{ line.ioQty }}</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .detail_modal { |
| | | .detail_modal {
|
| | | height: calc( 100vh - 88rpx );
|
| | | padding: 36rpx 30rpx; |
| | | border-radius: 12rpx; |
| | | padding: 36rpx 30rpx;
|
| | | border-radius: 12rpx;
|
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
|
| | | .modal_title {
|
| | | font-weight: 600;
|
| | |
| | | text-align: center;
|
| | | margin-bottom: 36rpx;
|
| | | }
|
| | | .contract_wrap{ |
| | | height: calc( 100% - 400rpx ); |
| | | overflow-y: auto; |
| | | .contract_wrap{
|
| | | height: calc( 100% - 400rpx );
|
| | | overflow-y: auto;
|
| | | }
|
| | | .contract_list { |
| | | border-top: 1rpx solid #E5E5E5; |
| | | margin-bottom: 30rpx; |
| | | padding-top: 30rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | .contract_list {
|
| | | border-top: 1rpx solid #E5E5E5;
|
| | | margin-bottom: 30rpx;
|
| | | padding-top: 30rpx;
|
| | | &:nth-last-child(1){
|
| | | margin-bottom: 0;
|
| | | }
|
| | | .list {
|
| | | background: #f7f7f7;
|
| | | border-radius: 8rpx;
|
| | | padding: 20rpx;
|
| | | .item{ |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding-bottom: 20rpx; |
| | | margin-bottom: 20rpx; |
| | | &:nth-last-child(1){ |
| | | border: none; |
| | | padding-bottom: 0; |
| | | margin-bottom: 0; |
| | | } |
| | | .item{
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | padding-bottom: 20rpx;
|
| | | margin-bottom: 20rpx;
|
| | | &:nth-last-child(1){
|
| | | border: none;
|
| | | padding-bottom: 0;
|
| | | margin-bottom: 0;
|
| | | }
|
| | | }
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0rpx; |
| | | &:nth-last-child(1){
|
| | | margin-bottom: 0rpx;
|
| | | }
|
| | | .label {
|
| | | color: #666666;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | }
|
| | | </style> |
| | |
| | | <view class="status" v-if="item.status == 4">å«å·ä¸ {{ item.callDateTemp }}</view>
|
| | | <view class="status scs" v-if="item.status == 5">å·²ä½ä¸ {{ item.startDateTemp }}</view>
|
| | | </view>
|
| | | <view class="line" v-if="item.type == 4">
|
| | | <text class="label">åååå·</text>
|
| | | <text class="value">{{ item.contractNum }}</text>
|
| | | </view>
|
| | | <view class="line" v-else>
|
| | | <view class="line" v-if="item.code">
|
| | | <text class="label">è¿è¾åå·</text>
|
| | | <text class="value">{{ item.code }}</text>
|
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text>
|
| | | </view>
|
| | | <view class="line" v-else>
|
| | | <text class="label">åååå·</text>
|
| | | <text class="value">{{ item.contractNum }}</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶å</text>
|
| | |
| | | statusMap[item.status]
|
| | | }}</view>
|
| | | </view>
|
| | | <view class="line" v-if="item.type == 4">
|
| | | <text class="label">åååå·</text>
|
| | | <text class="value">{{ item.contractNum }}</text>
|
| | | </view>
|
| | | <view class="line" v-else>
|
| | | <view class="line" v-if="item.billCode">
|
| | | <text class="label">è¿è¾åå·</text>
|
| | | <text class="value">{{ item.billCode }}</text>
|
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text>
|
| | | </view>
|
| | | <view class="line" v-else>
|
| | | <text class="label">åååå·</text>
|
| | | <text class="value">{{ item.contractNum }}</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶å</text>
|
| | |
| | | <view class="label">è¿è¾å
¬å¸</view>
|
| | | <view class="value">{{ wmsInfo.carrierName }}</view>
|
| | | </view>
|
| | | </view> |
| | | <view class="contract_wrap"> |
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList"> |
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view> |
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view> |
| | | <view class="list"> |
| | | <view class="item" v-for="line in item.platformWmsDetailList"> |
| | | <view class="line"> |
| | | <view class="label">ç©æï¼</view> |
| | | <view class="value">{{ line.materialName }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ°éï¼</view> |
| | | <view class="value">{{ line.ioQty }}䏿¯</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view>
|
| | | <view class="contract_wrap">
|
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
|
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view>
|
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view>
|
| | | <view class="list">
|
| | | <view class="item" v-for="line in item.platformWmsDetailList">
|
| | | <view class="line">
|
| | | <view class="label">ç©æï¼</view>
|
| | | <view class="value">{{ line.materialName }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">æ°éï¼</view>
|
| | | <view class="value">{{ line.ioQty }}䏿¯</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | |
| | | }
|
| | | },
|
| | | onLoad() {
|
| | | this.getPlatformGroup() |
| | | setInterval(() => { |
| | | this.getPlatformGroup() |
| | | this.getPlatformGroup()
|
| | | setInterval(() => {
|
| | | this.getPlatformGroup()
|
| | | }, 1000 * 30)
|
| | | },
|
| | | methods: {
|
| | |
| | | this.platformCallPage = 1
|
| | | if (callType == 1) { // å
¥åå«å·
|
| | | platformInPark({
|
| | | jobId: item.id, |
| | | jobId: item.id,
|
| | | platformId: activePlatform.id
|
| | | }).then(res => {
|
| | | this.showToast('å«å·æå')
|
| | |
| | | .item {
|
| | | width: 210rpx;
|
| | | height: 80rpx;
|
| | | display: flex; |
| | | justify-content: center; |
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | background: #ffffff;
|
| | | border-radius: 8rpx;
|
| | |
| | | .code {
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | display: flex; |
| | | justify-content: center; |
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | |
|
| | | text { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | text {
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | height: 100%;
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | |
| | | .btn {
|
| | | width: 224rpx;
|
| | | height: 88rpx;
|
| | | display: flex; |
| | | justify-content: center; |
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | background: #ffffff;
|
| | | border-radius: 44rpx;
|
| | |
| | | }
|
| | |
|
| | | .order_list {
|
| | | height: calc(100% - 160rpx); |
| | | height: calc(100% - 160rpx);
|
| | | margin-top: 20rpx;
|
| | | .scroll_view {
|
| | | height: 100%;
|
| | |
| | |
|
| | | .platform_ing {
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfe2e8; |
| | | &:nth-of-type(1){ |
| | | margin-top: 0; |
| | | border: 1rpx solid #dfe2e8;
|
| | | &:nth-of-type(1){
|
| | | margin-top: 0;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .detail_modal { |
| | | .detail_modal {
|
| | | height: 100vh;
|
| | | padding: 36rpx 30rpx; |
| | | border-radius: 12rpx; |
| | | padding: 36rpx 30rpx;
|
| | | border-radius: 12rpx;
|
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
|
| | | .modal_title {
|
| | | font-weight: 600;
|
| | |
| | | text-align: center;
|
| | | margin-bottom: 36rpx;
|
| | | }
|
| | | .contract_wrap{ |
| | | height: calc( 100% - 400rpx ); |
| | | overflow-y: auto; |
| | | .contract_wrap{
|
| | | height: calc( 100% - 400rpx );
|
| | | overflow-y: auto;
|
| | | }
|
| | | .contract_list { |
| | | border-top: 1rpx solid #E5E5E5; |
| | | margin-bottom: 30rpx; |
| | | padding-top: 30rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | .contract_list {
|
| | | border-top: 1rpx solid #E5E5E5;
|
| | | margin-bottom: 30rpx;
|
| | | padding-top: 30rpx;
|
| | | &:nth-last-child(1){
|
| | | margin-bottom: 0;
|
| | | }
|
| | | .list {
|
| | | background: #f7f7f7;
|
| | | border-radius: 8rpx;
|
| | | padding: 20rpx;
|
| | | .item{ |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding-bottom: 20rpx; |
| | | margin-bottom: 20rpx; |
| | | &:nth-last-child(1){ |
| | | border: none; |
| | | padding-bottom: 0; |
| | | margin-bottom: 0; |
| | | } |
| | | .item{
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | padding-bottom: 20rpx;
|
| | | margin-bottom: 20rpx;
|
| | | &:nth-last-child(1){
|
| | | border: none;
|
| | | padding-bottom: 0;
|
| | | margin-bottom: 0;
|
| | | }
|
| | | }
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0rpx; |
| | | &:nth-last-child(1){
|
| | | margin-bottom: 0rpx;
|
| | | }
|
| | | .label {
|
| | | color: #666666;
|
| | |
| | | >ç¾å°æ¶é´ï¼{{ item.signDate.slice(11, 16) }}</view |
| | | > |
| | | </view> |
| | | <view class="line" v-if="item.type == 4"> |
| | | <text class="label">åååå·</text> |
| | | <text class="value">{{ item.contractNum }}</text> |
| | | </view> |
| | | <view class="line" v-else> |
| | | <view class="line" v-if="item.billCode"> |
| | | <text class="label">è¿è¾åå·</text> |
| | | <text class="value">{{ item.billCode }}</text> |
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text> |
| | | </view> |
| | | <view class="line" v-else> |
| | | <text class="label">åååå·</text> |
| | | <text class="value">{{ item.contractNum }}</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶å</text> |
| | |
| | | } |
| | | } |
| | | .detail_modal { |
| | | height: 100vh;
|
| | | height: 100vh; |
| | | padding: 36rpx 30rpx; |
| | | border-radius: 12rpx; |
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
|
| | | .modal_title {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | line-height: 44rpx;
|
| | | text-align: center;
|
| | | margin-bottom: 36rpx;
|
| | | }
|
| | | box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5); |
| | | .modal_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | line-height: 44rpx; |
| | | text-align: center; |
| | | margin-bottom: 36rpx; |
| | | } |
| | | .contract_wrap{ |
| | | height: calc( 100% - 400rpx ); |
| | | overflow-y: auto; |
| | | }
|
| | | } |
| | | .contract_list { |
| | | border-top: 1rpx solid #E5E5E5; |
| | | margin-bottom: 30rpx; |
| | | padding-top: 30rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0; |
| | | }
|
| | | .list {
|
| | | background: #f7f7f7;
|
| | | border-radius: 8rpx;
|
| | | padding: 20rpx;
|
| | | } |
| | | .list { |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | padding: 20rpx; |
| | | .item{ |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding-bottom: 20rpx; |
| | |
| | | padding-bottom: 0; |
| | | margin-bottom: 0; |
| | | } |
| | | }
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | } |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 0rpx; |
| | | }
|
| | | .label {
|
| | | color: #666666;
|
| | | width: 92rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 600;
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-bottom: 12rpx;
|
| | | }
|
| | |
|
| | | .address {
|
| | | font-size: 26rpx;
|
| | | color: #666666;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .info {
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .label {
|
| | | font-size: 30rpx;
|
| | | color: #666666;
|
| | | width: 150rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .separate {
|
| | | width: 750rpx;
|
| | | height: 2rpx;
|
| | | margin: 30rpx -30rpx;
|
| | | border: 1rpx solid #e5e5e5;
|
| | | }
|
| | |
|
| | | .id_card {
|
| | | display: flex;
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | line-height: 60rpx;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | | width: 220rpx;
|
| | | margin-bottom: 15rpx;
|
| | |
|
| | | text {
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | | padding: 0 12rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 10rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | .label { |
| | | color: #666666; |
| | | width: 92rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .address { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | |
| | | .label { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | width: 150rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .separate { |
| | | width: 750rpx; |
| | | height: 2rpx; |
| | | margin: 30rpx -30rpx; |
| | | border: 1rpx solid #e5e5e5; |
| | | } |
| | | |
| | | .id_card { |
| | | display: flex; |
| | | font-weight: 600; |
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | width: 220rpx; |
| | | margin-bottom: 15rpx; |
| | | |
| | | text { |
| | | &:nth-of-type(1) { |
| | | background: #e9f5f6; |
| | | padding: 0 12rpx; |
| | | } |
| | | |
| | | &:nth-of-type(2) { |
| | | padding-left: 10rpx; |
| | | } |
| | | |
| | | &:nth-of-type(4) { |
| | | padding-right: 6rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | "dayjs": "^1.11.11", |
| | | "echarts": "^5.5.1", |
| | | "pinia": "^2.1.7", |
| | | "postcss-px2rem": "^0.3.0", |
| | | "postcss-plugin-px2rem": "^0.8.1", |
| | | "px2rem-loader": "^0.1.9", |
| | | "uqrcodejs": "^4.0.7", |
| | | "v-scale-screen": "^2.0.0", |
| | |
| | | "node": "^10 || ^12 || >=14" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem": { |
| | | "version": "0.3.0", |
| | | "resolved": "https://registry.npmjs.org/postcss-px2rem/-/postcss-px2rem-0.3.0.tgz", |
| | | "integrity": "sha512-ACZRimmOEDma0L/sI5ENREY3BoYB4LNME9iM9VcZU2t598OB9KLEPDYX8JBohNsvwJ+Nvlvk3IcGm0bRqOBC/Q==", |
| | | "node_modules/postcss-plugin-px2rem": { |
| | | "version": "0.8.1", |
| | | "resolved": "https://registry.npmjs.org/postcss-plugin-px2rem/-/postcss-plugin-px2rem-0.8.1.tgz", |
| | | "integrity": "sha512-gNxhrnR57pnGrPLLqVNWY9+BWgj46kYkphw+0gpRJf9tjgwI7/tLqQPK7KdlksB2SSAddOb11otDVwri8b8mXw==", |
| | | "dependencies": { |
| | | "postcss": "^5.0.0", |
| | | "px2rem": "~0.5.0" |
| | | "postcss": "^5.0.21" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/ansi-styles": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/ansi-styles": { |
| | | "version": "2.2.1", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", |
| | | "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/chalk": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/chalk": { |
| | | "version": "1.1.3", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", |
| | | "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/chalk/node_modules/supports-color": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/chalk/node_modules/supports-color": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", |
| | | "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", |
| | |
| | | "node": ">=0.8.0" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/has-flag": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/has-flag": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", |
| | | "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/postcss": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/postcss": { |
| | | "version": "5.2.18", |
| | | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", |
| | | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", |
| | |
| | | "node": ">=0.12" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/source-map": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/source-map": { |
| | | "version": "0.5.7", |
| | | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", |
| | | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/postcss-px2rem/node_modules/supports-color": { |
| | | "node_modules/postcss-plugin-px2rem/node_modules/supports-color": { |
| | | "version": "3.2.3", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", |
| | | "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", |
| | |
| | | "dayjs": "^1.11.11", |
| | | "echarts": "^5.5.1", |
| | | "pinia": "^2.1.7", |
| | | "postcss-px2rem": "^0.3.0", |
| | | "postcss-plugin-px2rem": "^0.8.1", |
| | | "px2rem-loader": "^0.1.9", |
| | | "uqrcodejs": "^4.0.7", |
| | | "v-scale-screen": "^2.0.0", |
| | |
| | | |
| | | // remçæ¯éé
é
ç½®æä»¶ |
| | | // åºåå¤§å° |
| | | const baseSize = 14 |
| | | const baseSize = 16 |
| | | // 设置 rem 彿° |
| | | function setRem() { |
| | | // å½å页é¢å®½åº¦ç¸å¯¹äº 1920宽çç¼©æ¾æ¯ä¾ï¼å¯æ ¹æ®èªå·±éè¦ä¿®æ¹ã |
| | |
| | | var qr = new UQRCode() |
| | | // 设置äºç»´ç å
容 |
| | | qr.data = qrcode.value |
| | | qr.size = 220 |
| | | qr.size = 268 |
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³ |
| | | qr.make() |
| | | var canvas = document.getElementById("qrcode") |
| | |
| | | </div> |
| | | <div class="qrcode_wrap"> |
| | | <div class="qrcode"> |
| | | <canvas id="qrcode" width="220" height="220"></canvas> |
| | | <canvas id="qrcode" width="268" height="268"></canvas> |
| | | </div> |
| | | <div class="title">请æ«ç ç¾å°</div> |
| | | </div> |
| | |
| | | justify-content: center; |
| | | |
| | | .qrcode { |
| | | padding: 6px; |
| | | padding: 6px 6px 4px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | |
| | | import { defineConfig } from 'vite' |
| | | import vue from '@vitejs/plugin-vue' |
| | | import VueDevTools from 'vite-plugin-vue-devtools' |
| | | //é
ç½®åæ° |
| | | |
| | | // https://vitejs.dev/config/ |
| | | export default defineConfig({ |
| | | plugins: [ |
| | | vue(), |
| | |
| | | '@': fileURLToPath(new URL('./src', import.meta.url)) |
| | | } |
| | | }, |
| | | css: { |
| | | |
| | | }, |
| | | build: { |
| | | outDir: 'platform_screen' |
| | | }, |