From 491249bdf736a5f7d50417c889ad2db734b12383 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期四, 07 九月 2023 10:22:07 +0800
Subject: [PATCH] 操作指引修改
---
pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 506 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 420 insertions(+), 86 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 0f2d8e6..f81c044 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
@@ -1,64 +1,171 @@
<!-- 鏌ョ湅鐨瘺鍑�鏄庣粏 -->
<template>
<view class="main">
+ <u-empty mode="data"
+ icon="http://cdn.uviewui.com/uview/empty/data.png"
+ textSize="30"
+ iconSize="1000"
+ v-if="showWeigh.length===0"></u-empty>
<view class="main-block"
v-for="(item,i) in showWeigh"
- :key="i">
+ :key="item.id">
<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>
+ :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/skin.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
+ 鐨�
+ </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>
+ :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/hair.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
+ 姣�
+ </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>
+ :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/clean.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
+ 鍑�
+ </view>
<view class="num">{{ item.clean }}</view>
</view>
</view>
<view class="discount">
<view class="rate">
<view class="label-text">
- 鎶樻墸鐜�
+ 鎵f福
</view>
- <view v-if='roleType!==1'
- class="count">{{item.discount}}%</view>
- <view v-else
- class="count-input"><u--input placeholder="璇疯緭鍏ユ姌鎵g巼"
+ <view v-if='roleType===4&&!flag'
+ class="count-input">
+ <u--input placeholder="璇疯緭鍏ユ墸娓�"
border="bottom"
clearable
- v-model="item.discount"
- @input='v=>discountInputHandle(v,i,item.clean)'></u--input></view>
+ v-model="item.cinderWeight"
+ @input='v=>discountInputHandle(v,i,item.clean)'></u--input>
+ </view>
+ <view v-else-if='flag'
+ 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">
- <u-tag :text="item.level||'璇烽�夋嫨'"
- plain
- @click="popoverShow(i)"></u-tag>
- <u-tag :text="item.productName||'璇烽�夋嫨'"
- plain
- @click="productNamePopoverShow(i)"></u-tag>
+ <view style="width: 140rpx;">
+ <u--text text="鐗╄祫鏄庣粏"
+ size='32'></u--text>
+ </view>
+ <view class="tag-select"
+ @click="goodsPopoverShow(i)"
+ v-if='roleType===4'>
+ <text>
+ {{item.breed+"/"+item.spec||item.modifygoodsName||'鏆傛棤'}}
+ </text>
+ </view>
</view>
- <view v-if='roleType===1'>
- <u-picker :show="show"
- :columns="columns"
- @cancel='cancel'
- @confirm='confirm'></u-picker>
+ <view class="level"
+ v-if='item.modifygoodsName||globalShowWeigh[i].modifyProductName'>
+ <view style="width: 180rpx;">
+ <u--text text="鍝佸悕涓庤鏍�"
+ size='32'></u--text>
+ </view>
+ <view class="tag-select"
+ @click="productNamePopoverShow(i)">
+ <text>
+ {{!flag?(globalShowWeigh[i].modifyProductName?globalShowWeigh[i].modifyProductName:item.modifygoodsName):(item.breed+'/'+item.spec)}}
+ </text>
+ </view>
</view>
+ <view class="unqualifiedBreed">
+ <view style="width: 180rpx;">
+ <u--text text="涓嶅悎鏍煎搧鍚�"
+ size='32'></u--text>
+ </view>
+ <view class="tag-select"
+ @click="selectunqualifiedBreed(i)">
+ <text>
+ {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}}
+ </text>
+ </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="notice-num">
+ <view class="num-text"
+ style="margin-left: 10rpx;">
+ <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.num"></u--input>
+ </view>
+ <view class="num-show"
+ v-else-if="flag">
+ {{item.num}}
+ </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"
@@ -67,9 +174,18 @@
@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"
- v-if='roleType===1'>
+ v-if='roleType===4&&!flag'>
<u-button type="primary"
shape="circle"
text="纭"
@@ -81,56 +197,116 @@
</template>
<script>
- import loginVue from '../../../../login/login.vue';
+ import BigNumber from "bignumber.js"
+ import { BaseUrl } from '@/api/publicInterface.js';
+ import { onlineurl } from '@/api/request.js'
+ import { mapState, mapMutations } from "vuex"
export default {
data() {
return {
orderPlanId: "",
- index: null,
coalDetailsData: {},
showWeigh: [],
+ showWeighCopy: [],
discountrate: "",
loading: false,
show: false,
- columns: [
- ['杞昏川', '涓川', '閲嶈川']
- ],
- level: '璇烽�夋嫨',
selectIndex: null,
+ // 鐗╄祫鏄庣粏
+ goodsList: [],
+ goodsShow: false,
+ goodsIndex: null,
// 浜у搧鍒楄〃
actionsList: [],
actionShow: false,
- actionIndex: null
+ actionIndex: null,
+ onlineurl,
+ havedInput: false,
+ flag: false,
+ orderCode: null,
+ modifyProductName: null,
+ // 鏄惁淇敼
+ isModify: false,
+ // 涓婁紶鍥剧墖
+ fileList1: [],
+ BaseUrl,
+ // 涓嶅悎鏍煎搧鍚�
+ unqualifiedShow: false,
+ unqualifiedIndex: null,
+ dataForm: {},
+ // // 鍒ゆ柇鏄慨鏀瑰搧鍚嶄笌瑙勬牸杩樻槸涓嶅悎鏍煎搧鍚�
+ ModifiedOrderIndex: null,
+ willProductName: true,
+ willUnqualified: true,
+ alterProductName: false,
+ alterUnqualified: false,
+ // 瀛樺偍涓棿鎬�
+ showWeighCopyStorge: [],
+ havedSubmit: false
};
},
computed: {
+ ...mapState(["globalShowWeigh"]),
roleType() {
return uni.getStorageSync('roleType')
+ },
+ showWeighCopyStorgeOther() {
+ return uni.getStorageSync('showWeighCopyStorgeOther')
}
},
onLoad(params) {
- this.orderPlanId = params.orderPlanId ? params.orderPlanId : ''
- this.index = params.index ? params.index : ''
- },
- onShow() {
+ this.orderPlanId = params.orderPlanId ? params.orderPlanId : '';
+ this.flag = params.flag ? params.flag : false;
this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal()
- this.getJcProductList()
+ this.ModifiedOrderIndex = params.index
+ this.alterProductName = params.productName === "true" || false
+ this.alterUnqualified = params.unqualified === "true" || false
+ this.havedSubmit = params.havedSubmit === "true" || false
},
methods: {
+ ...mapMutations(['changeglobalShowWeigh']),
getTakeCoal() {
uni.showLoading({
title: '鍔犺浇涓�'
});
this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
if (res.code == 0) {
+ uni.hideLoading()
this.coalDetailsData = res.data;
+ this.orderCode = res.data.orderCode
this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData
- .tmTaskCoalItems : [],
- uni.hideLoading()
+ .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.setStorageSync("showWeighCopyStorge", this.showWeighCopy)
+ if (this.havedSubmit) {
+ this.changeglobalShowWeigh(uni.getStorageSync('showWeighCopyStorgeOther'))
+ } else {
+ this.changeglobalShowWeigh(uni.getStorageSync('showWeighCopyStorge'))
+ }
} else {
this.$u.toast('鍔犺浇澶辫触')
uni.hideLoading()
}
+ }).then(() => {
+ this.$reqGet('getMaterialDetailByOrderCode', { orderCode: this.orderCode }).then(r => {
+ this.goodsList = r.data.map(v => {
+ return {
+ ...v,
+ name: v.breed + '/' + v.spec
+ }
+ })
+ uni.hideLoading()
+ })
})
},
GetOrderPlan() {
@@ -138,8 +314,9 @@
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.orderCode = res.data.orderCode
+ this.showWeigh = this.coalDetailsData[this.index].tmTaskCoals ? this.coalDetailsData[
+ this.index].tmTaskCoals : [],
uni.hideLoading();
} else {
this.$u.toast('鍔犺浇澶辫触')
@@ -153,59 +330,157 @@
this.actionsList = res.data.map(v => {
return {
...v,
- name: v.productName
+ name: v.secondCategoryName + v.spec
}
})
}
})
},
- // 杈撳叆鎶樻墸鐜囧悗鐐瑰嚮纭
+ // 鐐瑰嚮纭
confirmInput() {
this.loading = true
+ this.showWeigh = this.showWeigh.map((v, i) => {
+ return {
+ ...v,
+ unqualifiedBreed: this.globalShowWeigh[i].unqualifiedBreed ? this.globalShowWeigh[i]
+ .unqualifiedBreed : v.unqualifiedBreed,
+ breed: this.globalShowWeigh[i].modifyProductName ? this.globalShowWeigh[i].breed : v.breed,
+ spec: this.globalShowWeigh[i].modifyProductName ? this.globalShowWeigh[i].spec : v.spec,
+ inspectionJpg: v.fileList.map(v => v.url.replace(BaseUrl, '')).join(',')
+
+ }
+ })
this.$reqPost('updateTmTaskCoalItem', this.showWeigh, 'json').then(
res => {
if (res.code == 0) {
this.loading = false
- this.$u.toast('鎿嶄綔鎴愬姛')
+ this.$u.toast('鎿嶄綔鎴愬姛,鍗冲皢杩斿洖涓婁竴椤�')
+ setTimeout(() => {
+ uni.navigateBack({
+ delta: 1
+ })
+ }, 800)
} else {
this.loading = false
- this.$u.toast('鎿嶄綔澶辫触')
+ this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触')
}
})
},
- // 閫夋嫨璐ㄩ噺
- popoverShow(i) {
- if (this.roleType === 1) {
- this.show = true
- this.selectIndex = i
+ // 鐗╄祫鏄庣粏
+ goodsPopoverShow(index) {
+ if (this.roleType === 4 && !this.flag) {
+ this.goodsShow = true
+ this.goodsIndex = index
}
+
},
- // 閫夋嫨浜у搧
- productNamePopoverShow(i) {
- if (this.roleType === 1) {
- this.actionShow = true
- this.actionIndex = i
+ 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) {
+ if (this.roleType === 4 && !this.flag) {
+ // this.actionShow = true
+ // this.actionIndex = index
+ uni.navigateTo({
+ url: `/pages/public-page/selectSpecifications/selectSpecifications?index=${index}&takeCoalId=${this.orderPlanId}&productName=${this.willProductName}`
+ })
}
- },
- confirm(e) {
- this.show = false
- this.showWeigh[this.selectIndex].level = e.value[0]
- },
- cancel() {
- this.show = false
},
productNameClose() {
this.actionShow = false
},
selectClick(val) {
- console.log(this.showWeigh);
- this.showWeigh[this.actionIndex].productName = val.productName
- this.showWeigh[this.actionIndex].productId = val.id
+ 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].discountWeight = (Number(value) * clean) / 100
- }
+ this.showWeigh[index].cinderWeight = Number(value)
+ if (clean) {
+ 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
+ uni.navigateTo({
+ url: `/pages/public-page/selectSpecifications/selectSpecifications?index=${index}&takeCoalId=${this.orderPlanId}&unqualified=${this.willUnqualified}`
+ })
+ }
+ },
+ unqualifiedClose() {
+ this.unqualifiedShow = false
+ },
+ selectUnqualifiedClick(val) {
+ this.showWeigh[this.unqualifiedIndex].unqualifiedBreed = val.secondCategoryName + val.spec
+ },
+ // 涓嶅悎鏍奸噸閲忚緭鍏�
+ unqualifiedWeightInputHandle(value, index, clean) {
+ 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) || ''
+ },
+ // 鍒犻櫎鍥剧墖
+ 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>
@@ -223,16 +498,17 @@
}
.main {
- width: 100%;
- height: 100vh;
+ width: 96%;
+ height: 100%;
+ min-height: 400rpx;
background-color: #fff;
- margin: 0 auto;
+ margin: 10rpx auto;
display: flex;
flex-direction: column;
.main-block {
width: 690rpx;
- height: 360rpx;
+ min-height: 360rpx;
margin: vww(20) auto;
padding: vww(5);
background: #ffffff;
@@ -280,6 +556,7 @@
.rate,
.weigh {
width: 50%;
+ height: vww(80);
display: flex;
align-items: center;
justify-content: space-around;
@@ -288,8 +565,11 @@
.count-input {
width: 70%;
border-bottom: 1px solid rgb(218, 219, 222);
-
}
+ }
+
+ .weigh {
+ justify-content: space-between;
}
.count {
@@ -299,27 +579,81 @@
}
- .level {
- width: 40%;
+ .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: 89%;
+ margin: 30rpx 80rpx;
display: flex;
- justify-content: space-between;
+ justify-content: flex-start;
+
+ .tag-select {
+ flex: 1;
+ margin-left: 14rpx;
+ text-align: center;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ border: 1rpx solid rgb(60, 156, 255);
+ padding: 8rpx 14rpx;
+ color: rgb(60, 156, 255);
+ font-size: 26rpx;
+
+ .tag-select_text {
+ // width: vww(180);
+ // border: 1rpx solid rgb(60, 156, 255);
+ // padding: 8rpx 14rpx;
+ // color: rgb(60, 156, 255);
+ // font-size: 26rpx;
+ }
+ }
+ }
+
+ .select-button {
+ width: 100%;
+ @include flex;
+ justify-content: flex-end;
+ margin-bottom: 40rpx;
+ position: absolute;
+ right: vww(-120);
+ bottom: vww(-10);
+
+ /deep/ .u-button {
+ width: 180rpx !important;
+ }
}
}
.confirm-button {
- // position: relative;
- // bottom: 10rpx;
- // right: 10rpx;
width: 100%;
@include flex;
justify-content: center;
-
- /deep/ .u-button {
- width: 180rpx !important;
- }
+ margin-bottom: 40rpx;
}
}
</style>
\ No newline at end of file
--
Gitblit v1.9.1