Commit c39a4db4 authored by dragondean@qq.com's avatar dragondean@qq.com

解决冲突

parents 418ee805 b7c4bdde
<template>
<div>
<el-select v-model="formData.country" :disabled="readonly">
<el-select v-model="formData.country" :disabled="readonly" :style="{width: inputWidth}">
<el-option v-for="(item) in treeList" :key="item.id" :value="item.id" :label="$l(item, 'title')" />
</el-select>
<el-select v-model="formData.province" class="ml-10" :disabled="readonly">
<el-select v-model="formData.province" class="ml-10" :disabled="readonly" :style="{width: inputWidth}">
<el-option v-for="(item) in provinceList" :key="item.id" :value="item.id" :label="$l(item, 'title')" />
</el-select>
<el-select v-model="formData.city" class="ml-10" :disabled="readonly">
<el-select v-model="formData.city" class="ml-10" :disabled="readonly" :style="{width: inputWidth}">
<el-option v-for="(item) in cityList" :key="item.id" :value="item.id" :label="$l(item, 'title')" />
</el-select>
</div>
......@@ -19,7 +19,8 @@ export default {
country: Number,
city: Number,
province: Number,
readonly: Boolean
readonly: Boolean,
inputWidth: String
},
data() {
return {
......@@ -60,9 +61,12 @@ export default {
},
'formData.country'(country) {
this.$emit('countryChange', country)
this.formData.province = null
this.formData.city = null
},
'formData.province'(province) {
this.$emit('provinceChange', province)
this.formData.city = null
}
},
created() {
......
......@@ -1058,113 +1058,110 @@ export default {
info: "info~",
},
delivery: {
header: "delivery",
orderType: "orderType",
orderType1: "Cargo service",
orderType2: "Overseas warehouse",
consigneeName: "consigneeName",
consigneeNameNotice: "Please enter the name of the consignee",
consigneeNameNoticeEn: "Please enter the name of the consignee in English",
openConsignee: "Select the consignee",
consigneePhone: "consigneePhone",
consigneePhoneNotice: "Please enter the telephone number",
consigneeCompany: "Name of consignee company",
consigneeCompanyNotice: "Please enter the company name",
consigneeCompanyNoticeEn: "Please enter the company name in English",
consignorConfirm: "Please confirm the freight be paid by sender?",
emailNotice: "Please enter email address",
transport: "*transport",
transportNotice: "Please select the mode of transportation",
channel: "channel",
channelNotice: "Please select the shipping channel",
departure: "*departure",
departureRules: "The place of origin is mandatory",
departureNotice: "Please select the place of departure",
objective: "*objective",
objectiveRules: "Destination City This parameter is mandatory",
objectiveNotice: "Please select a destination",
router: "*Please select a line",
routerNotice: "Select a line on the right",
goods: "goods info",
addPro: "addPro",
addPros: "addPros",
index: "index",
proZh: "proZh",
proEn: "proEn",
proRules: "Please select product",
brand: "brand",
num: "num",
unit: "unit",
quantity: "quantity",
volume: "volume",
weight: "weight",
worth: "worth",
worthRules: "The worth cannot be empty",
prodAttrArr: "prodAttrArr",
isPayAdvance: "isPayAdvance",
link: "link",
linkedit: "edit link",
linkadd: "add link",
sum: "sum",
totalNum: "total Num",
totalWorth: "total Worth",
insuranceFee: "insuranceFee",
rmb: "rmb",
dollar: "dollar",
common: "common",
marks: "*marks",
marksRules: "Please enter the shipping mark",
marksRules1: "The shipping mark must start with a letter",
isCargoControl: "*isCargoControl",
isCollection: "*isCollection",
collectionProxy: "collectionProxy",
customsType: "*customsType",
issuingMethod: "*issuingMethod",
deliveryDate: "*deliveryDate",
deliveryDateRules: "The delivery date cannot be empty",
warehouseType: "*warehouseType",
harvestMethod: "*harvestMethod",
deliveryaddress: "deliveryaddress",
deliveryaddressRules: "The receiving area cannot be empty",
addressdetail: "addressdetail",
addressdetailRules: "The shipping address cannot be blank",
drawee: "*drawee",
customDraweeList: "customDraweeList",
number: "number",
numberNotice: "Please enter the tracking number of your purchase",
getNumber: "getNumber",
doubleClear: "doubleClear",
airlineCompany: "airlineCompany",
shippingCompany: "shippingCompany",
customsClearCert: "customsClearCert",
clearCertRemark: "clearCertRemark",
isUnpack: "isUnpack",
isSingleTicketTransport: "isSingleTicketTransport",
notice:
'Note: If there is only one piece, the goods will be sent to the warehouse immediately, select "Yes"; If there are more pieces to be collected and shipped in the warehouse, select "No".',
packageType: "packageType",
packageRemarks: "packageRemarks",
select: "select",
addCustomer: "add Customer",
batchImport: "batch Import",
uoloadBox: "uoload Box",
startImport: "start Import",
complete: "complete",
upload: "upload",
boxTpl: "box Tpl",
material: "material",
next: "next",
none: "none",
realName: "Please complete the real-name authentication first",
linkRules: "Please enter the product link",
delPro: "Are you sure to delete this content?",
isContainNotice: "The order contains non-acceptable goods, please check",
isCargoControlNotice:
"This refers to a transaction where the shipper and consignee agree that our company acts as a third party to control the ownership of the goods during international transportation. The consignee can only collect the goods if authorized by the shipper to release them.",
customsTypeNotice:
"Full agency: Our company handles the export procedures of the goods on behalf of the shipper. Self-declaration: The shipper provides the relevant export documents and entrusts our company to handle them. Mixed declaration: This situation may involve the above two cases.",
packageTypeNotice:
"If you require packaging by our company, please select the appropriate option. Payment details and packaging requirements can be noted in the remarks section.",
header: 'delivery',
orderType: 'orderType',
orderType1: 'Cargo service',
orderType2: 'Overseas warehouse',
consigneeName: 'consigneeName',
consigneeNameNotice: 'Please enter the name of the consignee',
consigneeNameNoticeEn: 'Please enter the name of the consignee in English',
openConsignee: 'Select the consignee',
consigneePhone: 'consigneePhone',
consigneePhoneNotice: 'Please enter the telephone number',
consigneeCompany: 'Name of consignee company',
consigneeCompanyNotice: 'Please enter the company name',
consigneeCompanyNoticeEn: 'Please enter the company name in English',
consignorConfirm: 'Please confirm the freight be paid by sender?',
emailNotice: 'Please enter email address',
transport: '*transport',
transportNotice: 'Please select the mode of transportation',
channel: 'channel',
channelNotice: 'Please select the shipping channel',
departure: '*departure',
destCountryRules: 'destination country must be chosen',
departureRules: 'The place of origin is mandatory',
departureNotice: 'Please select the place of departure',
objective: '*objective',
objectiveRules: 'Destination City This parameter is mandatory',
objectiveNotice: 'Please select a destination',
router: '*Please select a line',
routerNotice: 'Select a line on the right',
goods: 'goods info',
addPro: 'addPro',
addPros: 'addPros',
index: 'index',
proZh: 'proZh',
proEn: 'proEn',
proRules: 'Please select product',
brand: 'brand',
num: 'num',
unit: 'unit',
quantity: 'quantity',
volume: 'volume',
weight: 'weight',
worth: 'worth',
worthRules: 'The worth cannot be empty',
prodAttrArr: 'prodAttrArr',
isPayAdvance: 'isPayAdvance',
link: 'link',
linkedit: 'edit link',
linkadd: 'add link',
sum: 'sum',
totalNum: 'total Num',
totalWorth: 'total Worth',
insuranceFee: 'insuranceFee',
rmb: 'rmb',
dollar: 'dollar',
common: 'common',
marks: '*marks',
marksRules: 'Please enter the shipping mark',
marksRules1: 'The shipping mark must start with a letter',
isCargoControl: '*isCargoControl',
isCollection: '*isCollection',
collectionProxy: 'collectionProxy',
customsType: '*customsType',
issuingMethod: '*issuingMethod',
deliveryDate: '*deliveryDate',
deliveryDateRules: 'The delivery date cannot be empty',
warehouseType: '*warehouseType',
harvestMethod: '*harvestMethod',
deliveryaddress: 'deliveryaddress',
deliveryaddressRules: 'The receiving area cannot be empty',
addressdetail: 'addressdetail',
addressdetailRules: 'The shipping address cannot be blank',
drawee: '*drawee',
customDraweeList: 'customDraweeList',
number: 'number',
numberNotice: 'Please enter the tracking number of your purchase',
getNumber: 'getNumber',
doubleClear: 'doubleClear',
airlineCompany: 'airlineCompany',
shippingCompany: 'shippingCompany',
customsClearCert: 'customsClearCert',
clearCertRemark: 'clearCertRemark',
isUnpack: 'isUnpack',
isSingleTicketTransport: 'isSingleTicketTransport',
notice: 'Note: If there is only one piece, the goods will be sent to the warehouse immediately, select "Yes"; If there are more pieces to be collected and shipped in the warehouse, select "No".',
packageType: 'packageType',
packageRemarks: 'packageRemarks',
select: 'select',
addCustomer: 'add Customer',
batchImport: 'batch Import',
uoloadBox: 'uoload Box',
startImport: 'start Import',
complete: 'complete',
upload: 'upload',
boxTpl: 'box Tpl',
material: 'material',
next: 'next',
none: 'none',
realName: 'Please complete the real-name authentication first',
linkRules: 'Please enter the product link',
delPro: 'Are you sure to delete this content?',
isContainNotice: 'The order contains non-acceptable goods, please check',
isCargoControlNotice: 'This refers to a transaction where the shipper and consignee agree that our company acts as a third party to control the ownership of the goods during international transportation. The consignee can only collect the goods if authorized by the shipper to release them.',
customsTypeNotice: 'Full agency: Our company handles the export procedures of the goods on behalf of the shipper. Self-declaration: The shipper provides the relevant export documents and entrusts our company to handle them. Mixed declaration: This situation may involve the above two cases.',
packageTypeNotice: 'If you require packaging by our company, please select the appropriate option. Payment details and packaging requirements can be noted in the remarks section.'
},
deliverysuccess: {
success: "Order has been generated",
......@@ -1182,54 +1179,53 @@ export default {
productCount: "Product Count",
copy: "Copy Order Info",
},
请输入商品关键词: "Please enter the product keyword",
运费: "estSeaFreight",
清关费: "estClearanceFreight",
请输入数字: "Please enter the number",
请输入有效数字: "Please enter a significant number",
货值错误: "Error of value",
重量错误: "Weight error",
体积错误: "Volume error",
请选择运输方式: "Please select a mode of transportation",
请输入件数: "Please enter the number of pieces",
提示: "Notice",
"您的密码过于简单,请前往修改密码":
"Your password is too simple, please go to change the password",
修改密码: "Change password",
知道了: "know",
旧订单: "old order",
周一到周六: "Monday to Saturday",
保存草稿成功: "Save draft successfully",
提交: "submit",
存草稿: "Save draft",
加载中: "Loading",
起始标签: "Start label",
结束标签: "End tag",
去打印: "Go to print",
确定打印: "OK to print",
打印标签: "Print label",
结束标签不对: "Wrong end tag",
没有可打印的内容: "Nothing to print",
是否确认删除订单: "Confirm whether to delete the order",
"报关退税,请备齐材料":
"Customs declaration and tax refund, please prepare all necessary materials",
控货日志: "Cargo control log",
操作时间: "Operating time",
操作人: "Operator",
操作人类型: "Operator type",
操作类型: "Type of operation",
备注: "remarks",
"请输入6-32位数字与字母组合的密码":
"Please enter a password of 6-32 digits and letters",
关联报价单: "Related quotation",
请选择: "Please select",
复制成功: "Copy successfully",
复制失败: "Copy failed",
特殊要求: "special requirements",
特殊要求备注: "Special Requirements Remarks",
提单号: "B/L NO",
入仓箱数: "Number of inbound boxes",
已放箱数: "Number of boxes placed",
收货人: "Consignee",
收货人电话: "Consignee telephone number",
};
'请输入商品关键词': 'Please enter the product keyword',
'运费': 'estSeaFreight',
'清关费': 'estClearanceFreight',
'请输入数字': 'Please enter the number',
'请输入有效数字': 'Please enter a significant number',
'货值错误': 'Error of value',
'重量错误': 'Weight error',
'体积错误': 'Volume error',
'请选择运输方式': 'Please select a mode of transportation',
'请输入件数': 'Please enter the number of pieces',
'提示': 'Notice',
'您的密码过于简单,请前往修改密码': 'Your password is too simple, please go to change the password',
'修改密码': 'Change password',
'知道了': 'know',
'旧订单': 'old order',
'周一到周六': 'Monday to Saturday',
'保存草稿成功': 'Save draft successfully',
'提交': 'submit',
'存草稿': 'Save draft',
'加载中': 'Loading',
'起始标签': 'Start label',
'结束标签': 'End tag',
'去打印': 'Go to print',
'确定打印': 'OK to print',
'打印标签': 'Print label',
'结束标签不对': 'Wrong end tag',
'没有可打印的内容': 'Nothing to print',
'是否确认删除订单': 'Confirm whether to delete the order',
'报关退税,请备齐材料': 'Customs declaration and tax refund, please prepare all necessary materials',
'控货日志': 'Cargo control log',
'操作时间': 'Operating time',
'操作人': 'Operator',
'操作人类型': 'Operator type',
'操作类型': 'Type of operation',
'备注': 'remarks',
'请输入6-32位数字与字母组合的密码': 'Please enter a password of 6-32 digits and letters',
'关联报价单': 'Related quotation',
'请选择': 'Please select',
'复制成功': 'Copy successfully',
'复制失败': 'Copy failed',
'特殊要求': 'special requirements',
'特殊要求备注': 'Special Requirements Remarks',
'提单号': 'B/L NO',
'入仓箱数': 'Number of inbound boxes',
'已放箱数': 'Number of boxes placed',
'收货人': 'Consignee',
'收货人电话': 'Consignee telephone number',
'如需海外仓服务,请联系客服,服务热线:{tel}': '如需海外仓服务,请联系客服,服务热线:{tel}',
'搜索': 'Search'
}
......@@ -987,129 +987,125 @@ export default {
info: "暂无数据~",
},
delivery: {
header: "我要发货",
orderType: "订单类型",
orderType1: "集运服务",
orderType2: "海外仓",
consigneeName: "收货人",
consigneeNameNotice: "请输入收货人姓名",
consigneeNameNoticeEn: "请输入收货人英文名称",
openConsignee: "选择收货人",
consigneePhone: "电话",
consigneePhoneNotice: "请输入电话",
consigneeCompany: "收货人公司名称",
consigneeCompanyNotice: "请输入公司名称",
consigneeCompanyNoticeEn: "请输入公司英文名称",
emailNotice: "请输入邮箱",
transport: "运输方式",
transportNotice: "请选择运输方式",
channel: "出货渠道",
channelNotice: "请选择出货渠道",
departure: "始发城市",
departureRules: "始发城市必选",
departureNotice: "请选择始发地",
objective: "目的城市",
objectiveRules: "目的城市必选",
objectiveNotice: "请选择目的地",
router: "请选择线路",
routerNotice: "请在右侧选择线路",
goods: "商品信息",
addPro: "添加货物",
addPros: "批量添加货物",
index: "序号",
proZh: "中文品名",
proEn: "英文品名",
proRules: "请选择产品",
brand: "品牌",
num: "件数",
unit: "包装单位",
quantity: "数量",
volume: "体积",
weight: "重量",
worth: "货值",
worthRules: "货值不能为空",
prodAttrArr: "商品特性",
isPayAdvance: "是否预付",
link: "商品链接",
linkedit: "编辑商品链接",
linkadd: "添加商品链接",
sum: "合计",
totalNum: "总件数",
totalWorth: "总货值",
insuranceFee: "保价费",
rmb: "",
dollar: "美元",
common: "通用",
marks: "唛头",
marksRules: "请输入唛头",
marksRules1: "唛头首位必须为字母",
isCargoControl: "是否控货",
isCollection: "是否代收货款",
collectionProxy: "代收货款金额",
customsType: "单证报关",
issuingMethod: "出单方式",
deliveryDate: "送货日期",
deliveryDateRules: "送货日期不能为空",
warehouseType: "入仓类型",
harvestMethod: "收货方式",
deliveryaddress: "收货地区",
deliveryaddressRules: "收货地区不能为空",
addressdetail: "收货详细地址",
addressdetailRules: "收货详细地址不能为空",
drawee: "付款人",
customDraweeList: "费用类型",
number: "快递单号",
numberNotice: "请输入购买商品的快递单号",
getNumber: "生成单号",
doubleClear: "是否双清",
airlineCompany: "航空公司",
shippingCompany: "船公司",
customsClearCert: "清关证书",
clearCertRemark: "清关证书备注",
isUnpack: "是否拆包",
isSingleTicketTransport: "单票立刻转运",
notice:
"注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”",
packageType: "特殊要求",
packageRemarks: "特殊要求备注",
select: "选择",
addCustomer: "新建收货人",
batchImport: "批量导入",
uoloadBox: "上传集装箱",
startImport: "开始导入",
complete: "完成",
upload: "点击上传",
boxTpl: "装箱单模板",
material: "材质",
next: "下一步",
none: "",
realName: "请先完成实名认证",
linkRules: "请输入商品链接",
delPro: "确定删除此条内容么?",
isContainNotice: "订单包含不接受货物,请检查",
consignorConfirm: "请再次确认国际运费是否由您支付?",
isCargoControlNotice:
"是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式",
customsTypeNotice:
"我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现",
packageTypeNotice:
"如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充",
header: '我要发货',
orderType: '订单类型',
orderType1: '集运服务',
orderType2: '海外仓',
consigneeName: '收货人',
consigneeNameNotice: '请输入收货人姓名',
consigneeNameNoticeEn: '请输入收货人英文名称',
openConsignee: '选择收货人',
consigneePhone: '电话',
consigneePhoneNotice: '请输入电话',
consigneeCompany: '公司名称',
consigneeCompanyNotice: '请输入公司名称',
consigneeCompanyNoticeEn: '请输入公司英文名称',
emailNotice: '请输入邮箱',
transport: '运输方式',
transportNotice: '请选择运输方式',
channel: '出货渠道',
channelNotice: '请选择出货渠道',
departure: '始发城市',
destCountryRules: '目的国必选',
departureRules: '始发城市必选',
departureNotice: '请选择始发地',
objective: '目的城市',
objectiveRules: '目的城市必选',
objectiveNotice: '请选择目的地',
router: '请选择线路',
routerNotice: '请在右侧选择线路',
goods: '商品',
addPro: '添加货物',
addPros: '批量添加货物',
index: '序号',
proZh: '中文品名',
proEn: '英文品名',
proRules: '请选择产品',
brand: '品牌',
num: '件数',
unit: '包装单位',
quantity: '数量',
volume: '体积',
weight: '重量',
worth: '货值',
worthRules: '货值不能为空',
prodAttrArr: '商品特性',
isPayAdvance: '是否预付',
link: '商品链接',
linkedit: '编辑商品链接',
linkadd: '添加商品链接',
sum: '合计',
totalNum: '总件数',
totalWorth: '总货值',
insuranceFee: '保价费',
rmb: '',
dollar: '美元',
common: '通用',
marks: '唛头',
marksRules: '请输入唛头',
marksRules1: '唛头首位必须为字母',
isCargoControl: '是否控货',
isCollection: '是否代收货款',
collectionProxy: '代收货款金额',
customsType: '单证报关',
issuingMethod: '出单方式',
deliveryDate: '送货日期',
deliveryDateRules: '送货日期不能为空',
warehouseType: '入仓类型',
harvestMethod: '收货方式',
deliveryaddress: '收货地区',
deliveryaddressRules: '收货地区不能为空',
addressdetail: '收货详细地址',
addressdetailRules: '收货详细地址不能为空',
drawee: '付款人',
customDraweeList: '费用类型',
number: '快递单号',
numberNotice: '请输入购买商品的快递单号',
getNumber: '生成单号',
doubleClear: '是否双清',
airlineCompany: '航空公司',
shippingCompany: '船公司',
customsClearCert: '清关证书',
clearCertRemark: '清关证书备注',
isUnpack: '是否拆包',
isSingleTicketTransport: '单票立刻转运',
notice: '注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”',
packageType: '特殊要求',
packageRemarks: '特殊要求备注',
select: '选择',
addCustomer: '新建收货人',
batchImport: '批量导入',
uoloadBox: '上传集装箱',
startImport: '开始导入',
complete: '完成',
upload: '点击上传',
boxTpl: '装箱单模板',
material: '材质',
next: '下一步',
none: '',
realName: '请先完成实名认证',
linkRules: '请输入商品链接',
delPro: '确定删除此条内容么?',
isContainNotice: '订单包含不接受货物,请检查',
consignorConfirm: '请再次确认国际运费是否由您支付?',
isCargoControlNotice: '是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式',
customsTypeNotice: '我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现',
packageTypeNotice: '如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充'
},
deliverysuccess: {
success: "新建订单成功",
orderNo: "您的订舱号",
startAddress: "仓库地址",
startTell: "仓库电话",
text: "您的订单已提交,谢谢您选择捷道物流!",
delivery: "再来一单",
profile: "个人中心",
detail: "查看订单",
push: "入仓须知",
notice:
"为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)",
products: "商品列表",
productCount: "总件数",
copy: "复制订单信息",
success: '新建订单成功',
orderNo: '您的订舱号',
startAddress: '仓库地址',
startTell: '仓库电话',
text: '您的订单已提交,谢谢您选择捷道物流!',
delivery: '再来一单',
profile: '个人中心',
detail: '查看订单',
push: '入仓须知',
notice: '为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)',
products: '商品列表',
productCount: '总件数',
copy: '复制订单信息'
},
exchange: {
confirmNumberLabel: `已选{value}件,合计积分:`,
......@@ -1196,4 +1192,5 @@ export default {
remark: "备注",
errorMsg: "地址提交后无法修改,如需修改地址请联系客服",
},
'如需海外仓服务,请联系客服,服务热线:{tel}': '如需海外仓服务,请联系客服,服务热线:{tel}'
};
......@@ -28,7 +28,7 @@
/>
</div>
<el-form ref="form" :model="form" :rules="rules">
<el-form ref="form" :model="form" :rules="rules" :validate-on-rule-change="false">
<section-title lang-key="delivery.header">
{{$t('delivery.consigneeName')}}
<el-radio-group v-if="noConsignee" v-model="hasConsignee">
......@@ -45,6 +45,7 @@
prop="consigneeName"
>
<el-input
:disabled="!hasConsignee"
v-model="form.consigneeName"
:placeholder="$t('delivery.consigneeNameNotice')"
style="width: 200px"
......@@ -53,6 +54,7 @@
style="margin-left: 5px"
type="text"
@click="openConsignee"
:disabled="!hasConsignee"
>{{ $t("delivery.openConsignee") }}</el-button>
</el-form-item>
</el-col>
......@@ -62,6 +64,7 @@
prop="consigneePhone"
>
<el-select
:disabled="!hasConsignee"
v-model="form.countryCode"
style="width: 100px"
@change="(val) => changeArea(val, form.consigneePhone)"
......@@ -76,6 +79,7 @@
</el-option>
</el-select>
<el-input
:disabled="!hasConsignee"
v-model="form.consigneePhone"
:placeholder="$t('delivery.consigneePhoneNotice')"
style="width: 180px"
......@@ -96,6 +100,7 @@
prop="consigneeNameEn"
>
<el-input
:disabled="!hasConsignee"
v-model="form.consigneeNameEn"
:placeholder="$t('delivery.consigneeNameNoticeEn')"
style="width: 200px"
......@@ -105,6 +110,7 @@
<el-col :span="6">
<el-form-item :label="$t('delivery.consigneeCompany')">
<el-input
:disabled="!hasConsignee"
v-model="form.consigneeCompany"
:placeholder="$t('delivery.consigneeCompanyNotice')"
style="width: 150px"
......@@ -114,6 +120,7 @@
<el-col :span="6">
<el-form-item :label="$t('orderdetail.consigneeCompanyEn')">
<el-input
:disabled="!hasConsignee"
v-model="form.consigneeCompanyEn"
:placeholder="$t('delivery.consigneeCompanyNoticeEn')"
style="width: 150px"
......@@ -123,6 +130,7 @@
<el-col :span="6">
<el-form-item label="Email">
<el-input
:disabled="!hasConsignee"
v-model="form.consigneeEmail"
:placeholder="$t('delivery.emailNotice')"
style="width: 200px"
......@@ -138,7 +146,7 @@
<el-descriptions :column="2" border>
<el-descriptions-item
:label="$t('delivery.transport')"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span
slot="label"
......@@ -164,7 +172,7 @@
<!--始发城市-->
<el-descriptions-item
:label="$t('delivery.departure')"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span
slot="label"
......@@ -195,7 +203,7 @@
<!--目的国-->
<el-descriptions-item
:label="$t('delivery.objective')"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span
slot="label"
......@@ -227,7 +235,7 @@
<!--目的城市-->
<el-descriptions-item
:label="$t('delivery.objective')"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span
slot="label"
......@@ -260,7 +268,7 @@
<el-descriptions-item
:label="$t('delivery.router')"
:span="3"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span
slot="label"
......@@ -296,7 +304,7 @@
.cssClass == 'channel'
"
:label="$t('delivery.channel')"
label-style="width:100px"
:label-style="{width: '100px'}"
>
<span slot="label">{{ $t("delivery.channel") }}</span>
<el-form-item
......@@ -742,7 +750,7 @@
required
:error="$t('delivery.marksRules')"
>
<el-input v-model="form.marks" placeholder="" />
<el-input v-model="form.marks" placeholder="" class="w-150" />
</el-form-item>
</el-descriptions-item>
<!--单证报关-->
......@@ -799,6 +807,7 @@
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter="bool"
form-type="radio"
:disabled="!hasConsignee"
/>
</el-form-item>
</el-descriptions-item>
......@@ -851,6 +860,7 @@
required
>
<dict-selector
class="w-150"
v-model="form.warehouseType"
:type="DICT_TYPE.ECW_WAREHOUSING_TYPE"
defaultable
......@@ -863,7 +873,7 @@
<el-checkbox label="" v-model="form.isExternalWarehouse" @change="form.isExternalWarehouse=$event" :disabled="false"></el-checkbox>
</el-form-item>
<div v-if="form.isExternalWarehouse">
<div v-for="(item, index) in form.externalWarehouseDtoList" class="" :key="index"
<div v-for="(item, index) in form.externalWarehouseDtoList" :key="index"
style="border-bottom: 1px solid #ccc; margin-bottom: 10px">
<div class="flex-1">
<el-form-item :label="$t('装货时间')"
......@@ -872,7 +882,7 @@
required: true, message: '装货时间不能为空', trigger: 'blur'
}"
>
<el-date-picker v-model="item.estLoadingTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker>
<el-date-picker v-model="item.estLoadingTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-150"></el-date-picker>
</el-form-item>
</div>
<div class="flex-1">
......@@ -882,7 +892,7 @@
required: true, message: '装货地址不能为空', trigger: 'blur'
}"
>
<el-input v-model="item.loadingAddress" placeholder="" class="w-200"></el-input>
<el-input v-model="item.loadingAddress" placeholder="" class="w-150"></el-input>
</el-form-item>
</div>
</div>
......@@ -907,6 +917,7 @@
:error="$t('delivery.deliveryDateRules')"
>
<el-date-picker
class="w-150"
v-model="form.deliveryDate"
value-format="yyyy-MM-dd HH:mm:ss"
/>
......@@ -972,6 +983,7 @@
required
>
<dict-selector
class="w-150"
v-model="form.harvestMethod"
:type="DICT_TYPE.ECW_HARVEST_METHOD"
:filter="(item) => item.value == 1 || homeDeliveryService"
......@@ -995,12 +1007,9 @@
prop="city"
>
<area-selector
:country="
form.consigneeVO ? form.consigneeVO.country : undefined
"
:province="
form.consigneeVO ? form.consigneeVO.province : undefined
"
input-width="150px"
:country="form.consigneeVO ? form.consigneeVO.country : undefined"
:province="form.consigneeVO ? form.consigneeVO.province : undefined"
:city="form.consigneeVO ? form.consigneeVO.city : undefined"
@countryChange="onAreaChange('country', $event)"
@provinceChange="onAreaChange('province', $event)"
......@@ -1029,7 +1038,7 @@
<template #header>
<section-title :title="$t('其他')"></section-title>
</template>
<el-descriptions :column="2" label-style="width: 120px" border>
<el-descriptions :column="2" :label-style="{width: '100px'}" border>
<el-descriptions-item>
<span
slot="label"
......@@ -1055,7 +1064,7 @@
<el-descriptions-item :label="$t('特殊要求备注')">
<!--包装备注-->
<el-form-item prop="packageRemarks">
<el-input v-model="form.packageRemarks" type="textarea" class="w-200" />
<el-input v-model="form.packageRemarks" type="textarea" class="w-150" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('delivery.number')">
......@@ -1064,13 +1073,13 @@
<el-input
v-model="form.number"
:placeholder="$t('delivery.numberNotice')"
>
<el-button
slot="append"
type="primary"
@click="getOrderCourierNumber"
>{{ $t("delivery.getNumber") }}</el-button>
</el-input>
class="w-150"
></el-input>
<el-button
class="ml-10"
type="default"
@click="getOrderCourierNumber"
>{{ $t("delivery.getNumber") }}</el-button>
</el-form-item>
</el-descriptions-item>
<template v-if="isAir">
......@@ -1120,7 +1129,7 @@
</template>
<!--出单方式,新的原型没有提现,暂时隐藏显示-->
<el-descriptions-item :label="$t('delivery.issuingMethod')" v-false>
<el-descriptions-item :label="$t('delivery.issuingMethod')" v-if="false">
<span
slot="label"
><span style="color: red">*</span>{{ $t("delivery.issuingMethod") }}</span>
......@@ -1181,14 +1190,19 @@
v-if="editFlag || form.status == 0"
type="primary"
@click="submitForm(2)"
:disabled="isOverSeaWareHouse"
>{{ $t("提交") }}</el-button>
<el-button
v-if="form.status == 2 && !editFlag"
type="primary"
@click="submitForm(2, false)"
:disabled="isOverSeaWareHouse"
>{{ $t("提交") }}</el-button>
<el-button @click="$router.back()">{{ $t("common.cancel") }}</el-button>
</el-form-item>
<div style="padding-bottom: 20px; font-size: 12px; color: red" v-if="isOverSeaWareHouse">
{{$t('如需海外仓服务,请联系客服,服务热线:{tel}', {tel: '400-900-9962'})}}
</div>
</el-form>
<!-- 收货人列表弹窗 -->
<el-dialog
......@@ -1198,6 +1212,21 @@
append-to-body
:close-on-click-modal="false"
>
<div class="mb-10">
<el-input
class="w-200"
v-model="customeParams.searchKey"
placeholder="请输入姓名/公司/电话"
clearable
@clear="getCustomerList(true)"
@change="getCustomerList(true)"
/>
<el-button
type="primary"
@click="getCustomerList(true)"
style="margin-left: 10px"
>{{ $t("搜索") }}</el-button>
</div>
<div v-if="!addCustomerShow">
<el-table
ref="consigneeTable"
......@@ -1616,7 +1645,8 @@ export default {
// 查询参数
customeParams: {
page: 1,
rows: 10
rows: 10,
searchKey: ''
},
editFlag: true,
consigneeVisdle: false,
......@@ -1625,57 +1655,6 @@ export default {
defaultContact: false
},
groupList: [],
rules: {
consigneeName: [
{
required: true,
message: this.$t('delivery.consigneeNameNotice'),
trigger: 'blur'
}
],
consigneeCompany: [
{
required: true,
message: this.$t('delivery.consigneeCompanyNotice'),
trigger: 'blur'
}
],
consigneePhone: [
{
required: true,
message: this.$t('delivery.consigneePhoneNotice'),
trigger: 'blur'
},
{ pattern: /^[0-9]\d*$/, message: this.$t('customer.phoneRules2') }
],
transportId: [
{
required: true,
message: this.$t('delivery.transportNotice'),
trigger: 'blur'
}
],
marks: [
{ required: true, message: this.$t('delivery.marksRules') },
// { pattern: /[A-z]/, message: this.$t('delivery.marksRules1') }
],
departureId: [
{ required: true, message: this.$t('delivery.departureRules') }
],
objectiveId: [
{ required: true, message: this.$t('delivery.objectiveRules') }
],
lineId: [{ required: true, message: this.$t('delivery.router') }],
deliveryDate: [
{ required: true, message: this.$t('delivery.deliveryDateRules') }
],
consigneeAddress: [
{ required: true, message: this.$t('delivery.addressdetailRules') }
],
city: [
{ required: true, message: this.$t('delivery.deliveryaddressRules') }
]
},
addCustomerRules: {
name: [
{
......@@ -1720,7 +1699,9 @@ export default {
// 仓库区域树形列表
warehouseTreeList: [],
// 选择的路线对象
selectedRouter: null
selectedRouter: null,
// 客户搜索关键词
customerSearchKey: ''
}
},
computed: {
......@@ -1871,6 +1852,68 @@ export default {
showDestCityList(){
if(!this.form.destCountryId) return this.destCityList
return this.destCityList.filter(item => item.guojia === this.form.destCountryId) || []
},
isOverSeaWareHouse(){
return this.form.type?.indexOf('2') > -1
},
rules(){
const rules = {
transportId: [
{
required: true,
message: this.$t('delivery.transportNotice'),
trigger: 'blur'
}
],
marks: [
{ required: true, message: this.$t('delivery.marksRules') },
// { pattern: /[A-z]/, message: this.$t('delivery.marksRules1') }
],
destCountryId: [
{ required: true, message: this.$t('delivery.destCountryRules') }
],
departureId: [
{ required: true, message: this.$t('delivery.departureRules') }
],
objectiveId: [
{ required: true, message: this.$t('delivery.objectiveRules') }
],
lineId: [{ required: true, message: this.$t('delivery.router') }],
deliveryDate: [
{ required: true, message: this.$t('delivery.deliveryDateRules') }
],
consigneeAddress: [
{ required: true, message: this.$t('delivery.addressdetailRules') }
],
city: [
{ required: true, message: this.$t('delivery.deliveryaddressRules') }
]
}
if(this.hasConsignee){
rules.consigneeName = [
{
required: true,
message: this.$t('delivery.consigneeNameNotice'),
trigger: 'blur'
}
]
rules.consigneeCompany = [
{
required: true,
message: this.$t('delivery.consigneeCompanyNotice'),
trigger: 'blur'
}
]
rules.consigneePhone = [
{
required: true,
message: this.$t('delivery.consigneePhoneNotice'),
trigger: 'blur'
},
{ pattern: /^[0-9]\d*$/, message: this.$t('customer.phoneRules2') }
]
}
return rules
}
},
watch: {
......@@ -1920,7 +1963,7 @@ export default {
// 服务
'form.type'(type){
if(type.indexOf('2') > -1){
this.$alert(this.$t('如需海外仓服务,请联系客服,服务热线:400-900-9962'))
this.$alert(this.$t('如需海外仓服务,请联系客服,服务热线:{tel}', {tel: '400-900-9962'}))
}
},
'form.isExternalWarehouse'(isExternalWarehouse){
......@@ -1952,9 +1995,48 @@ export default {
if (!enable && this.form.harvestMethod != 1) {
this.form.harvestMethod = 1
}
},
hasConsignee(){
// 无收货人,默认发货人付款,而且必须控货
if(!this.hasConsignee){
this.form.drawee = 1
this.form.isCargoControl = true
this.$refs.form.clearValidate("consigneeName")
this.$refs.form.clearValidate("consigneePhone")
this.$refs.form.clearValidate("consigneeCompany")
}
}
},
async created() {
await this.getCustomerList()
await getCountryList().then((r) => {
this.countryList = r.data
})
await getListTree({treeType: 1}).then(res => {
this.dstCountryList = res.data
})
await getData({ page: 1, rows: 100, dictType: 'transport_type' }).then((r) => {
this.transportTypeList = r.data.list
})
await getData({ page: 1, rows: 100, dictType: 'coupon_type' }).then((r) => {
this.couponTypeList = r.data.list
})
await getGroupList({ page: 1, rows: 100 }).then((r) => {
this.groupList = r.data.list
this.groupList.push({ id: 0, title: this.$t('delivery.none') })
})
await getProductAttrList().then((res) => (this.productAttrList = res.data))
// getChannelList().then((res) => (this.channelList = res.data))
await await this.getTradeCity()
await await this.getChannelList()
await getCurrencyList().then((res) => (this.currencyList = res.data))
await getGuojiaAndShiAndWarehouseList({tradeType: 1}).then(res => {
this.destCountryList = res.data.guojiaList
this.destCityList = res.data.shiList
// this.destWarehoustList = res.data.warehouseList
})
// this.getIdCard()
if (this.$route.query.tranfId) {
setTimeout(() => {
......@@ -1962,7 +2044,7 @@ export default {
}, 500)
}
if (this.$route.query.id) {
getOrderDetail(this.$route.query.id).then((res) => {
await getOrderDetail(this.$route.query.id).then((res) => {
this.form = Object.assign({}, res.data, { orderItemVOList: [] })
this.form.deliveryDate = res.data.deliveryDate
this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone)
......@@ -1993,34 +2075,9 @@ export default {
})
})
} else this.addProduct()
this.getCustomerList()
getCountryList().then((r) => {
this.countryList = r.data
})
getListTree({treeType: 1}).then(res => {
this.dstCountryList = res.data
})
getData({ page: 1, rows: 100, dictType: 'transport_type' }).then((r) => {
this.transportTypeList = r.data.list
})
getData({ page: 1, rows: 100, dictType: 'coupon_type' }).then((r) => {
this.couponTypeList = r.data.list
})
getGroupList({ page: 1, rows: 100 }).then((r) => {
this.groupList = r.data.list
this.groupList.push({ id: 0, title: this.$t('delivery.none') })
})
getProductAttrList().then((res) => (this.productAttrList = res.data))
// getChannelList().then((res) => (this.channelList = res.data))
await this.getTradeCity()
await this.getChannelList()
getCurrencyList().then((res) => (this.currencyList = res.data))
getGuojiaAndShiAndWarehouseList({tradeType: 1}).then(res => {
this.destCountryList = res.data.guojiaList
this.destCityList = res.data.shiList
// this.destWarehoustList = res.data.warehouseList
})
await this.$nextTick()
this.$refs.form.clearValidate()
},
methods: {
async getTradeCity() {
......@@ -2102,7 +2159,11 @@ export default {
}
})
},
getCustomerList() {
getCustomerList(reload = false) {
if(reload){
this.customeParams.page = 1
this.customerList = []
}
getCustomerList(this.customeParams).then((r) => {
this.customerList = r.data.list
this.total = r.data.total
......@@ -2151,7 +2212,7 @@ export default {
openConsignee() {
this.consigneeVisdle = true
},
selectConsignee(val) {
async selectConsignee(val) {
if (val) {
console.log(val)
this.form.consigneeName = val.name
......@@ -2166,6 +2227,9 @@ export default {
}
this.consigneeVisdle = false
this.$refs.consigneeTable.setCurrentRow()
await this.$nextTick()
this.$refs.form.clearValidate('consigneeName')
this.$refs.form.clearValidate('consigneePhone')
}
},
updateCustomer(row) {
......@@ -2568,7 +2632,7 @@ export default {
color: #ffffff;
}
::v-deep .el-descriptions-item__content .el-form-item{
margin-bottom: 0;
/*margin-bottom: 0;*/
}
.card-title {
display: flex;
......
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