Merge remote-tracking branch 'origin/master'
# Conflicts:
# server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java
| | |
| | | NODE_ENV = 'development' |
| | | |
| | | VUE_APP_API_URL = 'http://localhost:10010' |
| | | #VUE_APP_API_URL = 'http://192.168.0.173/admin_interface' |
| | | VUE_APP_API_URL = 'http://192.168.0.139:10010' |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æå°å表 |
| | | export function getPlatform (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/page', data, { |
| | | trim: true |
| | | }) |
| | | // è·åæå°ç»ä¿¡æ¯ |
| | | export function getPlatformGroupList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupList', data) |
| | | } |
| | | // å«å·å表 |
| | | export function platformCallList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformCallList', data) |
| | | } |
| | | // å«å· |
| | | export function platformCallNumber (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformCallNumber', data) |
| | | } |
| | | // å¼å§ä½ä¸ |
| | | export function platformBeginWork (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/beginWork', data) |
| | | } |
| | | // 宿ä½ä¸ |
| | | export function platformFinishWork (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/finishWork', data) |
| | | } |
| | | // è¿å· |
| | | export function platformOverNumber (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformOverNumber', data) |
| | | } |
| | | // å¼å¸¸æèµ· |
| | | export function platformErr (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformErr', data) |
| | | } |
| | | // å¼å¸¸æèµ· |
| | | export function platformMove (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformMove', data) |
| | | } |
| | | // æå°é
ç½® |
| | | export function updUserPlatformConfig (data) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/updUserPlatformConfig?ids=' + data) |
| | | } |
| | | |
| | | // æ ¹æ®æå°ç»è·åæå°åè¡¨ä¿¡æ¯ |
| | | export function listByGroupId (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/listByGroupId?groupId=' + id) |
| | | } |
| | | // æå°å表 ç¼è¾ |
| | | export function PlatformEdit (data) { |
| | |
| | | |
| | | .main_app { |
| | | background-color: #fff; |
| | | padding: 30px; |
| | | margin: 0 16px; |
| | | margin-top: 10px; |
| | | margin-left: 16px; |
| | | padding: 20px; |
| | | } |
| | | .fs12{ |
| | | font-size: 12px; |
| | |
| | | <div class="logo"> |
| | | <div>{{ title }}</div> |
| | | <div class="list"> |
| | | <div class="item">æå¡ä¸å¿</div> |
| | | <div class="item active"> |
| | | <div>æå¡ä¸å¿</div> |
| | | <div class="linellae"></div> |
| | | </div> |
| | | <div class="item">å®é²ä¸å¿</div> |
| | | <div class="item">æ¶é²ä¸å¿</div> |
| | | <div class="item">è½ç®¡ä¸å¿</div> |
| | |
| | | .common-header { |
| | | background-color: #2080f7; |
| | | } |
| | | .list{ |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 60px; |
| | | .item{ |
| | | margin-right: 40px; |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | height: 40px; |
| | | cursor: pointer; |
| | | .linellae{ |
| | | width: 64px; |
| | | height: 2px; |
| | | background: #FFFFFF; |
| | | } |
| | | } |
| | | .active{ |
| | | font-weight: 500; |
| | | } |
| | | } |
| | | .header { |
| | | overflow: hidden; |
| | | // background: #fff; |
| | |
| | | </div> |
| | | <div v-if="withFooter" class="window__footer"> |
| | | <slot name="footer"> |
| | | <el-button @click="confirm" :loading="confirmWorking" type="primary">{{text}}</el-button> |
| | | <el-button v-if="showConfirm" @click="confirm" :loading="confirmWorking" type="primary">{{text}}</el-button> |
| | | <slot name="btns" /> |
| | | <el-button @click="close">{{ backText }}</el-button> |
| | | </slot> |
| | |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | showConfirm: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | // æ é¢ |
| | | title: { |
| | | type: String, |
| | |
| | | <template> |
| | | <div class="table-pagination"> |
| | | <el-pagination |
| | | :current-page="pagination.pageIndex" |
| | | :current-page="pagination.pageIndex || pagination.page" |
| | | :page-sizes="pagination.pageSizes||[10, 20, 30, 40]" |
| | | :page-size="pagination.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | |
| | | align-items: center; |
| | | background-color: #fff; |
| | | border-bottom: 10px solid #f7f8f9; |
| | | margin: 0 -30px; |
| | | padding: 0 0 0 30px; |
| | | margin: 0 -20px; |
| | | padding: 0 0 0 20px; |
| | | |
| | | .el-input, |
| | | .el-select { |
| | |
| | | <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div>--> |
| | | <div style="height:10px;"></div> |
| | | <!-- <div style="height:10px;"></div> --> |
| | | <Profile :roles="roles" :permissions="permissions"> |
| | | <!-- æç´¢è¡¨åé¨å --> |
| | | <div class="table-search-form"> |
| | |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-top: 10px; |
| | | .not-allow-wrap { |
| | | padding-top: 0; |
| | | } |
| | |
| | | } |
| | | // å表åå页 |
| | | .table-content { |
| | | margin-top: 10px; |
| | | padding: 0 16px; |
| | | .table-wrap { |
| | | padding: 16px 16px 0 16px; |
| | |
| | | } |
| | | // å表åå页 |
| | | .table-content { |
| | | margin-top: 10px; |
| | | /*padding: 0 16px;*/ |
| | | .table-wrap { |
| | | padding: 16px 16px 0 16px; |
| | |
| | | <GlobalWindow |
| | | title="æå°å«å·-xxå·æå°" |
| | | :visible.sync="isShowModal" |
| | | :showConfirm="false" |
| | | width="800px" |
| | | :confirm-working="subLoading" |
| | | @confirm="handleSub" |
| | | > |
| | | <div class="queuing_modal"> |
| | | <div class="df_ac mb20"> |
| | | <span>æç´¢è½¦è¾ï¼</span> |
| | | <el-input |
| | | class="flex1 mr20" |
| | | v-model="param.aa" |
| | | v-model="carCodeFront" |
| | | placeholder="请è¾å
¥è½¦çå·" |
| | | ></el-input> |
| | | <el-button type="primary">æ¥æ¾</el-button> |
| | | <el-button>éç½®</el-button> |
| | | <el-button type="primary" @click="getList">æ¥æ¾</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="item" v-for="item in dataList" :key="item.id"> |
| | | <div class="head df_sb"> |
| | | <div class="plate">çA12122</div> |
| | | <div class="status">å·²ç¾å°</div> |
| | | <div v-if="item.carCodeFront" class="code"> |
| | | <span>{{ item.carCodeFront.slice(0, 1) }}</span> |
| | | <span>{{ item.carCodeFront.slice(1, 2) }}</span> |
| | | <span>·</span> |
| | | <span>{{ item.carCodeFront.slice(2) }}</span> |
| | | </div> |
| | | <div class="status">{{ statusMap[item.status] }}</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="ite"> |
| | | <div v-if="item.type == 4" class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ item.contractNum }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <span>è¿è¾åå·ï¼</span> |
| | | <span>12312</span> |
| | | <span>{{ item.code }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>驾驶åï¼</span> |
| | | <span>12312</span> |
| | | <span>{{ item.driverName }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>ææºå·ï¼</span> |
| | | <span>12312</span> |
| | | <span>{{ item.drivierPhone }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>æ»è¿è¾éï¼</span> |
| | | <span>12312</span> |
| | | <span>{{ item.totalNum }}䏿¯</span> |
| | | </div> |
| | | <div class="ite" style="width: 66%"> |
| | | <div v-if="item.type != 4" class="ite" style="width: 66%"> |
| | | <span>è¿è¾å
¬å¸ï¼</span> |
| | | <span>12312</span> |
| | | <span>{{ item.carrierName }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="footer df_sb"> |
| | | <div class="detail">è¿å详æ
</div> |
| | | <el-button type="primary">å«å·</el-button> |
| | | <div v-if="item.type != 4" class="detail">è¿å详æ
</div> |
| | | <div v-else></div> |
| | | <el-button type="primary" @click="handleCall(item)">å«å·</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="pagination" |
| | | > |
| | | </pagination> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { getPlatform, PlatformEdit, PlatformDel } from '@/api' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import { platformCallList, platformCallNumber } from '@/api' |
| | | import { statusMap } from '../config' |
| | | import { Message } from 'element-ui' |
| | | export default { |
| | | components: { |
| | | GlobalWindow |
| | | GlobalWindow, |
| | | Pagination |
| | | }, |
| | | data () { |
| | | return { |
| | | statusMap, |
| | | isShowModal: false, |
| | | subLoading: false, |
| | | param: {} |
| | | pagination: { |
| | | total: 0, |
| | | pageSize: 10, |
| | | page: 1 |
| | | }, |
| | | carCodeFront: '', |
| | | activePlat: {}, |
| | | dataList: [] |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | handleCall (item) { |
| | | const activePlatform = this.activePlat |
| | | platformCallNumber({ platformId: activePlatform.id, jobId: item.id }).then(res => { |
| | | Message.success('å«å·æå') |
| | | this.$emit('success') |
| | | this.getList() |
| | | }) |
| | | }, |
| | | getList () { |
| | | const { activePlat, pagination, carCodeFront } = this |
| | | platformCallList({ |
| | | model: { callType: '2', platformId: activePlat.id, carCodeFront }, |
| | | page: pagination.page, |
| | | capacity: pagination.pageSize |
| | | }).then(res => { |
| | | this.dataList = res.records |
| | | this.pagination.total = res.total |
| | | }) |
| | | }, |
| | | reset () { |
| | | this.carCodeFront = '' |
| | | this.pagination.page = 1 |
| | | this.pagination.pageSize = 10 |
| | | this.getList() |
| | | }, |
| | | handleSizeChange (e) { |
| | | this.pagination.pageSize = e |
| | | this.getList() |
| | | }, |
| | | handlePageChange (e) { |
| | | this.pagination.page = e |
| | | this.getList() |
| | | }, |
| | | handleSub () { |
| | | const { param } = this |
| | | this.subLoading = true |
| | |
| | | }, () => { |
| | | this.subLoading = false |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | .status { |
| | | color: $primaryColor; |
| | | } |
| | | .code { |
| | | display: flex; |
| | | font-weight: 600; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 15px; |
| | | color: #111111; |
| | | background-color: #fff; |
| | | border-radius: 4px; |
| | | border: 1px solid $primaryColor; |
| | | padding-right: 4px; |
| | | span { |
| | | &:nth-of-type(1) { |
| | | background: $primaryColor; |
| | | padding: 0 8px; |
| | | color: #fff; |
| | | } |
| | | &:nth-of-type(2) { |
| | | padding-left: 4px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .info { |
| | | display: flex; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export const statusMap = { |
| | | 0: 'å¾
确认', |
| | | 1: 'å¾
ç¾å°', |
| | | 2: 'çå¾
å«å·', |
| | | 3: 'å
¥åçå¾
', |
| | | 4: 'æå°çå¾
', // å·²å«å· |
| | | 5: 'ä½ä¸ä¸', |
| | | 6: 'ä½ä¸å®æ', |
| | | 7: '转移ä¸', |
| | | 8: 'å¼å¸¸æèµ·', |
| | | 9: 'å·²ææç¦»å', |
| | | 10: '已离å', |
| | | 11: 'å·²è¿å·' |
| | | } |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <div class="mb20"> |
| | | <el-select v-model="platformId" @change="getList()"> |
| | | <el-option v-for="item in PlatformList" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | <div class="mb20 main_header"> |
| | | <div class="platgroup_tabs"> |
| | | <div |
| | | class="tab" |
| | | :class="{ active: activeGroup.id === item.id }" |
| | | @click="platgroupClick(item)" |
| | | v-for="(item, i) in PlatGroupList" |
| | | :key="i" |
| | | > |
| | | {{ item.name }} |
| | | </div> |
| | | <!-- <el-tabs v-model="activeGroup.id" @tab-click="platgroupClick"> |
| | | <el-tab-pane |
| | | v-for="item,i in PlatGroupList" |
| | | :key="i" |
| | | :label="item.name" |
| | | :name="String(item.id)" |
| | | /> |
| | | </el-tabs> --> |
| | | </div> |
| | | <el-button type="primary" class="ml20" @click="handleSet" |
| | | >é
ç½®æå°</el-button |
| | | > |
| | | </div> |
| | | <!-- --> |
| | | <div class="platform_list"> |
| | | <div class="item" v-for="i in 2"> |
| | | <div v-if="activeGroup.platformList" class="platform_list"> |
| | | <div class="item" :class="{ emyty: item.workStatus == 0 }" v-for="(item, i) in activeGroup.platformList" :key="i"> |
| | | <div class="head"> |
| | | <div class="left"> |
| | | <div class="status mr10">ä½ä¸ä¸</div> |
| | | <div class="name">6å·æå°</div> |
| | | <div class="status mr10"> |
| | | {{ item.workStatus == "0" ? "空é²" : "ä½ä¸ä¸" }} |
| | | </div> |
| | | <div class="name">{{ item.name }}</div> |
| | | <div class="ite"> |
| | | <span class="placeholder9">ä½ä¸ï¼</span><span>1</span> |
| | | <span class="placeholder9">ä½ä¸ï¼</span |
| | | ><span>{{ item.platformWorkVO.workNum }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span class="placeholder9">ä½ä¸ï¼</span><span>1</span> |
| | | <span class="placeholder9">å·²å«ï¼</span |
| | | ><span>{{ item.platformWorkVO.callNum }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span class="placeholder9">ä½ä¸ï¼</span><span class="red">1</span> |
| | | <span class="placeholder9">çå¾
ï¼</span |
| | | ><span>{{ item.platformWorkVO.waitNum }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span class="placeholder9">å¼å¸¸ï¼</span |
| | | ><span class="red">{{ item.platformWorkVO.exceptionNum }}</span> |
| | | </div> |
| | | </div> |
| | | <el-button type="primary" @click="handleQueuing()">å«å·</el-button> |
| | | <el-button type="primary" @click="handleQueuing(item)"> |
| | | <div class="df_ac"> |
| | | <img class="shengyin" src="@/assets/icons/shengyin.png" alt=""> |
| | | <span>å«å·</span> |
| | | </div> |
| | | </el-button> |
| | | </div> |
| | | <div class="list"> |
| | | <div class="info" v-for="j in 3"> |
| | | <div |
| | | class="list" |
| | | v-if="item.platformWorkVO && item.platformWorkVO.platformJobList" |
| | | > |
| | | <div |
| | | class="info" |
| | | v-for="task in item.platformWorkVO.platformJobList" |
| | | :key="task.id" |
| | | > |
| | | <div class="line"> |
| | | <div class="left"> |
| | | <span class="plate">çA12122</span> |
| | | <div v-if="task.carCodeFront" class="code"> |
| | | <span>{{ task.carCodeFront.slice(0, 1) }}</span> |
| | | <span>{{ task.carCodeFront.slice(1, 2) }}</span> |
| | | <span>·</span> |
| | | <span>{{ task.carCodeFront.slice(2) }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right"> |
| | | <span class="green">ä½ä¸ä¸</span> |
| | | <span class="green ml20">23åé26ç§</span> |
| | | <div |
| | | class="status" |
| | | v-if="task.status != 4 && task.status != 5" |
| | | :class="{ red: task.status == 8 }" |
| | | > |
| | | <span class="lab">{{ statusMap[task.status] }}</span> |
| | | </div> |
| | | <div class="status" v-if="task.status == 4"> |
| | | <span class="lab">å«å·ä¸</span> {{ task.callDateTemp }} |
| | | </div> |
| | | <div class="status scs" v-if="task.status == 5"> |
| | | <span class="lab">å·²ä½ä¸</span> {{ task.startDateTemp }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="ite"> |
| | | <div v-if="task.type == 4" class="ite"> |
| | | <span>åååå·ï¼</span> |
| | | <span>{{ task.contractNum }}</span> |
| | | </div> |
| | | <div v-else class="ite"> |
| | | <span>è¿è¾åå·ï¼</span> |
| | | <span>202020</span> |
| | | <span>{{ task.code }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>驾驶åï¼</span> |
| | | <span>202020</span> |
| | | <span>{{ task.driverName }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>ææºå·ï¼</span> |
| | | <span>202020</span> |
| | | <span>{{ task.drivierPhone }}</span> |
| | | </div> |
| | | <div class="ite"> |
| | | <span>æ»è¿è¾éï¼</span> |
| | | <span>202020</span> |
| | | <span>{{ task.totalNum }}䏿¯</span> |
| | | </div> |
| | | <div class="ite" style="width: 66.6%"> |
| | | <div v-if="task.type != 4" class="ite" style="width: 66.6%"> |
| | | <span>è¿è¾å
¬å¸ï¼</span> |
| | | <span>20202dasdç©å¿ç©å¿ç©å¿é¢å¤ é¢å¤0</span> |
| | | <span>{{ task.carrierName }}</span> |
| | | </div> |
| | | <div class="ite"></div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="left"> |
| | | <div v-if="task.type != 4" class="left"> |
| | | <span class="primaryColor pointer" @click="handleDetail" |
| | | >è¿å详æ
</span |
| | | > |
| | | </div> |
| | | <div v-else></div> |
| | | <div class="right"> |
| | | <el-button type="primary" @click="handleFinish()" |
| | | <el-button |
| | | v-if="task.status == 5" |
| | | plain |
| | | @click="handleErr(task)" |
| | | >å¼å¸¸æèµ·</el-button |
| | | > |
| | | <el-button |
| | | v-if="task.status == 5 || task.status == 8" |
| | | plain |
| | | @click="handleTransform(item, task)" |
| | | >转移æå°</el-button |
| | | > |
| | | <el-button |
| | | v-if="task.status == 4" |
| | | plain |
| | | @click="handlePass(task)" |
| | | >è¿å·</el-button |
| | | > |
| | | <el-button |
| | | v-if="task.status == 5 || task.status == 8" |
| | | type="primary" |
| | | @click="handleFinish(task)" |
| | | >ä½ä¸å®æ</el-button |
| | | > |
| | | <el-button plain>转移æå°</el-button> |
| | | <el-button plain>å¼å¸¸æèµ·</el-button> |
| | | <el-button |
| | | v-if="task.status == 4" |
| | | type="primary" |
| | | @click="handleWork(task)" |
| | | >å¼å§ä½ä¸</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="!item.platformWorkVO.platformJobList || item.platformWorkVO.platformJobList.length == 0" class="empty_plat"> |
| | | <img src="@/assets/images/default_nodata.png" alt=""> |
| | | <div>ææ è½¦è¾</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- é
ç½®æ¾ç¤ºæå° --> |
| | | <el-dialog |
| | | <GlobalWindow |
| | | title="é
ç½®æ¾ç¤ºæå°" |
| | | :visible.sync="isShowSet" |
| | | center |
| | | width="420px" |
| | | :confirm-working="setLoading" |
| | | @confirm="handleSetSub" |
| | | width="560px" |
| | | > |
| | | <div class="set_modal"> |
| | | <div class="mb20"> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="mb10" v-for="group in PlatGroupList" :key="group.id"> |
| | | <div class="title">{{group.name}}</div> |
| | | <div class="list"> |
| | | <div class="item active">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="list"> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item" @click="platformSetClick(item.id)" :class="{ active: item.showConfig }" v-for="item in group.platformList" :key="item.id"> |
| | | <div>{{item.name}}</div> |
| | | <div v-if="item.showConfig" class="bg"></div> |
| | | <i v-if="item.showConfig" class="el-icon-check scs"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="setReset">éç½®</el-button> |
| | | <el-button type="primary" @click="setSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </GlobalWindow> |
| | | <!-- è¿å详æ
--> |
| | | <!-- --> |
| | | <!-- å«å· --> |
| | | <PlatformQueuing ref="PlatformQueuingRef" v-if="isShowQueuing" @success="getList" @close="isShowQueuing = false" /> |
| | | <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" /> |
| | | <PlatformQueuing |
| | | ref="PlatformQueuingRef" |
| | | v-if="isShowQueuing" |
| | | @success="getPlatGroupList" |
| | | @close="isShowQueuing = false" |
| | | /> |
| | | <WaybillDetail |
| | | ref="WaybillDetailRef" |
| | | v-if="isShowDetail" |
| | | @success="getList" |
| | | @close="isShowDetail = false" |
| | | /> |
| | | <el-dialog |
| | | title="转移æå°" |
| | | :visible.sync="isShowTransform" |
| | | width="500px" |
| | | style="margin-top: 12vh" |
| | | > |
| | | <div class="df_ac"> |
| | | <span>éæ©è½¬ç§»å°çæå°ï¼</span> |
| | | <el-select v-model="activePlatId"> |
| | | <el-option |
| | | v-for="item in activeGroup.platformList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowTransform = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="transformSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPlatform, getPlatformJob } from '@/api' |
| | | import { |
| | | getPlatformGroupList, |
| | | platformBeginWork, |
| | | platformFinishWork, |
| | | platformOverNumber, |
| | | platformErr, |
| | | platformMove, |
| | | updUserPlatformConfig, |
| | | |
| | | listByGroupId |
| | | } from '@/api' |
| | | import PlatformQueuing from './components/PlatformQueuing.vue' |
| | | import WaybillDetail from './components/WaybillDetail.vue' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | import { Message } from 'element-ui' |
| | | import { statusMap } from './config' |
| | | dayjs.extend(duration) |
| | | export default { |
| | | components: { |
| | | PlatformQueuing, |
| | | WaybillDetail |
| | | WaybillDetail, |
| | | GlobalWindow |
| | | }, |
| | | data () { |
| | | return { |
| | | platformId: '', |
| | | PlatformList: [], |
| | | dataList: [], |
| | | statusMap, |
| | | activeGroup: {}, |
| | | PlatGroupList: [], |
| | | platList: [], |
| | | platCallList: [], |
| | | isShowTransform: false, |
| | | activePlatId: '', // 转移æå° |
| | | activetaskId: '', |
| | | |
| | | isShowSet: false, // æå°é
ç½® |
| | | setLoading: false, |
| | | |
| | | setParam: {}, |
| | | isShowDetail: false, // è¿å详æ
|
| | | detail: {}, |
| | | isShowQueuing: false |
| | | isShowQueuing: false, |
| | | timer: null |
| | | } |
| | | }, |
| | | created () { |
| | | this.getPlatList() |
| | | this.getList() |
| | | this.getPlatGroupList() |
| | | // this.getList() |
| | | }, |
| | | methods: { |
| | | handleQueuing (row) { |
| | | handleWork (item) { |
| | | platformBeginWork({ jobId: item.id }).then(res => { |
| | | Message.success('å·²å¼å§ä½ä¸') |
| | | this.getPlatGroupList() |
| | | }) |
| | | }, |
| | | handleFinish (item) { |
| | | platformFinishWork({ jobId: item.id }).then(res => { |
| | | Message.success('宿ä½ä¸') |
| | | this.getPlatGroupList() |
| | | }) |
| | | }, |
| | | handleTransform (item, task) { |
| | | this.activePlatId = item.id |
| | | this.activetaskId = task.id |
| | | this.isShowTransform = true |
| | | }, |
| | | transformSub () { |
| | | const { activePlatId, activetaskId } = this |
| | | platformMove({ platformId: activePlatId, jobId: activetaskId }).then(res => { |
| | | Message.success('转移æå°æå') |
| | | this.isShowTransform = false |
| | | this.getPlatGroupList() |
| | | }) |
| | | }, |
| | | handlePass (item) { |
| | | this.$confirm('æ¨ç¡®è®¤è¦å¯¹è¯¥ä»»å¡è¿è¡è¿å·å', '温馨æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | platformOverNumber({ jobId: item.id }).then(ress => { |
| | | Message.success('è¿å·æå') |
| | | this.getPlatGroupList() |
| | | }) |
| | | }) |
| | | }, |
| | | handleErr (item) { |
| | | this.$confirm('æ¨ç¡®è®¤è¦å¯¹è¯¥ä»»å¡è¿è¡å¼å¸¸æèµ·å', '温馨æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | platformErr({ jobId: item.id }).then(ress => { |
| | | Message.success('å¼å¸¸æèµ·æå') |
| | | this.getPlatGroupList() |
| | | }) |
| | | }) |
| | | }, |
| | | platgroupClick (item) { |
| | | this.activeGroup = { ...item } |
| | | this.circulInitTaskList() |
| | | this.timer = setInterval(() => { |
| | | this.circulInitTaskList() |
| | | }, 1000) |
| | | }, |
| | | getPlatGroupList () { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 1 |
| | | }).then(res => { |
| | | this.PlatGroupList = res || [] |
| | | if (res.length > 0) { |
| | | if (this.activeGroup && this.activeGroup.id) { |
| | | this.activeGroup = res.find(item => item.id === this.activeGroup.id) |
| | | } else { |
| | | this.activeGroup = res[0] |
| | | } |
| | | this.circulInitTaskList() |
| | | this.timer = setInterval(() => { |
| | | this.circulInitTaskList() |
| | | }, 1000) |
| | | } |
| | | }) |
| | | }, |
| | | circulInitTaskList () { |
| | | if (this.activeGroup && this.activeGroup.platformList && this.activeGroup.platformList.length > 0) { |
| | | const time = new Date() |
| | | this.activeGroup.platformList.forEach(plat => { |
| | | if (plat.platformWorkVO.platformJobList && plat.platformWorkVO.platformJobList.length > 0) { |
| | | plat.platformWorkVO.platformJobList.forEach(item => { |
| | | if (item.callDate) { |
| | | const timeNum = time.getTime() - new Date(item.callDate).getTime() |
| | | if (timeNum > 3600000) { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('Hå°æ¶måsç§') |
| | | } else { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('måsç§') |
| | | } |
| | | } |
| | | if (item.startDate) { |
| | | const timeNum = time.getTime() - new Date(item.startDate).getTime() |
| | | if (timeNum > 3600000) { |
| | | item.startDateTemp = dayjs.duration(timeNum).format('Hå°æ¶måssç§') |
| | | } else { |
| | | item.startDateTemp = dayjs.duration(timeNum).format('måsç§') |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | this.$forceUpdate() |
| | | } |
| | | }, |
| | | handleQueuing (item) { |
| | | this.isShowQueuing = true |
| | | this.$nextTick(() => { |
| | | this.$refs.PlatformQueuingRef.isShowModal = true |
| | | this.$refs.PlatformQueuingRef.activePlat = { ...item } |
| | | this.$refs.PlatformQueuingRef.getList() |
| | | }) |
| | | }, |
| | | handleDetail () { |
| | |
| | | }) |
| | | }, |
| | | getList () { |
| | | const { platformId } = this |
| | | getPlatformJob({ |
| | | model: { platformId } |
| | | }).then(res => { |
| | | this.dataList = res.records |
| | | }) |
| | | }, |
| | | handleFinish (item) { |
| | | this.$confirm('髿¶åº6å·æå° çA12345 ä½ä¸ç»æ', '温馨æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | }, |
| | | getPlatList () { |
| | | getPlatform({ |
| | | model: {} |
| | | }).then(res => { |
| | | this.PlatformList = res.records |
| | | const { groupId } = this |
| | | listByGroupId(groupId).then(res => { |
| | | this.platList = res |
| | | }) |
| | | }, |
| | | handleSet () { |
| | | this.isShowSet = true |
| | | }, |
| | | setReset () { }, |
| | | setSub () { } |
| | | handleSetSub () { |
| | | const { PlatGroupList } = this |
| | | const ids = [] |
| | | PlatGroupList.forEach(item => { |
| | | item.platformList.forEach(platform => { |
| | | if (platform.showConfig) { |
| | | ids.push(platform.id) |
| | | } |
| | | }) |
| | | }) |
| | | this.setLoading = true |
| | | updUserPlatformConfig(ids).then(res => { |
| | | this.setLoading = false |
| | | Message.success('æ´æ°æå') |
| | | this.isShowSet = false |
| | | this.getPlatGroupList() |
| | | }, () => { |
| | | this.setLoading = false |
| | | }) |
| | | }, |
| | | platformSetClick (id) { |
| | | const { PlatGroupList } = this |
| | | PlatGroupList.forEach(item => { |
| | | item.platformList.forEach(platform => { |
| | | if (platform.id === id) { |
| | | platform.showConfig = !platform.showConfig |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <style lang="scss" scoped> |
| | | @import "@/assets/style/variables.scss"; |
| | | .platform_list { |
| | | width: 100%; |
| | | .item { |
| | | /* padding: 16px 24px; */ |
| | | background: #ffffff; |
| | | border-radius: 2px; |
| | | border: 1px solid #dfe2e8; |
| | | margin-bottom: 12px; |
| | | width: 100%; |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 50px; |
| | | background: linear-gradient(270deg, #ffffff 0%, #ebf6f7 100%); |
| | | background: linear-gradient( 270deg, #FFFFFF 0%, #EBF6F7 100%); |
| | | border-radius: 2px 2px 0px 0px; |
| | | padding: 0 28px; |
| | | padding: 0 20px; |
| | | .shengyin{ |
| | | width: 12px; |
| | | height: 12px; |
| | | margin-right: 3px; |
| | | } |
| | | .left { |
| | | flex: 1; |
| | | display: flex; |
| | |
| | | .status { |
| | | line-height: 25px; |
| | | height: 25px; |
| | | padding: 0 4px; |
| | | background: #00ba67; |
| | | border-radius: 2px; |
| | | color: #ffffff; |
| | | padding: 0 6px; |
| | | } |
| | | .ite { |
| | | margin-right: 30px; |
| | |
| | | justify-content: space-between; |
| | | margin-top: 10px; |
| | | padding: 16px; |
| | | width: calc( 100% - 48px ); |
| | | .info { |
| | | background: #effbf5; |
| | | background: #f4fafb; |
| | | border-radius: 2px; |
| | | border: 1px solid #dfe2e8; |
| | | padding: 16px; |
| | | border-radius: 2px; |
| | | margin-bottom: 10px; |
| | | width: 30%; |
| | | width: calc( 31.6% - 16px ); |
| | | .status { |
| | | .lab { |
| | | font-weight: 500; |
| | | } |
| | | color: #00ba67; |
| | | } |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | margin-bottom: 6px; |
| | | span { |
| | | &:nth-child(1) { |
| | | color: #999999; |
| | | } |
| | | } |
| | | .ite { |
| | | width: 33.3%; |
| | | margin-top: 8px; |
| | | } |
| | | .left { |
| | | .plate { |
| | | .code { |
| | | display: flex; |
| | | font-weight: 600; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 15px; |
| | | color: #111111; |
| | | padding: 4px 5px; |
| | | font-weight: 700; |
| | | border: 1px solid #279baa; |
| | | background-color: #fff; |
| | | border-radius: 4px; |
| | | border: 1px solid $primaryColor; |
| | | padding-right: 4px; |
| | | span { |
| | | &:nth-of-type(1) { |
| | | background: $primaryColor; |
| | | padding: 0 8px; |
| | | color: #fff; |
| | | } |
| | | &:nth-of-type(2) { |
| | | padding-left: 4px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .right { |
| | |
| | | } |
| | | } |
| | | } |
| | | .jobing { |
| | | background: #effbf5; |
| | | .status { |
| | | color: #00ba67; |
| | | } |
| | | } |
| | | .err { |
| | | background: #fef6f6; |
| | | .status { |
| | | color: #ed4545; |
| | | } |
| | | } |
| | | } |
| | | .empty_plat{ |
| | | width: 100%; |
| | | height: 170px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | color: #B2B2B2; |
| | | img{ |
| | | width: 110px; |
| | | } |
| | | } |
| | | } |
| | | .emyty{ |
| | | .head{ |
| | | background: linear-gradient( 270deg, #FFFFFF 0%, #F7F7F7 100%) !important; |
| | | } |
| | | .status{ |
| | | background: #CCCCCC !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .main_head { |
| | | .main_header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .tabs { |
| | | position: relative; |
| | | .platgroup_tabs { |
| | | flex: 1; |
| | | display: flex; |
| | | border-bottom: 1px solid #dfe2e8; |
| | | .tab { |
| | | color: #666666; |
| | | margin-right: 40px; |
| | | cursor: pointer; |
| | | padding-bottom: 18px; |
| | | border-bottom: 2px solid #fff; |
| | | } |
| | | .active { |
| | | font-weight: 500; |
| | | font-size: 15px; |
| | | color: #222222; |
| | | border-bottom: 2px solid $primary-color; |
| | | } |
| | | } |
| | | .ml20 { |
| | | position: absolute; |
| | | width: 120px; |
| | | height: 36px; |
| | | right: 0; |
| | | top: -4px; |
| | | } |
| | | } |
| | | /* */ |
| | |
| | | } |
| | | .list { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | .item { |
| | | cursor: pointer; |
| | | width: 30%; |
| | | height: 32px; |
| | | padding: 0 36px; |
| | | height: 36px; |
| | | border: 1px solid #dfe2e8; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | border-radius: 2px; |
| | | margin-bottom: 12px; |
| | | margin-bottom: 10px; |
| | | margin-right: 13px; |
| | | position: relative; |
| | | overflow: hidden; |
| | | .bg{ |
| | | position: absolute; |
| | | right: -12px; |
| | | bottom: -12px; |
| | | width: 24px; |
| | | height: 24px; |
| | | background: $primaryColor; |
| | | transform: rotate(45deg); |
| | | } |
| | | .scs{ |
| | | position: absolute; |
| | | right: -1px; |
| | | bottom: -1px; |
| | | color: #fff; |
| | | z-index: 99999; |
| | | transform:scale(.8) |
| | | } |
| | | } |
| | | .active { |
| | | background: rgba(39, 155, 170, 0.06); |
| | | border: 1px solid #279baa; |
| | | color: #279baa; |
| | | background: rgba(39,155,170,0.06); |
| | | border: 1px solid $primaryColor; |
| | | color: $primaryColor; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <div class="df_ac mb20"> |
| | | <el-select v-model="filters.currentPlatform" class="w300"> |
| | | <el-option v-for="item in platformList" :key="item.id"></el-option> |
| | | </el-select> |
| | | <el-input v-model="filters.id" placeholder="车çå·" class="ml20 w200" /> |
| | | <el-button type="primary" class="ml20" @click="getList()">æ¥è¯¢</el-button> |
| | | <el-button class="ml20" @click="clear">éç½®</el-button> |
| | | <div class="mb20 main_header"> |
| | | <div class="platgroup_tabs"> |
| | | <div |
| | | class="tab" |
| | | :class="{ active: activeGroup.id === item.id }" |
| | | @click="platgroupClick(item)" |
| | | v-for="(item, i) in PlatGroupList" |
| | | :key="i" |
| | | > |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <div class="platform_list"> |
| | | <div class="item" v-for="i in 2"> |
| | | <div class="head"> |
| | | <div class="name">6å·æå°</div> |
| | | <div class="status"> |
| | | <span class="green">ä½ä¸ä¸</span> |
| | | <span class="">ä½ä¸ï¼1</span> |
| | | <span>å«å·ï¼1</span> |
| | | <span>çå¾
ï¼1</span> |
| | | <span class="red">å¼å¸¸ï¼1</span> |
| | | </div> |
| | | <!-- <el-button type="primary">å«å·</el-button> --> |
| | | </div> |
| | | <div class="info" v-for="j in 3"> |
| | | <div class="line"> |
| | | <div class="left"> |
| | | <span class="plate mr20">çA12122</span> |
| | | <span class="placeholder9">驾驶å</span> |
| | | <span>çææ</span> |
| | | <span>18888888888</span> |
| | | </div> |
| | | <div class="right"> |
| | | <span class="green">ä½ä¸ä¸</span> |
| | | <span class="placeholder9 ml20">ä½ä¸æ¶é¿ï¼23åé26ç§</span> |
| | | </div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="left"> |
| | | <div> |
| | | <span>è¿è¾åå·</span |
| | | ><span class="ml10 placeholder9">1231231</span> |
| | | </div> |
| | | <div> |
| | | <span>æ»è¿è¾é</span |
| | | ><span class="ml10 placeholder9">3000䏿¯</span |
| | | ><span class="primaryColor ml10 pointer">è¿å详æ
</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- é
ç½®æ¾ç¤ºæå° --> |
| | | <el-dialog |
| | | title="é
ç½®æ¾ç¤ºæå°" |
| | | :visible.sync="isShowSet" |
| | | center |
| | | width="420px" |
| | | > |
| | | <div class="set_modal"> |
| | | <div class="mb20"> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="list"> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="list"> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="setReset">éç½®</el-button> |
| | | <el-button type="primary" @click="setSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- è¿å详æ
--> |
| | | <el-dialog |
| | | title="é
ç½®æ¾ç¤ºæå°" |
| | | :visible.sync="isShowSet" |
| | | center |
| | | width="420px" |
| | | > |
| | | <div class="set_modal"> |
| | | <div class="mb20"> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="list"> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="title">å
¥åºæå°ç»</div> |
| | | <div class="list"> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | <div class="item">1å·æå°</div> |
| | | <div class="item">2å·æå°</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="setReset">éç½®</el-button> |
| | | <el-button type="primary" @click="setSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getPlatformGroupList |
| | | } from '@/api' |
| | | export default { |
| | | data () { |
| | | return { |
| | | filters: {}, |
| | | platformList: [], |
| | | activeGroup: {}, |
| | | PlatGroupList: [], |
| | | |
| | | isShowSet: false, // æå°é
ç½® |
| | | setParam: {}, |
| | |
| | | detail: {} |
| | | } |
| | | }, |
| | | created () { |
| | | this.getPlatGroupList() |
| | | }, |
| | | methods: { |
| | | getPlatGroupList () { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 1 |
| | | }).then(res => { |
| | | this.PlatGroupList = res || [] |
| | | if (this.activeGroup && this.activeGroup.id) { |
| | | this.activeGroup = res.find(item => item.id === this.activeGroup.id) |
| | | } else { |
| | | this.activeGroup = res[0] |
| | | } |
| | | }) |
| | | }, |
| | | platgroupClick (item) { |
| | | this.activeGroup = { ...item } |
| | | }, |
| | | getList () { }, |
| | | clear () { } |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .platform_list { |
| | | .item { |
| | | padding: 16px 24px; |
| | | border-radius: 2px; |
| | | border: 2px solid #cccccc; |
| | | margin-bottom: 12px; |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .name { |
| | | font-size: 16px; |
| | | } |
| | | .status { |
| | | flex: 1; |
| | | margin-left: 50px; |
| | | span { |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | } |
| | | .info { |
| | | margin-top: 10px; |
| | | border: 1px solid #999999; |
| | | padding: 6px 8px; |
| | | border-radius: 2px; |
| | | margin-bottom: 10px; |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 6px; |
| | | .left { |
| | | .plate { |
| | | border: 1px solid #4969f6; |
| | | border-radius: 2px; |
| | | padding: 0 5px; |
| | | } |
| | | } |
| | | .right { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* */ |
| | | .set_modal { |
| | | .title { |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | margin-bottom: 16px; |
| | | } |
| | | .list { |
| | | @import "@/assets/style/variables.scss"; |
| | | .main_header { |
| | | .platgroup_tabs { |
| | | flex: 1; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | .item { |
| | | border-bottom: 1px solid #dfe2e8; |
| | | .tab { |
| | | color: #666666; |
| | | margin-right: 40px; |
| | | cursor: pointer; |
| | | width: 30%; |
| | | height: 32px; |
| | | background-color: #d9d9d9; |
| | | border: 1px solid #4d99a7; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | border-radius: 6px; |
| | | margin-bottom: 12px; |
| | | padding-bottom: 18px; |
| | | border-bottom: 2px solid #fff; |
| | | } |
| | | .active { |
| | | font-weight: 500; |
| | | font-size: 15px; |
| | | color: #222222; |
| | | border-bottom: 2px solid $primary-color; |
| | | } |
| | | } |
| | | } |
| | |
| | | color: #999999 !important; |
| | | font-size: 28rpx; |
| | | } |
| | | .red{ |
| | | color: red !important; |
| | | } |
| | | |
| | | //设置åè§ |
| | | checkbox .uni-checkbox-input { |
| | |
| | | .ml12 { |
| | | margin-left: 12rpx; |
| | | } |
| | | .ml6 { |
| | | margin-left: 6rpx; |
| | | } |
| | | .mt6 { |
| | | margin-top: 6rpx; |
| | | } |
| | |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // ä»»å¡ç¡®è®¤ |
| | | export const driverConfirmTask = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/driverPlatform/confirmTask', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // ä»»å¡ç¾å° |
| | | export const driverSignInTask = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/driverPlatform/signIn', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | Vue.component('navigation', navigation) |
| | | Vue.prototype.$store = store |
| | | Vue.prototype.$jump = (url) => {uni.navigateTo({url})} |
| | | Vue.prototype.$goBack = () => { uni.navigateBack() } |
| | | Vue.prototype.$goBack = () => { setTimeout(() => {uni.navigateBack()},300) } |
| | | Vue.prototype.showToast = (str) => { |
| | | uni.showToast({ |
| | | title: str, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: str, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }) |
| | | }) |
| | | } |
| | | Vue.prototype.$eventBus = new Vue() |
| | |
| | | "/admin_interface" : { |
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å |
| | | // "target" : "http://192.168.0.173/admin_interface", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://192.168.0.135:10010", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://192.168.0.139:10010", // 代çæå¡å¨ååæIPå°å |
| | | "changeOrigin" : true, // å
许跨å |
| | | "pathRewrite" : { |
| | | "^/admin_interface" : "" // éåå°åï¼å¦æå®é
æ¥å£ä¸æ¯ä¸å¸¦/dev-apiï¼éè¦å°è¿ä¸ªåç¼ç½®ç©ºï¼å 为è¿ä¸ªåç¼åªæ¯ä¸ºäºè¯å«ç¨ï¼è¯å«å®ä¹å就没ç¨äº |
| | |
| | | <view class="login_list"> |
| | | <view class="login_list_item"> |
| | | <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> |
| | | <input v-model="form.phone" maxlength="18" placeholder="请è¾å
¥ææºå·" /> |
| | | <input v-model="form.phone" :maxlength="11" placeholder="请è¾å
¥ææºå·" /> |
| | | </view> |
| | | <view class="login_list_item"> |
| | | <image src="@/static/ic_captcha.png" mode="widthFix"></image> |
| | |
| | | } |
| | | }, |
| | | |
| | | onLoad() { |
| | | onLoad(option) { |
| | | if(option.phone){ |
| | | this.$set(this.form, 'phone', option.phone) |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | ...form |
| | | }).then(res => { |
| | | if (res && res.code == 200) { |
| | | this.showToast('å¯ç ä¿®æ¹æå,è¯·éæ°ç»å½') |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: 'å¯ç ä¿®æ¹æå,è¯·éæ°ç»å½', |
| | | icon: 'success', |
| | | duration: 2000 |
| | | }) |
| | | }) |
| | | uni.redirectTo({ |
| | | url: "/pages/staffLogin/login" |
| | | }) |
| | | uni.redirectTo({ |
| | | url: "/pages/driver/login" |
| | | }) |
| | | }, 500) |
| | | } |
| | | }) |
| | | } |
| | |
| | | <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image> |
| | | </view> |
| | | <!-- --> |
| | | <view class="task_list"> |
| | | <view v-if="taskList && taskList.length > 0" class="task_list"> |
| | | <swiper circular class="task_swiper"> |
| | | <swiper-item v-for="item in taskList" :key="item.id"> |
| | | <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)"> |
| | | <view class="item"> |
| | | <view class="head"> |
| | | <view class="name">è¿è¾å{{ item.contractNum }}</view> |
| | |
| | | </view> |
| | | <view class="sub"> |
| | | <view class="time" v-if="item.arriveDate">{{ item.arriveDate.slice(5) }}</view> |
| | | <view v-if="item.status == 0" class="sub_btn" @click="handleTask(item)">确认任å¡</view> |
| | | <view v-if="item.status == 1" class="sub_btn" @click="handleSign(item)">ç«å³ç¾å°</view> |
| | | <view v-if="item.status == 2" class="sub_btn" @click="handleQueup(item)">æ¥çæé</view> |
| | | <view v-if="item.status == 0" class="sub_btn">确认任å¡</view> |
| | | <view v-if="item.status == 1" class="sub_btn">ç«å³ç¾å°</view> |
| | | <view v-if="item.status == 2" class="sub_btn">æ¥çæé</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | |
| | | }; |
| | | }, |
| | | created() { |
| | | onShow() { |
| | | this.initData(); |
| | | }, |
| | | methods: { |
| | | handleSign(item) { |
| | | uni.navigateTo({ |
| | | url: '/pages/driver/taskDetail?id=' + item.id |
| | | }); |
| | | }, |
| | | handleQueup(item) {}, |
| | | initData() { |
| | | driverHomeData().then(res => { |
| | | if (res.code == 200) { |
| | | uni.setStorageSync('driverGuide', { |
| | | bookingTips: res.data.bookingTips, |
| | | reservationMap: res.data.reservationMap |
| | | reservationMap: res.data.reservationMap, |
| | | signDistance: res.data.signDistance |
| | | }); |
| | | this.taskList = res.data.platformJobList || [] |
| | | } |
| | |
| | | url: '/pages/driver/login' |
| | | }); |
| | | }, |
| | | handleTask(status) { |
| | | if (status == 1) { |
| | | return uni.navigateTo({ |
| | | url: '/pages/driver/taskDetail' |
| | | }); |
| | | taskClick(item) { |
| | | const status = item.status |
| | | console.log(item); |
| | | if(status == 0){ |
| | | uni.navigateTo({url: '/pages/driver/taskConfirm?id=' + item.id}); |
| | | }else if(status == 2){ |
| | | uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id}) |
| | | }else{ |
| | | uni.navigateTo({url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`}); |
| | | } |
| | | }, |
| | | handleTask(item) { |
| | | uni.navigateTo({ |
| | | url: '/pages/driver/taskConfirm' |
| | | url: '/pages/driver/taskConfirm?id=' + item.id |
| | | }); |
| | | } |
| | | }, |
| | | handleSign(item) { |
| | | uni.navigateTo({ |
| | | url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}` |
| | | }); |
| | | }, |
| | | handleQueue(item) { |
| | | uni.navigateTo({ |
| | | url:'/pages/driver/queueUp?jobId=' + item.id |
| | | }) |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | position: relative; |
| | | width: 688rpx; |
| | | height: 270rpx; |
| | | margin-bottom: 40rpx; |
| | | margin-bottom: 28rpx; |
| | | .h1 { |
| | | font-weight: bold; |
| | | line-height: 66rpx; |
| | |
| | | } |
| | | } |
| | | .task_list { |
| | | margin-bottom: 48rpx; |
| | | margin-bottom: 0rpx; |
| | | .task_swiper { |
| | | padding: 16rpx 10rpx; |
| | | height: 320rpx; |
| | | padding: 12rpx 10rpx; |
| | | height: 340rpx; |
| | | width: 730rpx; |
| | | margin-left: -20rpx; |
| | | box-sizing: border-box; |
| | | } |
| | | .item { |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(39, 155, 170, 0.32); |
| | | box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32); |
| | | border-radius: 16rpx; |
| | | height: 280rpx; |
| | | width: 98%; |
| | |
| | | }, |
| | | handleSetPsd() { |
| | | uni.navigateTo({ |
| | | url: "/pages/driver/forgetPsd" |
| | | url: "/pages/driver/forgetPsd?phone=" + this.form.username |
| | | }) |
| | | }, |
| | | dealChange(e) { |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_name"> |
| | | <text class="mr12">ç©æµå
¥åºæå°</text> |
| | | <text class="mr12" @click="showPlat = true">{{ |
| | | activePlatform.name |
| | | }}</text> |
| | | <u-icon name="arrow-down" color="#777777"></u-icon> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_list"> |
| | | <view class="item" @click="handleCheck()"> |
| | | <view class="item" @click="handleCheck(1)"> |
| | | <view class="h1">ä½ä¸ä¸è½¦è¾</view> |
| | | <view class="h2"> |
| | | <text>4</text> |
| | | <text v-if="activePlatform.signJobList">{{ |
| | | activePlatform.workJobList.length |
| | | }}</text> |
| | | <text class="unit">è¾</text> |
| | | </view> |
| | | <image |
| | |
| | | mode="" |
| | | ></image> |
| | | </view> |
| | | <view class="item cyan"> |
| | | <view class="h1">ä½ä¸ä¸è½¦è¾</view> |
| | | <view class="item cyan" @click="handleCheck(0)"> |
| | | <view class="h1">å·²ç¾å°è½¦è¾</view> |
| | | <view class="h2"> |
| | | <text>4</text> |
| | | <text v-if="activePlatform.workJobList">{{ |
| | | activePlatform.signJobList.length |
| | | }}</text> |
| | | <text class="unit">è¾</text> |
| | | </view> |
| | | <image |
| | |
| | | ></image> |
| | | </view> |
| | | </view> |
| | | |
| | | <u-picker |
| | | :show="showPlat" |
| | | keyName="name" |
| | | :columns="[platformGroupList]" |
| | | @cancel="showPlat = false" |
| | | @confirm="platConfirm" |
| | | ></u-picker> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { driverLineUpDetail } from '@/api' |
| | | import { driverLineUpDetail } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | activePlatform: {}, |
| | | platformGroupList: [], |
| | | showPlat: false, |
| | | jobId: '' |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.getData() |
| | | }, |
| | | onLoad(option) { |
| | | this.jobId = option.jobId |
| | | this.getData(option.jobId || '') |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | driverLineUpDetail({ |
| | | mobile: uni.getStorageSync('driverInfo').mobile, |
| | | queryType: 0 |
| | | }) |
| | | }, |
| | | handleCheck() { |
| | | uni.navigateTo({ |
| | | url: "/pages/driver/queueUpRecord" |
| | | getData(jobId) { |
| | | driverLineUpDetail({ |
| | | mobile: jobId ? '' : uni.getStorageSync('driverInfo').mobile, |
| | | queryType: jobId ? 1 : 0, |
| | | jobId: jobId |
| | | }).then(res => { |
| | | this.platformGroupList = res.data.platformGroupList |
| | | if (res.data && res.data.platformGroupList && res.data.platformGroupList.length > 0) { |
| | | this.activePlatform = res.data.platformGroupList[0] |
| | | } |
| | | }) |
| | | }, |
| | | platConfirm(e) { |
| | | const index = e.indexs[0] |
| | | this.activePlatform = this.platformGroupList[index] |
| | | this.showPlat = false |
| | | }, |
| | | handleCheck(type) { |
| | | if(this.jobId){ |
| | | uni.navigateTo({ |
| | | url: `/pages/driver/queueUpRecord?type=${type}&platformId=${this.activePlatform.id}&jobId=${this.jobId}` |
| | | }) |
| | | }else{ |
| | | uni.navigateTo({ |
| | | url: `/pages/driver/queueUpRecord?type=${type}&platformId=${this.activePlatform.id}` |
| | | }) |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_name"> |
| | | <text class="mr12">ç©æµå
¥åºæå°</text> |
| | | <u-icon name="arrow-down" color="#777777"></u-icon> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_list"> |
| | | <view class="item"> |
| | | <view class="status">ä½ä¸ä¸</view> |
| | | <image |
| | | class="avatar" |
| | | src="@/static/driver/ic_truck@2x.png" |
| | | mode="" |
| | | ></image> |
| | | <view class="content"> |
| | | <view class="id_card">çA</view> |
| | | <view class="line"> |
| | | <view class="address">4å·æå°</view> |
| | | <view class="time"> |
| | | <u-icon class="mr6" name="clock" color="#4d98a8"></u-icon> |
| | | <text>01:02:02</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="item active"> |
| | | <view class="status padding">ä½ä¸ä¸</view> |
| | | <view class="me">æ</view> |
| | | <image |
| | | class="avatar" |
| | | src="@/static/driver/ic_truck@2x.png" |
| | | mode="" |
| | | ></image> |
| | | <view class="content"> |
| | | <view class="id_card">çA</view> |
| | | <view class="line"> |
| | | <view class="address">4å·æå°</view> |
| | | <view class="time"> |
| | | <u-icon class="mr6" name="clock" color="#4d98a8"></u-icon> |
| | | <text>01:02:02</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="main_app"> |
| | | <view class="main_name"> |
| | | <text class="mr12">{{ platformObj.name }}</text> |
| | | <!-- <u-icon name="arrow-down" color="#777777"></u-icon> --> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_list"> |
| | | <view class="item" :class="{ active: item.driverId == driverInfo.memberId }" v-for="item in dataList" :key="item.id"> |
| | | <view class="status padding" v-if="item.status == 2">æéä¸</view> |
| | | <view class="status" v-else :class="{ padding: item.status != 5 }">{{ statusMap[item.status] }}</view> |
| | | <view v-if="item.driverId == driverInfo.memberId" class="me">æ</view> |
| | | <image v-if="item.driverId == driverInfo.memberId" class="avatar" src="@/static/driver/ic_truck_mine@2x.png" mode=""></image> |
| | | <image v-else class="avatar" src="@/static/driver/ic_truck@2x.png" mode=""></image> |
| | | <view class="content"> |
| | | <view class="id_card" v-if="item.carCodeFront">{{ item.carCodeFront.slice(0, 4) }}**{{ item.carCodeFront.slice(6) }}</view> |
| | | <view class="line"> |
| | | <view class="address">{{ item.platformName || 'çå¾
åé
æå°' }}</view> |
| | | <view class="time" v-if="item.status == 5"> |
| | | <u-icon class="mr6" name="clock" color="#4d98a8"></u-icon> |
| | | <text>{{item.callDateTemp}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { driverLineUpDetail } 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 { |
| | | |
| | | } |
| | | } |
| | | } |
| | | data() { |
| | | return { |
| | | statusMap, |
| | | platformId: '', |
| | | type: '', |
| | | dataList: [], |
| | | platformObj: {}, |
| | | driverInfo: uni.getStorageSync('driverInfo') |
| | | }; |
| | | }, |
| | | onLoad(option) { |
| | | this.type = option.type; |
| | | this.platformId = option.platformId; |
| | | this.getData(option.jobId || ''); |
| | | }, |
| | | methods: { |
| | | getData(jobId) { |
| | | const { platformId, type } = this; |
| | | driverLineUpDetail({ |
| | | mobile: jobId ? '' : uni.getStorageSync('driverInfo').mobile, |
| | | queryType: jobId ? 1 : 0, |
| | | jobId: jobId |
| | | }).then(res => { |
| | | this.platformGroupList = res.data.platformGroupList; |
| | | if (res.data && res.data.platformGroupList && res.data.platformGroupList.length > 0) { |
| | | res.data.platformGroupList.forEach(item => { |
| | | if (item.id == platformId) { |
| | | this.platformObj = { ...item }; |
| | | if (type == 0) { |
| | | this.dataList = item.signJobList; |
| | | } else { |
| | | this.dataList = item.workJobList; |
| | | } |
| | | this.circulInitTaskList() |
| | | setInterval(() => { |
| | | this.circulInitTaskList() |
| | | }, 1000) |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | circulInitTaskList() { |
| | | let time = new Date(); |
| | | this.dataList.forEach(item => { |
| | | if (item.callDate) { |
| | | let timeNum = time.getTime() - new Date(item.callDate).getTime(); |
| | | if (timeNum > 3600000) { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('HH:mm:ss'); |
| | | } else { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('mm:ss'); |
| | | } |
| | | } |
| | | if (item.startDate) { |
| | | let timeNum = time.getTime() - new Date(item.startDate).getTime(); |
| | | if (timeNum > 3600000) { |
| | | item.startDateTemp = dayjs.duration(timeNum).format('HH:mm:ss'); |
| | | } else { |
| | | item.startDateTemp = dayjs.duration(timeNum).format('mm:ss'); |
| | | } |
| | | } |
| | | }); |
| | | this.$forceUpdate(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #f7f7f7; |
| | | background-color: #f7f7f7; |
| | | } |
| | | .main_app { |
| | | .main_name { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 104rpx; |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | background-color: #fff; |
| | | margin: 0 -30rpx 20rpx; |
| | | } |
| | | .main_list { |
| | | .item { |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | padding: 30rpx; |
| | | background-color: #fff; |
| | | margin-bottom: 20rpx; |
| | | border-radius: 8rpx; |
| | | .status { |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | height: 50rpx; |
| | | line-height: 50rpx; |
| | | padding: 0 20rpx; |
| | | background: $uni-color-primary; |
| | | color: #fff; |
| | | font-size: 26rpx; |
| | | border-radius: 0rpx 8rpx 0rpx 25rpx; |
| | | } |
| | | .me { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | background: #00ba67; |
| | | border-radius: 8rpx 0rpx 8rpx 0rpx; |
| | | height: 42rpx; |
| | | line-height: 42rpx; |
| | | width: 64rpx; |
| | | text-align: center; |
| | | color: #fff; |
| | | font-size: 24rpx; |
| | | z-index: 11; |
| | | } |
| | | .padding { |
| | | background: #e9f5f6; |
| | | color: $uni-color-primary; |
| | | } |
| | | .avatar { |
| | | width: 84rpx; |
| | | height: 84rpx; |
| | | margin-right: 20rpx; |
| | | } |
| | | .content { |
| | | flex: 1; |
| | | .id_card { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: #111111; |
| | | } |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | color: #999999; |
| | | margin-top: 6rpx; |
| | | .time { |
| | | display: flex; |
| | | align-items: center; |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .active { |
| | | background: linear-gradient(270deg, #ffffff 0%, #e1f7fe 100%); |
| | | } |
| | | } |
| | | .main_name { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 104rpx; |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | background-color: #fff; |
| | | margin: 0 -30rpx 20rpx; |
| | | } |
| | | .main_list { |
| | | .item { |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | padding: 30rpx; |
| | | background-color: #fff; |
| | | margin-bottom: 20rpx; |
| | | border-radius: 8rpx; |
| | | .status { |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | height: 50rpx; |
| | | line-height: 50rpx; |
| | | padding: 0 20rpx; |
| | | background: $uni-color-primary; |
| | | color: #fff; |
| | | font-size: 26rpx; |
| | | border-radius: 0rpx 8rpx 0rpx 25rpx; |
| | | } |
| | | .me { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | background: #00ba67; |
| | | border-radius: 8rpx 0rpx 8rpx 0rpx; |
| | | height: 42rpx; |
| | | line-height: 42rpx; |
| | | width: 64rpx; |
| | | text-align: center; |
| | | color: #fff; |
| | | font-size: 24rpx; |
| | | z-index: 11; |
| | | } |
| | | .padding { |
| | | background: #e9f5f6; |
| | | color: $uni-color-primary; |
| | | } |
| | | .avatar { |
| | | width: 84rpx; |
| | | height: 84rpx; |
| | | margin-right: 20rpx; |
| | | background-color: #fff; |
| | | } |
| | | .content { |
| | | flex: 1; |
| | | .id_card { |
| | | font-weight: 500; |
| | | font-size: 30rpx; |
| | | color: #111111; |
| | | } |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | color: #999999; |
| | | margin-top: 6rpx; |
| | | .time { |
| | | display: flex; |
| | | align-items: center; |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .active { |
| | | background: linear-gradient(270deg, #ffffff 0%, #e1f7fe 100%); |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | ...form |
| | | }).then(res => { |
| | | if (res && res.code == 200) { |
| | | this.showToast('注åæå,请åå¾ç»å½') |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: '注åæå,请åå¾ç»å½', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }) |
| | | }) |
| | | uni.redirectTo({ |
| | | url: "/pages/driver/login" |
| | | }) |
| | | uni.redirectTo({ |
| | | url: "/pages/driver/login" |
| | | }) |
| | | }, 500) |
| | | } |
| | | }) |
| | | } |
| | |
| | | this.$forceUpdate(); |
| | | this.closeInput(); |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close(); |
| | | }, |
| | | copy(){ |
| | | if(this.param.carCodeFront){ |
| | | this.$set(this.param, 'carCodeBack', this.param.carCodeFront) |
| | | this.showToast('å¤å¶æå'); |
| | | } |
| | | |
| | | }, |
| | | handleUpload() { |
| | | let token = uni.getStorageSync('token') || '' |
| | |
| | | } |
| | | }) |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | <view class="status_wrap"> |
| | | <view class="name">{{info.driverName}}çå
¥åé¢çº¦</view> |
| | | <view class="desc">{{info.carCodeFront}}</view> |
| | | <view class="status">{{ statusMap[info.status] }}</view> |
| | | <view class="status" v-if="info.status != 2 && info.status != 3">{{ statusMap[info.status] }}</view> |
| | | <image v-if="info.status == 2" class="icon" src="../../static/ic_passed@2x.png" mode=""></image> |
| | | <image v-if="info.status == 3" class="icon" src="../../static/ic_refused@2x.png" mode=""></image> |
| | | </view> |
| | | <!-- --> |
| | | <view class="emyty"></view> |
| | |
| | | statusMap: { |
| | | 0: 'å¾
审æ¹', |
| | | 1: '审æ¹ä¸', |
| | | 2: '审æ¹éè¿', |
| | | 3: '审æ¹ä¸éè¿', |
| | | 2: 'å·²éè¿', |
| | | 3: 'å·²æç»', |
| | | 4: '已忶', |
| | | }, |
| | | } |
| | |
| | | .status_wrap { |
| | | position: relative; |
| | | padding: 30rpx 0; |
| | | |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | |
| | | background-color: #e9edff; |
| | | color: $uni-color-primary; |
| | | } |
| | | .icon{ |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | border-radius: 50%; |
| | | position: absolute; |
| | | right: 0rpx; |
| | | top: 20rpx; |
| | | |
| | | } |
| | | } |
| | | |
| | | .main_footer { |
| | |
| | | > |
| | | <view class="box_list_item_head"> |
| | | <text>{{item.driverName}}çå
¥åé¢çº¦</text> |
| | | <text class="loading">{{ statusMap[item.status] }}</text> |
| | | <text class="loading" :class="{red: item.status == 3}">{{ statusMap[item.status] }}</text> |
| | | </view> |
| | | <view class="box_list_item_nr"> |
| | | <view class="box_list_item_nr_item"> |
| | |
| | | statusMap: { |
| | | 0: 'å¾
审æ¹', |
| | | 1: '审æ¹ä¸', |
| | | 2: '审æ¹éè¿', |
| | | 3: '审æ¹ä¸éè¿', |
| | | 2: 'å·²éè¿', |
| | | 3: 'å·²æç»', |
| | | 4: '已忶', |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="status_wrap"> |
| | | <image |
| | | class="bg" |
| | | src="../../static/driver/bg_renwu@2x.png" |
| | | mode="" |
| | | ></image> |
| | | <view class="name">ä½ä¸å·²å®æ</view> |
| | | <view class="id_card">çAD1212</view> |
| | | <view class="status">ä½ä¸å®æ</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_content"> |
| | | <view class="line"> |
| | | <view class="label">叿ºå§å</view> |
| | | <view class="value">åæ</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ææºå·</view> |
| | | <view class="value">188</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="showDetail = true"> |
| | | <text class="waybill_num">Y111</text> |
| | | <text class="btn">è¿å详æ
</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸ç±»å</view> |
| | | <view class="value">å
¥åè£
è´§</view> |
| | | </view> |
| | | <view class="empty"></view> |
| | | <!-- --> |
| | | <view class="line"> |
| | | <view class="label">车åçç
§å·</view> |
| | | <view class="value" @click="openInput(1)"> |
| | | <text :style="{ color: param.carNos ? '#000000' : '#999999' }">{{ |
| | | param.carNos ? param.carNos : "请è¾å
¥è½¦åçç
§å·" |
| | | }}</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">车åçç
§å·</view> |
| | | <view class="value"> |
| | | <text |
| | | @click="openInput(1)" |
| | | :style="{ color: param.carNos ? '#000000' : '#999999' }" |
| | | >{{ param.carNos ? param.carNos : "请è¾å
¥è½¦åçç
§å·" }}</text |
| | | > |
| | | <text class="copy">å¤å¶è½¦åçç
§å·</text> |
| | | </view> |
| | | </view> |
| | | <!-- --> |
| | | </view> |
| | | <view class="space"></view> |
| | | <!-- çå¾
å«å· --> |
| | | <view class="sub_wrap"> |
| | | <view class="btn check">确认任å¡</view> |
| | | </view> |
| | | <view class="main_app"> |
| | | <view class="status_wrap"> |
| | | <image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image> |
| | | <view class="name">请确认任å¡</view> |
| | | <view class="id_card">{{ param.carCodeFront }}</view> |
| | | <view class="status">ä»»å¡å¾
确认</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_content"> |
| | | <view class="line"> |
| | | <view class="label">叿ºå§å</view> |
| | | <view class="value">{{ param.driverName }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ææºå·</view> |
| | | <view class="value">{{ param.drivierPhone }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="showDetail = true"> |
| | | <text class="waybill_num">{{ param.contractNum }}</text> |
| | | <text class="btn">è¿å详æ
</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸ç±»å</view> |
| | | <view class="value">{{ param.inType == 0 ? 'æ´æç' : 'ä»¶ç' }}</view> |
| | | </view> |
| | | <view class="empty"></view> |
| | | <!-- --> |
| | | <view class="line"> |
| | | <view class="label">å°åºæ¥æ<text class="red ml6">*</text></view> |
| | | <view class="value" @click="showDate = true"> |
| | | <view :class="param.date ? '' : 'placeholder9'">{{ param.date ? param.date : 'è¯·éæ©' }}</view> |
| | | <u-icon color="#999999" name="arrow-right"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">车åçç
§å·</view> |
| | | <view class="value" @click="openInput(1)"> |
| | | <text :style="{ color: param.carCodeFront ? '#000000' : '#999999' }">{{ param.carCodeFront ? param.carCodeFront : '请è¾å
¥è½¦åçç
§å·' }}</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">车åçç
§å·<text class="red ml6">*</text></view> |
| | | <view class="value"> |
| | | <text @click="openInput(2)" :style="{ color: param.carCodeBack ? '#000000' : '#999999' }">{{ param.carCodeBack ? param.carCodeBack : '请è¾å
¥è½¦åçç
§å·' }}</text> |
| | | <text class="copy" @click="copy">å¤å¶è½¦åçç
§å·</text> |
| | | </view> |
| | | </view> |
| | | <!-- --> |
| | | </view> |
| | | <view class="space"></view> |
| | | <!-- çå¾
å«å· --> |
| | | <view class="sub_wrap"><view class="btn check" @click="onSubmit">确认任å¡</view></view> |
| | | |
| | | <!-- modal --> |
| | | <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 class="id_card"> |
| | | <view class="last">ç</view> |
| | | <view class="name">AD1111</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="info"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">驾驶å</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ»è¿è¾é</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾å
¬å¸</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | </view> |
| | | <view class="separate"></view> |
| | | <view class="contract_list"> |
| | | <view class="title">ååå·ï¼111</view> |
| | | <view class="address">aadd</view> |
| | | <view class="list"> |
| | | <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> |
| | | </u-popup> |
| | | <keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" /> |
| | | </view> |
| | | <!-- --> |
| | | <!-- modal --> |
| | | <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 class="id_card"> |
| | | <view class="last">ç</view> |
| | | <view class="name">AD1111</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="info"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">驾驶å</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ»è¿è¾é</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾å
¬å¸</view> |
| | | <view class="value">2222</view> |
| | | </view> |
| | | </view> |
| | | <view class="separate"></view> |
| | | <view class="contract_list"> |
| | | <view class="title">ååå·ï¼111</view> |
| | | <view class="address">aadd</view> |
| | | <view class="list"> |
| | | <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> |
| | | </u-popup> |
| | | <u-datetime-picker :show="showDate" v-model="param.date" :minDate="minDate" @confirm="dateEnter" @cancel="showDate = false" mode="datetime"></u-datetime-picker> |
| | | <keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" /> |
| | | </view> |
| | | <!-- --> |
| | | </template> |
| | | |
| | | <script> |
| | | import keyboardInput from '@/components/keyboard-input/keyboard-input.vue' |
| | | import keyboardInput from '@/components/keyboard-input/keyboard-input.vue'; |
| | | import { driverTaskJobDetail, driverConfirmTask } from '@/api'; |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | components: { |
| | | keyboardInput |
| | | }, |
| | | data() { |
| | | return { |
| | | param: { |
| | | status: '0' |
| | | }, |
| | | showDetail: false, |
| | | components: { |
| | | keyboardInput |
| | | }, |
| | | data() { |
| | | return { |
| | | param: {}, |
| | | showDate: false, |
| | | showDetail: false, |
| | | minDate: '', |
| | | |
| | | inputType: '' |
| | | } |
| | | }, |
| | | methods: { |
| | | handleSignIn() { |
| | | const { param } = this |
| | | this.param.status = param.status == '0' ? '1' : '0' |
| | | }, |
| | | getLocation() { |
| | | uni.getLocation({ |
| | | type: 'wgs84', |
| | | success: function (res) { |
| | | console.log('å½åä½ç½®çç»åº¦ï¼' + res.longitude) |
| | | console.log('å½åä½ç½®ç纬度ï¼' + res.latitude) |
| | | } |
| | | }) |
| | | }, |
| | | openInput(type) { |
| | | this.inputType = type |
| | | this.$refs.keyboard.open() |
| | | }, |
| | | setPlate(e) { |
| | | if (this.inputType === 1) { |
| | | this.param.carNos = e |
| | | } else if (this.inputType === 2) { |
| | | this.param.carNos = e |
| | | } |
| | | this.$forceUpdate() |
| | | this.closeInput() |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close() |
| | | } |
| | | } |
| | | } |
| | | inputType: '' |
| | | }; |
| | | }, |
| | | onLoad(option) { |
| | | this.getDetail(option.id); |
| | | this.minDate = new Date().getTime() |
| | | }, |
| | | methods: { |
| | | onSubmit(){ |
| | | const { param } = this |
| | | if(!param.date) return this.showToast('è¯·éæ©å°åºæ¥æ') |
| | | if(!param.carCodeBack) return this.showToast('请è¾å
¥è½¦åçç
§å·') |
| | | driverConfirmTask({ |
| | | id: param.id, |
| | | carCodeBack: param.carCodeBack, |
| | | arriveDate: param.date + ':59' |
| | | }).then(res =>{ |
| | | this.showToast('确认æå') |
| | | this.$goBack() |
| | | }) |
| | | }, |
| | | getDetail(jobId) { |
| | | driverTaskJobDetail({ |
| | | jobId |
| | | }).then(ress => { |
| | | this.param = { ...ress.data, carCodeBack: '' }; |
| | | }); |
| | | }, |
| | | dateEnter(e) { |
| | | setTimeout(() => { |
| | | this.$set(this.param, 'date', dayjs(e.value).format('YYYY-MM-DD HH:mm')) |
| | | }) |
| | | this.showDate = false |
| | | }, |
| | | openInput(type) { |
| | | this.inputType = type; |
| | | this.$refs.keyboard.open(); |
| | | }, |
| | | copy() { |
| | | if (this.param.carCodeFront) { |
| | | this.$set(this.param, 'carCodeBack', this.param.carCodeFront); |
| | | this.showToast('å¤å¶æå'); |
| | | } |
| | | }, |
| | | setPlate(e) { |
| | | if (this.inputType === 1) { |
| | | this.$set(this.param, 'carCodeFront', e); |
| | | } else if (this.inputType === 2) { |
| | | this.$set(this.param, 'carCodeBack', e); |
| | | } |
| | | this.$forceUpdate(); |
| | | this.closeInput(); |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #f7f7f7; |
| | | background-color: #f7f7f7; |
| | | } |
| | | |
| | | .main_app { |
| | | padding: 0; |
| | | padding: 0; |
| | | |
| | | .main_content { |
| | | background: #ffffff; |
| | | border-radius: 20rpx 20rpx 0rpx 0rpx; |
| | | padding: 16rpx 30rpx; |
| | | position: relative; |
| | | bottom: 32rpx; |
| | | .main_content { |
| | | background: #ffffff; |
| | | border-radius: 20rpx 20rpx 0rpx 0rpx; |
| | | padding: 16rpx 30rpx; |
| | | position: relative; |
| | | bottom: 32rpx; |
| | | z-index: 999; |
| | | .line { |
| | | padding: 24rpx 0 28rpx; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | |
| | | .line { |
| | | padding: 24rpx 0 28rpx; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | .label { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | |
| | | .label { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .value { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | |
| | | .value { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | .waybill_num { |
| | | flex: 1; |
| | | } |
| | | |
| | | .waybill_num { |
| | | flex: 1; |
| | | } |
| | | .copy { |
| | | font-size: 26rpx; |
| | | color: $uni-color-primary; |
| | | } |
| | | |
| | | .copy { |
| | | font-size: 26rpx; |
| | | color: $uni-color-primary; |
| | | } |
| | | .btn { |
| | | font-size: 28rpx; |
| | | color: $uni-color-primary; |
| | | display: flex; |
| | | } |
| | | } |
| | | } |
| | | .empty { |
| | | width: 750rpx; |
| | | height: 20rpx; |
| | | background-color: #f7f7f7; |
| | | margin: 0 -30rpx; |
| | | } |
| | | .warnning { |
| | | display: flex; |
| | | color: #ed4545; |
| | | align-items: center; |
| | | margin: 40rpx 0; |
| | | } |
| | | |
| | | .btn { |
| | | font-size: 28rpx; |
| | | color: $uni-color-primary; |
| | | display: flex; |
| | | } |
| | | } |
| | | } |
| | | .empty { |
| | | width: 750rpx; |
| | | height: 20rpx; |
| | | background-color: #f7f7f7; |
| | | margin: 0 -30rpx; |
| | | } |
| | | .warnning { |
| | | display: flex; |
| | | color: #ed4545; |
| | | align-items: center; |
| | | margin: 40rpx 0; |
| | | } |
| | | .signIn_wrap { |
| | | margin: 80rpx auto; |
| | | width: 260rpx; |
| | | height: 260rpx; |
| | | position: relative; |
| | | color: #fff; |
| | | z-index: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .signIn_wrap { |
| | | margin: 80rpx auto; |
| | | width: 260rpx; |
| | | height: 260rpx; |
| | | position: relative; |
| | | color: #fff; |
| | | z-index: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | .handle { |
| | | font-weight: 600; |
| | | font-size: 40rpx; |
| | | line-height: 56rpx; |
| | | } |
| | | |
| | | .handle { |
| | | font-weight: 600; |
| | | font-size: 40rpx; |
| | | line-height: 56rpx; |
| | | } |
| | | .time { |
| | | color: rgba(255, 255, 255, 0.7); |
| | | } |
| | | |
| | | .time { |
| | | color: rgba(255, 255, 255, 0.7); |
| | | } |
| | | .img { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | z-index: -1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .img { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | z-index: -1; |
| | | } |
| | | } |
| | | } |
| | | .status_wrap { |
| | | height: 200rpx; |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | position: relative; |
| | | z-index: 99; |
| | | color: #fff; |
| | | .bg { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: -1; |
| | | } |
| | | |
| | | .status_wrap { |
| | | height: 200rpx; |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | position: relative; |
| | | z-index: 99; |
| | | color: #fff; |
| | | .bg { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: -1; |
| | | } |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 40rpx; |
| | | line-height: 56rpx; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 40rpx; |
| | | line-height: 56rpx; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | .id_card { |
| | | color: rgba(255, 255, 255, 0.8); |
| | | } |
| | | .status { |
| | | position: absolute; |
| | | right: 0; |
| | | top: 30rpx; |
| | | height: 68rpx; |
| | | line-height: 68rpx; |
| | | background: #ffffff; |
| | | padding: 0 24rpx; |
| | | border-radius: 34rpx 0rpx 0rpx 34rpx; |
| | | font-size: 26rpx; |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | | |
| | | .id_card { |
| | | color: rgba(255, 255, 255, 0.8); |
| | | } |
| | | .status { |
| | | position: absolute; |
| | | right: 0; |
| | | top: 30rpx; |
| | | height: 68rpx; |
| | | line-height: 68rpx; |
| | | background: #ffffff; |
| | | padding: 0 24rpx; |
| | | border-radius: 34rpx 0rpx 0rpx 34rpx; |
| | | font-size: 26rpx; |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | | .space { |
| | | width: 750rpx; |
| | | height: 200rpx; |
| | | } |
| | | |
| | | .space { |
| | | width: 750rpx; |
| | | height: 200rpx; |
| | | } |
| | | .sub_wrap { |
| | | position: fixed; |
| | | padding: 16rpx 30rpx 64rpx; |
| | | bottom: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | display: flex; |
| | | z-index: 1; |
| | | justify-content: space-between; |
| | | background-color: #fff; |
| | | .btn { |
| | | height: 96rpx; |
| | | line-height: 96rpx; |
| | | text-align: center; |
| | | width: 690rpx; |
| | | font-size: 36rpx; |
| | | color: #333333; |
| | | background: #ffffff; |
| | | border-radius: 48rpx; |
| | | border: 1rpx solid #999999; |
| | | } |
| | | |
| | | .sub_wrap { |
| | | position: fixed; |
| | | padding: 16rpx 30rpx 64rpx; |
| | | bottom: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | display: flex; |
| | | z-index: 1; |
| | | justify-content: space-between; |
| | | background-color: #fff; |
| | | .btn { |
| | | height: 96rpx; |
| | | line-height: 96rpx; |
| | | text-align: center; |
| | | width: 690rpx; |
| | | font-size: 36rpx; |
| | | color: #333333; |
| | | background: #ffffff; |
| | | border-radius: 48rpx; |
| | | border: 1rpx solid #999999; |
| | | } |
| | | |
| | | .check { |
| | | background: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary; |
| | | color: #fff; |
| | | } |
| | | } |
| | | .check { |
| | | background: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary; |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .detail_modal { |
| | | padding: 36rpx 30rpx; |
| | | padding: 36rpx 30rpx; |
| | | |
| | | .modal_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | line-height: 44rpx; |
| | | text-align: center; |
| | | margin-bottom: 36rpx; |
| | | } |
| | | .modal_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | line-height: 44rpx; |
| | | text-align: center; |
| | | margin-bottom: 36rpx; |
| | | } |
| | | |
| | | .contract_list { |
| | | .list { |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | padding: 20rpx; |
| | | .contract_list { |
| | | .list { |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | padding: 20rpx; |
| | | |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | |
| | | &:nth-of-type(3n) { |
| | | border-top: 1rpx solid #e5e5e5; |
| | | padding-top: 20rpx; |
| | | } |
| | | &:nth-of-type(3n) { |
| | | border-top: 1rpx solid #e5e5e5; |
| | | padding-top: 20rpx; |
| | | } |
| | | |
| | | .label { |
| | | color: #666666; |
| | | width: 86rpx; |
| | | } |
| | | .label { |
| | | color: #666666; |
| | | width: 86rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | .value { |
| | | flex: 1; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .address { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | } |
| | | .address { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | .info { |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | | |
| | | .label { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | width: 150rpx; |
| | | } |
| | | .label { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | width: 150rpx; |
| | | } |
| | | |
| | | .value { |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | .value { |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .separate { |
| | | width: 750rpx; |
| | | height: 2rpx; |
| | | margin: 30rpx -30rpx; |
| | | border: 1rpx solid #e5e5e5; |
| | | } |
| | | .separate { |
| | | width: 750rpx; |
| | | height: 2rpx; |
| | | margin: 30rpx -30rpx; |
| | | border: 1rpx solid #e5e5e5; |
| | | } |
| | | |
| | | .id_card { |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | color: #111111; |
| | | text-align: center; |
| | | margin-bottom: 30rpx; |
| | | .id_card { |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | color: #111111; |
| | | text-align: center; |
| | | margin-bottom: 30rpx; |
| | | |
| | | .last { |
| | | background: #e9f5f6; |
| | | width: 60rpx; |
| | | border-radius: 8rpx 0rpx 0rpx 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | } |
| | | .last { |
| | | background: #e9f5f6; |
| | | width: 60rpx; |
| | | border-radius: 8rpx 0rpx 0rpx 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | } |
| | | |
| | | .name { |
| | | width: 186rpx; |
| | | border: 1rpx solid #dfdede; |
| | | } |
| | | } |
| | | .name { |
| | | width: 186rpx; |
| | | border: 1rpx solid #dfdede; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <view class="name" v-if="param.status == 5">æå°ä½ä¸ä¸</view> |
| | | <view class="name" v-if="param.status == 6">ä½ä¸å·²å®æ</view> |
| | | <view class="id_card">{{ param.carCodeFront }}</view> |
| | | <view class="status" v-if="param.status == 1">çå¾
ç¾å°</view> |
| | | <view class="status" v-if="param.status == 2">çå¾
å«å·</view> |
| | | <view class="status" v-if="param.status == 5">ä½ä¸ä¸</view> |
| | | <view class="status" v-if="param.status == 6">ä½ä¸å®æ</view> |
| | | <view class="status">{{statusMap[param.status]}}</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="main_content"> |
| | | <view class="line"> |
| | | <view class="label">叿ºå§å</view> |
| | | <view class="value">{{param.lineUpNum}}</view> |
| | | <view class="value">{{param.driverName}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ææºå·</view> |
| | | <view class="value">{{param.lineUpNum}}</view> |
| | | <view class="value">{{param.drivierPhone}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="showDetail = true"> |
| | | <text class="waybill_num">{{param.lineUpNum}}</text> |
| | | <text class="btn">è¿å详æ
</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸ç±»å</view> |
| | | <view class="value">{{param.lineUpNum}}</view> |
| | | </view> |
| | | <template v-if="param.type != 4"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="showDetail = true"> |
| | | <text class="waybill_num">{{param.code}}</text> |
| | | <text class="btn">è¿å详æ
</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸ç±»å</view> |
| | | <view class="value">å¸å
¬å¸å¤å车å¸è´§</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="line"> |
| | | <view class="label">ååç¼å·</view> |
| | | <view class="value">{{param.contractNum}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">å
¥åºç±»å</view> |
| | | <view class="value">{{param.inType == 0 ? 'æ´æç' : 'ä»¶ç'}}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸é</view> |
| | | <view class="value">{{param.totalNum}}䏿¯</view> |
| | | </view> |
| | | </template> |
| | | <view class="line"> |
| | | <view class="label">车çç
§</view> |
| | | <view class="value">{{param.lineUpNum}}</view> |
| | | <view class="value">åï¼{{param.carCodeFront}} | åï¼{{param.carCodeBack}}</view> |
| | | </view> |
| | | <!-- --> |
| | | <view class="line"> |
| | | <view class="line" v-if="param.status == 1"> |
| | | <view class="label">è·ç¦»ååº</view> |
| | | <view class="value"> |
| | | <view class="">0 å
Ž</view> |
| | | <view class="">{{param.getDistance}}å
Ž</view> |
| | | <view class="btn" @click="getLocation"> |
| | | <image class="icon mr6" src="../../static/driver/position.png"></image> |
| | | éæ°å®ä½ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="warnning"> |
| | | <view class="line" v-if="param.signDate"> |
| | | <view class="label">ç¾å°æ¶é´</view> |
| | | <view class="value">{{param.signDate}}</view> |
| | | </view> |
| | | <view class="line" v-if="param.startDate"> |
| | | <view class="label">å¼å§ä½ä¸</view> |
| | | <view class="value">{{param.startDate}}</view> |
| | | </view> |
| | | <view class="line" v-if="param.doneDate"> |
| | | <view class="label">ä½ä¸å®æ</view> |
| | | <view class="value">{{param.doneDate}}</view> |
| | | </view> |
| | | <view v-if="param.status == 1" class="warnning"> |
| | | <u-icon name="info-circle" color="#ED4545" class="mr12"></u-icon> |
| | | 妿 æ³è·åå®ä½ï¼è¯·ç¨å¾®ä¿¡æ«æååºå¤§å±äºç»´ |
| | | </view> |
| | |
| | | <view class="label">ä½ä¸å®æ</view> |
| | | <view class="value">2022</view> |
| | | </view> --> |
| | | <view class="signIn_wrap" @click="handleSignIn"> |
| | | <view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn"> |
| | | <image |
| | | :src=" |
| | | param.status == '0' |
| | | param.getDistance < signDistance |
| | | ? require('@/static/driver/btn_qiandao@2x.png') |
| | | : require('@/static/driver/btn_qiandao_fail@2x.png') |
| | | " |
| | | class="img" |
| | | mode="widthFix" |
| | | ></image> |
| | | <view class="handle">ç¾å°</view> |
| | | <view class="time">09:10</view> |
| | | <view class="handle">{{ param.getDistance > signDistance ? 'æ æ³ç¾å°' : 'ç¾å°' }}</view> |
| | | <view class="time">{{nowTime}}</view> |
| | | </view> |
| | | </view> |
| | | <view class="space"></view> |
| | | <!-- çå¾
å«å· --> |
| | | <view class="padding_wrap"> |
| | | <view class="btn cancel">åæ¶ç¾å°</view> |
| | | <view class="btn check">æ¥çæéæ
åµ</view> |
| | | <view v-if="param.status == 2" class="padding_wrap"> |
| | | <view class="btn check" @click="handleQueue">æ¥çæéæ
åµ</view> |
| | | </view> |
| | | |
| | | <!-- modal --> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { driverTaskJobDetail } from '@/api' |
| | | import { driverTaskJobDetail, driverSignInTask } from '@/api'; |
| | | import { statusMap } from '@/utils/config.js'; |
| | | import dayjs from 'dayjs'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | statusMap, |
| | | param: { |
| | | status: '0' |
| | | }, |
| | | jobId: '', |
| | | lat: '', |
| | | lnt: '', |
| | | nowTime: '', |
| | | signDistance: uni.getStorageSync('driverGuide').signDistance, |
| | | showDetail: false, |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | this.getLocation(option.id) |
| | | this.jobId = option.id |
| | | if(option.status && option.status == '1'){ |
| | | this.getLocation() |
| | | }else{ |
| | | this.getDetail() |
| | | } |
| | | |
| | | // this.getDetail({ |
| | | // jobId: option.id, |
| | | // lat: 31.769137, |
| | | // lnt: 117.232241, |
| | | // }) |
| | | setInterval(() => { |
| | | this.nowTime = dayjs().format('HH:mm:ss') |
| | | }) |
| | | }, |
| | | methods: { |
| | | handleSignIn() { |
| | | const { param } = this |
| | | this.param.status = param.status == '0' ? '1' : '0' |
| | | const { param, signDistance, lat, lnt, jobId } = this |
| | | if(param.getDistance > signDistance) return |
| | | driverSignInTask({ |
| | | jobId, lat, lnt,signType: 0 |
| | | }).then(res => { |
| | | this.showToast('ç¾å°æå') |
| | | this.getDetail() |
| | | }) |
| | | }, |
| | | getLocation(jobId) { |
| | | getDetail() { |
| | | const { jobId, lat, lnt } = this |
| | | driverTaskJobDetail({ |
| | | jobId: this.jobId, |
| | | lat, |
| | | lnt |
| | | }).then(ress => { |
| | | this.param = { ...ress.data } |
| | | }) |
| | | }, |
| | | getLocation() { |
| | | const { jobId } = this |
| | | uni.getLocation({ |
| | | type: 'wgs84', |
| | | |
| | | success: function (res) { |
| | | driverTaskJobDetail({ |
| | | jobId, |
| | | lat: res.latitude, |
| | | lnt: res.longitude, |
| | | }).then(ress => { |
| | | this.param = { ...ress.data } |
| | | }) |
| | | console.log(res); |
| | | console.log('å½åä½ç½®çç»åº¦ï¼' + res.longitude) |
| | | console.log('å½åä½ç½®ç纬度ï¼' + res.latitude) |
| | | } |
| | | success: (res) => { |
| | | this.lat = res.latitude |
| | | this.lnt = res.longitude |
| | | this.getDetail() |
| | | }, |
| | | fail:(err) => { |
| | | console.log('err', err); |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | handleQueue() { |
| | | uni.navigateTo({ |
| | | url:'/pages/driver/queueUp?jobId=' + this.jobId |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | padding: 16rpx 30rpx; |
| | | position: relative; |
| | | bottom: 32rpx; |
| | | z-index: 999; |
| | | .line { |
| | | padding: 24rpx 0 28rpx; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | |
| | | } |
| | | .padding_wrap { |
| | | position: fixed; |
| | | z-index: 999; |
| | | padding: 0 30rpx 64rpx; |
| | | bottom: 0; |
| | | left: 0; |
| | |
| | | height: 96rpx; |
| | | line-height: 96rpx; |
| | | text-align: center; |
| | | width: 336rpx; |
| | | width: 100%; |
| | | font-size: 36rpx; |
| | | color: #333333; |
| | | background: #ffffff; |
| | |
| | | <view class="status_wrap"> |
| | | <view class="name">{{info.driverName}}çå
¥åé¢çº¦</view> |
| | | <view class="desc">{{info.carCodeFront}}</view> |
| | | <view class="status">{{ statusMap[info.status] }}</view> |
| | | <view class="status" v-if="info.status != 2 && info.status != 3">{{ statusMap[info.status] }}</view> |
| | | <image v-if="info.status == 2" class="icon" src="@/static/ic_passed@2x.png" mode=""></image> |
| | | <image v-if="info.status == 3" class="icon" src="@/static/ic_refused@2x.png" mode=""></image> |
| | | </view> |
| | | <!-- --> |
| | | <view class="emyty"></view> |
| | |
| | | statusMap: { |
| | | 0: 'å¾
审æ¹', |
| | | 1: '审æ¹ä¸', |
| | | 2: '审æ¹éè¿', |
| | | 3: '审æ¹ä¸éè¿', |
| | | 2: 'å·²éè¿', |
| | | 3: 'å·²æç»', |
| | | 4: '已忶', |
| | | }, |
| | | } |
| | |
| | | background-color: #e9edff; |
| | | color: $uni-color-primary; |
| | | } |
| | | .icon{ |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | border-radius: 50%; |
| | | position: absolute; |
| | | right: 0rpx; |
| | | top: 20rpx; |
| | | |
| | | } |
| | | } |
| | | |
| | | .main_footer { |
| | |
| | | .info { |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | width: 110rpx; |
| | | } |
| | | } |
| | | .box_list_item_nr { |
| | |
| | | export const baseUrl = 'admin_interface/' |
| | | export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` |
| | | export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` |
| | | |
| | | export const statusMap = { |
| | | 0: 'å¾
确认', |
| | | 1: 'çå¾
ç¾å°', |
| | | 2: 'çå¾
å«å·', // çå¾
å«å· |
| | | 3: 'å
¥åçå¾
', |
| | | 4: 'æå°çå¾
', //å·²å«å· |
| | | 5: 'ä½ä¸ä¸', |
| | | 6: 'ä½ä¸å®æ', |
| | | 7: '转移ä¸', |
| | | 8: 'å¼å¸¸æèµ·', |
| | | 9: 'å·²ææç¦»å', |
| | | 10: '已离å', |
| | | 11: 'å·²è¿å·', |
| | | } |
| | |
| | | duration: 2000 |
| | | }) |
| | | }) |
| | | return |
| | | } |
| | | if (data.code === 5112) { |
| | | uni.clearStorageSync() |
| | | uni.navigateTo({ |
| | | return uni.navigateTo({ |
| | | url: '/pages/login/login' |
| | | }) |
| | | } |
| | |
| | | <script>
|
| | | export default {
|
| | | onLaunch: function () {
|
| | | console.log('App Launch')
|
| | | },
|
| | | onShow: function () {
|
| | | console.log('App Show')
|
| | | },
|
| | | onHide: function () {
|
| | | console.log('App Hide')
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style lang="scss">
|
| | | @import "uview-ui/index.scss";
|
| | | /*æ¯ä¸ªé¡µé¢å
Œ
±css */
|
| | | view {
|
| | | box-sizing: border-box;
|
| | | }
|
| | |
|
| | | image {
|
| | | box-sizing: border-box;
|
| | | margin: 0;
|
| | | display: flex;
|
| | | }
|
| | | input {
|
| | | font-size: 30rpx;
|
| | | }
|
| | | textarea {
|
| | | box-sizing: border-box;
|
| | | // background-color: #f7f7f7;
|
| | | font-size: 30rpx !important;
|
| | | padding: 0;
|
| | | border-radius: 8rpx;
|
| | | color: #333333 !important;
|
| | | }
|
| | | .u-textarea {
|
| | | padding: 0 !important;
|
| | | color: #333333 !important;
|
| | | }
|
| | |
|
| | | .df_ac {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | }
|
| | |
|
| | | .main_app {
|
| | | padding: 0 30rpx 30rpx;
|
| | | font-size: 28rpx;
|
| | | color: #333333;
|
| | | }
|
| | | .primaryColor{
|
| | | color: $uni-color-primary;
|
| | | }
|
| | | .placeholder9 {
|
| | | color: #999999;
|
| | | font-size: 28rpx;
|
| | | }
|
| | | .fs24 {
|
| | | font-size: 24rpx;
|
| | | }
|
| | | .mr24 {
|
| | | margin-right: 24rpx;
|
| | | }
|
| | |
|
| | | .mr12 {
|
| | | margin-right: 12rpx;
|
| | | }
|
| | | .ml12 {
|
| | | margin-left: 12rpx;
|
| | | }
|
| | |
|
| | | .mr6 {
|
| | | margin-right: 6rpx;
|
| | | }
|
| | | </style>
|
| | | <script> |
| | | export default { |
| | | onLaunch: function () { |
| | | console.log('App Launch') |
| | | }, |
| | | onShow: function () { |
| | | console.log('App Show') |
| | | }, |
| | | onHide: function () { |
| | | console.log('App Hide') |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | /*æ¯ä¸ªé¡µé¢å
Œ
±css */ |
| | | @import "uview-ui/index.scss"; |
| | | |
| | | .flex-cb { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | .empty_wrap{ |
| | | padding-top: 280rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: #999999; |
| | | image{ |
| | | width: 220rpx; |
| | | height: 238rpx; |
| | | } |
| | | } |
| | | .container { |
| | | height: 100%; |
| | | width: 100%; |
| | | max-width: 800rpx; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .doumee-container .ivu-tabs-nav { |
| | | width: 100%; |
| | | } |
| | | |
| | | .doumee-container .ivu-tabs-nav .ivu-tabs-tab { |
| | | width: calc(100% / 3); |
| | | } |
| | | |
| | | .doumee-container .ivu-tabs-nav .ivu-tabs-tab { |
| | | margin-right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .cell { |
| | | background-color: #fff; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | min-height: 100rpx; |
| | | padding: 24rpx 30rpx; |
| | | box-sizing: border-box; |
| | | border-bottom: 1rpx solid #eee; |
| | | font-size: 15rpx; |
| | | position: relative; |
| | | } |
| | | |
| | | .cell .title { |
| | | flex-shrink: 0; |
| | | color: #222; |
| | | line-height: 20rpx; |
| | | height: 20rpx; |
| | | width: 28%; |
| | | margin-right: 5%; |
| | | } |
| | | |
| | | .cell .content { |
| | | flex: 1; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | .cell .content .input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | text-align: right; |
| | | } |
| | | |
| | | .cell.is-link::after { |
| | | content: ""; |
| | | display: block; |
| | | width: 8rpx; |
| | | height: 8rpx; |
| | | transform: rotate(-45deg); |
| | | border-right: 1rpx solid #999999; |
| | | border-bottom: 1rpx solid #999999; |
| | | margin-left: 5rpx; |
| | | } |
| | | |
| | | .card { |
| | | background-color: #fff; |
| | | padding: 16rpx; |
| | | position: relative; |
| | | } |
| | | |
| | | .card::after { |
| | | content: ""; |
| | | display: block; |
| | | position: absolute; |
| | | width: calc(100% - 32rpx); |
| | | height: 0; |
| | | bottom: 0; |
| | | left: 16rpx; |
| | | border-bottom: 1rpx solid #f7f7f7; |
| | | } |
| | | |
| | | .card .title { |
| | | color: #777777; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .card .content { |
| | | color: #222; |
| | | } |
| | | |
| | | .placeholder9 { |
| | | color: #999999 !important; |
| | | font-size: 28rpx; |
| | | } |
| | | .red{ |
| | | color: red !important ; |
| | | } |
| | | |
| | | //设置åè§ |
| | | checkbox .uni-checkbox-input { |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | checkbox .uni-checkbox-input.uni-checkbox-input-checked { |
| | | color: #fff !important; |
| | | border: 1px solid #4d99a8 !important; |
| | | background-color: #4d99a8 !important; |
| | | } |
| | | |
| | | checkbox .uni-checkbox-input.uni-checkbox-input-checked:before { |
| | | /* color: #4d99a8 !important; */ |
| | | /* border: 1px solid #4d99a8 !important; */ |
| | | /* font-size: 58rpx; */ |
| | | /* border-radius: 50%; */ |
| | | } |
| | | |
| | | // |
| | | |
| | | view { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | image { |
| | | box-sizing: border-box; |
| | | margin: 0; |
| | | display: flex; |
| | | } |
| | | input { |
| | | font-size: 30rpx; |
| | | } |
| | | textarea { |
| | | box-sizing: border-box; |
| | | // background-color: #f7f7f7; |
| | | font-size: 30rpx !important; |
| | | padding: 0; |
| | | border-radius: 8rpx; |
| | | color: #333333 !important; |
| | | } |
| | | .u-textarea { |
| | | padding: 0 !important; |
| | | color: #333333 !important; |
| | | } |
| | | |
| | | .df_ac { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .main_app { |
| | | padding: 0 30rpx 30rpx; |
| | | font-size: 28rpx; |
| | | color: #333333; |
| | | } |
| | | .popupShow { |
| | | overflow: hidden; |
| | | position: fixed; |
| | | width: 100%; |
| | | } |
| | | .placeholder6 { |
| | | color: #666666; |
| | | font-size: 28rpx; |
| | | } |
| | | .primaryColor { |
| | | color: $uni-color-primary; |
| | | } |
| | | .avatar { |
| | | width: 64rpx; |
| | | height: 64rpx; |
| | | border-radius: 50%; |
| | | margin-right: 20rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | font-size: 30rpx; |
| | | } |
| | | .placeholder9 { |
| | | color: #999999; |
| | | font-size: 28rpx; |
| | | } |
| | | .fs24 { |
| | | font-size: 24rpx; |
| | | } |
| | | .mr24 { |
| | | margin-right: 24rpx; |
| | | } |
| | | .mt24 { |
| | | margin-top: 24rpx; |
| | | } |
| | | |
| | | .mr12 { |
| | | margin-right: 12rpx; |
| | | } |
| | | .ml12 { |
| | | margin-left: 12rpx; |
| | | } |
| | | .ml6 { |
| | | margin-left: 6rpx; |
| | | } |
| | | .mt6 { |
| | | margin-top: 6rpx; |
| | | } |
| | | .mr6 { |
| | | margin-right: 6rpx; |
| | | } |
| | | </style> |
| | |
| | | data |
| | | }) |
| | | } |
| | | export const getUserInfo = () => { |
| | | return http({ |
| | | url: 'getUserInfo', |
| | | method: 'get' |
| | | }) |
| | | } |
| | | export const loginCaptcha = () => { |
| | | return http({ |
| | | url: 'captcha', |
| | | method: 'get' |
| | | }) |
| | | } |
| | | // åéçä¿¡éªè¯ç |
| | | export const sendSms = (data) => { |
| | | return http({ |
| | |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // ç»å½ |
| | | export const loginPost = (data) => { |
| | | return http({ |
| | | url: 'loginH5', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // è·åæå°ç»ä¿¡æ¯ |
| | | export const getPlatformGroupList = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformGroupList', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // è·åæå° ä»»å¡ä¿¡æ¯ |
| | | export const getPlatformWorkData = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformWorkData', |
| | | method: 'get', |
| | | data |
| | | }) |
| | | } |
| | | // è½¦è¾æéæ
åµ |
| | | export const platformLineUpPage = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformLineUpPage', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // å«å·å表 |
| | | export const platformCallList = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallList', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // å
¥åå«å· |
| | | export const platformInPark = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformInPark', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // æå°å«å· |
| | | export const platformCallNumber = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallNumber', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // å¼å¸¸æèµ· |
| | | export const platformErr = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformErr', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // 转移æå° |
| | | export const platformMove = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformMove', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // æå°è¿å· |
| | | export const platformOverNumber = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/platformOverNumber', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // 宿ä½ä¸ |
| | | export const finishWork = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/finishWork', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // æå¨å¼å§ä½ä¸ |
| | | export const beginWork = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/beginWork', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // æ´æ°æå°é
ç½®ä¿¡æ¯ |
| | | export const updUserPlatformConfig = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/updUserPlatformConfig', |
| | | method: 'get', |
| | | data |
| | | }) |
| | | } |
| | | // ä¿®æ¹ç¦å¯ç¨ç¶æ |
| | | export const updPlatformStatus = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/updPlatformStatus', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | Vue.use(uView) |
| | | Vue.config.productionTip = false |
| | | Vue.prototype.$store = store |
| | | Vue.prototype.$jump = (url) => {uni.navigateTo({url})} |
| | | Vue.prototype.$goBack = () => { uni.navigateBack() } |
| | | Vue.prototype.showToast = (str) => { |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: str, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }) |
| | | },100) |
| | | } |
| | | |
| | | App.mpType = 'app' |
| | | const app = new Vue({ |
| | |
| | | "versionName" : "1.0.0", |
| | | "versionCode" : "100", |
| | | "transformPx" : false, |
| | | "h5" : { |
| | | "router" : { |
| | | "mode" : "hash", |
| | | "base" : "./" |
| | | }, |
| | | // "base" : "/h5/" |
| | | "devServer" : { |
| | | "port" : 8090, |
| | | "historyApiFallback" : true, |
| | | "disableHostCheck" : true, |
| | | "proxy" : { |
| | | "/admin_interface" : { |
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å |
| | | // "target" : "http://192.168.0.173/admin_interface", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://192.168.0.139:10010", // 代çæå¡å¨ååæIPå°å |
| | | "changeOrigin" : true, // å
许跨å |
| | | "pathRewrite" : { |
| | | "^/admin_interface" : "" // éåå°åï¼å¦æå®é
æ¥å£ä¸æ¯ä¸å¸¦/dev-apiï¼éè¦å°è¿ä¸ªåç¼ç½®ç©ºï¼å 为è¿ä¸ªåç¼åªæ¯ä¸ºäºè¯å«ç¨ï¼è¯å«å®ä¹å就没ç¨äº |
| | | } |
| | | } |
| | | }, |
| | | "https" : false |
| | | } |
| | | }, |
| | | /* 5+Appç¹æç¸å
³ */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "requires": true, |
| | | "lockfileVersion": 1, |
| | | "dependencies": { |
| | | "dayjs": { |
| | | "version": "1.11.13", |
| | | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", |
| | | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" |
| | | } |
| | | } |
| | | } |
| | |
| | | }
|
| | | ],
|
| | | "globalStyle": {
|
| | | "navigationBarTextStyle": "black",
|
| | | "navigationBarTextStyle": "white",
|
| | | "navigationBarTitleText": "",
|
| | | "navigationBarBackgroundColor": "#ffffff",
|
| | | "navigationBarBackgroundColor": "#4d99a9",
|
| | | "backgroundColor": "#ffffff"
|
| | | },
|
| | | "uniIdRouter": {}
|
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_content"> |
| | | <view class="title" |
| | | >宿³°ç©æµè£
è´§å¹³å°<u-icon |
| | | <view class="title" @click="showPlatformgroup = true" |
| | | >{{ activePlatformGroup.name |
| | | }}<u-icon |
| | | name="arrow-down" |
| | | size="20" |
| | | class="ml12" |
| | |
| | | <view class="platform_list"> |
| | | <view |
| | | class="item" |
| | | :class="{ active: index === 0 }" |
| | | v-for="(i, index) in 8" |
| | | :key="i" |
| | | >1å·æå°</view |
| | | :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>{{ 0 }}</text></view |
| | | >ä½ä¸ï¼<text>{{ platformTaskInfo.workNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >å·²å«ï¼<text>{{ 0 }}</text></view |
| | | >å·²å«ï¼<text>{{ platformTaskInfo.callNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >çå¾
ï¼<text>{{ 0 }}</text></view |
| | | >çå¾
ï¼<text>{{ platformTaskInfo.waitNum }}</text></view |
| | | > |
| | | <view class="status" |
| | | >å¼å¸¸ï¼<text>{{ 0 }}</text></view |
| | | >å¼å¸¸ï¼<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 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="status">å«å·ä¸</view> |
| | | <view class="line" v-if="item.type == 4"> |
| | | <text class="label">åååå·</text> |
| | | <text class="value">{{ item.contractNum }}</text> |
| | | </view> |
| | | <view class="line" v-else> |
| | | <text class="label">è¿è¾åå·</text> |
| | | <text class="value">{{ item.code }}</text> |
| | | <text class="primaryColor" @click="handleDetail()">è¿å详æ
</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 }}䏿¯</text> |
| | | </view> |
| | | <view class="line" v-if="item.type != 4"> |
| | | <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 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 v-if="!platformTaskInfo.platformJobList || platformTaskInfo.platformJobList.length == 0" class="empty_wrap"> |
| | | <image src="@/static/default_nodata@2x.png" /> |
| | | <text>ææ ä½ä¸è½¦è¾</text> |
| | | </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 class="btn" @click="PlatformCallClick(1)">å
¥åå«å·</view> |
| | | <view class="btn active" @click="PlatformCallClick(2)">æå°å«å·</view> |
| | | </view> |
| | | <!-- å«å· --> |
| | | <u-popup |
| | |
| | | round="10" |
| | | @close="showPlatformCall = false" |
| | | > |
| | | <view class="PlatformCallModal"> |
| | | <view class="title">æå°å«å·(1å·æå°)</view> |
| | | <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 class="order_list"> |
| | | <scroll-view scroll-y="true" class="scroll_view"> |
| | | <view class="platform_ing" v-for="i in 8"> |
| | | <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 class="code"> |
| | | <text>ç</text> |
| | | <text>AD1212</text> |
| | | <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">å«å·ä¸</view> |
| | | <view class="status" :class="{ scs: item.status == 4 }">{{ |
| | | statusMap[item.status] |
| | | }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="line" v-if="item.type == 4"> |
| | | <text class="label">åååå·</text> |
| | | <text class="value">{{ item.contractNum }}</text> |
| | | </view> |
| | | <view class="line" v-else> |
| | | <text class="label">è¿è¾åå·</text> |
| | | <text class="value">11111</text> |
| | | <text class="primaryColor">è¿å详æ
</text> |
| | | <text class="value">{{ item.code }}</text> |
| | | <text class="primaryColor" @click="handleDetail()" |
| | | >è¿å详æ
</text |
| | | > |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶å</text> |
| | | <text class="value">11111</text> |
| | | <text class="value" |
| | | >{{ item.driverName }} {{ item.drivierPhone }}</text |
| | | > |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">æ»è¿è¾é</text> |
| | | <text class="value">11111</text> |
| | | <text class="value">{{ item.totalNum }}䏿¯</text> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="line" v-if="item.type != 4"> |
| | | <text class="label">è¿è¾å
¬å¸</text> |
| | | <text class="value">11111</text> |
| | | <text class="value">{{ item.carrierName }}</text> |
| | | </view> |
| | | <view class="btns"> |
| | | <view class="btn active">å«å·</view> |
| | | <view class="btn active" @click="handleCall(item)">å«å·</view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | |
| | | round="10" |
| | | @close="showDetail = false" |
| | | > |
| | | <view class="PlatformCallModal"> |
| | | <view |
| | | class="PlatformCallModal" |
| | | :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }" |
| | | > |
| | | <view class="title">è¿å详æ
</view> |
| | | <view class="platform_ing" style="padding: 0"> |
| | | <view class="head"> |
| | |
| | | round="10" |
| | | @close="showTransform = false" |
| | | > |
| | | <view class="PlatformCallModal TransformModal"> |
| | | <view class="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 |
| | | class="line" |
| | | @click="transformPlatClick(item)" |
| | | v-for="item in activePlatformGroup.platformList" |
| | | :key="item.id" |
| | | > |
| | | <view class="name">{{ item.name }}</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="showTransform = false">åæ¶</view> |
| | | <view class="btn active">ç¡®å®</view> |
| | | <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 |
| | | } 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: 44, |
| | | showPlatformCall: false, // æå°å«å· |
| | | showDetail: false, |
| | | showTransform: false // 转移 |
| | | showTransform: false, // 转移 |
| | | showPlatformgroup: false, |
| | | |
| | | platformGroupList: [], |
| | | activePlatformGroup: {}, |
| | | platformTaskInfo: {}, |
| | | activePlatform: {}, |
| | | |
| | | platformCallList: [],//å«å·å表 |
| | | platformCallSearch: '', |
| | | platformCallTotal: 0, |
| | | platformCallPage: 1, |
| | | callType: 1, |
| | | |
| | | transformPlatId: '', // è½¬ç§»è®°å½æå°id |
| | | transformId: '', // 转移记å½ä»»å¡id |
| | | } |
| | | }, |
| | | onLoad() { |
| | | |
| | | this.getPlatformGroup() |
| | | const res = uni.getWindowInfo() |
| | | this.windowTop = res.windowTop |
| | | }, |
| | | 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.activePlatform = this.activePlatformGroup.platformList[0] |
| | | this.getPlatformTask() |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getPlatformTask() { |
| | | getPlatformWorkData({ platformId: this.activePlatform.id }).then(res => { |
| | | this.platformTaskInfo = res.data |
| | | this.circulInitTaskList() |
| | | setInterval(() => { |
| | | this.circulInitTaskList() |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | circulInitTaskList() { |
| | | if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList.length > 0) { |
| | | let time = new Date() |
| | | this.platformTaskInfo.platformJobList.forEach(item => { |
| | | if (item.callDate) { |
| | | let timeNum = time.getTime() - new Date(item.callDate).getTime() |
| | | if (timeNum > 3600000) { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('Hå°æ¶måsç§') |
| | | } else { |
| | | item.callDateTemp = dayjs.duration(timeNum).format('måsç§') |
| | | } |
| | | } |
| | | if (item.startDate) { |
| | | let timeNum = time.getTime() - new Date(item.startDate).getTime() |
| | | if (timeNum > 3600000) { |
| | | item.startDateTemp = dayjs.duration(timeNum).format('Hå°æ¶måssç§') |
| | | } 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() |
| | | } |
| | | this.showPlatformgroup = false |
| | | }, |
| | | platformClick(item) { |
| | | this.activePlatform = item |
| | | this.getPlatformTask() |
| | | }, |
| | | handleDetail() { |
| | | this.showDetail = true |
| | | }, |
| | | PlatformCallClick() { |
| | | this.showPlatformCall = true |
| | | handleFinish(item) { |
| | | finishWork({ jobId: item.id }).then(res => { |
| | | this.showToast('宿ä½ä¸') |
| | | this.getPlatformTask() |
| | | }) |
| | | }, |
| | | handleTransform() { |
| | | handleWork(item) { // å¼å§ä½ä¸ |
| | | beginWork({ jobId: item.id }).then(res => { |
| | | this.showToast('å·²å¼å§ä½ä¸') |
| | | this.getPlatformTask() |
| | | }) |
| | | }, |
| | | handlePass(item) { |
| | | uni.showModal({ |
| | | content: 'æ¨ç¡®è®¤è¦å¯¹è¯¥ä»»å¡è¿è¡è¿å·å', |
| | | 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 }).then(res => { |
| | | this.showToast('å«å·æå') |
| | | this.getPlatformCallList() |
| | | }) |
| | | } else { // æå°å«å· |
| | | platformCallNumber({ platformId: activePlatform.id, jobId: item.id }).then(res => { |
| | | 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.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.showTransform = true |
| | | }, |
| | | handleErr(item) { |
| | | uni.showModal({ |
| | | content: 'æ¨ç¡®è®¤è¦å¯¹è¯¥ä»»å¡è¿è¡å¼å¸¸æèµ·å', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | platformErr({ jobId: item.id }).then(ress => { |
| | | this.showToast('å¼å¸¸æèµ·æå') |
| | | this.getPlatformTask() |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | text { |
| | | padding: 0 12rpx; |
| | | &: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 { |
| | |
| | | } |
| | | } |
| | | .PlatformCallModal { |
| | | height: calc(100vh - 50px); |
| | | height: calc(100vh - 44px); |
| | | padding: 30rpx; |
| | | .title { |
| | | text-align: center; |
| | |
| | | padding: 0 30rpx; |
| | | } |
| | | .order_list { |
| | | height: calc(100% - 120rpx); |
| | | height: calc(100% - 140rpx); |
| | | .scroll_view { |
| | | height: 100%; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | .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: 760rpx; |
| | | height: 660rpx; |
| | | margin-bottom: 30rpx; |
| | | overflow: auto; |
| | | .line { |
| | |
| | | color: $uni-color-primary; |
| | | margin-left: 12rpx; |
| | | } |
| | | .green { |
| | | color: #00ba67; |
| | | } |
| | | .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; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="title"> |
| | | <view class="icon"></view> |
| | | <view class="name">宿³°ç©æµå¸è´§æå°</view> |
| | | </view> |
| | | <div class="data_list"> |
| | | <div class="line"> |
| | | <div class="name">1å·æå°</div> |
| | | <u-switch v-model="list"></u-switch> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="name">1å·æå°</div> |
| | | <u-switch v-model="list"></u-switch> |
| | | </div> |
| | | </div> |
| | | <template v-for="item in platformGroupList"> |
| | | <view class="title"> |
| | | <view class="icon"></view> |
| | | <view class="name">{{item.name}}</view> |
| | | </view> |
| | | <view class="data_list"> |
| | | <view class="line" v-for="(platform, i) in item.platformList" :key="platform.id"> |
| | | <view class="name">{{platform.name}}</view> |
| | | <u-switch v-model="platform.status" activeColor="#279BAA" inactiveColor="#cccccc" :inactiveValue="0" :activeValue="1" @change="e => changeStatus(platform)" /> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPlatformGroupList, updPlatformStatus } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | list: [] |
| | | platformGroupList: [] |
| | | } |
| | | }, |
| | | onLoad() { |
| | | |
| | | this.getPlatformGroup() |
| | | }, |
| | | methods: { |
| | | |
| | | changeStatus(item) { |
| | | console.log(item); |
| | | updPlatformStatus({ |
| | | id: item.id, |
| | | status: item.status |
| | | }) |
| | | }, |
| | | getPlatformGroup() { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 0 |
| | | }).then(res => { |
| | | this.platformGroupList = res.data || [] |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <image class="login_bg" src="@/static/login_bg@2x.png" /> |
| | | <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" /> |
| | | <view class="login_title" style="marginTop: 40rpx;">宿³°ç©æµæºæ
§ååº</view> |
| | | <view class="login_title" style="marginBottom: 80rpx;">ç©æµè½¦ç®¡çç³»ç»</view> |
| | | <view class="login_title" style="marginBottom: 60rpx;">æ°ååæå°è°åº¦å¹³å°</view> |
| | | <view class="login_list"> |
| | | <view class="login_list_item"> |
| | | <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> |
| | |
| | | data() { |
| | | return { |
| | | form: { |
| | | account: '', |
| | | password: '', |
| | | username: '13996529050', |
| | | password: '123456', |
| | | }, |
| | | isShowProtocol: false, |
| | | ProtocolFlag: false, |
| | |
| | | }, |
| | | |
| | | onLoad() { |
| | | // this.initCaptcha() |
| | | this.initCaptcha() |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | changeFalg() { |
| | | this.ProtocolFlag = !this.ProtocolFlag |
| | | }, |
| | | onLogin() { |
| | | const { form, ProtocolFlag } = this |
| | | if (!form.username) return uni.showToast({ |
| | | title: 'è´¦å·ä¸è½ä¸ºç©º', |
| | | icon: 'none' |
| | | }) |
| | | if (!form.password) return uni.showToast({ |
| | | title: 'å¯ç ä¸è½ä¸ºç©º', |
| | | icon: 'none' |
| | | }) |
| | | loginPost({ |
| | | ...form, |
| | | code: 1, |
| | | uuid: this.captcha.uuid, |
| | | openId: this.$store.state.openId |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.setToken(res.data) |
| | | getUserInfo().then(ress => { |
| | | this.setUserInfo(ress.data) |
| | | uni.redirectTo({ |
| | | url: "/pages/index/index" |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getContent() { |
| | | getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | |
| | | this.captcha = res.data |
| | | }) |
| | | }, |
| | | |
| | | onLogin() { |
| | | const { form, ProtocolFlag } = this |
| | | if (!ProtocolFlag) return uni.showToast({ |
| | | title: '请å
é
读并åæç¨æ·åè®®', |
| | | icon: 'none' |
| | | }) |
| | | if (!form.username) return uni.showToast({ |
| | | title: 'è´¦å·ä¸è½ä¸ºç©º', |
| | | icon: 'none' |
| | | }) |
| | | if (!form.password) return uni.showToast({ |
| | | title: 'å¯ç ä¸è½ä¸ºç©º', |
| | | icon: 'none' |
| | | }) |
| | | if (!form.code) return uni.showToast({ |
| | | title: 'éªè¯ç ä¸è½ä¸ºç©º', |
| | | icon: 'none' |
| | | }) |
| | | loginPost({ |
| | | ...form, |
| | | uuid: this.captcha.uuid, |
| | | openId: this.$store.state.openId |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.setToken(res.data) |
| | | getUserInfo().then(ress => { |
| | | this.setUserInfo(ress.data) |
| | | uni.redirectTo({ |
| | | url: "/pages/staff/index" |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <style lang="scss" scoped> |
| | | .login { |
| | | width: 100%; |
| | | height: 100vh; |
| | | display: flex; |
| | | padding-top: 160rpx; |
| | | padding-top: 100rpx; |
| | | box-sizing: border-box; |
| | | align-items: center; |
| | | flex-direction: column; |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="main_content"> |
| | | <view class="title" |
| | | >宿³°ç©æµè£
è´§å¹³å°<u-icon |
| | | <view class="title" @click="showPlatformgroup = true" |
| | | >{{ platformGroup.name |
| | | }}<u-icon |
| | | name="arrow-down" |
| | | size="20" |
| | | class="ml12" |
| | |
| | | <view class="input_wrap"> |
| | | <u-icon name="search" class="mr12" size="19" color="#999999" /> |
| | | <input |
| | | v-model="carCodeFront" |
| | | type="text" |
| | | placeholder="æç´¢è½¦è¾çç
§" |
| | | placeholder-class="placeholder9" |
| | | @confirm="handleQuery" |
| | | /> |
| | | </view> |
| | | <view class="count" |
| | | >å·²ç¾å°è½¦è¾ï¼<text>{{ 10 }}</text></view |
| | | >å·²ç¾å°è½¦è¾ï¼<text>{{ total }}</text></view |
| | | > |
| | | </view> |
| | | <!-- --> |
| | | <div class="dataList"> |
| | | <div class="item"> |
| | | <view class="dataList"> |
| | | <view class="item" v-for="item in platformLineUpList" :key="item.id"> |
| | | <view class="head"> |
| | | <view class="code"> |
| | | <text>ç</text> |
| | | <text>AD1212</text> |
| | | <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">ç¾å°æ¶é´ï¼{{ 11 }}</view> |
| | | <view class="status" v-if="item.signDate" |
| | | >ç¾å°æ¶é´ï¼{{ item.signDate.slice(11, 16) }}</view |
| | | > |
| | | </view> |
| | | <view class="line"> |
| | | <view class="line" v-if="item.type == 4"> |
| | | <text class="label">åååå·</text> |
| | | <text class="value">{{ item.contractNum }}</text> |
| | | </view> |
| | | <view class="line" v-else> |
| | | <text class="label">è¿è¾åå·</text> |
| | | <text class="value">11111</text> |
| | | <text class="value">{{ item.code }}</text> |
| | | <text class="primaryColor" @click="handleDetail()">è¿å详æ
</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶å</text> |
| | | <text class="value">11111</text> |
| | | <text class="value" |
| | | >{{ item.driverName }} {{ item.drivierPhone }}</text |
| | | > |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">æ»è¿è¾é</text> |
| | | <text class="value">11111</text> |
| | | <text class="value">{{ item.totalNum }}䏿¯</text> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="line" v-if="item.type != 4"> |
| | | <text class="label">è¿è¾å
¬å¸</text> |
| | | <text class="value">11111</text> |
| | | <text class="value">{{ item.carrierName }}</text> |
| | | </view> |
| | | <view class="btns"> |
| | | <!-- <view class="btns"> |
| | | <view class="btn active">å
¥å</view> |
| | | </view> |
| | | </div> |
| | | </div> |
| | | </view> --> |
| | | </view> |
| | | <view v-if="platformLineUpList.length == 0" class="empty_wrap"> |
| | | <image src="@/static/default_nodata@2x.png" /> |
| | | <text>ææ ä½ä¸è½¦è¾</text> |
| | | </view> |
| | | </view> |
| | | <u-picker |
| | | :show="showPlatformgroup" |
| | | keyName="name" |
| | | :columns="[platformGroupList]" |
| | | @cancel="showPlatformgroup = false" |
| | | @confirm="platConfirm" |
| | | ></u-picker> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { platformLineUpPage, getPlatformGroupList } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | showDetail: false |
| | | showDetail: false, |
| | | showPlatformgroup: false, |
| | | capacity: 10, |
| | | page: 1, |
| | | total: 0, |
| | | carCodeFront: '', |
| | | platformGroup: {}, |
| | | platformGroupList: [], |
| | | platformLineUpList: [] |
| | | } |
| | | }, |
| | | onLoad() { |
| | | |
| | | this.getPlatformGroup() |
| | | }, |
| | | onReachBottom() { |
| | | if(this.total > this.platformLineUpList.length){ |
| | | this.getList() |
| | | } |
| | | }, |
| | | methods: { |
| | | handleDetail() { |
| | | this.showDetail = true |
| | | }, |
| | | getPlatformGroup() { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 0 |
| | | }).then(res => { |
| | | this.platformGroupList = res.data || [] |
| | | if (this.platformGroupList && this.platformGroupList.length > 0) { |
| | | this.platformGroup = this.platformGroupList[0] |
| | | this.getList() |
| | | } |
| | | }) |
| | | }, |
| | | getList() { |
| | | const { page, capacity, platformGroup, carCodeFront } = this |
| | | platformLineUpPage({ |
| | | capacity, page, model: { platformGroupId: platformGroup.id, callType: 2, carCodeFront } |
| | | }).then(res => { |
| | | if (res.data) { |
| | | this.platformLineUpList = [...this.platformLineUpList, ...res.data.records || []] |
| | | this.total = res.data.total || 0 |
| | | } |
| | | }) |
| | | }, |
| | | handleQuery() { |
| | | this.page = 1 |
| | | this.platformLineUpList = [] |
| | | this.getList() |
| | | }, |
| | | platConfirm(e) { |
| | | const index = e.indexs[0] |
| | | this.platformGroup = this.platformGroupList[index] |
| | | this.getList() |
| | | this.showPlatformgroup = false |
| | | }, |
| | | } |
| | | } |
| | |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | text { |
| | | padding: 0 12rpx; |
| | | &:nth-of-type(1) { |
| | | background: #e9f5f6; |
| | | padding: 0 12rpx; |
| | | } |
| | | &:nth-of-type(2) { |
| | | padding-left: 4rpx; |
| | | } |
| | | &:nth-of-type(4) { |
| | | padding-right: 6rpx; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="title"> |
| | | <view class="icon"></view> |
| | | <view class="name">宿³°ç©æµå¸è´§æå°</view> |
| | | </view> |
| | | <div class="data_list"> |
| | | <div |
| | | class="item" |
| | | :class="{ active: i == 1 }" |
| | | v-for="(item, i) in 7" |
| | | :key="i" |
| | | > |
| | | {{ i }}å·æå° |
| | | </div> |
| | | </div> |
| | | <template v-for="item in platformGroupList"> |
| | | <view class="title"> |
| | | <view class="icon"></view> |
| | | <view class="name">{{item.name}}</view> |
| | | </view> |
| | | <view class="data_list"> |
| | | <view |
| | | class="item" |
| | | :class="{ active: platform.showConfig }" |
| | | v-for="(platform, i) in item.platformList" |
| | | :key="platform.id" |
| | | @click="platformClick(platform.id)" |
| | | > |
| | | {{platform.name}} |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <view class="btns"> |
| | | <div class="btn" @click="$goBack">åæ¶</div> |
| | | <div class="btn active" @click="updUserPlatform">ç¡®å®</div> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPlatformGroupList, updUserPlatformConfig } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | | platformGroupList: [] |
| | | } |
| | | }, |
| | | onLoad() { |
| | | |
| | | this.getPlatformGroup() |
| | | }, |
| | | methods: { |
| | | |
| | | updUserPlatform(){ |
| | | const { platformGroupList } = this |
| | | let ids = [] |
| | | platformGroupList.forEach(item => { |
| | | item.platformList.forEach(platform => { |
| | | if(platform.showConfig){ |
| | | ids.push(platform.id) |
| | | } |
| | | }) |
| | | }) |
| | | updUserPlatformConfig({ids}).then(res => { |
| | | this.showToast('æ´æ°æå') |
| | | this.$goBack() |
| | | }) |
| | | }, |
| | | platformClick(id) { |
| | | const { platformGroupList } = this |
| | | platformGroupList.forEach(item => { |
| | | item.platformList.forEach(platform => { |
| | | if(platform.id === id){ |
| | | platform.showConfig = !platform.showConfig |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | getPlatformGroup() { |
| | | getPlatformGroupList({ |
| | | queryData: 1, |
| | | queryType: 1 |
| | | }).then(res => { |
| | | this.platformGroupList = res.data || [] |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | margin-bottom: 20rpx; |
| | | padding: 30rpx; |
| | | background-color: #fff; |
| | | &:nth-last-child(1){ |
| | | margin-bottom: 120rpx; |
| | | } |
| | | .item { |
| | | width: 210rpx; |
| | | height: 80rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | .btns{ |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 0; |
| | | width: 750rpx; |
| | | height: 120rpx; |
| | | background: #FFFFFF; |
| | | box-shadow: 0rpx -4rpx 12rpx 0rpx rgba(0,0,0,0.1); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 0 30rpx; |
| | | .btn{ |
| | | width: 336rpx; |
| | | height: 88rpx; |
| | | background: #FFFFFF; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid #999999; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 32rpx; |
| | | color: #333333; |
| | | } |
| | | .active{ |
| | | background: $uni-color-primary; |
| | | color: #fff; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | export const baseUrl = 'admin_interface/' |
| | | export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` |
| | | export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` |
| | | |
| | | export const statusMap = { |
| | | 0: 'å¾
确认', |
| | | 1: 'å¾
ç¾å°', |
| | | 2: 'çå¾
å«å·', |
| | | 3: 'å
¥åçå¾
', |
| | | 4: 'æå°çå¾
', //å·²å«å· |
| | | 5: 'ä½ä¸ä¸', |
| | | 6: 'ä½ä¸å®æ', |
| | | 7: '转移ä¸', |
| | | 8: 'å¼å¸¸æèµ·', |
| | | 9: 'å·²ææç¦»å', |
| | | 10: '已离å', |
| | | 11: 'å·²è¿å·', |
| | | } |
| | |
| | | duration: 2000 |
| | | }) |
| | | }) |
| | | return |
| | | } |
| | | if (data.code === 5112) { |
| | | uni.navigateTo({ |
| | | return uni.navigateTo({ |
| | | url: '/pages/login/login' |
| | | }) |
| | | } |
| | |
| | | * 0ä»»å¡å建 1叿ºç¡®è®¤ä»»å¡ 2叿ºç¾å° 3å
¥åçå¾
4æå°å«å· 5å¼å§ä½ä¸ 6ä½ä¸å®æ 7æå°è½¬ç§» 8ä»»å¡æèµ· 9ä¸åææç¦»å 10离å |
| | | */ |
| | | public enum PlatformJobLogType { |
| | | CREATE(0, "ä»»å¡å建","ä»»å¡å建" ), |
| | | CONFIRM_TASK(1, "叿ºç¡®è®¤ä»»å¡","叿ºç¡®è®¤ä»»å¡" ), |
| | | SIGN(2, "叿ºç¾å°","叿ºç¾å°"), |
| | | IN_WAIT(3, "å
¥åçå¾
","å
¥åçå¾
" ), |
| | | CALLED(4, "æå°å«å·","æå°å«å·" ), |
| | | WORKING(5, "å¼å§ä½ä¸","å¼å§ä½ä¸" ), |
| | | DONE(6, "ä½ä¸å®æ ","ä½ä¸å®æ " ), |
| | | TRANSFERING(7, "æå°è½¬ç§»","æå°è½¬ç§»" ), |
| | | EXCEPTION(8, "ä»»å¡æèµ·","ä»»å¡æèµ·" ), |
| | | CREATE(0, "ä»»å¡å建","å
¥åé¢çº¦æå" ), |
| | | CONFIRM_TASK(1, "叿ºç¡®è®¤ä»»å¡","已宿æ¶é´ç¡®è®¤" ), |
| | | SIGN(2, "叿ºç¾å°","æéçå¾
å«å·"), |
| | | IN_WAIT(3, "å
¥åçå¾
","å«å·å
¥åçå¾
" ), |
| | | CALLED(4, "æå°å«å·","{data}å«å·" ), |
| | | WORKING(5, "å¼å§ä½ä¸","è¿å
¥{data}å¼å§ä½ä¸" ), |
| | | DONE(6, "ä½ä¸å®æ ","æå°ä½ä¸å®æï¼é©¶ç¦»æå°" ), |
| | | TRANSFERING(7, "æå°è½¬ç§»","{data}åèµ·æå°è½¬ç§»" ), |
| | | EXCEPTION(8, "ä»»å¡æèµ·","ä½ä¸å¼å¸¸è¢«æèµ·" ), |
| | | AUTHED_LEAVE(9, "ä¸åææç¦»å","ä¸åææç¦»å" ), |
| | | LEAVED(10, "已离å ","已离å " ), |
| | | LEAVED(10, "已离å ","车è¾ä»{data}ç¦»åº " ), |
| | | OVER_NUMBER(11, "å·²è¿å·","è¶
æ¶æªå°æå®æå°èªå¨è¿å·" ), |
| | | ; |
| | | |
| | | // æååé |
| | |
| | | public enum PlatformJobStatus { |
| | | WAIT_CONFIRM(0, "å¾
确认","å¾
确认" ), |
| | | WART_SIGN_IN(1, "å¾
ç¾å°","å¾
ç¾å°" ), |
| | | WAIT_CALL(2, "å·²ç¾å°","å·²ç¾å°"), //çå¾
å«å·å
¥å |
| | | IN_WAIT(3, "å
¥åçå¾
","å
¥åçå¾
" ),//å·²å
¥å æªå«å·è¿å
¥æå° |
| | | WAIT_CALL(2, "å·²ç¾å°","å·²ç¾å°"), |
| | | IN_WAIT(3, "å
¥åçå¾
","å
¥åçå¾
" ), |
| | | CALLED(4, "å·²å«å·","å·²å«å·" ), |
| | | WORKING(5, "ä½ä¸ä¸","ä½ä¸ä¸" ), |
| | | DONE(6, "ä½ä¸å®æ ","ä½ä¸å®æ " ), |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import com.doumee.dao.web.reqeust.JobOperateDTO; |
| | | import com.doumee.dao.web.reqeust.PlatformDataDTO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | import com.doumee.service.business.PlatformGroupService; |
| | | import com.doumee.service.business.PlatformJobService; |
| | | import com.doumee.service.business.PlatformService; |
| | | import com.doumee.service.business.PlatformShowParamService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | * @author æ±è¹è¹ |
| | | * @since 2024/04/28 16:06 |
| | | */ |
| | | @Api(tags = "æå°ä¿¡æ¯è¡¨") |
| | | @Api(tags = "ãå端ãæå°ä¿¡æ¯è¡¨") |
| | | @RestController |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platform") |
| | | public class PlatformCloudController extends BaseController { |
| | |
| | | private PlatformService platformService; |
| | | |
| | | @Autowired |
| | | private PlatformGroupService platformGroupService; |
| | | |
| | | @Autowired |
| | | private PlatformJobService platformJobService; |
| | | |
| | | @Autowired |
| | | private PlatformShowParamService platformShowParamService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformService.findById(id)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ApiOperation("è·åæå°ç»ä¿¡æ¯") |
| | | @PostMapping("/getPlatformGroupList") |
| | | public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); |
| | | } |
| | | |
| | | @ApiOperation("è·åæå°ä»»å¡ä¿¡æ¯") |
| | | @GetMapping("/getPlatformWorkData") |
| | | public ApiResponse<PlatformWorkVO> getPlatformWorkData (@RequestParam Integer platformId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformJobService.getPlatformWorkVOById(platformId)); |
| | | } |
| | | |
| | | @ApiOperation("æ´æ°æå°é
置信æ¯") |
| | | @GetMapping("/updUserPlatformConfig") |
| | | public ApiResponse updUserPlatformConfig (@RequestParam List<Integer> ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | platformShowParamService.updUserConfig(ids,getLoginUser(token)); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("è½¦è¾æéæ
åµ") |
| | | @PostMapping("/platformLineUpPage") |
| | | public ApiResponse<PageData<PlatformJob>> platformLineUpPage (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformJobService.platformCallList(pageWrap)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("å«å·å表") |
| | | @PostMapping("/platformCallList") |
| | | public ApiResponse<PageData<PlatformJob>> platformCallList (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformJobService.platformCallList(pageWrap)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("å«å·å
¥å") |
| | | @PostMapping("/platformInPark") |
| | | public ApiResponse platformInPark (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("æå°å«å·") |
| | | @PostMapping("/platformCallNumber") |
| | | public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformCallNumber(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("转移æå°") |
| | | @PostMapping("/platformMove") |
| | | public ApiResponse platformMove (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformMove(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("æå°è¿å·") |
| | | @PostMapping("/platformOverNumber") |
| | | public ApiResponse platformOverNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformOverNumber(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("å¼å¸¸æèµ·") |
| | | @PostMapping("/platformErr") |
| | | public ApiResponse platformErr (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformErr(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("æå¨å¼å§ä½ä¸") |
| | | @PostMapping("/beginWork") |
| | | public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.beginWork(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("宿ä½ä¸") |
| | | @PostMapping("/finishWork") |
| | | public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.finishWork(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.web.reqeust.PlatformDataDTO; |
| | | import com.doumee.service.business.PlatformGroupService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformGroupService.findById(id)); |
| | | } |
| | | |
| | | @ApiOperation("è·åæå°ç»ä¿¡æ¯") |
| | | @PostMapping("/getPlatformGroupList") |
| | | @CloudRequiredPermission("business:platformgroup:query") |
| | | public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.openapi.request.*; |
| | | import com.doumee.dao.openapi.response.*; |
| | | import com.doumee.service.business.PlatformJobService; |
| | | import com.doumee.service.business.PlatformLogService; |
| | | import com.doumee.service.business.PlatformService; |
| | | import com.doumee.service.business.PlatformWaterGasService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/hk/api") |
| | | public class HkOpenApiController extends BaseController { |
| | | |
| | | @Autowired |
| | | private PlatformService platformService; |
| | | |
| | | @Autowired |
| | | private PlatformLogService platformLogService; |
| | | |
| | | @Autowired |
| | | private PlatformJobService platformJobService; |
| | | |
| | | @Autowired |
| | | private PlatformWaterGasService platformWaterGasService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°´éãæ¬æã䏿åå»å¹´åæ") |
| | | @PostMapping("/water/dataByMonth") |
| | | @LoginNoRequired |
| | | public ApiResponse<WaterByMonthResponse> waterDataByMonth(@RequestBody WaterByMonthRequest param) { |
| | | return ApiResponse.success(new WaterByMonthResponse()); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°´éãè¿12个æç¨æ°´éä¿¡æ¯å表") |
| | | @PostMapping("/water/lastMonthsDataList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsWaterList( ) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | } |
| | | @ApiOperation("ãç¨æ°éãè¿12个æç¨æ°éä¿¡æ¯å表") |
| | | @PostMapping("/gas/lastMonthsDataList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsGasList () { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | return ApiResponse.success(platformWaterGasService.waterDataByMonth(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°éãæ¬æã䏿åå»å¹´åæ") |
| | | @PostMapping("/gas/dataByMonth") |
| | | @LoginNoRequired |
| | | public ApiResponse<GasByMonthResponse> gasDataByMonth(@RequestBody GasByMonthRequest param) { |
| | | return ApiResponse.success(new GasByMonthResponse()); |
| | | return ApiResponse.success(platformWaterGasService.gasDataByMonth(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå¤©ç»è®¡è¿å请æ±åæ°") |
| | | @PostMapping("/platform/orderNumByDate") |
| | | @LoginNoRequired |
| | | public ApiResponse<PlatformOrderNumByDateResponse> orderNumByDate(@RequestBody PlatformOrderNumByDateRequest param) { |
| | | return ApiResponse.success(new PlatformOrderNumByDateResponse()); |
| | | return ApiResponse.success(platformJobService.orderNumByDate(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå°åç¶ææ°éç»è®¡") |
| | | @ApiOperation("ãæå°ãæå°ç¶ææ°éç»è®¡") |
| | | @PostMapping("/platform/totalNumByStatus") |
| | | @LoginNoRequired |
| | | public ApiResponse<PlatformNumByStatusResponse> totalNumByStatus( ) { |
| | | return ApiResponse.success(new PlatformNumByStatusResponse()); |
| | | public ApiResponse<PlatformNumByStatusResponse> totalNumByStatus(@RequestBody PlatformNumByStatusRequest param) { |
| | | return ApiResponse.success(platformService.getPlatformNumByStatusResponse()); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå°å½åä½ä¸ä¿¡æ¯å表") |
| | | @PostMapping("/platform/workingDataList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<PlatformDataListResponse>> platformWorkingDataList( ) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | public ApiResponse<List<PlatformDataListResponse>> platformWorkingDataList(@RequestBody PlatformDataListRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå°ä½ä¸è¯¦æ
ä¿¡æ¯") |
| | | @PostMapping("/platform/workDataInfo") |
| | | @LoginNoRequired |
| | | public ApiResponse<PlatformDataInfoResponse> platformWorkingDataInfo(@RequestBody PlatformDataInfoRequest param) { |
| | | return ApiResponse.success(new PlatformDataInfoResponse()); |
| | | public ApiResponse<PlatformDataInfoResponse> platformWorkingDataList(@RequestBody PlatformDataInfoRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãå½å车è¾ç¶ææ°éç»è®¡") |
| | | @PostMapping("/platform/carStatusNum") |
| | | @LoginNoRequired |
| | | public ApiResponse<CarNumByStatusResponse> carStatusNum( ) { |
| | | return ApiResponse.success(new CarNumByStatusResponse()); |
| | | public ApiResponse<CarNumByStatusResponse> carStatusNum(@RequestBody CarNumByStatusRequest param) { |
| | | return ApiResponse.success(platformJobService.carStatusNum(param)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | |
| | | @PostMapping("/platform/carLogsList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<CarLogsListResponse>> carLogsList(@RequestBody CarLogsListRequest param) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | return ApiResponse.success(platformLogService.getCarLogsListResponse(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæééåå表éå") |
| | | @PostMapping("/platform/queueList") |
| | | @LoginNoRequired |
| | | public ApiResponse< PlatformQueuingListResponse> queueList( ) { |
| | | return ApiResponse.success(new PlatformQueuingListResponse()); |
| | | public ApiResponse<PlatformQueuingListResponse> queueList(@RequestBody PlatformQueuingListRequest param) { |
| | | return ApiResponse.success(platformJobService.queueList(param)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãé¢è¦äºä»¶éåå表") |
| | | @PostMapping("/platform/warningEventList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<CarLogsListResponse>> warningEventList( ) { |
| | | public ApiResponse<List<PlatformWarnEventListResponse>> warningEventList(@RequestBody PlatformWarnEventListRequest param) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | } |
| | | } |
| | |
| | | return ApiResponse.success(platformBooksService.apply(platformBooksApplyDTO)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("ç©æµè½¦é¢çº¦ä¿®æ¹") |
| | | @PostMapping("/applyEdit") |
| | | public ApiResponse<Integer> applyEdit (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | LoginUserInfo loginUserInfo = getLoginUser(token); |
| | | platformBooksApplyDTO.setUserId(loginUserInfo.getMemberId()); |
| | | platformBooksApplyDTO.setDriverId(loginUserInfo.getMemberId()); |
| | | return ApiResponse.success(platformBooksService.edit(platformBooksApplyDTO)); |
| | | } |
| | | |
| | | @ApiOperation("ç©æµè½¦é¢çº¦è®°å½") |
| | | @PostMapping("/page") |
| | | public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | |
| | | } |
| | | |
| | | /******************************************************叿ºä»»å¡æ¥å£************************************************************************/ |
| | | @ApiOperation("ä»»å¡ç¡®è®¤") |
| | | @PostMapping("/confirmTask") |
| | | public ApiResponse confirmTask (@RequestBody ConfirmTaskDTO confirmTaskDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | confirmTaskDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.confirmTask(confirmTaskDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("ä»»å¡ç¾å°") |
| | | @PostMapping("/signIn") |
| | |
| | | import com.doumee.dao.web.reqeust.*; |
| | | import com.doumee.dao.web.response.DriverHomeVO; |
| | | import com.doumee.dao.web.response.LineUpVO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | import com.doumee.service.business.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | private PlatformService platformService; |
| | | |
| | | @ApiOperation("è·åæå°ç»ä¿¡æ¯") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "queryType", dataType = "Integer", value = "0=å
¨é¨æå°ï¼1=å¯ç¨æå° 2=é
ç½®æ¾ç¤ºæå°", required = false) |
| | | }) |
| | | @GetMapping("/getPlatformGroupList") |
| | | public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformGroupService.getAllPlatformGroup(queryType,getLoginUser(token))); |
| | | @PostMapping("/getPlatformGroupList") |
| | | public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); |
| | | } |
| | | |
| | | @ApiOperation("è·åæå°ä»»å¡ä¿¡æ¯") |
| | | @GetMapping("/getPlatformWorkData") |
| | | public ApiResponse<PlatformWorkVO> getPlatformWorkData (@RequestParam Integer platformId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(platformJobService.getPlatformWorkVOById(platformId)); |
| | | } |
| | | |
| | | @ApiOperation("æ´æ°æå°é
置信æ¯") |
| | | @PostMapping("/updUserPlatformConfig") |
| | | public ApiResponse updUserPlatformConfig (@RequestBody List<Integer> ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | @GetMapping("/updUserPlatformConfig") |
| | | public ApiResponse updUserPlatformConfig (@RequestParam List<Integer> ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | platformShowParamService.updUserConfig(ids,getLoginUser(token)); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | |
| | | @ApiOperation("ä¿®æ¹ç¦å¯ç¨ç¶æ") |
| | | @PostMapping("/updPlatformStatus") |
| | | public ApiResponse updPlatformStatus (@RequestBody Platform platform, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | platform.setLoginUserInfo(getLoginUser(token)); |
| | | platformService.updateStatusById(platform); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("è½¦è¾æéæ
åµ") |
| | | @PostMapping("/platformLineUpPage") |
| | | public ApiResponse<PageData<PlatformJob>> platformLineUpPage (@RequestBody PageWrap<PlatformJob> pageWrap) { |
| | | return ApiResponse.success(platformJobService.findPage(pageWrap)); |
| | | public ApiResponse<PageData<PlatformJob>> platformLineUpPage (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformJobService.platformCallList(pageWrap)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("å«å·å表") |
| | | @PostMapping("/platformCallList") |
| | | public ApiResponse<PageData<PlatformJob>> platformCallList (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformJobService.platformCallList(pageWrap)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("å«å·å
¥å") |
| | | @PostMapping("/platformInPark") |
| | | public ApiResponse platformInPark (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("æå°å«å·") |
| | | @PostMapping("/platformCallNumber") |
| | | public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.platformCallNumber(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/platformMove") |
| | | public ApiResponse platformMove (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.platformMove(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/platformOverNumber") |
| | | public ApiResponse platformOverNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.platformOverNumber(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/platformErr") |
| | | public ApiResponse platformErr (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.platformErr(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/beginWork") |
| | | public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.beginWork(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/finishWork") |
| | | public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | jobOperateDTO.setLoginUserInfo(getLoginUser(token)); |
| | | platformJobService.platformInPark(jobOperateDTO); |
| | | platformJobService.finishWork(jobOperateDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.LoginUserModel; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | |
| | | @ApiModelProperty(value = "ä½ä¸ç¶æï¼0=空é²ï¼1=ä½ä¸ä¸") |
| | | @TableField(exist = false) |
| | | private Integer workStatus; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "æå°ä½ä¸æ°æ®") |
| | | @TableField(exist = false) |
| | | private PlatformWorkVO platformWorkVO; |
| | | } |
| | |
| | | @ApiModelProperty(value = "æå°ç»ä¸çæå°") |
| | | @TableField(exist = false) |
| | | private List<Platform> platformList; |
| | | |
| | | |
| | | @ApiModelProperty(value = "ä½ä¸ä¸æé车è¾", example = "1") |
| | | @TableField(exist = false) |
| | | private List<PlatformJob> workJobList; |
| | | |
| | | @ApiModelProperty(value = "å·²ç¾å°æé车è¾", example = "1") |
| | | @TableField(exist = false) |
| | | private List<PlatformJob> signJobList; |
| | | } |
| | |
| | | @TableField(exist = false) |
| | | private String finishTimeStr; |
| | | |
| | | @ApiModelProperty(value = "å
³èæå°ç»ç¼ç ï¼å
³èplatform_group表ï¼", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer groupId; |
| | | |
| | | @ApiModelProperty(value = "ä½ä¸æå°åç§°") |
| | | @TableField(exist = false) |
| | | private String platformName ; |
| | | |
| | | @ApiModelProperty(value = "wmsä¸å¡ä¸»é®") |
| | | @TableField(exist = false) |
| | | private Integer wmsId ; |
| | | |
| | | @ApiModelProperty(value = "æå°ç»ç±»åï¼0宿³°ç©æµè£
è´§ 1宿³°ç©æµå¸è´§ 2å¸å
¬å¸å¸è´§") |
| | | @TableField(exist = false) |
| | | private Integer groupType ; |
| | | |
| | | @ApiModelProperty(value = "æ¿è¿å") |
| | | @TableField(exist = false) |
| | | private String carrierName ; |
| | | |
| | | @ApiModelProperty(value = "è·ç¦»ç¾å°ç¹è·ç¦»") |
| | | @TableField(exist = false) |
| | |
| | | @TableField(exist = false) |
| | | private PlatformWmsJob platformWmsJob; |
| | | |
| | | @ApiModelProperty(value = "æ¶è´§å°ï¼ç®çå°ï¼") |
| | | @TableField(exist = false) |
| | | private String repertotyAddress; |
| | | |
| | | @ApiModelProperty(value = "å«å·ç±»åï¼1=å«å·å
¥å ï¼ 2=æå°å«å· ï¼ 3=æéæ
åµ", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer callType; |
| | | |
| | | public void dealTime(){ |
| | | if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()) |
| | | || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) |
| | |
| | | @ExcelColumn(name="åæ°3") |
| | | private String param3; |
| | | |
| | | @ApiModelProperty(value = "åæ°4") |
| | | @ApiModelProperty(value = "åæ°4 车çç
§") |
| | | @ExcelColumn(name="åæ°4") |
| | | private String param4; |
| | | |
| | |
| | | @ExcelColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0ç¨çµ 1ç¨çµ 2æ²¹è", example = "1") |
| | | @ExcelColumn(name="ç±»å 0ç¨çµ 1ç¨çµ 2æ²¹è") |
| | | @ApiModelProperty(value = "ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹", example = "1") |
| | | @ExcelColumn(name="ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æ°é (ç¨çµé¡¿ï¼ç¨çµåº¦ï¼ æ²¹èLï¼", example = "1") |
| | |
| | | package com.doumee.dao.openapi.request; |
| | | |
| | | import com.doumee.core.utils.Date; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | |
| | | package com.doumee.dao.openapi.request; |
| | | |
| | | import com.doumee.core.utils.Date; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | |
| | | package com.doumee.dao.openapi.request; |
| | | |
| | | import com.doumee.core.utils.Date; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | |
| | | @Data |
| | | @ApiModel("ãæå°ãå½å车è¾ç¶æç»è®¡æ°éè¿ååæ°") |
| | | public class CarNumByStatusResponse { |
| | | @ApiModelProperty(value = "æé䏿°æ§", example = "1") |
| | | private int queuingNum; |
| | | |
| | | @ApiModelProperty(value = "æé䏿°é", example = "1") |
| | | private Long queuingNum; |
| | | @ApiModelProperty(value = "å·²è¿åºæ°é", example = "1") |
| | | private int inNum; |
| | | private Long inNum; |
| | | @ApiModelProperty(value = "ä½ä¸ä¸æ°é", example = "1") |
| | | private int workingNum; |
| | | private Long workingNum; |
| | | @ApiModelProperty(value = "å·²ç¦»åºæ°é", example = "1") |
| | | private int doneNum; |
| | | private Long doneNum; |
| | | } |
| | |
| | | private BigDecimal currentMonth; |
| | | |
| | | @ApiModelProperty(value = "ä¸ä¸ªæç¨æ°éï¼ç«æ¹ç±³ï¼", example = "1") |
| | | private String lastMonth; |
| | | private BigDecimal lastMonth; |
| | | |
| | | @ApiModelProperty(value = "å»å¹´åæç¨æ°éï¼ç«æ¹ç±³ï¼", example = "1") |
| | | private String lastYearMonth; |
| | | private BigDecimal lastYearMonth; |
| | | |
| | | } |
| | |
| | | private String hkId; |
| | | @ApiModelProperty(value = "æå°åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "æ¿è¿åå·") |
| | | private String orderCode; |
| | | @ApiModelProperty(value = "ä½ä¸è½¦è¾") |
| | |
| | | @ApiModelProperty(value = "æå°åç§°") |
| | | private String name; |
| | | @ApiModelProperty(value = "å½åä½ä¸æ¶é¿", example = "1") |
| | | private int workTime; |
| | | private Long workTime; |
| | | @ApiModelProperty(value = "ä½ä¸è½¦è¾") |
| | | private String carCode; |
| | | @ApiModelProperty(value = "ä½ä¸ç±»åï¼0=å
¥åº 1åºåº", example = "1") |
| | |
| | | @Data |
| | | @ApiModel("ãæå°ãæå°åç¶ææ°éç»è®¡è¿ååæ°") |
| | | public class PlatformNumByStatusResponse { |
| | | |
| | | @ApiModelProperty(value = "使ç¨ä¸æ°é", example = "1") |
| | | private int usingNum; |
| | | private int usingNum = 0; |
| | | |
| | | @ApiModelProperty(value = "ç©ºé²æ°é", example = "1") |
| | | private int idleNum; |
| | | private int idleNum = 0; |
| | | |
| | | @ApiModelProperty(value = "åç¨æ°é", example = "1") |
| | | private int forbiddenNum; |
| | | private int forbiddenNum = 0; |
| | | |
| | | } |
| | |
| | | @Data |
| | | @ApiModel("ãæå°ãæå¤©ç»è®¡è¿åè¿ååæ°") |
| | | public class PlatformOrderNumByDateResponse { |
| | | |
| | | @ApiModelProperty(value = "è¿å宿é", example = "1") |
| | | private int doneNum; |
| | | private Long doneNum; |
| | | |
| | | @ApiModelProperty(value = "è¿åæ»é", example = "1") |
| | | private int totalNum; |
| | | private Long totalNum; |
| | | } |
| | |
| | | private BigDecimal currentMonth; |
| | | |
| | | @ApiModelProperty(value = "ä¸ä¸ªæç¨æ°´éï¼å¨ï¼", example = "1") |
| | | private String lastMonth; |
| | | private BigDecimal lastMonth; |
| | | |
| | | @ApiModelProperty(value = "å»å¹´åæç¨æ°´éï¼å¨ï¼", example = "1") |
| | | private String lastYearMonth; |
| | | private BigDecimal lastYearMonth; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.web.reqeust; |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2024/8/15 10:49 |
| | | */ |
| | | @Data |
| | | public class ConfirmTaskDTO { |
| | | |
| | | @ApiModelProperty(value = "è®°å½ä¸»é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å°åºæ¥æ") |
| | | private Date arriveDate; |
| | | |
| | | @ApiModelProperty(value = "å车çç
§") |
| | | private String carCodeBack; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·", hidden = true) |
| | | private LoginUserInfo loginUserInfo; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.web.reqeust; |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/12/7 11:19 |
| | | */ |
| | | @Data |
| | | @Api(tags = "æå°ä¿¡æ¯æ¥è¯¢ä¸å¡" ) |
| | | public class PlatformDataDTO { |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢æå°ç±»åï¼0=å
¨é¨æå°ï¼1=é
ç½®æ¾ç¤ºæå°") |
| | | private Integer queryType; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦æ¥è¯¢æå°ä»»å¡æ°æ®ï¼0=å¦;1=æ¯ åå°ä½¿ç¨ï¼å端å
¥0") |
| | | private Integer queryData; |
| | | |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | |
| | | @ApiModelProperty(value = "ååºå¯¼è§å¾") |
| | | private String reservationMap; |
| | | |
| | | @ApiModelProperty(value = "ç¾å°éå¶è·ç¦»") |
| | | private BigDecimal signDistance; |
| | | |
| | | } |
| | |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | public class LineUpVO { |
| | | |
| | | @ApiModelProperty(value = "æå°ç»ä¿¡æ¯") |
| | | private List<Platform> platformList; |
| | | private List<PlatformGroup> platformGroupList; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·", hidden = true) |
| | | private LoginUserInfo loginUserInfo; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.web.response; |
| | | |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import com.doumee.dao.system.model.Multifile; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel("æå°ä»»å¡æ°æ®") |
| | | public class PlatformWorkVO { |
| | | |
| | | @ApiModelProperty(value = "ä»»å¡å表") |
| | | private List<PlatformJob> platformJobList; |
| | | |
| | | @ApiModelProperty(value = "ä½ä¸æ°é") |
| | | private Integer workNum = 0; |
| | | |
| | | @ApiModelProperty(value = "å·²å«å·æ°é") |
| | | private Integer callNum = 0; |
| | | |
| | | @ApiModelProperty(value = "çå¾
æ°é") |
| | | private Integer waitNum = 0; |
| | | |
| | | @ApiModelProperty(value = "å¼å¸¸æ°é") |
| | | private Integer exceptionNum = 0; |
| | | |
| | | } |
| | |
| | | */ |
| | | void revoke(RevokeDTO revokeDTO, LoginUserInfo loginUserInfo); |
| | | |
| | | /** |
| | | * ä¿®æ¹é¢çº¦ç³è¯· |
| | | * @param platformBooksApplyDTO |
| | | * @return |
| | | */ |
| | | Integer edit(PlatformBooksApplyDTO platformBooksApplyDTO); |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.web.reqeust.PlatformDataDTO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * è·åæå°ç»ä¿¡æ¯ |
| | | * @param queryType |
| | | * @param platformDataDTO |
| | | * @param loginUserInfo |
| | | * @return |
| | | */ |
| | | List<PlatformGroup> getAllPlatformGroup(Integer queryType, LoginUserInfo loginUserInfo); |
| | | |
| | | List<PlatformGroup> getAllPlatformGroup(PlatformDataDTO platformDataDTO, LoginUserInfo loginUserInfo); |
| | | |
| | | |
| | | |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import com.doumee.dao.web.reqeust.JobDetailDTO; |
| | | import com.doumee.dao.web.reqeust.JobOperateDTO; |
| | | import com.doumee.dao.web.reqeust.LineUpDetailDTO; |
| | | import com.doumee.dao.web.reqeust.SignInDTO; |
| | | import com.doumee.dao.openapi.request.*; |
| | | import com.doumee.dao.openapi.response.*; |
| | | import com.doumee.dao.web.reqeust.*; |
| | | import com.doumee.dao.web.response.DriverHomeVO; |
| | | import com.doumee.dao.web.response.LineUpVO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | PageData<PlatformJob> findPage(PageWrap<PlatformJob> pageWrap); |
| | | |
| | | /** |
| | | * å«å·åè¡¨æ°æ® |
| | | * @param pageWrap |
| | | * @return |
| | | */ |
| | | PageData<PlatformJob> platformCallList(PageWrap<PlatformJob> pageWrap); |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param platformJob å®ä½å¯¹è±¡ |
| | |
| | | */ |
| | | List<Platform> getPlatformList(Integer groupId, LoginUserInfo loginUserInfo); |
| | | |
| | | void confirmTask(ConfirmTaskDTO confirmTaskDTO); |
| | | |
| | | /** |
| | | * è·åæå°ä»»å¡æ°æ® |
| | | * @param platformId |
| | | * @return |
| | | */ |
| | | PlatformWorkVO getPlatformWorkVOById(Integer platformId); |
| | | |
| | | |
| | | PlatformOrderNumByDateResponse orderNumByDate(PlatformOrderNumByDateRequest param); |
| | | |
| | | List<PlatformDataListResponse> platformWorkingDataList(PlatformDataListRequest param); |
| | | |
| | | PlatformDataInfoResponse platformWorkingDataList(PlatformDataInfoRequest param); |
| | | |
| | | CarNumByStatusResponse carStatusNum(CarNumByStatusRequest param); |
| | | |
| | | PlatformQueuingListResponse queueList(PlatformQueuingListRequest param); |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.PlatformLog; |
| | | import com.doumee.dao.openapi.request.CarLogsListRequest; |
| | | import com.doumee.dao.openapi.response.CarLogsListResponse; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @return long |
| | | */ |
| | | long count(PlatformLog platformLog); |
| | | |
| | | List<CarLogsListResponse> getCarLogsListResponse(CarLogsListRequest carLogsListRequest); |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.openapi.response.PlatformNumByStatusResponse; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @return long |
| | | */ |
| | | long count(Platform platform); |
| | | |
| | | |
| | | PlatformNumByStatusResponse getPlatformNumByStatusResponse(); |
| | | |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.PlatformWaterGas; |
| | | import com.doumee.dao.openapi.request.GasByMonthRequest; |
| | | import com.doumee.dao.openapi.request.WaterByMonthRequest; |
| | | import com.doumee.dao.openapi.response.GasByMonthResponse; |
| | | import com.doumee.dao.openapi.response.WaterByMonthResponse; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @return long |
| | | */ |
| | | long count(PlatformWaterGas platformWaterGas); |
| | | |
| | | WaterByMonthResponse waterDataByMonth(WaterByMonthRequest param); |
| | | |
| | | GasByMonthResponse gasDataByMonth(GasByMonthRequest param); |
| | | } |
| | |
| | | private PlatformJobMapper platformJobMapper; |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private PlatformReasonMapper platformReasonMapper; |
| | | |
| | | |
| | | |
| | |
| | | platformBooks.setStatus(approveDTO.getStatus()); |
| | | platformBooks.setEditDate(new Date()); |
| | | platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId()); |
| | | PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId()); |
| | | |
| | | //çæä»»å¡è®°å½ |
| | | PlatformJob platformJob = platformBooks.toPlatformJob(); |
| | | platformJob.setPlatformGroupId(platformReason.getGroupId().intValue()); |
| | | platformJob.setType(Constants.platformJobType.sgscxh); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); |
| | | platformJobMapper.insert(platformJob); |
| | | platformBooks.setJobId(platformJob.getId()); |
| | | platformBooksMapper.updateById(platformBooks); |
| | |
| | | platformLog.setCreateDate(new Date()); |
| | | platformLog.setJobId(platformJob.getId()); |
| | | platformLog.setIsdeleted(Constants.ZERO); |
| | | platformLog.setObjType(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); |
| | | platformLog.setParam4(platformJob.getCarCodeFront()); |
| | | platformLog.setContent(Constants.PlatformJobLogType.CREATE.getInfo()); |
| | | platformLog.setObjType(Constants.PlatformJobLogType.CREATE.getKey()); |
| | | platformLog.setObjId(platformJob.getId().toString()); |
| | | platformLog.setAfterContent(JSONObject.toJSONString(platformJob)); |
| | | platformLogMapper.insert(platformLog); |
| | |
| | | import com.doumee.dao.business.join.ApproveJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.ApproveDataVO; |
| | | import com.doumee.dao.web.reqeust.ConfirmTaskDTO; |
| | | import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO; |
| | | import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO; |
| | | import com.doumee.dao.web.reqeust.RevokeDTO; |
| | |
| | | .eq(pageWrap.getModel().getPlateNum() != null, PlatformBooks::getPlateNum, pageWrap.getModel().getPlateNum()) |
| | | .eq(pageWrap.getModel().getDriverPhone() != null, PlatformBooks::getDriverPhone, pageWrap.getModel().getDriverPhone()) |
| | | .ge(pageWrap.getModel().getQueryDate() != null, PlatformBooks::getCreateDate, pageWrap.getModel().getQueryDate()) |
| | | .orderByDesc(PlatformBooks::getCreateDate) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(platformBooksMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | |
| | | // @Override |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public Integer edit(PlatformBooksApplyDTO platformBooksApplyDTO){ |
| | | if(Objects.isNull(platformBooksApplyDTO) |
| | |
| | | || StringUtils.isBlank(platformBooksApplyDTO.getDriverPhone()) |
| | | || StringUtils.isBlank(platformBooksApplyDTO.getDriverName()) |
| | | || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg()) |
| | | || Objects.isNull(platformBooksApplyDTO.getReasonId()) |
| | | || StringUtils.isBlank(platformBooksApplyDTO.getInReason()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | |
| | | } |
| | | BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks); |
| | | platformBooks.setEditDate(new Date()); |
| | | platformBooksMapper.insert(platformBooks); |
| | | platformBooks.setReasonId(null); |
| | | platformBooks.setInReason(null); |
| | | platformBooksMapper.updateById(platformBooks); |
| | | return platformBooks.getId(); |
| | | } |
| | | |
| | |
| | | .eq(Approve::getObjId,revokeDTO.getId()) |
| | | ); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import com.doumee.dao.business.model.PlatformShowParam; |
| | | import com.doumee.dao.web.reqeust.PlatformDataDTO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | import com.doumee.service.business.PlatformGroupService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | |
| | | |
| | | @Override |
| | | public List<PlatformGroup> getAllPlatformGroup(Integer queryType,LoginUserInfo loginUserInfo) { |
| | | public List<PlatformGroup> getAllPlatformGroup(PlatformDataDTO platformDataDTO, LoginUserInfo loginUserInfo) { |
| | | if(Objects.isNull(platformDataDTO) |
| | | || Objects.isNull(platformDataDTO.getQueryType()) |
| | | || Objects.isNull(platformDataDTO.getQueryData())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | List<PlatformGroup> platformGroups = platformGroupMapper.selectList( |
| | | new QueryWrapper<PlatformGroup>() |
| | | .lambda().eq(PlatformGroup::getIsdeleted, Constants.ZERO) |
| | | .lambda() |
| | | .eq(PlatformGroup::getIsdeleted, Constants.ZERO) |
| | | .orderByAsc(PlatformGroup::getSortnum) |
| | | ); |
| | | //æ¥è¯¢æå°ç»ä¸æææå° |
| | |
| | | .selectAll(Platform.class) |
| | | .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ") |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .eq(Objects.nonNull(queryType)&&!Constants.equalsInteger(queryType,Constants.ZERO),Platform::getStatus,Constants.ZERO) |
| | | .eq(Objects.nonNull(platformDataDTO.getQueryType())&&!Constants.equalsInteger(platformDataDTO.getQueryType(),Constants.ZERO), |
| | | Platform::getStatus,Constants.ZERO) |
| | | ); |
| | | //å¤çæçæå°ä¿¡æ¯ æ¯å¦é
ç½®éè |
| | | if(Constants.equalsInteger(queryType,Constants.TWO)){ |
| | | if(Constants.equalsInteger(platformDataDTO.getQueryType(),Constants.ONE)){ |
| | | //æ¥è¯¢å½åç»å½äººé
ç½®ç坿¥çæå° |
| | | List<PlatformShowParam> platformShowParamList = platformShowParamMapper.selectList(new QueryWrapper<PlatformShowParam>() |
| | | .lambda() |
| | | .eq(PlatformShowParam::getIsdeleted, Constants.ZERO) |
| | |
| | | } |
| | | } |
| | | } |
| | | if(Constants.equalsInteger(platformDataDTO.getQueryData(),Constants.ONE)){ |
| | | //æ¥è¯¢ä»å¤©ææç任塿°æ® |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.WAIT_CALL.getKey(), |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey(), |
| | | Constants.PlatformJobStatus.WORKING.getKey(), |
| | | Constants.PlatformJobStatus.EXCEPTION.getKey(), |
| | | Constants.PlatformJobStatus.OVER_NUMBER.getKey() |
| | | ) |
| | | // .like(PlatformJob::getArriveDate,DateUtil.getCurrDate()) |
| | | .orderByDesc(PlatformJob::getCreateDate) |
| | | ); |
| | | for (Platform platform:allPlatformList) { |
| | | PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platform.getId(),platformJobList); |
| | | platform.setPlatformWorkVO(platformWorkVO); |
| | | } |
| | | } |
| | | for (PlatformGroup platformGroup:platformGroups) { |
| | | platformGroup.setPlatformList(allPlatformList.stream().filter(m->Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList())); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | public static PlatformWorkVO getPlatformWorkVO(Integer platformId,List<PlatformJob> platformJobList){ |
| | | PlatformWorkVO platformWorkVO = new PlatformWorkVO(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ |
| | | //è·åæå°ä¸çææä½ä¸æ°æ® |
| | | List<PlatformJob> platformJobs = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platformId)).collect(Collectors.toList()); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){ |
| | | platformWorkVO.setWorkNum( |
| | | platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size() |
| | | ); |
| | | platformWorkVO.setCallNum( |
| | | platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size() |
| | | ); |
| | | platformWorkVO.setWaitNum( |
| | | platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())).collect(Collectors.toList()).size() |
| | | ); |
| | | platformWorkVO.setExceptionNum( |
| | | platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())).collect(Collectors.toList()).size() |
| | | ); |
| | | platformWorkVO.setPlatformJobList(platformJobs); |
| | | } |
| | | } |
| | | return platformWorkVO; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | import com.doumee.dao.business.join.PlatformJobJoinMapper; |
| | | import com.doumee.dao.business.join.PlatformJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.web.reqeust.JobDetailDTO; |
| | | import com.doumee.dao.web.reqeust.JobOperateDTO; |
| | | import com.doumee.dao.web.reqeust.LineUpDetailDTO; |
| | | import com.doumee.dao.web.reqeust.SignInDTO; |
| | | import com.doumee.dao.openapi.request.*; |
| | | import com.doumee.dao.openapi.response.*; |
| | | import com.doumee.dao.web.reqeust.*; |
| | | import com.doumee.dao.web.response.DriverHomeVO; |
| | | import com.doumee.dao.web.response.LineUpVO; |
| | | import com.doumee.dao.web.response.PlatformWorkVO; |
| | | import com.doumee.service.business.PlatformJobService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Autowired |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private PlatformJoinMapper platformJoinMapper; |
| | |
| | | |
| | | @Autowired |
| | | private PlatformWmsJobMapper platformWmsJobMapper; |
| | | |
| | | @Autowired |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode) |
| | | .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator()) |
| | | .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) |
| | |
| | | platformJobIPage.getRecords().forEach(i->{ |
| | | i.dealTime(); |
| | | this.getWmsJobData(i); |
| | | this.queryWaitNum(i); |
| | | }); |
| | | return PageData.from(platformJobIPage); |
| | | // PageData<PlatformJob> pageData = PageData.from(platformJobMapper.selectPage(page, queryWrapper)); |
| | | // pageData.getRecords().forEach(i->{ |
| | | // i.dealTime(); |
| | | // this.getWmsJobData(i); |
| | | // }); |
| | | // return pageData; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public PageData<PlatformJob> platformCallList(PageWrap<PlatformJob> pageWrap) { |
| | | IPage<PlatformJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<PlatformJob> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | queryWrapper |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode) |
| | | .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId()) |
| | | .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCallType()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey() |
| | | ) |
| | | .and(Objects.nonNull(pageWrap.getModel().getCallType()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.TWO), |
| | | i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or() |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()).or() |
| | | .apply(" ( t.status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" ) ") |
| | | ) |
| | | .and(Objects.nonNull(pageWrap.getModel().getCallType()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.THREE), |
| | | i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or() |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()).or() |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()).or() |
| | | .apply(" ( t.status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_GROUP_ID = "+pageWrap.getModel().getPlatformGroupId()+" ) ") |
| | | ) |
| | | .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(new Date(),"yyyy-MM-dd")) |
| | | .orderByDesc(PlatformJob::getStatus) |
| | | ; |
| | | IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper); |
| | | platformJobIPage.getRecords().forEach(i->{ |
| | | i.dealTime(); |
| | | this.getWmsJobData(i); |
| | | this.queryWaitNum(i); |
| | | }); |
| | | return PageData.from(platformJobIPage); |
| | | } |
| | | |
| | | |
| | | public void getWmsJobData(PlatformJob platformJob){ |
| | | if(Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zyczh) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)) { |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zyczh) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxczh)) { |
| | | |
| | | PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda() |
| | | .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO) |
| | |
| | | ,Constants.PlatformJobStatus.TRANSFERING.getKey()) |
| | | .gt(PlatformJob::getSignDate,platformJob.getSignDate()) |
| | | .eq(PlatformJob::getPlatformGroupId,platformJob.getPlatformGroupId()) |
| | | .like(PlatformJob::getArriveDate,DateUtil.getDate(platformJob.getArriveDate(),"yyyy-MM-dd"))); |
| | | .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(platformJob.getArriveDate(),"yyyy-MM-dd"))); |
| | | platformJob.setLineUpNum(lineUpNum.size()); |
| | | BigDecimal sumWorkRate = platformJob.getTotalNum(); |
| | | for (PlatformJob linePlatformJob:lineUpNum) { |
| | | this.getWmsJobData(linePlatformJob); |
| | | sumWorkRate = sumWorkRate.add(linePlatformJob.getTotalNum()); |
| | | } |
| | | //计ç®é¢è®¡çå¾
æ¶é´ |
| | | List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda().eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId())); |
| | | BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add); |
| | | if(sumWorkRate.compareTo(BigDecimal.ZERO) == Constants.ZERO|| workRate.compareTo(BigDecimal.ZERO) == Constants.ZERO ){ |
| | | BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L)); |
| | | Integer sumMinuteInteger = sumMinute.intValue(); |
| | | Integer hours = sumMinuteInteger/60; |
| | | Integer minus = sumMinuteInteger%60; |
| | | String waitTime = "é¢è®¡çå¾
ï¼"; |
| | | if(!Constants.equalsInteger(hours,Constants.ZERO)){ |
| | | waitTime = waitTime + hours + "å°æ¶"; |
| | | if(lineUpNum.size()>Constants.ZERO){ |
| | | //计ç®é¢è®¡çå¾
æ¶é´ |
| | | List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda().eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId())); |
| | | BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add); |
| | | if(sumWorkRate.compareTo(BigDecimal.ZERO) == Constants.ZERO|| workRate.compareTo(BigDecimal.ZERO) == Constants.ZERO ){ |
| | | BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L)); |
| | | Integer sumMinuteInteger = sumMinute.intValue(); |
| | | Integer hours = sumMinuteInteger/60; |
| | | Integer minus = sumMinuteInteger%60; |
| | | String waitTime = "é¢è®¡çå¾
ï¼"; |
| | | if(!Constants.equalsInteger(hours,Constants.ZERO)){ |
| | | waitTime = waitTime + hours + "å°æ¶"; |
| | | } |
| | | if(!Constants.equalsInteger(hours,Constants.ZERO)){ |
| | | waitTime = waitTime + minus + "åé"; |
| | | } |
| | | platformJob.setWaitTime(waitTime); |
| | | } |
| | | if(!Constants.equalsInteger(hours,Constants.ZERO)){ |
| | | waitTime = waitTime + minus + "åé"; |
| | | } |
| | | platformJob.setWaitTime(waitTime); |
| | | }else{ |
| | | platformJob.setWaitTime("çå¾
å«å·"); |
| | | } |
| | | }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | //æ¥è¯¢æåå¼å§ä»»å¡çæå°è®°å½ æ¥å¿è¡¨ å 为åå¨å¼å¸¸æèµ· 转移 çé®é¢ |
| | |
| | | BigDecimal sumMinute = platformJob.getTotalNum().divide(platformJob.getWorkRate(),1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L)); |
| | | platformJob.setFinishTimeStr(DateUtil.DateToStr(DateUtil.afterMinutesDate(platformLog.getCreateDate(),sumMinute.intValue()),"HH:mm")); |
| | | } |
| | | //å¤çä½ä¸æ¶é¿ |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getJobId,platformJob.getId()) |
| | | .isNotNull(PlatformLog::getParam3) |
| | | .ne(PlatformLog::getParam3,Constants.ZERO+"") |
| | | .orderByDesc(PlatformLog::getCreateDate)); |
| | | platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum)); |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | public DriverHomeVO getDriverHome(LoginUserInfo loginUserInfo){ |
| | | DriverHomeVO driverHomeVO = new DriverHomeVO(); |
| | | //TODO è½®æå¾ |
| | | |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | |
| | | driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode()); |
| | | // é¢çº¦æå ææ¬ |
| | | driverHomeVO.setBookingTips(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_BOOKING_TIPS).getCode()); |
| | | driverHomeVO.setSignDistance(new BigDecimal(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_DISTANCE).getCode())); |
| | | |
| | | return driverHomeVO; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void confirmTask(ConfirmTaskDTO confirmTaskDTO){ |
| | | if(Objects.isNull(confirmTaskDTO) |
| | | || Objects.isNull(confirmTaskDTO.getId()) |
| | | || Objects.isNull(confirmTaskDTO.getArriveDate()) |
| | | || StringUtils.isBlank(confirmTaskDTO.getCarCodeBack()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | PlatformJob platformJob = platformJobMapper.selectById(confirmTaskDTO.getId()); |
| | | if(Objects.isNull(platformJob)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(platformJob.getStatus(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ä¸å¡ç¶æå·²æµè½¬,æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | if(confirmTaskDTO.getArriveDate().getTime()<=System.currentTimeMillis()){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"é¢è®¡å°åæ¶é´å¿
须大äºå½åæ¶é´"); |
| | | } |
| | | |
| | | PlatformJob oldPlatformJob = new PlatformJob(); |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | | platformJob.setArriveDate(confirmTaskDTO.getArriveDate()); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobLogType.CONFIRM_TASK.getKey(),oldPlatformJob,platformJob , |
| | | Constants.PlatformJobLogType.CONFIRM_TASK.getInfo()); |
| | | } |
| | | |
| | | /** |
| | | * è·ç¦»ç¾å° |
| | |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.WAIT_CALL.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.SIGN.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.SIGN.getInfo()); |
| | | } |
| | | |
| | | |
| | |
| | | Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode()); |
| | | Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode()); |
| | | BigDecimal distance = new BigDecimal(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_DISTANCE).getCode()); |
| | | //è·å2个ç¹çè·ç¦»Xç±³ |
| | | //è·å2个ç¹çè·ç¦» åä½ï¼ç±³ |
| | | Double getDistanceDouble = PositionUtil.getDistance(signInDTO.getLnt(),signInDTO.getLat(),lnt,lat); |
| | | //转æ¢km |
| | | BigDecimal getDistance = BigDecimal.valueOf(getDistanceDouble).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP); |
| | | if(distance.compareTo(getDistance)<Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"è¶
åºå¯ç¾å°è·ç¦»ï¼å¯ç¾å°è·ç¦»["+distance+"]å
Ž]"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"è¶
åºå¯ç¾å°è·ç¦»ï¼å¯ç¾å°è·ç¦»ä¸º["+distance+"]å
Ž]"); |
| | | } |
| | | platformJob.setSignDistance(BigDecimal.valueOf(getDistanceDouble)); |
| | | } |
| | |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(Constants.equalsInteger(lineUpDetailDTO.getQueryType(),Constants.ZERO) |
| | | ,PlatformJob::getDrivierPhone,lineUpDetailDTO.getMobile()) |
| | |
| | | ); |
| | | //è·åæææå°ç» |
| | | List<Integer> platformIdList = platformJobList.stream().map(m->m.getPlatformGroupId()).collect(Collectors.toList()); |
| | | List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda() |
| | | .eq(Platform::getIsdeleted,Constants.ZERO) |
| | | .in(Platform::getId,platformIdList)); |
| | | if(CollectionUtils.isEmpty(platformIdList)){ |
| | | return lineUpVO; |
| | | } |
| | | List<PlatformGroup> platformGroupList = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda() |
| | | .eq(PlatformGroup::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformGroup::getId,platformIdList)); |
| | | |
| | | for (Platform platform:platformList) { |
| | | for (PlatformGroup platformGroup:platformGroupList) { |
| | | //æ¥è¯¢æ¬æå°ç»ä¸ èªå·±çæ°æ® ææ©ç¾å°ç |
| | | PlatformJob platformJob = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())).findFirst().orElse(null); |
| | | PlatformJob platformJob = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformGroupId(),platformGroup.getId())).findFirst().orElse(null); |
| | | //æ¥è¯¢å¨å½åæå°ç»ä¸ ç¾å°æéè½¦è¾æ°æ® |
| | | List<PlatformJob> platformJobSignInList = platformJobJoinMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getPlatformGroupId,platform.getGroupId()) |
| | | .ge(Objects.nonNull(platformJob),PlatformJob::getSignDate,DateUtil.getDate(platformJob.getSignDate(),"yyyy-MM-dd HH:mm:ss")) |
| | | .eq(PlatformJob::getPlatformGroupId,platformGroup.getId()) |
| | | .ge(Objects.nonNull(platformJob),PlatformJob::getSignDate,DateUtil.dateTypeToString(platformJob.getSignDate(),"yyyy-MM-dd HH:mm:ss")) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(), |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .orderByDesc(PlatformJob::getSignDate)); |
| | | platform.setSignJobList(platformJobSignInList); |
| | | platformGroup.setSignJobList(platformJobSignInList); |
| | | //æ¥è¯¢å½åæå°ç»ä¸ |
| | | List<PlatformJob> platformJobWorkList = platformJobJoinMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getPlatformGroupId,platform.getGroupId()) |
| | | .eq(PlatformJob::getPlatformGroupId,platformGroup.getId()) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .orderByDesc(PlatformJob::getSignDate)); |
| | | platform.setWorkJobList(platformJobWorkList); |
| | | platformGroup.setWorkJobList(platformJobWorkList); |
| | | } |
| | | lineUpVO.setPlatformList(platformList); |
| | | lineUpVO.setPlatformGroupList(platformGroupList); |
| | | return lineUpVO; |
| | | } |
| | | |
| | |
| | | * è·åå·²ä½ä¸æ¶é´ |
| | | * @param platformJob |
| | | */ |
| | | public void getWorkTime(PlatformJob platformJob){ |
| | | public Long getWorkTime(PlatformJob platformJob){ |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>() |
| | | .lambda().eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getJobId,platformJob.getId()) |
| | |
| | | } |
| | | } |
| | | platformJob.setWorkTime(optTime); |
| | | return optTime; |
| | | } |
| | | |
| | | /** |
| | |
| | | //TODO ä¸åå
¥åæé |
| | | |
| | | } |
| | | |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.WAIT_CALL.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.IN_WAIT.getInfo()); |
| | | |
| | | } |
| | | |
| | |
| | | ) ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·,ä¸å¡ç¶æå·²æµè½¬ï¼"); |
| | | } |
| | | |
| | | |
| | | Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId()); |
| | | if(Objects.isNull(platform)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°æå°ä¿¡æ¯"); |
| | | } |
| | | PlatformJob oldPlatformJob = new PlatformJob(); |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | | platformJob.setCallDate(new Date()); |
| | | platformJob.setCallUserId(jobOperateDTO.getLoginUserInfo().getId()); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey()); |
| | | platformJob.setPlatformId(jobOperateDTO.getPlatformId()); |
| | | //夿æ¯å¦éè¦å¡«å
è¿å» |
| | | if(StringUtils.isBlank(platformJob.getPlatforms())){ |
| | | platformJob.setPlatforms(jobOperateDTO.getPlatformId().toString()); |
| | | platformJob.setPlatformNames(platform.getName()); |
| | | }else{ |
| | | platformJob.setPlatforms(platformJob.getPlatforms() + "," +jobOperateDTO.getPlatformId().toString()); |
| | | platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName()); |
| | | } |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.CALLED.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName())); |
| | | } |
| | | |
| | | |
| | |
| | | if(Constants.equalsInteger(platformJob.getPlatformId(),jobOperateDTO.getPlatformId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ æ³è½¬ç§»æ¬æå°"); |
| | | } |
| | | Platform oldPlatform = platformJoinMapper.selectById(platformJob.getPlatformId()); |
| | | |
| | | Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId()); |
| | | if(Objects.isNull(platform)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°æå°ä¿¡æ¯"); |
| | | } |
| | | |
| | | PlatformJob oldPlatformJob = new PlatformJob(); |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | | platformJob.setPlatforms(platformJob.getPlatforms() + "," +jobOperateDTO.getPlatformId().toString()); |
| | | platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName()); |
| | | |
| | | platformJob.setTransPlatformDate(new Date()); |
| | | platformJob.setTransPlatformUserId(jobOperateDTO.getLoginUserInfo().getId()); |
| | |
| | | |
| | | //TODO è°èµ·WMS éç¥æå°è½¬ç§» |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.TRANSFERING.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.TRANSFERING.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.TRANSFERING.getInfo().replace("{data}",oldPlatform.getName())); |
| | | } |
| | | |
| | | |
| | |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void platformOverNumber(JobOperateDTO jobOperateDTO){ |
| | | if(Objects.isNull(jobOperateDTO) |
| | | || Objects.isNull(jobOperateDTO.getJobId()) |
| | | || Objects.isNull(jobOperateDTO.getPlatformId())){ |
| | | || Objects.isNull(jobOperateDTO.getJobId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId()); |
| | | if(Objects.isNull(platformJob)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·,ä¸å¡ç¶æå·²æµè½¬ï¼"); |
| | | } |
| | | |
| | | PlatformJob oldPlatformJob = new PlatformJob(); |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.OVER_NUMBER.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.OVER_NUMBER.getInfo()); |
| | | |
| | | |
| | | } |
| | |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void platformErr(JobOperateDTO jobOperateDTO){ |
| | | if(Objects.isNull(jobOperateDTO) |
| | | || Objects.isNull(jobOperateDTO.getJobId()) |
| | | || Objects.isNull(jobOperateDTO.getPlatformId())){ |
| | | || Objects.isNull(jobOperateDTO.getJobId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId()); |
| | |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.EXCEPTION.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.EXCEPTION.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.EXCEPTION.getInfo()); |
| | | } |
| | | |
| | | |
| | |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void beginWork(JobOperateDTO jobOperateDTO){ |
| | | if(Objects.isNull(jobOperateDTO) |
| | | || Objects.isNull(jobOperateDTO.getJobId()) |
| | | || Objects.isNull(jobOperateDTO.getPlatformId())){ |
| | | || Objects.isNull(jobOperateDTO.getJobId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId()); |
| | |
| | | if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·,ä¸å¡ç¶æå·²æµè½¬ï¼"); |
| | | } |
| | | platformJobMapper.update(null,new UpdateWrapper<PlatformJob>() |
| | | .lambda() |
| | | .set(Objects.isNull(platformJob.getStartDate()),PlatformJob::getStartDate,new Date()) |
| | | .set(PlatformJob::getEditDate,new Date()) |
| | | .set(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .eq(PlatformJob::getId,jobOperateDTO.getJobId()) |
| | | ); |
| | | |
| | | Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId()); |
| | | if(Objects.isNull(platform)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°æå°ä¿¡æ¯"); |
| | | } |
| | | |
| | | PlatformJob oldPlatformJob = new PlatformJob(); |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | | |
| | | if(Objects.isNull(platformJob.getStartDate())){ |
| | | platformJob.setStartDate(new Date()); |
| | | } |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey()); |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.WORKING.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName())); |
| | | } |
| | | |
| | | |
| | |
| | | BeanUtils.copyProperties(platformJob,oldPlatformJob); |
| | | |
| | | platformJob.setDoneDate(new Date()); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.EXCEPTION.getKey()); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.DONE.getKey()); |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.EXCEPTION.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob , |
| | | Constants.PlatformJobLogType.DONE.getInfo()); |
| | | |
| | | if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)){ |
| | | //TODO å¤å车è£
è´§ æ¥è¯¢TMS çµåéæ
åµ |
| | |
| | | platformJob.setEditDate(new Date()); |
| | | platformJobMapper.updateById(platformJob); |
| | | //å卿使¥å¿ |
| | | savePlatformLog(Constants.PlatformJobStatus.WORKING.getKey(),oldPlatformJob,platformJob); |
| | | savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob , |
| | | Constants.PlatformJobLogType.DONE.getInfo()); |
| | | } |
| | | |
| | | |
| | |
| | | * @param platformJobBefor |
| | | * @param platformJobAfter |
| | | */ |
| | | public void savePlatformLog(Integer objType,PlatformJob platformJobBefor,PlatformJob platformJobAfter){ |
| | | public void savePlatformLog(Integer objType,PlatformJob platformJobBefor,PlatformJob platformJobAfter,String content){ |
| | | PlatformLog platformLog = new PlatformLog(); |
| | | platformLog.setIsdeleted(Constants.ZERO); |
| | | platformLog.setCreateDate(new Date()); |
| | | platformLog.setJobId(platformJobAfter.getId()); |
| | | platformLog.setObjType(objType); |
| | | platformLog.setContent(content); |
| | | platformLog.setParam4(platformJobAfter.getCarCodeFront()); |
| | | platformLog.setBeforeContent(JSONObject.toJSONString(platformJobBefor)); |
| | | platformLog.setAfterContent(JSONObject.toJSONString(platformJobAfter)); |
| | | platformLog.setObjId(platformJobAfter.getId().toString()); |
| | | //æ¥è¯¢æå䏿¬¡å¼å§ä½ä¸çæ¥å¿ |
| | | PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getObjType,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .eq(PlatformLog::getJobId,platformLog.getJobId()) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.isNull(lastBeginPlatform)){ |
| | | return; |
| | | } |
| | | if(Constants.equalsInteger(objType,Constants.PlatformJobStatus.EXCEPTION.getKey()) |
| | | || Constants.equalsInteger(objType,Constants.PlatformJobStatus.TRANSFERING.getKey())){ |
| | | |
| | | if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.EXCEPTION.getKey())){ |
| | | //æ¥è¯¢æå䏿¬¡å¼å§ä½ä¸çæ¥å¿ |
| | | PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey()) |
| | | .eq(PlatformLog::getJobId,platformLog.getJobId()) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | //å¼å¸¸æèµ· ä¸è½¬ç§»ä¸ è®°å½æ¬æ¬¡ ä½ä¸æ¶é´ |
| | | platformLog.setParam1(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | platformLog.setParam2(DateUtil.getDate(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | String v = Long.toString(platformJobAfter.getDoneDate().getTime() - platformJobBefor.getStartDate().getTime() / 1000) ; |
| | | platformLog.setParam1(lastBeginPlatform.getParam1()); |
| | | platformLog.setParam2(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | String v = Long.toString((platformLog.getCreateDate().getTime() - DateUtil.StringToDate(lastBeginPlatform.getParam1(),"yyyy-MM-dd HH:mm:ss").getTime() )/ 1000) ; |
| | | platformLog.setParam3(v); |
| | | }else if(Constants.equalsInteger(objType,Constants.PlatformJobStatus.DONE.getKey())){ |
| | | }else if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.TRANSFERING.getKey())){ |
| | | //æ¥è¯¢æå䏿¬¡æ¥å¿æ¯å¦ä¸ºå¼å¸¸æèµ·ï¼å¼å¸¸æèµ·åå¯è¿è¡è½¬ç§» 妿è¿è¡è½¬ç§»é£ä¹ä¸å¡å°±éè¦éæ°è¿è¡å¼å§å°±ä¸éè¦ç¹æ®å¤ç ï¼å¦æä¸æ¯å¼å¸¸æèµ·è¿è¡æ°æ®ç»æ åç´æ¥æ¥è¯¢æå䏿¬¡å¼å§çæ¶é´ |
| | | PlatformLog lastPlatformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.nonNull(lastPlatformLog) && Constants.equalsInteger(lastPlatformLog.getObjType(),Constants.PlatformJobStatus.EXCEPTION.getKey())){ |
| | | if(!Constants.equalsInteger(lastPlatformLog.getObjType(),Constants.PlatformJobLogType.EXCEPTION.getKey())){ |
| | | //æ¥è¯¢æå䏿¬¡å¼å§ä½ä¸çæ¥å¿ |
| | | PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey()) |
| | | .eq(PlatformLog::getJobId,platformLog.getJobId()) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | //å¼å¸¸æèµ· ä¸è½¬ç§»ä¸ è®°å½æ¬æ¬¡ ä½ä¸æ¶é´ |
| | | platformLog.setParam1(lastBeginPlatform.getParam1()); |
| | | platformLog.setParam2(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | String v = Long.toString((platformLog.getCreateDate().getTime() - DateUtil.StringToDate(lastBeginPlatform.getParam1(),"yyyy-MM-dd HH:mm:ss").getTime() )/ 1000) ; |
| | | platformLog.setParam3(v); |
| | | }else{ |
| | | platformLog.setParam3("0"); |
| | | } |
| | | }else if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.DONE.getKey())){ |
| | | //æ¥è¯¢æå䏿¬¡æ¥å¿æ¯å¦ä¸ºå¼å¸¸æèµ·ï¼å¼å¸¸æèµ·åå¯è¿è¡è½¬ç§» 妿è¿è¡è½¬ç§»é£ä¹ä¸å¡å°±éè¦éæ°è¿è¡å¼å§å°±ä¸éè¦ç¹æ®å¤ç ï¼å¦æä¸æ¯å¼å¸¸æèµ·è¿è¡æ°æ®ç»æ åç´æ¥æ¥è¯¢æå䏿¬¡å¼å§çæ¶é´ |
| | | PlatformLog lastPlatformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getJobId,platformLog.getJobId()) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.nonNull(lastPlatformLog) && Constants.equalsInteger(lastPlatformLog.getObjType(),Constants.PlatformJobLogType.EXCEPTION.getKey())){ |
| | | platformLog.setParam3("0"); |
| | | }else{ |
| | | //æ¥è¯¢æå䏿¬¡å¼å§ä½ä¸çæ¥å¿ |
| | | PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey()) |
| | | .eq(PlatformLog::getJobId,platformLog.getJobId()) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | //éå¼å¸¸æèµ· åç´æ¥è¿å»æå䏿¬¡å¼å§ä½ä¸çæ¥å¿çå¼å§æ¶é´ |
| | | platformLog.setParam1(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | platformLog.setParam2(DateUtil.getDate(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | String v = Long.toString(platformJobAfter.getDoneDate().getTime() - platformJobBefor.getStartDate().getTime() / 1000) ; |
| | | platformLog.setParam1(lastBeginPlatform.getParam1()); |
| | | platformLog.setParam2(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | String v = Long.toString((platformJobAfter.getDoneDate().getTime() - DateUtil.StringToDate(lastBeginPlatform.getParam1(),"yyyy-MM-dd HH:mm:ss").getTime()) / 1000) ; |
| | | platformLog.setParam3(v); |
| | | } |
| | | }else if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.WORKING.getKey())){ |
| | | platformLog.setParam1(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | platformLog.setParam3("0"); |
| | | }else{ |
| | | platformLog.setParam3("0"); |
| | | } |
| | |
| | | .eq(PlatformJob::getPlatformId,platform.getId()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile()) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.WAIT_CALL.getKey(), |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey(), |
| | | Constants.PlatformJobStatus.WORKING.getKey(), |
| | | Constants.PlatformJobStatus.EXCEPTION.getKey(), |
| | | Constants.PlatformJobStatus.OVER_NUMBER.getKey() |
| | | ) |
| | | .like(PlatformJob::getArriveDate, DateUtil.getCurrDate()) |
| | | .orderByDesc(PlatformJob::getId) |
| | | ); |
| | |
| | | platform.setWorkJobList(platformJobList); |
| | | } |
| | | |
| | | @Override |
| | | public PlatformWorkVO getPlatformWorkVOById(Integer platformId){ |
| | | //è·åæå°ä¸çææä½ä¸æ°æ® |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .eq(PlatformJob::getPlatformId,platformId) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.WAIT_CALL.getKey(), |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey(), |
| | | Constants.PlatformJobStatus.WORKING.getKey(), |
| | | Constants.PlatformJobStatus.EXCEPTION.getKey(), |
| | | Constants.PlatformJobStatus.OVER_NUMBER.getKey() |
| | | ) |
| | | .like(PlatformJob::getArriveDate, DateUtil.getCurrDate()) |
| | | .orderByDesc(PlatformJob::getId) |
| | | ); |
| | | for (PlatformJob platformJob:platformJobList) { |
| | | //å¤çWSMæ°é |
| | | this.getWmsJobData(platformJob); |
| | | //æ¥è¯¢åæ¹æéæ°é |
| | | this.queryWaitNum(platformJob); |
| | | } |
| | | PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platformId,platformJobList); |
| | | return platformWorkVO; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PlatformOrderNumByDateResponse orderNumByDate(PlatformOrderNumByDateRequest param){ |
| | | PlatformOrderNumByDateResponse platformOrderNumByDateResponse = new PlatformOrderNumByDateResponse(); |
| | | Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date(); |
| | | String queryDateStr = DateUtil.getDate(queryDate,"yyyy-MM-dd"); |
| | | //æ¥è¯¢ä»æ¥å
¨é¨ä»»å¡ |
| | | platformOrderNumByDateResponse.setTotalNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .and(i-> |
| | | i.like(PlatformJob::getDoneDate,queryDateStr) |
| | | .or().ne(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()) |
| | | ) |
| | | ) |
| | | ); |
| | | //æ¥è¯¢ä»æ¥å®æä»»å¡ |
| | | platformOrderNumByDateResponse.setDoneNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .like(PlatformJob::getDoneDate,queryDateStr) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()) |
| | | ) |
| | | ); |
| | | return platformOrderNumByDateResponse; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<PlatformDataListResponse> platformWorkingDataList(PlatformDataListRequest param){ |
| | | List<PlatformDataListResponse> platformDataListResponseList = new ArrayList<>(); |
| | | List<Platform> platformList = platformJoinMapper.selectList( |
| | | new MPJLambdaWrapper<Platform>().eq(Platform::getIsdeleted,Constants.ZERO) |
| | | .eq(Platform::getStatus,Constants.ZERO) |
| | | ); |
| | | for (Platform platform:platformList) { |
| | | PlatformDataListResponse platformDataListResponse = new PlatformDataListResponse(); |
| | | platformDataListResponse.setId(platform.getId()); |
| | | platformDataListResponse.setHkId(platform.getHkId()); |
| | | platformDataListResponse.setName(platform.getName()); |
| | | platformDataListResponse.setWorkStatus(Constants.ZERO); |
| | | //æ¥è¯¢å½åä½ä¸è½¦è¾ |
| | | PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .orderByDesc(PlatformJob::getWorkTime) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.nonNull(platformJob)){ |
| | | platformDataListResponse.setCarCode(platformJob.getCarCodeFront()); |
| | | platformDataListResponse.setWorkType( |
| | | Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh) |
| | | ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh) |
| | | ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE |
| | | ); |
| | | platformDataListResponse.setWorkStatus(Constants.ONE); |
| | | //æ¥è¯¢ä½ä¸æ¶é¿ |
| | | platformDataListResponse.setWorkTime( |
| | | this.getWorkTime(platformJob) |
| | | ); |
| | | } |
| | | } |
| | | return platformDataListResponseList; |
| | | } |
| | | |
| | | @Override |
| | | public PlatformDataInfoResponse platformWorkingDataList(PlatformDataInfoRequest param){ |
| | | if(Objects.isNull(param) |
| | | || Objects.isNull(param.getId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | PlatformDataInfoResponse response = new PlatformDataInfoResponse(); |
| | | Platform platform = platformJoinMapper.selectById(param.getId()); |
| | | if(Objects.isNull(platform)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°æå°ä¿¡æ¯"); |
| | | } |
| | | response.setId(platform.getId()); |
| | | response.setHkId(platform.getHkId()); |
| | | response.setName(platform.getName()); |
| | | |
| | | PlatformJob platformJob = platformJobJoinMapper.selectJoinOne(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) |
| | | .selectAs(PlatformWmsJob::getId,PlatformJob::getWmsId) |
| | | .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName) |
| | | .selectAs(PlatformWmsJob::getRepertotyAddress,PlatformJob::getRepertotyAddress) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .eq(PlatformJob::getPlatformId,platform.getId()) |
| | | .orderByDesc(PlatformJob::getDoneDate) |
| | | ); |
| | | if(Objects.nonNull(platformJob)){ |
| | | response.setCarCode(platformJob.getCarCodeFront()); |
| | | response.setCarrierName(platformJob.getCarrierName()); |
| | | response.setOrderCode(platformJob.getBillCode()); |
| | | response.setRepertotyAddress(platformJob.getRepertotyAddress()); |
| | | //æ¥è¯¢ä¾åºåä¿¡æ¯ åªæå卿¿è¿åå·ææ |
| | | if(Objects.nonNull(platformJob.getWmsId())){ |
| | | List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda() |
| | | .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWmsDetail::getJobId,platformJob.getId())); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){ |
| | | List<String> stringList = platformWmsDetailList.stream().map(m->m.getInRepertotyCode()).collect(Collectors.toList()); |
| | | response.setInRepertotyCode(stringList); |
| | | } |
| | | } |
| | | } |
| | | return response; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public CarNumByStatusResponse carStatusNum(CarNumByStatusRequest param){ |
| | | CarNumByStatusResponse response = new CarNumByStatusResponse(); |
| | | response.setQueuingNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | ) |
| | | ); |
| | | response.setInNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .and(i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()) |
| | | .or() |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | ) |
| | | ) |
| | | ); |
| | | response.setWorkingNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | ) |
| | | ); |
| | | response.setDoneNum( |
| | | platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | .like(PlatformJob::getOutDate,DateUtil.getDate(new Date(),"yyyy-MM-dd")) |
| | | ) |
| | | ); |
| | | return response; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PlatformQueuingListResponse queueList(PlatformQueuingListRequest param){ |
| | | PlatformQueuingListResponse response = new PlatformQueuingListResponse(); |
| | | |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(PlatformJob::getCarCodeFront) |
| | | .orderByDesc(PlatformJob::getCreateDate) |
| | | .eq(PlatformGroup::getType,Constants.ZERO)); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ |
| | | response.setOutboundList( |
| | | platformJobList.stream().map(m->m.getCarCodeFront()).collect(Collectors.toList()) |
| | | ); |
| | | } |
| | | |
| | | platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(PlatformJob::getCarCodeFront) |
| | | .orderByDesc(PlatformJob::getCreateDate) |
| | | .eq(PlatformGroup::getType,Constants.ONE)); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ |
| | | response.setInboundList( |
| | | platformJobList.stream().map(m->m.getCarCodeFront()).collect(Collectors.toList()) |
| | | ); |
| | | } |
| | | |
| | | platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .leftJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(PlatformJob::getCarCodeFront) |
| | | .orderByDesc(PlatformJob::getCreateDate) |
| | | .eq(PlatformGroup::getType,Constants.TWO)); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ |
| | | response.setMunicipalComList( |
| | | platformJobList.stream().map(m->m.getCarCodeFront()).collect(Collectors.toList()) |
| | | ); |
| | | } |
| | | return response; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.PlatformLogMapper; |
| | | import com.doumee.dao.business.model.PlatformLog; |
| | | import com.doumee.dao.openapi.request.CarLogsListRequest; |
| | | import com.doumee.dao.openapi.response.CarLogsListResponse; |
| | | import com.doumee.service.business.PlatformLogService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * æå°_ä½ä¸æä½åå²è¡¨Serviceå®ç° |
| | |
| | | QueryWrapper<PlatformLog> wrapper = new QueryWrapper<>(platformLog); |
| | | return platformLogMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<CarLogsListResponse> getCarLogsListResponse(CarLogsListRequest carLogsListRequest){ |
| | | List<CarLogsListResponse> carLogsListResponseList = new ArrayList<>(); |
| | | |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() |
| | | .notIn(PlatformLog::getObjType, |
| | | Constants.PlatformJobLogType.CREATE.getKey(), |
| | | Constants.PlatformJobLogType.CONFIRM_TASK.getKey() |
| | | ) |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(Objects.nonNull(carLogsListRequest)&&Objects.nonNull(carLogsListRequest.getLimitNum())," limit " +carLogsListRequest.getLimitNum()) |
| | | ); |
| | | for (PlatformLog platformLog:platformLogList) { |
| | | CarLogsListResponse carLogsListResponse = new CarLogsListResponse(); |
| | | carLogsListResponse.setCarCode(platformLog.getParam4()); |
| | | carLogsListResponse.setContent(platformLog.getContent()); |
| | | carLogsListResponse.setCreateDate(new Date()); |
| | | carLogsListResponseList.add(carLogsListResponse); |
| | | } |
| | | return carLogsListResponseList; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.PlatformMapper; |
| | | import com.doumee.dao.business.join.PlatformJoinMapper; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.openapi.response.PlatformNumByStatusResponse; |
| | | import com.doumee.service.business.PlatformService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * æå°ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | |
| | | @Autowired |
| | | private PlatformMapper platformMapper; |
| | | @Autowired |
| | | private PlatformJoinMapper platformJoinMapper; |
| | | |
| | | @Override |
| | | public Integer create(Platform platform) { |
| | |
| | | public void updateById(Platform platform) { |
| | | platformMapper.updateById(platform); |
| | | } |
| | | |
| | | @Override |
| | | public void updateStatusById(Platform platform) { |
| | | Platform model =platformMapper.selectById(platform.getId()); |
| | |
| | | QueryWrapper<Platform> wrapper = new QueryWrapper<>(platform); |
| | | return platformMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PlatformNumByStatusResponse getPlatformNumByStatusResponse(){ |
| | | PlatformNumByStatusResponse platformNumByStatusResponse = new PlatformNumByStatusResponse(); |
| | | List<Platform> platformList = platformJoinMapper.selectJoinList(Platform.class,new MPJLambdaWrapper<Platform>() |
| | | .selectAll(Platform.class) |
| | | .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ") |
| | | .eq(Platform::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformList)){ |
| | | //åç¨æ°é |
| | | platformNumByStatusResponse.setForbiddenNum( |
| | | platformList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size() |
| | | ); |
| | | //工使°é |
| | | platformNumByStatusResponse.setUsingNum( |
| | | platformList.stream().filter(i->i.getWorkStatus()>Constants.ZERO).collect(Collectors.toList()).size() |
| | | ); |
| | | //ç©ºé²æ°é |
| | | platformNumByStatusResponse.setIdleNum( |
| | | platformList.stream().filter(i->i.getWorkStatus()<=Constants.ZERO).collect(Collectors.toList()).size() |
| | | ); |
| | | } |
| | | return platformNumByStatusResponse; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.doumee.dao.business.PlatformWaterGasMapper; |
| | | import com.doumee.dao.business.model.PlatformReason; |
| | | import com.doumee.dao.business.model.PlatformWaterGas; |
| | | import com.doumee.dao.openapi.request.GasByMonthRequest; |
| | | import com.doumee.dao.openapi.request.WaterByMonthRequest; |
| | | import com.doumee.dao.openapi.response.GasByMonthResponse; |
| | | import com.doumee.dao.openapi.response.WaterByMonthResponse; |
| | | import com.doumee.service.business.PlatformWaterGasService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * æå°_ç¨æ°´ç¨æ°ä¿¡æ¯è®°å½è¡¨Serviceå®ç° |
| | |
| | | QueryWrapper<PlatformWaterGas> wrapper = new QueryWrapper<>(platformWaterGas); |
| | | return platformWaterGasMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public WaterByMonthResponse waterDataByMonth(WaterByMonthRequest param){ |
| | | Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date(); |
| | | //è·åä¸ä¸ªææ¥æ |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(queryDate); |
| | | calendar.add(Calendar.MONTH, -1); |
| | | Date beforMonth = calendar.getTime(); |
| | | calendar.add(Calendar.MONTH, -11); |
| | | Date beforYearMonth = calendar.getTime(); |
| | | |
| | | WaterByMonthResponse waterByMonthResponse = new WaterByMonthResponse(); |
| | | |
| | | List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ZERO) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | waterByMonthResponse.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ZERO) |
| | | .like(PlatformWaterGas::getTimeInfo,beforMonth) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | waterByMonthResponse.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ZERO) |
| | | .like(PlatformWaterGas::getTimeInfo,beforYearMonth) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | waterByMonthResponse.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | return waterByMonthResponse; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public GasByMonthResponse gasDataByMonth(GasByMonthRequest param){ |
| | | Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date(); |
| | | //è·åä¸ä¸ªææ¥æ |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(queryDate); |
| | | calendar.add(Calendar.MONTH, -1); |
| | | Date beforMonth = calendar.getTime(); |
| | | calendar.add(Calendar.MONTH, -11); |
| | | Date beforYearMonth = calendar.getTime(); |
| | | |
| | | GasByMonthResponse response = new GasByMonthResponse(); |
| | | |
| | | List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ONE) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | response.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ONE) |
| | | .like(PlatformWaterGas::getTimeInfo,beforMonth) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | response.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ONE) |
| | | .like(PlatformWaterGas::getTimeInfo,beforYearMonth) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | response.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | return response; |
| | | } |
| | | |
| | | } |