| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_content"> |
| | | <view class="title" @click="showPlatformgroup = true" |
| | | >{{ activePlatformGroup.name }}<u-icon |
| | | name="arrow-down" |
| | | size="20" |
| | | class="ml12" |
| | | color="#999999" |
| | | ></u-icon |
| | | ></view> |
| | | <view class="platform_list"> |
| | | <view |
| | | class="item" |
| | | :class="{ active: item.id === activePlatformId }" |
| | | v-for="(item, index) in activePlatformGroup.platformList" |
| | | :key="index" |
| | | @click="platformClick(item.id)" |
| | | >{{ item.name }}</view |
| | | > |
| | | </view> |
| | | <view class="status_wrap"> |
| | | <view class="status" |
| | | >作业:<text>{{ platformTaskInfo.workNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >已叫:<text>{{ platformTaskInfo.callNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >等待:<text>{{ platformTaskInfo.waitNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >异常:<text>{{ platformTaskInfo.exceptionNum }}</text></view |
| | | > |
| | | </view> |
| | | </view> |
| | | <!-- --> |
| | | <view v-if="true" class="platform_ing"> |
| | | <view class="head"> |
| | | <view class="code"> |
| | | <text>皖</text> |
| | | <text>AD1212</text> |
| | | </view> |
| | | <view class="status">叫号中</view> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">运输单号</text> |
| | | <text class="value">11111</text> |
| | | <text class="primaryColor" @click="handleDetail()">运单详情</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">总运输量</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶员</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="btns"> |
| | | <view class="btn">过号</view> |
| | | <view class="btn" @click="handleTransform">转移月台</view> |
| | | <view class="btn active">开始作业</view> |
| | | </view> |
| | | </view> |
| | | <image |
| | | v-if="true" |
| | | class="empty" |
| | | src="@/static/default_nodata@2x.png" |
| | | mode="widthFix" |
| | | ></image> |
| | | <!-- --> |
| | | <view class="main_footer"> |
| | | <view class="btn">入园叫号</view> |
| | | <view class="btn active" @click="PlatformCallClick">月台叫号</view> |
| | | </view> |
| | | <!-- 叫号 --> |
| | | <u-popup |
| | | :show="showPlatformCall" |
| | | closeable |
| | | safeAreaInsetTop |
| | | round="10" |
| | | @close="showPlatformCall = false" |
| | | > |
| | | <view class="PlatformCallModal"> |
| | | <view class="title">月台叫号(1号月台)</view> |
| | | <view class="input_wrap"> |
| | | <u-icon name="search" class="mr12" size="19" color="#999999" /> |
| | | <input |
| | | type="text" |
| | | placeholder="搜索车辆牌照" |
| | | placeholder-class="placeholder9" |
| | | /> |
| | | </view> |
| | | <view class="order_list"> |
| | | <scroll-view scroll-y="true" class="scroll_view"> |
| | | <view class="platform_ing" v-for="i in 8"> |
| | | <view class="head"> |
| | | <view class="code"> |
| | | <text>皖</text> |
| | | <text>AD1212</text> |
| | | </view> |
| | | <view class="status">叫号中</view> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">运输单号</text> |
| | | <text class="value">11111</text> |
| | | <text class="primaryColor">运单详情</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶员</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">总运输量</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">运输公司</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="btns"> |
| | | <view class="btn active">叫号</view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <!-- 运单详情 --> |
| | | <u-popup |
| | | :show="showDetail" |
| | | closeable |
| | | safeAreaInsetTop |
| | | round="10" |
| | | @close="showDetail = false" |
| | | > |
| | | <view class="PlatformCallModal"> |
| | | <view class="title">运单详情</view> |
| | | <view class="platform_ing" style="padding: 0"> |
| | | <view class="head"> |
| | | <view class="code"> |
| | | <text>皖</text> |
| | | <text>AD1212</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">运输单号</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶员</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">总运输量</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">运输公司</text> |
| | | <text class="value">11111</text> |
| | | </view> |
| | | </view> |
| | | <view class="detail_list"> |
| | | <view class="item"> |
| | | <view class="orderId">合同编号:{{ 111 }}</view> |
| | | <view class="addr">收货地:{{ 111 }}</view> |
| | | <view class="content"> |
| | | <view class="line" |
| | | ><view class="label">物料:</view |
| | | ><view class="value">黄山</view></view |
| | | > |
| | | <view class="line" |
| | | ><view class="label">数量:</view |
| | | ><view class="value">黄山</view></view |
| | | > |
| | | <view class="line" |
| | | ><view class="label">物料:</view |
| | | ><view class="value">黄山</view></view |
| | | > |
| | | <view class="line" |
| | | ><view class="label">数量:</view |
| | | ><view class="value">黄山</view></view |
| | | > |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <!-- 转移月台 --> |
| | | <u-popup |
| | | :show="showTransform" |
| | | closeable |
| | | safeAreaInsetTop |
| | | round="10" |
| | | @close="showTransform = false" |
| | | > |
| | | <view class="PlatformCallModal TransformModal"> |
| | | <view class="title">转移月台</view> |
| | | <view class="transform_list"> |
| | | <view class="line" v-for="item,index in 9"> |
| | | <view class="name">1号月台</view> |
| | | <view class="status">(空闲)</view> |
| | | <image v-if="index == 1" src="@/static/ic_select@2x.png" class="checked" /> |
| | | </view> |
| | | </view> |
| | | <view class="btns"> |
| | | <view class="btn" @click="showTransform = false">取消</view> |
| | | <view class="btn active">确定</view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <!-- --> |
| | | <u-picker :show="showPlatformgroup" keyName="name" :columns="[platformGroupList]" @cancel="showPlatformgroup = false" @confirm="platConfirm"></u-picker> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPlatformGroupList, getPlatformWorkData } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | showPlatformCall: false, // 月台叫号 |
| | | showDetail: false, |
| | | showTransform: false, // 转移 |
| | | showPlatformgroup: false, |
| | | |
| | | platformGroupList: [], |
| | | activePlatformGroup: {}, |
| | | platformTaskInfo: {}, |
| | | activePlatformId: '', |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.getPlatformGroup() |
| | | }, |
| | | methods: { |
| | | getPlatformGroup() { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 0 |
| | | }).then(res => { |
| | | this.platformGroupList = res.data || [] |
| | | if(this.platformGroupList.length > 0){ |
| | | this.activePlatformGroup = this.platformGroupList[0] |
| | | if(this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0){ |
| | | this.activePlatformId = this.activePlatformGroup.platformList[0].id |
| | | this.getPlatformTask() |
| | | } |
| | | } |
| | | }) |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="main_content">
|
| | | <view class="title" @click="showPlatformgroup = true">{{ activePlatformGroup.name
|
| | | }}<u-icon name="arrow-down" size="20" class="ml12" color="#999999"></u-icon></view>
|
| | | <view class="platform_list">
|
| | | <view class="item" :class="{ active: item.id === activePlatform.id }"
|
| | | v-for="(item, index) in activePlatformGroup.platformList" :key="index" @click="platformClick(item)">
|
| | | {{ item.name }}
|
| | | </view>
|
| | | </view>
|
| | | <view class="status_wrap">
|
| | | <view class="status">作业:<text>{{ platformTaskInfo.workNum }}</text></view>
|
| | | <view class="status">已叫:<text>{{ platformTaskInfo.callNum }}</text></view>
|
| | | <view class="status">等待:<text>{{ platformTaskInfo.waitNum }}</text></view>
|
| | | <view class="status">异常:<text>{{ platformTaskInfo.exceptionNum }}</text></view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view style="padding-bottom: 140rpx">
|
| | | <view v-for="item in platformTaskInfo.platformJobList" :key="item.id" class="platform_ing">
|
| | | <view class="head">
|
| | | <view class="code">
|
| | | <text>{{ item.carCodeFront.slice(0, 1) }}</text>
|
| | | <text>{{ item.carCodeFront.slice(1, 2) }}</text>
|
| | | <text>·</text>
|
| | | <text>{{ item.carCodeFront.slice(2) }}</text>
|
| | | </view>
|
| | | <view class="status" v-if="item.status != 4 && item.status != 5" :class="{ red: item.status == 8 }">
|
| | | {{ statusMap[item.status] }}
|
| | | </view>
|
| | | <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.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>
|
| | | <text class="primaryColor" @click="subDetail(item)">预约详情</text>
|
| | | </view> |
| | | <view class="line line2" v-if="item.billCode && item.wmsContractNum"> |
| | | <text class="label">合同单号</text> |
| | | <text class="value">{{ item.wmsContractNum }}</text> |
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶员</text>
|
| | | <text class="value">{{ item.driverName }} {{ item.drivierPhone }}</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">总运输量</text>
|
| | | <text class="value">{{ item.totalNum || item.ioQty}}万支</text>
|
| | | </view>
|
| | | <view class="line" v-if="item.carrierName">
|
| | | <text class="label">运输公司</text>
|
| | | <text class="value">{{ item.carrierName }}</text>
|
| | | </view>
|
| | | <view class="btns">
|
| | | <view v-if="item.status == 4" class="btn" @click="handlePass(item)">过号</view>
|
| | | <view v-if="item.status == 4" class="btn active" @click="handleWork(item)">开始作业</view>
|
| | |
|
| | | <view v-if="item.status == 5" class="btn" @click="handleErr(item)">异常挂起</view>
|
| | | <view v-if="item.status == 5 || item.status == 8" class="btn" @click="handleTransform(item)">转移月台</view>
|
| | | <view v-if="item.status == 5 || item.status == 8" class="btn active" @click="handleFinish(item)">作业完成</view>
|
| | | </view>
|
| | | </view>
|
| | | <view v-if="!platformTaskInfo.platformJobList || platformTaskInfo.platformJobList.length == 0" class="empty_wrap">
|
| | | <image src="@/static/default_nodata@2x.png" />
|
| | | <text>暂无作业车辆</text>
|
| | | </view>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view class="main_footer">
|
| | | <view class="btn" @click="PlatformCallClick(1)">入园叫号</view>
|
| | | <view class="btn active" @click="PlatformCallClick(2)">月台叫号</view>
|
| | | </view>
|
| | | <!-- 叫号 -->
|
| | | <u-popup :show="showPlatformCall" closeable safeAreaInsetTop round="10" @close="showPlatformCall = false">
|
| | | <view class="PlatformCallModal" :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }">
|
| | | <view class="title" v-if="callType == 2">月台叫号({{ activePlatform.name }})</view>
|
| | | <view class="title" v-else>入园叫号</view>
|
| | | <view class="input_wrap">
|
| | | <u-icon name="search" class="mr12" size="19" color="#999999" />
|
| | | <input v-model="platformCallSearch" type="text" placeholder="搜索车辆牌照" placeholder-class="placeholder9"
|
| | | @confirm="callQuery" />
|
| | | </view> |
| | | <view v-if="platformCallList.length == 0" class="empty_wrap"> |
| | | <image src="@/static/default_nodata@2x.png" /> |
| | | <text>暂无排队车辆</text> |
| | | </view>
|
| | | <view class="order_list">
|
| | | <scroll-view scroll-y="true" @scrolltolower="callScrolltolower" class="scroll_view">
|
| | | <view class="platform_ing" v-for="item in platformCallList" :key="item.id">
|
| | | <view class="head">
|
| | | <view v-if="item.carCodeFront" class="code">
|
| | | <text>{{ item.carCodeFront.slice(0, 1) }}</text>
|
| | | <text>{{ item.carCodeFront.slice(1, 2) }}</text>
|
| | | <text>·</text>
|
| | | <text>{{ item.carCodeFront.slice(2) }}</text>
|
| | | </view>
|
| | | <view class="status" :class="{ scs: item.status == 4 }">{{
|
| | | statusMap[item.status]
|
| | | }}</view>
|
| | | </view>
|
| | | <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>
|
| | | <text class="primaryColor" @click="subDetail(item)">预约详情</text>
|
| | | </view> |
| | | <view class="line line2" v-if="item.billCode && item.wmsContractNum"> |
| | | <text class="label">合同单号</text> |
| | | <text class="value">{{ item.wmsContractNum }}</text> |
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶员</text>
|
| | | <text class="value">{{ item.driverName }} {{ item.drivierPhone }}</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">总运输量</text>
|
| | | <text class="value">{{ item.totalNum || item.ioQty }}万支</text>
|
| | | </view>
|
| | | <view class="line" v-if="item.carrierName">
|
| | | <text class="label">运输公司</text>
|
| | | <text class="value">{{ item.carrierName }}</text>
|
| | | </view>
|
| | | <view class="btns">
|
| | | <view class="btn active" @click="handleCall(item)">叫号</view>
|
| | | </view>
|
| | | </view>
|
| | | </scroll-view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | <!-- 运单详情 -->
|
| | | <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true"
|
| | | mode="bottom" @close="showDetail = false">
|
| | | <view class="detail_modal">
|
| | | <view class="modal_title">运单详情</view>
|
| | | <view v-if="wmsInfo.plateNumber" class="id_card">
|
| | | <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
|
| | | <text>·</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(2) }}</text>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view class="info">
|
| | | <view class="line">
|
| | | <view class="label">运输单号</view>
|
| | | <view class="value">{{ wmsInfo.carryBillCode }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">驾驶员</view>
|
| | | <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">总运输量</view>
|
| | | <view class="value">{{ wmsInfo.ioQty }}万支</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <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>
|
| | | </u-popup>
|
| | | <!-- 转移月台 -->
|
| | | <u-popup :show="showTransform" closeable safeAreaInsetTop round="10" @close="showTransform = false">
|
| | | <view class="TransformModal">
|
| | | <view class="title">转移月台</view>
|
| | | <view class="transform_list">
|
| | | <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList" :key="item.id">
|
| | | <view class="name">{{ item.name || item.platformName}}</view>
|
| | | <view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "空闲" : "作业中" }})
|
| | | </view>
|
| | | <image v-if="transformPlatId == item.id" src="@/static/ic_select@2x.png" class="checked" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="btns">
|
| | | <view class="btn" @click="transformCancel">取消</view>
|
| | | <view class="btn active" @click="transformSub">确定</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | <!-- -->
|
| | | <u-picker :show="showPlatformgroup" keyName="name" :columns="[platformGroupList]"
|
| | | @cancel="showPlatformgroup = false" @confirm="platConfirm"></u-picker>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import {
|
| | | getPlatformGroupList,
|
| | | getPlatformWorkData,
|
| | | platformCallList,
|
| | | platformCallNumber,
|
| | | platformInPark,
|
| | | beginWork,
|
| | | finishWork,
|
| | | platformMove,
|
| | | platformErr,
|
| | | platformOverNumber,
|
| | | wmsJobDetail
|
| | | } from '@/api'
|
| | | import {
|
| | | statusMap
|
| | | } from '@/utils/config.js'
|
| | | import dayjs from 'dayjs'
|
| | | import duration from 'dayjs/plugin/duration'
|
| | | dayjs.extend(duration)
|
| | |
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | statusMap,
|
| | | windowTop: 24,
|
| | | showPlatformCall: false, // 月台叫号
|
| | | showDetail: false,
|
| | | showTransform: false, // 转移
|
| | | showPlatformgroup: false,
|
| | |
|
| | | platformGroupList: [],
|
| | | activePlatformGroup: {},
|
| | | platformTaskInfo: {},
|
| | | activePlatform: {},
|
| | |
|
| | | platformCallList: [], //叫号列表
|
| | | platformCallSearch: '',
|
| | | platformCallTotal: 0,
|
| | | platformCallPage: 1,
|
| | | callType: 1,
|
| | |
|
| | | transformPlatId: '', // 转移记录月台id
|
| | | transformId: '', // 转移记录任务id
|
| | | TransferList: [],
|
| | | wmsInfo: {},
|
| | | timer: null, |
| | | timer1: null,
|
| | | }
|
| | | },
|
| | | onLoad() {
|
| | | this.getPlatformGroup()
|
| | | }, |
| | | getPlatformTask() { |
| | | getPlatformWorkData({platformId: this.activePlatformId}).then(res => { |
| | | this.platformTaskInfo = res.data |
| | | }) |
| | | }, |
| | | platConfirm(e) { |
| | | const index = e.indexs[0] |
| | | this.activePlatformGroup = this.platformGroupList[index] |
| | | if(this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0){ |
| | | this.activePlatformId = this.activePlatformGroup.platformList[0].id |
| | | this.getPlatformTask() |
| | | onHide(){ |
| | | if(this.timer1){ |
| | | clearInterval(this.timer1) |
| | | } |
| | | this.showPlatformgroup =false |
| | | if(this.timer){ |
| | | clearInterval(this.timer) |
| | | } |
| | | }, |
| | | platformClick(id) { |
| | | this.activePlatformId = id |
| | | this.getPlatformTask() |
| | | }, |
| | | handleDetail() { |
| | | this.showDetail = true |
| | | }, |
| | | PlatformCallClick() { |
| | | this.showPlatformCall = true |
| | | }, |
| | | handleTransform() { |
| | | this.showTransform = true |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | .main_app { |
| | | padding: 0rpx; |
| | | height: calc(100vh - 44px); |
| | | font-size: 30rpx; |
| | | color: #333333; |
| | | background: url("@/static/bg_yuetai@2x.png") no-repeat; |
| | | background-size: 100% 100%; |
| | | .main_content { |
| | | background-color: #fff; |
| | | padding: 30rpx; |
| | | .platform_list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | .item { |
| | | width: 210rpx; |
| | | height: 80rpx; |
| | | line-height: 80rpx; |
| | | text-align: center; |
| | | background: #ffffff; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #999999; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | margin-bottom: 20rpx; |
| | | margin-right: 30rpx; |
| | | &:nth-of-type(3n) { |
| | | margin-right: 0; |
| | | } |
| | | } |
| | | .active { |
| | | color: #fff; |
| | | background-color: $uni-color-primary; |
| | | border-color: $uni-color-primary; |
| | | } |
| | | } |
| | | .status_wrap { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-evenly; |
| | | width: 690rpx; |
| | | height: 76rpx; |
| | | margin-top: 4rpx; |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.18); |
| | | border-radius: 8rpx; |
| | | .status { |
| | | color: #666666; |
| | | text { |
| | | color: #111111; |
| | | } |
| | | &:nth-last-child(1) { |
| | | text { |
| | | color: #ed4545; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .title { |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | line-height: 44rpx; |
| | | margin-bottom: 30rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | .platform_ing { |
| | | margin-top: 20rpx; |
| | | padding: 30rpx; |
| | | background-color: #fff; |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 30rpx; |
| | | .code { |
| | | display: flex; |
| | | font-weight: 600; |
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | text { |
| | | padding: 0 12rpx; |
| | | &:nth-of-type(1) { |
| | | background: #e9f5f6; |
| | | } |
| | | } |
| | | } |
| | | .status { |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | .label { |
| | | width: 144rpx; |
| | | color: #666666; |
| | | } |
| | | .value { |
| | | flex: 1; |
| | | } |
| | | } |
| | | .btns { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | .btn { |
| | | width: 210rpx; |
| | | height: 76rpx; |
| | | line-height: 76rpx; |
| | | text-align: center; |
| | | background: #ffffff; |
| | | border-radius: 40rpx; |
| | | border: 1rpx solid #999999; |
| | | margin-left: 20rpx; |
| | | } |
| | | .active { |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | border-color: $uni-color-primary; |
| | | } |
| | | } |
| | | } |
| | | .empty { |
| | | width: 220rpx; |
| | | margin: 160rpx auto; |
| | | } |
| | | .main_footer { |
| | | width: 750rpx; |
| | | height: 136rpx; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | padding: 24rpx 30rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 32rpx; |
| | | background-color: #fff; |
| | | .btn { |
| | | width: 224rpx; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | text-align: center; |
| | | background: #ffffff; |
| | | border-radius: 44rpx; |
| | | color: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary; |
| | | } |
| | | .active { |
| | | width: 436rpx; |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | border-color: $uni-color-primary; |
| | | } |
| | | } |
| | | } |
| | | .PlatformCallModal { |
| | | height: calc(100vh - 50px); |
| | | padding: 30rpx; |
| | | .title { |
| | | text-align: center; |
| | | margin: 0 0 30rpx; |
| | | } |
| | | .input_wrap { |
| | | display: flex; |
| | | align-items: center; |
| | | width: 690rpx; |
| | | height: 76rpx; |
| | | background: #f7f7f7; |
| | | border-radius: 38rpx; |
| | | padding: 0 30rpx; |
| | | } |
| | | .order_list { |
| | | height: calc(100% - 120rpx); |
| | | .scroll_view { |
| | | height: 100%; |
| | | } |
| | | .platform_ing { |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfe2e8; |
| | | } |
| | | } |
| | | .detail_list { |
| | | border-top: 1rpx solid #e5e5e5; |
| | | padding: 30rpx 0; |
| | | .orderId { |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 14rpx; |
| | | } |
| | | .addr { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .content { |
| | | width: 100%; |
| | | padding: 20rpx; |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | &:nth-of-type(2n) { |
| | | padding-bottom: 20rpx; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | } |
| | | &:last-child { |
| | | padding-bottom: 0rpx; |
| | | border-bottom: none; |
| | | } |
| | | .label { |
| | | font-size: 28rpx; |
| | | color: #666666; |
| | | width: 88rpx; |
| | | } |
| | | .value { |
| | | font-size: 28rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .transform_list { |
| | | height: 760rpx; |
| | | margin-bottom: 30rpx; |
| | | overflow: auto; |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding-bottom: 30rpx; |
| | | margin-bottom: 30rpx; |
| | | .name { |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | } |
| | | .status { |
| | | flex: 1; |
| | | font-size: 28rpx; |
| | | color: $uni-color-primary; |
| | | margin-left: 12rpx; |
| | | } |
| | | .checked { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | } |
| | | } |
| | | } |
| | | .btns { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .btn { |
| | | width: 336rpx; |
| | | height: 88rpx; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid $uni-color-primary; |
| | | color: $uni-color-primary; |
| | | font-size: 32rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | .active{ |
| | | color: #fff; |
| | | background-color: $uni-color-primary; |
| | | } |
| | | } |
| | | } |
| | | .TransformModal{ |
| | | height: 1000rpx; |
| | | } |
| | | onUnload(){ |
| | | if(this.timer1){ |
| | | clearInterval(this.timer1) |
| | | } |
| | | if(this.timer){ |
| | | clearInterval(this.timer) |
| | | } |
| | | },
|
| | | methods: {
|
| | | getTransferList() {
|
| | | getPlatformGroupList({
|
| | | queryData: 1,
|
| | | queryType: 1
|
| | | }).then(res => {
|
| | | const platformGroupList = res.data || []
|
| | | if (platformGroupList.length > 0) {
|
| | | const {
|
| | | activePlatformGroup
|
| | | } = this
|
| | | const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
|
| | | this.TransferList = temp.platformList || []
|
| | | }
|
| | | })
|
| | | },
|
| | | getPlatformGroup() {
|
| | | getPlatformGroupList({
|
| | | queryData: 1,
|
| | | queryType: 1
|
| | | }).then(res => {
|
| | | this.platformGroupList = res.data || []
|
| | | if (this.platformGroupList.length > 0) {
|
| | | this.activePlatformGroup = this.platformGroupList[0]
|
| | | if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
|
| | | this.activePlatform = this.activePlatformGroup.platformList[0]
|
| | | this.getPlatformTask()
|
| | | this.timer = setInterval(() => {
|
| | | this.getPlatformTask()
|
| | | }, 120 * 1000)
|
| | | }
|
| | | }
|
| | | })
|
| | | },
|
| | | getPlatformTask() { |
| | | if(this.timer1){ |
| | | clearInterval(this.timer1) |
| | | }
|
| | | getPlatformWorkData({
|
| | | platformId: this.activePlatform.id
|
| | | }).then(res => {
|
| | | this.platformTaskInfo = res.data |
| | | this.currentDate = new Date(res.data.currentDate).getTime()
|
| | | this.circulInitTaskList() |
| | | this.currentDate = this.currentDate + 1000
|
| | | this.timer1 = setInterval(() => {
|
| | | this.circulInitTaskList() |
| | | this.currentDate = this.currentDate + 1000
|
| | | }, 1000)
|
| | | }, () => {})
|
| | | },
|
| | | circulInitTaskList() { |
| | | let time = this.currentDate
|
| | | if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
|
| | | .length > 0) {
|
| | | this.platformTaskInfo.platformJobList.forEach(item => { |
| | | if(item.wmsContractNum){ |
| | | item.wmsContractNum = item.wmsContractNum.split(',').join(',') |
| | | }
|
| | | if (item.newCallDate) { |
| | | let timeNum = 0 |
| | | if(time > new Date(item.newCallDate).getTime()){ |
| | | timeNum = time - new Date(item.newCallDate).getTime() |
| | | }else{ |
| | | timeNum = 0 |
| | | }
|
| | | if (timeNum > 3600000) {
|
| | | item.callDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
|
| | | } else {
|
| | | item.callDateTemp = dayjs.duration(timeNum).format('m分s秒')
|
| | | }
|
| | | }
|
| | | if (item.newStartDate) { |
| | | let timeNum = 0 |
| | | if(time > new Date(item.newStartDate).getTime()){ |
| | | timeNum = time - new Date(item.newStartDate).getTime() |
| | | }else{ |
| | | timeNum = 0 |
| | | }
|
| | | if (timeNum > 3600000) {
|
| | | item.startDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
|
| | | } else {
|
| | | item.startDateTemp = dayjs.duration(timeNum).format('m分s秒')
|
| | | }
|
| | | }
|
| | | })
|
| | | this.$forceUpdate()
|
| | | }
|
| | | },
|
| | | platConfirm(e) {
|
| | | const index = e.indexs[0]
|
| | | this.activePlatformGroup = this.platformGroupList[index]
|
| | | if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
|
| | | this.activePlatform = this.activePlatformGroup.platformList[0]
|
| | | this.getPlatformTask()
|
| | | clearInterval(this.timer)
|
| | | this.timer = setInterval(() => {
|
| | | this.getPlatformTask()
|
| | | }, 60 * 1000)
|
| | | }
|
| | | this.showPlatformgroup = false
|
| | | },
|
| | | platformClick(item) {
|
| | | this.activePlatform = item
|
| | | this.getPlatformTask()
|
| | | },
|
| | | handleDetail(param) {
|
| | | wmsJobDetail({
|
| | | id: param.id
|
| | | }).then(res => {
|
| | | this.wmsInfo = res.data
|
| | | this.showDetail = true
|
| | | })
|
| | | },
|
| | | subDetail(item) {
|
| | | uni.navigateTo({
|
| | | url: `/pages/index/SubDetail?id=${item.bookId}`
|
| | | })
|
| | | },
|
| | | handleFinish(item) {
|
| | | finishWork({
|
| | | jobId: item.id
|
| | | }).then(res => {
|
| | | if (res && res.code == 200) {
|
| | | this.showToast('完成作业')
|
| | | this.getPlatformTask()
|
| | | }
|
| | | })
|
| | | },
|
| | | handleWork(item) { // 开始作业
|
| | | beginWork({
|
| | | jobId: item.id
|
| | | }).then(res => {
|
| | | if (res && res.code == 200) {
|
| | | this.showToast('已开始作业')
|
| | | this.getPlatformTask()
|
| | | }
|
| | | })
|
| | | },
|
| | | handlePass(item) {
|
| | | uni.showModal({
|
| | | content: `确认 ${item.carCodeFront}置为过号吗?过号后,需要重新签到才能进入园区`,
|
| | | success: (res) => {
|
| | | if (res.confirm) {
|
| | | platformOverNumber({
|
| | | jobId: item.id,
|
| | | platformId: this.activePlatform.id
|
| | | }).then(res => {
|
| | | this.showToast('过号成功')
|
| | | this.getPlatformTask()
|
| | | })
|
| | | }
|
| | | }
|
| | | })
|
| | |
|
| | | },
|
| | | handleCall(item) {
|
| | | const {
|
| | | callType,
|
| | | activePlatform
|
| | | } = this
|
| | | this.platformCallList = []
|
| | | this.platformCallPage = 1
|
| | | if (callType == 1) { // 入园叫号
|
| | | platformInPark({
|
| | | jobId: item.id,
|
| | | platformId: activePlatform.id
|
| | | }).then(res => { |
| | | if (res && res.code == 200) { |
| | | this.showToast('叫号成功') |
| | | this.getPlatformCallList() |
| | | }
|
| | | |
| | | })
|
| | | } else { // 月台叫号
|
| | | platformCallNumber({
|
| | | platformId: activePlatform.id,
|
| | | jobId: item.id
|
| | | }).then(res => { |
| | | if (res && res.code == 200) { |
| | | this.showToast('叫号成功') |
| | | this.getPlatformCallList() |
| | | this.getPlatformTask() |
| | | }
|
| | | |
| | | })
|
| | | }
|
| | | },
|
| | | PlatformCallClick(callType) {
|
| | | this.callType = callType
|
| | | this.showPlatformCall = true
|
| | | this.platformCallList = []
|
| | | this.platformCallPage = 1
|
| | | this.platformCallSearch = ''
|
| | | this.getPlatformCallList()
|
| | | },
|
| | | callQuery() {
|
| | | this.platformCallList = []
|
| | | this.platformCallPage = 1
|
| | | this.getPlatformCallList()
|
| | | },
|
| | | callScrolltolower() {
|
| | | const {
|
| | | platformCallTotal,
|
| | | platformCallList
|
| | | } = this
|
| | | if (platformCallTotal > platformCallList.length) {
|
| | | this.getPlatformCallList()
|
| | | }
|
| | | },
|
| | | getPlatformCallList() {
|
| | | const {
|
| | | platformCallPage,
|
| | | callType,
|
| | | activePlatform,
|
| | | platformCallSearch
|
| | | } = this
|
| | | platformCallList({
|
| | | model: {
|
| | | callType,
|
| | | platformId: activePlatform.id,
|
| | | carCodeFront: platformCallSearch
|
| | | },
|
| | | capacity: 10,
|
| | | page: platformCallPage
|
| | | }).then(res => {
|
| | | if (res.data && res.data.records) {
|
| | | this.platformCallList = [...this.platformCallList, ...res.data.records] |
| | | this.platformCallList.forEach(item => { |
| | | if(item.wmsContractNum){ |
| | | item.wmsContractNum = item.wmsContractNum.split(',').join(',') |
| | | } |
| | | })
|
| | | this.platformCallTotal = res.data.total
|
| | | }
|
| | | })
|
| | | },
|
| | | transformPlatClick(item) {
|
| | | this.transformPlatId = item.id
|
| | | },
|
| | | transformCancel() {
|
| | | this.transformPlatId = ''
|
| | | this.showTransform = false
|
| | | },
|
| | | transformSub() {
|
| | | const {
|
| | | transformPlatId,
|
| | | transformId
|
| | | } = this
|
| | | platformMove({
|
| | | platformId: transformPlatId,
|
| | | jobId: transformId
|
| | | }).then(res => {
|
| | | this.showToast('转移月台成功')
|
| | | this.transformCancel()
|
| | | this.getPlatformTask()
|
| | | })
|
| | | },
|
| | | handleTransform(item) {
|
| | | let {
|
| | | activePlatform
|
| | | } = this
|
| | | this.transformId = item.id
|
| | | this.transformPlatId = activePlatform.id
|
| | | this.getTransferList()
|
| | | this.showTransform = true
|
| | | },
|
| | | handleErr(item) {
|
| | | uni.showModal({
|
| | | content: '您确认要对该任务进行异常挂起吗',
|
| | | success: (res) => {
|
| | | if (res.confirm) {
|
| | | platformErr({
|
| | | jobId: item.id
|
| | | }).then(ress => {
|
| | | this.showToast('异常挂起成功')
|
| | | this.getPlatformTask()
|
| | | })
|
| | | }
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | | <style lang="scss">
|
| | | page {
|
| | | background-color: #f1f2f2;
|
| | | }
|
| | |
|
| | | .main_app {
|
| | | padding: 0rpx;
|
| | | height: calc(100vh - 44px);
|
| | | font-size: 30rpx;
|
| | | color: #333333;
|
| | | background: url("@/static/bg_yuetai@2x.png") no-repeat;
|
| | | background-size: 100% 100%;
|
| | |
|
| | | .main_content {
|
| | | background-color: #fff;
|
| | | padding: 30rpx;
|
| | |
|
| | | .platform_list {
|
| | | display: flex;
|
| | | flex-wrap: wrap;
|
| | |
|
| | | .item {
|
| | | width: 220rpx;
|
| | | height: 80rpx;
|
| | | line-height: 80rpx;
|
| | | text-align: center;
|
| | | background: #ffffff;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #999999;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | margin-bottom: 15rpx;
|
| | | margin-right: 15rpx;
|
| | | white-space: nowrap;
|
| | | overflow: hidden;
|
| | | text-overflow: ellipsis;
|
| | |
|
| | | &:nth-of-type(3n) {
|
| | | margin-right: 0;
|
| | | }
|
| | | }
|
| | |
|
| | | .active {
|
| | | color: #fff;
|
| | | background-color: $uni-color-primary;
|
| | | border-color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | |
|
| | | .status_wrap {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: space-evenly;
|
| | | width: 690rpx;
|
| | | height: 76rpx;
|
| | | margin-top: 4rpx;
|
| | | background: #ffffff;
|
| | | box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.18);
|
| | | border-radius: 8rpx;
|
| | |
|
| | | .status {
|
| | | color: #666666;
|
| | |
|
| | | text {
|
| | | color: #111111;
|
| | | }
|
| | |
|
| | | &:nth-last-child(1) {
|
| | | text {
|
| | | color: #ed4545;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 500;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | line-height: 44rpx;
|
| | | margin-bottom: 30rpx;
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | }
|
| | | }
|
| | |
|
| | | .platform_ing {
|
| | | margin-top: 20rpx;
|
| | | padding: 30rpx;
|
| | | background-color: #fff;
|
| | |
|
| | | .head {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | margin-bottom: 30rpx;
|
| | |
|
| | | .code {
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | 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;
|
| | | height: 100%;
|
| | |
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | | padding: 0 12rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 4rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .status {
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | }
|
| | |
|
| | | .scs {
|
| | | color: #00ba67;
|
| | | }
|
| | | }
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .label {
|
| | | width: 132rpx;
|
| | | color: #666666; |
| | | flex-shrink: 0;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1; |
| | | display: flex; |
| | | flex-wrap: wrap;
|
| | | }
|
| | | }
|
| | |
|
| | | .btns {
|
| | | display: flex;
|
| | | justify-content: flex-end;
|
| | |
|
| | | .btn {
|
| | | width: 210rpx;
|
| | | height: 76rpx;
|
| | | line-height: 76rpx;
|
| | | text-align: center;
|
| | | background: #ffffff;
|
| | | border-radius: 40rpx;
|
| | | border: 1rpx solid #999999;
|
| | | margin-left: 20rpx;
|
| | | }
|
| | |
|
| | | .active {
|
| | | background-color: $uni-color-primary;
|
| | | color: #fff;
|
| | | border-color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .empty {
|
| | | width: 220rpx;
|
| | | margin: 160rpx auto;
|
| | | }
|
| | |
|
| | | .main_footer {
|
| | | width: 750rpx;
|
| | | height: 136rpx;
|
| | | position: fixed;
|
| | | bottom: 0;
|
| | | left: 0;
|
| | | padding: 24rpx 30rpx;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | font-size: 32rpx;
|
| | | background-color: #fff;
|
| | |
|
| | | .btn {
|
| | | width: 224rpx;
|
| | | height: 88rpx;
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | background: #ffffff;
|
| | | border-radius: 44rpx;
|
| | | color: $uni-color-primary;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | }
|
| | |
|
| | | .active {
|
| | | width: 436rpx;
|
| | | background-color: $uni-color-primary;
|
| | | color: #fff;
|
| | | border-color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .PlatformCallModal {
|
| | | height: calc(100vh - 44px);
|
| | | padding: 30rpx;
|
| | |
|
| | | .title {
|
| | | text-align: center;
|
| | | margin: 0 0 30rpx;
|
| | | }
|
| | |
|
| | | .input_wrap {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | width: 690rpx;
|
| | | height: 76rpx;
|
| | | background: #f7f7f7;
|
| | | border-radius: 38rpx;
|
| | | padding: 0 30rpx;
|
| | | }
|
| | |
|
| | | .order_list {
|
| | | 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;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .detail_list {
|
| | | border-top: 1rpx solid #e5e5e5;
|
| | | padding: 30rpx 0;
|
| | |
|
| | | .orderId {
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-bottom: 14rpx;
|
| | | }
|
| | |
|
| | | .addr {
|
| | | font-size: 26rpx;
|
| | | color: #666666;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | |
|
| | | .content {
|
| | | width: 100%;
|
| | | padding: 20rpx;
|
| | | background: #f7f7f7;
|
| | | border-radius: 8rpx;
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | &:nth-of-type(2n) {
|
| | | padding-bottom: 20rpx;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | }
|
| | |
|
| | | &:last-child {
|
| | | padding-bottom: 0rpx;
|
| | | border-bottom: none;
|
| | | }
|
| | |
|
| | | .label {
|
| | | font-size: 28rpx;
|
| | | color: #666666;
|
| | | width: 88rpx; |
| | | flex-shrink: 0;
|
| | | }
|
| | |
|
| | | .value {
|
| | | font-size: 28rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .btns {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: space-between;
|
| | |
|
| | | .btn {
|
| | | width: 336rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 44rpx;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | color: $uni-color-primary;
|
| | | font-size: 32rpx;
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | }
|
| | |
|
| | | .active {
|
| | | color: #fff;
|
| | | background-color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .TransformModal {
|
| | | height: 900rpx;
|
| | | padding: 30rpx;
|
| | | position: relative;
|
| | |
|
| | | .title {
|
| | | text-align: center;
|
| | | margin: 0 0 30rpx;
|
| | | }
|
| | |
|
| | | .btns {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: space-between;
|
| | | position: absolute;
|
| | | z-index: 999;
|
| | | left: 30rpx;
|
| | | bottom: 30rpx;
|
| | |
|
| | | .btn {
|
| | | width: 336rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 44rpx;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | color: $uni-color-primary;
|
| | | font-size: 32rpx;
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | }
|
| | |
|
| | | .active {
|
| | | color: #fff;
|
| | | margin-left: 18rpx;
|
| | | background-color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | |
|
| | | .transform_list {
|
| | | height: 660rpx;
|
| | | margin-bottom: 30rpx;
|
| | | overflow: auto;
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | padding-bottom: 30rpx;
|
| | | margin-bottom: 30rpx;
|
| | |
|
| | | .name {
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | }
|
| | |
|
| | | .status {
|
| | | flex: 1;
|
| | | font-size: 28rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-left: 12rpx;
|
| | | }
|
| | |
|
| | | .green {
|
| | | color: #00ba67;
|
| | | }
|
| | |
|
| | | .checked {
|
| | | width: 40rpx;
|
| | | height: 40rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .detail_modal {
|
| | | 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;
|
| | | }
|
| | |
|
| | | .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;
|
| | |
|
| | | .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;
|
| | | }
|
| | |
|
| | | .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;
|
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | .line2{ |
| | | margin-right: -30rpx; |
| | | padding-right: 0; |
| | | }
|
| | | </style> |