From a653bcff54e077ad83e31c8528aa174d7a7348f7 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期二, 24 十月 2023 11:46:51 +0800 Subject: [PATCH] 再生资源 bugfix --- pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 499 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 448 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 5d790c9..5fc89a5 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,10 +1,14 @@ <!-- 鏌ョ湅鐨瘺鍑�鏄庣粏 --> <template> + <view class="main"> - <u-empty mode="data" + <u-subsection class="tabs" :fontSize = '30' :list="list" :current="current" @change="tabChange"></u-subsection> + <view v-if="current"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" + text="鏆傛棤鏁版嵁" v-if="showWeigh.length===0"></u-empty> <view class="main-block" v-for="(item,i) in showWeigh" @@ -41,6 +45,7 @@ class="count-input"> <u--input placeholder="璇疯緭鍏ユ墸娓�" border="bottom" + type="number" clearable v-model="item.cinderWeight" @input='v=>discountInputHandle(v,i,item.clean)'></u--input> @@ -56,42 +61,133 @@ <view class="count">{{ item.weight }}</view> </view> </view> + <!-- 鍒ゆ柇鏄惁妫�楠岃川閲� --> + <view v-if="isShow(item)"> + <view class="level"> + <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 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"> + <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="level" - v-if='!flag'> - <view class="" - style="width: 140rpx;"> - <u--text text="鐗╄祫鏄庣粏" + <view class="notice-num"> + <view class="num-text" + style="margin-left: 10rpx;"> + <u--text text="閫氱煡閲嶉噺" size='32'></u--text> </view> - <u-tag :text="item.breed+item.spec||item.modifygoodsName||'鏆傛棤'" - plain - @click="goodsPopoverShow(i)" - v-if='item.breed&&item.spec||roleType===4'></u-tag> + <view class="num-input" + v-if='roleType===4&&!flag' + > + <u--input placeholder="璇疯緭鍏ラ�氱煡閲嶉噺" + border="bottom" + clearable + v-model="item.weight1"></u--input> + </view> + <view class="num-show" + v-else-if="flag"> + {{item.weight1}} + </view> </view> - <view class="level" - v-if='item.modifygoodsName||flag'> - <view style="width: 220rpx;"> - <u--text text="鍝佸悕涓庤鏍间慨鏀�" - size='32'></u--text> + </view> + <u-empty v-else icon-size="200" text="''" > + <text>鏆傛湭楠岃川</text> + </u-empty> + <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 v-if="showWeighCopy[i].modifyProductName||item.breed&&item.spec"> - <u-tag :text="!flag?showWeighCopy[i].modifyProductName:item.breed+item.spec" - v-if="showWeighCopy[i].modifyProductName" - plain - @click="productNamePopoverShow(i)"></u-tag> - </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" @@ -100,7 +196,7 @@ :closeOnClickOverlay='true' @close='goodsNameClose' @select="goodsselectClick"></u-action-sheet> - <!-- 浜у搧鍒楄〃 --> + <!-- 鍝佸悕涓庤鏍� --> <view class=""> <u-action-sheet :actions="actionsList" :show="actionShow" @@ -108,6 +204,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" @@ -118,18 +223,126 @@ @click="confirmInput" :loading="loading" loading-text="纭"></u-button> + </view></view> + <!-- 鐗╂枡鏄庣粏 --> + <view v-if="!current"> + <view class="main-block" + v-for="(item,i) in goodsList" + :key="item.id"> + <view class="level"> + <view style="width: 140rpx;"> + <u--text text="鐗╄祫鍚嶇О" + size='32'></u--text> + </view> + <view class="tag-select" + > + <text class="num-text"> + {{item.breed}} + </text> + </view> + </view> + <view class="level"> + <view style="width: 180rpx;"> + <u--text text="鏄庣粏缂栧彿" + size='32'></u--text> + </view> + <view class="tag-select"> + <text> + {{item.itemId}} + </text> + </view> + </view> + <view class="level"> + <view style="width: 180rpx;"> + <u--text text="閫氱煡鏁伴噺" + size='32'></u--text> + </view> + <view class="tag-select"> + <text> + {{item.num}} + </text> + </view> + </view> + <view class="level"> + <view style="width: 180rpx;"> + <u--text text="瑙勬牸" + size='32'></u--text> + </view> + <view class="tag-select"> + <text> + {{item.spec}} + </text> + </view> + </view> + <view class="level"> + <view style="width: 180rpx;"> + <u--text text="閫氱煡閲嶉噺" + size='32'></u--text> + </view> + <view class="tag-select"> + <text> + {{item.weight}} + </text> + </view> + </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" + cancelText='鍙栨秷' + :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> + </view> </template> <script> + + 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: "", + title: '绱犺儦鍕惧嫆鍑洪潚鑺憋紝绗旈攱娴撹浆娣�', + subTitle: '2020-05-15', + thumb: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg', coalDetailsData: {}, + list: [ + { + name: '鐗╄祫鏄庣粏' + }, + { + name: '绉伴噸鏄庣粏' + }, + ], + current: 1, showWeigh: [], + + cityPickerValueDefault: [0, 0, 1], + form:{}, showWeighCopy: [], discountrate: "", loading: false, @@ -147,35 +360,67 @@ havedInput: false, flag: false, orderCode: null, - modifyProductName: null, // 鏄惁淇敼 - isModify: false + 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') + }, + isShow(){ + //鏄惁鏄剧ず 鏄惁宸查獙璐� + return function(item){ + return uni.getStorageSync('roleType')!== 4 && item.iszj == 1 ? true : uni.getStorageSync('roleType')== 4 ? true : false; + // 宸茬粡楠岃川 + } } + }, + onUnload(){ + console.log(this.globalShowWeigh,'鍗歌浇') + }, onLoad(params) { - this.orderPlanId = params.orderPlanId ? params.orderPlanId : '' - this.flag = params.flag ? params.flag : false - }, - onShow() { + console.log(params,this.showWeighCopyStorge,'params璺敱') + 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() + this.ModifiedOrderIndex = params.index + this.alterProductName = params.productName === "true" || false + this.alterUnqualified = params.unqualified === "true" || false + this.havedSubmit = params.havedSubmit === "true" || false; + console.log(this.havedSubmit,'this.havedSubmit') }, 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 @@ -184,12 +429,19 @@ return { ...v, modifyProductName: '', - modifygoodsName: '' - + modifygoodsName: '', + fileList: [], + inspectionJpg: v.inspectionJpg.split(','), + isImage: v.inspectionJpg } }) this.showWeighCopy = JSON.parse(JSON.stringify(this.showWeigh)) - uni.hideLoading() + 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() @@ -199,7 +451,7 @@ this.goodsList = r.data.map(v => { return { ...v, - name: v.breed + v.spec + name: v.breed + '/' + v.spec } }) uni.hideLoading() @@ -233,14 +485,18 @@ } }) }, - // 杈撳叆鎶樻墸鐜囧悗鐐瑰嚮纭 + // 鐐瑰嚮纭 confirmInput() { this.loading = true this.showWeigh = this.showWeigh.map((v, i) => { return { ...v, - breed: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].breed : v.breed, - spec: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].spec : v.spec + 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( @@ -255,14 +511,17 @@ }, 800) } else { this.loading = false - this.$u.toast('鎿嶄綔澶辫触') + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触') } }) }, // 鐗╄祫鏄庣粏 goodsPopoverShow(index) { - this.goodsShow = true - this.goodsIndex = index + if (this.roleType === 4 && !this.flag) { + this.goodsShow = true + this.goodsIndex = index + } + }, goodsNameClose() { this.goodsShow = false @@ -277,11 +536,14 @@ 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 + // this.actionShow = true + // this.actionIndex = index + uni.navigateTo({ + url: `/pages/public-page/selectSpecifications/selectSpecifications?index=${index}&takeCoalId=${this.orderPlanId}&productName=${this.willProductName}` + }) } }, productNameClose() { @@ -294,8 +556,93 @@ }, // 鎶樻墸鐜囪緭鍏� discountInputHandle(value, index, clean) { + console.log('璁$畻鍑�閲�',value, index, clean) + value = Number(value) this.showWeigh[index].cinderWeight = Number(value) - this.showWeigh[index].weight = (clean - (Number(value)).toFixed(2)); + 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) { + value = value + 0; + let x = new BigNumber(clean) + let y = new BigNumber(value) + let z; + if(!this.showWeigh[index].cinderWeight){ + z = 0; + }else{ + z = new BigNumber(this.showWeigh[index].cinderWeight); + } + console.log(value, index, clean,'涓嶅悎鏍奸噸閲忚緭鍏�') + 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}`); + } + }); + }); + }, + //鐐瑰嚮tab 鍒囨崲灞曠ず鏄庣粏 + tabChange(val){ + this.current = val; } }, } @@ -410,14 +757,43 @@ width: 60%; border-bottom: 1px solid rgb(218, 219, 222); } + + .num-show { + width: 60%; + color: #303030 + } + } + + .unqualifiedBreed { + @extend .level; } .level { - width: 60%; - margin-top: 30rpx; - margin-left: 80rpx; + 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 { @@ -443,4 +819,25 @@ margin-bottom: 40rpx; } } + .tabs{ + font-size: 20rpx!important; + } + .u-card-wrap { + background-color: $u-bg-color; + padding: 1px; + } + + .u-body-item { + font-size: 32rpx; + color: #333; + padding: 20rpx 10rpx; + } + + .u-body-item image { + width: 120rpx; + flex: 0 0 120rpx; + height: 120rpx; + border-radius: 8rpx; + margin-left: 12rpx; + } </style> \ No newline at end of file -- Gitblit v1.9.1