| | |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/skin.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 皮 |
| | | </view> |
| | | <view class="num">{{ item.skin }}</view> |
| | | <view class="num">{{ item.skin ? item.skin.toFixed(2) : '' }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/hair.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 毛 |
| | | </view> |
| | | <view class="num">{{ item.hair }}</view> |
| | | <view class="num">{{ item.hair ? item.hair.toFixed(2) : '' }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/clean.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 净 |
| | | </view> |
| | | <view class="num">{{ item.clean }}</view> |
| | | <view class="num">{{ item.clean ? item.clean.toFixed(2) : '' }}</view> |
| | | </view> |
| | | </view> |
| | | <view v-if="isShow(item) && isYanz()"> |
| | |
| | | <view class="weight-box"> |
| | | <view class="weigh-qualified"> |
| | | <view v-if="!unqualifiedArr(i).length"> |
| | | |
| | | |
| | | <view> 扣渣后净重:<text class="count"> {{ cleanWeight(item) ? cleanWeight(item) + '吨' : ''}}</text></view> |
| | | </view> |
| | | <view v-else-if ='unqualifiedArr(i).length && item.clean' class='weigh-qualified-no'> |
| | |
| | | <view > 合格净重: <text class="count">{{ qualifiedWeight(item,i) ? qualifiedWeight(item,i) + '吨' : '' }}</text></view> |
| | | </view> |
| | | <view v-else-if ='unqualifiedArr(i).length && !item.clean' class='weigh-qualified-no'> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | <view class="weigh-qualified" v-for="el,index in unqualifiedArr(i)"> |
| | | <view> |
| | |
| | | <view class="count"> {{el.unqualifiedWeight ? el.unqualifiedWeight + '吨' : ''}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | <!-- 判断是否检验质量 --> |
| | |
| | | <view style="width: 180rpx;"> |
| | | <u--text text="供应商" |
| | | size='32'></u--text> |
| | | |
| | | |
| | | </view> |
| | | <view style="font-size: 35rpx;">{{ coalDetailsData.customerName || '' }}</view> |
| | | </view> |
| | | <view class="level"> |
| | | <view style="width: 180rpx;"> |
| | | <u--text text="车牌号" |
| | | size='32'></u--text> |
| | | |
| | | </view> |
| | | <view style="font-size: 35rpx;">{{ item.carNo || '' }}</view> |
| | | </view> |
| | | <!-- 物资明细 --> |
| | | <view class="level" v-if="!flag"> |
| | |
| | | <u--text text="物资明细" |
| | | size='32'></u--text> |
| | | </view> |
| | | |
| | | |
| | | <view class="tag-select" |
| | | @click="goodsPopoverShow(i,'goods')" |
| | | v-if='roleType===4'> |
| | |
| | | <view style="width: 180rpx;"> |
| | | <u--text text="品名" |
| | | size='32'></u--text> |
| | | |
| | | |
| | | </view> |
| | | <!-- (coalDetailsData.coalName ? coalDetailsData.coalName: '') --> |
| | | <view class="tag-select" @click="productNamePopoverShow(i)">{{ item.breed }}</view> |
| | | <view class="tag-select" @click="productNamePopoverShow(i)">{{ item.breed }}</view> |
| | | </view> |
| | | |
| | | |
| | | <view class="level" |
| | | v-if='item.modifygoodsName ||globalShowWeigh[i].modifyProductName'> |
| | | <view style="width: 180rpx;"> |
| | |
| | | {{item.spec}} |
| | | </text> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | <view class="level" v-if="flag"> |
| | | <view style="width: 180rpx;"> |
| | |
| | | {{item.spec}} |
| | | </text> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | <!-- <view class="unqualifiedBreed"> |
| | | <view style="width: 180rpx;"> |
| | |
| | | {{item.num + item.numUnit}} |
| | | </view> |
| | | </view> |
| | | <view class="notice-num"> |
| | | <view class="notice-num"> |
| | | <view class="num-text" |
| | | style="margin-left: 10rpx;"> |
| | | <u--text text="通知重量" |
| | |
| | | </view> |
| | | </view> |
| | | <!-- 新增扣罚种类、 扣罚金额,不合格判定种类--> |
| | | <!-- <view class="notice-num"> |
| | | <!-- <view class="notice-num"> |
| | | <view class="num-text" |
| | | style="margin-left: 10rpx;"> |
| | | <u--text text="扣罚种类" |
| | |
| | | </view> |
| | | </view> --> |
| | | <!-- 单价 --> |
| | | <view class="notice-num"> |
| | | <view class="notice-num"> |
| | | <view class="num-text" |
| | | style="margin-left: 10rpx;"> |
| | | <u--text text="单价" |
| | |
| | | <!-- 扣罚容器 --> |
| | | <view class="kouFa-box"> |
| | | <!-- 超尺扣罚金额 --> |
| | | <view class="notice-num koufaBox-item"> |
| | | <view class="notice-num koufaBox-item"> |
| | | <view class="num-text" |
| | | v-if="(roleType===4&&!flag) || (flag && item.oveForfeit)" |
| | | style="margin-left: 10rpx;"> |
| | |
| | | <view class="num-input" |
| | | v-if='roleType===4&&!flag' |
| | | > |
| | | <u-input |
| | | <u-input |
| | | v-model="item.oveForfeit" |
| | | placeholder="请输入" |
| | | border="bottom" |
| | |
| | | {{ item.oveForfeit + '元'}} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="notice-num koufaBox-item" > |
| | | |
| | | <view class="notice-num koufaBox-item" > |
| | | <view class="num-text" |
| | | v-if="(roleType===4&&!flag) || (flag && item.thiForfeit)" |
| | | style="margin-left: 10rpx;"> |
| | |
| | | {{ item.thiForfeit+ '元' }} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="notice-num koufaBox-item" > |
| | | |
| | | <view class="notice-num koufaBox-item" > |
| | | <view class="num-text" |
| | | v-if="(roleType===4&&!flag) || (flag && item.obtForfeit)" |
| | | style="margin-left: 10rpx;"> |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="notice-num koufaBox-item"> |
| | | <view class="notice-num koufaBox-item"> |
| | | <view class="num-text" |
| | | v-if="(roleType===4&&!flag) || (flag && item.othForfeit)" |
| | | style="margin-left: 10rpx;"> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | <!--不合格判定种类 --> |
| | | <!-- <view class="notice-num"> |
| | | <!-- <view class="notice-num"> |
| | | <view class="num-text" |
| | | style="margin-left: 10rpx;"> |
| | | <u--text text="扣罚类型" |
| | |
| | | <u-checkbox :label-size="25" :name="'2'" :label="'厚度扣罚'" :value="item.thickPenaltyAmount" :checked="item.thickPenaltyAmount" :disabled="disabled">厚度扣罚</u-checkbox> |
| | | <u-checkbox :label-size="25" :name="'3'" :label="'密闭器'" :value="item.obturatorPenaltyAmount" :checked="item.obturatorPenaltyAmount" :disabled="disabled">密闭器</u-checkbox> |
| | | <u-checkbox :label-size="25" :name="'4'" :label="'其他扣罚'" :value="item.qita" :checked="item.qita" :disabled="disabled">其他扣罚</u-checkbox> |
| | | </u-checkbox-group> |
| | | </u-checkbox-group> |
| | | </view> |
| | | <view class="num-show" |
| | | v-else-if="flag"> |
| | | <view> |
| | | <text> {{item.penaltyType == 1 ? '超尺扣罚' : item.penaltyType == 2 ? '厚度扣罚' :item.penaltyType == 3 ? '密闭器' : null }} </text> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | <view v-if="!isYanz()"><view class="level"> |
| | | <view style="width: 180rpx;"> |
| | | <u--text text="车牌号" |
| | | size='32'></u--text> |
| | | |
| | | </view> |
| | | <view style="font-size: 35rpx;">{{ item.carNo || '' }}</view> |
| | | </view></view> |
| | | <u-empty v-if=" isYanz() && !isShow(item) " icon-size="200" text="''" > |
| | | <text>暂未验质</text> |
| | | </u-empty> |
| | |
| | | style=" margin-left: 50rpx;margin-top: 30rpx;" |
| | | > |
| | | <u--list-item |
| | | |
| | | |
| | | v-for="(el,index) in unqualifiedArr(i) " |
| | | style=" box-shadow: 0px 0 0 0px #ccc;" |
| | | :key="index" |
| | |
| | | > |
| | | <text slot="value" @click.stop="deleteItem(i,index)" style="color: red;">删除</text> |
| | | </u-cell> |
| | | |
| | | |
| | | <view> |
| | | <view class="unqualifiedBreed"> |
| | | <view style="width: 180rpx;"> |
| | |
| | | v-else-if="flag"> |
| | | {{el.unqualifiedWeight ? el.unqualifiedWeight + '吨': ''}} |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | <!-- <view class="notice-num"> |
| | | <view class="num-text"> |
| | |
| | | v-else-if="flag"> |
| | | {{selectlist.find(item=>item.value ==el.unqualifiedType ) ? selectlist.find(item=>item.value ==el.unqualifiedType ).name : '' }} |
| | | </view> |
| | | |
| | | |
| | | </view> --> |
| | | <view class="notice-num"> |
| | | <view class="num-text"> |
| | |
| | | v-else-if="flag"> |
| | | {{el.penaltyUnitPrice ? el.penaltyUnitPrice + '元' : ''}} |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </u--list-item> |
| | | </u--list> |
| | |
| | | </view> |
| | | </view> |
| | | <!-- 原发出场时间 --> |
| | | <view> |
| | | <!-- <view v-if="roleType!==3"> |
| | | <view> |
| | | <text>货物发货地出场时间或发货磅单时间:</text> |
| | | </view> |
| | |
| | | @change="datechange" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <!-- 新增 验质备注。验质说明 --> |
| | | <view v-if=" isYanz()"> |
| | | <view v-if="coalDetailsData.orderType == '外购'"> |
| | |
| | | loading-text="确认"></u-button> |
| | | </view></view> |
| | | </view> |
| | | |
| | | |
| | | <!-- 物料明细 --> |
| | | <view v-if="!current"> |
| | | <view class="main-block" |
| | |
| | | @close='unqualifiedClose' |
| | | @select="selectUnqualifiedClick"></u-action-sheet> |
| | | </view> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | <!-- 图片预览弹出框 --> |
| | |
| | | <script> |
| | | |
| | | import BigNumber from "bignumber.js" |
| | | import formatDate from '@/utils/date' |
| | | import { BaseUrl } from '@/api/publicInterface.js'; |
| | | import { onlineurl } from '@/api/request.js' |
| | | import { mapState, mapMutations } from "vuex" |
| | | export default { |
| | | data() { |
| | | return { |
| | | dateInpShow:false, |
| | | outDate:'', |
| | | dateValue:'', |
| | | previewImageShow:false, |
| | | qualityInstructions:"", |
| | | previewImageSrc: '', |
| | | outDate:'', |
| | | penaltyType:[], |
| | | indexFlag:0, // 下标标志位 |
| | | remarks:'', |
| | |
| | | list: [ |
| | | { |
| | | name: '物资明细' |
| | | }, |
| | | }, |
| | | { |
| | | name: '称重明细' |
| | | }, |
| | | }, |
| | | ], |
| | | current: 1, |
| | | showWeigh: [], |
| | |
| | | //判断需不需要验质 |
| | | isYanz(){ |
| | | return function(item){ |
| | | // return ( this.coalDetailsData.orderType !=='外购' || this.coalDetailsData.weighingType !=='回磅') ? false : true; |
| | | // return ( this.coalDetailsData.orderType !=='外购' || this.coalDetailsData.weighingType !=='回磅') ? false : true; |
| | | if(this.coalDetailsData.orderType =='外购'){ |
| | | if(this.coalDetailsData.weighingType == '回磅'){ |
| | | return true |
| | |
| | | // if(item.penaltyType){ |
| | | // noPin = item.penaltyType.toString().split(','); |
| | | // } |
| | | |
| | | |
| | | let result = arr.length && arr.map((el,index)=>{ |
| | | const pinming = el.split("/")[0]; |
| | | const guige = el.split("/")[1]; |
| | |
| | | }) |
| | | console.log(result,temp,'arr') |
| | | return result; |
| | | |
| | | |
| | | }else{ |
| | | return [] |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | }, |
| | |
| | | return new BigNumber(item.clean - 0).minus(z).minus(y); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | mounted() { |
| | | this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal(); |
| | | |
| | | |
| | | }, |
| | | onLoad(params) { |
| | | console.log(params,this.showWeighCopyStorge,this.globalShowWeigh,'params路由') |
| | |
| | | this.showWeigh[res.index].spec = res.data.specifications; |
| | | this.showWeigh[res.index].firstClass = res.data.firstClass; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | }) |
| | | }, |
| | | onShow(){ |
| | |
| | | let z = new BigNumber(this.showWeigh[index].cinderWeight - 0); |
| | | let y; |
| | | // if(value.filter(Boolean) .length){ |
| | | // y = value.reduce((p,n)=>{ |
| | | // y = value.reduce((p,n)=>{ |
| | | // return (p - 0) + (n - 0); |
| | | // },0); |
| | | |
| | | |
| | | // }else{ |
| | | // y = 0; |
| | | // } |
| | |
| | | this.showWeigh[index].weight = '0'; |
| | | this.$u.toast('当前净重不合格,请检查皮重,毛重是否准确') |
| | | }else{ |
| | | this.showWeigh[index].weight = x.minus(z).toFixed(2) ; |
| | | this.showWeigh[index].weight = x.minus(z).toFixed(4); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | checkboxChange(n,item) { |
| | |
| | | if(!n.includes('4')){ |
| | | item.qita = '' |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | getTakeCoal() { |
| | |
| | | tempArr:v.tempArr |
| | | } |
| | | }) |
| | | console.log(this.showWeigh,'showWeigh') |
| | | this.showWeighCopy = JSON.parse(JSON.stringify(this.showWeigh)) |
| | | uni.setStorageSync("showWeighCopyStorge", this.showWeighCopy) |
| | | uni.setStorageSync('showWeighCopyStorgeOther',this.showWeighCopy) |
| | |
| | | this.changeglobalShowWeigh(uni.getStorageSync('showWeighCopyStorgeOther')) |
| | | //称重明细无数据时显示物资明细 |
| | | if(!this.coalDetailsData.tmTaskCoalItems.length){ |
| | | this.current = 0; |
| | | this.current = 0; |
| | | } |
| | | this.isWeighingType = res.data.weighingType //当前磅单是否回磅 |
| | | } else { |
| | |
| | | name: v.breed + '/' + v.spec |
| | | } |
| | | }) |
| | | //新增默认回显第一个 |
| | | if(r.data.length && !this.flag){ |
| | | this.goodsIndex = 0; |
| | | this.goodsselectClick(this.goodsList[0]) |
| | | } |
| | | |
| | | uni.hideLoading() |
| | | }) |
| | | }) |
| | |
| | | imageClick(imgStr){ |
| | | console.log(imgStr,'触发') |
| | | this.previewImageSrc = imgStr; |
| | | |
| | | |
| | | this.$nextTick(() => { |
| | | this.previewImageShow = true; |
| | | }); |
| | | |
| | | |
| | | |
| | | }, |
| | | // 点击确认 |
| | |
| | | // let tempArr = v.penaltyType.split(','); |
| | | v.unqualifiedType = ''; |
| | | if(this.globalShowWeigh[i].unqualifiedWeights){ |
| | | unqualifiedWeightAll = this.globalShowWeigh[i].unqualifiedWeights.split(",").reduce((p,n)=>{return (p - 0) + (n - 0)},0).toFixed(2) || '' |
| | | unqualifiedWeightAll = this.globalShowWeigh[i].unqualifiedWeights.split(",").reduce((p,n)=>{return (p - 0) + (n - 0)},0).toFixed(4) || '' |
| | | }else{ |
| | | unqualifiedWeightAll = 0; |
| | | } |
| | |
| | | unqualifiedWeight :unqualifiedWeightAll , |
| | | tempArr:this.globalShowWeigh[i].tempArr ? JSON.stringify(this.globalShowWeigh[i].tempArr) : '', |
| | | penaltyUnitPrice:this.globalShowWeigh[i].penaltyUnitPrice, |
| | | |
| | | |
| | | } |
| | | }); |
| | | // if(flag){ |
| | | this.loading = true; |
| | | params.tmTaskCoalItems = this.showWeigh; |
| | | console.log(params,'params') |
| | | |
| | | |
| | | this.$reqPost('updateTmTaskCoalItem', params, 'json').then( |
| | | res => { |
| | | if (res.code == 0) { |
| | |
| | | }) |
| | | // }else{ |
| | | // this.$u.toast('请输入单价') |
| | | // return |
| | | // return |
| | | // } |
| | | |
| | | |
| | | }, |
| | | // 校验数据是否合格 |
| | | // 校验数据是否合格 |
| | | checkValue(data,target){ |
| | | if(!data.length){ |
| | | return |
| | |
| | | let flag = data.find(item=>item[target] <=0); |
| | | console.log(flag,'flag'); |
| | | if(flag){ |
| | | return false |
| | | return false |
| | | }else{ |
| | | return true; |
| | | } |
| | |
| | | value = parseFloat(value); |
| | | value = value + ""; // 变回为字符串 |
| | | }else{ |
| | | value = value.replace(/^(-)*(\d+)\.(\d\d).*$/,"$1$2.$3"); |
| | | value = value.replace(/^(-)*(\d+)\.(\d\d\d\d).*$/,"$1$2.$3"); |
| | | this.$nextTick(()=>{ |
| | | this.showWeigh[index].cinderWeight = value.replace(/[^\d.]/g, ""); |
| | | }); |
| | | } // 如果没有小数点,首位不能为类似于 01、02的值 |
| | | |
| | | |
| | | // 如果没有净重 ,则不进行计算 |
| | | if(clean){ |
| | | this.showWeigh[index].cinderWeight = (value - 0) |
| | |
| | | }else{ |
| | | this.$u.toast('当前无净重') |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | // 选择不合格品名 |
| | | selectunqualifiedBreed(index) { |
| | |
| | | this.showWeigh[index].weight = '0'; |
| | | this.$u.toast('当前净重不合格,请检查皮重,毛重是否准确') |
| | | }else{ |
| | | this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(2) ; |
| | | this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(4) ; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | // 删除图片 |
| | | deletePic(event) { |
| | |
| | | } |
| | | this.globalShowWeigh[i].unqualifiedBreed = unqualifiedBreed; |
| | | this.globalShowWeigh[i].unqualifiedWeights = unqualifiedWeights; |
| | | // this.globalShowWeigh[i].unqualifiedType = unqualifiedType; |
| | | // this.globalShowWeigh[i].unqualifiedType = unqualifiedType; |
| | | this.globalShowWeigh[i].penaltyUnitPrice = penaltyUnitPrice; |
| | | this.globalShowWeigh[i].tempArr.splice(index,1) |
| | | console.log(this.globalShowWeigh[i].unqualifiedBreed,'unqualifiedBreed') |
| | |
| | | this.numAll(this.globalShowWeigh[this.indexFlag].unqualifiedWeights.split(","),this.indexFlag,this.showWeigh[this.indexFlag].clean) |
| | | console.log(this.globalShowWeigh[i],'deleteItem'); |
| | | } |
| | | |
| | | |
| | | }, |
| | | editItem(i,index){ |
| | | this.indexFlag = i; // 记录标识位 |
| | |
| | | } |
| | | }, |
| | | amountChange(value,event){ |
| | | |
| | | |
| | | // //超尺扣罚 |
| | | // if(event.penaltyAmount){ |
| | | // console.log("触发1") |
| | |
| | | datechange(value){ |
| | | console.log('dateChange',value,formatDate.formatDate(new Date(value)) ); |
| | | this.dateValue = (formatDate.formatDate(new Date(value)) + ':' + '00'); |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | }, |
| | | } |
| | |
| | | } |
| | | |
| | | .main { |
| | | width: 96%; |
| | | width: 100%; |
| | | height: 100%; |
| | | min-height: 400rpx; |
| | | background-color: #fff; |
| | | margin: 10rpx auto; |
| | | padding: 10rpx 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | overflow-x: hidden; |
| | | |
| | | .main-block { |
| | | width: 690rpx; |
| | |
| | | .tabs{ |
| | | font-size: 20rpx!important; |
| | | } |
| | | .u-card-wrap { |
| | | .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; |
| | |
| | | } |
| | | |
| | | } |
| | | </style> |
| | | </style> |