This commit is contained in:
aihe 2024-04-27 23:19:55 +08:00
parent cd88c8b121
commit 318072ce93
9 changed files with 183 additions and 126 deletions

View File

@ -12,48 +12,55 @@
</view>
<view class="dt-cont">
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">物品名称</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="物品名称">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.goodsName" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">物品单价</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
>
<template #suffix>
<text class="font-26 clr-sub pl-10">元</text>
</template>
</u-input>
</u-row>
<tpx-text-item label="物品数量">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.cargoQty" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
>
<template #suffix>
<text class="font-26 clr-sub pl-10">件</text>
</template>
</u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">物品数量</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
>
<template #suffix>
<text class="font-26 clr-sub pl-10">个</text>
</template>
</u-input>
</u-row>
<tpx-text-item label="物品单价">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.price" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
>
<template #suffix>
<text class="font-26 clr-sub pl-10">CNY</text>
</template>
</u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">原产地</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="原产地">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.nationArea" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
</view>
</view>
@ -64,55 +71,66 @@
</view>
<view class="dt-cont">
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">品牌</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="品牌">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.brand" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">材质</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="材质">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.material" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">用途</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="用途">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.purpose" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">成分</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="成分">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.ingredients" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item">
<u-row justify="between">
<text class="font-28 ">供应商</text>
<u-input placeholder="请填写" v-model="value1" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</u-row>
<tpx-text-item label="供应商">
<template v-slot:right>
<u-input placeholder="请填写" v-model="modelInfo.supplier" inputAlign="right" font-size="26"
custom-style="border:0;border-radius: 10rpx;padding: 14rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</view>
<view class="edm-input-item" style="padding-top: 24rpx;padding-bottom: 24rpx;">
<tpx-text-item label="保存物品信息">
<template v-slot:right>
<u-switch v-model="modelInfo.isSave" active-color="#B12D29" size="34"></u-switch>
</template>
</tpx-text-item>
<u-row justify="between">
<text class="font-28 ">保存物品信息</text>
<text class="font-28 "></text>
<view>
<u-switch v-model="saveSwitch" active-color="#B12D29" size="34"></u-switch>
</view>
</u-row>
</view>
@ -134,11 +152,20 @@
<script>
export default {
// computed: {
// filDataList() {
// return []
// },
// },
computed: {
dicData() {
return this.$store.getters.dicData
}
},
watch: {
show: {
handler: function(cval, oval) {
if(cval) {
this.modelInfo = JSON.parse(JSON.stringify(this.value || {}))
}
}
}
},
props: {
show: {
default () {
@ -153,10 +180,7 @@
},
data() {
return {
value1: '',
value2: '',
keyword: '',
saveSwitch: false
modelInfo: {}
}
},
created() {
@ -171,9 +195,9 @@
handleCloseModal() {
this.$emit('update:show', false)
},
handleSubmitValue(val) {
this.$emit('onSure', {})
this.$emit('update:value', {})
handleSubmitValue() {
this.$emit('onSure', this.modelInfo)
this.$emit('update:value', this.modelInfo)
this.handleCloseModal()
}
}

View File

@ -11,7 +11,14 @@
<tpx-select v-model:value="modelInfo.prepareInExpress" :list="dicData.emis_express_code"
mode="drop" customInput="true"
>
<tpx-text-item label="同行快递" :value="modelInfo.prepareInExpress" :list="dicData.emis_express_code"></tpx-text-item>
<tpx-text-item label="同行快递">
<template v-slot:right>
<u-input placeholder="" v-model="modelInfo.prepareInExpress" inputAlign="right"
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
placeholder-style="color: #999; "
></u-input>
</template>
</tpx-text-item>
</tpx-select>
</view>
@ -38,11 +45,11 @@
<tpx-text-item label="代垫预估">
<template v-slot:right>
<u-input placeholder="" v-model="modelInfo.prepareInEstFee" inputAlign="right"
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
custom-style="width: 366rpx;flex: none;border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
placeholder-style="color: #999; "
>
<template #suffix>
<text class="font-26 clr-sub pl-10">元</text>
<text class="font-26 clr-sub pl-10">CNY</text>
</template>
</u-input>
</template>

View File

@ -1,28 +1,28 @@
<template>
<view v-for="(item, index) in submitInfo.gdList" class="yditem">
<view v-for="(item, index) in modelInfo.cargoList" class="yditem">
<view class="ydi-lab">
<text @click="handleEditGood(item)" class="font-weight">女士针织棉上衣</text>
<text @click="handleEditGood(item, index)" class="font-weight">{{item.goodsName}}</text>
<view>
<u-icon @click="handleDelGood(index)" name="trash" size="32"></u-icon>
</view>
</view>
<view class="ydi-lab mt-10">
<view @click="handleEditGood(item)" style="width: 100%;">
<view @click="handleEditGood(item, index)" style="width: 100%;">
<u-row justify="between">
<view class="clr-sub">无 12L 中国内地</view>
<view><text class="clr-sub">预报</text> 21</view>
<view class="clr-sub">{{item.nationArea}}</view>
<view><text class="clr-sub">预报</text> {{item.cargoQty}}</view>
</u-row>
<view class="clr-prm pt-10">12 CNY</view>
<view class="clr-prm pt-10">{{item.price}} CNY</view>
</view>
</view>
<view class="ydi-lab mt-10">
<u-row>
<text class="pr-20 clr-prm">异常</text>
<uni-number-box :min="0" v-model="item.yichang" :max="10000" background="#fff"></uni-number-box>
<uni-number-box :min="0" v-model="item.abnormalQty" :max="10000" background="#fff"></uni-number-box>
</u-row>
<u-row>
<text class="pr-20">实入仓</text>
<uni-number-box :min="0" v-model="item.shiru" :max="10000" background="#fff"></uni-number-box>
<uni-number-box :min="0" v-model="item.cargoQty" :max="10000" background="#fff"></uni-number-box>
</u-row>
</view>
</view>
@ -36,17 +36,20 @@
</u-row>
</u-button>
<buns-goodinfo-sheet v-model:show="goodinfoModal.show" v-model:value="goodinfoModal.value"></buns-goodinfo-sheet>
<buns-goodinfo-sheet v-model:show="goodinfoModal.show" v-model:value="goodinfoModal.value" @onSure="handleGoodChange"></buns-goodinfo-sheet>
</template>
<script>
export default {
computed: {
submitInfo: {
modelInfo: {
get(){
return this.value
}
},
dicData() {
return this.$store.getters.dicData
}
},
props: {
@ -60,7 +63,8 @@
return {
goodinfoModal:{
show: false,
value: {}
value: {},
index: undefined
}
}
},
@ -74,10 +78,24 @@
},
methods: {
handleEditGood(item = {}) {
handleDelGood(index) {
this.modelInfo.cargoList.splice(index, 1)
},
handleEditGood(item = { nationArea: '中国' }, index) {
this.goodinfoModal.show = true
this.goodinfoModal.value = item
this.goodinfoModal.index = index
},
handleGoodChange(val) {
if(typeof this.goodinfoModal.index == 'undefined') {
// 新增回调处理
this.modelInfo.cargoList.push(val)
} else {
Object.assign(this.modelInfo.cargoList[this.goodinfoModal.index], val)
}
}
}
}
</script>

View File

@ -1,12 +1,12 @@
<template>
<view v-if="title" class="mb-20">{{title}}</view>
<tpx-upload v-model:value="submitInfo[filedName]" maxLen="10"></tpx-upload>
<tpx-upload v-model:value="modelInfo[filedName]" maxLen="10"></tpx-upload>
</template>
<script>
export default {
computed: {
submitInfo: {
modelInfo: {
get(){
return this.value
}

View File

@ -4,7 +4,7 @@
<u-row justify="between">
<text class="font-28">件数</text>
<view>
<uni-number-box v-model="submitInfo.jianshu" :min="1" :max="10000"></uni-number-box>
<uni-number-box v-model="modelInfo.parcelQty" :min="1" :max="10000"></uni-number-box>
</view>
</u-row>
</view>
@ -12,7 +12,7 @@
<u-row justify="between">
<text class="font-28">包裹重量</text>
<view>
<uni-number-box v-model="submitInfo.zhl" :min="1" :max="10000"></uni-number-box>
<tpx-input v-model:value="modelInfo.billWeight" :isWhite="true" placeholder="" suffix="cm"></tpx-input>
</view>
</u-row>
</view>
@ -23,19 +23,17 @@
<view style="width: 70%;">
<u-row justify="between">
<u-col span="3.7">
<tpx-input v-model:value="submitInfo.chang" :isWhite="true" placeholder="长" suffix="cm"></tpx-input>
<tpx-input v-model:value="modelInfo.chang" :isWhite="true" placeholder="长" suffix="cm"></tpx-input>
</u-col>
<u-col span="3.7">
<tpx-input v-model:value="submitInfo.kuan" :isWhite="true" placeholder="宽" suffix="cm"></tpx-input>
<tpx-input v-model:value="modelInfo.kuan" :isWhite="true" placeholder="宽" suffix="cm"></tpx-input>
</u-col>
<u-col span="3.7">
<tpx-input v-model:value="submitInfo.gao" :isWhite="true" placeholder="高" suffix="cm"></tpx-input>
<tpx-input v-model:value="modelInfo.gao" :isWhite="true" placeholder="高" suffix="cm"></tpx-input>
</u-col>
</u-row>
<u-row customStyle="margin: 20rpx 0 0 0;">
<tpx-input v-model:value="submitInfo.pingfang" :isWhite="true" placeholder="" suffix="m³"></tpx-input>
</u-row>
<u-row v-if="modelInfo.totalVolume" customStyle="margin: 20rpx 0 0 0;" justify="end">{{modelInfo.totalVolume}}m³</u-row>
</view>
</u-row>
</view>
@ -45,7 +43,7 @@
<script>
export default {
computed: {
submitInfo: {
modelInfo: {
get(){
return this.value
}

View File

@ -1,29 +1,30 @@
<template>
<view v-for="(item) in submitInfo.gdList" class="yditem">
<view v-for="(item) in modelInfo.cargoList" class="yditem">
<view class="ydi-lab">
<text class="font-weight">女士针织棉上衣</text>
<text>实发: 300</text>
<text class="font-weight">{{item.goodsName}}</text>
<text>实发: {{item.cargoQty}}</text>
</view>
<view class="ydi-lab mt-10">
<text class="clr-sub">无 12L 中国内地</text>
<text class="clr-sub">{{item.nationArea}}</text>
<!-- <text>实入仓: 0</text> -->
</view>
<view class="ydi-lab mt-10">
<text class="clr-prm">12 CNY</text>
<text class="clr-prm">{{item.price}} CNY</text>
</view>
</view>
<view class="dt-item">
<view class="">
<view class="font-28">
<u-row justify="space-between">
<text>总件数:<text class="font-weight">10</text>件</text>
<text>总体积:<text class="font-weight">50</text>m³</text>
<text>总重量:<text class="font-weight">150</text>kg</text>
<text>总件数:<text class="font-weight">{{modelInfo.parcelQty}}</text>件</text>
<text>总体积:<text class="font-weight">{{modelInfo.totalVolume}}</text>m³</text>
<text>实际重量:<text class="font-weight">{{modelInfo.billWeight}}</text>kg</text>
</u-row>
</view>
<view class="font-28 mt-10">
<u-row justify="space-between">
<text>实际重量:<text class="font-weight">150</text>kg</text>
<text>总重量:<text class="font-weight">150</text>kg</text>
<text>体积重量:<text class="font-weight">150</text>kg</text>
<text class="pl-20">结算重量:<text class="font-weight">150</text>kg</text>
</u-row>
</view>
@ -34,7 +35,7 @@
<script>
export default {
computed: {
submitInfo: {
modelInfo: {
get(){
return this.value
}

View File

@ -1,13 +1,12 @@
<template>
<u-row>
<u-row justify="between">
<view>
<template v-if="!$slots.left">
<u-text :text="label" size="28" :bold="true"></u-text>
</template>
<slot name="left"></slot>
</view>
<u-row custom-style="flex: 1;" justify="end" align="center">
<u-row :custom-style="`min-width: ${rightWidth}rpx;`" justify="end" align="center">
<template v-if="!$slots.right">
<u-text align="right" margin="0 12rpx 0 0" size="26"
:text="title"></u-text>
@ -29,6 +28,11 @@
}
},
props: {
rightWidth:{
default() {
return 400
}
},
label: {
default () {
return ''

View File

@ -118,6 +118,7 @@ export const getOrderModels = () => {
// "ingredients": "成分",
// "goodsModel": "规格",
// "orderNum": "序号",
// "supplier": "供应商", //
// "isSave": "是否保存 1-保存"
// }
],

View File

@ -234,6 +234,9 @@
<view class="mt-30">
<bpe-good-kuaidi-tmp :value="tempObject.value"></bpe-good-kuaidi-tmp>
</view>
<view class="mt-30">
<bpe-goodsize-tmp :value="tempObject.value"></bpe-goodsize-tmp>
</view>
</buns-edit-sheet>
</template>
@ -247,12 +250,13 @@
import BpeGooditemEditTmp from "@/components/buns-post-edit-templates/bpe-gooditem-edit-tmp"
import BpeGoodphotoTmp from "@/components/buns-post-edit-templates/bpe-goodphoto-tmp"
import BpeGoodKuaidiTmp from "@/components/buns-post-edit-templates/bpe-good-kuaidi-tmp"
import BpeGoodsizeTmp from "@/components/buns-post-edit-templates/bpe-goodsize-tmp"
import * as apiService from "@/common/api"
import { getOrderModels } from "./model"
export default {
components: { BpeAddressinfoTmp, BpeGoodstaticTmp, BpeCostTmp, BpeGooditemEditTmp, BpeGoodphotoTmp, BpeGoodKuaidiTmp },
components: { BpeAddressinfoTmp, BpeGoodstaticTmp, BpeCostTmp, BpeGooditemEditTmp, BpeGoodphotoTmp, BpeGoodKuaidiTmp, BpeGoodsizeTmp },
props: {
// hasLeftWin: {
// type: Boolean