<!-- 查看皮毛净明细 -->
|
<template>
|
<view class="main">
|
<u-empty mode="data"
|
icon="http://cdn.uviewui.com/uview/empty/data.png"
|
textSize="30"
|
iconSize="1000"
|
v-if="showWeigh.length===0"></u-empty>
|
<view class="main-block"
|
v-for="(item,i) in showWeigh"
|
:key="item.id">
|
<view class="weigh-item">
|
<view class="item">
|
<view class="concrete"
|
:style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/skin.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
|
皮
|
</view>
|
<view class="num">{{ item.skin }}</view>
|
</view>
|
<view class="item">
|
<view class="concrete"
|
:style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/hair.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
|
毛
|
</view>
|
<view class="num">{{ item.hair }}</view>
|
</view>
|
<view class="item">
|
<view class="concrete"
|
:style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/clean.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
|
净
|
</view>
|
<view class="num">{{ item.clean }}</view>
|
</view>
|
</view>
|
<view class="discount">
|
<view class="rate">
|
<view class="label-text">
|
扣渣
|
</view>
|
<view v-if='roleType===4&&!flag'
|
class="count-input">
|
<u--input placeholder="请输入扣渣"
|
border="bottom"
|
clearable
|
v-model="item.cinderWeight"
|
@input='v=>discountInputHandle(v,i,item.clean)'></u--input>
|
</view>
|
<view v-else-if='flag'
|
class="count">{{ item.cinderWeight }}
|
</view>
|
</view>
|
<view class="weigh">
|
<view class="label-text">
|
扣渣后净重
|
</view>
|
<view class="count">{{ item.weight }}</view>
|
</view>
|
</view>
|
<view class="level"
|
v-if='!flag'>
|
<view class=""
|
style="width: 140rpx;">
|
<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>
|
<view class="level"
|
v-if='item.modifygoodsName||flag'>
|
<view style="width: 140rpx;">
|
<u--text text="产品名称"
|
size='32'></u--text>
|
</view>
|
<view v-if="showWeighCopy[i].modifyProductName||item.breed&&item.spec">
|
<u-tag :text="!flag?showWeighCopy[i].modifyProductName:item.breed+item.spec"
|
plain
|
@click="productNamePopoverShow(i)"></u-tag>
|
</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>
|
<view class="confirm-button"
|
v-if='roleType===4&&!flag'>
|
<u-button type="primary"
|
shape="circle"
|
text="确认"
|
@click="confirmInput"
|
:loading="loading"
|
loading-text="确认"></u-button>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import { onlineurl } from '@/api/request.js'
|
export default {
|
data() {
|
return {
|
orderPlanId: "",
|
coalDetailsData: {},
|
showWeigh: [],
|
showWeighCopy: [],
|
discountrate: "",
|
loading: false,
|
show: false,
|
selectIndex: null,
|
// 物资明细
|
goodsList: [],
|
goodsShow: false,
|
goodsIndex: null,
|
// 产品列表
|
actionsList: [],
|
actionShow: false,
|
actionIndex: null,
|
onlineurl,
|
havedInput: false,
|
flag: false,
|
orderCode: null,
|
|
modifyProductName: null,
|
// 是否修改
|
isModify: false
|
};
|
},
|
computed: {
|
roleType() {
|
return uni.getStorageSync('roleType')
|
}
|
},
|
onLoad(params) {
|
this.orderPlanId = params.orderPlanId ? params.orderPlanId : ''
|
this.flag = params.flag ? params.flag : false
|
},
|
onShow() {
|
this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal()
|
if (this.orderCode) {
|
this.getMaterialDetailByOrderCode()
|
}
|
this.getJcProductList()
|
},
|
methods: {
|
getTakeCoal() {
|
uni.showLoading({
|
title: '加载中'
|
});
|
this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
|
if (res.code == 0) {
|
this.coalDetailsData = res.data;
|
this.orderCode = res.data.orderCode
|
this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData
|
.tmTaskCoalItems : [];
|
this.showWeigh = this.showWeigh.map(v => {
|
return {
|
...v,
|
modifyProductName: '',
|
modifygoodsName: ''
|
|
}
|
})
|
this.showWeighCopy = JSON.parse(JSON.stringify(this.showWeigh))
|
uni.hideLoading()
|
} else {
|
this.$u.toast('加载失败')
|
uni.hideLoading()
|
}
|
}).then(() => {
|
this.$reqGet('getMaterialDetailByOrderCode', { orderCode: this.orderCode }).then(r => {
|
this.goodsList = r.data.map(v => {
|
return {
|
...v,
|
name: v.breed + v.spec
|
}
|
})
|
uni.hideLoading()
|
})
|
})
|
},
|
GetOrderPlan() {
|
uni.showLoading({ title: '加载中...' });
|
this.$reqGet('GetOrderPlan').then(res => {
|
if (res.data) {
|
this.coalDetailsData = res.data;
|
this.orderCode = res.data.orderCode
|
this.showWeigh = this.coalDetailsData[this.index].tmTaskCoals ? this.coalDetailsData[
|
this.index].tmTaskCoals : [],
|
uni.hideLoading();
|
} else {
|
this.$u.toast('加载失败')
|
uni.hideLoading()
|
}
|
});
|
},
|
getJcProductList() {
|
this.$reqGet('getJcProductList').then(res => {
|
if (res.code === 0) {
|
this.actionsList = res.data.map(v => {
|
return {
|
...v,
|
name: v.secondCategoryName + v.spec
|
}
|
})
|
}
|
})
|
},
|
// 输入折扣率后点击确认
|
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
|
}
|
})
|
this.$reqPost('updateTmTaskCoalItem', this.showWeigh, 'json').then(
|
res => {
|
if (res.code == 0) {
|
this.loading = false
|
this.$u.toast('操作成功,即将返回上一页')
|
setTimeout(() => {
|
uni.navigateBack({
|
delta: 1
|
})
|
}, 800)
|
} else {
|
this.loading = false
|
this.$u.toast('操作失败')
|
}
|
})
|
},
|
// 物资明细
|
goodsPopoverShow(index) {
|
this.goodsShow = true
|
this.goodsIndex = index
|
},
|
goodsNameClose() {
|
this.goodsShow = false
|
},
|
goodsselectClick(val) {
|
this.showWeigh[this.goodsIndex].modifygoodsName = val.name
|
this.showWeigh[this.goodsIndex].itemId = val.itemId
|
this.showWeigh[this.goodsIndex].num = val.num
|
this.showWeigh[this.goodsIndex].numUnit = val.numUnit
|
this.showWeigh[this.goodsIndex].remark = val.remark
|
this.showWeigh[this.goodsIndex].breed = val.breed
|
this.showWeigh[this.goodsIndex].spec = val.spec
|
},
|
// 产品列表
|
productNamePopoverShow(index) {
|
if (this.roleType === 4 && !this.flag) {
|
this.actionShow = true
|
this.actionIndex = index
|
}
|
},
|
productNameClose() {
|
this.actionShow = false
|
},
|
selectClick(val) {
|
this.showWeighCopy[this.actionIndex].modifyProductName = val.name
|
this.showWeighCopy[this.actionIndex].breed = val.secondCategoryName
|
this.showWeighCopy[this.actionIndex].spec = val.spec
|
},
|
// 折扣率输入
|
discountInputHandle(value, index, clean) {
|
this.showWeigh[index].cinderWeight = Number(value)
|
this.showWeigh[index].weight = (clean - (Number(value)).toFixed(2));
|
}
|
},
|
}
|
</script>
|
|
<style lang="scss"
|
scoped>
|
@mixin flex {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
}
|
|
/deep/ .u-picker {
|
height: 600rpx;
|
}
|
|
.main {
|
width: 96%;
|
height: 100%;
|
min-height: 400rpx;
|
background-color: #fff;
|
margin: 10rpx auto;
|
display: flex;
|
flex-direction: column;
|
|
.main-block {
|
width: 690rpx;
|
min-height: 360rpx;
|
margin: vww(20) auto;
|
padding: vww(5);
|
background: #ffffff;
|
box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11);
|
border-radius: 20rpx;
|
overflow: hidden;
|
position: relative;
|
|
.weigh-item {
|
width: 100%;
|
height: vww(36);
|
margin: vww(10);
|
@include flex;
|
justify-content: space-around;
|
|
.item {
|
min-width: vww(50);
|
height: vww(45);
|
font-size: 21rpx;
|
font-weight: 400;
|
color: #ffffff;
|
text-align: center;
|
line-height: vww(30);
|
@include flex;
|
|
.concrete {
|
width: vww(36);
|
height: vww(36);
|
}
|
|
.num {
|
font-size: 40rpx;
|
font-weight: 300;
|
color: #303030;
|
}
|
}
|
}
|
|
.discount {
|
@include flex;
|
justify-content: space-around;
|
width: 100%;
|
line-height: vww(36);
|
|
.rate,
|
.weigh {
|
width: 50%;
|
height: vww(80);
|
display: flex;
|
align-items: center;
|
justify-content: space-around;
|
flex-direction: column;
|
|
.count-input {
|
width: 70%;
|
border-bottom: 1px solid rgb(218, 219, 222);
|
}
|
}
|
|
.weigh {
|
justify-content: space-between;
|
}
|
|
.count {
|
font-size: 40rpx;
|
color: rgb(242, 70, 79);
|
}
|
|
}
|
|
.level {
|
width: 60%;
|
margin-top: 30rpx;
|
margin-left: 80rpx;
|
display: flex;
|
justify-content: space-between;
|
}
|
|
.select-button {
|
width: 100%;
|
@include flex;
|
justify-content: flex-end;
|
margin-bottom: 40rpx;
|
position: absolute;
|
right: vww(-120);
|
bottom: vww(-10);
|
|
/deep/ .u-button {
|
width: 180rpx !important;
|
}
|
}
|
|
}
|
|
.confirm-button {
|
width: 100%;
|
@include flex;
|
justify-content: center;
|
margin-bottom: 40rpx;
|
}
|
}
|
</style>
|