From 131ed52dc99f68b3dfb3acc77c009e212df16267 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 26 六月 2023 14:23:46 +0800
Subject: [PATCH] 验质页面增加计算折扣率
---
pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
pages/tabbar-page/index-tabbar/index-tabbar.vue | 2
uni.scss | 6
3 files changed, 285 insertions(+), 5 deletions(-)
diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue
new file mode 100644
index 0000000..566490d
--- /dev/null
+++ b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue
@@ -0,0 +1,282 @@
+<!-- 鏌ョ湅鐨瘺鍑�鏄庣粏 -->
+<template>
+ <view class="main">
+ <view class="main-block"
+ v-for="(item,i) in showWeigh"
+ :key="i">
+ <view class="weigh-item">
+ <view class="item">
+ <view class="concrete"
+ style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;">
+ 鐨�</view>
+ <view class="num">{{ item.skin }}</view>
+ </view>
+ <view class="item">
+ <view class="concrete"
+ style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;">
+ 姣�</view>
+ <view class="num">{{ item.hair }}</view>
+ </view>
+ <view class="item">
+ <view class="concrete"
+ style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;">
+ 鍑�</view>
+ <view class="num">{{ item.clean }}</view>
+ </view>
+ </view>
+ <view class="discount">
+ <view class="rate">
+ <view class="label-text">
+ 鎶樻墸鐜�
+ </view>
+ <view v-if='roleType!==1'
+ class="count">{{item.discount}}%</view>
+ <view v-else
+ class="count-input"><u--input placeholder="璇疯緭鍏ユ姌鎵g巼"
+ border="bottom"
+ clearable
+ v-model="item.discount"
+ @input='v=>discountInputHandle(v,i,item.clean)'></u--input></view>
+ </view>
+ <view class="weigh">
+ <view class="label-text">
+ 鎶樻墸鍚庨噸閲�
+ </view>
+ <view class="count">{{item.discountWeight}}</view>
+ </view>
+ </view>
+ <view class="level">
+ <u-tag :text="item.level||'璇烽�夋嫨'"
+ plain
+ @click="popoverShow(i)"></u-tag>
+ </view>
+ <view class="confirm-button"
+ v-if='roleType===1'>
+ <u-button type="primary"
+ shape="circle"
+ text="纭"
+ @click="confirmInput(item)"
+ :loading="loading"
+ loading-text="纭"></u-button>
+ </view>
+ <view v-if='roleType===1'>
+ <u-picker :show="show"
+ :columns="columns"
+ @cancel='cancel'
+ @confirm='confirm'></u-picker>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import loginVue from '../../../../login/login.vue';
+ export default {
+ data() {
+ return {
+ orderPlanId: "",
+ index: null,
+ coalDetailsData: {},
+ showWeigh: [],
+ discountrate: "",
+ loading: false,
+ show: false,
+ columns: [
+ ['杞昏川', '涓川', '閲嶈川']
+ ],
+ level: '璇烽�夋嫨',
+ selectIndex: null
+ };
+ },
+ computed: {
+ roleType() {
+ return uni.getStorageSync('roleType')
+ }
+ },
+ onLoad(params) {
+ this.orderPlanId = params.orderPlanId ? params.orderPlanId : ''
+ this.index = params.index ? params.index : ''
+ },
+ onShow() {
+ this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal()
+ },
+ methods: {
+ getTakeCoal() {
+ uni.showLoading({
+ title: '鍔犺浇涓�'
+ });
+ this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
+ if (res.code == 0) {
+ this.coalDetailsData = res.data;
+ this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData
+ .tmTaskCoalItems : [],
+ uni.hideLoading()
+ } else {
+ this.$u.toast('鍔犺浇澶辫触')
+ uni.hideLoading()
+ }
+ })
+ },
+ GetOrderPlan() {
+ uni.showLoading({ title: '鍔犺浇涓�...' });
+ this.$reqGet('GetOrderPlan').then(res => {
+ if (res.data) {
+ this.coalDetailsData = res.data;
+ this.showWeigh = this.coalDetailsData[this.index].tmTaskCoalItems ? this.coalDetailsData[
+ this.index].tmTaskCoalItems : [],
+ // this.showWeigh = this.showWeigh.map(v => {
+ // return {
+ // ...v,
+ // loading: false
+ // }
+ // })
+ uni.hideLoading();
+ } else {
+ this.$u.toast('鍔犺浇澶辫触')
+ uni.hideLoading()
+ }
+ });
+ },
+ // 杈撳叆鎶樻墸鐜囧悗鐐瑰嚮纭
+ confirmInput(item) {
+ this.loading = true
+ console.log(this.coalDetailsData);
+ this.$reqPost('updateTmTaskCoalItem', this.coalDetailsData[this.index].tmTaskCoalItems, 'json').then(
+ res => {
+ if (res.code == 0) {
+ this.loading = false
+ this.$u.toast('鎿嶄綔鎴愬姛')
+ } else {
+ this.loading = false
+ this.$u.toast('鎿嶄綔澶辫触')
+ }
+ })
+ },
+ // 閫夋嫨璐ㄩ噺
+ popoverShow(i) {
+ this.show = true
+ this.selectIndex = i
+ },
+ confirm(e) {
+ this.show = false
+ this.coalDetailsData[this.index].tmTaskCoalItems[this.selectIndex].level = e.value[0]
+ },
+ cancel() {
+ this.show = false
+ },
+ // 鎶樻墸鐜囪緭鍏�
+ discountInputHandle(value, index, clean) {
+ console.log(value, index);
+ this.coalDetailsData[this.index].tmTaskCoalItems[index].discountWeight = (Number(value) * clean) / 100
+ }
+ },
+ }
+</script>
+
+<style lang="scss"
+ scoped>
+ @mixin flex {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ /deep/ .u-picker {
+ height: 600rpx;
+ }
+
+ .main {
+ width: 100%;
+ height: 100vh;
+ background-color: #fff;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: column;
+
+ .main-block {
+ width: 690rpx;
+ height: 360rpx;
+ margin: vww(20) auto;
+ padding: vww(5);
+ background: #ffffff;
+ box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11);
+ border-radius: 20rpx;
+ overflow: hidden;
+ position: relative;
+
+ .weigh-item {
+ width: 100%;
+ height: vww(36);
+ margin: vww(10);
+ @include flex;
+ justify-content: space-around;
+
+ .item {
+ min-width: vww(50);
+ height: vww(45);
+ font-size: 21rpx;
+ font-weight: 400;
+ color: #ffffff;
+ text-align: center;
+ line-height: vww(30);
+ @include flex;
+
+ .concrete {
+ width: vww(36);
+ height: vww(36);
+ }
+
+ .num {
+ font-size: 40rpx;
+ font-weight: 300;
+ color: #303030;
+ }
+ }
+ }
+
+ .discount {
+ @include flex;
+ justify-content: space-around;
+ width: 100%;
+ line-height: vww(36);
+
+ .rate,
+ .weigh {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ flex-direction: column;
+
+ .count-input {
+ width: 70%;
+ // border-bottom: 1px solid rgb(218, 219, 222);
+
+ }
+ }
+
+ .count {
+ font-size: 40rpx;
+ color: rgb(242, 70, 79);
+ }
+
+ }
+
+ .level {
+ width: 120rpx;
+ margin-top: 30rpx;
+ margin-left: 80rpx;
+ }
+
+ .confirm-button {
+ position: absolute;
+ bottom: 10rpx;
+ right: 10rpx;
+
+ /deep/ .u-button {
+ width: 180rpx !important;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 7fe7a38..89d8b24 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -175,7 +175,7 @@
if (this.globalisconnect) {
this.$store.dispatch('websocketInit')
this.changeisconnect(false)
- console.log(this.globalisconnect, 'index鐨剋s蹇冧簨鈥�');
+ console.log(this.globalisconnect, 'index鐨剋s鏁版嵁鈥�');
}
this.userAuthorization();
this.messageReq();
diff --git a/uni.scss b/uni.scss
index 30476e6..09c4e04 100644
--- a/uni.scss
+++ b/uni.scss
@@ -11,7 +11,8 @@
*
* 濡傛灉浣犵殑椤圭洰鍚屾牱浣跨敤浜唖css棰勫鐞嗭紝浣犱篃鍙互鐩存帴鍦ㄤ綘鐨� scss 浠g爜涓娇鐢ㄥ涓嬪彉閲忥紝鍚屾椂鏃犻渶 import 杩欎釜鏂囦欢
*/
-
+// uview鏍峰紡
+@import '@/uni_modules/uview-ui/theme.scss';
/* 棰滆壊鍙橀噺 */
/* 琛屼负鐩稿叧棰滆壊 */
@@ -78,6 +79,3 @@
@function vww($number) {
@return ($number / 375) * 750 + rpx;
}
-
-// uview鏍峰紡
-@import '@/uni_modules/uview-ui/theme.scss';
--
Gitblit v1.9.1