Commit 925f86f0 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'feature/order_edit' into dev

# Conflicts:
#	src/static/img/add.png
#	src/static/lang/en.js
#	src/static/lang/zh.js
#	src/store/index.js
#	src/utils/config.js
parents b790bf31 a4a0032f
......@@ -8,8 +8,11 @@
url: './pages/login/login'
})
}
if(Authorization && !this.$store.state.userInfo){
this.$store.dispatch('updateUserInfo')
}
//#ifdef APP-PLUS
plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) {
plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) {
// 获取 app的version
let appversion = wgtinfo.version;
let versionCode = wgtinfo.versionCode
......
......@@ -3,9 +3,9 @@ import Zh from '@/static/lang/zh.js'
export default {
lang: uni.getStorageSync('locale') ? (uni.getStorageSync('locale')=='zh'?Zh:En) : Zh,
locale:uni.getStorageSync('locale') ? uni.getStorageSync('locale') : 'zh',
setLang(msg) {
this.lang = msg=='zh'?Zh:En;
this.locale = msg
locale:uni.getStorageSync('locale') ? uni.getStorageSync('locale') : 'zh',
setLang(msg) {
this.lang = msg=='zh'?Zh:En;
this.locale = msg
}
}
\ No newline at end of file
}
......@@ -2,8 +2,8 @@
"name" : "E&C logistics",
"appid" : "__UNI__B690450",
"description" : "",
"versionName" : "221",
"versionCode" : 221,
"versionName" : "225",
"versionCode" : 225,
"transformPx" : false,
"app-plus" : {
/* 5+App特有相关 */
......@@ -19,7 +19,8 @@
},
"modules" : {
"VideoPlayer" : {},
"Barcode" : {}
"Barcode" : {},
"Camera" : {}
},
/* 模块配置 */
"distribute" : {
......
......@@ -12,22 +12,32 @@
<view class="corder-tab1">
<view class="corder-tab-top">
<image src="../../static/img/corder-1.png" mode=""></image>
<view>{{$lang.lang.create.consignee}}</view>
<view class="flex items-center flex-1">
<view class="title">{{$lang.lang.create.consignee}}</view>
<radio-group @change="changeHasConsignee" class="flex items-center">
<label class="radio">
<radio value="1" :checked="hasConsignee" /><text></text>
</label>
<label class="radio" style="margin-left: 10rpx">
<radio value="0" :checked="!hasConsignee" /><text></text>
</label>
</radio-group>
</view>
<view class="flex items-center" style="width: 30px">
<image src="../../static/img/add.png" class="icon" v-if="!showFullConsignee" @click="showFullConsignee=true"></image>
<image src="../../static/img/sub.png" class="icon" v-else @click="showFullConsignee=false"></image>
</view>
</view>
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/order-user.png" mode=""></image>
<text><span class="redcolor">*</span>{{$lang.lang.create.name}}</text>
<view class="addname">
<input class="consignee-input" v-model="params.consigneeName" type="text" :placeholder="$lang.lang.notices.name" />
<view class="choiceBtn" @click="tochoice">{{$lang.lang.create.choiceConsignee}}</view>
</view>
</view>
<!-- v1.7新增 -->
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/order-user.png" mode=""></image>
<text>{{$lang.lang.create.nameEn}}</text>
<view class="addname">
<input class="consignee-input" v-model="params.consigneeNameEn" type="text" :placeholder="$lang.lang.notices.nameEn" />
<input class="consignee-input" v-model="params.consigneeName" type="text"
:placeholder="$lang.lang.notices.name"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee"
/>
<view v-if="hasConsignee" class="choiceBtn" @click="tochoice">{{$lang.lang.create.choiceConsignee}}</view>
</view>
</view>
<view class="corder-tab1-item">
......@@ -36,30 +46,63 @@
<!-- <input v-model="params.consigneePhone" type="text" :placeholder="请输入电话" /> -->
<view class="corder-phone">
<view class="countrySn-item">
<picker class="countrySn" :value="config.countrySn.indexs" :range="config.countrySn.label" data-config="countrySn" data-key="countryCode" @change="configChange" v-if="config.countrySn.value.length > 0">
<picker
class="countrySn"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee"
:value="config.countrySn.indexs"
:range="config.countrySn.label" data-config="countrySn" data-key="countryCode" @change="configChange" v-if="config.countrySn.value.length > 0">
<view class="uni-input">{{$request.checkAddIcon(config.countrySn.value[config.countrySn.indexs])}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<input class="countrySn-input" v-model="params.consigneePhone" @blur="checkMoblie" maxlength="11" type="number" :placeholder="$lang.lang.notices.phone" />
<input
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee"
class="countrySn-input"
v-model="params.consigneePhone" @blur="checkMoblie"
maxlength="11"
type="number"
:placeholder="$lang.lang.notices.phone" />
</view>
</view>
<view class="corder-tab1-item">
<image src="../../static/img/order-email.png" mode=""></image>
<text>{{$lang.lang.create.email}}</text>
<input v-model="params.consigneeEmail" type="text" :placeholder="$lang.lang.notices.email" />
</view>
<view class="corder-tab1-item">
<image src="../../static/img/corder-1-3.png" mode=""></image>
<text>{{$lang.lang.create.company}}</text>
<input v-model="params.consigneeCompany" type="text" :placeholder="$lang.lang.notices.company" />
</view>
<!-- v1.7新增 -->
<view class="corder-tab1-item">
<image src="../../static/img/corder-1-3.png" mode=""></image>
<text>{{$lang.lang.create.companyEn}}</text>
<input v-model="params.consigneeCompanyEn" type="text" :placeholder="$lang.lang.notices.companyEn" />
</view>
<template v-if="showFullConsignee">
<!-- v1.7新增 -->
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/order-user.png" mode=""></image>
<text>{{$lang.lang.create.nameEn}}</text>
<view class="addname">
<input
class="consignee-input"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee"
v-model="params.consigneeNameEn" type="text"
:placeholder="$lang.lang.notices.nameEn" />
</view>
</view>
<view class="corder-tab1-item">
<image src="../../static/img/order-email.png" mode=""></image>
<text>{{$lang.lang.create.email}}</text>
<input v-model="params.consigneeEmail" type="text" :placeholder="$lang.lang.notices.email"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee" />
</view>
<view class="corder-tab1-item">
<image src="../../static/img/corder-1-3.png" mode=""></image>
<text>{{$lang.lang.create.company}}</text>
<input v-model="params.consigneeCompany" type="text" :placeholder="$lang.lang.notices.company"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee" />
</view>
<!-- v1.7新增 -->
<view class="corder-tab1-item">
<image src="../../static/img/corder-1-3.png" mode=""></image>
<text>{{$lang.lang.create.companyEn}}</text>
<input v-model="params.consigneeCompanyEn" type="text" :placeholder="$lang.lang.notices.companyEn"
:class="{disabled: !hasConsignee}"
:disabled="!hasConsignee" />
</view>
</template>
</view>
</view>
<view class="corder bgf">
......@@ -68,17 +111,15 @@
<image src="../../static/img/corder-1.png" mode=""></image>
<view>{{$lang.lang.create.transport}}</view>
</view>
<view class="corder-tab1-item corder-picker" v-if="lineMethod">
<image src="../../static/img/corder-1-2.png" mode=""></image>
<text>{{$lang.lang.create.type}}</text>
<view class="order_type">
<checkbox-group @change="changeType">
<view v-for="item in items" :key="item.value" v-if="item.show">
<checkbox style="transform:scale(0.8)" :value="item.value" :checked="item.checked" />{{item.name}}
</view>
</checkbox-group>
</view>
</view>
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/corder-1-1.png" mode=""></image>
<text><span class="redcolor">*</span>{{$lang.lang.create.method}}</text>
<picker :class="config.transport.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :value="config.transport.index" :range="config.transport.label" data-config="transport" data-key="transportId" @change="configChange" v-if="config.transport.value.length > 0">
<view class="uni-input">{{config.transport.label[config.transport.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/corder-1-3.png" mode=""></image>
<text><span class="redcolor">*</span>{{$lang.lang.create.startCity}}</text>
......@@ -95,22 +136,6 @@
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/corder-1-1.png" mode=""></image>
<text><span class="redcolor">*</span>{{$lang.lang.create.method}}</text>
<picker :class="config.transport.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :value="config.transport.index" :range="config.transport.label" data-config="transport" data-key="transportId" @change="configChange" v-if="config.transport.value.length > 0">
<view class="uni-input">{{config.transport.label[config.transport.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker" v-if="!channeled">
<image src="../../static/img/corder-1-2.png" mode=""></image>
<text>{{$lang.lang.create.channel}}</text>
<picker :class="config.channel.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :disabled="channeled" :value="config.channel.index" :range="config.channel.label" data-config="channel" data-key="channelId" @change="configChange" v-if="config.channel.value.length > 0">
<view class="uni-input">{{config.channel.label[config.channel.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker">
<image src="../../static/img/corder-1-5.png" mode=""></image>
<text><span class="redcolor">*</span>{{$lang.lang.notices.lined}}</text>
......@@ -119,9 +144,28 @@
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker" v-if="!channeled">
<image src="../../static/img/corder-1-2.png" mode=""></image>
<text>{{$lang.lang.create.channel}}</text>
<picker :class="config.channel.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :disabled="channeled" :value="config.channel.index" :range="config.channel.label" data-config="channel" data-key="channelId" @change="configChange" v-if="config.channel.value.length > 0">
<view class="uni-input">{{config.channel.label[config.channel.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
</view>
<view class="corder-tab1-item corder-picker" v-if="lineMethod">
<image src="../../static/img/corder-1-2.png" mode=""></image>
<text>{{$lang.lang.create.type}}</text>
<view class="order_type">
<checkbox-group @change="changeType">
<view v-for="item in items" :key="item.value" v-if="item.show">
<checkbox style="transform:scale(0.8)" :value="item.value" :checked="item.checked" />{{item.name}}
</view>
</checkbox-group>
</view>
</view>
</view>
</view>
<view class="corder-tab2 bgf">
<view class="corder-tab-top">
<image src="../../static/img/corder-2.png" mode=""></image>
......@@ -140,9 +184,31 @@
<text>{{item.prodTitleZh}}</text>
</view>
<view class="">
<text>{{$lang.lang.create.brand}}</text>
<text>{{$lang.lang.create.brand}}:</text>
<text>{{item.brandType==1?$lang.lang.create.yes:$lang.lang.create.no}}</text>
</view>
</view>
<view class="corder-goods-v-item">
<view class="flex">
<text>{{$lang.lang.create.prodEn}}:</text>
<text class="flex-1">{{item.prodTitleEn}}</text>
<view class="action">
<image v-if="!item.showFull" @click="item.showFull = true" src="../../static/img/add.png" class="icon"></image>
<image v-else @click="item.showFull = false" src="../../static/img/sub.png" class="icon"></image>
</view>
</view>
<view class="flex items-center">
<text>{{$lang.lang.create.form}}:</text>
<text class="flex-1">{{item.num}}{{$lang.lang.create.box}}</text>
<view class="action flex">
<view class="btn" @click="open(index)">{{$lang.lang.create.edit}}</view>
<view class="btn" @click="delGoods(index)">{{$lang.lang.create.delete}}</view>
</view>
</view>
</view>
</view>
<view class="corder-goods-v" v-if="item.showFull">
<view class="corder-goods-v-item">
<view class="">
<text>{{$lang.lang.create.num}}:</text>
<text>{{item.quantity||0}}{{$lang.lang.create.aunit}}</text>
......@@ -162,18 +228,10 @@
<view class="">
<text>{{$lang.lang.create.material}}:</text>
<text>{{getMaterialName(item.material)}}</text>
</view>
</view>
</view>
<view class="corder-goods-v-item">
<view class="">
<text>{{$lang.lang.create.prodEn}}</text>
<text>{{item.prodTitleEn}}</text>
</view>
<view class="">
<text>{{$lang.lang.create.form}}</text>
<text>{{item.num}}{{$lang.lang.create.box}}</text>
</view>
<view class="">
<text>{{$lang.lang.create.prodAttr}}: </text>
<text>{{getProductAttrLabel(item.prodAttrIds)}}</text>
......@@ -188,28 +246,16 @@
</view>
</view>
</view>
<view class="corder-link">
<view class="corder-link" v-if="item.showFull">
<text>{{$lang.lang.create.link}}:</text>
<view class="corder-linkLabel" @click="toLink(item.link)"><input v-model="item.link" type="text" disabled/></view>
<view class="link-btn" @click="openLink(index)">{{item.link?$lang.lang.create.editLink:$lang.lang.create.addLink}}</view>
</view>
<view class="corder-bom">
<view class="corder-bom-v">
<!-- <view v-if="!item.seaFreight" class="corder-bom-desc"><text>运费:</text><text>未报价</text></view>
<view v-if="item.seaFreight" class="corder-bom-desc"><text>运费:</text><text>{{item.seaFreight}} {{getCurrencyType(item.seaFreightCurrency)}}/{{getUnitType(item.seaFreightVolume)}}</text></view>
<view v-if="!item.clearanceFreight" class="corder-bom-desc"><text>清关费:</text><text>未报价</text></view>
<view v-if="item.clearanceFreight" class="corder-bom-desc"><text>清关费:</text><text>{{item.clearanceFreight}} {{getCurrencyType(item.clearanceFreightCurrency)}}/{{getUnitType(item.clearanceFreightVolume)}}</text></view> -->
</view>
<view class="corder-bom-v">
<view class="" @click="open(index)">{{$lang.lang.create.edit}}</view>
<view class="" @click="delGoods(index)">{{$lang.lang.create.delete}}</view>
</view>
</view>
</view>
</view>
</view>
<view class="corder-tab2 bgf">
<view class="corder-tab-top">
<image src="../../static/img/corder-3.png" mode=""></image>
......@@ -257,7 +303,7 @@
</view>
</view> -->
</view>
<!-- <view class="corder-tab2 bgf">
<view class="corder-tab-top">
<image src="../../static/img/corder-4.png" mode=""></image>
......@@ -282,124 +328,8 @@
</view>
</view> -->
<!-- </view> -->
<view class="corder-tab2 bgf" v-if="params.transportId">
<view class="corder-tab-top">
<image src="../../static/img/corder-5.png" mode=""></image>
<view class="">{{config.transport.label[config.transport.index]}}</view>
</view>
<view class="corder-v5">
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.quickNo}}</view>
<textarea @blur="bindTextAreaBlur" v-model="params.number" :placeholder="$lang.lang.notices.numbers" />
<view class="autoBtn" @click="autoCreatOrderSn">{{$lang.lang.create.auto}}</view>
</view>
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.lined}}</view>
<view class="">{{config.openedRouter.index==0?$lang.lang.create.no:config.openedRouter.label[config.openedRouter.index]}}</view>
</view>
<view class="corder-v5-v" v-if="!channeled">
<view class="corder-v5-label">{{$lang.lang.create.channel}}</view>
<view class="">{{config.channel.index==0?$lang.lang.create.no:config.channel.label[config.channel.index]}}</view>
</view>
<view class="corder-v5-v" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.doubleClear}}</view>
<view class="corder-radio-2">
<radio-group @change="doubleClear">
<label class="radio">
<radio value="1" :checked="params.doubleClear==1" /><text>{{$lang.lang.create.conClear}}</text>
</label>
<label class="radio">
<radio value="2" :checked="params.doubleClear==2" /><text>{{$lang.lang.create.myClear}}</text>
</label>
</radio-group>
</view>
</view>
<!-- <view class="corder-v5-v corder-picker" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.air}}</view>
<picker class="date-picker" :value="config.clientaData.index" :range="config.clientaData.label" data-config="clientaData" data-key="airlineCompany" @change="configChange" v-if="config.clientaData.value.length > 0">
<view class="uni-input">{{config.clientaData.label[config.clientaData.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view> -->
<view class="corder-v5-v corder-picker" v-if="['2'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.ship}}</view>
<picker class="date-picker" :value="config.clientaData.index" :range="config.clientaData.label" data-config="clientaData" data-key="shippingCompany" @change="configChange" v-if="config.clientaData.value.length > 0">
<view class="uni-input">{{config.clientaData.label[config.clientaData.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-v5-v" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.clearCard}}</view>
<view class="corder-radio-2" >
<radio-group @change="customsClearCert" >
<label class="radio">
<radio value="true" :checked="params.customsClearCert" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.customsClearCert" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v remark" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.clearRemark}}</view>
<input type="text" v-model="params.remarks" :placeholder="$lang.lang.notices.clearRemark">
</view>
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.unpack}}</view>
<view class="corder-radio-2">
<radio-group @change="isUnpack">
<label class="radio">
<radio value="true" :checked="params.isUnpack" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isUnpack" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.nowChange}}</view>
<view class="corder-radio-2">
<radio-group @change="isSingleTicketTransport" >
<label class="radio">
<radio value="true" :checked="params.isSingleTicketTransport" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isSingleTicketTransport" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<image src="../../static/img/tips.png" mode="widthFix"></image>
<text style="margin-left:10px">{{$lang.lang.create.nowNotice}}</text>
</view>
<view class="corder-v5-v">
<view class="corder-v5-label" @click="cnoticeType1=!cnoticeType1">{{$lang.lang.create.special}}
<image src="../../static/img/helps.png" mode=""></image>
<view v-show="cnoticeType1" class="cnotice" style="width: 260px;">
<text>{{$lang.lang.create.cnotice1}}</text>
</view>
</view>
<view style="flex:1">
<checkbox-group @change="getPackageType" class="checklist" v-model="params.packageType">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item,index) in packageType" :key="index">
<view class="checkbox-item">
<checkbox :value="item.value+''" :checked="item.checked" style="transform:scale(0.8)"/>
</view>
<view>{{$lang.locale=='zh'?item.label:item.labelEn}}</view>
</label>
</checkbox-group>
</view>
</view>
<view class="corder-v5-v remark">
<view class="corder-v5-label">{{$lang.lang.create.specialNote}}</view>
<input type="text" :placeholder="$lang.lang.notices.specialNote" v-model="params.packageRemarks">
</view>
</view>
</view>
<view class="corder-tab2 bgf" >
<view class="corder-tab-top">
<image src="../../static/img/corder-1.png" mode=""></image>
......@@ -424,7 +354,7 @@
<label class="radio">
<radio value="true" :checked="params.isCargoControl" :disabled="controlLine" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<label class="radio" v-if="hasConsignee">
<radio value="false" :checked="!params.isCargoControl" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
......@@ -464,6 +394,111 @@
</radio-group>
</view>
</view>
<!--是否代收货款-->
<view class="corder-v5-v" v-if='collectionShow'>
<view class="corder-v5-label">{{$lang.lang.create.payment}}</view>
<view class="corder-radio-2">
<radio-group @change="isCollection">
<label class="radio">
<radio value="true" :checked="params.isCollection" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isCollection" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if='collectionShow&&params.isCollection'>
<view class="corder-v5-label">{{$lang.lang.create.money}}:</view>
<view class="corder-phone">
<input class="countrySn-input" v-model="params.collectionProxy" type="number" :placeholder="$lang.lang.create.money" />
<view class="countrySn-item">
<picker class="countrySn" :value="config.currencyType.index" :range="config.currencyType.label" data-config="currencyType" data-key="collectionProxyCurrency" @change="configChange" v-if="config.currencyType.value.length > 0">
<view class="uni-input">{{config.currencyType.label[config.currencyType.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
</view>
</view>
<!--送货日期-->
<view class="corder-v5-v corder-picker" >
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.date}}</view>
<picker mode="date" class="date-picker" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
<view class="uni-input">{{date}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<!--入仓类型-->
<view class="corder-v5-v corder-picker">
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.levite}}</view>
<picker class="date-picker" :value="config.warehouseType.index" :range="config.warehouseType.label" data-config="warehouseType" data-key="warehouseType" @change="configChange" v-if="config.warehouseType.value.length > 0">
<view class="uni-input">{{config.warehouseType.label[config.warehouseType.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<!--付款人-->
<view class="corder-v5-v" >
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.payer}}</view>
<view class="corder-radio-2">
<radio-group v-model="params.drawee" @change="draweeType">
<label class="radio">
<radio value="1" :checked="params.drawee==1" /><text>{{$lang.lang.create.consignor}}</text>
</label>
<label class="radio">
<radio value="2" :checked="params.drawee==2" /><text>{{$lang.lang.create.consignee}}</text>
</label>
</radio-group>
</view>
</view>
<!--提单价格-->
<!--收货方式-->
<view class="corder-v5-v corder-picker">
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.consignorType}}</view>
<picker class="date-picker" :value="config.harvestMethod.index" :range="config.harvestMethod.label" data-config="harvestMethod" data-key="harvestMethod" @change="configChange" v-if="config.harvestMethod.value.length > 0">
<view class="uni-input">{{config.harvestMethod.label[config.harvestMethod.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-v5-v corder-picker" v-if="params.harvestMethod==2">
<image src="../../static/img/order-location.png" mode="widthFix"></image>
<view class="corder-v5-label">{{$lang.lang.create.address}}</view>
<view class="address-list">
<view class="corder-picker">
<picker class="date-picker" :value="config.treeList.index" :range="config.treeList.label" data-config="treeList" data-key="country" @change="configChange" v-if="config.treeList.value.length > 0">
<view class="uni-input">{{config.treeList.label[config.treeList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-picker">
<picker class="date-picker" :value="config.cityList.index" :range="config.cityList.label" data-config="cityList" data-key="province" @change="configChange" v-if="config.cityList.value.length > 0">
<view class="uni-input">{{config.cityList.label[config.cityList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-picker">
<picker class="date-picker" :value="config.provinceList.index" :range="config.provinceList.label" data-config="provinceList" data-key="city" @change="configChange" v-if="config.provinceList.value.length > 0">
<view class="uni-input">{{config.provinceList.label[config.provinceList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="corder-v5-v" v-if="params.harvestMethod==2">
<image src="../../static/img/corder-1-4.png" mode="widthFix"></image>
<view class="corder-v5-label">{{$lang.lang.create.addressInfo}}</view>
<input type="text" v-model="params.consigneeAddress" :placeholder="$lang.lang.notices.addressInfo"/>
</view>
</view>
<!--下面的字段在新的原型上没有提现,暂时隐藏-->
<view v-if="0">
<!--出单方式-->
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.issuingMethod}}</view>
<view class="corder-radio-2">
......@@ -477,105 +512,8 @@
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if='collectionShow'>
<view class="corder-v5-label">{{$lang.lang.create.payment}}</view>
<view class="corder-radio-2">
<radio-group @change="isCollection">
<label class="radio">
<radio value="true" :checked="params.isCollection" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isCollection" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if='collectionShow&&params.isCollection'>
<view class="corder-v5-label">{{$lang.lang.create.money}}:</view>
<view class="corder-phone">
<input class="countrySn-input" v-model="params.collectionProxy" type="number" :placeholder="$lang.lang.create.money" />
<view class="countrySn-item">
<picker class="countrySn" :value="config.currencyType.index" :range="config.currencyType.label" data-config="currencyType" data-key="collectionProxyCurrency" @change="configChange" v-if="config.currencyType.value.length > 0">
<view class="uni-input">{{config.currencyType.label[config.currencyType.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="corder-v5-v corder-picker" >
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.date}}</view>
<picker mode="date" class="date-picker" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
<view class="uni-input">{{date}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
<!-- <view class="address-list">
<view class="corders-picker">
</view> -->
<!-- <view class="corders-picker">
<picker mode="time" class="date-picker" :value="time" start="00:00" end="23:59" @change="bindTimeChange">
<view class="uni-input">{{time}}</view>
</picker>
</view> -->
<!-- </view> -->
</view>
<view class="corder-v5-v corder-picker">
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.levite}}</view>
<picker class="date-picker" :value="config.warehouseType.index" :range="config.warehouseType.label" data-config="warehouseType" data-key="warehouseType" @change="configChange" v-if="config.warehouseType.value.length > 0">
<view class="uni-input">{{config.warehouseType.label[config.warehouseType.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-v5-v" >
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.payer}}</view>
<view class="corder-radio-2">
<radio-group v-model="params.drawee" @change="draweeType">
<label class="radio">
<radio value="1" :checked="params.drawee==1" /><text>{{$lang.lang.create.consignor}}</text>
</label>
<label class="radio">
<radio value="2" :checked="params.drawee==2" /><text>{{$lang.lang.create.consignee}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v corder-picker">
<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.consignorType}}</view>
<picker class="date-picker" :value="config.harvestMethod.index" :range="config.harvestMethod.label" data-config="harvestMethod" data-key="harvestMethod" @change="configChange" v-if="config.harvestMethod.value.length > 0">
<view class="uni-input">{{config.harvestMethod.label[config.harvestMethod.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-v5-v corder-picker" v-if="params.harvestMethod==2">
<image src="../../static/img/order-location.png" mode="widthFix"></image>
<view class="corder-v5-label">{{$lang.lang.create.address}}</view>
<view class="address-list">
<view class="corder-picker">
<picker class="date-picker" :value="config.treeList.index" :range="config.treeList.label" data-config="treeList" data-key="country" @change="configChange" v-if="config.treeList.value.length > 0">
<view class="uni-input">{{config.treeList.label[config.treeList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-picker">
<picker class="date-picker" :value="config.cityList.index" :range="config.cityList.label" data-config="cityList" data-key="province" @change="configChange" v-if="config.cityList.value.length > 0">
<view class="uni-input">{{config.cityList.label[config.cityList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
<view class="corder-picker">
<picker class="date-picker" :value="config.provinceList.index" :range="config.provinceList.label" data-config="provinceList" data-key="city" @change="configChange" v-if="config.provinceList.value.length > 0">
<view class="uni-input">{{config.provinceList.label[config.provinceList.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
</view>
</view>
<view class="corder-v5-v" v-if="params.harvestMethod==2">
<image src="../../static/img/corder-1-4.png" mode="widthFix"></image>
<view class="corder-v5-label">{{$lang.lang.create.addressInfo}}</view>
<input type="text" v-model="params.consigneeAddress" :placeholder="$lang.lang.notices.addressInfo"/>
</view>
<!--关联报价单-->
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.baojia}}</view>
<!-- <input type="text" v-model="params.offerId" maxlength="255" :placeholder="$lang.lang.create.baojia" /> -->
......@@ -585,10 +523,154 @@
</view>
</view>
<view class="footer">
<view class="sumbit" @click="addOrder">{{$lang.lang.create.submit}}</view>
<!--其他-->
<view class="corder-tab2 bgf">
<view class="corder-tab-top">
<image src="../../static/img/corder-5.png" mode=""></image>
<view class="">{{$lang.lang.create.other}}</view>
</view>
<view class="corder-v5">
<!--特殊要求-->
<view class="corder-v5-v">
<view class="corder-v5-label" @click="cnoticeType1=!cnoticeType1">
{{$lang.lang.create.special}}
<image src="../../static/img/helps.png" mode=""></image>
<view v-show="cnoticeType1" class="cnotice" style="width: 260px;">
<text>{{$lang.lang.create.cnotice1}}</text>
</view>
</view>
<view style="flex:1">
<checkbox-group @change="getPackageType" class="checklist" v-model="params.packageType">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item,index) in packageType" :key="index">
<view class="checkbox-item">
<checkbox :value="item.value+''" :checked="item.checked" style="transform:scale(0.8)"/>
</view>
<view>{{$lang.locale=='zh'?item.label:item.labelEn}}</view>
</label>
</checkbox-group>
</view>
</view>
<!--特殊要求备注-->
<view class="corder-v5-v remark">
<view class="corder-v5-label">{{$lang.lang.create.specialNote}}</view>
<input type="text" :placeholder="$lang.lang.notices.specialNote" v-model="params.packageRemarks">
</view>
<!--快递单号-->
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.quickNo}}</view>
<textarea @blur="bindTextAreaBlur" v-model="params.number" :placeholder="$lang.lang.notices.numbers" />
<view class="autoBtn" @click="autoCreatOrderSn">{{$lang.lang.create.auto}}</view>
</view>
</view>
<!--下面海运不显示-->
<view class="corder-v5" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<!--清关证书-->
<view class="corder-v5-v" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.clearCard}}</view>
<view class="corder-radio-2" >
<radio-group @change="customsClearCert" >
<label class="radio">
<radio value="true" :checked="params.customsClearCert" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.customsClearCert" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<!--清关证书备注-->
<view class="corder-v5-v remark" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.clearRemark}}</view>
<input type="text" v-model="params.remarks" :placeholder="$lang.lang.notices.clearRemark">
</view>
<!--是否拆包-->
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.unpack}}</view>
<view class="corder-radio-2">
<radio-group @change="isUnpack">
<label class="radio">
<radio value="true" :checked="params.isUnpack" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isUnpack" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<!--单票立刻转运-->
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.nowChange}}</view>
<view class="corder-radio-2">
<radio-group @change="isSingleTicketTransport" >
<label class="radio">
<radio value="true" :checked="params.isSingleTicketTransport" /><text>{{$lang.lang.create.is}}</text>
</label>
<label class="radio">
<radio value="false" :checked="!params.isSingleTicketTransport" /><text>{{$lang.lang.create.fou}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
<image src="../../static/img/tips.png" mode="widthFix"></image>
<text style="margin-left:10px">{{$lang.lang.create.nowNotice}}</text>
</view>
<!--下面内容在新的原型上未有提现,留此备用-->
<view v-if="0">
<view class="corder-v5-v" >
<view class="corder-v5-label">{{$lang.lang.create.doubleClear}}</view>
<view class="corder-radio-2">
<radio-group @change="doubleClear">
<label class="radio">
<radio value="1" :checked="params.doubleClear==1" /><text>{{$lang.lang.create.conClear}}</text>
</label>
<label class="radio">
<radio value="2" :checked="params.doubleClear==2" /><text>{{$lang.lang.create.myClear}}</text>
</label>
</radio-group>
</view>
</view>
<view class="corder-v5-v">
<view class="corder-v5-label">{{$lang.lang.create.lined}}</view>
<view class="">{{config.openedRouter.index==0?$lang.lang.create.no:config.openedRouter.label[config.openedRouter.index]}}</view>
</view>
<view class="corder-v5-v" v-if="!channeled">
<view class="corder-v5-label">{{$lang.lang.create.channel}}</view>
<view class="">{{config.channel.index==0?$lang.lang.create.no:config.channel.label[config.channel.index]}}</view>
</view>
<view class="corder-v5-v corder-picker" v-if="['2'].indexOf(params.transportId+'') > -1">
<view class="corder-v5-label">{{$lang.lang.create.ship}}</view>
<picker class="date-picker" :value="config.clientaData.index" :range="config.clientaData.label" data-config="clientaData" data-key="shippingCompany" @change="configChange" v-if="config.clientaData.value.length > 0">
<view class="uni-input">{{config.clientaData.label[config.clientaData.index]}}</view>
</picker>
<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
</view>
</view>
</view>
</view>
<view class="footer">
<view v-if="isOverSearWarehouse" class="sumbit disabled">{{$lang.lang.create.submit}}</view>
<view v-else class="sumbit" @click="addOrder">{{$lang.lang.create.submit}}</view>
<view class="cancel" @click="toback">{{$lang.lang.create.cancel}}</view>
</view>
<view v-if="isOverSearWarehouse" class="over-sea-tips">
{{$lang.lang.create.overSeaWarehouseTips}}
</view>
<!-- <button >打开弹窗</button> -->
<uni-popup ref="popup" type="center" :mask-click="false">
<view class="goods">
......@@ -749,12 +831,12 @@
<view class="addCon-content addCon">
<view class="addCon-title">{{$lang.lang.create.addConsignee}}</view>
<view class="corder-tab1-item">
<text>{{$lang.lang.create.name}}</text>
<text>{{$lang.lang.create.name}}:</text>
<input v-model="conForm.name" type="text" :placeholder="$lang.lang.notices.name" />
</view>
<!-- v1.7新增 -->
<view class="corder-tab1-item">
<text>{{$lang.lang.create.nameEn}}</text>
<text>{{$lang.lang.create.nameEn}}:</text>
<input v-model="conForm.nameEn" type="text" :placeholder="$lang.lang.notices.nameEn" />
</view>
<view class="corder-tab1-item">
......@@ -827,7 +909,7 @@
label: [this.$lang.lang.notices.please],
value: [''],
cssClass:['']
},
},
channel:{
index: 0,
label: [this.$lang.lang.notices.please],
......@@ -913,7 +995,7 @@
index: 0,
label: [this.$lang.lang.notices.please],
value: [''],
},
},
harvestMethod:{
index: 0,
label: [],
......@@ -936,7 +1018,7 @@
objectiveId: 0, //目的地ID
lineId: 0, //线路ID
channelId:0,//渠道ID
orderItemVOList:[],
orderItemVOList:[{showFull: false, prodAttrIds: ''}],
costVO:{},
deliveryDate:currentDate+' 00:00:00',
drawee:2,
......@@ -997,7 +1079,11 @@
cnoticeType2:false,
cnoticeType3:false,
cnoticeType4:false,
cnoticeType5:false
cnoticeType5:false,
// 是否有收货人
hasConsignee: true,
// 是否显示完整的收货人信息
showFullConsignee: false
}
},
onLoad (op) {
......@@ -1045,7 +1131,13 @@
},
endDate() {
return this.getDate('end');
}
},
noConsignee(){
return !!this.$store.state.userInfo?.noConsignee
},
isOverSearWarehouse(){
return this.params.type?.indexOf('2') != -1
}
},
watch:{
'params.countryCode'(){
......@@ -1054,8 +1146,17 @@
'params.consigneePhone'(){
if(this.params.lineId) this.getOffData()
},
hasConsignee(val){
if(!val){
// 没有收货人必须控货
this.params.isCargoControl = true
}
}
},
methods: {
changeHasConsignee(e){
this.hasConsignee = e.detail.value === "1"
},
toback(){
uni.navigateBack()
},
......@@ -1110,8 +1211,16 @@
}else{
this.params.type = ''
}
console.log(this.params.type)
// 如果勾选了海外仓给提示
if(this.params.type.indexOf('2') > -1){
return uni.showModal({
title: this.$lang.lang.tips,
content: this.$lang.lang.create.overSeaWarehouseTips,
showCancel: false
})
}
},
getType(){
var items = this.items,
......@@ -1136,13 +1245,13 @@
getCurrencyType(value){
var title = ''
let that = this
that.currencyType.forEach((item)=>{
that.currencyType.forEach((item)=>{
if(item.value == value){
if(that.$lang.locale=='zh'){
title = item.label
}else{
title = item.labelEn
}
}
}
})
return title
......@@ -1158,7 +1267,7 @@
getUnitType(value){
var title = ''
let that = this
that.unitType.forEach((item)=>{
that.unitType.forEach((item)=>{
if(item.id == value){
if(that.$lang.locale=='zh'){
title = item.titleZh
......@@ -1238,7 +1347,7 @@
}else{
that.params[e.target.dataset.key] = that.config[e.target.dataset.config].value[e.detail.value]
}
if(e.target.dataset.key == 'countryCode'){
that.config[e.target.dataset.config].indexs = e.detail.value
that.checkMoblie()
......@@ -1274,8 +1383,8 @@
// }else{
that.openedRouterF = false
// }
that.config.openedRouter = {
that.config.openedRouter = {
index: 0,
label: [ this.$lang.lang.notices.please],
value: [''],
......@@ -1307,8 +1416,8 @@
if(that.$lang.locale == 'zh'){
that.config['cityList'].label.push(items.titleZh)
}else{
that.config['cityList'].label.push(items.titleEn)
}
that.config['cityList'].label.push(items.titleEn)
}
that.config['cityList'].value.push(items.id)
that.config['cityList'].children.push(items.children)
})
......@@ -1327,7 +1436,7 @@
if(that.$lang.locale == 'zh'){
that.config['provinceList'].label.push(items.titleZh)
}else{
that.config['provinceList'].label.push(items.titleEn)
that.config['provinceList'].label.push(items.titleEn)
}
that.config['provinceList'].value.push(items.id)
})
......@@ -1341,14 +1450,14 @@
if(item == key){
index = i
}
})
})
if(index==0) return ''
return this.config.unitData.label[index]
},
getProductAttrLabel(data){
var label = ''
var productArr = data.split(',')
var productArr = data?.split(',') || []
this.productAttrList.forEach((item)=>{
if(productArr.find(items => {return items == item.id})){
label+= item.attrName+' '
......@@ -1362,7 +1471,7 @@
if(item == data){
index = i
}
})
})
if(index==0) return ''
return this.config.material.label[index]
},
......@@ -1401,7 +1510,7 @@
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
......@@ -1427,16 +1536,26 @@
this.params.packageType = e.detail.value.join(',')
},
addOrder(){
if(!this.params.consigneeName){
// 如果勾选了海外仓给提示
if(this.params.type.indexOf('2') > -1){
return uni.showModal({
title: this.$lang.lang.tips,
content: this.$lang.lang.create.overSeaWarehouseTips,
showCancel: false
})
}
/*有收货人 但是 没有填写收货人名称*/
if(this.hasConsignee && !this.params.consigneeName){
return uni.showToast({
title: this.$lang.lang.notices.consignee,
icon: 'error',
})
}
if(!this.params.countryCode){
if(this.hasConsignee && !this.params.countryCode){
this.params.countryCode = this.config.countrySn.value[0]
}
if(!this.params.consigneePhone){
// 有收货人但是无收货人电话
if(this.hasConsignee && !this.params.consigneePhone){
return uni.showToast({
title: this.$lang.lang.notices.consigneePhone,
icon: 'error',
......@@ -1447,18 +1566,18 @@
icon: 'error',
})
}
if(this.params.consigneeEmail){
let email_reg = /[a-zA-Z0-9]+([-_.][A-Za-zd]+)*@([a-zA-Z0-9]+[-.])+[A-Za-zd]{2,5}$/
if (!email_reg.test(this.params.consigneeEmail)) {
if (!email_reg.test(this.params.consigneeEmail)) {
return uni.showToast({
title: this.$lang.lang.notices.noEmail,
icon: 'error',
})
}
}
}
if(this.params.orderItemVOList.length>0){
this.$set(this.params,'orderItemVOList',this.getProductListWithDefaultValue())
var isNotAcceptGoods = false
......@@ -1498,7 +1617,7 @@
title: this.$lang.lang.notices.startCity,
icon: 'error',
})
}
}
if(this.params.objectiveId==''||this.params.objectiveId==null){
return uni.showToast({
title: this.$lang.lang.notices.endCity,
......@@ -1516,12 +1635,12 @@
title: this.$lang.lang.notices.marksIn,
icon: 'error',
})
}else if(parseFloat(this.params.marks.slice(0,1)).toString() != "NaN"){
}/*else if(parseFloat(this.params.marks.slice(0,1)).toString() != "NaN"){
return uni.showToast({
title: this.$lang.lang.notices.marksNum,
icon: 'error',
})
}
}*/
if(this.params.customsType==''||this.params.customsType==null){
return uni.showToast({
title: this.$lang.lang.notices.customsType,
......@@ -1563,11 +1682,18 @@
}
var url=''
if(this.isClick){
return
return
}
this.isClick = true
this.ismobiles(this.params.countryCode,this.params.consigneePhone)
if(this.hasConsignee){
return this.ismobiles(this.params.countryCode,this.params.consigneePhone)
}
if(this.params.drawee==1){
this.$refs.payNotice.open()
}else{
this.createOrder()
}
this.isClick = false
},
creatOrder(){
this.$request.post('/app-api/my/order/create',this.params).then(res => {
......@@ -1592,7 +1718,7 @@
issuingMethod:1,
doubleClear:2
},
uni.showToast({
title: this.$lang.lang.notices.creat,
icon:"none",
......@@ -1610,7 +1736,7 @@
icon:"none"
})
}
})
},
getOrderData(id){
......@@ -1625,7 +1751,7 @@
if(item.prodAttrIds) item.prodAttrs = item.prodAttrIds.split(',')
})
}
if(that.params.transportId != 0 ||that.params.lineId!=0 ||(that.params.departureId != 0 && that.params.objectiveId != 0)){
that.openedRouterF = false
that.getOpenedRouter()
......@@ -1642,16 +1768,16 @@
that.getConfigIndex('clientaData',that.params.airlineCompany)
}
that.getConfigIndex('warehouseType',that.params.warehouseType)
if(that.params.consigneeVO){
that.params.consigneeAddress = that.params.consigneeVO.address
that.getConfigIndex('treeList',that.params.consigneeVO.country)
that.getConfigIndex('cityList',that.params.consigneeVO.province)
that.getConfigIndex('provinceList',that.params.consigneeVO.city)
}
}
that.getConIndex()
if(that.params.consigneeVO&&that.params.consigneeVO.deliveryDate){
that.params.deliveryDate = that.params.consigneeVO.deliveryDate
......@@ -1660,11 +1786,20 @@
that.time = dateArr[1]
}
that.getOffData()
// 没有收货人信息
if(!that.params.consigneeVO){
that.hasConsignee = false
}
// 如果用户当前不支持无收货人,则强制显示收货人信息
if(!that.noConsignee){
that.hasConsignee = true
}
}
})
},
setPackType(){
for(let i in this.packageType){
console.log(this.packageType[i].value)
if(this.params.packageType&&this.params.packageType.split(',').indexOf(this.packageType[i].value)!=-1){
......@@ -1677,7 +1812,7 @@
var sIndex = 0
var arrData = that.config[key].value
for(let i in arrData){
if(arrData[i]==value){
sIndex = i
if(type==1){
......@@ -1685,16 +1820,16 @@
}else{
that.config[key].index = i
}
}
}
if(key == 'treeList'&&sIndex!=0){
if(key == 'treeList'&&sIndex!=0){
var treeDat = that.config.treeList.children[sIndex]
for(let i in treeDat){
if(that.$lang.locale == 'zh'){
that.config['cityList'].label.push(treeDat[i].titleZh)
}else{
that.config['cityList'].label.push(treeDat[i].titleEn)
that.config['cityList'].label.push(treeDat[i].titleEn)
}
that.config['cityList'].value.push(treeDat[i].id)
that.config['cityList'].children.push(treeDat[i].children)
......@@ -1706,7 +1841,7 @@
if(that.$lang.locale == 'zh'){
that.config['provinceList'].label.push(treeDats[i].titleZh)
}else{
that.config['provinceList'].label.push(treeDats[i].titleEn)
that.config['provinceList'].label.push(treeDats[i].titleEn)
}
that.config['provinceList'].value.push(treeDats[i].id)
}
......@@ -1741,7 +1876,7 @@
issuingMethod:1,
doubleClear:2
},
uni.showToast({
title: this.$lang.lang.notices.edited,
icon:"none",
......@@ -1757,7 +1892,7 @@
icon:"none",
})
}
})
},
addGood(){
......@@ -1797,7 +1932,7 @@
icon: 'error',
})
}
if(this.goodsModel.quantity ==''||this.goodsModel.quantity==null){
// this.goodsModel.quantity = 1
}else if(this.goodsModel.quantity<=0||Math.floor(this.goodsModel.quantity)!=this.goodsModel.quantity){
......@@ -1823,7 +1958,7 @@
title:this.$lang.lang.notices.intNotice5
})
}
// if(!this.goodsModel.quantity){
// this.goodsModel.quantity = 1
......@@ -1842,9 +1977,12 @@
this.params.orderItemVOList[editIndex] = this.goodsModel
}else{
editIndex = this.params.orderItemVOList.length
this.params.orderItemVOList.push(this.goodsModel)
this.params.orderItemVOList.push({
...this.goodsModel,
showFull: false
})
}
this.calculationPrice(editIndex)
this.calculationPrice(editIndex)
this.$refs.popup.close()
},
getProductListWithDefaultValue(){
......@@ -1890,7 +2028,7 @@
this.params.orderItemVOList[editIndex].seaFreightVolume = res.data.prodCostDtoList[editIndex].freightVolume
this.params.orderItemVOList[editIndex].isPayAdvance = res.data.prodCostDtoList[editIndex].isPayAdvance
this.params.orderItemVOList[editIndex].premium = res.data.prodCostDtoList[editIndex].premium
this.reset()
}else{
for(let i=0;i<this.params.orderItemVOList.length;i++){
......@@ -1905,11 +2043,11 @@
this.params.orderItemVOList[i].premium = res.data.prodCostDtoList[i].premium
}
}
this.params.costVO = res.data.costDto
this.params.costVO = res.data.costDto
}
})
},
getCouponData(){
this.$request.post('/app-api/product/coupon/customer/available/couponList',{
lineId: this.params.lineId,
......@@ -1919,7 +2057,7 @@
customsType:this.params.customsType,
isCargoControl:this.params.isCargoControl
}).then(res => {
if(res.code==0&&res.data&&res.data.legth>0){
this.couponData = res.data
this.couponData.forEach((item)=>{
......@@ -1955,7 +2093,7 @@
title: this.$lang.lang.notices.startCity,
icon: 'error',
})
}
}
if(this.params.objectiveId==''||this.params.objectiveId==null){
return uni.showToast({
title: this.$lang.lang.notices.endCity,
......@@ -1976,27 +2114,27 @@
if(this.goodsModel.brandType == item){
this.config.brandData.index = index
}
})
})
this.config.unitData.value.forEach((item,index)=>{
if(this.goodsModel.unit == item){
this.config.unitData.index = index
}
})
})
this.config.material.value.forEach((item,index)=>{
if(this.goodsModel.material == item){
this.config.material.index = index
}
})
})
this.config.productEn.value.forEach((item,index)=>{
if(this.goodsModel.prodTitleEn == item){
this.config.productEn.index = index
}
})
})
this.config.productZh.value.forEach((item,index)=>{
if(this.goodsModel.prodTitleZh == item){
this.config.productZh.index = index
}
})
})
}else{
this.reset()
}
......@@ -2070,13 +2208,13 @@
// })
}else{
let email_reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if (!email_reg.test(this.conForm.email)) {
if (!email_reg.test(this.conForm.email)) {
return uni.showToast({
title: this.$lang.lang.notices.noEmail,
icon: 'error',
})
}
}
}
this.ismobile()
},
......@@ -2139,12 +2277,12 @@
content: this.$lang.lang.notices.delete,
success: function (res) {
if (res.confirm) {
that.params.orderItemVOList.splice(index,1)
that.params.orderItemVOList.splice(index,1)
if(index>0){
that.calculationPrice(-1)
that.calculationPrice(-1)
}else{
that.params.costVO = {}
}
}
} else if (res.cancel) {
console.log('用户点击取消');
}
......@@ -2164,7 +2302,7 @@
quantity:null,
weight:null,
worth:null,
material:null,
material:null,
}
this.config.brandData.index = 0
this.config.unitData.index = 0
......@@ -2239,7 +2377,7 @@
if(that.$lang.locale == 'zh'){
that.config['treeList'].label.push(d[i].titleZh)
}else{
that.config['treeList'].label.push(d[i].titleEn)
that.config['treeList'].label.push(d[i].titleEn)
}
that.config['treeList'].value.push(d[i].id)
that.config['treeList'].children.push(d[i].children)
......@@ -2286,7 +2424,7 @@
that.params.consigneeEmail = that.consignee[that.conIndex].email
}
}
if(sid==0){
if(sid==0 && that.params.consigneeVO){
that.params.consigneeCompany = that.params.consigneeVO.company
that.params.consigneeName = that.params.consigneeVO.name
that.params.consigneeCompanyEn = that.params.consigneeVO.companyEn
......@@ -2319,7 +2457,7 @@
}
}else{
that.moreShow = false
}
}
})
},
showMore(){
......@@ -2366,6 +2504,10 @@
},
//是否控货
isCargoControl(e){
// 没有收货人必须控货
if(!this.hasConsignee){
return
}
this.params.isCargoControl = e.detail.value=='true'?true:false
var server = this.config['openedRouter'].otherService[this.config['openedRouter'].index]
if(this.params.isCargoControl){
......@@ -2374,7 +2516,7 @@
}else{
// this.$set(this.params,'drawee',1)
}
if(!this.params.isCargoControl&&server.indexOf(3)>-1){
if(!this.params.isCargoControl&&server.indexOf(3)>-1){
this.collectionShow = true
}else{
this.collectionShow = false
......@@ -2492,7 +2634,7 @@
};
param.channelId = this.params.channelId
}
that.$request.get('/app-api/ecw/region/getTradeCityList', param).then(res => {
if(res.code==0&&res.data&&res.data.length > 0){
let d = res.data
......@@ -2501,7 +2643,7 @@
that.config[key].label.push(d[i].titleZh)
}else{
that.config[key].label.push(d[i].titleEn)
}
}
that.config[key].value.push(d[i].id)
}
}
......@@ -2560,7 +2702,7 @@
}else{
that.config.openedRouter.label.push(d[i].startTitleEn+'>>'+d[i].destTitleEn)
}
that.config.openedRouter.value.push(d[i].id)
if(d[i].otherService){
that.config.openedRouter.otherService.push(d[i].otherService)
......@@ -2584,7 +2726,7 @@
}
that.currencyUnit = res.data[that.config['openedRouter'].index-1].currencyUnit
var server = that.config['openedRouter'].otherService[that.config['openedRouter'].index]
if(server.indexOf('1') > -1||server.indexOf('2') > -1){
that.lineMethod = true
}else{
......@@ -2621,7 +2763,7 @@
}
}
})
},
orderConfig (field, key) {
......@@ -2635,7 +2777,7 @@
that.packageType[i].checked = false
}
}else{
for(let i in d){
for(let i in d){
if(key=='harvestMethod'){
var server = that.config['openedRouter'].otherService[that.config['openedRouter'].index]
if(server.indexOf('2') > -1){
......@@ -2644,7 +2786,7 @@
}else{
that.config[key].label.push(d[i].labelEn)
}
that.config[key].value.push(d[i].value)
}else{
if(i==0){
......@@ -2662,7 +2804,7 @@
}else{
if(that.params.harvestMethod){
that.getConfigIndex('harvestMethod',that.params.harvestMethod)
}
}
}
}else{
......@@ -2677,12 +2819,12 @@
if(key == 'transport'){
that.config[key].cssClass.push(d[i].cssClass)
}
}
if(key=='warehouseType'){
that.config[key].index = 1
}
}
}
})
......@@ -2701,7 +2843,7 @@
getCurrenyName(id){
var indexs = 0
this.config.currencyType.value.forEach((item,index)=>{
if(item == id){
indexs = index
}
......@@ -2769,4 +2911,29 @@
<style>
@import url("../../static/css/create_order.css");
.corder-tab-top .title{
border:none; width: auto; margin-right: 20rpx;
padding-bottom: 0;
display: flex !important;
}
</style>
<style scoped>
.disabled{
background: #ccc;
}
.corder-goods-v-item .action .icon{
width: 20px;
height: 20px;
}
.corder-goods-v-item .action .btn{
background: #2A6cd9;
padding: 3px 10rpx;
color:#fff;
border-radius: 5px;
margin-left: 5px;
}
.over-sea-tips{
color: red;
padding: 0 20rpx;
}
</style>
......@@ -104,7 +104,7 @@ radio{
margin: 0 20upx 16upx 0;
}
.corder-tab-top view{
display: block;
/*display: block;*/
width: 90%;
border-bottom: 1px solid var(--cdf);
padding-bottom: 16upx;
......
......@@ -94,3 +94,34 @@ view {
width: 100%;
height: var(--status-bar-height);
} */
.flex{
display: flex;
}
.items-center{
align-items: center;
}
.items-start{
align-items: start;
}
.items-end{
align-items: end;
}
.justify-center{
justify-content: center;
}
.justify-start{
justify-content: start;
}
.justify-end{
justify-content: end;
}
.justify-between{
justify-content: space-between;
}
.justify-around{
justify-content: space-around;
}
.flex-1{
flex: 1;
}
src/static/img/add.png

357 Bytes | W: | H:

src/static/img/add.png

1.97 KB | W: | H:

src/static/img/add.png
src/static/img/add.png
src/static/img/add.png
src/static/img/add.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -42,7 +42,7 @@ const store = new Vuex.Store({
actions: {
updateUserInfo({ commit }) {
http
.get('/profile')
.get('/app-api/member/user/get')
.then((res) => {
console.log('更新用户信息', res)
commit('setUser', res.data)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment