Merge remote-tracking branch 'origin/master'
| | |
| | | NODE_ENV = 'development' |
| | | |
| | | VUE_APP_API_URL = 'http://localhost:10010' |
| | | VUE_APP_API_URL = 'http://192.168.0.103:10010' |
| | | # VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' |
| | | # VUE_APP_API_URL = 'http://192.168.0.103:10010' |
| | | VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' |
| | | s |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/visitPark/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/visitPark/create', data) |
| | | } |
| | | export function batchAuth (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/visitPark/batchAuth', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/visitPark/updateById', data) |
| | | } |
| | | // ä¿®æ¹ |
| | | export function reUpdate (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/visitPark/reUpdate', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/visitPark/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/visitsAdmin/cloudService/business/visitPark/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | </section> |
| | | </el-form> |
| | | <template v-slot:menu> |
| | | <div style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">ä¼ä¸ç»ç»æ¶æ</div> |
| | | <div |
| | | style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> |
| | | ä¼ä¸ç»ç»æ¶æ</div> |
| | | <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;"> |
| | | <Tree :list="companyTree" :defaultProps="{name: 'name', status: 'fsStatus', children: 'childList', id: 'id'}" @callback="callback" /> |
| | | <Tree :list="companyTree" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }" |
| | | @callback="callback" /> |
| | | </div> |
| | | </template> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create']"> |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">忥</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('æ°å»ºåå·¥',null,department,searchForm.companyType)" icon="el-icon-plus" v-permissions="['business:member:create']">æ°å»ºåå·¥</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人å导å
¥',searchForm.companyType)" icon="el-icon-plus" v-permissions="['business:member:create']">人å导å
¥</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">æ¹éå é¤</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()" icon="el-icon-plus">ä¸åææ</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" |
| | | @click="synchronous()">忥</el-button></li> |
| | | <li><el-button type="primary" |
| | | @click="$refs.OperaMemberWindow.open('æ°å»ºåå·¥', null, department, searchForm.companyType)" icon="el-icon-plus" |
| | | v-permissions="['business:member:create']">æ°å»ºåå·¥</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人å导å
¥', searchForm.companyType)" |
| | | icon="el-icon-plus" v-permissions="['business:member:create']">人å导å
¥</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" |
| | | v-permissions="['business:member:delete']">æ¹éå é¤</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()" |
| | | icon="el-icon-plus">ä¸åææ</el-button></li> |
| | | <li style="float: right"> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1" @change="search" >æ¯å¦å
å«ä¸çº§ç»ç»</el-checkbox> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1" |
| | | @change="search">æ¯å¦å
å«ä¸çº§ç»ç»</el-checkbox> |
| | | </li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="110px"> |
| | | <template slot-scope="{row}"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="å¨èç¶æ"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | @change="changeWorkStatus($event, row)" |
| | | v-model="row.workStatus" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="0" |
| | | :inactive-value="1"> |
| | | <el-switch @change="changeWorkStatus($event, row)" v-model="row.workStatus" active-color="#13ce66" |
| | | inactive-color="#ff4949" :active-value="0" :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ¯å¦å¯æè®¿"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | @change="changeCanvisit($event, row)" |
| | | v-model="row.canVisit" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="1" |
| | | :inactive-value="0"> |
| | | <el-switch @change="changeCanvisit($event, row)" v-model="row.canVisit" active-color="#13ce66" |
| | | inactive-color="#ff4949" :active-value="1" :inactive-value="0"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column prop="code" label="å·¥å·" min-width="100px"></el-table-column> |
| | | <el-table-column label="å¡ç" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button @click="$refs.cardOpeningRecord.open('å¼å¡è®°å½', row.id)" type="text">{{row.memberCardCount || '0'}}</el-button> |
| | | <el-button @click="$refs.cardOpeningRecord.open('å¼å¡è®°å½', row.id)" type="text">{{ row.memberCardCount || |
| | | '0'}}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æåæä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column fixed="right" label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image |
| | | v-if="row.faceImgFull" |
| | | style="width: 60px; height: 60px" |
| | | :src="row.faceImgFull" |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])" |
| | | label="æä½" |
| | | min-width="280" |
| | | fixed="right" |
| | | > |
| | | label="æä½" min-width="280" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('ç¼è¾å工信æ¯',row,department)" v-permissions="['business:empower:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">éæ°ææ</el-button> |
| | | <el-button type="text" :loading="heading" style="color: red" icon="el-icon-delete" @click="updateHead(row,0)" v-if="row.headStatus ==1 " v-permissions="['business:member:head']">åæ¶ä¸»ç®¡</el-button> |
| | | <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row,1)" v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:member:delete']">å é¤</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('ç¼è¾å工信æ¯', row, department)" |
| | | v-permissions="['business:empower:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" |
| | | v-permissions="['business:empower:create']">éæ°ææ</el-button> |
| | | <el-button type="text" :loading="heading" style="color: red" icon="el-icon-delete" |
| | | @click="updateHead(row, 0)" v-if="row.headStatus == 1" |
| | | v-permissions="['business:member:head']">åæ¶ä¸»ç®¡</el-button> |
| | | <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row, 1)" |
| | | v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:member:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | <!-- æ¥ç人åå¼å¡è®°å½ --> |
| | | <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" /> |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '@/assets/style/variables.scss'; |
| | | |
| | | .box { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .box_menu { |
| | | width: 100px; |
| | | height: 100%; |
| | | flex-shrink: 0; |
| | | } |
| | | |
| | | .box_tab { |
| | | flex: 1; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .zhuguan{ |
| | | color: $primary-color; |
| | | border: 1px solid $primary-color; |
| | |
| | | <el-table-column prop="carrierName" label="è¿è¾å
¬å¸" min-width="100" show-overflow-tooltip /> --> |
| | | <el-table-column prop="driverName" label="驾驶å" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="drivierPhone" label="èç³»æ¹å¼" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="confirmTaskDate" label="确认æ¶é´" min-width="150" show-overflow-tooltip /> |
| | | <!-- <el-table-column prop="confirmTaskDate" label="确认æ¶é´" min-width="150" show-overflow-tooltip /> --> |
| | | <el-table-column prop="signDate" label="ç¾å°æ¶é´" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column prop="callDate" label="å«å·æ¶é´" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column prop="startDate" label="ä½ä¸å¼å§æ¶é´" min-width="150" show-overflow-tooltip /> |
| | |
| | | platformId: activePlat.id |
| | | }).then(() => { |
| | | Message.success('å«å·æå') |
| | | this.$emit('success') |
| | | this.getList() |
| | | }) |
| | | } else { |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <!-- <section> --> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | <!-- </section> --> |
| | | </el-form> |
| | | </SearchFormCollapse> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <TableLayout :permissions="['business:visitpark:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item title="车çå·" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="车çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item title="车主å§å/ææºå·" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="åå·¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item title="车主ç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="车主ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item title="å车åºåç§°" prop="parksName"> |
| | | <el-input v-model="searchForm.parksName" placeholder="å车åºåç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']"> |
| | | <!-- |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:cars:delete']">å é¤</el-button></li> |
| | | --> |
| | | <ul class="toolbar" v-permissions="['business:visitpark:create', 'business:visitpark:delete']"> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | |
| | | <div v-if="row.isdeleted==1" style="color: red">å·²å é¤</div> |
| | | <div v-else style="color: green"> |
| | | <span v-if="row.hkStatus==0" style="color: #435EBE">å¾
ä¸å</span> |
| | | <span v-if="row.hkStatus==1" style="color: green">ä¸åæå</span> |
| | | <span v-if="row.hkStatus==2" style="color: red">ä¸å失败</span> |
| | | <span v-if="row.hkStatus==1" style="color: green">é¢çº¦æå</span> |
| | | <span v-if="row.hkStatus==2" style="color: red">é¢çº¦å¤±è´¥</span> |
| | | <span v-if="row.hkStatus==2" style="color: red">已忶</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¨æ·ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberType === 0">å³å¡è®¿å®¢</span> |
| | | <span v-if="row.memberType === 1">æ®é访客</span> |
| | | <span v-if="row.memberType === 2">å
é¨äººå</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isdeleted !=2">{{row.remark}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="140px"></el-table-column> |
| | | <!-- <el-table-column--> |
| | | <!-- v-if="containPermissions(['business:member:update', 'business:member:delete'])"--> |
| | | <!-- label="æä½"--> |
| | | <!-- min-width="120"--> |
| | | <!-- fixed="right"--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!--<!– <el-button type="text" @click="$refs.operaCarsWindow.open('ç¼è¾è½¦è¾ä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:member:update']">ç¼è¾</el-button>–>--> |
| | | <!-- <el-button type="text" @click="deleteById(row)" v-if="row.isdeleted !=1" icon="el-icon-delete" v-permissions="['business:parkbook:delete']">å é¤</el-button>--> |
| | | <!--<!–--> |
| | | <!-- <el-button type="text" @click="reUpdate(row)" v-if="row.isdeleted !=1 && row.hkStatus ==0" icon="el-icon-edit" v-permissions="['business:parkbook:update']">ç«å»ä¸å</el-button>--> |
| | | <!--–>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCarsWindow from '@/components/business/OperaCarsWindow' |
| | | import { validity } from '@/utils/util' |
| | | import { sync } from '@/api/business/cars' |
| | | import { batchLoss } from '@/api/business/memberCard' |
| | | import {reUpdate} from "@/api/business/parkBook"; |
| | | export default { |
| | | name: 'parkBook', |
| | | extends: BaseTable, |
| | |
| | | methods: { |
| | | validity (startTime, endTime) { |
| | | return validity(startTime, endTime) |
| | | }, |
| | | reUpdate (row) { |
| | | reUpdate({ id: row.id }) |
| | | .then(res => { |
| | | this.$message.success('æä½æå') |
| | | this.search() |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | "/admin_interface" : { |
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å |
| | | // "target" : "http://172.20.10.7:10010", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://192.168.0.100:10010", // 代çæå¡å¨ååæIPå°å |
| | | // "target" : "http://10.50.250.178:8088/gateway_interface", // 代çæå¡å¨ååæIPå°å |
| | | // "target" : "http://192.168.0.100:10010", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://10.50.250.178:8088/gateway_interface", // 代çæå¡å¨ååæIPå°å |
| | | "changeOrigin" : true, // å
许跨å |
| | | "pathRewrite" : { |
| | | "^/admin_interface" : "" |
| | |
| | | </view> |
| | | </view> |
| | | <view class="sub"> |
| | | <view class="time" v-if="item.arriveDate">{{ item.arriveDate.slice(5) }}</view> |
| | | <view class="time" v-if="item.arriveDate && item.type == 4">{{ item.arriveDate.slice(5) }}</view> |
| | | <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">{{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</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 v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">æ¥çæé</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | 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{ |
| | | } |
| | | // 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}`}); |
| | | } |
| | | }, |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 0 30rpx 24rpx; |
| | | height: 68rpx; |
| | | padding: 0 30rpx 0; |
| | | .time { |
| | | font-size: 26rpx; |
| | | color: #999999; |
| | |
| | | return { |
| | | form: { |
| | | username: '18056814089', |
| | | password: '1' |
| | | password: '123456' |
| | | }, |
| | | isShowProtocol: false, |
| | | countDown: 0 |
| | |
| | | driverLineUpDetail({ |
| | | mobile: jobId ? '' : uni.getStorageSync('driverInfo').mobile, |
| | | queryType: jobId ? 1 : 0, |
| | | jobId: jobId |
| | | jobId: jobId, |
| | | }).then(res => { |
| | | this.platformGroupList = res.data.platformGroupList |
| | | if (res.data && res.data.platformGroupList && res.data.platformGroupList.length > 0) { |
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="status_wrap"> |
| | | <image |
| | | class="bg" |
| | | src="../../static/driver/bg_renwu@2x.png" |
| | | mode="" |
| | | ></image> |
| | | <image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image>
|
| | | <view class="name" v-if="param.status == 1">请ä¸{{ param.arriveDate.slice(0,11) }}ç°åºç¾å°</view> |
| | | <view class="name" v-if="param.status == 2">åæ¹æéï¼{{param.lineUpNum}}è¾</view> |
| | | <view class="name" v-if="param.status == 3">å
¥åçå¾
</view> |
| | | <view class="name" v-if="param.status == 5">æå°ä½ä¸ä¸</view> |
| | | <view class="name" v-if="param.status == 6">ä½ä¸å·²å®æ</view> |
| | | <view class="id_card">{{ param.carCodeFront }}</view> |
| | |
| | | <template v-if="param.type != 4"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value" @click="showDetail = true"> |
| | | <view class="value" @click="wmsDetail">
|
| | | <text class="waybill_num">{{param.billCode}}</text> |
| | | <text class="btn">è¿å详æ
</text> |
| | | </view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä½ä¸ç±»å</view> |
| | | <view class="value">å¸å
¬å¸å¤å车å¸è´§</view> |
| | | <view class="value" v-if="param.type == 0">èªæè½¦å¸è´§</view> |
| | | <view class="value" v-if="param.type == 1">èªæè½¦è£
è´§</view> |
| | | <view class="value" v-if="param.type == 2">å¤å车å¸è´§</view> |
| | | <view class="value" v-if="param.type == 3">å¤å车è£
è´§</view>
|
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | |
| | | <view class="value">2022</view> |
| | | </view> --> |
| | | <view v-if="param.status == 1" class="signIn_wrap" @click="handleSignIn"> |
| | | <image |
| | | :src=" |
| | | <image :src="
|
| | | param.getDistance < signDistance |
| | | ? require('@/static/driver/btn_qiandao@2x.png') |
| | | : require('@/static/driver/btn_qiandao_fail@2x.png') |
| | | " |
| | | class="img" |
| | | mode="widthFix" |
| | | ></image> |
| | | " class="img" mode="widthFix"></image>
|
| | | <view class="handle">{{ param.getDistance > signDistance ? 'æ æ³ç¾å°' : 'ç¾å°' }}</view> |
| | | <view class="time">{{nowTime}}</view> |
| | | </view> |
| | |
| | | </view> |
| | | |
| | | <!-- modal --> |
| | | <u-popup |
| | | :show="showDetail" |
| | | :round="10" |
| | | :safeAreaInsetBottom="true" |
| | | closeOnClickOverlay |
| | | :closeable="true" |
| | | mode="bottom" |
| | | @close="showDetail = false" |
| | | > |
| | | <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 v-if="wmsInfo.plateNumber" class="id_card">
|
| | | <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
|
| | | <text>·</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(2) }}</text>
|
| | | </view> |
| | | <!-- --> |
| | | <view class="info"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value">2222</view> |
| | | <view class="value">{{ wmsInfo.carryBillCode }}</view>
|
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">驾驶å</view> |
| | | <view class="value">2222</view> |
| | | <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
|
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ»è¿è¾é</view> |
| | | <view class="value">2222</view> |
| | | <view class="value">{{ wmsInfo.ioQty }}䏿¯</view>
|
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾å
¬å¸</view> |
| | | <view class="value">2222</view> |
| | | <view class="value">{{ wmsInfo.carrierName }}</view>
|
| | | </view> |
| | | </view> |
| | | <view class="separate"></view> |
| | | <view class="contract_list"> |
| | | <view class="title">ååå·ï¼111</view> |
| | | <view class="address">aadd</view> |
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
|
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view>
|
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view>
|
| | | <view class="list"> |
| | | <view class="item" v-for="line in item.platformWmsDetailList">
|
| | | <view class="line"> |
| | | <view class="label">ç©æï¼</view> |
| | | <view class="value">é»å±±é»é©¬</view> |
| | | <view class="value">{{ line.materialName }}</view>
|
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ°éï¼</view> |
| | | <view class="value">é»å±±é»é©¬</view> |
| | | <view class="value">{{ line.ioQty }}</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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { driverTaskJobDetail, driverSignInTask } from '@/api'; |
| | | import { statusMap } from '@/utils/config.js'; |
| | | import {
|
| | | driverTaskJobDetail,
|
| | | driverSignInTask,
|
| | | wmsJobDetail
|
| | | } from '@/api';
|
| | | import {
|
| | | statusMap
|
| | | } from '@/utils/config.js';
|
| | | import dayjs from 'dayjs'; |
| | | export default { |
| | | data() { |
| | |
| | | lat: '31.783205', |
| | | lnt: '117.262635', |
| | | nowTime: '', |
| | | wmsInfo: {},
|
| | | signDistance: uni.getStorageSync('driverGuide').signDistance, |
| | | showDetail: false, |
| | | } |
| | |
| | | }, |
| | | methods: { |
| | | handleSignIn() { |
| | | const { param, signDistance, lat, lnt, jobId } = this |
| | | const {
|
| | | param,
|
| | | signDistance,
|
| | | lat,
|
| | | lnt,
|
| | | jobId
|
| | | } = this
|
| | | if(param.getDistance > signDistance) return |
| | | driverSignInTask({ |
| | | jobId, lat, lnt,signType: 0 |
| | | jobId,
|
| | | lat,
|
| | | lnt,
|
| | | signType: 0
|
| | | }).then(res => { |
| | | this.showToast('ç¾å°æå') |
| | | this.getDetail() |
| | | }) |
| | | }, |
| | | getDetail() { |
| | | const { jobId, lat, lnt } = this |
| | | const {
|
| | | jobId,
|
| | | lat,
|
| | | lnt
|
| | | } = this
|
| | | driverTaskJobDetail({ |
| | | jobId: this.jobId, |
| | | lat, |
| | | lnt |
| | | }).then(ress => { |
| | | this.param = { ...ress.data } |
| | | this.param = {
|
| | | ...ress.data
|
| | | }
|
| | | })
|
| | | },
|
| | | wmsDetail() {
|
| | | const {
|
| | | param
|
| | | } = this
|
| | | wmsJobDetail({
|
| | | id: param.id
|
| | | }).then(res => {
|
| | | this.wmsInfo = res.data
|
| | | this.showDetail = true
|
| | | }) |
| | | }, |
| | | getLocation() { |
| | | const { jobId } = this |
| | | const {
|
| | | jobId
|
| | | } = this
|
| | | uni.getLocation({ |
| | | type: 'wgs84', |
| | | success: (res) => { |
| | |
| | | <style lang="scss"> |
| | | .main_app { |
| | | padding: 0; |
| | |
|
| | | .main_content { |
| | | background: #ffffff; |
| | | border-radius: 20rpx 20rpx 0rpx 0rpx; |
| | |
| | | position: relative; |
| | | bottom: 32rpx; |
| | | z-index: 999; |
| | |
|
| | | .line { |
| | | padding: 24rpx 0 28rpx; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | display: flex; |
| | |
|
| | | .label { |
| | | width: 150rpx; |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | } |
| | |
|
| | | .value { |
| | | flex: 1; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | |
|
| | | .waybill_num { |
| | | flex: 1; |
| | | } |
| | |
|
| | | .btn { |
| | | font-size: 28rpx; |
| | | color: $uni-color-primary; |
| | | display: flex; |
| | | align-items: center; |
| | |
|
| | | .icon{ |
| | | width: 30rpx; |
| | | height: 30rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .warnning { |
| | | display: flex; |
| | | color: #ed4545; |
| | | align-items: center; |
| | | margin: 40rpx 0; |
| | | } |
| | |
|
| | | .signIn_wrap { |
| | | margin: 80rpx auto; |
| | | width: 260rpx; |
| | |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | |
|
| | | .handle { |
| | | font-weight: 600; |
| | | font-size: 40rpx; |
| | | line-height: 56rpx; |
| | | } |
| | |
|
| | | .time { |
| | | color: rgba(255, 255, 255, 0.7); |
| | | } |
| | |
|
| | | .img { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .status_wrap { |
| | | height: 200rpx; |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | position: relative; |
| | | color: #fff; |
| | |
|
| | | .bg { |
| | | width: 100%; |
| | | height: 100%; |
| | |
| | | left: 0; |
| | | z-index: -1; |
| | | } |
| | |
|
| | | .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; |
| | |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | |
|
| | | .space { |
| | | width: 750rpx; |
| | | height: 200rpx; |
| | | } |
| | |
|
| | | .padding_wrap { |
| | | position: fixed; |
| | | z-index: 999; |
| | |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
|
| | | .btn { |
| | | height: 96rpx; |
| | | line-height: 96rpx; |
| | |
| | | border-radius: 48rpx; |
| | | border: 1rpx solid #999999; |
| | | } |
| | |
|
| | | .check { |
| | | background: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .detail_modal { |
| | | padding: 36rpx 30rpx; |
| | |
|
| | | .modal_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | |
| | | text-align: center; |
| | | margin-bottom: 36rpx; |
| | | } |
| | |
|
| | | .contract_list { |
| | | .list { |
| | | background: #f7f7f7; |
| | | border-radius: 8rpx; |
| | | padding: 20rpx; |
| | |
|
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | |
|
| | | &:nth-of-type(3n) { |
| | | border-top: 1rpx solid #e5e5e5; |
| | | padding-top: 20rpx; |
| | | } |
| | |
|
| | | .label { |
| | | color: #666666; |
| | | width: 86rpx; |
| | | } |
| | |
|
| | | .value { |
| | | flex: 1; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: $uni-color-primary; |
| | | margin-bottom: 12rpx; |
| | | } |
| | |
|
| | | .address { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | } |
| | |
|
| | | .info { |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 20rpx; |
| | |
|
| | | .label { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | width: 150rpx; |
| | | } |
| | |
|
| | | .value { |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .separate { |
| | | width: 750rpx; |
| | | height: 2rpx; |
| | | margin: 30rpx -30rpx; |
| | | border: 1rpx solid #e5e5e5; |
| | | } |
| | |
|
| | | .id_card { |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | font-weight: 600;
|
| | | height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | font-size: 32rpx;
|
| | | color: #111111; |
| | | text-align: center; |
| | | margin-bottom: 30rpx; |
| | | .last { |
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | | width: 220rpx;
|
| | | margin-bottom: 15rpx;
|
| | |
|
| | | text {
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6; |
| | | width: 60rpx; |
| | | border-radius: 8rpx 0rpx 0rpx 8rpx; |
| | | border: 1rpx solid #dfdede; |
| | | padding: 0 12rpx;
|
| | | } |
| | | .name { |
| | | width: 186rpx; |
| | | border: 1rpx solid #dfdede; |
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 10rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | } |
| | | } |
| | | } |
| | |
| | | data |
| | | }) |
| | | } |
| | | // wmsè¿å详æ
|
| | | export const wmsJobDetail = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/web/pdaPlatform/wmsJobDetail', |
| | | method: 'get', |
| | | data |
| | | }) |
| | | } |
| | |
| | | "proxy": {
|
| | | "/gateway_interface": {
|
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å
|
| | | // "target" : "http://10.50.250.178:8088/gateway_interface", // 代çæå¡å¨ååæIPå°å
|
| | | "target": "http://192.168.0.100:10010", // 代çæå¡å¨ååæIPå°å
|
| | | "target" : "http://10.50.250.178:8088/gateway_interface", // 代çæå¡å¨ååæIPå°å
|
| | | // "target": "http://192.168.0.100:10010", // 代çæå¡å¨ååæIPå°å
|
| | | "changeOrigin": true, // å
许跨å
|
| | | "pathRewrite": {
|
| | | "^/gateway_interface": "" // éåå°åï¼å¦æå®é
æ¥å£ä¸æ¯ä¸å¸¦/dev-apiï¼éè¦å°è¿ä¸ªåç¼ç½®ç©ºï¼å 为è¿ä¸ªåç¼åªæ¯ä¸ºäºè¯å«ç¨ï¼è¯å«å®ä¹å就没ç¨äº
|
| | |
| | | <view class="platform_list">
|
| | | <view class="item" :class="{ active: item.id === activePlatform.id }"
|
| | | v-for="(item, index) in activePlatformGroup.platformList" :key="index" @click="platformClick(item)">
|
| | | {{ item.name }}</view>
|
| | | {{ item.name }}
|
| | | </view>
|
| | | </view>
|
| | | <view class="status_wrap">
|
| | | <view class="status">ä½ä¸ï¼<text>{{ platformTaskInfo.workNum }}</text></view>
|
| | |
| | | <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>
|
| | | {{ statusMap[item.status] }}
|
| | | </view>
|
| | | <view class="status" v-if="item.status == 4">å«å·ä¸ {{ item.callDateTemp }}</view>
|
| | | <view class="status scs" v-if="item.status == 5">å·²ä½ä¸ {{ item.startDateTemp }}</view>
|
| | | </view>
|
| | |
| | | <view class="line" v-else>
|
| | | <text class="label">è¿è¾åå·</text>
|
| | | <text class="value">{{ item.code }}</text>
|
| | | <text class="primaryColor" @click="handleDetail()">è¿å详æ
</text>
|
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶å</text>
|
| | |
| | | </view>
|
| | | <view class="line" v-else>
|
| | | <text class="label">è¿è¾åå·</text>
|
| | | <text class="value">{{ item.code }}</text>
|
| | | <text class="primaryColor" @click="handleDetail()">è¿å详æ
</text>
|
| | | <text class="value">{{ item.billCode }}</text>
|
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶å</text>
|
| | |
| | | </view>
|
| | | </u-popup>
|
| | | <!-- è¿å详æ
-->
|
| | | <u-popup :show="showDetail" closeable safeAreaInsetTop round="10" @close="showDetail = false">
|
| | | <view class="PlatformCallModal" :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }">
|
| | | <view class="title">è¿å详æ
</view>
|
| | | <view class="platform_ing" style="padding: 0">
|
| | | <view class="head">
|
| | | <view class="code">
|
| | | <text>ç</text>
|
| | | <text>AD1212</text>
|
| | | <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true"
|
| | | mode="bottom" @close="showDetail = false">
|
| | | <view class="detail_modal">
|
| | | <view class="modal_title">è¿å详æ
</view>
|
| | | <view v-if="wmsInfo.plateNumber" class="id_card">
|
| | | <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
|
| | | <text>·</text>
|
| | | <text>{{ wmsInfo.plateNumber.slice(2) }}</text>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view class="info">
|
| | | <view class="line">
|
| | | <view class="label">è¿è¾åå·</view>
|
| | | <view class="value">{{ wmsInfo.carryBillCode }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">è¿è¾åå·</text>
|
| | | <text class="value">11111</text>
|
| | | <view class="label">驾驶å</view>
|
| | | <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">驾驶å</text>
|
| | | <text class="value">11111</text>
|
| | | <view class="label">æ»è¿è¾é</view>
|
| | | <view class="value">{{ wmsInfo.ioQty }}䏿¯</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">æ»è¿è¾é</text>
|
| | | <text class="value">11111</text>
|
| | | </view>
|
| | | <view class="line">
|
| | | <text class="label">è¿è¾å
¬å¸</text>
|
| | | <text class="value">11111</text>
|
| | | <view class="label">è¿è¾å
¬å¸</view>
|
| | | <view class="value">{{ wmsInfo.carrierName }}</view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="detail_list">
|
| | | <view class="item">
|
| | | <view class="orderId">ååç¼å·ï¼{{ 111 }}</view>
|
| | | <view class="addr">æ¶è´§å°ï¼{{ 111 }}</view>
|
| | | <view class="content">
|
| | | <view class="separate"></view>
|
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
|
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view>
|
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view>
|
| | | <view class="list">
|
| | | <view class="item" v-for="line in item.platformWmsDetailList">
|
| | | <view class="line">
|
| | | <view class="label">ç©æï¼</view>
|
| | | <view class="value">é»å±±</view>
|
| | | <view class="value">{{ line.materialName }}</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 class="value">{{ line.ioQty }}䏿¯</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | finishWork,
|
| | | platformMove,
|
| | | platformErr,
|
| | | platformOverNumber
|
| | | platformOverNumber,
|
| | | wmsJobDetail
|
| | | } from '@/api'
|
| | | import {
|
| | | statusMap
|
| | |
| | |
|
| | | transformPlatId: '', // è½¬ç§»è®°å½æå°id
|
| | | transformId: '', // 转移记å½ä»»å¡id
|
| | | wmsInfo: {}
|
| | | }
|
| | | },
|
| | | onLoad() {
|
| | |
| | | this.activePlatform = item
|
| | | this.getPlatformTask()
|
| | | },
|
| | | handleDetail() {
|
| | | handleDetail(param) {
|
| | | wmsJobDetail({
|
| | | id: param.id
|
| | | }).then(res => {
|
| | | this.wmsInfo = res.data
|
| | | this.showDetail = true
|
| | | })
|
| | | },
|
| | | handleFinish(item) {
|
| | | finishWork({
|
| | |
| | | this.platformCallPage = 1
|
| | | if (callType == 1) { // å
¥åå«å·
|
| | | platformInPark({
|
| | | jobId: item.id
|
| | | jobId: item.id, |
| | | platformId: activePlatform.id
|
| | | }).then(res => {
|
| | | this.showToast('å«å·æå')
|
| | | this.getPlatformCallList()
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .detail_modal {
|
| | | padding: 36rpx 30rpx;
|
| | |
|
| | | .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;
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | &:nth-of-type(3n) {
|
| | | border-top: 1rpx solid #e5e5e5;
|
| | | padding-top: 20rpx;
|
| | | }
|
| | |
|
| | | .label {
|
| | | color: #666666;
|
| | | width: 92rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 600;
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-bottom: 12rpx;
|
| | | }
|
| | |
|
| | | .address {
|
| | | font-size: 26rpx;
|
| | | color: #666666;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .info {
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .label {
|
| | | font-size: 30rpx;
|
| | | color: #666666;
|
| | | width: 150rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .separate {
|
| | | width: 750rpx;
|
| | | height: 2rpx;
|
| | | margin: 30rpx -30rpx;
|
| | | border: 1rpx solid #e5e5e5;
|
| | | }
|
| | |
|
| | | .id_card {
|
| | | display: flex;
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | line-height: 60rpx;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | | width: 220rpx;
|
| | | margin-bottom: 15rpx;
|
| | |
|
| | | text {
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | | padding: 0 12rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 10rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | </style> |
| | |
| | | </view> |
| | | <view class="line" v-else> |
| | | <text class="label">è¿è¾åå·</text> |
| | | <text class="value">{{ item.code }}</text> |
| | | <text class="primaryColor" @click="handleDetail()">è¿å详æ
</text> |
| | | <text class="value">{{ item.billCode }}</text> |
| | | <text class="primaryColor" @click="handleDetail(item)">è¿å详æ
</text> |
| | | </view> |
| | | <view class="line"> |
| | | <text class="label">驾驶å</text> |
| | |
| | | <text>ææ ä½ä¸è½¦è¾</text> |
| | | </view> |
| | | </view> |
| | | <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true" |
| | | mode="bottom" @close="showDetail = false"> |
| | | <view class="detail_modal"> |
| | | <view class="modal_title">è¿å详æ
</view> |
| | | <view v-if="wmsInfo.plateNumber" class="id_card"> |
| | | <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text> |
| | | <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text> |
| | | <text>·</text> |
| | | <text>{{ wmsInfo.plateNumber.slice(2) }}</text> |
| | | </view> |
| | | <!-- --> |
| | | <view class="info"> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾åå·</view> |
| | | <view class="value">{{ wmsInfo.carryBillCode }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">驾驶å</view> |
| | | <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ»è¿è¾é</view> |
| | | <view class="value">{{ wmsInfo.ioQty }}䏿¯</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾å
¬å¸</view> |
| | | <view class="value">{{ wmsInfo.carrierName }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="separate"></view> |
| | | <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList"> |
| | | <view class="title">ååå·ï¼{{ item.contractCode }}</view> |
| | | <view class="address">æ¶è´§å°ï¼{{ item.address }}</view> |
| | | <view class="list"> |
| | | <view class="item" v-for="line in item.platformWmsDetailList"> |
| | | <view class="line"> |
| | | <view class="label">ç©æï¼</view> |
| | | <view class="value">{{ line.materialName }}</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">æ°éï¼</view> |
| | | <view class="value">{{ line.ioQty }}䏿¯</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <u-picker |
| | | :show="showPlatformgroup" |
| | | keyName="name" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { platformLineUpPage, getPlatformGroupList } from '@/api' |
| | | import { platformLineUpPage, getPlatformGroupList, wmsJobDetail } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | total: 0, |
| | | carCodeFront: '', |
| | | platformGroup: {}, |
| | | wmsInfo: {}, |
| | | platformGroupList: [], |
| | | platformLineUpList: [] |
| | | } |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | handleDetail() { |
| | | handleDetail(param) { |
| | | wmsJobDetail({ id: param.id }).then(res => { |
| | | this.wmsInfo = res.data |
| | | this.showDetail = true |
| | | }) |
| | | }, |
| | | getPlatformGroup() { |
| | | getPlatformGroupList({ |
| | |
| | | getList() { |
| | | const { page, capacity, platformGroup, carCodeFront } = this |
| | | platformLineUpPage({ |
| | | capacity, page, model: { platformGroupId: platformGroup.id, callType: 2, carCodeFront } |
| | | capacity, page, model: { platformGroupId: platformGroup.id, callType: 3, carCodeFront } |
| | | }).then(res => { |
| | | if (res.data) { |
| | | this.platformLineUpList = [...this.platformLineUpList, ...res.data.records || []] |
| | |
| | | } |
| | | } |
| | | } |
| | | .detail_modal {
|
| | | padding: 36rpx 30rpx;
|
| | |
|
| | | .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;
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | &:nth-of-type(3n) {
|
| | | border-top: 1rpx solid #e5e5e5;
|
| | | padding-top: 20rpx;
|
| | | }
|
| | |
|
| | | .label {
|
| | | color: #666666;
|
| | | width: 86rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | font-weight: 600;
|
| | | font-size: 30rpx;
|
| | | color: $uni-color-primary;
|
| | | margin-bottom: 12rpx;
|
| | | }
|
| | |
|
| | | .address {
|
| | | font-size: 26rpx;
|
| | | color: #666666;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .info {
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .label {
|
| | | font-size: 30rpx;
|
| | | color: #666666;
|
| | | width: 150rpx;
|
| | | }
|
| | |
|
| | | .value {
|
| | | flex: 1;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .separate {
|
| | | width: 750rpx;
|
| | | height: 2rpx;
|
| | | margin: 30rpx -30rpx;
|
| | | border: 1rpx solid #e5e5e5;
|
| | | }
|
| | |
|
| | | .id_card {
|
| | | display: flex;
|
| | | font-weight: 600;
|
| | | height: 60rpx;
|
| | | line-height: 60rpx;
|
| | | font-size: 32rpx;
|
| | | color: #111111;
|
| | | border-radius: 8rpx;
|
| | | border: 1rpx solid #dfdede;
|
| | | width: 220rpx;
|
| | | margin-bottom: 15rpx;
|
| | |
|
| | | text {
|
| | | &:nth-of-type(1) {
|
| | | background: #e9f5f6;
|
| | | padding: 0 12rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(2) {
|
| | | padding-left: 10rpx;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4) {
|
| | | padding-right: 6rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | </style> |
| | |
| | | spring: |
| | | profiles: |
| | | active: test |
| | | active: pro |
| | | application: |
| | | name: meetingAdmin |
| | | # å®å
¨é
ç½® |
| | |
| | | redirect-uri: / |
| | | timing: true |
| | | des_pwd: 123456SDFKDJF |
| | | |
| | | ########################微信æ¯ä»ç¸å
³é
ç½®######################## |
| | | wx: |
| | | pay: |
| | | appId: wxfab6da18632e28de |
| | | appSecret: 4ee3b22afa90287834319fc3c1635271 |
| | | mchId: 1229817002 |
| | | mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM |
| | | notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify |
| | | keyPath: /usr/local/apiclient_cert.p12 |
| | | |
| | | tencent: |
| | | map: |
| | | remoteHost: https://apis.map.qq.com |
| | | appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ |
| | | |
| | | |
| | | ## MQTT## |
| | | mqtt: |
| | | host: tcp://192.168.10.198:1883 |
| | | userName: root |
| | | passWord: 123456 |
| | | qos: 1 |
| | | clientId: ClientId_local #ClientId_localå¿
é¡»å¯ä¸ æ¯å¦ä½ å·²ç»å®äºå«ABC é£ä½ å°±ä¸ç´å«ABC å
¶ä»å°æ¹å°±ä¸è¦ä½¿ç¨ABCäº |
| | | timeout: 10 |
| | | keepalive: 20 |
| | | topic1: A/pick/warn/# #ç¬¦å·æ¯ä»£è¡¨æ´ä¸ªwarnä¸é¢çå
¨é¨åä¸»é¢ æ²¡æçè§£çè¯ å¯ä»¥ç¾åº¦ä»ç»çè§£ä¸ä¸ |
| | | topic2: A/cmd/resp |
| | | topic3: ABCF |
| | | topic4: ABCH |
| | |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | @Data |
| | | public class BaseRequst<T> { |
| | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | @ApiModelProperty(value = "ç±»å 0宿³°ç©æµè£
è´§ 1宿³°ç©æµå¸è´§ 2å¸å
¬å¸å¸è´§", example = "1") |
| | | @ExcelColumn(name="ç±»å 0宿³°ç©æµè£
è´§ 1宿³°ç©æµå¸è´§ 2å¸å
¬å¸å¸è´§") |
| | | @ApiModelProperty(value = "ç±»å 1宿³°ç©æµè£
è´§ 0宿³°ç©æµå¸è´§ 2å¸å
¬å¸å¸è´§", example = "1") |
| | | @ExcelColumn(name="ç±»å 1宿³°ç©æµè£
è´§ 0宿³°ç©æµå¸è´§ 2å¸å
¬å¸å¸è´§") |
| | | private Integer type; |
| | | @ApiModelProperty(value = "å·¥ä½å¼å§æ¶é´") |
| | | @ExcelColumn(name="å·¥ä½å¼å§æ¶é´") |
| | |
| | | } |
| | | PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda() |
| | | .eq(PlatformGroup::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformGroup::getType,type==0?Constants.ONE:Constants.ZERO) |
| | | .eq(PlatformGroup::getType,type==0?Constants.ZERO:Constants.ONE) |
| | | .last("limit 1") );//æ¥è¯¢å¸è´§æå°ç»ç¼ç |
| | | job.setPlatformGroupId(group!=null?group.getId():null); |
| | | Member driver = memberMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>() |
| | |
| | | job.setCompanyId(driver.getCompanyId()); |
| | | job.setCompanyNamePath(driver.getCompanyNamePath()); |
| | | } |
| | | |
| | | platformJobMapper.insert(job); |
| | | } |
| | | |
| | |
| | | job.setIocode(param.getIoCode()); |
| | | job.setCarrierName(param.getCarrierName()); |
| | | job.setPlateNumber(param.getPlateNumber()); |
| | | job.setDriverName(param.getDriverName()); |
| | | job.setType(Constants.ONE); |
| | | job.setIoCreatedate(param.getCreateDate()); |
| | | job.setJobId(model.getId()); |