2023-09-23 20:16:54 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="app">
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<head-view title="卸船指令"></head-view>
|
|
|
|
|
<view class="content contentFixed">
|
2023-09-23 20:16:54 +08:00
|
|
|
|
<custom-tabs type="c1" :value="tabsValue" @change="changeTabs">
|
|
|
|
|
<custom-tab-pane label="总指令" name="c1_1">
|
|
|
|
|
<view></view>
|
|
|
|
|
<view class="main">
|
|
|
|
|
<view class="form">
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
|
|
|
|
|
placeholder="船名/航次/提单号" @iconClick="search"></uni-easyinput>
|
|
|
|
|
<superwei-combox class="input" :candidates="brandList" :isJSON="true" keyName="brdName"
|
|
|
|
|
placeholder="品牌" v-model="brdName" @select="brandSelect"></superwei-combox>
|
|
|
|
|
<superwei-combox class="input" :candidates="bvmList" :isJSON="true" keyName="name"
|
|
|
|
|
placeholder="车型" v-model="bvmName" @select="bvmSelect"></superwei-combox>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="buttonlist">
|
|
|
|
|
<button class="button" type="default" @click="distribute('center','all')">指令下发</button>
|
|
|
|
|
<button class="button" type="default" @click="ask">卸船要求</button>
|
|
|
|
|
</view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="tjList">
|
|
|
|
|
<view class="tjHead" @click="clickTjHead('zzl')">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<p>总指令进度</p>
|
|
|
|
|
<text>{{zTjList.totalSentCount}}/{{zTjList.totalSum}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<lx-progress-bar title="" :total="zTjList.totalSum" :firstValue="zTjList.totalSentCount"
|
|
|
|
|
:secondValue="zTjList.totalPausedSentCount" contentColor="#0067CF"
|
|
|
|
|
contentColor2="#FC4F00" />
|
|
|
|
|
<view class="bottomInfo">
|
|
|
|
|
<p>已发送<text>{{zTjList.totalSentCount}}</text></p>
|
|
|
|
|
<p>(暂停<text>{{zTjList.totalPausedSentCount}}</text>)</p>
|
|
|
|
|
<p>未发<text>{{zTjList.totalNotSentCount}}</text></p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="imgBox" v-if="zTjType">
|
|
|
|
|
<image src="../../static/images/tjxz.png" mode=""></image>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<template v-for="(item,index) in zTjList.instructionStatisticsList">
|
|
|
|
|
<view class="tjInfo" :key="index" :class="{active:zTjActive == index}"
|
|
|
|
|
@click="clickTjList(item,index,'zzl')">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<p>{{item.titleBar}}</p>
|
|
|
|
|
<text>{{item.totalSentCount}}/{{item.zsum}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<lx-progress-bar title="" :total="item.zsum" :firstValue="item.totalSentCount"
|
|
|
|
|
:secondValue="item.totalNotSentCount" contentColor="#0067CF"
|
|
|
|
|
contentColor2="#FC4F00" />
|
|
|
|
|
<view class="bottomInfo">
|
|
|
|
|
<p>已发送<text>{{item.totalSentCount}}</text></p>
|
|
|
|
|
<p>(暂停<text>{{item.totalPausedSentCount}}</text>)</p>
|
|
|
|
|
<p>未发<text>{{item.totalNotSentCount}}</text></p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="imgBox" v-if="zTjActive == index">
|
|
|
|
|
<image src="../../static/images/tjxz2.png" mode=""></image>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
2023-09-23 20:16:54 +08:00
|
|
|
|
<template v-if="itemList.length > 0">
|
|
|
|
|
<view class="itemList">
|
|
|
|
|
<view class="exp" v-for="(item,index) in itemList" :key="item.index">
|
|
|
|
|
<view class="item">
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<image class="titleImg" src="../../static/images/zlIcon.png"
|
|
|
|
|
mode="widthFix">
|
|
|
|
|
</image>
|
|
|
|
|
<view class="text">
|
|
|
|
|
品牌:{{item.brdName}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="schedule">
|
|
|
|
|
<text class="text">卸船进度</text>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress color="#0067CF" stroke-width="6px" :show-pivot="false"
|
|
|
|
|
track-color="#DEE9F5"
|
|
|
|
|
:percentage="itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)" />
|
|
|
|
|
</view>
|
|
|
|
|
<text>{{itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)}}%</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus0" v-if="item.totalPlanStatus == 0">
|
|
|
|
|
<text class="text">{{item.totalPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus3" v-else-if="item.totalPlanStatus == 3">
|
|
|
|
|
<text class="text">{{item.totalPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus5" v-else-if="item.totalPlanStatus == 5">
|
|
|
|
|
<text class="text">{{item.totalPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus1" v-else>
|
|
|
|
|
<text class="text">{{item.totalPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>车辆数量:</text>
|
|
|
|
|
<text>{{item.vehicleCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>备件数量:</text>
|
|
|
|
|
<text>{{item.sparePartsCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>负责人:</text>
|
|
|
|
|
<text>{{item.responsiblePerson}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>发送时间:</text>
|
|
|
|
|
<text>{{item.totalSendTime}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>总指令发送人:</text>
|
|
|
|
|
<text>{{item.totalSendUser}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-if="itemActive != index" @click="isActive(index)">
|
|
|
|
|
展开
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-else @click="itemActive = '-1'">
|
|
|
|
|
收起
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="details">
|
|
|
|
|
<view class="itemDetails" v-show="itemActive == index">
|
|
|
|
|
<template v-for="(item2,index2) in item.infoList">
|
|
|
|
|
<view class="detailsBox" :key="index2">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<text>{{item2.mnfBl}}</text>
|
|
|
|
|
<button @click="toDetails(item,item2)">详情</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="info">
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>车型:</text>
|
|
|
|
|
<text>{{item2.bvmName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>型号:</text>
|
|
|
|
|
<text>{{item2.model}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>数量:</text>
|
|
|
|
|
<text>{{item2.amount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>场位:</text>
|
|
|
|
|
<text>{{item2.yardPos}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="pageBox" v-if="itemList.length > 0">
|
|
|
|
|
<uni-pagination :show-icon="true" :total="total" :pageSize="pageSize" :current="current"
|
|
|
|
|
@change="changePage" />
|
|
|
|
|
</view>
|
2023-09-23 20:16:54 +08:00
|
|
|
|
</view>
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
<custom-tab-pane label="分指令" name="c1_2">
|
|
|
|
|
<view></view>
|
|
|
|
|
<view class="main">
|
|
|
|
|
<view class="form">
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
|
|
|
|
|
placeholder="船名/航次/提单号" @iconClick="search"></uni-easyinput>
|
|
|
|
|
<superwei-combox class="input" :candidates="brandList" :isJSON="true" keyName="brdName"
|
|
|
|
|
placeholder="品牌" v-model="brdName" @select="brandSelect"></superwei-combox>
|
|
|
|
|
<superwei-combox class="input" :candidates="bvmList" :isJSON="true" keyName="bvmName"
|
|
|
|
|
placeholder="车型" v-model="bvmName" @select="bvmSelect"></superwei-combox>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="buttonlist">
|
|
|
|
|
<button class="button" type="default" @click="distribute('center','solo','')">指令下发</button>
|
|
|
|
|
<button class="button" type="default" @click="ask">卸船要求</button>
|
|
|
|
|
</view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="tjList">
|
|
|
|
|
<view class="tjHead" @click="clickTjHead('fzl')">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<p>分指令进度</p>
|
|
|
|
|
<text>{{zTjList.totalSentCount}}/{{zTjList.branchSum}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<lx-progress-bar title="" :total="zTjList.branchSum"
|
|
|
|
|
:firstValue="zTjList.branchSentCount" :secondValue="zTjList.branchPausedSentCount"
|
|
|
|
|
contentColor="#0067CF" contentColor2="#FC4F00" />
|
|
|
|
|
<view class="bottomInfo">
|
|
|
|
|
<p>已发送<text>{{zTjList.branchSentCount}}</text></p>
|
|
|
|
|
<p>(暂停<text>{{zTjList.branchPausedSentCount}}</text>)</p>
|
|
|
|
|
<p>未发<text>{{zTjList.branchNotSentCount}}</text></p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="imgBox" v-if="zTjType">
|
|
|
|
|
<image src="../../static/images/tjxz.png" mode=""></image>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<template v-for="(item,index) in zTjList.instructionStatisticsList">
|
|
|
|
|
<view class="tjInfo" :key="index" :class="{active:zTjActive == index}"
|
|
|
|
|
@click="clickTjList(item,index,'fzl')">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<p>{{item.titleBar}}</p>
|
|
|
|
|
<text>{{item.totalSentCount}}/{{item.fsum}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<lx-progress-bar title="" :total="item.fsum" :firstValue="item.branchSentCount"
|
|
|
|
|
:secondValue="item.branchPausedSentCount" contentColor="#0067CF"
|
|
|
|
|
contentColor2="#FC4F00" />
|
|
|
|
|
<view class="bottomInfo">
|
|
|
|
|
<p>已发送<text>{{item.branchSentCount}}</text></p>
|
|
|
|
|
<p>(暂停<text>{{item.branchPausedSentCount}}</text>)</p>
|
|
|
|
|
<p>未发<text>{{item.branchNotSentCount}}</text></p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="imgBox" v-if="zTjActive == index">
|
|
|
|
|
<image src="../../static/images/tjxz2.png" mode=""></image>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
2023-09-23 20:16:54 +08:00
|
|
|
|
<custom-tabs type="c2" :value="tabsValue2" @change="changeTabs2">
|
|
|
|
|
<custom-tab-pane label="未发送" name="c2_1">
|
|
|
|
|
<template v-if="itemList.length > 0">
|
|
|
|
|
<checkbox-group @change="checkChange">
|
|
|
|
|
<view class="itemList">
|
|
|
|
|
<view class="exp" v-for="(item,index) in itemList" :key="item.ndex">
|
|
|
|
|
<view class="item">
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<view class="rowHead">
|
|
|
|
|
<checkbox :value="item.lwpId" :checked="false" />
|
|
|
|
|
</view>
|
|
|
|
|
<image class="titleImg" src="../../static/images/zlIcon.png"
|
|
|
|
|
mode="widthFix">
|
|
|
|
|
</image>
|
|
|
|
|
<view class="text">
|
|
|
|
|
品牌:{{item.brdName}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="schedule">
|
|
|
|
|
<text class="text">卸船进度</text>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress color="#0067CF" stroke-width="6px"
|
|
|
|
|
:show-pivot="false" track-color="#DEE9F5"
|
|
|
|
|
:percentage="itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)" />
|
|
|
|
|
</view>
|
|
|
|
|
<text>{{itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)}}%</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus0"
|
|
|
|
|
v-if="item.branchPlanStatus == 0">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus3"
|
|
|
|
|
v-else-if="item.branchPlanStatus == 2">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus5"
|
|
|
|
|
v-else-if="item.branchPlanStatus == 4">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus1" v-else>
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>车辆数量:</text>
|
|
|
|
|
<text>{{item.vehicleCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>备件数量:</text>
|
|
|
|
|
<text>{{item.sparePartsCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>负责人:</text>
|
|
|
|
|
<text>{{item.responsiblePerson}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>发送时间:</text>
|
|
|
|
|
<text>{{item.totalSendTime}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>分指令发送人:</text>
|
|
|
|
|
<text>{{item.totalSendUser}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="xfBtn">
|
|
|
|
|
<view class="btn" @click="distribute('center','solo',item)">指令下发
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-if="itemActive != index"
|
|
|
|
|
@click="isActive(index)">
|
|
|
|
|
展开
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-else @click="itemActive = '-1'">
|
|
|
|
|
收起
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="details">
|
|
|
|
|
<view class="itemDetails" v-show="itemActive == index">
|
|
|
|
|
<template v-for="(item2,index2) in item.infoList">
|
|
|
|
|
<view class="detailsBox" :key="index2">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<text>{{item2.mnfBl}}</text>
|
|
|
|
|
<button @click="toDetails(item,item2)">详情</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="info">
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>中转港:</text>
|
|
|
|
|
<text>{{item2.transitPortName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>品牌:</text>
|
|
|
|
|
<text>{{item2.brdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>车型:</text>
|
|
|
|
|
<text>{{item2.goodsTypeName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>型号:</text>
|
|
|
|
|
<text>{{item2.bvdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</checkbox-group>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
<custom-tab-pane label="已发送" name="c2_2">
|
|
|
|
|
<template v-if="itemList.length > 0">
|
|
|
|
|
<checkbox-group @change="checkChange">
|
|
|
|
|
<view class="itemList">
|
|
|
|
|
<view class="exp" v-for="(item,index) in itemList" :key="item.ndex">
|
|
|
|
|
<view class="item">
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<view class="rowHead">
|
|
|
|
|
<checkbox :value="item.lwpId" :checked="false" />
|
|
|
|
|
</view>
|
|
|
|
|
<image class="titleImg" src="../../static/images/zlIcon.png"
|
|
|
|
|
mode="widthFix">
|
|
|
|
|
</image>
|
|
|
|
|
<view class="text">
|
2023-11-01 18:40:05 +08:00
|
|
|
|
品牌:{{item.brdName}}
|
2023-09-23 20:16:54 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="schedule">
|
|
|
|
|
<text class="text">卸船进度</text>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress color="#0067CF" stroke-width="6px"
|
|
|
|
|
:show-pivot="false" track-color="#DEE9F5"
|
|
|
|
|
:percentage="itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)" />
|
|
|
|
|
</view>
|
|
|
|
|
<text>{{itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)}}%</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus0"
|
|
|
|
|
v-if="item.branchPlanStatus == 0">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus3"
|
|
|
|
|
v-else-if="item.branchPlanStatus == 2">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus5"
|
|
|
|
|
v-else-if="item.branchPlanStatus == 4">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus1" v-else>
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>车辆数量:</text>
|
|
|
|
|
<text>{{item.vehicleCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>备件数量:</text>
|
|
|
|
|
<text>{{item.sparePartsCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>负责人:</text>
|
|
|
|
|
<text>{{item.responsiblePerson}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>发送时间:</text>
|
|
|
|
|
<text>{{item.totalSendTime}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>分指令发送人:</text>
|
|
|
|
|
<text>{{item.totalSendUser}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="xfBtn">
|
|
|
|
|
<view class="btn stopbtn" @click="suspend(item)"
|
|
|
|
|
v-if="item.branchPlanStatus != 4">暂停
|
|
|
|
|
</view>
|
|
|
|
|
<view class="btn stopbtn"
|
|
|
|
|
@click="distribute('center','again',item)"
|
|
|
|
|
v-if="item.branchPlanStatus == 4">重新发送
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-if="itemActive != index"
|
|
|
|
|
@click="isActive(index)">
|
|
|
|
|
展开
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-else @click="itemActive = '-1'">
|
|
|
|
|
收起
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="details">
|
|
|
|
|
<view class="itemDetails" v-show="itemActive == index">
|
|
|
|
|
<template v-for="(item2,index2) in item.infoList">
|
|
|
|
|
<view class="detailsBox" :key="index2">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<text>{{item2.mnfBl}}</text>
|
|
|
|
|
<button @click="toDetails(item,item2)">详情</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="info">
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>中转港:</text>
|
|
|
|
|
<text>{{item2.transitPortName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>品牌:</text>
|
|
|
|
|
<text>{{item2.brdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>车型:</text>
|
|
|
|
|
<text>{{item2.goodsTypeName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>型号:</text>
|
|
|
|
|
<text>{{item2.bvdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</checkbox-group>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
</custom-tabs>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="pageBox" v-if="itemList.length > 0">
|
|
|
|
|
<uni-pagination :show-icon="true" :total="total" :pageSize="pageSize" :current="current"
|
|
|
|
|
@change="changePage" />
|
|
|
|
|
</view>
|
2023-09-23 20:16:54 +08:00
|
|
|
|
</view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
<custom-tab-pane label="分指令-班组长" name="c1_4">
|
|
|
|
|
<view></view>
|
|
|
|
|
<view class="main">
|
|
|
|
|
<view class="form">
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
|
|
|
|
|
placeholder="船名/航次/提单号" @iconClick="search"></uni-easyinput>
|
|
|
|
|
<superwei-combox class="input" :candidates="brandList" :isJSON="true" keyName="brdName"
|
|
|
|
|
placeholder="品牌" v-model="brdName" @select="brandSelect"></superwei-combox>
|
|
|
|
|
<superwei-combox class="input" :candidates="bvmList" :isJSON="true" keyName="bvmName"
|
|
|
|
|
placeholder="车型" v-model="bvmName" @select="bvmSelect"></superwei-combox>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="buttonlist">
|
|
|
|
|
<button class="button" type="default" @click="ask">卸船要求</button>
|
|
|
|
|
</view>
|
|
|
|
|
<template v-if="itemList.length > 0">
|
|
|
|
|
<view class="itemList">
|
|
|
|
|
<view class="exp" v-for="(item,index) in itemList" :key="item.ndex">
|
|
|
|
|
<view class="item">
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<image class="titleImg" src="../../static/images/zlIcon.png"
|
|
|
|
|
mode="widthFix">
|
|
|
|
|
</image>
|
|
|
|
|
<view class="text">
|
|
|
|
|
品牌:{{item.brdName}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="schedule">
|
|
|
|
|
<text class="text">卸船进度</text>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress color="#0067CF" stroke-width="6px" :show-pivot="false"
|
|
|
|
|
track-color="#DEE9F5"
|
|
|
|
|
:percentage="itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)" />
|
|
|
|
|
</view>
|
|
|
|
|
<text>{{itemSum(item.loadingProgress.workProgress, item.loadingProgress.totalProgress)}}%</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus0" v-if="item.branchPlanStatus == 0">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus3" v-else-if="item.branchPlanStatus == 2">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus5" v-else-if="item.branchPlanStatus == 4">
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="planStatus planStatus1" v-else>
|
|
|
|
|
<text class="text">{{item.branchPlanStatusDesc}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="row">
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>车辆数量:</text>
|
|
|
|
|
<text>{{item.vehicleCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>备件数量:</text>
|
|
|
|
|
<text>{{item.sparePartsCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>负责人:</text>
|
|
|
|
|
<text>{{item.responsiblePerson}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>发送时间:</text>
|
|
|
|
|
<text>{{item.totalSendTime}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="rowInfo">
|
|
|
|
|
<view class="col">
|
|
|
|
|
<text>分指令发送人:</text>
|
|
|
|
|
<text>{{item.totalSendUser}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-if="itemActive != index" @click="isActive(index)">
|
|
|
|
|
展开
|
|
|
|
|
</view>
|
|
|
|
|
<view class="expand" v-else @click="itemActive = '-1'">
|
|
|
|
|
收起
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="details">
|
|
|
|
|
<view class="itemDetails" v-show="itemActive == index">
|
|
|
|
|
<template v-for="(item2,index2) in item.infoList">
|
|
|
|
|
<view class="detailsBox" :key="index2">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<text>{{item2.mnfBl}}</text>
|
|
|
|
|
<button @click="toDetails(item,item2)">详情</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="info">
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>中转港:</text>
|
|
|
|
|
<text>{{item2.transitPortName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>品牌:</text>
|
|
|
|
|
<text>{{item2.brdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>车型:</text>
|
|
|
|
|
<text>{{item2.goodsTypeName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="cell">
|
|
|
|
|
<text>型号:</text>
|
|
|
|
|
<text>{{item2.bvdName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
|
|
|
|
<view class="pageBox" v-if="itemList.length > 0">
|
|
|
|
|
<uni-pagination :show-icon="true" :total="total" :pageSize="pageSize" :current="current"
|
|
|
|
|
@change="changePage" />
|
|
|
|
|
</view>
|
2023-09-23 20:16:54 +08:00
|
|
|
|
</view>
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
<custom-tab-pane label="场位图" name="c1_3">
|
|
|
|
|
<view class="main">
|
|
|
|
|
<view>
|
|
|
|
|
<template v-if="placeTabs == 0">
|
|
|
|
|
<view class="field">
|
|
|
|
|
<view class="boxTop">
|
|
|
|
|
<view class="title">
|
|
|
|
|
堆场
|
|
|
|
|
</view>
|
|
|
|
|
<view class="option">
|
|
|
|
|
<uni-data-select v-model="optionValue"
|
|
|
|
|
:localdata="optionList"></uni-data-select>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpList">
|
|
|
|
|
<view class="fpInfo">
|
|
|
|
|
<view class="fpTitle">
|
|
|
|
|
港建库
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpListInfo">
|
|
|
|
|
<view class="infoTop">
|
|
|
|
|
<view class="infoTopTitle">A1区(12*12)</view>
|
|
|
|
|
<view class="titleRight" @click="toGoPlace">
|
|
|
|
|
<text>车道</text>
|
|
|
|
|
<view class="titleIcon">
|
|
|
|
|
<van-icon name="arrow" color="#fff" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="infoCarNum">
|
|
|
|
|
<text>车位总数:120车位</text>
|
|
|
|
|
<text>使用:40车位</text>
|
|
|
|
|
<text>剩余:40车位</text>
|
|
|
|
|
<text>可停放车辆:300辆</text>
|
|
|
|
|
<text>已停放车辆:300辆</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress :percentage="itemSum2(2000)"
|
|
|
|
|
:pivot-text="'1000/' + 2000" />
|
|
|
|
|
</view>
|
|
|
|
|
<view class="carInfoList">
|
|
|
|
|
<view class="carBrand" v-for="item in 4" :key="item">
|
|
|
|
|
<view class="brandTitle">
|
|
|
|
|
保时捷-轿车
|
|
|
|
|
</view>
|
|
|
|
|
<view class="placeInfo">
|
|
|
|
|
400 辆,共5道12车位
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpListInfo notListInfo">
|
|
|
|
|
<view class="infoTop">
|
|
|
|
|
<view class="infoTopTitle">A1区(12*12)</view>
|
|
|
|
|
<view class="titleRight" @click="toGoPlace">
|
|
|
|
|
<text>车道</text>
|
|
|
|
|
<view class="titleIcon">
|
|
|
|
|
<van-icon name="arrow" color="#fff" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="notTitle">
|
|
|
|
|
未分配
|
|
|
|
|
</view>
|
|
|
|
|
<text>车位总数:120车位</text>
|
|
|
|
|
<text>可停放车辆:300辆</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="tipInfo">
|
|
|
|
|
未使用2车道20车位
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpInfo">
|
|
|
|
|
<view class="fpTitle">
|
|
|
|
|
海棠库
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpListInfo notListInfo">
|
|
|
|
|
<view class="infoTop">
|
|
|
|
|
<view class="infoTopTitle">A1区(12*12)</view>
|
|
|
|
|
<view class="titleRight" @click="toGoPlace">
|
|
|
|
|
<text>车道</text>
|
|
|
|
|
<view class="titleIcon">
|
|
|
|
|
<van-icon name="arrow" color="#fff" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="notTitle">
|
|
|
|
|
未分配
|
|
|
|
|
</view>
|
|
|
|
|
<text>车位总数:120车位</text>
|
|
|
|
|
<text>可停放车辆:300辆</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="fpListInfo">
|
|
|
|
|
<view class="carInfoList">
|
|
|
|
|
<view class="infoTop">
|
|
|
|
|
<view class="infoTopTitle">A1区(12*12)</view>
|
|
|
|
|
<view class="titleRight" @click="toGoPlace">
|
|
|
|
|
<text>车道</text>
|
|
|
|
|
<view class="titleIcon">
|
|
|
|
|
<van-icon name="arrow" color="#fff" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="infoCarNum">
|
|
|
|
|
<text>车位总数:120车位</text>
|
|
|
|
|
<text>使用:40车位</text>
|
|
|
|
|
<text>剩余:40车位</text>
|
|
|
|
|
<text>可停放车辆:300辆</text>
|
|
|
|
|
<text>已停放车辆:300辆</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="progressBox">
|
|
|
|
|
<van-progress :percentage="itemSum2(2000)"
|
|
|
|
|
:pivot-text="'1000/' + 2000" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="carInfoList">
|
|
|
|
|
<view class="carBrand" v-for="item in 4" :key="item">
|
|
|
|
|
<view class="brandTitle">
|
|
|
|
|
保时捷-轿车
|
|
|
|
|
</view>
|
|
|
|
|
<view class="placeInfo">
|
|
|
|
|
400 辆,共5道12车位
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<place @modifyPlaceTabs="modifyPlaceTabs"></place>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
</custom-tabs>
|
|
|
|
|
<uni-popup ref="popup" type="dialog">
|
|
|
|
|
<view class="popupBox">
|
|
|
|
|
<view class="popupTitle">
|
|
|
|
|
指令下发
|
|
|
|
|
</view>
|
|
|
|
|
<view class="popupInfo">
|
|
|
|
|
<text>负责人:</text>
|
|
|
|
|
<template v-if="tabsValue == 0">
|
|
|
|
|
<view style="border: 1px solid gray;">
|
|
|
|
|
<superwei-combox class="input" :candidates="directorList" :isJSON="true" keyName="text"
|
|
|
|
|
placeholder="请选择负责人" v-model="directorValue"
|
|
|
|
|
@select="directorChange"></superwei-combox>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="tabsValue == 1">
|
|
|
|
|
<view style="border: 1px solid gray;">
|
|
|
|
|
<rudon-multiSelector welcome="请选择负责人" :is_using_slot="false" :is_using_icon="true"
|
|
|
|
|
:localdata="directorList" @change="directorChange2"></rudon-multiSelector>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="popupBtn">
|
|
|
|
|
<view class="btnList">
|
|
|
|
|
<button class="button" type="default" @click="zlCancel">取 消</button>
|
|
|
|
|
<button class="button" type="primary" @click="zlConfirm">确 认</button>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-popup>
|
|
|
|
|
<uni-popup ref="popup2" type="dialog">
|
|
|
|
|
<view class="popupBox">
|
|
|
|
|
<view class="popupTitle">
|
|
|
|
|
卸船要求
|
|
|
|
|
</view>
|
|
|
|
|
<uni-easyinput type="textarea" v-model="askValue" placeholder="请输入内容..."></uni-easyinput>
|
|
|
|
|
<view class="popupBtn">
|
|
|
|
|
<view class="btnList">
|
|
|
|
|
<button class="button" type="default" @click="zcCancel">取 消</button>
|
|
|
|
|
<button class="button" type="primary" @click="zcConfirm">提 交</button>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-popup>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import HeadView from '@/components/head-view/head-view.vue';
|
|
|
|
|
import place from './place.vue';
|
|
|
|
|
let timers = null;
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
loginObj: {},
|
|
|
|
|
tabsValue: 0, // 0(总指令) 1(分指令)
|
|
|
|
|
shipInfo: {}, // 船只数据
|
|
|
|
|
tradeType: "", // 贸易类型
|
|
|
|
|
|
|
|
|
|
tabsValue2: 0, // 分指令状态 0(未发送) 1(已发送)
|
|
|
|
|
|
|
|
|
|
// 搜索框
|
|
|
|
|
mnfBl: '', // 提单号
|
|
|
|
|
mnfBlItem: {},
|
|
|
|
|
mnfBlList: [],
|
|
|
|
|
// 品牌
|
|
|
|
|
brdId: '',
|
|
|
|
|
brdName: '',
|
|
|
|
|
brandItem: {},
|
|
|
|
|
brandList: [],
|
|
|
|
|
// 车型
|
|
|
|
|
bvmId: '',
|
|
|
|
|
bvmName: '',
|
|
|
|
|
bvmItem: {},
|
|
|
|
|
bvmList: [],
|
|
|
|
|
// 指令下发弹窗负责人
|
|
|
|
|
directorId: "",
|
|
|
|
|
directorValue: "",
|
|
|
|
|
directorTrue: [], // 选中负责人列表
|
|
|
|
|
directorList: [],
|
|
|
|
|
roleId: "", // 角色ID
|
|
|
|
|
|
|
|
|
|
// 卸船要求
|
|
|
|
|
askValue: "",
|
|
|
|
|
itemList: [],
|
|
|
|
|
current: 0,
|
|
|
|
|
active: 1,
|
|
|
|
|
itemActive: -1,
|
|
|
|
|
// 总指令工作包
|
|
|
|
|
zzlLwpIdList: [],
|
|
|
|
|
// 分指令多选
|
|
|
|
|
checkList: [],
|
|
|
|
|
fzzRow: {},
|
|
|
|
|
// 指令下发状态 all 所有下发 solo 单个下发
|
|
|
|
|
distributeType: "",
|
|
|
|
|
|
2023-11-01 18:40:05 +08:00
|
|
|
|
// 总指令统计图
|
|
|
|
|
zTjType: true,
|
|
|
|
|
zTjActive: -1,
|
|
|
|
|
zTjList: {},
|
|
|
|
|
|
2023-09-23 20:16:54 +08:00
|
|
|
|
optionValue: "",
|
|
|
|
|
optionList: [{
|
|
|
|
|
value: "0",
|
|
|
|
|
text: "全部堆场"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
alue: "1",
|
|
|
|
|
text: "外六"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
alue: "2",
|
|
|
|
|
text: "港建库"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
alue: "3",
|
|
|
|
|
text: "高东库"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
alue: "4",
|
|
|
|
|
text: "江海库"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
placeTabs: 0,
|
|
|
|
|
|
|
|
|
|
// 分页
|
|
|
|
|
total: 0,
|
|
|
|
|
pageSize: 5,
|
|
|
|
|
current: 1,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
itemSum() {
|
|
|
|
|
return function(item, item2) {
|
|
|
|
|
let sum = ((item / item2) * 100).toFixed(2)
|
|
|
|
|
return sum
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
itemSum2() {
|
|
|
|
|
return function(item) {
|
|
|
|
|
let sum = 1000 / item * 100
|
|
|
|
|
return sum
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
this.shipInfo = JSON.parse(decodeURIComponent(options.params)).shipInfo
|
|
|
|
|
this.tradeType = JSON.parse(decodeURIComponent(options.params)).tradeType
|
|
|
|
|
this.loginObj = uni.getStorageSync('loginObj')
|
|
|
|
|
if (this.tabsValue == 0) {
|
|
|
|
|
this.loadSumOrder() // 总指令:分页查询
|
2023-11-01 18:40:05 +08:00
|
|
|
|
console.log(this.shipInfo)
|
2023-09-23 20:16:54 +08:00
|
|
|
|
}
|
|
|
|
|
this.getBrand() // 获取品牌
|
|
|
|
|
this.getBvm() // 获取车型
|
|
|
|
|
this.getRoleId() // 获取角色ID
|
|
|
|
|
this.initAsk() // 获取装船要求
|
2023-11-01 18:40:05 +08:00
|
|
|
|
this.getStatistics() // 获取统计数据
|
2023-09-23 20:16:54 +08:00
|
|
|
|
},
|
|
|
|
|
components: {
|
|
|
|
|
HeadView,
|
|
|
|
|
place,
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 点击tabs
|
|
|
|
|
changeTabs(e) {
|
|
|
|
|
this.mnfBl = ''
|
|
|
|
|
this.brdName = ''
|
|
|
|
|
this.bvmName = ''
|
|
|
|
|
this.itemList = []
|
|
|
|
|
this.tabsValue = e.value
|
2023-11-01 18:40:05 +08:00
|
|
|
|
this.zTjActive = -1
|
|
|
|
|
if (e.value == 1 || e.value == 2) {
|
2023-09-23 20:16:54 +08:00
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
} else if (e.value == 0) {
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
}
|
|
|
|
|
this.directorList = []
|
|
|
|
|
this.getRoleId()
|
|
|
|
|
},
|
|
|
|
|
// 点击分指令tabs
|
|
|
|
|
changeTabs2(e) {
|
|
|
|
|
this.tabsValue2 = e.value
|
|
|
|
|
this.itemList = []
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
},
|
|
|
|
|
// 点击搜索
|
|
|
|
|
search() {
|
|
|
|
|
if (this.tabsValue == 1) {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
} else if (this.tabsValue == 0) {
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 点击分页
|
|
|
|
|
changePage(e) {
|
|
|
|
|
console.log(e)
|
|
|
|
|
this.current = e.current;
|
|
|
|
|
if (this.tabsValue == 1) {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
} else if (this.tabsValue == 0) {
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
}
|
|
|
|
|
},
|
2023-11-01 18:40:05 +08:00
|
|
|
|
// 点击总指令统计列表总标题
|
|
|
|
|
clickTjHead(type) {
|
|
|
|
|
this.zTjActive = -1
|
|
|
|
|
this.brdId = ""
|
|
|
|
|
if (type == 'zzl') {
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
} else if (type == 'fzl') {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 点击总指令统计列表
|
|
|
|
|
clickTjList(item, index, type) {
|
|
|
|
|
this.zTjActive = index
|
|
|
|
|
if (type == 'zzl') {
|
|
|
|
|
this.loadSumOrder(item.brdId)
|
|
|
|
|
} else if (type == 'fzl') {
|
|
|
|
|
this.loadOtherOrder(item.brdId)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 获取统计列表
|
|
|
|
|
getStatistics() {
|
|
|
|
|
let target = "UN_L"
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/instruction/statistics?vvyIds=${this.shipInfo.vvyId}&target=${target}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
this.zTjList = res.data.data[0]
|
|
|
|
|
this.zTjList["totalSum"] = this.zTjList.totalSentCount + this.zTjList.totalNotSentCount
|
|
|
|
|
this.zTjList["branchSum"] = this.zTjList.branchSentCount + this.zTjList
|
|
|
|
|
.branchNotSentCount
|
|
|
|
|
this.zTjList.instructionStatisticsList.forEach(v => {
|
|
|
|
|
let zsum = v.totalSentCount + v.totalNotSentCount
|
|
|
|
|
this.$set(v, "zsum", zsum)
|
|
|
|
|
let fsum = v.branchSentCount + v.branchNotSentCount
|
|
|
|
|
this.$set(v, "fsum", fsum)
|
|
|
|
|
})
|
|
|
|
|
console.log(this.zTjList)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-09-23 20:16:54 +08:00
|
|
|
|
// 获取总指令列表
|
2023-11-01 18:40:05 +08:00
|
|
|
|
loadSumOrder(num) {
|
|
|
|
|
if (num != undefined) {
|
|
|
|
|
this.brdId = num
|
|
|
|
|
}
|
2023-09-23 20:16:54 +08:00
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/unload/command/page?vvyId=${this.shipInfo.vvyId}&brdId=${this.brdId}&mnfBl=${this.mnfBl}&bvmId=${this.bvmId}&tradeType=${this.tradeType}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
this.itemList = res.data.data.records
|
|
|
|
|
this.total = this.itemList.length
|
|
|
|
|
this.itemList.forEach((v, index) => {
|
|
|
|
|
// if (v.branchPlanStatus == 0) {
|
|
|
|
|
this.zzlLwpIdList.push(v.lwpId)
|
|
|
|
|
// }
|
|
|
|
|
this.getBottomInfo(v.lwpId, index)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 获取分指令列表
|
2023-11-01 18:40:05 +08:00
|
|
|
|
loadOtherOrder(num) {
|
|
|
|
|
if (num != undefined) {
|
|
|
|
|
this.brdId = num
|
|
|
|
|
}
|
|
|
|
|
let teamFlag = ""
|
|
|
|
|
if (this.tabsValue == 2) {
|
|
|
|
|
teamFlag = true
|
|
|
|
|
this.tabsValue2 = 1
|
|
|
|
|
}
|
2023-09-23 20:16:54 +08:00
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/unload/command/pageCommandForBranch?vvyId=${this.shipInfo.vvyId}&brdId=${this.brdId}&mnfBl=${this.mnfBl}&bvmId=${this.bvmId}&sendStatus=${this.tabsValue2}&size=${this.pageSize}¤t=${this.current}&tradeType=${this.tradeType}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
this.itemList = res.data.data.records
|
|
|
|
|
this.total = this.itemList.length
|
|
|
|
|
this.itemList.forEach((v, index) => {
|
|
|
|
|
this.getBottomInfo(v.lwpId, index)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 获取指令下方信息
|
|
|
|
|
getBottomInfo(id, index) {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/unload/command/queryShipUnloaderPlanGroupForLwpId?lwpId=${id}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
this.$set(this.itemList[index], 'infoList', res.data.data)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 是否展开
|
|
|
|
|
isActive(e) {
|
|
|
|
|
this.itemActive = e
|
|
|
|
|
},
|
|
|
|
|
// 点击指令下发
|
|
|
|
|
distribute(type, a, item) {
|
|
|
|
|
this.distributeType = a
|
|
|
|
|
this.$refs.popup.open(type)
|
|
|
|
|
if (a == 'again' || a == 'solo') {
|
|
|
|
|
this.fzzRow = item
|
|
|
|
|
} else if (a == 'all') {
|
|
|
|
|
this.fzzRow = ""
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 获取角色ID
|
|
|
|
|
getRoleId() {
|
|
|
|
|
let name = ""
|
|
|
|
|
if (this.tabsValue == 0) {
|
|
|
|
|
name = "dongLei"
|
|
|
|
|
} else if (this.tabsValue == 1) {
|
|
|
|
|
name = "shipmenter"
|
|
|
|
|
}
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/roles?name=${name}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.roleId = res.data.data
|
|
|
|
|
this.getDirector()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 根据角色ID获取负责人
|
|
|
|
|
getDirector() {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/roles/principals?roleId=${this.roleId}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
res.data.data.forEach(v => {
|
|
|
|
|
this.directorList.push({
|
|
|
|
|
text: v.name,
|
|
|
|
|
value: v.id,
|
|
|
|
|
is_selected: false
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 总指令选择负责人
|
|
|
|
|
directorChange(e) {
|
|
|
|
|
this.directorTrue = [{
|
|
|
|
|
userId: e.value
|
|
|
|
|
}]
|
|
|
|
|
this.directorId = e.value
|
|
|
|
|
this.directorValue = e.text
|
|
|
|
|
},
|
|
|
|
|
// 分指令选择负责人
|
|
|
|
|
directorChange2(e) {
|
|
|
|
|
this.directorTrue = []
|
|
|
|
|
e.forEach(v => {
|
|
|
|
|
if (v.is_selected) {
|
|
|
|
|
this.directorTrue.push({
|
|
|
|
|
userId: v.value
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 获取卸船要求
|
|
|
|
|
initAsk() {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/vesselVoyages/${this.shipInfo.vvyId}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.askValue = res.data.data.loadUnloadRequirements
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 修改卸船要求
|
|
|
|
|
getAsk() {
|
|
|
|
|
let reqDto = {
|
|
|
|
|
"loadUnloadRequirements": this.askValue,
|
|
|
|
|
"spmId": this.shipInfo.spmId,
|
|
|
|
|
"vvyId": this.shipInfo.vvyId,
|
|
|
|
|
"vvyName": this.shipInfo.vvyName,
|
|
|
|
|
}
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/vesselVoyages/${this.shipInfo.vvyId}`,
|
|
|
|
|
data: reqDto,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'PUT', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
this.initAsk()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 指令下发确认
|
|
|
|
|
zlConfirm() {
|
|
|
|
|
if (this.directorTrue.length > 0) {
|
|
|
|
|
let lwpIdList = []
|
|
|
|
|
if (this.tabsValue == 0) {
|
|
|
|
|
lwpIdList = this.zzlLwpIdList
|
|
|
|
|
} else if (this.tabsValue == 1) {
|
|
|
|
|
if (this.fzzRow == "") {
|
|
|
|
|
lwpIdList = this.checkList
|
|
|
|
|
} else {
|
|
|
|
|
lwpIdList = [this.fzzRow.lwpId]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let reqDTO = {
|
|
|
|
|
"lwpIdList": lwpIdList,
|
|
|
|
|
"principalList": this.directorTrue,
|
|
|
|
|
"vvyId": this.shipInfo.vvyId
|
|
|
|
|
}
|
|
|
|
|
if (this.distributeType == 'all') {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/unload/command/commandIssued`,
|
|
|
|
|
data: reqDTO,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'POST', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
this.$refs.popup.close()
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `总指令下发成功`,
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `${res.data.error_description}`,
|
|
|
|
|
icon: 'error',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (this.distributeType == 'solo') {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/unload/command/commandSendForBranch`,
|
|
|
|
|
data: reqDTO,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'PUT', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `分指令下发成功`,
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `${res.data.error_description}`,
|
|
|
|
|
icon: 'error',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (this.distributeType == 'again') {
|
|
|
|
|
let url = `/api/unload/command/commandReissuedForBranch`
|
|
|
|
|
let lwpIdList3 = []
|
|
|
|
|
lwpIdList3.push(this.fzzRow.lwpId)
|
|
|
|
|
let reqDto3 = {
|
|
|
|
|
"loadUnloadRequirements": this.askValue,
|
|
|
|
|
"lwpIdList": lwpIdList3,
|
|
|
|
|
"principalList": this.directorTrue,
|
|
|
|
|
"vvyId": this.shipInfo.vvyId
|
|
|
|
|
}
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}${url}`,
|
|
|
|
|
data: reqDto3,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'PUT', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `重新发送指令成功`,
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `${res.data.error_description}`,
|
|
|
|
|
icon: 'error',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.$refs.popup.close()
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `负责人不能为空`,
|
|
|
|
|
icon: 'error',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 指令下发取消
|
|
|
|
|
zlCancel() {
|
|
|
|
|
this.directorTrue = []
|
|
|
|
|
this.$refs.popup.close()
|
|
|
|
|
},
|
|
|
|
|
// 点击暂停
|
|
|
|
|
suspend(item) {
|
|
|
|
|
let url = `/api/unload/command/commandPause?lwpId=${item.lwpId}`
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}${url}`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'PUT', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
|
this.loadOtherOrder()
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `暂停指令成功`,
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `${res.data.error_description}`,
|
|
|
|
|
icon: 'error',
|
|
|
|
|
duration: 2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 点击卸船要求
|
|
|
|
|
ask(type) {
|
|
|
|
|
this.$refs.popup2.open(type)
|
|
|
|
|
},
|
|
|
|
|
// 卸船要求确认
|
|
|
|
|
zcConfirm() {
|
|
|
|
|
this.getAsk() // 修改卸船要求
|
|
|
|
|
this.$refs.popup2.close()
|
|
|
|
|
},
|
|
|
|
|
// 卸船要求取消
|
|
|
|
|
zcCancel() {
|
|
|
|
|
this.askValue = ""
|
|
|
|
|
this.$refs.popup2.close()
|
|
|
|
|
},
|
|
|
|
|
// 获取品牌
|
|
|
|
|
getBrand() {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/miniapp/queryBrand`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == "200") {
|
|
|
|
|
this.brandList = res.data.data
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 选择品牌
|
|
|
|
|
brandSelect(e) {
|
|
|
|
|
this.brandItem = e
|
|
|
|
|
this.brdId = e.brdId
|
|
|
|
|
this.brdName = e.brdName
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
},
|
|
|
|
|
// 获取车型
|
|
|
|
|
getBvm() {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${this.$local}/api/miniapp/getVehicleModel`,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'application/json', //自定义请求头信息
|
|
|
|
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
|
|
|
|
},
|
|
|
|
|
method: 'GET', //请求方式,必须为大写
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.data.status == "200") {
|
|
|
|
|
this.bvmList = res.data.data
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 选择车型
|
|
|
|
|
bvmSelect(e) {
|
|
|
|
|
this.bvmItem = e
|
|
|
|
|
this.bvmId = e.id
|
|
|
|
|
this.bvmName = e.name
|
|
|
|
|
this.loadSumOrder()
|
|
|
|
|
},
|
|
|
|
|
toDetails(item, item2) {
|
|
|
|
|
console.log(item, item2)
|
|
|
|
|
let obj = {
|
|
|
|
|
tradeName: "W",
|
|
|
|
|
shipInfo: this.shipInfo,
|
|
|
|
|
jcInfo: item,
|
|
|
|
|
xqInfo: item2
|
|
|
|
|
}
|
|
|
|
|
const params = encodeURIComponent(JSON.stringify(obj));
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/discharge/instructDetails?params=' + params
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 分指令多选
|
|
|
|
|
checkChange(e) {
|
|
|
|
|
this.checkList = e.detail.value
|
|
|
|
|
},
|
|
|
|
|
// 点击车道
|
|
|
|
|
toGoPlace() {
|
|
|
|
|
this.placeTabs = 1;
|
|
|
|
|
},
|
|
|
|
|
// 子组件修改值
|
|
|
|
|
modifyPlaceTabs(data) {
|
|
|
|
|
this.placeTabs = data;
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less">
|
|
|
|
|
.blue {
|
|
|
|
|
color: #108ee9;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.content {
|
|
|
|
|
background-color: #F6F7F9;
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar {
|
|
|
|
|
height: 66px;
|
|
|
|
|
line-height: 66px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar-item {
|
|
|
|
|
height: 66px;
|
|
|
|
|
line-height: 66px;
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
color: #23262E;
|
|
|
|
|
font-family: PingFangSC-Semibold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar-item.active {
|
|
|
|
|
color: #0067CF
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar-item .active-line {
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
width: 54px;
|
|
|
|
|
height: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab-pane {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main {
|
2023-11-01 18:40:05 +08:00
|
|
|
|
height: calc(100vh - 134px);
|
2023-09-23 20:16:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.pageBox {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.form {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
padding: 10px;
|
2023-09-23 20:16:54 +08:00
|
|
|
|
|
|
|
|
|
.inputBox {
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.input {
|
|
|
|
|
width: 120px;
|
|
|
|
|
height: 35px;
|
|
|
|
|
line-height: 35px;
|
|
|
|
|
margin-left: 20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn {
|
|
|
|
|
height: 35px;
|
|
|
|
|
line-height: 35px;
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.buttonlist {
|
2023-11-01 18:40:05 +08:00
|
|
|
|
padding: 10px;
|
2023-09-23 20:16:54 +08:00
|
|
|
|
|
|
|
|
|
.button {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
height: 36px;
|
|
|
|
|
line-height: 36px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
button:first-child {
|
|
|
|
|
border: 1px solid #0067CF;
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
background: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
button:last-child {
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: #0067CF;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tablist {
|
|
|
|
|
width: 175px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
line-height: 60px;
|
|
|
|
|
font-size: 21px;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.tabs {
|
|
|
|
|
width: 80px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-bottom: 2rpx solid #ebebeb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.active {
|
|
|
|
|
color: #1890ff;
|
|
|
|
|
border-bottom: 2rpx solid #1890ff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-01 18:40:05 +08:00
|
|
|
|
.tjList {
|
|
|
|
|
width: 256px;
|
|
|
|
|
background: #EBEDF1;
|
|
|
|
|
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
|
|
|
|
|
float: left;
|
|
|
|
|
overflow: scroll;
|
|
|
|
|
margin-right: 4px;
|
|
|
|
|
|
|
|
|
|
.active {
|
|
|
|
|
border: 1px solid #0067CF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
p {
|
|
|
|
|
color: #23262E;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
line-height: 21px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.progress-bar-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.bar {
|
|
|
|
|
height: 5px;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.progress-bar .bar-single {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.progress-bar .bar-double {
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.progress-bar .bar-interval {
|
|
|
|
|
width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.bar-text span {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bottomInfo {
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-top: 9px;
|
|
|
|
|
|
|
|
|
|
p {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999999;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
margin-left: 4px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
p:nth-of-type(1) {
|
|
|
|
|
text {
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
p:nth-of-type(2) {
|
|
|
|
|
text {
|
|
|
|
|
color: #FC4F00;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tjHead {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 87px;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
padding: 16px 15px;
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
.imgBox {
|
|
|
|
|
width: 20px;
|
|
|
|
|
height: 20px;
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tjInfo {
|
|
|
|
|
width: calc(100% - 32px);
|
|
|
|
|
background: #F7F7F7;
|
|
|
|
|
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
|
|
|
|
|
margin: 16px;
|
|
|
|
|
padding: 5px 16px;
|
|
|
|
|
position: relative;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
|
|
.imgBox {
|
|
|
|
|
width: 20px;
|
|
|
|
|
height: 20px;
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-23 20:16:54 +08:00
|
|
|
|
.itemList {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
justify-content: space-between;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
padding: 0 12px;
|
|
|
|
|
max-height: 70vh;
|
|
|
|
|
overflow: scroll;
|
2023-09-23 20:16:54 +08:00
|
|
|
|
|
|
|
|
|
.exp {
|
|
|
|
|
width: 100%;
|
|
|
|
|
// width: 49.5%;
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 16px;
|
|
|
|
|
padding-right: 0;
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
.rowHead {
|
|
|
|
|
/deep/uni-checkbox .uni-checkbox-input {
|
|
|
|
|
width: 16px !important;
|
|
|
|
|
height: 16px !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.row {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
display: flex;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #23262E;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
|
|
|
|
.titleImg {
|
|
|
|
|
width: 18px;
|
|
|
|
|
height: 18px;
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.schedule {
|
|
|
|
|
padding: 5px 8px;
|
|
|
|
|
background: #F7F7F7;
|
|
|
|
|
margin-left: 16px;
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.progressBox {
|
|
|
|
|
width: 100px;
|
|
|
|
|
margin-top: 5px;
|
|
|
|
|
margin: 5px 8px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.planStatus {
|
|
|
|
|
width: 68px;
|
|
|
|
|
height: 26px;
|
|
|
|
|
border-radius: 13px 0 0 13px;
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
top: 16px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 26px;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.planStatus0 {
|
|
|
|
|
background: #F1F8FF;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.planStatus1 {
|
|
|
|
|
background: #F7F7F7;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
color: #666;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.planStatus3 {
|
|
|
|
|
background: #E8FFF7;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
color: #04B578;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.planStatus5 {
|
|
|
|
|
background: #FFF5F0;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
color: #fc4f00;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.rowInfo {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
width: 48%;
|
|
|
|
|
margin-right: 1%;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
border-right: 1px solid #eee;
|
|
|
|
|
|
|
|
|
|
.col:first-child {
|
|
|
|
|
margin-bottom: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text:first-child {
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text:last-child {
|
|
|
|
|
color: #23262E;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.rowInfo:last-child {
|
|
|
|
|
border: none;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.xfBtn {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
border-top: 1px solid rgba(0, 0, 0, .1);
|
|
|
|
|
border-bottom: 1px solid rgba(0, 0, 0, .1);
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
|
|
.btn {
|
|
|
|
|
padding: 8px 12px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: #0067CF;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
margin-right: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.stopbtn {
|
|
|
|
|
border: 1px solid #FC4F00;
|
|
|
|
|
color: #FC4F00;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.expand {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 47%;
|
|
|
|
|
bottom: -10px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #23262E;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 14px;
|
|
|
|
|
border: 1px solid #EEEEEE;
|
|
|
|
|
border-radius: 13px;
|
|
|
|
|
padding: 6px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details {
|
|
|
|
|
padding-right: 16px;
|
|
|
|
|
margin-top: 16px;
|
|
|
|
|
|
|
|
|
|
.itemDetails {
|
|
|
|
|
background: rgba(236, 242, 249, .7);
|
|
|
|
|
|
|
|
|
|
.detailsBox {
|
|
|
|
|
padding: 16px;
|
|
|
|
|
border-bottom: 1px dashed #D3DCE6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #23262E;
|
|
|
|
|
margin-top: 2px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
button {
|
|
|
|
|
wdith: 50px;
|
|
|
|
|
height: 25px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 25px;
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border: 1px solid #EEEEEE;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
margin: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.info {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
|
|
.cell {
|
|
|
|
|
margin-right: 15px;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
|
|
text:first-child {
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text:last-child {
|
|
|
|
|
color: #23262E;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.currentList {
|
|
|
|
|
width: 85%;
|
|
|
|
|
margin: 10px auto;
|
|
|
|
|
|
|
|
|
|
.tableHead {
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
height: 50px;
|
|
|
|
|
line-height: 50px;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 0 12px;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
border: 1px solid #f2f2f2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gray {
|
|
|
|
|
background-color: #f9f9f9;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.imgLi {
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
line-height: 50px;
|
|
|
|
|
font-size: 21px;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nr {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin-right: 50px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.field {
|
|
|
|
|
padding: 20px;
|
|
|
|
|
background-color: #000;
|
|
|
|
|
|
|
|
|
|
.boxTop {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.option {
|
|
|
|
|
width: 200px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.carTabs {
|
|
|
|
|
width: 100%;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
|
|
|
|
|
/deep/.tab {
|
|
|
|
|
border-radius: 8px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.carList {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-around;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
|
|
|
|
|
.carInfo {
|
|
|
|
|
width: 19%;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
background-color: #ccc;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.partsList {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-around;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
|
|
|
|
|
.partsInfo {
|
|
|
|
|
width: 19%;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
background-color: #ccc;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.infoTitle {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #666;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.infoNum {
|
|
|
|
|
font-size: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fpList {
|
|
|
|
|
width: 100%;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.fpInfo {
|
|
|
|
|
width: 49%;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fpTitle {
|
|
|
|
|
text-align: center;
|
|
|
|
|
background: #262626;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fpListInfo {
|
|
|
|
|
padding: 20px 10px;
|
|
|
|
|
background: #262626;
|
|
|
|
|
color: #fff;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
|
|
.infoTop {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.infoTopTitle {
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
padding-left: 10px;
|
|
|
|
|
border-left: 5px solid #0079FE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.titleRight {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
.titleIcon {
|
|
|
|
|
width: 16px;
|
|
|
|
|
height: 16px;
|
|
|
|
|
background: #0079FE;
|
|
|
|
|
margin-left: 5px;
|
|
|
|
|
line-height: 16px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
margin-top: 5px;
|
|
|
|
|
|
|
|
|
|
/deep/.van-icon {
|
|
|
|
|
transform: scale(0.8);
|
|
|
|
|
margin-left: 2px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
color: #0079FE;
|
|
|
|
|
margin-top: 2px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.infoCarNum {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
margin: 10px 20px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.progressBox {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.carInfoList {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.carBrand {
|
|
|
|
|
width: 32%;
|
|
|
|
|
background-color: #2C2D2D;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
|
|
|
|
.brandTitle {
|
|
|
|
|
color: #0079FE;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.notListInfo {
|
|
|
|
|
.notTitle {
|
|
|
|
|
font-size: 22px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
text-align: center;
|
|
|
|
|
margin: 30px 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.infoTop {
|
|
|
|
|
text {
|
|
|
|
|
margin-right: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
margin-right: 30px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tipInfo {
|
|
|
|
|
width: 100%;
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
color: #5FE515;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
text-align: center;
|
|
|
|
|
background: #fff;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.popupBox {
|
|
|
|
|
width: 500px;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
padding: 30px;
|
|
|
|
|
|
|
|
|
|
.popupTitle {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
border-bottom: 1px solid #ccc;
|
|
|
|
|
padding-bottom: 20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.popupInfo {
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
line-height: 35px;
|
|
|
|
|
padding: 30px 0;
|
|
|
|
|
|
|
|
|
|
/deep/.superwei-combox {
|
|
|
|
|
border: none;
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.componentW100 {
|
|
|
|
|
width: 300px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.uni-icons {
|
|
|
|
|
margin-right: 12px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.uni-easyinput {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.uni-select__input-placeholder {
|
|
|
|
|
text-align: left;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.uni-select__input-text {
|
|
|
|
|
text-align: left;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.popupBtn {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
padding-top: 20px;
|
|
|
|
|
border-top: 1px solid #ccc;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
|
|
|
|
|
.btnList {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
.button {
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|