|
@@ -0,0 +1,456 @@
|
|
|
|
+<template>
|
|
|
|
+ <view class="warp">
|
|
|
|
+ <view class="top">
|
|
|
|
+ <view class="top-left">鲅鱼圈一号库</view>
|
|
|
|
+ <view>102仓位</view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="content">
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">合同编号</view>
|
|
|
|
+ <view @click='slectcontractNo'>{{detailData.contractNo}}</view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">货名</view>
|
|
|
|
+ <view class="right">{{detailData.goodsName}}</view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">类型</view>
|
|
|
|
+ <view @click='show1=true'>请选择类型</view>
|
|
|
|
+ <u-picker :range="typeList" range-key="type" @confirm='typePicker($event)' v-model="show1"
|
|
|
|
+ mode="selector">
|
|
|
|
+ </u-picker>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">毛重(吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入毛重"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">皮重(吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入皮重"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">扣重(吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom" placeholder="0"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">净重(吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="不可编辑,自动计算"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">扣款(元/吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom" placeholder="0"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">扣重比</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom" placeholder="输入扣重比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">干粮水分(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom" placeholder="输入干粮水分占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">潮粮水分(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom" placeholder="输入潮粮水分占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">纯重(吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="不可编辑,自动计算"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">品级</view>
|
|
|
|
+ <view @click='show3=true'>请选择品级</view>
|
|
|
|
+ <u-picker :range="pjList" range-key="name" @confirm='handlerPicker($event)' v-model="show3" mode="selector">
|
|
|
|
+ </u-picker>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">经办人</view>
|
|
|
|
+ <view @click='show6=true'>请选择经办人</view>
|
|
|
|
+ <u-picker :range="handlerList" range-key="name" @confirm='handlerPicker($event)' v-model="show6" mode="selector">
|
|
|
|
+ </u-picker>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">入库日期</view>
|
|
|
|
+ <view @click='show4=true'>请选择日期</view>
|
|
|
|
+ <u-calendar v-model="show4" mode="date" @change='dateChange'></u-calendar>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">入库类型</view>
|
|
|
|
+ <view @click='show5=true'>请选择入库类型</view>
|
|
|
|
+ <u-picker :range="warehousingTypeList" range-key="type" @confirm='warehousingTypePicker($event)' v-model="show5" mode="selector">
|
|
|
|
+ </u-picker>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row">
|
|
|
|
+ <view class="left">车牌号</view>
|
|
|
|
+ <view @click='slectCarNo'>{{detailData.carNo}}</view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom has-btn">
|
|
|
|
+ <view class="left">成本(元/吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="自动获取"></input>
|
|
|
|
+ <u-button class="edit-btn">编辑</u-button>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom has-btn">
|
|
|
|
+ <view class="left">运费(元/吨)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="自动获取"></input>
|
|
|
|
+ <u-button class="edit-btn">编辑</u-button>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="content2">
|
|
|
|
+ <view class="left">上传磅单</view>
|
|
|
|
+ <upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="1"
|
|
|
|
+ :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError" @on-remove="onRemove"
|
|
|
|
+ @on-uploaded="isAdd = true" :before-upload="filterFileType" @on-progress="onProgress"></upload>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="content1">
|
|
|
|
+ <view class="title">
|
|
|
|
+ 质检数据(选填)
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">质检员</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入质检员姓名"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">水分(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入水分占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom" style="border: 0;">
|
|
|
|
+ <view class="left">容重(克/升)</view>
|
|
|
|
+ <input v-model='detailData.netWeight' class="right-bottom" disabled placeholder="输入容重"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">热损伤(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入热损伤占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">杂质(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入杂质占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">霉变粒(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入霉变粒占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="row row-bottom">
|
|
|
|
+ <view class="left">不完善粒(%)</view>
|
|
|
|
+ <input @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
|
|
|
|
+ placeholder="输入不完善粒占比"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <u-toast ref="uToast" />
|
|
|
|
+ <view class="bottom-btn">
|
|
|
|
+ <u-button type="primary" class="submit" hover-class="none" @click="submit">暂存</u-button>
|
|
|
|
+ <u-button type="primary" class="submit" hover-class="none" @click="submit">提交</u-button>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+ import upload from '@/components/upload.vue';
|
|
|
|
+ export default {
|
|
|
|
+ components: {
|
|
|
|
+ upload
|
|
|
|
+ },
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ show: false,
|
|
|
|
+ show1: false,
|
|
|
|
+ show2: false,
|
|
|
|
+ show3: false,
|
|
|
|
+ show4: false,
|
|
|
|
+ show5: false,
|
|
|
|
+ show6: false,
|
|
|
|
+ contractNoList: [{
|
|
|
|
+ contractNo: "123"
|
|
|
|
+ }],
|
|
|
|
+ typeList: [{
|
|
|
|
+ type: "干粮"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "潮粮"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ pjList: [{
|
|
|
|
+ type: "一等"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "二等"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "三等"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "等外"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ handlerList: [{
|
|
|
|
+ name: "张三"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "二等"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "三等"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "等外"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ warehousingTypeList: [{
|
|
|
|
+ type: "采购入库"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "采购入库"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "采购入库"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "采购入库"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ action: this.$uploadUrl,
|
|
|
|
+ maxSize: 50 * 1024 * 1024, //限制文件大小 50M
|
|
|
|
+ btnLoading: false, //防止重复点击
|
|
|
|
+ isAdd: true,
|
|
|
|
+ detailData: {
|
|
|
|
+ contractNo: "123",
|
|
|
|
+ carNo:'辽H12345',
|
|
|
|
+ name: "",
|
|
|
|
+ goodsName: "123",
|
|
|
|
+ qualityInspectionManagement: {}
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ onLoad(options) {
|
|
|
|
+ this.id = options.id
|
|
|
|
+ this.cangId = options.cangId
|
|
|
|
+ },
|
|
|
|
+ onShow() {
|
|
|
|
+ // this.getWeighingManagement()
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ contractNopicker(e) {},
|
|
|
|
+ typePicker(e) {
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ pjPicker(e) {
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ handlerPicker(e) {
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ dateChange(e){
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ warehousingTypePicker(e) {
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ filterFileType(index, lists) {
|
|
|
|
+ if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
|
|
|
|
+ lists.splice(index, 1);
|
|
|
|
+ // 当前文件不支持
|
|
|
|
+ uni.showModal({
|
|
|
|
+ title: '暂不支持当前图片类型',
|
|
|
|
+ showCancel: false
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ this.isAdd = false;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ calculate() {
|
|
|
|
+ this.detailData.netWeight = this.detailData.grossWeight - this.detailData.tare
|
|
|
|
+ },
|
|
|
|
+ getImgUrl(res) {
|
|
|
|
+ this.detailData.addressUrl = res
|
|
|
|
+ console.log(res)
|
|
|
|
+ console.log('------------res-----------')
|
|
|
|
+ },
|
|
|
|
+ onError(error) {
|
|
|
|
+ alert(error)
|
|
|
|
+ console.log('------------error-----------')
|
|
|
|
+ console.log(error)
|
|
|
|
+ },
|
|
|
|
+ contractNopicker(e) {
|
|
|
|
+ // this.detailData.goodsName=this.contractNoList[e[0]].goodsName
|
|
|
|
+ // this.detailData.contractNo=this.contractNoList[e[0]].contractNo
|
|
|
|
+ },
|
|
|
|
+ binNumberpicker(e) {
|
|
|
|
+ this.detailData.binNumber = this.positionList[e[0]].binNumber
|
|
|
|
+ },
|
|
|
|
+ getWeighingManagement() {
|
|
|
|
+ this.$api.doRequest('get', '/weighingManagement/getWeighingManagement', {
|
|
|
|
+ id: this.id
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ console.log(res)
|
|
|
|
+ this.detailData = res.data.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {
|
|
|
|
+ id: this.cangId
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ this.positionList = res.data.data.warehousePositionInfoList
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.$api.doRequest('get', '/warehouseBaseInfo/selectContractNoList', {
|
|
|
|
+ compId: '',
|
|
|
|
+ flag: 5
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ this.contractNoList = res.data.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ onProgress(e) {
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
|
|
+ onRemove(index) {},
|
|
|
|
+ submit() {
|
|
|
|
+ if (!this.detailData.grossWeight) {
|
|
|
|
+ this.$api.msg('毛重不能为空')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (isNaN(this.detailData.grossWeight) ||
|
|
|
|
+ (String(this.detailData.grossWeight).indexOf('.') != -1 &&
|
|
|
|
+ String(this.detailData.grossWeight).length -
|
|
|
|
+ (String(this.detailData.grossWeight).indexOf('.') + 1) >
|
|
|
|
+ 1) ||
|
|
|
|
+ this.detailData.grossWeight < 1 ||
|
|
|
|
+ this.detailData.grossWeight > 100000
|
|
|
|
+ ) {
|
|
|
|
+ this.$api.msg('毛重输入错误!')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ let that = this
|
|
|
|
+ uni.showModal({
|
|
|
|
+ content: "确定提交检斤信息?",
|
|
|
|
+ success(res) {
|
|
|
|
+ if (res.confirm) {
|
|
|
|
+ that.$api.doRequest('post', '/weighingManagement/api/editGrossWeight',
|
|
|
|
+ that.detailData).then(res => {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ that.$api.msg('提交成功')
|
|
|
|
+ uni.navigateBack()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ slectcontractNo(){
|
|
|
|
+ uni.navigateTo({
|
|
|
|
+ url:'/pages/erp/warehousing/selectContractNo'
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ slectCarNo(){
|
|
|
|
+ uni.navigateTo({
|
|
|
|
+ url:'/pages/erp/warehousing/selectCarNo'
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
+ uni-page-body {
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .warp {
|
|
|
|
+ margin: 10rpx;
|
|
|
|
+ padding: 20rpx 20rpx 140rpx 20rpx;
|
|
|
|
+
|
|
|
|
+ .top {
|
|
|
|
+ display: flex;
|
|
|
|
+ margin-bottom: 20rpx;
|
|
|
|
+
|
|
|
|
+ .top-left {
|
|
|
|
+ margin-right: 20rpx;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .content,
|
|
|
|
+ .content1,
|
|
|
|
+ .content2 {
|
|
|
|
+ border-radius: 20rpx;
|
|
|
|
+ background: white;
|
|
|
|
+ padding: 20rpx;
|
|
|
|
+
|
|
|
|
+ .title {
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
+ font-weight: 600;
|
|
|
|
+ color: #333333;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .row {
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ border-bottom: 1px solid #EEEEEE;
|
|
|
|
+ padding: 21rpx 0;
|
|
|
|
+
|
|
|
|
+ .right,
|
|
|
|
+ input {
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
+ color: #333333;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .row-bottom {
|
|
|
|
+
|
|
|
|
+ // border: 0;
|
|
|
|
+ .right-bottom {
|
|
|
|
+ width: 300rpx;
|
|
|
|
+ text-align: right;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .content1 {
|
|
|
|
+ margin-top: 20rpx;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .content2 {
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+
|
|
|
|
+ .left {
|
|
|
|
+ margin-right: 20px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .submit {
|
|
|
|
+ width: 40%;
|
|
|
|
+ background: #22C572;
|
|
|
|
+ border-radius: 10rpx;
|
|
|
|
+ }
|
|
|
|
+ .edit-btn{
|
|
|
|
+ background: #22C572;
|
|
|
|
+ width: 100rpx;
|
|
|
|
+ height: 50rpx;
|
|
|
|
+ margin: 0;
|
|
|
|
+ color: white;
|
|
|
|
+ }
|
|
|
|
+ .has-btn{
|
|
|
|
+ align-items: center;
|
|
|
|
+ }
|
|
|
|
+ .bottom-btn{
|
|
|
|
+ width: 92%;
|
|
|
|
+ position: fixed;
|
|
|
|
+ bottom: 40rpx;
|
|
|
|
+ display: flex;
|
|
|
|
+ z-index: 2;
|
|
|
|
+ }
|
|
|
|
+</style>
|