From fa9d6d873f252894b668aae8525a3d83b7175ca5 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期五, 28 七月 2023 15:56:33 +0800 Subject: [PATCH] 修改验质 --- api/globalApi.js | 18 ++ pages.json | 11 + pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue | 15 + pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 155 ++++++++++-------- pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue | 9 pages/public-page/selectSpecifications/selectSpecifications.vue | 261 ++++++++++++++++++++++++++++++++ store/index.js | 6 7 files changed, 398 insertions(+), 77 deletions(-) diff --git a/api/globalApi.js b/api/globalApi.js index 2fafc83..081216d 100644 --- a/api/globalApi.js +++ b/api/globalApi.js @@ -411,4 +411,22 @@ url: '/wrzs/tmtaskcoalitem/updateTmTaskCoalItem', method: 'POST' }, + /** + *@description 鏌ヨ涓�绾у搧绫� */ + getFirstCategoryName: { + url: '/wrzs/jcproduct/getFirstCategoryName', + method: 'GET' + }, + /** + *@description 鏌ヨ浜岀骇鍝佺被 */ + getSecondCategoryName: { + url: '/wrzs/jcproduct/getSecondCategoryName', + method: 'GET' + }, + /** + *@description 鏍规嵁涓�绾у搧绫� 浜岀骇鍝佺被鏌ヨ瑙勬牸*/ + getSpec: { + url: '/wrzs/jcproduct/getSpec', + method: 'GET' + }, } \ No newline at end of file diff --git a/pages.json b/pages.json index 3fa499a..e37079a 100644 --- a/pages.json +++ b/pages.json @@ -279,7 +279,16 @@ "enablePullDownRefresh": false } - }] + } ,{ + "path" : "selectSpecifications/selectSpecifications", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ] }, { "root": "pages/driver-page/appointment", "pages": [{ diff --git a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue index 546ebb2..298be09 100644 --- a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue +++ b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue @@ -206,7 +206,7 @@ </view> </view> <view class="filter-body" - v-if="roleType != 3"> + v-if="roleType !== 3&&roleType !== 4"> <view class="condition-name">杞﹂槦</view> <view class="filter-name"> <view class="filter-button" @@ -222,7 +222,8 @@ </view> --> </view> </view> - <view class="filter-body"> + <view class="filter-body" + v-if="roleType != 4"> <view class="condition-name">浠撳簱</view> <view class="filter-name"> <view class="filter-button" @@ -239,7 +240,7 @@ </view> </view> <view class="filter-body" - v-if="roleType == 2"> + v-if="roleType == 2||roleType == 4"> <view class="condition-name">杞︾墝鍙�</view> <view class="filter-name"> <view class="filter-button" @@ -634,7 +635,7 @@ // 璺宠浆鍙戣繍璇︽儏 faYunDetail(takeCoalId) { uni.navigateTo({ - url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}` + url: `/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail?orderPlanId=${takeCoalId}` }); }, // 鎵撳紑绛涢�夋潯浠跺脊绐� 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 6e48a53..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 @@ -56,22 +56,30 @@ <view class="count">{{ item.weight }}</view> </view> </view> - <view class="notice-num"> - <view class="num-text" - style="margin-left: 10rpx;"> - <u--text text="閫氱煡鏁伴噺" + <view class="level"> + <view style="width: 140rpx;"> + <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 class="tag-select" + @click="goodsPopoverShow(i)" + v-if='roleType===4'> + <text> + {{item.breed+"/"+item.spec||item.modifygoodsName||'鏆傛棤'}} + </text> </view> - <view class="num-show" - v-else-if="flag"> - {{item.num}} + </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"> @@ -82,14 +90,9 @@ <view class="tag-select" @click="selectunqualifiedBreed(i)"> <text> - {{item.unqualifiedBreed||'璇烽�夋嫨'}} + {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}} </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"> @@ -109,38 +112,23 @@ {{item.unqualifiedWeight}} </view> </view> - <view class="level" - v-if='!flag'> - <view 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> - <view class="tag-select" - @click="goodsPopoverShow(i)" - v-if='roleType===4'> - <text> - {{item.breed+item.spec||item.modifygoodsName||'鏆傛棤'}} - </text> + <view class="num-input" + v-if='roleType===4&&!flag'> + <u--input placeholder="璇疯緭鍏ラ�氱煡鏁伴噺" + border="bottom" + clearable + v-model="item.num"></u--input> </view> - </view> - <view class="level" - v-if='item.modifygoodsName||flag'> - <view style="width: 180rpx;"> - <u--text text="鍝佸悕涓庤鏍�" - size='32'></u--text> + <view class="num-show" + v-else-if="flag"> + {{item.num}} </view> - <view class="tag-select" - @click="productNamePopoverShow(i)" - v-if="showWeighCopy[i].modifyProductName||item.breed&&item.spec"> - <text> - {{!flag?showWeighCopy[i].modifyProductName:item.breed+item.spec}} - </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"> @@ -212,7 +200,7 @@ 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'; + import { mapState, mapMutations } from "vuex" export default { data() { return { @@ -244,28 +232,46 @@ BaseUrl, // 涓嶅悎鏍煎搧鍚� unqualifiedShow: false, - unqualifiedIndex: null - + 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.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 @@ -281,7 +287,12 @@ } }) 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() @@ -291,7 +302,7 @@ this.goodsList = r.data.map(v => { return { ...v, - name: v.breed + v.spec + name: v.breed + '/' + v.spec } }) uni.hideLoading() @@ -325,14 +336,16 @@ } }) }, - // 杈撳叆鎶樻墸鐜囧悗鐐瑰嚮纭 + // 鐐瑰嚮纭 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(',') } @@ -359,6 +372,7 @@ this.goodsShow = true this.goodsIndex = index } + }, goodsNameClose() { this.goodsShow = false @@ -376,8 +390,11 @@ // 鍝佸悕涓庤鏍� 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() { @@ -400,17 +417,12 @@ // 閫夋嫨涓嶅悎鏍煎搧鍚� selectunqualifiedBreed(index) { if (this.roleType === 4 && !this.flag) { - this.unqualifiedShow = true - this.unqualifiedIndex = index + // this.unqualifiedShow = true + // this.unqualifiedIndex = index + uni.navigateTo({ + url: `/pages/public-page/selectSpecifications/selectSpecifications?index=${index}&takeCoalId=${this.orderPlanId}&unqualified=${this.willUnqualified}` + }) } - }, - // 涓嶅悎鏍奸噸閲忚緭鍏� - 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 @@ -418,6 +430,13 @@ 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); diff --git a/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue b/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue index 494dc8c..844f1cc 100644 --- a/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue +++ b/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails.vue @@ -46,8 +46,8 @@ </view> <view class="body-container"> <view class="container-block"> - <view class="">閫氱煡鍗曠紪鍙�</view> - <view class="">{{ faYunDetailobj.code || '' }}</view> + <view class="container-block_prefix">閫氱煡鍗曠紪鍙�</view> + <view class="container-block_suffix">{{ faYunDetailobj.code || '' }}</view> </view> </view> <view class="body-container last"> @@ -59,7 +59,7 @@ </view> <view class="origin-info" v-if="faYunDetailobj.orderType == '澶栬喘' || faYunDetailobj.orderType == '鍐呰喘' || faYunDetailobj.orderType == '杞嚭'"> - <combined-title title="鍘熷彂淇℃伅"></combined-title> + <combined-title title="楠岃川淇℃伅"></combined-title> <view class="body-container"> <view class="container-block"> <view class="">鐨噸</view> @@ -147,6 +147,15 @@ width: 96%; height: vww(56); @include flex; + + &_prefix { + width: 25%; + } + + &_suffix { + flex: 0.8; + word-break: break-all; + } } } diff --git a/pages/public-page/selectSpecifications/selectSpecifications.vue b/pages/public-page/selectSpecifications/selectSpecifications.vue new file mode 100644 index 0000000..a92b363 --- /dev/null +++ b/pages/public-page/selectSpecifications/selectSpecifications.vue @@ -0,0 +1,261 @@ +<template> + <view class="main"> + <u--form labelPosition="top" + labelWidth="20%" + :borderBottom="false" + :model="dataForm" + ref="uForm"> + <u-form-item label="涓�绾у搧绫�" + prop="firstClass" + :borderBottom="false"> + <u-cell-group> + <u-cell :title="dataForm.firstClass" + value="璇烽�夋嫨" + @click="firstClassSelect"> + <u-icon name="arrow-right" + slot="right-icon" + size="30"></u-icon></u-cell> + </u-cell-group> + </u-form-item> + <u-form-item label="浜岀骇鍝佸悕" + prop="secondClass" + :borderBottom="false"> + <u-cell-group> + <u-cell :title="dataForm.secondClass" + value="璇烽�夋嫨" + @click="secondClassSelect"> + <u-icon name="arrow-right" + slot="right-icon" + size="30"></u-icon></u-cell> + </u-cell-group> + </u-form-item> + <u-form-item label="瑙勬牸" + prop="specifications" + borderBottom> + <u-input v-model="dataForm.specifications" + placeholder="璇疯緭鍏ヨ鏍�" + border="bottom" + @input="$u.debounce(specInputHandle, 500)"></u-input> + </u-form-item> + </u--form> + <Transition name="slide-fade"> + <view class="spec-main" + v-show="specList.length!==0&&haveSelectd"> + <view class="spec-main_content" + v-for="item in specList" + :key="item.id"> + <view class="spec-main_item" + @click.stop="specSelectHandle(item.spec)"> + {{item.spec}} + </view> + </view> + </view> + </Transition> + <view style="margin-top: 20rpx;"> + <u-button type="primary" + shape="circle" + text="鎻愪氦" + @click.stop="formHandle"></u-button> + </view> + <!-- 涓�绾� --> + <u-action-sheet :actions="firstClassActionsList" + :show="firstClassShow" + cancelText='鍙栨秷' + :closeOnClickOverlay='true' + @close='firstClassClose' + @select="firstClassSelectClick"></u-action-sheet> + <!-- 浜岀骇 --> + <u-action-sheet :actions="secondClassActionsList" + :show="secondClassShow" + cancelText='鍙栨秷' + :closeOnClickOverlay='true' + @close='secondClassClose' + @select="secondClassSelectClick"></u-action-sheet> + </view> +</template> + +<script> + import { mapState, mapMutations } from "vuex" + export default { + data() { + return { + dataForm: { + firstClass: "", + secondClass: "", + specifications: "" + }, + index: '', + takeCoalId: "", + // 涓�绾у搧绫绘搷浣滆彍鍗� + firstClassActionsList: [], + firstClassShow: false, + // 浜岀骇鍝佺被鎿嶄綔鑿滃崟 + secondClassActionsList: [], + secondClassShow: false, + // 瑙勬牸閫夋嫨 + specList: [], + haveSelectd: true, + // 鍒ゆ柇鏄慨鏀瑰搧鍚嶄笌瑙勬牸杩樻槸涓嶅悎鏍煎搧鍚� + productName: false, + unqualified: false, + // + showWeighCopyStorge: [] + } + }, + computed: { + ...mapState(["globalShowWeigh"]), + }, + onLoad(params) { + this.index = params.index || "" + this.takeCoalId = params.takeCoalId || '' + this.getFirstCategoryName() + this.productName = params.productName === "true" || false + this.unqualified = params.unqualified === "true" || false + this.showWeighCopyStorge = JSON.parse(JSON.stringify(uni.getStorageSync('showWeighCopyStorge'))) + }, + methods: { + ...mapMutations(['changeglobalShowWeigh']), + getFirstCategoryName() { + uni.showLoading({ + title: "鍔犺浇涓�" + }) + this.$reqGet("getFirstCategoryName").then(res => { + if (res.code === 0) { + uni.hideLoading() + this.firstClassActionsList = res.data.map(v => { + return { + ...v, + name: v.firstCategoryName + } + }) + this.dataForm.firstClass = this.firstClassActionsList[0].firstCategoryName + } else { + uni.hideLoading() + this.$u.toast('鍔犺浇澶辫触') + } + }) + }, + //涓�绾у搧绫昏彍鍗� + firstClassSelect() { + this.firstClassShow = true + }, + firstClassClose() { + this.firstClassShow = false + }, + firstClassSelectClick(val) { + this.dataForm.firstClass = val.name + }, + // 浜岀骇鍝佺被閫夋嫨 + getSecondCategoryName() { + uni.showLoading({ + title: "鍔犺浇涓�" + }) + this.$reqGet('getSecondCategoryName', { firstCategoryName: this.dataForm.firstClass }).then( + res => { + if (res.code === 0) { + uni.hideLoading() + this.secondClassActionsList = res.data.map(v => { + return { + ...v, + name: v.secondCategoryName + } + }) + } else { + uni.hideLoading() + this.$u.toast('鍔犺浇澶辫触') + } + }) + }, + //浜岀骇鍝佺被鑿滃崟 + async secondClassSelect() { + await this.getSecondCategoryName() + this.secondClassShow = true + }, + secondClassClose() { + this.secondClassShow = false + }, + secondClassSelectClick(val) { + this.dataForm.secondClass = val.name + }, + // 閫夋嫨瑙勬牸 + specInputHandle() { + if (!this.dataForm.secondClass) return this.$u.toast('璇峰厛閫夋嫨涓婃柟鍝佸悕') + this.$reqGet('getSpec', { + firstCategoryName: this.dataForm.firstClass, + secondCategoryName: this.dataForm + .secondClass, + specText: this.dataForm.specifications + }).then(res => { + if (res.code === 0) { + this.specList = res.data + } else { + uni.hideLoading() + this.$u.toast('鍔犺浇澶辫触') + } + }) + }, + specSelectHandle(val) { + this.dataForm.specifications = val + this.haveSelectd = false + }, + formHandle() { + this.showWeighCopyStorge = this.globalShowWeigh + if (this.productName) { + this.showWeighCopyStorge[this.index].modifyProductName = this.dataForm.secondClass + '/' + this + .dataForm.specifications + this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass + this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications + } + if (this.unqualified) { + this.showWeighCopyStorge[this.index].unqualifiedBreed = this.dataForm.secondClass + '/' + this.dataForm + .specifications + this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass + this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications + } + this.changeglobalShowWeigh(this.showWeighCopyStorge) + uni.setStorageSync('showWeighCopyStorgeOther', this.globalShowWeigh) + uni.redirectTo({ + url: `/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail?dataForm=${JSON.stringify(this.dataForm)}&orderPlanId=${this.takeCoalId}&index=${this.index}&havedSubmit=${true}` + }) + } + } + } +</script> + +<style lang="scss" + scoped> + .main { + width: 94%; + margin: 10px; + position: relative; + } + + .slide-fade-enter-active { + transition: all 0.3s ease-out; + } + + .spec-main { + width: 96%; + margin: auto; + height: 600rpx; + overflow: scroll; + background: #f0f0f0; + box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); + border-radius: 20rpx; + position: relative; + top: vww(5); + + &_content { + width: 90%; + margin: auto; + padding-top: vww(10); + + .spec-main_item { + padding: vww(5); + color: #515151; + border-bottom: 1px solid #e3e3e3; + font-size: 40rpx; + } + } + } +</style> \ No newline at end of file diff --git a/store/index.js b/store/index.js index c689bdd..71899fe 100644 --- a/store/index.js +++ b/store/index.js @@ -107,7 +107,8 @@ connectNum: 1, //閲嶈繛娆℃暟, reconnectTimeOut: null, // 绉伴噸绋冲畾鎬� 0/绋冲畾 1/闈炵ǔ瀹� 闈炵ǔ瀹氭�佷笉鑳界偣绉伴噸 - globalWarning: false + globalWarning: false, + globalShowWeigh: [] }, mutations: { lengthchange(state, payload) { @@ -180,6 +181,9 @@ // 鏀瑰彉绋冲畾鎬� changeWarning(state, payload) { state.globalWarning = payload + }, + changeglobalShowWeigh(state, payload) { + state.globalShowWeigh = payload } }, actions: { -- Gitblit v1.9.1