From ebf7a029c270a728c7578870d6d60a5762f0d1f2 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 16 十二月 2024 19:35:07 +0800 Subject: [PATCH] ll --- admin/src/views/vehicle/category.vue | 25 + admin/src/views/business/reportRecord.vue | 5 h5/pages/waybill/home.vue | 4 h5/index.html | 1 h5/pages/driver/forgetPsd.vue | 4 admin/src/views/vehicle/components/OperaCategoryWindow.vue | 2 h5/pages/staffLogin/forgetPsd.vue | 4 h5/static/waybill/ic_peizai_sel@2x.png | 0 admin/src/components/business/OperaHiddenDangerParamWindow.vue | 5 h5/static/waybill/ic_yunshu_sel@2x.png | 0 h5/static/waybill/ic_dingdan@2x.png | 0 h5/pages/waybill/list.vue | 289 ++++++++++------- h5/static/waybill/ic_ruku.png | 0 h5/static/waybill/ic_dingdan_sel@2x.png | 0 h5/static/driver/ic_fahuodi@2x.png | 0 h5/static/waybill/ic_daohuo_sel@2x.png | 0 h5/manifest.json | 8 h5/pages/waybill/waybillDetail.vue | 525 ++++++++++++++++++++------------ h5/pages/staffLogin/login.vue | 2 h5/static/driver/map_point@2x.png | 0 h5/utils/config.js | 4 h5/pages/login/login.vue | 2 h5/static/waybill/ic_cangku_sel@2x.png | 0 h5/static/waybill/ic_yunshu@2x.png | 0 screen/src/views/LogisticsEfficiency.vue | 52 ++- h5/static/waybill/ic_dangqian@2x.png | 0 h5/static/waybill/ic_peizai@2x.png | 0 h5/pages/driver/taskDetail.vue | 7 h5/static/waybill/ic_cangku@2x.png | 0 h5/pages/staff/snapshot.vue | 2 h5/static/driver/ic_huowu@2x.png | 0 h5/App.vue | 3 h5/pages/driver/login.vue | 2 h5/pages/staff/task/vDangetAppr.vue | 10 34 files changed, 573 insertions(+), 383 deletions(-) diff --git a/admin/src/components/business/OperaHiddenDangerParamWindow.vue b/admin/src/components/business/OperaHiddenDangerParamWindow.vue index 4e351b2..87b9660 100644 --- a/admin/src/components/business/OperaHiddenDangerParamWindow.vue +++ b/admin/src/components/business/OperaHiddenDangerParamWindow.vue @@ -4,11 +4,11 @@ <el-form-item label="鍚嶇О" prop="name"> <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim /> </el-form-item> - <!-- <el-form-item label="璐d换閮ㄩ棬" prop="companyId"> + <el-form-item label="璐d换閮ㄩ棬" prop="companyId"> <el-select filterable clearable @change="() => loadMember(1)" v-model="form.companyId"> <el-option v-for="op in department" :key="op.id" :label="op.name" :value="op.id"></el-option> </el-select> - </el-form-item> --> + </el-form-item> <el-form-item v-if="form.type == 0" label="閫夋嫨瀹夊叏鍛�" prop="memberIdList"> <el-select v-model="form.memberIdList" filterable multiple clearable placeholder="璇烽�夋嫨"> <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id"> @@ -70,7 +70,6 @@ this.form.memberIdList = null this.form.type = type this.getfindCompanyTreePage() - this.loadMember() // 鏂板缓缁勭粐 if (target == null) { this.$nextTick(() => { diff --git a/admin/src/views/business/reportRecord.vue b/admin/src/views/business/reportRecord.vue index 0c1c06b..b5a71a7 100644 --- a/admin/src/views/business/reportRecord.vue +++ b/admin/src/views/business/reportRecord.vue @@ -149,7 +149,8 @@ }, pagination: { capacity: 10, - page: 1 + page: 1, + total: 0 }, total: 0 } @@ -203,6 +204,7 @@ ...pagination }).then(res => { this.dataList = res.records || [] + this.pagination.total = res.total }) }, clear () { @@ -213,6 +215,7 @@ }, handleSizeChange (capacity) { this.pagination.capacity = capacity + this.getList() } } } diff --git a/admin/src/views/vehicle/category.vue b/admin/src/views/vehicle/category.vue index ecf4b97..5b14a1b 100644 --- a/admin/src/views/vehicle/category.vue +++ b/admin/src/views/vehicle/category.vue @@ -18,8 +18,8 @@ <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']"> <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li> - <li v-permissions="['business:category:exportExcel']"><el-button type="primary" @click="exportExcel" - >瀵煎嚭</el-button></li> + <li v-permissions="['business:category:exportExcel']"><el-button type="primary" + @click="exportExcel">瀵煎嚭</el-button></li> </ul> <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search" :data="dataList" stripe @selection-change="handleSelectionChange"> @@ -42,7 +42,7 @@ </template> </el-table-column> </el-table> - <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="tableData.pagination"> + <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination"> </pagination> </template> <!-- 鏂板缓/淇敼 --> @@ -79,11 +79,11 @@ }, created() { this.config({ - module: '杞﹁締淇℃伅琛�', - api: '/business/category', - 'field.id': 'id', - 'field.main': 'id' - }) + module: '杞﹁締淇℃伅琛�', + api: '/business/category', + 'field.id': 'id', + 'field.main': 'id' + }) this.getList() }, methods: { @@ -110,8 +110,11 @@ }) }, - getList() { + getList(page) { const { pagination, filters } = this + if (page) { + pagination.page = page + } this.loading = true fetchList({ model: { ...filters }, @@ -125,6 +128,10 @@ this.loading = false }) }, + handleSizeChange(val){ + this.pagination.pageSize = val + this.getList() + } } } </script> diff --git a/admin/src/views/vehicle/components/OperaCategoryWindow.vue b/admin/src/views/vehicle/components/OperaCategoryWindow.vue index b3588eb..cfcc402 100644 --- a/admin/src/views/vehicle/components/OperaCategoryWindow.vue +++ b/admin/src/views/vehicle/components/OperaCategoryWindow.vue @@ -2,7 +2,7 @@ <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> <el-form-item label="鎵�灞炲垎绫�" prop="parentId"> - <el-select :disabled="form.id" v-model="form.parentId" placeholder="涓嶅~涓哄垯涓�绾у垎绫�"> + <el-select :disabled="form.id" clearable v-model="form.parentId" placeholder="涓嶅~涓哄垯涓�绾у垎绫�"> <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option> </el-select> </el-form-item> diff --git a/h5/App.vue b/h5/App.vue index 04a031d..709d712 100644 --- a/h5/App.vue +++ b/h5/App.vue @@ -145,6 +145,9 @@ color: #999999 !important; font-size: 28rpx; } +.placeholder3{ + color: #333333 !important; +} .red{ color: red !important; } diff --git a/h5/index.html b/h5/index.html index a87db61..a2db0ec 100644 --- a/h5/index.html +++ b/h5/index.html @@ -11,6 +11,7 @@ (coverSupport ? ', viewport-fit=cover' : '') + '" />') </script> <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/> + <script src="https://webapi.amap.com/maps?v=2.0&key=96b8d96e645290f1de14f5229ee030e4"></script> <title></title> <!--preload-links--> <!--app-context--> diff --git a/h5/manifest.json b/h5/manifest.json index 141a8b9..d3e82c9 100644 --- a/h5/manifest.json +++ b/h5/manifest.json @@ -128,9 +128,9 @@ "/zhyq_interface" : { // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 // "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - // "target" : "http://192.168.0.106:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - // "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + // "target" : "http://192.168.0.107:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + // "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 "changeOrigin" : true, // 鍏佽璺ㄥ煙 "pathRewrite" : { "^/zhyq_interface" : "" @@ -142,7 +142,7 @@ "sdkConfigs" : { "maps" : { "amap" : { - "key" : "d9a554b1808ce10a12a932ed9b0db1d0", + "key" : "96b8d96e645290f1de14f5229ee030e4", "securityJsCode" : "", "serviceHost" : "" } diff --git a/h5/pages/driver/forgetPsd.vue b/h5/pages/driver/forgetPsd.vue index 2330ee2..b2d5c36 100644 --- a/h5/pages/driver/forgetPsd.vue +++ b/h5/pages/driver/forgetPsd.vue @@ -7,14 +7,14 @@ <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="11" placeholder="璇疯緭鍏ユ墜鏈哄彿" /> + <input v-model="form.phone" type="tel" :maxlength="11" placeholder="璇疯緭鍏ユ墜鏈哄彿" /> </view> <view class="login_list_item"> <image src="@/static/ic_captcha.png" mode="widthFix"></image> <input v-model="form.validCode" placeholder="璇疯緭鍏ラ獙璇佺爜" - type="text" + type="number" /> <text class="captcha" v-if="countDown == 0" @click="initCaptcha" >鑾峰彇楠岃瘉鐮�</text diff --git a/h5/pages/driver/login.vue b/h5/pages/driver/login.vue index 26b8fed..374d179 100644 --- a/h5/pages/driver/login.vue +++ b/h5/pages/driver/login.vue @@ -7,7 +7,7 @@ <view class="login_list"> <view class="login_list_item"> <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> - <input v-model="form.username" @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="鎵嬫満鍙�" /> + <input v-model="form.username" type="tel" @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="鎵嬫満鍙�" /> </view> <view class="login_list_item"> <image src="@/static/login_ic_password@2x.png" mode="widthFix" /> diff --git a/h5/pages/driver/taskDetail.vue b/h5/pages/driver/taskDetail.vue index dedc18e..b74792b 100644 --- a/h5/pages/driver/taskDetail.vue +++ b/h5/pages/driver/taskDetail.vue @@ -206,8 +206,8 @@ // 'openLocation' // ] // 蹇呭~锛岄渶瑕佷娇鐢ㄧ殑JS鎺ュ彛鍒楄〃 // }) - // this.getLocation() - this.getDetail() + this.getLocation() + // this.getDetail() } else { this.getDetail() } @@ -287,7 +287,8 @@ type: 'wgs84', success: (res) => { this.lat = res.latitude - this.lnt = res.longitude + this.lnt = res.longitude + console.log('---', res); this.getDetail() }, fail: (err) => { diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue index 9ab5fd0..67da103 100644 --- a/h5/pages/login/login.vue +++ b/h5/pages/login/login.vue @@ -41,7 +41,7 @@ export default { data() { return { - code: '' + code: 'qwe' } }, onLoad(option) { diff --git a/h5/pages/staff/snapshot.vue b/h5/pages/staff/snapshot.vue index 8c9b8e2..a275108 100644 --- a/h5/pages/staff/snapshot.vue +++ b/h5/pages/staff/snapshot.vue @@ -87,7 +87,7 @@ <text></text> <text>鑱旂郴鐢佃瘽</text> </view> - <view class="value"><input type="text" disabled placeholder="璇疯緭鍏ヨ仈绯荤數璇�" v-model="param.memberPhone" + <view class="value"><input type="tel" disabled placeholder="璇疯緭鍏ヨ仈绯荤數璇�" v-model="param.memberPhone" placeholder-style="color: #999999;" /></view> </view> <view class="line"> diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue index b92706c..e02a154 100644 --- a/h5/pages/staff/task/vDangetAppr.vue +++ b/h5/pages/staff/task/vDangetAppr.vue @@ -263,9 +263,9 @@ @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker> <!-- --> - <view v-if="videoPlay" class="video_app"> +<!-- <view v-show="videoPlay" class="video_app"> <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video> - </view> + </view> --> </view> </template> @@ -366,8 +366,8 @@ console.log(item) this.videoPlay = true; this.videoUrl = item.fileurlFull; + this.videoContext.requestFullScreen(); this.$nextTick(() => { - this.videoContext.requestFullScreen(); this.videoContext.play(); }) @@ -1378,6 +1378,10 @@ top: 0; width: 100vw; height: 100vh; + video{ + width: 100%; + height: 100%; + } } .Transfer_footer { display: flex; diff --git a/h5/pages/staffLogin/forgetPsd.vue b/h5/pages/staffLogin/forgetPsd.vue index a009fb9..fcf607d 100644 --- a/h5/pages/staffLogin/forgetPsd.vue +++ b/h5/pages/staffLogin/forgetPsd.vue @@ -6,14 +6,14 @@ <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" type="tel" maxlength="18" placeholder="璇疯緭鍏ユ墜鏈哄彿" /> </view> <view class="login_list_item"> <image src="@/static/ic_captcha.png" mode="widthFix"></image> <input v-model="form.validCode" placeholder="璇疯緭鍏ラ獙璇佺爜" - type="text" + type="number" /> <text class="captcha" v-if="countDown == 0" @click="initCaptcha" >鑾峰彇楠岃瘉鐮�</text diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue index b20464b..3681b31 100644 --- a/h5/pages/staffLogin/login.vue +++ b/h5/pages/staffLogin/login.vue @@ -6,7 +6,7 @@ <view class="login_list"> <view class="login_list_item"> <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> - <input v-model="form.username" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="璐﹀彿" /> + <input v-model="form.username" type="number" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="璐﹀彿" /> </view> <view class="login_list_item"> <image src="@/static/login_ic_password@2x.png" mode="widthFix" /> diff --git a/h5/pages/waybill/home.vue b/h5/pages/waybill/home.vue index 16478c4..d76ff1e 100644 --- a/h5/pages/waybill/home.vue +++ b/h5/pages/waybill/home.vue @@ -4,7 +4,7 @@ <view class="login_wrap"> <view class="item"> <view class="la">鎵嬫満鍙�</view> - <input v-model="form.phone" maxlength="18" placeholder-class="placeholder9" placeholder="璇疯緭鍏ユ墜鏈哄彿" /> + <input v-model="form.phone" type="tel" maxlength="18" placeholder-class="placeholder9" placeholder="璇疯緭鍏ユ墜鏈哄彿" /> </view> <view class="item"> <view class="la">楠岃瘉鐮�</view> @@ -13,7 +13,7 @@ v-model="form.code" placeholder="璇疯緭鍏ラ獙璇佺爜" placeholder-class="placeholder9" - type="text" + type="number" /> <text class="captcha" v-if="countDown == 0" @click="initCaptcha" >鑾峰彇楠岃瘉鐮�</text diff --git a/h5/pages/waybill/list.vue b/h5/pages/waybill/list.vue index 625f111..56bec0d 100644 --- a/h5/pages/waybill/list.vue +++ b/h5/pages/waybill/list.vue @@ -1,46 +1,49 @@ <template> <view class="main_app"> - <view class="head_wrap"> + <view class="head_wrap" @click="openModal"> <view class="search_box"> <image src="@/static/ic_search@2x.png" class="search" mode=""></image> - <input type="text" placeholder-class="placeholder9" v-model="param.name" @confirm="handleQuery" /> + <!-- <input type="text" disabled placeholder-class="placeholder9" v-model="param.contractNumber" @confirm="handleQuery" /> --> </view> - <view class="right" @click="openModal"> + <view class="right"> <image src="@/static/ic_shaixuan@2x.png" mode=""></image> <text>绛涢��</text> </view> </view> <!-- --> - <view class="main_list"> - <view class="item" v-for="item,index in list" :key="index"> - <view class="head"> - <view class="code">{{item.contractNumber}}</view> - <view class="status">{{item.orderStatus}}</view> - </view> - <view class="content"> - <view class="line"> - <view class="la">鍙戣揣鍦帮細</view> - <view class="val">{{item.fromRepertoty || '-'}}</view> + <scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower"> + <view class="main_list"> + <view class="item" v-for="item,index in list" :key="index"> + <view class="head"> + <view class="code">{{item.contractNumber}}</view> + <view class="status">{{item.orderStatusDesc }}</view> </view> - <view class="line"> - <view class="la">鍒拌揣鍦帮細</view> - <view class="val">{{item.toRepertoty || '-'}}</view> + <view class="content"> + <view class="line"> + <view class="la">鍙戣揣鍦帮細</view> + <view class="val">{{item.fromRepertoty || item.deliveryEnterprise || '-'}}</view> + </view> + <view class="line"> + <view class="la">鍒拌揣鍦帮細</view> + <view class="val">{{item.toRepertoty || item.receiveEnterprise || '-'}}</view> + </view> + <view class="line"> + <view class="la">杞︾墝鍙凤細</view> + <view class="val">{{item.plateNumber || item.plateName || '-'}}</view> + </view> </view> - <view class="line"> - <view class="la">杞︾墝鍙凤細</view> - <view class="val">{{item.plateNumber || '-'}}</view> + <view class="footer"> + <view class="time">{{item.ncCreateDate}}</view> + <view class="detail" @click="handleDetail(item)">鏌ョ湅璇︽儏</view> </view> </view> - <view class="footer"> - <view class="time">{{item.ncCreateDate}}</view> - <view class="detail" @click="handleDetail(item)">鏌ョ湅璇︽儏</view> + <view v-if="list.length === 0" style="text-align: center"> + <image src="@/static/empty.png" style="width: 320rpx; margin: 120px auto 0" mode="widthFix" /> + <view class="placeholder9 fs24">鏆傛棤鏁版嵁</view> </view> </view> - <view v-if="list.length === 0" style="text-align: center"> - <image src="@/static/empty.png" style="width: 320rpx; margin: 120px auto 0" mode="widthFix" /> - <view class="placeholder9 fs24">鏆傛棤鏁版嵁</view> - </view> - </view> + </scroll-view> + <!-- --> <u-popup :show="showModal" round="12" @close="showModal = false"> <view class="modal"> @@ -48,45 +51,47 @@ <view class="line"> <view class="la">鍚堝悓鍙�</view> <view class="val"> - <input type="text" placeholder-class="placeholder9" v-model="form.contract" /> + <input type="text" placeholder-class="placeholder9" v-model="form.contractNumber" /> </view> </view> <view class="line"> <view class="la">鍒跺崟寮�濮嬫棩鏈�</view> <view class="val" @click="showStarttime = true"> <text class="mr12" - :class="{placeholder9: !form.starttime}">{{ form.starttime ? form.starttime : '璇烽�夋嫨' }}</text> + :class="{placeholder9: !form.ncCreateDateTimeStart}">{{ form.ncCreateDateTimeStart ? form.ncCreateDateTimeStart : '璇烽�夋嫨' }}</text> <u-icon name="arrow-right" size="14" color="#999999"></u-icon> </view> </view> <view class="line"> <view class="la">鍒跺崟缁撴潫鏃ユ湡</view> <view class="val" @click="showEndtime = true"> - <text class="mr12" :class="{placeholder9: !form.endtime}">{{ form.endtime ? form.endtime : '璇烽�夋嫨' }}</text> + <text class="mr12" + :class="{placeholder9: !form.ncCreateDateTimeEnd}">{{ form.ncCreateDateTimeEnd ? form.ncCreateDateTimeEnd : '璇烽�夋嫨' }}</text> <u-icon name="arrow-right" size="14" color="#999999"></u-icon> </view> </view> <view class="line"> <view class="la">鍙戣揣鍦�</view> <view class="val"> - <input type="text" placeholder-class="placeholder9" v-model="form.fromRepertoty" /> + <input type="text" placeholder-class="placeholder9" v-model="form.deliveryEnterprise" /> </view> </view> <view class="line"> <view class="la">鍒拌揣鍦�</view> <view class="val"> - <input type="text" placeholder-class="placeholder9" v-model="form.toRepertoty" /> + <input type="text" placeholder-class="placeholder9" v-model="form.receiveEnterprise" /> </view> </view> <view class="line"> <view class="la">鐪佷唤</view> <view class="val" @click="showPri = true"> - <text class="mr12" :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '璇烽�夋嫨' }}</text> + <text class="mr12" + :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '璇烽�夋嫨' }}</text> <u-icon name="arrow-right" size="14" color="#999999"></u-icon> </view> </view> <view class="btns"> - <view class="btn" @click="showModal = false">鍙栨秷</view> + <view class="btn" @click="clear">鍙栨秷</view> <view class="btn sub" @click="modalSub">鎻愪氦</view> </view> </view> @@ -95,9 +100,9 @@ <u-datetime-picker :show="showStarttime" v-model="form.starttime" mode="date" @confirm="confirmStart" @cancel="showStarttime = false"></u-datetime-picker> <u-datetime-picker :show="showEndtime" v-model="form.endtime" mode="date" @confirm="confirmEnd" - @cancel="showEndtime = false"></u-datetime-picker> - <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker> - + @cancel="showEndtime = false"></u-datetime-picker> + <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker> + </view> </template> @@ -116,7 +121,7 @@ showModal: false, showStarttime: false, - showEndtime: false, + showEndtime: false, showPri: false, form: {}, provinceList: [ @@ -128,61 +133,94 @@ ] }; }, - onLoad(options) { - this.$set(this.param, 'phoneNumber', options.phone) - this.$set(this.form, 'starttime', dayjs().format('YYYY/MM/DD')) - const nextMonth = dayjs().add(1, 'month'); - this.$set(this.form, 'endtime', nextMonth.format('YYYY/MM/DD')) + onLoad(options) { + this.$set(this.param, 'phoneNumber', options.phone) this.getList() }, - methods: { + methods: { + clear() { + this.param = { + phoneNumber: this.param.phoneNumber + } + this.form = {} + this.page = 1 + this.list = [] + this.showModal = false + this.getList() + }, modalSub() { this.handleQuery() this.showModal = false }, openModal() { this.showModal = true - }, - confirmPro(e) { - this.$set(this.form, 'provinceName', e.value[0]) - this.showPri = false + // this.$set(this.form, 'ncCreateDateTimeStart', dayjs().subtract(1, 'month').format('YYYY-MM-DD')) + // const nextMonth = dayjs().add(1, 'month'); + // this.$set(this.form, 'ncCreateDateTimeEnd', dayjs().format('YYYY-MM-DD')) + }, + confirmPro(e) { + this.$set(this.form, 'provinceName', e.value[0]) + this.showPri = false }, confirmStart(e) { this.$nextTick(() => { - this.$set(this.form, 'starttime', dayjs(e.value).format('YYYY/MM/DD')) + this.$set(this.form, 'ncCreateDateTimeStart', dayjs(e.value).format('YYYY-MM-DD')) }) this.showStarttime = false }, confirmEnd(e) { this.$nextTick(() => { - this.$set(this.form, 'endtime', dayjs(e.value).format('YYYY/MM/DD')) + this.$set(this.form, 'ncCreateDateTimeEnd', dayjs(e.value).format('YYYY-MM-DD')) }) this.showEndtime = false }, handleQuery() { + this.page = 1 + this.list = [] this.getList() }, - handleDetail(item) { - uni.navigateTo({ - url: '/pages/waybill/waybillDetail?id=' + item.contractNumber - }) + handleDetail(item) { + uni.navigateTo({ + url: '/pages/waybill/waybillDetail?id=' + item.contractNumber + }) + }, + scrolltolower() { + const { + total, + list + } = this + if (list.length < total) { + this.page = this.page + 1 + this.getList() + } else { + this.showToast('鏆傛棤鏇村鏁版嵁') + } }, getList() { const { param, - form - } = this - if(form.contract){ - form.contractNumber = [form.contract] - }else{ - form.contractNumber = null - } + form, + page + } = this + // if (form.contract) { + // form.contractNumber = form.contract + // } else { + // form.contractNumber = null + // } orderListTms({ - ...param, - ...form + parameters: { + ...param, + ...form + }, + pager: { + rows: 10, + page + } }).then(res => { - this.list = res.data || [] - this.total = res.data.total + if (res.data && res.data.rows) { + this.list = [...this.list, ...res.data.rows] + this.total = res.data.totalCount + } }) } } @@ -236,87 +274,92 @@ } } - .main_list { + .scroll_Y { background-color: #f7f7f7; - width: 750rpx; - margin: 0 -30rpx; - padding: 24rpx 30rpx; - height: calc(100vh - 140rpx); - .item { - border-radius: 8rpx; - margin-bottom: 20rpx; - padding: 0 30rpx; - background-color: #fff; + height: calc(100vh - 130rpx); - .head { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 30rpx; - width: 690rpx; - height: 84rpx; - margin: 0 -30rpx; - background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%); + .main_list { + width: 750rpx; + margin: 0 -30rpx; + padding: 24rpx 30rpx; - .code { - font-weight: 500; - font-size: 32rpx; - color: #222222; - } - - .status { - color: $uni-color-primary; - } - } - - .content { - padding: 20rpx 0rpx; - border-bottom: 1rpx solid #E5E5E5; + .item { + border-radius: 8rpx; margin-bottom: 20rpx; + padding: 0 30rpx; + background-color: #fff; - .line { + .head { display: flex; - margin-bottom: 16rpx; - font-size: 26rpx; + justify-content: space-between; + align-items: center; + padding: 0 30rpx; + width: 690rpx; + height: 84rpx; + margin: 0 -30rpx; + background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%); - .la { - color: #666666; + .code { + font-weight: 500; + font-size: 32rpx; + color: #222222; } - .val {} - - &:nth-last-child(1) { - margin-bottom: 0; + .status { + color: $uni-color-primary; } } - } - .footer { - display: flex; - justify-content: space-between; - align-items: center; - font-size: 26rpx; - color: #999999; - padding-bottom: 20rpx; + .content { + padding: 20rpx 0rpx; + border-bottom: 1rpx solid #E5E5E5; + margin-bottom: 20rpx; - .detail { - width: 168rpx; - height: 60rpx; - background: #FFFFFF; - border-radius: 30rpx; - border: 1rpx solid $uni-color-primary; - color: $uni-color-primary; + .line { + display: flex; + margin-bottom: 16rpx; + font-size: 26rpx; + + .la { + color: #666666; + } + + .val {} + + &:nth-last-child(1) { + margin-bottom: 0; + } + } + } + + .footer { display: flex; + justify-content: space-between; align-items: center; - justify-content: center; font-size: 26rpx; + color: #999999; + padding-bottom: 20rpx; + .detail { + width: 168rpx; + height: 60rpx; + background: #FFFFFF; + border-radius: 30rpx; + border: 1rpx solid $uni-color-primary; + color: $uni-color-primary; + display: flex; + align-items: center; + justify-content: center; + font-size: 26rpx; + + } } } } } + .modal { .modal_title { height: 112rpx; diff --git a/h5/pages/waybill/waybillDetail.vue b/h5/pages/waybill/waybillDetail.vue index e507bac..0b78b75 100644 --- a/h5/pages/waybill/waybillDetail.vue +++ b/h5/pages/waybill/waybillDetail.vue @@ -1,235 +1,350 @@ <template> <view class="main_app"> - <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> - <view class="info"> - <view class="head"> - <view class="code">{{info.contractNumber}}</view> - <view class="status">{{info.orderStatus}}</view> - </view> - <view class="content"> - <view class="line"> - <view class="la">鍙戣揣鍦�</view> - <view class="val">{{info.fromRepertoty || '-'}}</view> + <!-- <image class="bg" src="@/static/wuliuche_bg@2x.png" mode="widthFix"></image> --> + <map id="map" :latitude="latitude" :longitude="longitude" :polyline="polyline" :markers="markers" :scale="4"> + + </map> + <view class="main_content"> + <view class="info"> + <view class="head"> + <view class="code">{{info.contractNumber}}</view> + <view class="status">{{info.orderStatusDesc}}</view> </view> - <view class="line"> - <view class="la">鍒拌揣鍦�</view> - <view class="val">{{info.toRepertoty || '-'}}</view> - </view> - <view class="line"> - <view class="la">杞︾墝鍙�</view> - <view class="val">{{info.plateNumber || '-'}}</view> - </view> - <view class="line"> - <view class="la">鍙告満淇℃伅</view> - <view class="val">{{ '-'}}</view> - </view> - <view class="line"> - <view class="la">杞﹁締浣嶇疆</view> - <view class="val">{{ '-'}}</view> - </view> - <view class="line"> - <view class="la">棰勮鍒拌揪</view> - <view class="val">{{'-'}}</view> + <view class="content"> + <view class="line"> + <view class="la">鍙戣揣鍦�</view> + <view class="val">{{info.deliveryEnterprise || '-'}}</view> + </view> + <view class="line"> + <view class="la">鍒拌揣鍦�</view> + <view class="val">{{info.receiveEnterprise || '-'}}</view> + </view> + <view class="line"> + <view class="la">杞︾墝鍙�</view> + <view class="val">{{info.plateName || '-'}}</view> + </view> + <view class="line"> + <view class="la">鍙告満淇℃伅</view> + <view class="val" @click="callPhone(info.driverTel)">{{ info.driverName }} <text class="primaryColor ml12">{{info.driverTel}}</text> </view> + </view> + <view class="line"> + <view class="la">杞﹁締浣嶇疆</view> + <view class="val">{{'-'}}</view> + </view> + <view class="line"> + <view class="la">棰勮鍒拌揪</view> + <view class="val">{{info.plannedArrivedDate}}</view> + </view> </view> </view> - </view> - <view class="drive_info"> - <view class="title">鐗╂祦淇℃伅</view> -<!-- <view class="item"> - <view class="h2"> - <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view> - <view class="text">鍒拌揪鍗歌揣鍦�</view> + <view class="drive_info"> + <view class="title">鐗╂祦淇℃伅</view> + <view class="drive_list" v-for="dri,k in info.cicleStatusList"> + <view class="separate"></view> + <view class="item_title"> + <view class="icon_wrap"> + <image v-if="dri.key == 0 && k != 0" src="@/static/waybill/ic_dingdan@2x.png" class="icon"></image> + <image v-if="dri.key == 0 && k == 0" src="@/static/waybill/ic_dingdan_sel@2x.png" class="icon"></image> + <image v-if="dri.key == 1 && k != 0" src="@/static/waybill/ic_peizai@2x.png" class="icon"></image> + <image v-if="dri.key == 1 && k == 0" src="@/static/waybill/ic_peizai_sel@2x.png" class="icon"></image> + <image v-if="dri.key == 2 && k != 0" src="@/static/waybill/ic_cangku@2x.png" class="icon"></image> + <image v-if="dri.key == 2 && k == 0" src="@/static/waybill/ic_cangku_sel@2x.png" class="icon"></image> + <image v-if="dri.key == 3 && k != 0" src="@/static/waybill/ic_yunshu@2x.png" class="icon"></image> + <image v-if="dri.key == 3 && k == 0" src="@/static/waybill/ic_yunshu_sel@2x.png" class="icon"></image> + <image v-if="dri.key == 4" src="@/static/waybill/ic_daohuo_sel@2x.png" class="icon"></image> + <image v-if="dri.key == 5" src="@/static/waybill/ic_ruku.png" class="icon"></image> + </view> + <view class="" :class="{primaryColor: k == 0}">{{dri.name}}</view> + </view> + <view class="item" v-for="item,i in dri.secondList"> + <view class="h2" v-if="item.orderStatusDes"> + <view class="icon_wrap" v-if="i != 0"> + <image src="@/static/driver/ic_mostarted.png" class="icon"></image> + </view> + <view v-else class="icon_wrap"></view> + <view class="text" :class="{placeholder3: k==0 && i== 0}" > + {{item.orderStatusDes}} + <text v-if="item.tel">锛屽彂璐т粨搴撶數璇濓細</text> + <text v-if="item.tel" @click="callPhone(item.tel)" class="primaryColor">{{item.tel}}</text> + </view> + </view> + <view class="time">{{item.recordDate}}</view> + </view> </view> - <view class="time">202422222222</view> - <view class="separate"></view> </view> - <view class="item"> - <view class="h2 h1"> - <view class="icon_wrap"><image src="@/static/driver/ic_dangqian.png" class="icon"></image></view> - <view class="text">鍒拌揪鍗歌揣鍦�</view> - </view> - <view class="time">202422222222</view> - <view class="separate separate_ac"></view> - </view> - <view class="item"> - <view class="h2"> - <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view> - <view class="text">鍒拌揪鍗歌揣鍦�</view> - </view> - <view class="time">202422222222</view> - <view class="separate"></view> - </view> --> - </view> + </view> </view> </template> -<script> - import { orderInfoTms } from '@/api' +<script> + import { + orderInfoTms + } from '@/api' export default { data() { return { - id: '', - info: {}, - param: {} + id: '', + info: {}, + param: {}, + + latitude: 31.783205, + longitude: 117.262635, + markers: [], + includePoints: [ + // {latitude: 31.783205, longitude: 117.262635}, {latitude: 36.783205, longitude: 118.10}, + ], + + polyline: [ + // { + // points: [{ + // latitude: 31.783205, + // longitude: 117.262635 + // }, { + // latitude: 36.783205, + // longitude: 118.10 + // }], + // color: '#FF0000', + // width: 3 + // }, + ] }; - }, - onLoad(options) { - this.id = options.id - this.getDetail() - }, - methods: { - getDetail() { - orderInfoTms({ contractNumber: this.id }).then(res => { - this.info = res.data - }) + }, + onLoad(options) { + this.id = options.id + this.getDetail() + }, + methods: { + getDetail() { + orderInfoTms({ + contractNumber: this.id + }).then(res => { + this.info = res.data + if (res.data.deliveryLat && res.data.receiveLat) { + this.markers = [] + this.markers.push({ + id: 1, + latitude: res.data.deliveryLat, + longitude: res.data.deliveryLon, + width: 36, + iconPath: '/static/driver/ic_fahuodi@2x.png', + label: { + content: ' ', + padding: 3, + borderWidth: 2, + borderRadius: '50%', + borderColor: '#fff', + borderRadius: 32, + bgColor: '#FF0000' + } + }) + this.markers.push({ + id: 2, + latitude: res.data.receiveLat, + longitude: res.data.receiveLon, + width: 36, + iconPath: '/static/driver/ic_huowu@2x.png', + label: { + content: ' ', + padding: 3, + borderWidth: 2, + borderRadius: '50%', + borderColor: '#fff', + borderRadius: 32, + bgColor: '#FF0000' + } + }) + this.latitude = (Number(this.markers[0].latitude) + Number(this.markers[1].latitude)) / 2 - 8 + this.longitude = (Number(this.markers[0].longitude) + Number(this.markers[1].longitude)) / 2 + } + if (res.data && res.data.gisList && res.data.gisList.length > 0) { + this.gisInfo = res.data.gisList[0] + } + }) }, + callPhone(phone){ + uni.makePhoneCall({ + phoneNumber: phone + }); + } } } </script> -<style lang="scss" scoped> - page{ - background-color: #f7f7f7; +<style lang="scss" scoped> + page { + background-color: #f7f7f7; } - .main_app{ - padding-top: 120rpx; - .bg{ - width: 750rpx; - position: absolute; - left: 0; - top: 0; - } - .drive_info{ - background: #fff; - border-radius: 16rpx; - padding: 30rpx; - margin-bottom: 20rpx; - .title{ - font-weight: 500; - font-size: 32rpx; - color: #222222; - margin-bottom: 20rpx; - } - .line{ - display: flex; - margin-bottom: 24rpx; - .label{ - color: #666666; - margin-right: 40rpx; - } - .val{ - - } - } - .item{ - position: relative; - color: #999999; - margin-bottom: 30rpx; - .h2{ - display: flex; - align-items: center; - height: 48rpx; - .icon_wrap{ - width: 48rpx; - margin-right: 30rpx; - display: flex; - align-items: center; - justify-content: center; - .icon{ - width: 24rpx; - height: 24rpx; - position: relative; - z-index: 2; - } - } - } - .h1{ - .icon_wrap{ - .icon{ - width: 48rpx; - height: 48rpx; - } - } - } - .time{ - padding-left: 78rpx; - font-size: 24rpx; - margin-top: 6rpx; - } - .separate{ - height: calc( 100% ); - width: 1rpx; - border: 1rpx dashed #666666; - position: absolute; - left: 22rpx; - top: 24rpx; - z-index: 1; - } - .separate_ac{ - top: 48rpx; - } - } - } - - .info { - border-radius: 12rpx; - margin-bottom: 20rpx; - padding: 0 30rpx; - background-color: #fff; - overflow: hidden; + + .main_app { + padding: 0; + padding-top: 45vh; + .main_content{ + height: 55vh ; + overflow: auto; + padding: 20rpx 30rpx 0; position: relative; - z-index: 1; - .head { + z-index: 999; + } + #map { + width: 750rpx; + position: absolute; + left: 0; + top: 0; + height: 105vh; + + ::v-deep .amap-marker-label { + top: 36px !important; + left: 12px !important; + border: 3px solid #fff !important; + border-radius: 50%; + box-shadow: #222222 0px 0px 1px; + } + } + + .drive_info { + background: #fff; + border-radius: 16rpx; + padding: 30rpx; + margin-bottom: 20rpx; + position: relative; + z-index: 999; + .separate { + height: calc( 100% - 250rpx ); + width: 1rpx; + border: 1rpx dashed #CCCCCC; + position: absolute; + left: 53rpx; + top: 102rpx; + z-index: -1; + } + .title { + font-weight: 500; + font-size: 32rpx; + color: #222222; + margin-bottom: 20rpx; + } + + .line { + display: flex; + margin-bottom: 24rpx; + + .label { + color: #666666; + margin-right: 40rpx; + } + + .val {} + } + .item_title{ + font-weight: 600; + font-size: 32rpx; display: flex; - justify-content: space-between; align-items: center; - padding: 0 30rpx; - width: 690rpx; - height: 84rpx; - margin: 0 -30rpx; - background: linear-gradient( 270deg, #FEFEFF 0%, #E1F7FE 100%); - - .code { - font-weight: 500; - font-size: 32rpx; - color: #222222; - } - - .status { - color: $uni-color-primary; - } } - - .content { - padding: 20rpx 0rpx; - margin-bottom: 20rpx; - - .line { - display: flex; - margin-bottom: 16rpx; - font-size: 26rpx; - - .la { - color: #666666; - width: 140rpx; - } - - .val {} - - &:nth-last-child(1) { - margin-bottom: 0; - } + .icon_wrap { + width: 48rpx; + margin-right: 30rpx; + display: flex; + align-items: center; + justify-content: center; + .icon { + width: 48rpx; + height: 48rpx; + position: relative; + z-index: 2; } - } - - } + } + .item { + position: relative; + color: #999999; + margin-bottom: 30rpx; + .text{ + color: #666666; + } + .icon { + width: 20rpx; + height: 20rpx; + position: relative; + z-index: 2; + } + .h2 { + display: flex; + align-items: center; + height: 48rpx; + } + + .h1 { + } + + .time { + padding-left: 78rpx; + font-size: 24rpx; + margin-top: 6rpx; + } + } + } + + .info { + border-radius: 12rpx; + margin-bottom: 20rpx; + padding: 0 30rpx; + background-color: #fff; + overflow: hidden; + position: relative; + z-index: 1; + + .head { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 30rpx; + width: 690rpx; + height: 84rpx; + margin: 0 -30rpx; + background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%); + + .code { + font-weight: 500; + font-size: 32rpx; + color: #222222; + } + + .status { + color: $uni-color-primary; + } + } + + .content { + padding: 20rpx 0rpx; + margin-bottom: 20rpx; + + .line { + display: flex; + margin-bottom: 16rpx; + font-size: 28rpx; + + .la { + color: #666666; + width: 140rpx; + } + + .val {} + + &:nth-last-child(1) { + margin-bottom: 0; + } + } + } + + } } - .main_bg { - position: absolute; - left: 0; + + .main_bg { + position: absolute; + left: 0; top: 0; - width: 100%; - z-index: -1; + width: 100%; + z-index: -1; color: #222222; } </style> \ No newline at end of file diff --git a/h5/static/driver/ic_fahuodi@2x.png b/h5/static/driver/ic_fahuodi@2x.png new file mode 100644 index 0000000..df70766 --- /dev/null +++ b/h5/static/driver/ic_fahuodi@2x.png Binary files differ diff --git a/h5/static/driver/ic_huowu@2x.png b/h5/static/driver/ic_huowu@2x.png new file mode 100644 index 0000000..f3a7d30 --- /dev/null +++ b/h5/static/driver/ic_huowu@2x.png Binary files differ diff --git a/h5/static/driver/map_point@2x.png b/h5/static/driver/map_point@2x.png new file mode 100644 index 0000000..b6fd406 --- /dev/null +++ b/h5/static/driver/map_point@2x.png Binary files differ diff --git a/h5/static/waybill/ic_cangku@2x.png b/h5/static/waybill/ic_cangku@2x.png new file mode 100644 index 0000000..88e6453 --- /dev/null +++ b/h5/static/waybill/ic_cangku@2x.png Binary files differ diff --git a/h5/static/waybill/ic_cangku_sel@2x.png b/h5/static/waybill/ic_cangku_sel@2x.png new file mode 100644 index 0000000..17cb1b6 --- /dev/null +++ b/h5/static/waybill/ic_cangku_sel@2x.png Binary files differ diff --git a/h5/static/waybill/ic_dangqian@2x.png b/h5/static/waybill/ic_dangqian@2x.png new file mode 100644 index 0000000..fc5a9e6 --- /dev/null +++ b/h5/static/waybill/ic_dangqian@2x.png Binary files differ diff --git a/h5/static/waybill/ic_daohuo_sel@2x.png b/h5/static/waybill/ic_daohuo_sel@2x.png new file mode 100644 index 0000000..ad26c44 --- /dev/null +++ b/h5/static/waybill/ic_daohuo_sel@2x.png Binary files differ diff --git a/h5/static/waybill/ic_dingdan@2x.png b/h5/static/waybill/ic_dingdan@2x.png new file mode 100644 index 0000000..2fdbf73 --- /dev/null +++ b/h5/static/waybill/ic_dingdan@2x.png Binary files differ diff --git a/h5/static/waybill/ic_dingdan_sel@2x.png b/h5/static/waybill/ic_dingdan_sel@2x.png new file mode 100644 index 0000000..03a3641 --- /dev/null +++ b/h5/static/waybill/ic_dingdan_sel@2x.png Binary files differ diff --git a/h5/static/waybill/ic_peizai@2x.png b/h5/static/waybill/ic_peizai@2x.png new file mode 100644 index 0000000..d0d35d3 --- /dev/null +++ b/h5/static/waybill/ic_peizai@2x.png Binary files differ diff --git a/h5/static/waybill/ic_peizai_sel@2x.png b/h5/static/waybill/ic_peizai_sel@2x.png new file mode 100644 index 0000000..6e3f821 --- /dev/null +++ b/h5/static/waybill/ic_peizai_sel@2x.png Binary files differ diff --git a/h5/static/waybill/ic_ruku.png b/h5/static/waybill/ic_ruku.png new file mode 100644 index 0000000..d2a4f7b --- /dev/null +++ b/h5/static/waybill/ic_ruku.png Binary files differ diff --git a/h5/static/waybill/ic_yunshu@2x.png b/h5/static/waybill/ic_yunshu@2x.png new file mode 100644 index 0000000..b992d62 --- /dev/null +++ b/h5/static/waybill/ic_yunshu@2x.png Binary files differ diff --git a/h5/static/waybill/ic_yunshu_sel@2x.png b/h5/static/waybill/ic_yunshu_sel@2x.png new file mode 100644 index 0000000..50c6ade --- /dev/null +++ b/h5/static/waybill/ic_yunshu_sel@2x.png Binary files differ diff --git a/h5/utils/config.js b/h5/utils/config.js index 05ff784..08884a3 100644 --- a/h5/utils/config.js +++ b/h5/utils/config.js @@ -1,8 +1,8 @@ -// export const baseUrl = 'zhyq_interface/' +export const baseUrl = 'zhyq_interface/' // export const baseUrl = 'http://192.168.0.173/gateway_interface/' // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/' -export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' +// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/' diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue index 51cf166..899b850 100644 --- a/screen/src/views/LogisticsEfficiency.vue +++ b/screen/src/views/LogisticsEfficiency.vue @@ -30,14 +30,22 @@ <div class="content"> <div class="num" v-if="data1.monthOutTotal || data1.yearOutTotal">{{ activeTab1 == 0 ? data1.monthOutTotal.toLocaleString() : data1.yearOutTotal.toLocaleString() }}</div> - <div class="unit_wrap" v-if="data1.monthOutTotalOnYear || data1.yearOutTotalOnYear"> - <span style="color: #869CC9;">鍚屾瘮</span> - <img - v-if="(activeTab1 == 0 && data1.monthOutTotalOnYear > 0) || (activeTab1 == 1 && data1.yearOutTotalOnYear > 0)" - src="@/assets/images/ic_up.png" class="icon" alt=""> - <img v-else src="@/assets/images/ic_down.png" class="icon" alt=""> - <span>{{ activeTab1 == 0 ? Math.abs(data1.monthOutTotalOnYear) : Math.abs(data1.yearOutTotalOnYear) - }}%</span> + <div class="unit_wrap"> + <span style="color: #869CC9;">{{ activeTab1 == 0 ? '鍚屾瘮' : '鐜瘮' }}</span> + <template v-if="activeTab1 == 0 && data1.monthLastOutTotal"> + <img v-if="data1.monthOutTotal > data1.monthLastOutTotal" src="@/assets/images/ic_up.png" + class="icon" alt=""> + <img v-else src="@/assets/images/ic_down.png" class="icon" alt=""> + </template> + <template v-if="activeTab1 == 1 && data1.yearLastOutTotal"> + <img v-if="data1.yearOutTotal > data1.yearLastOutTotal" src="@/assets/images/ic_up.png" + class="icon" alt=""> + <img v-else src="@/assets/images/ic_down.png" class="icon" alt=""> + </template> + + <span v-if="activeTab1 == 0 && data1.monthLastOutTotal">{{ Math.abs((((data1.monthOutTotal - data1.monthLastOutTotal)/data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span> + <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - data1.yearLastOutTotal)/data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span> + <span v-else>-</span> </div> </div> <div class="train_wrap"> @@ -166,7 +174,7 @@ <div ref="echartMap" class="echart_map" id="echartMap"></div> </div> <div class="warnning_info"> - <div class="head" @click="isShowCarW = !isShowCarW"> + <div class="head" @click="isShowCarW = !isShowCarW"> <img src="../assets/images/FireFighting/fire_right.png" alt=""> <span>杞﹁締鎶ヨ</span> </div> @@ -199,7 +207,7 @@ <img src="@/assets/images/energy_ef/ic_chukuxiaolv@2x.png" alt=""> <div class="content"> <div class="name">鍑哄簱鏁堢巼</div> - <div class="num"><span>{{ activeTab12 == 0 ? data1.todayInRata : data1.monthInRata }}</span>涓囨敮/灏忔椂 + <div class="num"><span>{{ activeTab12 == 0 ? data1.todayOutRate : data1.monthOutRate }}</span>涓囨敮/灏忔椂 </div> </div> </div> @@ -207,7 +215,7 @@ <img src="@/assets/images/energy_ef/ic_rukuxiaolv@2x.png" alt=""> <div class="content"> <div class="name">鍏ュ簱鏁堢巼</div> - <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.monthOutTotal : data1.yearOutTotal + <div class="num"><span class="today">{{ activeTab12 == 0 ? data1.todayInRate : data1.monthInRate }}</span>涓囨敮/灏忔椂</div> </div> </div> @@ -581,7 +589,7 @@ return { name: item.terminalId, img: item.status == 0 ? icLixian : item.status == 1 || item.status == 2 ? icZaitu : icKongxian, - data: [{code: item.plateNum, value: [item.longitude,item.latitude]}] + data: [{ code: item.plateNum, value: [item.longitude, item.latitude] }] } }) // var scatterData = [ @@ -771,7 +779,7 @@ myChart.setOption(option) myChart.on('click', function (params) { const item = params.data - getCarsJobDetails({carCode: item.code}).then(res => { + getCarsJobDetails({ carCode: item.code }).then(res => { activeCar.value = res.data }) }) @@ -813,7 +821,7 @@ const result = res.data || [] dataList2.value = result dataList2.value.forEach(item => { - item.planDateStrT = activeTab2.value == 2 ? dayjs(item.planDateStr).format('M') : dayjs(item.planDateStr).format('M.D') + item.planDateStrT = activeTab2.value == 2 ? dayjs(item.planDate).format('M') : dayjs(item.planDate).format('M.D') }) initEnergy() }) @@ -865,7 +873,7 @@ return i }) dataList5.value.forEach(i => { - i.rate = ((i.num / count) * 100).toFixed(0) + i.rate = count == 0 ? 0 : ((i.num / count) * 100).toFixed(0) }) data5.value = count initEchart1() @@ -874,7 +882,7 @@ const dataList6 = ref([]) const getData6 = () => { wlstockList().then(res => { - const result = res.data + const result = res.data.stockList || [] dataList6.value = result }) } @@ -1252,6 +1260,7 @@ bottom: 0; border-top: 1px solid #5ecbce; border-bottom: 1px solid #5ecbce; + .head { display: flex; width: 280px; @@ -1264,6 +1273,7 @@ font-weight: bold; font-size: 16px; cursor: pointer; + img { width: 14px; margin-right: 10px; @@ -1273,19 +1283,23 @@ .war_list { max-height: 300px; overflow: auto; + .line { font-size: 13px; color: #D2E0FF; display: flex; align-items: center; height: 30px; - div{ + + div { flex: 3; } - .id_card{ + + .id_card { color: #00F2F3; } - .title{ + + .title { flex: 4; } } -- Gitblit v1.9.3