From 472a1ffc28590479b3f4027cbe8d04e699b6e592 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期二, 18 七月 2023 16:00:26 +0800
Subject: [PATCH] 修改样式,增加逻辑,修复计算错误
---
pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 345 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 294 insertions(+), 51 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
index 09c87ff..50baa1a 100644
--- 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
@@ -42,42 +42,130 @@
<u--input placeholder="璇疯緭鍏ユ墸娓�"
border="bottom"
clearable
- v-model="item.discount"
+ v-model="item.cinderWeight"
@input='v=>discountInputHandle(v,i,item.clean)'></u--input>
</view>
<view v-else-if='flag'
- class="count">{{ item.discount }}%
+ class="count">{{ item.cinderWeight }}
</view>
</view>
<view class="weigh">
<view class="label-text">
鎵f福鍚庡噣閲�
</view>
- <view class="count">{{ item.discountWeight }}</view>
+ <view class="count">{{ item.weight }}</view>
</view>
</view>
- <view class="level">
- <view class=""
- style="width: 70rpx;">
- <u--text text="钃濇湰"
+ <view class="notice-num">
+ <view class="num-text">
+ <u--text text="閫氱煡鏁伴噺"
size='32'></u--text>
</view>
- <u-tag :text="MaterialList[i].breed+MaterialList[i].spec||'鏆傛棤'"
- plain
- @click="productNamePopoverShow(i)"
- v-if='MaterialList[i].breed&&MaterialList[i].spec||roleType===4'></u-tag>
+ <view class="num-input"
+ v-if='roleType===4&&!flag'>
+ <u--input placeholder="璇疯緭鍏ラ�氱煡鏁伴噺"
+ border="bottom"
+ clearable
+ v-model="item.num"></u--input>
+ </view>
+ <view class="num-show"
+ v-else-if="flag">
+ {{item.num}}
+ </view>
+ </view>
+ <view class="unqualifiedBreed">
+ <view style="width: 180rpx;">
+ <u--text text="涓嶅悎鏍煎搧鍚�"
+ size='32'></u--text>
+ </view>
+ <view class="tag-select">
+ <u-tag :text="item.unqualifiedBreed||'璇烽�夋嫨'"
+ plain
+ @click='selectunqualifiedBreed(i)'></u-tag>
+ </view>
+ </view>
+ <view class="notice-num">
+ <view class="num-text">
+ <u--text text="涓嶅悎鏍奸噸閲�"
+ size='32'></u--text>
+ </view>
+ <view class="num-input"
+ v-if='roleType===4&&!flag'>
+ <u--input placeholder="璇疯緭鍏ヤ笉鍚堟牸閲嶉噺"
+ border="bottom"
+ clearable
+ v-model="item.unqualifiedWeight"
+ @input='v=>unqualifiedWeightInputHandle(v,i,item.clean)'></u--input>
+ </view>
+ <view class="num-show"
+ v-else-if="flag">
+ {{item.unqualifiedWeight}}
+ </view>
</view>
<view class="level"
- v-if='modifyMaterialList[i].modifyProductName'>
- <view style="width: 70rpx;">
- <u--text text="淇"
+ v-if='!flag'>
+ <view style="width: 140rpx;">
+ <u--text text="鐗╄祫鏄庣粏"
size='32'></u--text>
</view>
- <view>
- <u-tag :text="modifyMaterialList[i].modifyProductName"
- plain></u-tag>
+ <view class="tag-select">
+ <view class="tag-select_text"
+ @click="goodsPopoverShow(i)"
+ v-if='roleType===4'>
+ <text>
+ {{item.breed+item.spec||item.modifygoodsName||'鏆傛棤'}}
+ </text>
+ </view>
</view>
</view>
+ <view class="level"
+ v-if='item.modifygoodsName||flag'>
+ <view style="width: 200rpx;">
+ <u--text text="鍝佸悕涓庤鏍�"
+ size='32'></u--text>
+ </view>
+ <view v-if="showWeighCopy[i].modifyProductName||item.breed&&item.spec">
+ <u-tag :text="!flag?showWeighCopy[i].modifyProductName:(item.breed?item.breed+item.spec:'璇烽�夋嫨')"
+ plain
+ @click="productNamePopoverShow(i)"></u-tag>
+ </view>
+ </view>
+ <view style="display: flex;margin-top: 20rpx;margin-left: 20rpx;"
+ v-if="item.isImage">
+ <view style="width: 100px;"
+ v-for="(val,index) in item.inspectionJpg"
+ :key="index">
+ <u--image :showLoading="true"
+ :src="`${BaseUrl}${val}`"
+ width="80px"
+ height="80px">
+ <view slot="error"
+ style="font-size: 24rpx;">鍔犺浇澶辫触</view>
+ </u--image>
+ </view>
+ </view>
+ <view v-else-if='!item.isImage&&!flag'
+ style="margin: 30rpx 80rpx;">
+ <u-upload :fileList="item.fileList"
+ deletable
+ @afterRead="afterRead"
+ @delete="deletePic"
+ :name="i"
+ multiple
+ :maxCount="4"
+ width="250"
+ height="150"
+ :previewFullImage="true">
+ </u-upload>
+ </view>
+ <!-- 鐗╄祫鏄庣粏 -->
+ <u-action-sheet :actions="goodsList"
+ :show="goodsShow"
+ cancelText='鍙栨秷'
+ :closeOnClickOverlay='true'
+ @close='goodsNameClose'
+ @select="goodsselectClick"></u-action-sheet>
+ <!-- 鍝佸悕涓庤鏍� -->
<view class="">
<u-action-sheet :actions="actionsList"
:show="actionShow"
@@ -85,6 +173,15 @@
:closeOnClickOverlay='true'
@close='productNameClose'
@select="selectClick"></u-action-sheet>
+ </view>
+ <!-- 涓嶅悎鏍煎搧鍚� -->
+ <view class="">
+ <u-action-sheet :actions="actionsList"
+ :show="unqualifiedShow"
+ cancelText='鍙栨秷'
+ :closeOnClickOverlay='true'
+ @close='unqualifiedClose'
+ @select="selectUnqualifiedClick"></u-action-sheet>
</view>
</view>
<view class="confirm-button"
@@ -100,17 +197,25 @@
</template>
<script>
+ import BigNumber from "bignumber.js"
+ import { BaseUrl } from '@/api/publicInterface.js';
import { onlineurl } from '@/api/request.js'
+ import backtop from '../../../../../uni_modules/uview-ui/libs/config/props/backtop';
export default {
data() {
return {
orderPlanId: "",
coalDetailsData: {},
showWeigh: [],
+ showWeighCopy: [],
discountrate: "",
loading: false,
show: false,
selectIndex: null,
+ // 鐗╄祫鏄庣粏
+ goodsList: [],
+ goodsShow: false,
+ goodsIndex: null,
// 浜у搧鍒楄〃
actionsList: [],
actionShow: false,
@@ -119,30 +224,27 @@
havedInput: false,
flag: false,
orderCode: null,
- // 鐗╄祫鏄庣粏list
- MaterialList: [],
- // 淇敼涔嬪悗鐨勭墿璧勬槑缁唋ist
- modifyMaterialList: [],
- // 淇敼涔嬪悗鐨勪骇鍝佸悕绉�
modifyProductName: null,
// 鏄惁淇敼
- isModify: false
+ isModify: false,
+ // 涓婁紶鍥剧墖
+ fileList1: [],
+ BaseUrl,
+ // 涓嶅悎鏍煎搧鍚�
+ unqualifiedShow: false,
+ unqualifiedIndex: null
+
};
},
computed: {
roleType() {
return uni.getStorageSync('roleType')
- }
+ },
},
onLoad(params) {
- this.orderPlanId = params.orderPlanId ? params.orderPlanId : ''
- this.flag = params.flag ? params.flag : false
- },
- onShow() {
+ this.orderPlanId = params.orderPlanId ? params.orderPlanId : '';
+ this.flag = params.flag ? params.flag : false;
this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal()
- if (this.orderCode) {
- this.getMaterialDetailByOrderCode()
- }
this.getJcProductList()
},
methods: {
@@ -156,6 +258,17 @@
this.orderCode = res.data.orderCode
this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData
.tmTaskCoalItems : [];
+ this.showWeigh = this.showWeigh.map(v => {
+ return {
+ ...v,
+ modifyProductName: '',
+ modifygoodsName: '',
+ fileList: [],
+ inspectionJpg: v.inspectionJpg.split(','),
+ isImage: v.inspectionJpg
+ }
+ })
+ this.showWeighCopy = JSON.parse(JSON.stringify(this.showWeigh))
uni.hideLoading()
} else {
this.$u.toast('鍔犺浇澶辫触')
@@ -163,8 +276,12 @@
}
}).then(() => {
this.$reqGet('getMaterialDetailByOrderCode', { orderCode: this.orderCode }).then(r => {
- this.MaterialList = r.data
- this.modifyMaterialList = JSON.parse(JSON.stringify(this.MaterialList))
+ this.goodsList = r.data.map(v => {
+ return {
+ ...v,
+ name: v.breed + v.spec
+ }
+ })
uni.hideLoading()
})
})
@@ -202,14 +319,10 @@
this.showWeigh = this.showWeigh.map((v, i) => {
return {
...v,
- itemId: this.MaterialList[i].itemId,
- Num: this.MaterialList[i].Num,
- NumUnit: this.MaterialList[i].NumUnit,
- Remark: this.MaterialList[i].Remark,
- spec: this.modifyMaterialList[i].modifyProductName ? this.actionsList[i].spec : this
- .MaterialList[i].spec,
- breed: this.modifyMaterialList[i].modifyProductName ? this.actionsList[i]
- .secondCategoryName : this.MaterialList[i].breed
+ breed: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].breed : v.breed,
+ spec: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].spec : v.spec,
+ inspectionJpg: v.fileList.map(v => v.url.replace(BaseUrl, '')).join(',')
+
}
})
this.$reqPost('updateTmTaskCoalItem', this.showWeigh, 'json').then(
@@ -224,25 +337,117 @@
}, 800)
} else {
this.loading = false
- this.$u.toast('鎿嶄綔澶辫触')
+ this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触')
}
})
},
+ // 鐗╄祫鏄庣粏
+ goodsPopoverShow(index) {
+ if (this.roleType === 4 && !this.flag) {
+ this.goodsShow = true
+ this.goodsIndex = index
+ }
+ },
+ goodsNameClose() {
+ this.goodsShow = false
+ },
+ goodsselectClick(val) {
+ this.showWeigh[this.goodsIndex].modifygoodsName = val.name
+ this.showWeigh[this.goodsIndex].itemId = val.itemId
+ this.showWeigh[this.goodsIndex].num = val.num
+ this.showWeigh[this.goodsIndex].numUnit = val.numUnit
+ this.showWeigh[this.goodsIndex].remark = val.remark
+ this.showWeigh[this.goodsIndex].breed = val.breed
+ this.showWeigh[this.goodsIndex].spec = val.spec
+ this.showWeigh[this.goodsIndex].weightUnit = val.weightUnit
+ },
+ // 鍝佸悕涓庤鏍�
productNamePopoverShow(index) {
- this.actionShow = true
- this.actionIndex = index
+ if (this.roleType === 4 && !this.flag) {
+ this.actionShow = true
+ this.actionIndex = index
+ }
},
productNameClose() {
this.actionShow = false
},
selectClick(val) {
- this.modifyMaterialList[this.actionIndex].modifyProductName = val.name
+ this.showWeighCopy[this.actionIndex].modifyProductName = val.name
+ this.showWeighCopy[this.actionIndex].breed = val.secondCategoryName
+ this.showWeighCopy[this.actionIndex].spec = val.spec
},
// 鎶樻墸鐜囪緭鍏�
discountInputHandle(value, index, clean) {
this.showWeigh[index].cinderWeight = Number(value)
- this.showWeigh[index].discountWeight = (clean - (Number(value)).toFixed(2));
- }
+ let x = new BigNumber(clean)
+ let y = new BigNumber(value)
+ this.showWeigh[index].weight = x.minus(y).toFixed(2)
+ },
+ // 閫夋嫨涓嶅悎鏍煎搧鍚�
+ selectunqualifiedBreed(index) {
+ if (this.roleType === 4 && !this.flag) {
+ this.unqualifiedShow = true
+ this.unqualifiedIndex = index
+ }
+ },
+ // 涓嶅悎鏍奸噸閲忚緭鍏�
+ unqualifiedWeightInputHandle(value, index, clean) {
+ // this.showWeigh[index].weight = (clean - (Number(value)) - this.showWeigh[index].cinderWeight).toFixed(2)
+ let x = new BigNumber(clean)
+ let y = new BigNumber(value)
+ let z = new BigNumber(this.showWeigh[index].cinderWeight)
+ this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(2) || ''
+ },
+ unqualifiedClose() {
+ this.unqualifiedShow = false
+ },
+ selectUnqualifiedClick(val) {
+ this.showWeigh[this.unqualifiedIndex].unqualifiedBreed = val.secondCategoryName + val.spec
+ },
+ // 鍒犻櫎鍥剧墖
+ deletePic(event) {
+ this.showWeigh[event.name].fileList.splice(event.index, 1);
+ },
+ // 鏂板鍥剧墖
+ async afterRead(event) {
+ // 褰撹缃� mutiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
+ let lists = [].concat(event.file);
+ let fileListLen = this.showWeigh[event.name].fileList.length;
+ lists.map(item => {
+ this.showWeigh[event.name].fileList.push({
+ ...item,
+ status: 'uploading',
+ message: '涓婁紶涓�'
+ });
+ });
+ for (let i = 0; i < lists.length; i++) {
+ const result = await this.uploadFilePromise(lists[i].url, event.name);
+ let item = this.showWeigh[event.name].fileList[fileListLen];
+ this.showWeigh[event.name].fileList.splice(
+ fileListLen,
+ 1,
+ Object.assign(item, {
+ status: 'success',
+ message: '涓婁紶鎴愬姛',
+ url: result
+ })
+ );
+ fileListLen++;
+ }
+ },
+ uploadFilePromise(url, num) {
+ return new Promise((resolve, reject) => {
+ let a = uni.uploadFile({
+ url: BaseUrl + '/admin/sys-file/uploadUnToken',
+ filePath: url,
+ name: 'file',
+ formData: {},
+ success: res => {
+ resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
+ }
+ });
+ });
+ },
},
}
</script>
@@ -341,12 +546,50 @@
}
- .level {
- width: 60%;
+ .notice-num {
+ @extend .discount;
+ align-items: center;
+ justify-content: space-evenly;
+ margin-left: 50rpx;
margin-top: 30rpx;
- margin-left: 80rpx;
+
+ .num-text {
+ width: 30%;
+ }
+
+ .num-input {
+ width: 60%;
+ border-bottom: 1px solid rgb(218, 219, 222);
+ }
+
+ .num-show {
+ width: 60%;
+ color: #303030
+ }
+ }
+
+ .unqualifiedBreed {
+ @extend .level;
+ }
+
+ .level {
+ width: 96%;
+ margin: 30rpx 80rpx;
display: flex;
- justify-content: space-between;
+ justify-content: flex-start;
+
+ .tag-select {
+ // flex: 0.7;
+ margin-left: 14rpx;
+ text-align: center;
+
+ .tag-select_text {
+ border: 1rpx solid rgb(60, 156, 255);
+ padding: 8rpx 14rpx;
+ color: rgb(60, 156, 255);
+ font-size: 26rpx;
+ }
+ }
}
.select-button {
--
Gitblit v1.9.1