uu
This commit is contained in:
parent
66568dd165
commit
668ec23924
@ -1,272 +0,0 @@
|
||||
<template>
|
||||
<tpx-dialog :show="show" title="编辑货物信息" @onClose="handleCloseModal()">
|
||||
<view style="position: relative;height: calc(70vh);">
|
||||
<tpx-layout>
|
||||
<template v-slot:body>
|
||||
|
||||
<view class="dt-block">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section">热门物品</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="dt-block mt-10">
|
||||
<tpx-tags v-model:value="checkedGoodId" type="single" :list="hotGoods" @onChange="handleChooseGood"></tpx-tags>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="dt-block" style="margin-top: 50rpx;">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section">物品信息</view>
|
||||
<view>
|
||||
<!-- <u-button custom-style="font-size: 28rpx;height: 56rpx;border-radius: 16rpx;" plain="true" type="primary">选择历史</u-button> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="edm-input-item">
|
||||
<tpx-select v-model:value="checkedGoodId" v-model:resObject="goodsRes" :getListFun="getGoodsList" :transKeyVal="{valKey: 'goodsName',titleKey: 'goodsName'}"
|
||||
mode="drop" @onChange="handleChooseGood"
|
||||
>
|
||||
<u-input placeholder="物品名称" v-model="modelInfo.goodsName" font-size="26"
|
||||
custom-style="border-radius: 30rpx;padding: 10rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="物品数量">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.cargoQty" inputAlign="right" type="number" suffix="件"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
|
||||
</view>
|
||||
<bpe-gooditemsize-tmp v-model:value="modelInfo"></bpe-gooditemsize-tmp>
|
||||
|
||||
<view v-if="showMode!=1">
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="物品单价">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.price" inputAlign="right" _digit="5" suffix="CNY"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="原产地">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.nationArea" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="showMode!=1" class="dt-block" style="margin-top: 50rpx;">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section grey">其他信息(按需填写)</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="品牌">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.brand" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="材质">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.material" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="用途">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.purpose" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="成分">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.ingredients" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="供应商">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.supplier" inputAlign="right"></tpx-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" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
|
||||
<u-row justify="between">
|
||||
<text class="font-28 "></text>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius" style="margin-top: 0;margin-bottom: 0;">
|
||||
<u-button @click="handleSubmitValue()" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;"
|
||||
>确认</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</tpx-layout>
|
||||
</view>
|
||||
</tpx-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as apiService from "@/common/api"
|
||||
import { transListKeyTitle } from "@/common/util"
|
||||
import BpeGooditemsizeTmp from "@/components/buns-post-edit-templates/bpe-gooditemsize-tmp"
|
||||
export default {
|
||||
components: { BpeGooditemsizeTmp },
|
||||
computed: {
|
||||
dicData() {
|
||||
return this.$store.getters.dicData
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
show: {
|
||||
handler: function(cval, oval) {
|
||||
if(cval) {
|
||||
this.modelInfo = JSON.parse(JSON.stringify(this.value || {}))
|
||||
this.initData()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
show: {
|
||||
default () {
|
||||
return false
|
||||
}
|
||||
},
|
||||
value: {
|
||||
default () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
showMode: {
|
||||
default () {
|
||||
return '1' // 1 只显示商品名称、体积; 2:显示全部商品信息
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
modelInfo: {},
|
||||
goodsRes: { list: [] },
|
||||
checkedGoodId: '',
|
||||
hotGoods: [
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
},
|
||||
onHide() {
|
||||
|
||||
},
|
||||
unmounted() {},
|
||||
|
||||
methods: {
|
||||
getGoodsList: apiService.getGoodsList,
|
||||
|
||||
async initData() {
|
||||
this.checkedGoodId = ''
|
||||
let res = await apiService.getHotGoodsList({ customerCode: this.modelInfo.customerCode, pageSize: 5 })
|
||||
let list = res.rows || []
|
||||
// 截取前5个热门商品
|
||||
list.splice(5, list.length - 5)
|
||||
this.hotGoods = transListKeyTitle({ valKey: 'goodsCode',titleKey: 'goodsName', list })
|
||||
},
|
||||
handleCloseModal() {
|
||||
this.$emit('update:show', false)
|
||||
},
|
||||
handleSubmitValue() {
|
||||
this.$emit('onSure', this.modelInfo)
|
||||
this.$emit('update:value', this.modelInfo)
|
||||
this.handleCloseModal()
|
||||
},
|
||||
handleChooseGood(val) {
|
||||
const item = this.goodsRes.list.concat(this.hotGoods).filter(t=> t.val == val)[0]
|
||||
this.modelInfo = {
|
||||
...this.modelInfo,
|
||||
...item
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.shet-cont{
|
||||
padding: 10rpx 0 30rpx 0;
|
||||
}
|
||||
.dt-block {
|
||||
background-color: #FFF;
|
||||
position: relative;
|
||||
}
|
||||
.dt-tle {
|
||||
padding-bottom: 10rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
.t1 {
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
.t2{
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
.dt-cont{
|
||||
}
|
||||
.dt-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 20rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.yditem{
|
||||
padding: 20rpx 20rpx;
|
||||
background-color: #F6F6F6;
|
||||
border-radius: 10rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.ydi-lab{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.edm-input-item{
|
||||
padding: 8rpx 0;
|
||||
border-bottom: 2rpx solid #F6F6F6;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,259 @@
|
||||
<template>
|
||||
<view class="dt-block">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section">热门物品</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="dt-block mt-10">
|
||||
<tpx-tags v-model:value="checkedGoodId" type="single" :list="hotGoods" @onChange="handleChooseGood"></tpx-tags>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="dt-block" style="margin-top: 50rpx;">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section">物品信息</view>
|
||||
<view>
|
||||
<!-- <u-button custom-style="font-size: 28rpx;height: 56rpx;border-radius: 16rpx;" plain="true" type="primary">选择历史</u-button> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="edm-input-item">
|
||||
<tpx-select v-model:value="checkedGoodId" v-model:resObject="goodsRes" :getListFun="getGoodsList" :transKeyVal="{valKey: 'goodsName',titleKey: 'goodsName'}"
|
||||
mode="drop" @onChange="handleChooseGood"
|
||||
>
|
||||
<u-input placeholder="物品名称" v-model="modelInfo.goodsName" font-size="26"
|
||||
custom-style="border-radius: 30rpx;padding: 10rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="物品数量">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.cargoQty" inputAlign="right" type="number" suffix="件"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
|
||||
</view>
|
||||
<bpe-gooditemsize-tmp v-model:value="modelInfo"></bpe-gooditemsize-tmp>
|
||||
|
||||
<view v-if="showMode!=1">
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="物品单价">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.price" inputAlign="right" _digit="5" suffix="CNY"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="原产地">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.nationArea" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="showMode!=1" class="dt-block" style="margin-top: 50rpx;">
|
||||
<view class="dt-tle">
|
||||
<view class="com-section grey">其他信息(按需填写)</view>
|
||||
</view>
|
||||
<view class="dt-cont">
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="品牌">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.brand" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="材质">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.material" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="用途">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.purpose" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="成分">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.ingredients" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="供应商">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.supplier" inputAlign="right"></tpx-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" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
|
||||
<u-row justify="between">
|
||||
<text class="font-28 "></text>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as apiService from "@/common/api"
|
||||
import { transListKeyTitle } from "@/common/util"
|
||||
import BpeGooditemsizeTmp from "@/components/buns-post-edit-templates/bpe-gooditemsize-tmp"
|
||||
export default {
|
||||
components: { BpeGooditemsizeTmp },
|
||||
computed: {
|
||||
dicData() {
|
||||
return this.$store.getters.dicData
|
||||
},
|
||||
modelInfo: {
|
||||
get(){
|
||||
return this.value
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
show: {
|
||||
handler: function(cval, oval) {
|
||||
if(cval) {
|
||||
this.modelInfo = JSON.parse(JSON.stringify(this.value || {}))
|
||||
this.initData()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
show: {
|
||||
default () {
|
||||
return false
|
||||
}
|
||||
},
|
||||
value: {
|
||||
default () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
showMode: {
|
||||
default () {
|
||||
return '1' // 1 只显示商品名称、体积; 2:显示全部商品信息
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
goodsRes: { list: [] },
|
||||
checkedGoodId: '',
|
||||
hotGoods: [
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
},
|
||||
onHide() {
|
||||
|
||||
},
|
||||
unmounted() {},
|
||||
|
||||
methods: {
|
||||
getGoodsList: apiService.getGoodsList,
|
||||
|
||||
async initData() {
|
||||
this.checkedGoodId = ''
|
||||
let res = await apiService.getHotGoodsList({ customerCode: this.modelInfo.customerCode, pageSize: 5 })
|
||||
let list = res.rows || []
|
||||
// 截取前5个热门商品
|
||||
list.splice(5, list.length - 5)
|
||||
this.hotGoods = transListKeyTitle({ valKey: 'goodsCode',titleKey: 'goodsName', list })
|
||||
},
|
||||
handleCloseModal() {
|
||||
this.$emit('update:show', false)
|
||||
},
|
||||
handleSubmitValue() {
|
||||
this.$emit('onSure', this.modelInfo)
|
||||
this.$emit('update:value', this.modelInfo)
|
||||
this.handleCloseModal()
|
||||
},
|
||||
handleChooseGood(val) {
|
||||
const item = this.goodsRes.list.concat(this.hotGoods).filter(t=> t.val == val)[0]
|
||||
this.modelInfo = {
|
||||
...this.modelInfo,
|
||||
...item
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.shet-cont{
|
||||
padding: 10rpx 0 30rpx 0;
|
||||
}
|
||||
.dt-block {
|
||||
background-color: #FFF;
|
||||
position: relative;
|
||||
}
|
||||
.dt-tle {
|
||||
padding-bottom: 10rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
.t1 {
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
.t2{
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
.dt-cont{
|
||||
}
|
||||
.dt-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 20rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.yditem{
|
||||
padding: 20rpx 20rpx;
|
||||
background-color: #F6F6F6;
|
||||
border-radius: 10rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.ydi-lab{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.edm-input-item{
|
||||
padding: 8rpx 0;
|
||||
border-bottom: 2rpx solid #F6F6F6;
|
||||
}
|
||||
</style>
|
||||
@ -244,7 +244,6 @@
|
||||
</tpx-layout>
|
||||
|
||||
<buns-edit-sheet percentHeight="70" title="商品信息" v-model:show="goodChooseModal.show" v-model:value="submitParam" v-slot="tempObject" @onSure="handleGoodInfoSure">
|
||||
<view class="mb-20">托寄货物描述</view>
|
||||
<bpe-gooditem-edit-tmp :value="tempObject.value"></bpe-gooditem-edit-tmp>
|
||||
<view class="mt-30">
|
||||
<bpe-goodsize-tmp ref="goodSize" :value="tempObject.value"></bpe-goodsize-tmp>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user