uu
This commit is contained in:
parent
ffbb397cc6
commit
aef20b6618
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<view v-for="(item, index) in list" :style="itemStyle"
|
<view v-for="(item, index) in filDataList" :style="itemStyle"
|
||||||
@click="handleCheckBoxClick(item, index)"
|
@click="handleCheckBoxClick(item, index)"
|
||||||
>
|
>
|
||||||
<slot :item="item" :index="index" :checked="checkedVal.indexOf(item.val)>-1" :handleCheckFun="()=> { handleCheckBoxClick(item, index) }"
|
<slot :item="item" :index="index" :checked="checkedVal.indexOf(item.val)>-1" :handleCheckFun="()=> { handleCheckBoxClick(item, index) }"
|
||||||
@ -8,13 +8,27 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { transListKeyTitle } from "@/common/util"
|
||||||
|
|
||||||
const typeEnum = {
|
const typeEnum = {
|
||||||
single: 'single',
|
single: 'single',
|
||||||
multiple: 'multiple'
|
multiple: 'multiple'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const vdataTypeEnum = {
|
||||||
|
string: 'string',
|
||||||
|
array: 'array'
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
computed: {
|
computed: {
|
||||||
|
filDataList() {
|
||||||
|
let list = this.list || []
|
||||||
|
if(this.transKeyVal) {
|
||||||
|
list = transListKeyTitle({ ...this.transKeyVal, list: list })
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
},
|
||||||
checkedVal() {
|
checkedVal() {
|
||||||
let val = this.value
|
let val = this.value
|
||||||
let res = []
|
let res = []
|
||||||
@ -43,7 +57,17 @@
|
|||||||
},
|
},
|
||||||
value: {
|
value: {
|
||||||
default () {
|
default () {
|
||||||
return []
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
default () {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
vdataType: {
|
||||||
|
default () {
|
||||||
|
return vdataTypeEnum.string
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
minChecked: {
|
minChecked: {
|
||||||
@ -60,7 +84,16 @@
|
|||||||
default () {
|
default () {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
transKeyVal: {
|
||||||
|
default () {
|
||||||
|
return null
|
||||||
|
// {
|
||||||
|
// // valKey: '',
|
||||||
|
// // titleKey: ''
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -99,17 +132,21 @@
|
|||||||
},
|
},
|
||||||
changeTabCheck(checkedVal) {
|
changeTabCheck(checkedVal) {
|
||||||
let value = checkedVal
|
let value = checkedVal
|
||||||
let allList = this.list.concat(this.checkedList)
|
let allList = this.filDataList.concat(this.checkedList)
|
||||||
let checkedList = []
|
let checkedList = []
|
||||||
checkedVal.map(val=> {
|
checkedVal.map(val=> {
|
||||||
let item = allList.filter(t=> t.val == val)[0]
|
let item = allList.filter(t=> t.val == val)[0]
|
||||||
checkedList.push(item)
|
checkedList.push(item)
|
||||||
})
|
})
|
||||||
if (this.type == typeEnum.single) {
|
let text = checkedList.map(t=> t.title)
|
||||||
value = checkedVal[0]
|
if(this.vdataType == vdataTypeEnum.string) {
|
||||||
|
value = value.join(',')
|
||||||
|
text = text.join(',')
|
||||||
}
|
}
|
||||||
this.$emit('onChange', value, checkedList)
|
this.$emit('onChange', value, text, checkedList)
|
||||||
this.$emit('update:value', value)
|
this.$emit('update:value', value)
|
||||||
|
this.$emit('update:text', text)
|
||||||
|
this.$emit('update:checkedList', checkedList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="">
|
<view class="">
|
||||||
<tpx-checkitems :list="list" :value="value" v-slot="dlCurrent" :min-checked="minChecked" :type="type"
|
<tpx-checkitems :list="list" :value="value" :text="text" :vdataType="vdataType"
|
||||||
|
:transKeyVal="transKeyVal"
|
||||||
|
v-slot="dlCurrent" :min-checked="minChecked" :type="type"
|
||||||
:checkedList="checkedList" @onChange="handleDataItemChange"
|
:checkedList="checkedList" @onChange="handleDataItemChange"
|
||||||
>
|
>
|
||||||
<view slot :class="`slt-item ${dlCurrent.checked?'active':''}`">
|
<view slot :class="`slt-item ${dlCurrent.checked?'active':''}`">
|
||||||
@ -59,7 +61,26 @@
|
|||||||
default () {
|
default () {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
text: {
|
||||||
|
default () {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
vdataType: {
|
||||||
|
default () {
|
||||||
|
return 'string'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
transKeyVal: {
|
||||||
|
default () {
|
||||||
|
return null
|
||||||
|
// {
|
||||||
|
// // valKey: '',
|
||||||
|
// // titleKey: ''
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -74,9 +95,10 @@
|
|||||||
unmounted() {},
|
unmounted() {},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
handleDataItemChange(val, checkedList) {
|
handleDataItemChange(value, text, checkedList) {
|
||||||
this.$emit('onChange', val, checkedList)
|
this.$emit('onChange', value, text, checkedList)
|
||||||
this.$emit('update:value', val)
|
this.$emit('update:value', value)
|
||||||
|
this.$emit('update:text', text)
|
||||||
this.$emit('update:checkedList', checkedList)
|
this.$emit('update:checkedList', checkedList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,14 +15,7 @@
|
|||||||
export default {
|
export default {
|
||||||
computed: {
|
computed: {
|
||||||
leftText() {
|
leftText() {
|
||||||
let str = ''
|
let str = this.text || ''
|
||||||
if (this.value) {
|
|
||||||
const curItem = this.list.filter(item => item.val == this.value)[0] || {}
|
|
||||||
curItem.title && (str = curItem.title)
|
|
||||||
}
|
|
||||||
if(!str && Array.isArray(this.checkedList)) {
|
|
||||||
str = this.checkedList.map(t=> t.title).join(',')
|
|
||||||
}
|
|
||||||
if(!str) {
|
if(!str) {
|
||||||
str = this.placeholder
|
str = this.placeholder
|
||||||
}
|
}
|
||||||
@ -62,21 +55,11 @@
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
value: {
|
text: {
|
||||||
default () {
|
default () {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
list: {
|
|
||||||
default () {
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
checkedList: {
|
|
||||||
default () {
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
72
components/tpx-select/default-select-text.vue
Normal file
72
components/tpx-select/default-select-text.vue
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<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="`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>
|
||||||
|
<template v-if="!$slots.rightRcon">
|
||||||
|
<u-icon v-if="list || checkedList" size="26" name="arrow-right" color="#333"></u-icon>
|
||||||
|
</template>
|
||||||
|
<slot name="rightRcon"></slot>
|
||||||
|
</template>
|
||||||
|
<slot name="right"></slot>
|
||||||
|
</u-row>
|
||||||
|
</u-row>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
computed: {
|
||||||
|
title() {
|
||||||
|
let title = this.text || this.placeholder
|
||||||
|
return title
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
rightWidth:{
|
||||||
|
default() {
|
||||||
|
return 400
|
||||||
|
}
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
default () {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
placeholder: {
|
||||||
|
default () {
|
||||||
|
return '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
unmounted() {},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -2,9 +2,12 @@
|
|||||||
<view @click.stop="handleRootClick" class="" style="position: relative;">
|
<view @click.stop="handleRootClick" class="" style="position: relative;">
|
||||||
<view @click="handleSelectSwitch">
|
<view @click="handleSelectSwitch">
|
||||||
<slot v-if="$slots.default"></slot>
|
<slot v-if="$slots.default"></slot>
|
||||||
<default-select-input v-else :placeholder="placeholder" :show="show" :list="filDataList" :value="value" :isWhite="isWhite"
|
<template v-else>
|
||||||
:checkedList="filDatacheckedList" :customStyle="customStyle"
|
<default-select-input v-if="selectTextType == 'input'" :placeholder="placeholder" :show="show"
|
||||||
></default-select-input>
|
:isWhite="isWhite" :text="text" :customStyle="customStyle"
|
||||||
|
></default-select-input>
|
||||||
|
<DefaultSelectText v-if="selectTextType == 'text'"></DefaultSelectText>
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="mode == modeEnum.sheet">
|
<view v-if="mode == modeEnum.sheet">
|
||||||
@ -12,6 +15,7 @@
|
|||||||
<view style="height: calc(60vh);">
|
<view style="height: calc(60vh);">
|
||||||
<tpx-scroll-view :resObject="filResObject" :searchParam="searchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
<tpx-scroll-view :resObject="filResObject" :searchParam="searchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
||||||
<content-items :value="value" :list="filDataList" :checkedList="filDatacheckedList" :minChecked="minChecked" :type="type"
|
<content-items :value="value" :list="filDataList" :checkedList="filDatacheckedList" :minChecked="minChecked" :type="type"
|
||||||
|
:text="text" :vdataType="vdataType" :transKeyVal="transKeyVal"
|
||||||
@onChange="handleDataItemChange"
|
@onChange="handleDataItemChange"
|
||||||
></content-items>
|
></content-items>
|
||||||
</tpx-scroll-view>
|
</tpx-scroll-view>
|
||||||
@ -23,6 +27,7 @@
|
|||||||
<view v-if="mode == modeEnum.drop && show" class="md-drop-cont">
|
<view v-if="mode == modeEnum.drop && show" class="md-drop-cont">
|
||||||
<tpx-scroll-view :maxHeight="dropMaxHeight" :resObject="filResObject" :searchParam="searchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
<tpx-scroll-view :maxHeight="dropMaxHeight" :resObject="filResObject" :searchParam="searchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
||||||
<content-items :value="value" :list="filDataList" :minChecked="minChecked" :type="type"
|
<content-items :value="value" :list="filDataList" :minChecked="minChecked" :type="type"
|
||||||
|
:text="text" :vdataType="vdataType" :transKeyVal="transKeyVal"
|
||||||
@onChange="handleDataItemChange"
|
@onChange="handleDataItemChange"
|
||||||
></content-items>
|
></content-items>
|
||||||
</tpx-scroll-view>
|
</tpx-scroll-view>
|
||||||
@ -34,6 +39,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import ContentItems from "./content-items"
|
import ContentItems from "./content-items"
|
||||||
import DefaultSelectInput from "./default-select-input"
|
import DefaultSelectInput from "./default-select-input"
|
||||||
|
import DefaultSelectText from "./default-select-text"
|
||||||
import { transListKeyTitle } from "@/common/util"
|
import { transListKeyTitle } from "@/common/util"
|
||||||
import { pageEventNames } from "@/common/enum"
|
import { pageEventNames } from "@/common/enum"
|
||||||
|
|
||||||
@ -66,7 +72,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
ContentItems, DefaultSelectInput
|
ContentItems, DefaultSelectInput, DefaultSelectText
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
isWhite: {
|
isWhite: {
|
||||||
@ -146,11 +152,26 @@
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
text: {
|
||||||
|
default () {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
vdataType: {
|
||||||
|
default () {
|
||||||
|
return 'string' // string | array
|
||||||
|
}
|
||||||
|
},
|
||||||
disabled: {
|
disabled: {
|
||||||
default () {
|
default () {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
selectTextType: {
|
||||||
|
default () {
|
||||||
|
return 'input' // 选择框样式 input | text
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -186,9 +207,10 @@
|
|||||||
// this.$emit('update:show', !this.show)
|
// this.$emit('update:show', !this.show)
|
||||||
this.show = !this.show
|
this.show = !this.show
|
||||||
},
|
},
|
||||||
handleDataItemChange(val, checkedList) {
|
handleDataItemChange(val, text, checkedList) {
|
||||||
this.$emit('onChange', val, checkedList)
|
this.$emit('onChange', val, text, checkedList)
|
||||||
this.$emit('update:value', val)
|
this.$emit('update:value', val)
|
||||||
|
this.$emit('update:text', text)
|
||||||
this.$emit('update:checkedList', checkedList)
|
this.$emit('update:checkedList', checkedList)
|
||||||
if(this.resObject) {
|
if(this.resObject) {
|
||||||
this.$emit('update:resObject', {
|
this.$emit('update:resObject', {
|
||||||
|
|||||||
@ -1,136 +1,148 @@
|
|||||||
export const getOrderModels = () => {
|
export const getOrderModels = () => {
|
||||||
return {
|
return {
|
||||||
"reciever": { // 收件人信息
|
reciever: { // 收件人信息
|
||||||
"country": undefined,
|
country: undefined,
|
||||||
"name": "",
|
name: '',
|
||||||
"phone": undefined,
|
phone: undefined,
|
||||||
"province": undefined,
|
province: undefined,
|
||||||
"city": undefined,
|
city: undefined,
|
||||||
"district": undefined,
|
district: undefined,
|
||||||
"town": undefined,
|
town: undefined,
|
||||||
"address": undefined,
|
address: undefined,
|
||||||
"postCode": undefined,
|
postCode: undefined,
|
||||||
"email": undefined,
|
email: undefined,
|
||||||
"company": undefined
|
company: undefined
|
||||||
},
|
},
|
||||||
"sender": { // 发件人信息
|
sender: { // 发件人信息
|
||||||
"country": undefined,
|
country: undefined,
|
||||||
"name": "",
|
name: '',
|
||||||
"phone": undefined,
|
phone: undefined,
|
||||||
"province": undefined,
|
province: undefined,
|
||||||
"city": undefined,
|
city: undefined,
|
||||||
"district": undefined,
|
district: undefined,
|
||||||
"town": undefined,
|
town: undefined,
|
||||||
"address": undefined,
|
address: undefined,
|
||||||
"postCode": undefined,
|
postCode: undefined,
|
||||||
"email": undefined,
|
email: undefined,
|
||||||
"company": undefined
|
company: undefined
|
||||||
},
|
},
|
||||||
"custOrderId": undefined, // 客户单号
|
custOrderId: undefined, // 客户单号
|
||||||
"billCode": "", // 运单号
|
billCode: '', // 运单号
|
||||||
"billCodeSub": undefined, // 子单号
|
billCodeSub: undefined, // 子单号
|
||||||
"orderDate": undefined,
|
orderDate: undefined,
|
||||||
"userId": '',
|
userId: '',
|
||||||
"openId": undefined,
|
openId: undefined,
|
||||||
"paymentType": undefined, // 付款方式
|
paymentType: undefined, // 付款方式
|
||||||
"calcFeeType": "1", // 计费方式
|
calcFeeType: 1, // 计费方式
|
||||||
"custNo": undefined, // 月结账号
|
custNo: undefined, // 月结账号
|
||||||
"transLine": '', // 路线
|
transLine: '', // 路线
|
||||||
"productType": undefined, // 产品
|
productType: undefined, // 产品
|
||||||
"customsClear": undefined, // 清关方式
|
customsClear: undefined, // 清关方式
|
||||||
"customsEclaration": undefined, // 报关方式
|
customsEclaration: undefined, // 报关方式
|
||||||
"packType": undefined, // 包装类型
|
packType: undefined, // 包装类型
|
||||||
"dispatchMethod": undefined, // 派送方式
|
dispatchMethod: undefined, // 派送方式
|
||||||
"pickupMethod": undefined, // 取件方式
|
pickupMethod: undefined, // 取件方式
|
||||||
"pickStartDate": undefined,
|
pickStartDate: undefined,
|
||||||
"pickFinishDate": undefined,
|
pickFinishDate: undefined,
|
||||||
"intoWarehouseCode": undefined,
|
intoWarehouseCode: undefined,
|
||||||
"intoWarehouseName": undefined,
|
intoWarehouseName: undefined,
|
||||||
"intoWarehouseAddress": undefined,
|
intoWarehouseAddress: undefined,
|
||||||
"intoWarehouseContact": undefined,
|
intoWarehouseContact: undefined,
|
||||||
"intoWarehousePhone": undefined,
|
intoWarehousePhone: undefined,
|
||||||
"intoWarehouseBillCode": undefined,
|
intoWarehouseBillCode: undefined,
|
||||||
"customerDeliveryBeginTime": undefined,
|
customerDeliveryBeginTime: undefined,
|
||||||
"goodsType": undefined,
|
goodsType: undefined,
|
||||||
"goodsInfo": undefined,
|
goodsInfo: undefined,
|
||||||
"totalWeight": undefined, // 总重量 = 结算重量
|
totalWeight: undefined, // 总重量 = 结算重量
|
||||||
"totalVolume": undefined, // 总体积
|
totalVolume: undefined, // 总体积
|
||||||
"parcelQty": 1, // 总件数
|
parcelQty: 1, // 总件数
|
||||||
"billWeight": undefined, // 实际重量
|
billWeight: undefined, // 实际重量
|
||||||
"volumeWeight": undefined, // 体积重量 = 实际体积(立方厘米)*(1000000/泡重比) (长宽高都是按 cm 来计量的 )
|
volumeWeight: undefined, // 体积重量 = 实际体积(立方厘米)*(1000000/泡重比) (长宽高都是按 cm 来计量的 )
|
||||||
"currency": undefined,
|
currency: undefined,
|
||||||
"settlementWeight": undefined, // 结算重量
|
settlementWeight: undefined, // 结算重量
|
||||||
"feeWeight": undefined,
|
feeWeight: undefined,
|
||||||
"blOverLong": undefined,
|
blOverLong: undefined,
|
||||||
"blOverWeight": undefined,
|
blOverWeight: undefined,
|
||||||
"overWeightNumber": undefined,
|
overWeightNumber: undefined,
|
||||||
"feeRemaker": undefined, // 付款方式-其他-备注
|
feeRemaker: undefined, // 付款方式-其他-备注
|
||||||
"realValue": undefined,
|
realValue: undefined,
|
||||||
"blDispFd": undefined,
|
blDispFd: undefined,
|
||||||
"transferCode": undefined,
|
transferCode: undefined,
|
||||||
"transferBillcode": undefined,
|
transferBillcode: undefined,
|
||||||
"dispFdDate": undefined,
|
dispFdDate: undefined,
|
||||||
"takePieceEmployeeCode": undefined, // 收派员
|
takePieceEmployeeCode: undefined, // 收派员
|
||||||
"sendSiteCode": undefined, // 发件站点 -- 当前登录账号的siteCode
|
sendSiteCode: undefined, // 发件站点 -- 当前登录账号的siteCode
|
||||||
"destinationCode": undefined, // 目的地 code
|
destinationCode: undefined, // 目的地 code
|
||||||
"destinationProvince": undefined,
|
destinationProvince: undefined,
|
||||||
"destinationCity": undefined,
|
destinationCity: undefined,
|
||||||
"destinationCounty": undefined,
|
destinationCounty: undefined,
|
||||||
"dispatchUnderlingSiteCode": undefined, // 目的网点 - code
|
dispatchUnderlingSiteCode: undefined, // 目的网点 - code
|
||||||
"dispatchUnderlingSite": undefined, // 目的网点 - 名称
|
dispatchUnderlingSiteName: undefined, // 目的网点 - 名称
|
||||||
"destinationCenterCode": undefined,
|
destinationCenterCode: undefined,
|
||||||
"marketManCode": undefined,
|
marketManCode: undefined,
|
||||||
"payee": undefined, // 回款联系人
|
payee: undefined, // 回款联系人
|
||||||
"salesmen": undefined, // 销售员
|
salesmen: undefined, // 销售员
|
||||||
"operateEmployeeCode": undefined, // 操作员
|
operateEmployeeCode: undefined, // 操作员
|
||||||
"blMessage": '1', // 寄件 短信开关
|
blMessage: '1', // 寄件 短信开关
|
||||||
"blAcceptMessage": '1', // 签收 短信开关
|
blAcceptMessage: '1', // 签收 短信开关
|
||||||
"remark": undefined, // 备注
|
remark: undefined, // 备注
|
||||||
"customerCode": undefined, // 客户code
|
customerCode: undefined, // 客户code
|
||||||
"feeItems": [ // 计费信息
|
feeItems: [ // 计费信息
|
||||||
// {
|
// {
|
||||||
// "feeCode": "费用类型 eg:1001",
|
// feeCode: 费用类型 eg:1001,
|
||||||
// "feeName": "费用名称:保险费",
|
// feeName: 费用名称:保险费,
|
||||||
// "fee": 10,
|
// fee: 10,
|
||||||
// "currency": "币种 CNY",
|
// currency: 币种 CNY,
|
||||||
// "quoteId": "报价ID",
|
// quoteId: 报价ID,
|
||||||
// "orderNum": "序号: 1",
|
// orderNum: 序号: 1,
|
||||||
// "calcExp": "计算公式",
|
// calcExp: 计算公式,
|
||||||
// "addWeight": "续重",
|
// addWeight: 续重,
|
||||||
// "remark": "费用条码描述"
|
// remark: 费用条码描述
|
||||||
// }
|
// }
|
||||||
],
|
],
|
||||||
"freight": undefined, // 计费总计
|
freight: undefined, // 计费总计
|
||||||
"cargoList": [ // 货物列表
|
cargoList: [ // 货物列表
|
||||||
// {
|
// {
|
||||||
// "goodsCode": "货物代码:eg 123",
|
// goodsCode: 货物代码:eg 123,
|
||||||
// "goodsName": "货物名称",
|
// goodsName: 货物名称,
|
||||||
// "cargoQty": "货物数量: 10",
|
// cargoQty: 货物数量: 10,
|
||||||
// "unit": "件",
|
// unit: 件,
|
||||||
// "price": "1.2",
|
// price: 1.2,
|
||||||
// "currency": "CNY",
|
// currency: CNY,
|
||||||
// "nationArea": "中国",
|
// nationArea: 中国,
|
||||||
// "taxNo": "行邮税号",
|
// taxNo: 行邮税号,
|
||||||
// "hscode": "海关编码",
|
// hscode: 海关编码,
|
||||||
// "brand": "品牌",
|
// brand: 品牌,
|
||||||
// "material": "材质",
|
// material: 材质,
|
||||||
// "purpose": "用途",
|
// purpose: 用途,
|
||||||
// "ingredients": "成分",
|
// ingredients: 成分,
|
||||||
// "goodsModel": "规格",
|
// goodsModel: 规格,
|
||||||
// "orderNum": "序号",
|
// orderNum: 序号,
|
||||||
// "supplier": "供应商", //
|
// supplier: 供应商, //
|
||||||
// "abnormalQty": "异常数量", //
|
// abnormalQty: 异常数量, //
|
||||||
// "isSave": "是否保存 1-保存"
|
// isSave: 是否保存 1-保存
|
||||||
// }
|
// }
|
||||||
],
|
],
|
||||||
"blPrepareInFreight": 0, // 是否入仓代垫运费 1-是 0-否
|
blPrepareInFreight: 0, // 是否入仓代垫运费 1-是 0-否
|
||||||
"prepareInEstFee": undefined, // 入仓代垫运费
|
prepareInEstFee: undefined, // 入仓代垫运费
|
||||||
"prepareInRealFee": undefined, // 代垫实际运费
|
prepareInRealFee: undefined, // 代垫实际运费
|
||||||
"prepareInExpress": undefined, // 快递公司
|
prepareInExpress: undefined, // 快递公司
|
||||||
"prepareInBillCode": undefined, // 快递单号
|
prepareInBillCode: undefined, // 快递单号
|
||||||
"prepareInRemark": undefined, // 预入仓自定义标识
|
prepareInRemark: undefined, // 预入仓自定义标识
|
||||||
"prepareInSupplier": undefined, // 预入仓供应商
|
prepareInSupplier: undefined, // 预入仓供应商
|
||||||
"warehouseInNo": [], // 进仓单号
|
warehouseInNo: [], // 进仓单号
|
||||||
"goodsPics": [], // 货物图片
|
goodsPics: [], // 货物图片
|
||||||
|
customerName: '', // 客户名称
|
||||||
|
transLineTypeName: '', // 线路名称
|
||||||
|
productTypeName: '', // 产品类型名称
|
||||||
|
operateEmployeeName: '', // 操作员名称
|
||||||
|
takePieceEmployeeName: '', // 收件员名称
|
||||||
|
dispatchManName: '', // 派件员名称
|
||||||
|
dispatchSiteName: '', // 派件网点名称
|
||||||
|
customerName: '', // 月结账户名称
|
||||||
|
salesmen: '', // 销售联系人名称
|
||||||
|
payee: '', // 回款联系人名称
|
||||||
|
sendSiteName: '', // 发件网点名称
|
||||||
|
destinationName: '', // 目的地名称
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<!-- <u-row justify="between" custom-style="margin-top:20rpx;">
|
<!-- <u-row justify="between" custom-style="margin-top:20rpx;">
|
||||||
<view style="width: 130rpx;">客户</view>
|
<view style="width: 130rpx;">客户</view>
|
||||||
<view style="flex:1;">
|
<view style="flex:1;">
|
||||||
<tpx-select v-model:resObject="kehuRes" :getListFun="getCustomerUserList" :transKeyVal="{valKey: 'customerCode',titleKey: 'customerName'}" v-model:value="submitParam.customerCode" :isWhite="true" placeholder="请选择客户"></tpx-select>
|
<tpx-select v-model:resObject="kehuRes" v-model:text="submitParam.customerName" :getListFun="getCustomerUserList" :transKeyVal="{valKey: 'monthlyPayCode',titleKey: 'company'}" v-model:value="submitParam.customerCode" :isWhite="true" placeholder="请选择客户"></tpx-select>
|
||||||
</view>
|
</view>
|
||||||
</u-row> -->
|
</u-row> -->
|
||||||
</view>
|
</view>
|
||||||
@ -40,20 +40,21 @@
|
|||||||
<view>
|
<view>
|
||||||
<template v-if="submitParam.reciever.country && submitParam.sender.country">
|
<template v-if="submitParam.reciever.country && submitParam.sender.country">
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.transLine" v-model:resObject="wayRes" :getListFun="getTransLineList" :transKeyVal="{valKey: 'lineCode',titleKey: 'lineName'}"
|
<tpx-select v-model:value="submitParam.transLine" v-model:text="submitParam.transLineTypeName" v-model:resObject="wayRes"
|
||||||
|
:getListFun="getTransLineList" :transKeyVal="{valKey: 'lineCode',titleKey: 'lineName'}"
|
||||||
:searchParam="waySearchParam" @onChange="handleWayChange" placeholder="请选择路线"
|
:searchParam="waySearchParam" @onChange="handleWayChange" placeholder="请选择路线"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="线路" :checkedList="wayRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="路线" :value="submitParam.transLineTypeName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="submitParam.transLine">
|
<template v-if="submitParam.transLine">
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.productType" v-model:resObject="productRes" :getListFun="getTransProductList" :transKeyVal="{valKey: 'prodCode',titleKey: 'prodName'}" :isWhite="true"
|
<tpx-select v-model:value="submitParam.productType" v-model:text="submitParam.productTypeName" v-model:resObject="productRes" :getListFun="getTransProductList" :transKeyVal="{valKey: 'prodCode',titleKey: 'prodName'}" :isWhite="true"
|
||||||
:searchParam="productSearchParam" placeholder="请选择产品类型"
|
:searchParam="productSearchParam" placeholder="请选择产品类型"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="产品类型" :checkedList="productRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="产品类型" :value="submitParam.productTypeName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -83,14 +84,14 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-show="submitParam.pickupMethod == 1" class="yunf-input-item">
|
<view v-show="submitParam.pickupMethod == 1" class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.operateEmployeeCode" v-model:resObject="caozuoRes" :getListFun="getOpStaffList" :transKeyVal="{valKey: 'empCode',titleKey: 'empName'}" placeholder="请选择操作员">
|
<tpx-select v-model:value="submitParam.operateEmployeeCode" v-model:resObject="caozuoRes" v-model:text="submitParam.operateEmployeeName" :getListFun="getOpStaffList" :transKeyVal="{valKey: 'empCode',titleKey: 'empName'}" placeholder="请选择操作员">
|
||||||
<tpx-text-item label="操作员" :checkedList="caozuoRes.checkedList" ></tpx-text-item>
|
<tpx-text-item label="操作员" :value="submitParam.operateEmployeeName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-show="submitParam.pickupMethod == 2" class="yunf-input-item">
|
<view v-show="submitParam.pickupMethod == 2" class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.takePieceEmployeeCode" v-model:resObject="shoupaiRes" :getListFun="getRSDStaffList" :transKeyVal="{valKey: 'empCode',titleKey: 'empName'}" placeholder="请选择收派员">
|
<tpx-select v-model:value="submitParam.takePieceEmployeeCode" v-model:resObject="shoupaiRes" v-model:text="submitParam.takePieceEmployeeName" :getListFun="getRSDStaffList" :transKeyVal="{valKey: 'empCode',titleKey: 'empName'}" placeholder="请选择收派员">
|
||||||
<tpx-text-item label="收派员" :checkedList="shoupaiRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="收派员" :value="submitParam.takePieceEmployeeName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -103,10 +104,10 @@
|
|||||||
</view>
|
</view>
|
||||||
<template v-if="isShowYueJie">
|
<template v-if="isShowYueJie">
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.custNo" v-model:resObject="yuejieRes" :getListFun="getMonthpayAccountList" :transKeyVal="{valKey: 'custNo',titleKey: 'custName'}"
|
<tpx-select v-model:value="submitParam.custNo" v-model:text="submitParam.customerName" v-model:resObject="yuejieRes" :getListFun="getMonthpayAccountList" :transKeyVal="{valKey: 'custNo',titleKey: 'custName'}"
|
||||||
@onChange="handleYueJieSelect" placeholder="请选择月结账户"
|
@onChange="handleYueJieSelect" placeholder="请选择月结账户"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="月结账户" :checkedList="yuejieRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="月结账户" :value="submitParam.customerName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
<template v-if="submitParam.custNo">
|
<template v-if="submitParam.custNo">
|
||||||
@ -118,20 +119,20 @@
|
|||||||
|
|
||||||
<template v-if="submitParam.paymentType">
|
<template v-if="submitParam.paymentType">
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.salesmen" v-model:resObject="salemanRes" :getListFun="getSalemanList" :transKeyVal="{valKey: 'empName',titleKey: 'empName'}"
|
<tpx-select v-model:value="submitParam.salesmen" v-model:text="submitParam.salesmen" v-model:resObject="salemanRes" :getListFun="getSalemanList" :transKeyVal="{valKey: 'empName',titleKey: 'empName'}"
|
||||||
placeholder="请选择销售联系人" :disabled="isShowYueJie"
|
placeholder="请选择销售联系人" :disabled="isShowYueJie"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="销售联系人" :checkedList="salemanRes.checkedList">
|
<tpx-text-item label="销售联系人" :value="submitParam.salesmen">
|
||||||
<template v-if="isShowYueJie" v-slot:rightRcon></template>
|
<template v-if="isShowYueJie" v-slot:rightRcon></template>
|
||||||
</tpx-text-item>
|
</tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.payee" v-model:resObject="paybeeRes" :getListFun="getPayeeList" :transKeyVal="{valKey: 'empName',titleKey: 'empName'}"
|
<tpx-select v-model:value="submitParam.payee" v-model:text="submitParam.payee" v-model:resObject="paybeeRes" :getListFun="getPayeeList" :transKeyVal="{valKey: 'empName',titleKey: 'empName'}"
|
||||||
placeholder="请选择回款联系人" :disabled="isShowYueJie"
|
placeholder="请选择回款联系人" :disabled="isShowYueJie"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="回款联系人" :checkedList="paybeeRes.checkedList">
|
<tpx-text-item label="回款联系人" :value="submitParam.payee">
|
||||||
<template v-if="isShowYueJie" v-slot:rightRcon></template>
|
<template v-if="isShowYueJie" v-slot:rightRcon></template>
|
||||||
</tpx-text-item>
|
</tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
@ -139,22 +140,22 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<view v-if="submitParam.transLine" class="yunf-input-item">
|
<view v-if="submitParam.transLine" class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.destinationCode" v-model:resObject="destPostRes" :getListFun="getDestPositionList" :transKeyVal="{valKey: 'destCode',titleKey: 'destName'}" :isWhite="true"
|
<tpx-select v-model:value="submitParam.destinationCode" v-model:text="submitParam.destinationName" v-model:resObject="destPostRes" :getListFun="getDestPositionList" :transKeyVal="{valKey: 'destCode',titleKey: 'destName'}" :isWhite="true"
|
||||||
:searchParam="destPostParam" @onChange="handleDestPostChange" placeholder="请选择目的地"
|
:searchParam="destPostParam" @onChange="handleDestPostChange" placeholder="请选择目的地"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="目的地" :checkedList="destPostRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="目的地" :value="submitParam.destinationName"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="submitParam.destinationCode" class="yunf-input-item">
|
<view v-if="submitParam.destinationCode" class="yunf-input-item">
|
||||||
<tpx-text-item label="目的网点" :value="submitParam.dispatchUnderlingSite"></tpx-text-item>
|
<tpx-text-item label="目的网点" :value="submitParam.dispatchUnderlingSiteName"></tpx-text-item>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="yunf-input-item">
|
<view class="yunf-input-item">
|
||||||
<tpx-select v-model:value="submitParam.warehouseInNo" v-model:resObject="wareRes" :getListFun="getWarehouseInList" :transKeyVal="{valKey: 'inNo',titleKey: 'inNo'}" :isWhite="true"
|
<tpx-select v-model:value="submitParam.warehouseInNo" v-model:resObject="wareRes" :getListFun="getWarehouseInList" :transKeyVal="{valKey: 'inNo',titleKey: 'inNo'}" :isWhite="true"
|
||||||
searchParam="" type="multiple" placeholder="请选择进仓单" minChecked="0"
|
searchParam="" type="multiple" placeholder="请选择进仓单" minChecked="0"
|
||||||
>
|
>
|
||||||
<tpx-text-item label="进仓单" :checkedList="wareRes.checkedList"></tpx-text-item>
|
<tpx-text-item label="进仓单" :value="submitParam.warehouseInNo"></tpx-text-item>
|
||||||
</tpx-select>
|
</tpx-select>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -331,16 +332,16 @@
|
|||||||
billCode: '', // 运单id
|
billCode: '', // 运单id
|
||||||
orderSn: '', // 订单id
|
orderSn: '', // 订单id
|
||||||
},
|
},
|
||||||
kehuRes: { list: [], checkedList: [] },
|
kehuRes: { list: [] },
|
||||||
wayRes: { list: [], checkedList: [] },
|
wayRes: { list: [] },
|
||||||
productRes: { list: [], checkedList: [] },
|
productRes: { list: [] },
|
||||||
caozuoRes: { list: [], checkedList: [] },
|
caozuoRes: { list: [] },
|
||||||
shoupaiRes: { list: [], checkedList: [] },
|
shoupaiRes: { list: [] },
|
||||||
yuejieRes: { list: [], checkedList: [] },
|
yuejieRes: { list: [] },
|
||||||
destPostRes: { list: [], checkedList: [] },
|
destPostRes: { list: [] },
|
||||||
wareRes: { list: [], checkedList: [] },
|
wareRes: { list: [] },
|
||||||
paybeeRes: { list: [], checkedList: [] },
|
paybeeRes: { list: [] },
|
||||||
salemanRes: { list: [], checkedList: [] },
|
salemanRes: { list: [] },
|
||||||
goodChooseModal: {
|
goodChooseModal: {
|
||||||
show: false,
|
show: false,
|
||||||
},
|
},
|
||||||
@ -365,7 +366,6 @@
|
|||||||
if(this.isEdit) {
|
if(this.isEdit) {
|
||||||
let res = await apiService.getOrderDetail({...this.queryOption, _loading: true})
|
let res = await apiService.getOrderDetail({...this.queryOption, _loading: true})
|
||||||
let data = res.data || {}
|
let data = res.data || {}
|
||||||
data.warehouseInNo = (data.warehouseInNo && data.warehouseInNo.split(",")) || []
|
|
||||||
data.goodsPics = (data.goodsPics && data.goodsPics.split(",")) || []
|
data.goodsPics = (data.goodsPics && data.goodsPics.split(",")) || []
|
||||||
this.submitParam = res.data
|
this.submitParam = res.data
|
||||||
}
|
}
|
||||||
@ -389,31 +389,28 @@
|
|||||||
let { wayRes, submitParam } = this.getDefaultData()
|
let { wayRes, submitParam } = this.getDefaultData()
|
||||||
if(this.submitParam.reciever.country && this.submitParam.sender.country) {
|
if(this.submitParam.reciever.country && this.submitParam.sender.country) {
|
||||||
this.submitParam.transLine = submitParam.transLine
|
this.submitParam.transLine = submitParam.transLine
|
||||||
this.wayRes.checkedList = wayRes.checkedList
|
this.submitParam.transLineTypeName = submitParam.transLineTypeName
|
||||||
this.handleWayChange() // 调用线路切换,清空后续数据
|
this.handleWayChange() // 调用线路切换,清空后续数据
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleYueJieSelect(val) {
|
handleYueJieSelect(val) {
|
||||||
const item = this.yuejieRes.list.filter(t=> t.val == val)[0]
|
const item = this.yuejieRes.list.filter(t=> t.val == val)[0]
|
||||||
this.submitParam.payee = item.payee
|
|
||||||
this.submitParam.salesmen = item.salesmen
|
this.submitParam.salesmen = item.salesmen
|
||||||
this.submitParam.salesmenName = item.salesmenName
|
this.submitParam.salesmenName = item.salesmenName
|
||||||
this.submitParam.payee = item.payeeName
|
this.submitParam.payee = item.payeeName
|
||||||
this.salemanRes.checkedList = [{ title: item.salesmen, val: item.salesmen }]
|
|
||||||
this.paybeeRes.checkedList = [{ title: item.payee, val: item.payee }]
|
|
||||||
},
|
},
|
||||||
handleWayChange(val) { // 线路切换
|
handleWayChange(val) { // 线路切换
|
||||||
let { productRes, submitParam } = this.getDefaultData()
|
let { productRes, submitParam } = this.getDefaultData()
|
||||||
// 清空产品类型数据
|
// 清空产品类型数据
|
||||||
this.submitParam.productType = submitParam.productType
|
this.submitParam.productType = submitParam.productType
|
||||||
this.productRes.checkedList = productRes.checkedList
|
this.submitParam.productTypeName = submitParam.productTypeName
|
||||||
const item = this.wayRes.list.filter(t=> t.val == val)[0]
|
const item = this.wayRes.list.filter(t=> t.val == val)[0]
|
||||||
this.updateDltDestSite({ lineCode: val })
|
this.updateDltDestSite({ lineCode: val })
|
||||||
},
|
},
|
||||||
handleDestPostChange(val) {
|
handleDestPostChange(val) {
|
||||||
const item = this.destPostRes.list.filter(t=> t.val == val)[0]
|
const item = this.destPostRes.list.filter(t=> t.val == val)[0]
|
||||||
this.submitParam.dispatchUnderlingSiteCode = item.siteCode;
|
this.submitParam.dispatchUnderlingSiteCode = item.siteCode;
|
||||||
this.submitParam.dispatchUnderlingSite = item.siteName;
|
this.submitParam.dispatchUnderlingSiteName = item.siteName;
|
||||||
},
|
},
|
||||||
handleDialogClick(curModal){
|
handleDialogClick(curModal){
|
||||||
curModal.show = true
|
curModal.show = true
|
||||||
@ -424,9 +421,9 @@
|
|||||||
// 更新路线推荐的默认目的地
|
// 更新路线推荐的默认目的地
|
||||||
let data = res.data || {}
|
let data = res.data || {}
|
||||||
this.submitParam.destinationCode = data.destCode
|
this.submitParam.destinationCode = data.destCode
|
||||||
this.destPostRes.checkedList = [{ title: data.destName, val: data.destCode }]
|
this.submitParam.destinationName = data.destName
|
||||||
this.submitParam.dispatchUnderlingSiteCode = data.siteCode;
|
this.submitParam.dispatchUnderlingSiteCode = data.siteCode;
|
||||||
this.submitParam.dispatchUnderlingSite = data.siteName;
|
this.submitParam.dispatchUnderlingSiteName = data.siteName;
|
||||||
},
|
},
|
||||||
async handleGoodInfoSure() {
|
async handleGoodInfoSure() {
|
||||||
// 校验各个组件的参数
|
// 校验各个组件的参数
|
||||||
@ -438,7 +435,6 @@
|
|||||||
// 编辑订单 TODO
|
// 编辑订单 TODO
|
||||||
}
|
}
|
||||||
let params = JSON.parse(JSON.stringify(this.submitParam));
|
let params = JSON.parse(JSON.stringify(this.submitParam));
|
||||||
params.warehouseInNo = params.warehouseInNo.join(",")
|
|
||||||
params.goodsPics = params.goodsPics.join(",")
|
params.goodsPics = params.goodsPics.join(",")
|
||||||
await saveServerHand(params)
|
await saveServerHand(params)
|
||||||
this.showToast('操作成功')
|
this.showToast('操作成功')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user