You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
303 lines
6.6 KiB
303 lines
6.6 KiB
<style lang="scss">
|
|
.container{
|
|
min-height: 100%;
|
|
background:#F6F6F6;
|
|
padding:30rpx 0;
|
|
.card{
|
|
margin-top:0;
|
|
}
|
|
&>.fertilizer{
|
|
&>.name{
|
|
display:flex;
|
|
align-items: center;
|
|
margin-bottom:14rpx;
|
|
text{
|
|
&:first-child{
|
|
font-size:20rpx;
|
|
color:#fff;
|
|
background:#10C176;
|
|
border-radius: 4rpx 30rpx 4rpx 30rpx;
|
|
padding: 0 6rpx;
|
|
min-width:80rpx;
|
|
text-align: center;
|
|
height:40rpx;
|
|
line-height: 40rpx;
|
|
margin-right:16rpx;
|
|
}
|
|
&:nth-child(3){
|
|
border-radius: 50%;
|
|
background:#10C176;
|
|
color:#fff;
|
|
margin-left:auto;
|
|
width:35rpx;
|
|
height:35rpx;
|
|
text-align: center;
|
|
line-height: 35rpx;
|
|
}
|
|
}
|
|
}
|
|
&>.company{
|
|
display:flex;
|
|
align-items: center;
|
|
text{
|
|
&:first-child{
|
|
flex-shrink: 0;
|
|
font-size:20rpx;
|
|
color:#707070;
|
|
}
|
|
&:nth-child(2){
|
|
margin-left:20rpx;
|
|
font-size:20rpx;
|
|
color:#FBA83C;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&>.specs{
|
|
.select{
|
|
flex-grow: 1;
|
|
height:80rpx;
|
|
line-height: 80rpx;
|
|
background:#F7F7F7;
|
|
border-radius: 24rpx;
|
|
padding:0 28rpx;
|
|
display:flex;
|
|
text{
|
|
&:first-child{
|
|
flex-grow: 1;
|
|
color:#333;
|
|
&.noData{
|
|
color:#999;
|
|
}
|
|
}
|
|
&:nth-child(2){
|
|
color:#999;
|
|
flex-shrink: 0;
|
|
transform: rotate(90deg);
|
|
}
|
|
}
|
|
}
|
|
.plant-xinjian{
|
|
color:#10C176;
|
|
border-radius: 24rpx;
|
|
margin-left:24rpx;
|
|
background:#E7FCF3;
|
|
height:80rpx;
|
|
line-height: 80rpx;
|
|
width:120rpx;
|
|
text-align: center;
|
|
box-shadow: 6rpx 6rpx 8rpx rgba(16,193,118,0.1);
|
|
}
|
|
.tip{
|
|
color:#FBA83C;
|
|
font-size:24rpx;
|
|
margin-top:12rpx;
|
|
}
|
|
}
|
|
&>.purchase{
|
|
.input{
|
|
display:flex;
|
|
background:#F7F7F7;
|
|
border-radius: 24rpx;
|
|
padding:20rpx;
|
|
input{
|
|
flex-grow: 1;
|
|
}
|
|
text{
|
|
color:#999;
|
|
line-height: 40rpx;
|
|
margin-left:20rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.purcahse-picker{
|
|
padding:0 30rpx;
|
|
display:flex;
|
|
flex-direction: column;
|
|
justify-content: space-evenly;
|
|
.name{
|
|
display:flex;
|
|
align-items: center;
|
|
text{
|
|
font-size:16rpx;
|
|
&:first-child{
|
|
color:#fff;
|
|
background:#10C176;
|
|
border-radius:0 20rpx 0 20rpx;
|
|
width:80rpx;
|
|
height:34rpx;
|
|
text-align: center;
|
|
line-height: 34rpx;
|
|
margin-right:16rpx;
|
|
}
|
|
&:nth-child(2){
|
|
font-weight: bold;
|
|
font-size:20rpx;
|
|
}
|
|
&:nth-child(3){
|
|
color:#999;
|
|
margin-left:6rpx;
|
|
}
|
|
}
|
|
}
|
|
.company{
|
|
font-size:16rpx;
|
|
&:before{
|
|
content:attr(data-name);
|
|
color:#FBA83C;
|
|
margin-right:20rpx;
|
|
}
|
|
&:after{
|
|
content:attr(data-company);
|
|
color:#999999;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
<template>
|
|
<view class="container">
|
|
<view class="card fertilizer">
|
|
<view class="name">
|
|
<text>{{formData.detailedParentName}}</text>
|
|
<text>{{formData.goodsName}}</text>
|
|
<text class="plant-jiantou_zuoyouqiehuan" @click="$u.route({type:'back'})"/>
|
|
</view>
|
|
<view class="company">
|
|
<text>{{formData.detailedType}}</text>
|
|
<text>{{formData.supplier}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card specs">
|
|
<view class="title_mast">规格</view>
|
|
<view style="display:flex;">
|
|
<view class="select">
|
|
<text @click="show=true" :class="{noData:!formData.goodsSpecification}">{{formData.goodsSpecification||"请添加规格"}}</text>
|
|
<text class="plant-youbian"/>
|
|
</view>
|
|
<text class="plant-xinjian" @click="toAdd">新建</text>
|
|
</view>
|
|
<view class="tip" v-if="specStr">库存:{{specStr}}</view>
|
|
</view>
|
|
|
|
<view class="card purchase">
|
|
<view class="title_mast">采购数量</view>
|
|
<view class="input">
|
|
<input placeholder="请输入采购数量" type="digit" v-model="formData.num"/>
|
|
<text>{{dressingUnit}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<button class="cu-btn round bg-green shadow submit" @click="submit">确定</button>
|
|
|
|
<u-picker
|
|
:show="show"
|
|
:columns="specList"
|
|
keyName="label"
|
|
closeOnClickOverlay
|
|
@close="show=false"
|
|
@cancel="show=false"
|
|
@confirm="searchStock($event.value[0].id);formData.goodsSpecification=$event.value[0].value;formData.specificationId=$event.value[0].id;show=false"/>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import request from '@/common/request'
|
|
export default{
|
|
data(){
|
|
return{
|
|
specList:[[]],
|
|
specStr:"",
|
|
dressingUnit:"",
|
|
show:false,
|
|
formData:{
|
|
goodsId:"",
|
|
goodsName:"",
|
|
goodsSpecification:"",
|
|
num:"",
|
|
specificationId:"",
|
|
|
|
detailedType:"",
|
|
detailedParentName:"",
|
|
supplier:"",
|
|
},
|
|
|
|
goodsDetail:{},
|
|
|
|
eventChannel:null,
|
|
}
|
|
},
|
|
async onLoad(options){
|
|
this.eventChannel=this.getOpenerEventChannel()
|
|
this.eventChannel.on("detail", detail=>{
|
|
this.formData.goodsName=detail.goodsName
|
|
this.formData.detailedType=detail.detailedType
|
|
this.formData.detailedParentName=detail.detailedParentName
|
|
this.formData.supplier=detail.supplier
|
|
})
|
|
this.formData.goodsId=options.goodsId
|
|
this.setGoodsVal()
|
|
},
|
|
methods:{
|
|
async setGoodsVal(val){
|
|
var res=await request("/api/goods/queryGoodsSpecification",{
|
|
params:{
|
|
goodsName:this.formData.goodsName,
|
|
supplier:this.formData.supplier,
|
|
}
|
|
})
|
|
if(res.statu){
|
|
this.specList=[res.data.map(v=>({label:v.goodsSpecification,value:v.goodsSpecification,id:v.id}))]
|
|
this.formData.goodsSpecification=''
|
|
this.specStr=''
|
|
this.dressingUnit=''
|
|
}else{
|
|
uni.showModal({
|
|
title:"提示",
|
|
content:res.msg||"获取规格选项失败!",
|
|
showCancel:false,
|
|
})
|
|
}
|
|
},
|
|
async searchStock(id){
|
|
var res=await request("/api/goods/stockShow",{
|
|
params:{
|
|
goodsSpecificationId:id,
|
|
plantBaseInfoId:this.$store.state.plantBaseInfoId,
|
|
}
|
|
})
|
|
if(res.data.packing&&res.data.heft){
|
|
this.specStr=`${res.data.packing}(${res.data.heft})`
|
|
}else{this.specStr=''}
|
|
this.dressingUnit=`${res.data.dressingUnit}`
|
|
},
|
|
toAdd(){
|
|
uni.navigateTo({
|
|
url:`/pages/purchase/newSpecs?goodsId=${this.formData.goodsId}`,
|
|
events:{addUnit:e=>{
|
|
this.specList[0].push({label:e.goodsSpecification,value:e.goodsSpecification,id:e.goodsSpecificationId})
|
|
this.searchStock(e.goodsSpecificationId)
|
|
this.formData.goodsSpecification=e.goodsSpecification
|
|
}}
|
|
})
|
|
},
|
|
check(){
|
|
if(!this.formData.goodsSpecification){
|
|
uni.showToast({title:"规格必选!",icon:"none"})
|
|
return false
|
|
}else if(!this.formData.num>0){
|
|
uni.showToast({title:"采购数量必填!",icon:"none"})
|
|
return false
|
|
}
|
|
return true
|
|
},
|
|
async submit(){
|
|
if(this.check()){
|
|
uni.navigateBack()
|
|
this.eventChannel.emit("submit", this.formData)
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|