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

View File

@ -11,7 +11,14 @@
<tpx-select v-model:value="modelInfo.prepareInExpress" :list="dicData.emis_express_code" <tpx-select v-model:value="modelInfo.prepareInExpress" :list="dicData.emis_express_code"
mode="drop" customInput="true" 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> </tpx-select>
</view> </view>
@ -38,11 +45,11 @@
<tpx-text-item label="代垫预估"> <tpx-text-item label="代垫预估">
<template v-slot:right> <template v-slot:right>
<u-input placeholder="" v-model="modelInfo.prepareInEstFee" inputAlign="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; " placeholder-style="color: #999; "
> >
<template #suffix> <template #suffix>
<text class="font-26 clr-sub pl-10">元</text> <text class="font-26 clr-sub pl-10">CNY</text>
</template> </template>
</u-input> </u-input>
</template> </template>

View File

@ -1,28 +1,28 @@
<template> <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"> <view class="ydi-lab">
<text @click="handleEditGood(item)" class="font-weight">女士针织棉上衣</text> <text @click="handleEditGood(item, index)" class="font-weight">{{item.goodsName}}</text>
<view> <view>
<u-icon @click="handleDelGood(index)" name="trash" size="32"></u-icon> <u-icon @click="handleDelGood(index)" name="trash" size="32"></u-icon>
</view> </view>
</view> </view>
<view class="ydi-lab mt-10"> <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"> <u-row justify="between">
<view class="clr-sub">无 12L 中国内地</view> <view class="clr-sub">{{item.nationArea}}</view>
<view><text class="clr-sub">预报</text> 21</view> <view><text class="clr-sub">预报</text> {{item.cargoQty}}</view>
</u-row> </u-row>
<view class="clr-prm pt-10">12 CNY</view> <view class="clr-prm pt-10">{{item.price}} CNY</view>
</view> </view>
</view> </view>
<view class="ydi-lab mt-10"> <view class="ydi-lab mt-10">
<u-row> <u-row>
<text class="pr-20 clr-prm">异常</text> <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>
<u-row> <u-row>
<text class="pr-20">实入仓</text> <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> </u-row>
</view> </view>
</view> </view>
@ -36,17 +36,20 @@
</u-row> </u-row>
</u-button> </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> </template>
<script> <script>
export default { export default {
computed: { computed: {
submitInfo: { modelInfo: {
get(){ get(){
return this.value return this.value
} }
},
dicData() {
return this.$store.getters.dicData
} }
}, },
props: { props: {
@ -60,7 +63,8 @@
return { return {
goodinfoModal:{ goodinfoModal:{
show: false, show: false,
value: {} value: {},
index: undefined
} }
} }
}, },
@ -74,10 +78,24 @@
}, },
methods: { methods: {
handleEditGood(item = {}) {
handleDelGood(index) {
this.modelInfo.cargoList.splice(index, 1)
},
handleEditGood(item = { nationArea: '中国' }, index) {
this.goodinfoModal.show = true this.goodinfoModal.show = true
this.goodinfoModal.value = item 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> </script>

View File

@ -1,12 +1,12 @@
<template> <template>
<view v-if="title" class="mb-20">{{title}}</view> <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> </template>
<script> <script>
export default { export default {
computed: { computed: {
submitInfo: { modelInfo: {
get(){ get(){
return this.value return this.value
} }

View File

@ -4,7 +4,7 @@
<u-row justify="between"> <u-row justify="between">
<text class="font-28">件数</text> <text class="font-28">件数</text>
<view> <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> </view>
</u-row> </u-row>
</view> </view>
@ -12,7 +12,7 @@
<u-row justify="between"> <u-row justify="between">
<text class="font-28">包裹重量</text> <text class="font-28">包裹重量</text>
<view> <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> </view>
</u-row> </u-row>
</view> </view>
@ -23,19 +23,17 @@
<view style="width: 70%;"> <view style="width: 70%;">
<u-row justify="between"> <u-row justify="between">
<u-col span="3.7"> <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>
<u-col span="3.7"> <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>
<u-col span="3.7"> <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-col>
</u-row> </u-row>
<u-row customStyle="margin: 20rpx 0 0 0;"> <u-row v-if="modelInfo.totalVolume" customStyle="margin: 20rpx 0 0 0;" justify="end">{{modelInfo.totalVolume}}m³</u-row>
<tpx-input v-model:value="submitInfo.pingfang" :isWhite="true" placeholder="" suffix="m³"></tpx-input>
</u-row>
</view> </view>
</u-row> </u-row>
</view> </view>
@ -45,7 +43,7 @@
<script> <script>
export default { export default {
computed: { computed: {
submitInfo: { modelInfo: {
get(){ get(){
return this.value return this.value
} }

View File

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

View File

@ -1,13 +1,12 @@
<template> <template>
<u-row> <u-row justify="between">
<view> <view>
<template v-if="!$slots.left"> <template v-if="!$slots.left">
<u-text :text="label" size="28" :bold="true"></u-text> <u-text :text="label" size="28" :bold="true"></u-text>
</template> </template>
<slot name="left"></slot> <slot name="left"></slot>
</view> </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"> <template v-if="!$slots.right">
<u-text align="right" margin="0 12rpx 0 0" size="26" <u-text align="right" margin="0 12rpx 0 0" size="26"
:text="title"></u-text> :text="title"></u-text>
@ -29,6 +28,11 @@
} }
}, },
props: { props: {
rightWidth:{
default() {
return 400
}
},
label: { label: {
default () { default () {
return '' return ''

View File

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

View File

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