From b63dc8ccc6163e73b9f4e4b79f9497070e8ba5ec Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期四, 05 十二月 2024 15:53:06 +0800 Subject: [PATCH] feat:PVC流程代码提交 --- pages/loadUnload-page/selectTarget/selectTarget.vue | 1398 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 1,294 insertions(+), 104 deletions(-) diff --git a/pages/loadUnload-page/selectTarget/selectTarget.vue b/pages/loadUnload-page/selectTarget/selectTarget.vue index 59d4fd3..0507a33 100644 --- a/pages/loadUnload-page/selectTarget/selectTarget.vue +++ b/pages/loadUnload-page/selectTarget/selectTarget.vue @@ -1,6 +1,34 @@ <template> <view class="main"> - <u--form labelPosition="top" + <!-- 褰撳墠閫夋嫨浠撳簱 --> + <view class="top-tag"> + <text style="margin-right:20rpx">鐐瑰嚮鍒囨崲/閫夋嫨浠撳簱</text> + <u-tag + size='large' + icon='map' + :text="dataForm.firstClass ? dataForm.firstClass : '璇烽�夋嫨浠撳簱'" + @click="firstClassSelect" + ></u-tag> + </view> + <!-- 鐐瑰嚮鏌ョ湅鍘熺洂閽欓晛 --> + + <view class="self-deliver"> + <view class="self-deliver_text"> + 鏌ョ湅鍘熺洂閽欓晛缁撴灉 + </view> + <view class="self-deliver_btn"> + <u-button text="鏌ョ湅" + type="primary" + shape="cirle" + @click="todoDetail"></u-button> + </view> + </view> + <view + v-if="messageObj.carNo" + class="notice-bar"><u-notice-bar :text="messageText" + :fontSize="30" :showIcon = 'true' + ></u-notice-bar></view> + <!-- <u--form labelPosition="top" labelWidth="20%" :borderBottom="false" :model="dataForm" @@ -17,63 +45,470 @@ 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" - :disabled="!dataForm.firstClass"> - <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="orderType" - :borderBottom="false"> - <u-cell-group> - <u-cell :title="dataForm.orderType" - :value="isOrderType" - @click="orderTypeSelect"> - <view slot="right-icon" - @click.stop="cleanOrderType"> - <u-icon :name="!dataForm.orderType?'arrow-right':'close-circle'" - size="30"></u-icon> - </view> - </u-cell> - </u-cell-group> - </u-form-item> --> - </u--form> - <view class="coal-name" - v-show="coalList.length!==0"> - <u-checkbox-group v-model="checkedCoal" - placement="column" - @change="checkboxChange" - size="30"> - <u-checkbox :customStyle="{marginBottom: '8px',fontSize:'20px'}" - v-for="(item, index) in coalList" - :key="item.id" - :label="item.name" - :name="item.name" - labelSize='40' - iconSize='40'></u-checkbox></u-checkbox-group> - </view> - <view style="margin-top: 20rpx;"> + + </u--form> --> + + <!-- <view style="margin-top: 20rpx;"> <u-button type="primary" shape="circle" - text="鎻愪氦" + text="鏌ョ湅璇ヤ粨搴撴敹鍙戝崟" @click.stop="formHandle"></u-button> + </view> --> + <!-- 鍦哄湴 --> + + <view class='div-box'> + <!-- 娓叉煋鍖哄煙 --> + <u-collapse + :value='["1"]' + ref="myCollapse" + > + <u-collapse-item + name='1' + ref="collapseHeight" + class="collItem" + :title="'寰呰鍗告敹鍙戝崟'"> + <view class="history-information" + @click="viewDetail(item)" + v-for="item,i in detailData" + :key="i"> + <view class="first"> + <view class="">{{ item.carNo || '' }}</view> + <view class=""></view> + </view> + <view class="second"> + <view class="coal-name">{{ item.productNames?limitString(item.productNames,20,'...'):'' || ''}}</view> + <view class="order-type">{{ item.orderType || '' }}</view> + </view> + <view class="third"> + <view class="third-line"> + <view class="third-line_text">瀹㈡埛鍚嶇О:</view> + <view>{{ item.customerName }}</view> + </view> + <view class="third-line" v-if="/鑱氭隘涔欑儻鏍戣剛/.test(item.productName)"> + <view class="third-line_text">鍖呰绫诲瀷:</view> + <view>{{ proType[item.packingType] }}</view> + </view> + <view class="third-line" v-if="item.productName === '浜屾隘涔欑兎(EDC)'"> + <view class="third-line_text">璐ㄦ鐘舵��:</view> + <view> <u-tag :text="checkStatusList[item.checkStatus]" plain > </u-tag></view> + </view> + </view> + <view class="fourth"> + <view class="fourth-icon"> + <view + style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover"> + </view> + </view> + <view class="senddate">{{ item.sendDate }}</view> + </view> + <view class="fourth"> + <view class="fourth-icon"> + <view + style="width: 26rpx;height: 26rpx;line-height: 26rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/carnNUm.png') no-repeat;background-size: cover;"> + </view> + </view> + <view class="senddate">{{ item.orderCode }}</view> + + <!-- v-if="item.isWeight === 0 && item.tmTaskCoalList.length >1 && item.packingType !== 1" --> + <view class="rightBtn"><u-button type='primary' v-if=" item.tmTaskCoalList.length >1 && !item.tmTaskCoalList.find(item=>item.isWeight !== 0) && item.packingType !== 1" text='涓�閿‘璁�' @click.native.stop="allOkBtn(item)"></u-button></view> + </view> + <view class="fourth"> + <view class="senddate">{{ proType[item.packingType] }}</view> + </view> + + <view class="table"> + <uni-table border stripe + emptyText="鏆傛棤鏇村鏁版嵁"> + <uni-tr> + <uni-th width='120' + align="center">鎿嶄綔</uni-th> + <uni-th align="center" width='800'>浜у搧</uni-th> + <!-- <uni-th align="center" width='200'>浠撳簱</uni-th> + <uni-th align="center" width='100'>鐨噸</uni-th> + <uni-th align="center" width='100'>姣涢噸</uni-th> + <uni-th align="center" width='100'>鍑�閲�</uni-th> + <uni-th align="center" width='100'>鏁伴噺</uni-th> --> + <uni-th align="center" width='120'>纭閲�</uni-th> + <uni-th align="center" width='120'>璁″垝閲�</uni-th> + <uni-th align="center" width='150'>璁¢噸鏂瑰紡</uni-th> + + <!-- <uni-th align="center" width='100'>瀹為檯閲�</uni-th> --> + + </uni-tr> + <uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index"> + <uni-td align="center"> + <view class="btnBox"> + <!-- --> + <u-button size='mini' v-if="item.isPindan === 1 && $store.state.pvcIdList.includes(subItem.productId) " type='primary' text='鏌ョ湅鎷煎崟' @click.native.stop="toViewPindan(subItem)"></u-button> + <u-button type='primary' text='纭瑁呭嵏' size='mini' v-if="subItem.flag && isBtnShow(item) && !( item.tmTaskCoalList.length >1 && !item.tmTaskCoalList.find(item=>item.isWeight !== 0) && item.packingType !== 1)" @click.native.stop="enterOk(item,subItem)"></u-button> + </view></uni-td> + <uni-td align="left"> + <view>{{ subItem.productName + ( subItem.productGrade ? '-' + subItem.productGrade :'') }}</view></uni-td> + <!-- <uni-td> + <view>{{ subItem.bunkerName }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="subItem.skin">{{ Number(subItem.skin).toFixed(2) || '' }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="subItem.hair"> {{ Number(subItem.hair).toFixed(2) || '' }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="(subItem.clean || (subItem.clean && subItem.clean === 0))">{{ Number(subItem.clean).toFixed(2) || ''}}</view> + </uni-td> + <uni-td> + <view class="name">{{ subItem.productQuantity }}</view> + </uni-td> --> + <uni-td align="right"> + <view class="name">{{ subItem.productQuantity }}</view> + </uni-td> + <uni-td align="right"> + <view class="name">{{ subItem.planMeasure }}</view> + </uni-td> + <uni-td align="right"> + <u-tag :text="'璁℃暟'" plain v-if="subItem.isWeight==0"></u-tag> + <u-tag :text="'绉伴噸'" plain v-else-if="subItem.isWeight==1"></u-tag> + <u-tag :text="'绉伴噸璁℃暟'" plain v-else-if="subItem.isWeight==2"></u-tag> + <u-tag v-else></u-tag> + </uni-td> + <!-- <uni-td> + <view class="name">{{ subItem.realityMeasure }}</view> + </uni-td> --> +<!-- + 聽 <uni-td align="center"> + <view>{{ subItem.bunkerName }}</view></uni-td> --> + <!-- <uni-td align="center"> + <view class="name">{{ subItem.statusView }}</view></uni-td> --> + + </uni-tr> + </uni-table> + </view> + </view> + + <u-empty mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + text="鏆傛棤鏁版嵁" + textSize="30" + iconSize="1000" + v-if="detailData.length===0"></u-empty> + </u-collapse-item> + </u-collapse> </view> - <!-- 鐓ゅ満 --> + <!-- 宸茶鍗告敹鍙戝崟 --> + <view class='div-box'> + <!-- 娓叉煋鍖哄煙 --> + <u-collapse + + ref="myCollapse" + > + <u-collapse-item + name='1' + + class="collItem" + :title="'宸茶鍗告敹鍙戝崟'"> + <view class="history-information" v-for="item,i in historyData" + :key="i"> + <view class="first"> + <view class="">瑁呭嵏鏃ユ湡锛� {{ item.sendDate || '' }}</view> + <view class=""></view> + </view> + <view class="second"> + <view class="coal-name">{{ item.productNames?limitString(item.productNames,20,'...'):'' || ''}}</view> + <view class="order-type">{{ item.orderType || '' }}</view> + </view> + <view class="third"> + <view class="third-line"> + <view class="third-line_text">瀹㈡埛鍚嶇О:</view> + <view>{{ item.customerName }}</view> + </view> + <view class="third-line" v-if="/鑱氭隘涔欑儻鏍戣剛/.test(item.productName)"> + <view class="third-line_text">鍖呰绫诲瀷:</view> + <view>{{ proType[item.packingType] }}</view> + </view> + <view class="third-line" v-if="item.productName === '浜屾隘涔欑兎(EDC)'"> + <view class="third-line_text">璐ㄦ鐘舵��:</view> + <view> <u-tag :text="checkStatusList[item.checkStatus]" plain > </u-tag></view> + </view> + </view> + <view class="fourth"> + + <view + style="height: 24rpx"> + + </view> + + <view class="senddate">{{ item.carNo }}</view> + </view> + <view class="fourth"> + <view class="fourth-icon"> + <view + style="width: 26rpx;height: 26rpx;line-height: 26rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/carnNUm.png') no-repeat;background-size: cover;"> + </view> + </view> + <view class="senddate">{{ item.orderCode }}</view> + </view> + <view class="fourth"> + <view class="senddate">{{ proType[item.packingType] }}</view> + </view> + <view class="table"> + <uni-table border stripe + emptyText="鏆傛棤鏇村鏁版嵁"> + <uni-tr> + <uni-th width='120' + align="center">鎿嶄綔</uni-th> + <uni-th align="center" width='800'>浜у搧</uni-th> + <!-- <uni-th align="center" width='200'>浠撳簱</uni-th> + <uni-th align="center" width='100'>鐨噸</uni-th> + <uni-th align="center" width='100'>姣涢噸</uni-th> + <uni-th align="center" width='100'>鍑�閲�</uni-th> + <uni-th align="center" width='100'>鏁伴噺</uni-th> --> + <uni-th align="center" width='120'>纭閲�</uni-th> + <uni-th align="center" width='120'>璁″垝閲�</uni-th> + <uni-th align="center" width='150'>璁¢噸鏂瑰紡</uni-th> + + + </uni-tr> + <uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index"> + <uni-td align="center"> + <view class="btnBox"> + <!-- --> + <!-- <u-button type='primary' text='淇敼' size='mini' v-if="subItem.isWeight === 0 || subItem.isWeight === 2 " @click="editOrder(subItem)"></u-button> --> + <u-button type='primary' text='鎷煎崟' size='mini' v-if="isPinShow(item)" @click="pinDan(subItem)"></u-button> + </view></uni-td> + <uni-td align="left"> + <view>{{ subItem.productName + ( subItem.productGrade ? '-' + subItem.productGrade :'') }}</view></uni-td> + <!-- <uni-td> + <view>{{ subItem.bunkerName }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="subItem.skin">{{ Number(subItem.skin).toFixed(2) || '' }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="subItem.hair"> {{ Number(subItem.hair).toFixed(2) || '' }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="(subItem.clean || (subItem.clean && subItem.clean === 0))">{{ Number(subItem.clean).toFixed(2) || ''}}</view> + </uni-td> + <uni-td> + <view class="name">{{ subItem.productQuantity }}</view> + </uni-td> --> + <uni-td align="right"> + <view class="name">{{ subItem.productQuantity }}</view> + </uni-td> + <uni-td align="right"> + <view class="name">{{ subItem.planMeasure }}</view> + </uni-td> + <uni-td align="right"> + <u-tag :text="'璁℃暟'" plain v-if="subItem.isWeight==0"></u-tag> + <u-tag :text="'绉伴噸'" plain v-else-if="subItem.isWeight==1"></u-tag> + <u-tag :text="'绉伴噸璁℃暟'" plain v-else-if="subItem.isWeight==2"></u-tag> + <u-tag v-else></u-tag> + </uni-td> + + <!-- 聽 <uni-td align="center"> + <view>{{ subItem.bunkerName }}</view></uni-td> --> + <!-- <uni-td align="center"> + <view class="name">{{ subItem.statusView }}</view></uni-td> --> + + </uni-tr> + </uni-table> + </view> + </view> + + <u-empty mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + text="鏆傛棤鏁版嵁" + textSize="30" + iconSize="1000" + v-if="detailData.length===0"></u-empty> + </u-collapse-item> + </u-collapse> + </view> <u-action-sheet :actions="firstClassActionsList" :show="firstClassShow" cancelText='鍙栨秷' :closeOnClickOverlay='true' @close='firstClassClose' @select="firstClassSelectClick"></u-action-sheet> - <!-- 鐓や粨 --> + <u-modal :show="enterZx" + :title="'纭瑁呭嵏'" + @close="closeModal" + :width='740' + @cancel="cancelModal" + @confirm="confirmModal" + :closeOnClickOverlay="true" + :showCancelButton="true"> + <view class="slot-content"> + + + <view v-if="isNumOk || isClean||isFlagNum || blend"> + <view>浜у搧鍚嶇О锛歿{activeObj.productName}}</view> + <view>浠撳簱锛歿{activeObj.bunkerName}}</view> + <view v-if="activeObj.isWeight === 1 || activeObj.isWeight === 2"> + <view v-if="activeObj.skin">鐨噸锛歿{activeObj.skin.toFixed(2) || ''}}</view> + <view v-if="activeObj.hair">姣涢噸锛歿{activeObj.hair.toFixed(2) || ''}}</view> + </view> + <view v-if="activeObj.isContainerNum"><span>闆嗚绠卞彿锛� </span> + <u--input v-model="activeObj.containerNumber" + clearable + style="border: solid 1px #ccc;" + placeholder="杈撳叆闆嗚绠卞彿" + prefixIconStyle="color: #909399"></u--input> + <view><text style="color: red;">璇疯鐪熸牳瀵归泦瑁呯鍙峰啀鎻愪氦锛�</text></view> + </view> + <!-- <view v-if="/鑱氭隘涔欑儻鏍戣剛/.test(activeObj.productName)"> + <view>璁″垝閲忥細{{Number(activeObj.planMeasure)}}</view> + <view >瀹為檯閲忥細{{ Number(activeObj.productQuantity)}}</view> + </view> --> + <view class="queren" v-show="isCleanFlag === '1'"> + <text v-if="isNumOk || isFlagNum">纭閲忥細</text> + <text v-if="isClean || blend">璇疯緭鍏ワ細</text> + <u--input + type='digit' + :disabled="yelvFlag" + border="bottom" + :placeholder="/鑱氭隘涔欑儻鏍戣剛/.test(activeObj.productName) ? '瀹為檯鍚ㄦ暟' : isNumOk ? '纭鏁伴噺' : blend ? '纭鏁伴噺' : '鎶樺惃'" + v-model="checkNum" + > + </u--input> + <text v-if="isNumOk || isFlagNum || blend"> {{ activeObj.productUnit || '浠�' }}</text> + <text v-if="isClean"> {{activeObj.productUnit || '鍚�' }}</text> + </view> + <!-- v-if="activeObj.containerNumber" --> + + + <!-- 鏄惁杈撳叆鎶樺惃 --> + <view style="display:flex;margin-top:20rpx" v-if="isClean">鏄惁闇�瑕佹姌鍚細 <u-radio-group + v-model="isCleanFlag" + placement="row" + @change="isCleanChange" + iconPlacement="right" + style="justify-content: space-evenly" + > + <u-radio + :key="1" + :label="'鏄�'" + :name="'1'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + <u-radio + :key="0" + :label="'鍚�'" + :name="'0'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + </u-radio-group></view> + <!-- 鑱氭隘涔欑儻鏍戣剛 骞朵笖鏄ぇ鍖� --> + <view class="pvcBig" v-if="activeObj.productName === '鑱氭隘涔欑儻鏍戣剛' && activeObj.packingType === 5"> + + </view> + + + <view v-if=" activeObj.planMeasure">璁″垝閲忥細{{activeObj.planMeasure}}{{ activeObj.productUnit || '浠�' }}</view> + + + </view> + <view style="display:flex;margin-top:20rpx">鏄惁绌鸿溅鍑哄巶: <u-radio-group + v-model="isEmptyCar" + placement="row" + iconPlacement="right" + style="justify-content: space-evenly" + > + <u-radio + :key="1" + :label="'鏄�'" + :name="'1'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + <u-radio + :key="0" + :label="'鍚�'" + :name="'0'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + </u-radio-group></view> + <!-- 鎶樺惃鍘熷洜 --> + <view class="queren" style="display: flex;" v-if="isClean && isCleanFlag === '1'"> + <text>鎶樺惃鍘熷洜锛� + </text><u--input + clearable + type='text' + border="bottom" + v-model="discountReason" + placeholder="璇疯緭鍏ユ姌鍚ㄥ師鍥�" + /> + + </view> + <view v-if="isClean && isCleanFlag === '1'"><text>鎶樺惃鐓х墖:</text><u-upload :fileList="fileList1" + @afterRead="afterRead" + @delete="deletePic" + name="1" + multiple + :maxCount="2" + width="250" + height="150" + :previewFullImage="true"></u-upload></view> + + </view> + </u-modal> + <!-- 淇敼寮圭獥 --> + <u-modal :show="enterXg" + :title="'淇敼纭淇℃伅'" + @close="closeModaledit" + :width='740' + @cancel="cancelModaledit" + @confirm="confirmModaledit" + :closeOnClickOverlay="true" + :showCancelButton="true"> + <view class="slot-content"> + <view> + <view>浜у搧鍚嶇О锛歿{activeObjedit.productName}}</view> + <view class="queren"> + <text>淇敼鏁伴噺</text>锛� + <u--input + type='digit' + border="bottom" + :placeholder="'鏁伴噺'" + v-model="checkNumEdit" + > + </u--input> + </view> + <view >鍘熺‘璁ゆ暟閲忥細{{activeObjedit.productQuantity}}浠�</view> + + </view> + + </view> + </u-modal> + <u-modal :show="showConfim" @confirm="confirmEnter" :showCancelButton="true" @cancel="showConfim = false;isOkNum = ''" ref="uModal" :asyncClose="true"> + <view class="modalBody"> + <view style="text-align: center;"> 鏄惁纭畾涓�閿鍗革紵</view> + <view style="display: flex;align-items: center;"><text> 鍒拌揣:</text> <u--input + style="display: inline-block;width: 200rpx;border-bottom: solid 1px #ccc;" + type="digit" + :placeholder="'鏁伴噺'" + v-model="isOkNum" + > + </u--input> 浠�</view> + </view> + + </u-modal> + <!-- 浠撳簱 --> <!-- <u-action-sheet :actions="secondClassActionsList" :show="secondClassShow" cancelText='鍙栨秷' @@ -91,27 +526,149 @@ </template> <script> + import { mapState, mapMutations, mapGetters } from 'vuex'; + import { BaseUrl } from '@/api/publicInterface.js' + import combinedTitle from '@/components/combined-title/combined-title.vue'; export default { + props: { + loadUnloadData: { + type: Object, + default: {} + } + }, + computed:{ + isBtnShow(){ + return function(item){ + if(!item){ + return false + }else{ + if(this.errorStatusList.includes(item.status)){ + return false + }else if (item.productName ==='浜屾隘涔欑兎(EDC)' && item.checkStatus !== 7){ + return false; + }else{ + return true; + } + } + + } + + }, + isPinShow(){ + return function(item){ + if(!item){ + return false + }else{ + if( item.status === 6){ + return false + }else{ + return true; + } + } + + } + }, + messageText(){ + if(this.messageObj.carNo){ + return `鏃堕棿:${this.messageObj.now}锛�${this.messageObj.carNo}锛屼骇鍝�${this.messageObj.productNames}鍦�${this.messageObj.bunkerName}鍏ュ満浜嗭紝璇峰強鏃舵鏌ワ紒` + }else{ + return '鏆傛棤娑堟伅' + } + + }, + ...mapGetters(['websocketData']) + + }, + watch: { + loadUnloadData: { + handler(v) { + console.log(v,'vvvvvv') + this.loadUnloadData = v; + this.getTodayOrder(); + }, + deep: true, + immediate: true + }, + //鐩戝惉娑堟伅 + 'websocketData': { + handler(v) { + console.log(v, '鎺ュ彈鐨剋s鏁版嵁'); + if(v) { + if (v.startsWith('kgTipHead')) { + console.log('vvvvv',v.slice(11)) + let nowWeighObj = JSON.parse(v.slice(11)); + console.log(nowWeighObj,'nowWeight'); + this.messageObj = nowWeighObj; + // this.messageList = JSON.parse(v.slice(5)); + // this.messageList = { + // ...this.messageList, + // title: this.messageList.title.slice(0, 8) + '...', + // content: removeTags(this.messageList.content).trim().slice(0, 8) + '...' + // } + // this.messagePushShow = true; + } + } + }, + deep: true, + immediate: true + } + }, data() { return { + enterXg:false, + isOkNum:'', + fileList1:[], + discountReason:'', + activeObjedit:{}, + discountJpg:'', + proType:['鏁h','娑叉隘鐡惰','缃愯','PVC25','PVC80','PVC1150','PVc1200'], + coalStatus: ['棰嗗彇', '棰勭害', '绛惧埌', '鍏ュ満', '绉扮毊', '绉版瘺', '绂诲満', '鍏ョ鎴�', '鍑虹鎴�', '鍏ヤ粨搴�', '鍑轰粨搴�', '鏀剧┖', '浣滃簾', '鍏ュ満鐢宠', + '杩涘叆鍦洪櫌', '寮傚父瀹℃牳涓�', '杩斿洖鍔犲噺鍚�', '瓒呮椂', '鎵撳嵃涓�', '鎵撳嵃涓�', '濉啓', '鏀剧┖纭涓�', '瓒呮渶澶ф瘺閲嶇‘璁や腑','琛ユ墦','鍏ュ満妫�鏌�','璐ㄦ涓�', + '绂诲満妫�鏌�','宸叉墦鍗�','瑁呭嵏','杩斿洖鍔犲噺鍚ㄧ‘璁や腑' + ], + isCleanFlag:'1', + checkNumEdit:'', + showConfim:false, + remarkContent:'', dataForm: { firstClass: "", secondClass: "", - orderType: '' + orderType: '', + bunkerIds:"" }, + historyData:[], + paramsItem:{}, + messageObj:{ + carNo:'', + }, + isEmptyCar:null, //鏄惁绌鸿溅鍑哄巶 + checkStatusList:[ + '寰呭彇鏍�','宸插彇鏍�','璐ㄦ涓�','寰呭鏍�','澶嶆牳涓�','寰呭瀹�','瀹″畾涓�','宸插畬鎴�' + ], index: '', - // 鐓ゅ満鎿嶄綔鑿滃崟 + enterZx:false, + typeText:'', // 纭瑁呭嵏涓夌绫诲瀷 + isNumOk:false, //璁′欢 + isClean:false, // 鎶樺惃 + yelvFlag:false, + isFlagNum:false,// PVCV + // 鍦哄湴鎿嶄綔鑿滃崟 firstClassActionsList: [], firstClassShow: false, - // 鐓や粨鎿嶄綔鑿滃崟 + // 浠撳簱鎿嶄綔鑿滃崟 secondClassActionsList: [], secondClassShow: false, coalList: [], checkedCoal: [], + blend:false, + checkNum:'', + activeObj:{}, userInfo: {}, + detailData:[], filedId: "", selectedCoal: [], orderTypeShow: false, + pvcWeight:'', orderTypeList: [{ name: '澶栭攢', id: Math.floor(Math.random() * 100) + 1, @@ -123,17 +680,53 @@ ], isOrderType: '璇烽�夋嫨', //纾呮埧绫诲瀷鏄惁閫夋嫨浜� 閫夋嫨浜嗘竻绌� cleanIconClick: true, //淇敼鐐瑰嚮娓呯┖纾呮埧閫夋嫨浼氬嚭鐜� + errorStatusList:[0,1,6,24,27,26] // 涓嶈兘鐐瑰嚮纭瑁呭嵏鐨勭姸鎬� }; }, methods: { + limitString(str, limit, suffix = '...') { + if (str.length <= limit) return str; + return str.slice(0, limit) + suffix; + }, + getPVCWeight(){ + + }, + handleOpenChange() { + // 鏂规硶涓� + console.log(this.$refs.collapseHeight); + // let long = this.$refs.collapseHeight.length; + // setTimeout(() => { + // for (let i = 0; i < long; i++) { + // this.$refs.collapseHeight[i].queryRect();// 璁$畻楂樺害 + // } + // }, 20); + + // 鏂规硶浜� + this.$nextTick(() => { + this.$refs.collapseHeight.init() + }); + + }, + //鑾峰彇宸茶鍗告敹鍙戝崟 + getTodayOrder(){ + this.$reqGet('getTodayConfirmedTaskCoalList',{ bunkerIds:this.dataForm.bunkerIds,productIds:uni.getStorageSync('productIds')}).then(res=>{ + if(res.code === 0){ + this.historyData = res.data; + }else{ + this.historyData = []; + } + + }) + }, getUserInfo() { this.$reqGet('getUserEntity').then(res => { this.userInfo = res.data; this.userInfo.password = null }) }, - // 鑾峰彇鐓ゅ満 + + // 鑾峰彇鍦哄湴 getDeptIdFiled() { uni.showLoading({ title: "鍔犺浇涓�" @@ -142,17 +735,31 @@ uni.hideLoading() if (res.code === 0) { this.firstClassActionsList = res.data; - if(res.data.length === 1){ - uni.navigateTo({ - url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?orderType=${this.dataForm.orderType}` - }) + this.firstClassActionsList.unshift({name:'鍏ㄩ儴',id:res.data.map(item=>item.id).join(',')}) + if(res.data.length){ + if(!uni.getStorageSync('bunkerIds')){ + this.dataForm.firstClass = '鍏ㄩ儴' + this.dataForm.bunkerIds = res.data.map(item=>item.id).join(',') + uni.setStorageSync('bunkerIds',res.data.map(item=>item.id).join(',')) + }else{ + this.dataForm.bunkerIds = uni.getStorageSync('bunkerIds'); + uni.setStorageSync('bunkerIds',this.dataForm.bunkerIds) + } + + + this.getDetailData(); + this.getTodayOrder(); } } else { this.$u.toast('鍔犺浇澶辫触') } }).then(() => { - this.getUserInfo() + }) + }, + deletePic(event) { + this.changeisUploadimg(true); + this[`fileList${event.name}`].splice(event.index, 1); }, firstClassSelect() { this.firstClassShow = true @@ -160,77 +767,546 @@ firstClassClose() { this.firstClassShow = false }, + getDetailData(){ + uni.showLoading({ + title:'鍔犺浇涓�' + }) + this.$reqGet('getTaskCoalListByBunkerId', { bunkerIds:this.dataForm.bunkerIds, productIds:uni.getStorageSync('productIds')}).then(res => { + uni.hideLoading(); + if (res.code === 0) { + this.detailData = res.data.map(item=>{ + item.tmTaskCoalList.map(el=>{ + el.flag = el.isPretendDischar ? false : true + return el + }) + return item; + }); + this.handleOpenChange(); + console.log(this.detailData,'detailData') + }else if(res.code === 1){ + this.detailData = []; + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触锛侊紒') + } + + }).catch(err=>{ + this.detailData = []; + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触锛侊紒') + }) + + }, + viewDetail(value){ + //鏌ョ湅鏀跺彂鍗曡鎯� + uni.navigateTo({ + url: `/subPages/fayunPlanDetails/fayunPlanMore/fayunPlanMore?id=${value.id}&orderType=${value.orderType}`, + }) + }, firstClassSelectClick(val) { - this.dataForm.firstClass = val.name - this.getFiledIdCoalBunker(val.id) + this.dataForm.firstClass = val.name; + this.dataForm.bunkerIds= val.id; + uni.removeStorageSync('bunkerIds') + uni.setStorageSync('bunkerIds', val.id); + this.getDetailData(); this.filedId = val.id }, - // 鑾峰彇鐓や粨 - // getFiledIdCoalBunker(filedId) { - // this.$reqGet('getFiledIdCoalBunker', { filedId, }).then(res => { - // this.secondClassActionsList = res.data + // formHandle() { + // if (!this.dataForm.firstClass) return this.$u.toast('璇烽�夋嫨鍦哄湴鎴栬�呬粨搴�'); + // this.$nextTick(()=>{ + // uni.navigateTo({ + // url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?bunkerId=${this.dataForm.bunkerId}` + // }) // }) + // }, - //鐓や粨鑿滃崟 - secondClassSelect() { - this.secondClassShow = true + change(){ + }, - secondClassClose() { - this.secondClassShow = false + close(){ + }, - secondClassSelectClick(val) { - this.dataForm.secondClass = val.name - this.coalList = this.secondClassActionsList.find(v => v.id === val.id).coalNames.split(',').map(v => { - return { - name: v, - id: Math.floor(Math.random() * 100) + 1, - checked: false - } + toViewPindan(item){ + uni.navigateTo({ + url: `/subPages/pvcSplicePage/view?item=${JSON.stringify(item) }` + }); + + }, + uploadFilePromise(url, num) { + return new Promise((resolve, reject) => { + let a = uni.uploadFile({ + url: '/admin/sys-file/uploadUnToken', + filePath: url, + name: 'file', + success: res => { + if (num == 1) { + this.discountJpg = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + } + } + }); + }); + }, + async afterRead(event) { + // 褰撹缃� mutiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮� + let lists = [].concat(event.file); + let fileListLen = this[`fileList${event.name}`].length; + lists.map(item => { + this[`fileList${event.name}`].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[`fileList${event.name}`][fileListLen]; + this[`fileList${event.name}`].splice( + fileListLen, + 1, + Object.assign(item, { + status: 'success', + message: '涓婁紶鎴愬姛', + url: result + }) + ); + fileListLen++; + } + }, + confirmModaledit(){ + if(!this.checkNumEdit){ + this.$u.toast('璇疯緭鍏ヨ淇敼鍚庣殑鏁伴噺') + this.enterXg = false; + }else{ + this.$reqPost('confirmLoadAndUnloadModify',{ + id: this.activeObjedit.id, + productQuantity:this.checkNumEdit, + },'json').then((res) => { + this.$u.toast('鎿嶄綔鎴愬姛') + this.enterXg = false; + this.getDetailData(); + this.getTodayOrder(); }) + } + console.log('123') + + }, - orderTypeSelect() { - this.orderTypeShow = true + isCleanChange(val){ + console.log(val,'瑙﹀彂') + if(val === '0'){ + this.checkNum = ''; + } + }, - orderTypeClose() { - this.orderTypeShow = false + editOrder(item){ + + console.log(item,'item') + this.activeObjedit = item; + if(item.isWeight === 1){ + this.$u.toast('绉伴噸浜у搧涓嶆敮鎸佷慨鏀癸紒') + }else{ + //寮圭獥鏀寔淇敼 + this.enterXg = true; + + } + }, - orderTypeSelectClick(val) { - this.orderTypeShow = false - this.dataForm.orderType = val.name - this.isOrderType = '' + open(){}, + allOkBtn(item){ + //鐐瑰嚮涓�閿‘璁� + this.paramsItem = item; + + this.showConfim = true; + }, - cleanOrderType() { - this.dataForm.orderType = null - this.isOrderType = '璇烽�夋嫨' - this.orderTypeShow = false - }, - checkboxChange(e) { - this.selectedCoal = e - }, - formHandle() { - if (!this.dataForm.firstClass || !this.dataForm.secondClass) return this.$u.toast('璇烽�夋嫨鐓ゅ満鎴栬�呯叅浠�') - if (this.selectedCoal.length === 0) return this.$u.toast('璇烽�夋嫨鐓ょ') - this.$reqPost('updateUser', Object.assign(this.userInfo, { - responsibilityCoal: this.selectedCoal.join(), - filedId: this.filedId - }), 'json').then(res => { + enterOk(parintItem,item){ + if(parintItem.isPindan === 1 && this.$store.state.pvcIdList.includes( item.productId) ){ uni.navigateTo({ - url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?orderType=${this.dataForm.orderType}` - }) + url: `/subPages/pvcSplicePage/kuguan?id=${parintItem.id}&item=${JSON.stringify(parintItem)}` + }); + + }else{ + this.yelvFlag = false; + console.log(parintItem,'priintItem') + // uni.request({ + // url: `${BaseUrl}/admin/dict/type/tray_weight`, + // method: 'GET', + // header: { + // Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'), + // clientToc: 'Y', + // 'CLIENT_TOC': 'Y', + // }, + // success: (res) => { + // this.pvcWeight = res.data.data.find(item=>item.label === '5') ? Number(res.data.data.find(item=>item.label == '5').value) : ''; + + // } + // }) + // 璁′欢锛� 0 鑱氭隘涔欑儻鏍戣剛 type + // 鎶樺惃: + this.fileList1 = []; + this.activeObj = item; + if(item.isWeight === 1){ + this.isNumOk = false; + this.isClean = true; + this.blend = false; + this.isCleanFlag = '0'; + this.isFlagNum = false; + } else if(item.isWeight ===2 ){ + this.blend = true; + this.isNumOk = false; + this.isClean = false; + this.checkNum = item.productQuantity; + // this.isCleanFlag = '0'; + this.isFlagNum = false; + } + else { + this.isNumOk = true; + this.isCleanFlag = '1'; + this.blend = false; + this.isClean = false; + this.checkNum = item.productQuantity; + this.isFlagNum = false; + } + if( (parintItem.orderType === '澶栬喘' ||parintItem.orderType === '澶栬喘閫�' ) && item.isWeight === 0){ + this.isNumOk = true; + this.isClean = false; + this.checkNum = item.productQuantity; + this.blend = false; + this.isFlagNum = false; + this.isCleanFlag = '1'; + //鍥炴樉璁℃暟閲� + this.checkNum = item.productQuantity ? item.productQuantity : ''; + }else if( parintItem.orderType ==='澶栬喘' && item.isWeight === 1){ + this.isClean = true; + this.isCleanFlag = '0'; + this.isNumOk = false; + this.blend = false; + this.isFlagNum = false; + } + + //鑱氭隘涔欑儻鏍戣剛 + if(parintItem.orderType ==='澶栭攢' && (/鑱氭隘涔欑儻鏍戣剛/.test(item.productName) || item.productName === 'PVC') && (item.packingType === 3 || item.packingType === 4)){ + this.isNumOk = false; + this.isClean = false; + this.isCleanFlag = '1'; + this.blend = false; + this.isFlagNum = true;; + this.checkNum = item.productQuantity; + } + //鐡惰娑叉隘鏉′欢 + //EDC 璐ㄦ瀹屾垚鏂瑰彲纭 + if(item.packingType === 1){ + this.isNumOk = true; + this.isClean = false; + // this.yelvFlag = true; + this.checkNum = item.productQuantity; + this.blend = false; + this.isCleanFlag = '1'; + this.isFlagNum = false; + } + // + //pvc澶у寘鑷姩璁$畻鎶樺惃 + + if(parintItem.orderType === '澶栬喘'){ + this.isEmptyCar = '1'; + }else if(parintItem.orderType === '澶栭攢' || parintItem.orderType === '澶栬喘閫�'){ + this.isEmptyCar = '0'; + } + + if((/鑱氭隘涔欑儻鏍戣剛/.test(item.productName) || item.productName === 'PVC') && item.packingType === 5){ + this.isNumOk = false; + this.isClean = false; + this.blend = false; + this.checkNum = item.productQuantity; + this.isFlagNum = true; + this.isCleanFlag = '1'; + } + //澶栭攢涓嶇敤 杈撳叆鎶樺惃 + // if(parintItem.orderType ==='澶栭攢'){ + // this.isClean = false; + // this.blend = false; + + // } + this.enterZx = true; + } + + + }, + closeModal(){ + this.enterZx = false; + this.checkNum = ''; + this.isEmptyCar = null; + }, + closeModaledit(){ + this.enterXg = false; + }, + cancelModal(){ + this.enterZx = false; + this.checkNum = ''; + this.discountReason = ''; //鎯呭喌澶囨敞 + this.isEmptyCar = null; + }, + cancelModaledit(){ + this.enterXg = false; + }, + confirmModal(){ + uni.showLoading({ + title:'鍔犺浇涓�' + }); + if(this.activeObj.productName ==='浜屾隘涔欑兎(EDC)' && this.activeObj.checkStatus !== 7){ + this.enterZx = false; + this.$u.toast(`璇锋鏌ュ綋鍓嶄簩姘箼鐑�(EDC)DC璁㈠崟璐ㄦ鐘舵�佸悗鍦ㄧ‘璁よ鍗�!`); + + }else if( this.isEmptyCar === null){ + this.$u.toast(`璇锋鏌�${this.isNumOk ? '璁′欢鏁伴噺' :'鎶樺惃'}锛屼互鍙婃槸鍚︾┖杞﹀嚭鍘傞」!`); + //瑁呭嵏 涓� 2 锛屼絾鏄繀椤诲緱绉伴噸 + } + else{ + this.enterZx = false; + this.$reqPost('confirmLoadAndUnload',{ + id: this.activeObj.id, + productQuantity:(this.isNumOk || this.blend) ? this.checkNum : '', + discount:this.isClean ? this.checkNum : null, + isEmptyCar:this.isEmptyCar, + isPretendDischar:this.activeObj.isPretendDischar, + realityMeasure:this.isFlagNum ? this.checkNum : null, + productId:this.isFlagNum ? this.activeObj.productId : null, + discountJpg:this.discountJpg, + containerNumber:this.activeObj.containerNumber ? this.activeObj.containerNumber : null, + discountReason:this.discountReason, + },'json').then(res=>{ + uni.hideLoading(); + console.log(res,'rez') + this.checkNum = ''; + if(res.code === 1){ + console.log('瑙﹀彂') + this.$u.toast(res.msg || '澶辫触'); + uni.hideLoading(); + }else{ + this.$u.toast('鎿嶄綔鎴愬姛'); + setTimeout(() => { + this.getDetailData(); + }, 500); + } + + + }).catch((err) => { + this.$u.toast(err.msg || '澶辫触'); + }).finally(() => { + uni.hideLoading(); + }) + } + + + }, + //鍒ゆ柇鏄惁鏄� 涓夌鐗规畩绫诲瀷瀵瑰簲寮圭獥 + judgeTypeFun(name){ + + + }, + //纭 + confirmEnter(){ + this.$reqPost('oneClickLoading',{tmId:this.paramsItem.id,kgNum:this.isOkNum},'params').then((res) => { + if(res.code == 0){ + console.log(res,'res') + this.$u.toast('涓�閿‘璁ゆ垚鍔�') + this.showConfim = false; + setTimeout(() => { + this.getDetailData(); + }, 500); + }else{ + this.showConfim = false; + this.$u.toast(res.msg ? res.msg : '涓�閿‘璁ゅけ璐�'); + } + + }).catch(err=>{ + this.$u.toast(err ? err : '鎿嶄綔寮傚父') + }) + + }, + //鏌ョ湅鏈�杩戜竴娆$殑鍘熺洂閽欓晛 + todoDetail(){ + console.log() + uni.navigateTo({ + url: `/subPages/checkTestDetails/index` + }) + + }, + pinDan(item){ + console.log('pindan') + uni.navigateTo({ + url: `/subPages/splicingOrders/index?taskCoalId=${item.id}&orderType=${item.orderType}` + }) } - } + + }, + onShow(){ + console.log('瑙﹀彂ONShow') + uni.showLoading({ + title: "鍔犺浇涓�" + }) + this.$reqGet('getWarehouseList').then(res => { + uni.hideLoading() + if (res.code === 0) { + this.firstClassActionsList = res.data; + + } else { + this.$u.toast('鍔犺浇澶辫触') + } + }).then(() => { + + }); + + + }, } </script> <style lang="scss" scoped> + .modalBody{ + display: flex; + flex-direction: column; + justify-content: center; + } +::-webkit-scrollbar{ + display: none; + } + .table{ + width: 100%; + /deep/ .uni-table{ + min-width: 0!important; + margin-left: 20rpx; + width: auto; + } + +} +.rightBtn{ + position: absolute; + right: 100rpx; + bottom: 5rpx; +} +.notice-bar{ + margin-left: vww(10); + margin-bottom: 20rpx; + margin-top: 20rpx; + + width: 98%; + .u-notice-bar{ + border-radius: 20rpx; + margin-top: 20rpx; + height: 40rpx; + } +} + // 鑷富閰嶉�� + .self-deliver { + position: relative; + text-indent: 20rpx; + top: vww(10); + width: 95%; + height: vww(40); + margin: vww(13) 10rpx; + margin-left: 20rpx; + padding: 0 vww(8); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex; + align-items: center; + justify-content: space-between; + /deep/.u-button { + width: 100%; + height: 28px !important; + line-height: 40px; + padding: 0 12px; + text-indent: 0!important; + font-size: 28rpx; + font-weight: 300; + color: #ffffff; + background: #497bfb !important; + letter-spacing: 4rpx; + border-radius: 37rpx 37rpx 37rpx 37rpx !important; + box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); + } + } + .queren{ + display: flex; + justify-content: space-between; + /deep/ .u-input { + border-bottom: 1px solid #ccc; + } + } + .name{ + width: 50rpx; + } + .table{ + width: 94%; + margin-left: 20rpx; + position: relative; + margin-top: 30rpx; + overflow-x: auto; + /deep/ .uni-table-th{ + font-size: 12px; + } + /deep/ .uni-table-td { + font-size: 12px; + } + /deep/ .uni-table{ + min-width: 0rpx!important; + // position: sticky !important;; + } + /deep/ .uni-table-body-wrapper { + position: relative; +} + /deep/ .uni-table-body { + display: flex; +} +.fixed { +position: absolute; +right: -35px; +background: #fff; +} + + } + .btnBox{ + min-width: 100rpx; + // display: flex; + justify-content: space-around; + :v-deep .u-button__text{ + font-size: 12px!important; + } + text{ + color: #035cfb; + } + } .main { width: 94%; margin: 10px; // margin-top: vww(100); position: relative; - top: vww(-120); + top: vww(-200); + .top-tag{ + width: 60%; + margin-left: 55%; + height: 100rpx; + margin-left: 50%; + display: flex; + /* margin-top: 40rpx; */ + color: #fff; + align-items: center; + + } + + .div-box{ + width: 100%; + display: flex; + margin-left: 10rpx; + flex-direction: column; + /deep/ .u-collapse{ + background: #fff; + } + + } } .slide-fade-enter-active { @@ -238,11 +1314,125 @@ } .coal-name { - width: 95%; + width: 75%; min-height: vww(100); .u-checkbox-group { .u-checkbox {} } } + .box{ + display: flex; + flex-direction: column; + width: 100%; + .box-top{ + width: 100%; + height: 100rpx; + display: inline-block; + display: flex; + justify-content: space-between; + align-items: center; + + } + } + .collItem{ + margin-top: 30rpx; + /deep/ .content{ + background: none!important; + } + } + .history-information { + position: relative; + margin-bottom:30rpx; + margin-top: 10rpx; + background: #ffffff; + border-radius: 20rpx; + @include flex flex-direction: column; + padding: 10px; + align-items: flex-start; + justify-content: space-evenly; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + + + .first { + width: 96%; + height: 34rpx; + font-size: 32rpx; + font-weight: 300; + color: #303030; + @include flex; + margin: vww(10) vww(10) 0; + } + + .second { + width: 100%; + height: 31rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + justify-content: flex-start; + + .coal-name { + min-width: vww(20); + height: vww(20); + margin-right: vww(21); + } + + .order-type { + height: 45rpx; + color: #035cfb; + border: 2px solid #035cfb; + border-radius: 4rpx; + padding: vww(2) vww(4); + text-align: center; + } + } + + .third { + width: 96%; + height: auto; + font-size: 30rpx; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + flex-direction: column; + + .third-line { + @include flex; + align-items: center;; + + &_text { + color: #919090; + } + + &_num { + color: #035cfb; + } + } + } + + .fourth { + width: 100%; + height: 31rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + position: relative; + margin: vww(10) vww(10) 0; + @include flex; + + .fourth-icon { + width: vww(13); + height: vww(13); + margin-right: vww(14); + } + + .senddate { + flex: 1; + } + } + } </style> \ No newline at end of file -- Gitblit v1.9.1