Commit a5e0f4af authored by chenwei's avatar chenwei

提交关于个人信息的代码

parent 79ebf587
import request from '@/utils/request'
import request from "@/utils/request";
export function login(data) {
return request({
url: '/app-api/member/login',
method: 'post',
data
})
url: "/app-api/member/login",
method: "post",
data,
});
}
export function reg(data) {
return request({
url: '/app-api/member/reg',
method: 'post',
data
})
url: "/app-api/member/reg",
method: "post",
data,
});
}
export function smsLogin(data) {
return request({
url: '/app-api/member/sms-login',
method: 'post',
data
})
url: "/app-api/member/sms-login",
method: "post",
data,
});
}
export function resetPwd(data) {
return request({
url: '/app-api/member/reset-password',
method: 'post',
data
})
url: "/app-api/member/reset-password",
method: "post",
data,
});
}
export function getInfo(query) {
return request({
url: '/app-api/member/user/get',
method: 'get',
params: query
})
url: "/app-api/member/user/get",
method: "get",
params: query,
});
}
export function getCompanyInfo(query) {
return request({
url: '/app-api/member/user/getCompanyInfo',
method: 'get',
params: query
})
url: "/app-api/member/user/getCompanyInfo",
method: "get",
params: query,
});
}
export function logout() {
return request({
url: '/vue-element-admin/user/logout',
method: 'post'
})
url: "/vue-element-admin/user/logout",
method: "post",
});
}
export function getCode(data) {
return request({
url: '/app-api/member/send-sms-code',
method: 'post',
data
})
url: "/app-api/member/send-sms-code",
method: "post",
data,
});
}
export function updatePwd(data) {
return request({
url: '/app-api/member/update-password',
method: 'post',
data
})
url: "/app-api/member/update-password",
method: "post",
data,
});
}
export function update(data) {
return request({
url: '/app-api/member/user/update',
method: 'put',
data
})
url: "/app-api/member/user/update",
method: "put",
data,
});
}
export function createCompanyInfo(data) {
return request({
url: '/app-api/member/user/createCompanyInfo',
method: 'post',
data
})
url: "/app-api/member/user/createCompanyInfo",
method: "post",
data,
});
}
export function updateCompanyInfo(data) {
return request({
url: '/app-api/member/user/updateCompanyInfo',
method: 'put',
data
})
url: "/app-api/member/user/updateCompanyInfo",
method: "put",
data,
});
}
export function getCountryList(query) {
return request({
url: '/app-api/ecw/country/list-all',
method: 'get',
params: query
})
url: "/app-api/ecw/country/list-all",
method: "get",
params: query,
});
}
export function updateMobile(data) {
return request({
url: '/app-api/member/user/update-mobile',
method: 'post',
data
})
url: "/app-api/member/user/update-mobile",
method: "post",
data,
});
}
export function authIdCard(data) {
return request({
url: '/app-api/member/user/auth-idcard',
method: 'put',
data
})
url: "/app-api/member/user/auth-idcard",
method: "put",
data,
});
}
export function uploadFile(data) {
return request({
url: '/app-api/file/upload',
method: 'post',
data: data
})
url: "/app-api/file/upload",
method: "post",
data: data,
});
}
export function upNamefile(data) {
return request({
url: '/app-api/file/org-name/up',
method: 'post',
data: data
})
url: "/app-api/file/org-name/up",
method: "post",
data: data,
});
}
export function getIdCard(query) {
return request({
url: '/app-api/member/user/get-auth-idcard-info',
method: 'get',
params: query
})
url: "/app-api/member/user/get-auth-idcard-info",
method: "get",
params: query,
});
}
export function updateAvatar(data) {
return request({
url: '/app-api/member/user/new/update-Avatar?avatar=' + data,
method: 'put'
})
url: "/app-api/member/user/new/update-Avatar?avatar=" + data,
method: "put",
});
}
export function sendEmailCode(data) {
return request({
url: '/app-api/member/send-email-code',
method: 'post',
data: data
})
url: "/app-api/member/send-email-code",
method: "post",
data: data,
});
}
export function bindEmail(data) {
return request({
url: '/app-api/member/user/bind-email',
method: 'post',
data: data
})
url: "/app-api/member/user/bind-email",
method: "post",
data: data,
});
}
export function getMark(query) {
return request({
url: '/app-api/member/user/angle-mark',
method: 'get',
params: query
})
url: "/app-api/member/user/angle-mark",
method: "get",
params: query,
});
}
// 重置控货密码
export function resetControlPwd(data) {
return request({
url: '/app-api/member/reset-control-password',
method: 'post',
data
})
url: "/app-api/member/reset-control-password",
method: "post",
data,
});
}
// 检查是否有设置控货密码,按订单id
export function checkControlPwd(orderId) {
return request({
url: '/app-api/order/order-cargo-control/controlPassword/' + orderId,
method: 'get'
})
url: "/app-api/order/order-cargo-control/controlPassword/" + orderId,
method: "get",
});
}
//获取城市
export function getCityListByParent(query) {
console.log("99999", query);
return request({
url: "/admin-api/ecw/region/getCityListByParent",
method: "get",
params: query,
});
}
//获取国家
export function getTradeCountryList(query) {
return request({
url: "/admin-api/ecw/region/getTradeCountryList",
method: "get",
params: query,
});
}
export default {
common: {
success: 'successful',
reload: 'reset',
search: 'search',
add: 'add',
update: 'revamp',
delete: 'delete',
save: 'save',
back: 'back',
action: 'action',
submit: 'submit',
cancel: 'cancel'
success: "successful",
reload: "reset",
search: "search",
add: "add",
update: "revamp",
delete: "delete",
save: "save",
back: "back",
action: "action",
submit: "submit",
cancel: "cancel",
},
route: {
dashboard: 'home page',
profile: 'profile',
setting: 'setting',
advice: 'advice',
help: 'help',
message: 'message',
messagedetail: 'message text',
notice: 'notification',
noticedetail: 'notification',
bannerdetail: 'banner detail',
coupons: 'coupons',
customer: 'customers',
supplier: 'suppliers',
ecash: 'e-cash',
delivery: 'delivery',
controlorder: 'on hlod orders',
waitmoneyorder: 'outstanding balance',
receivedorder: 'received orders',
postorder: 'delivered order',
orderdetail: 'order details',
price: 'price',
logistics: 'logistics status',
abnormal: 'exception handling',
idcard: 'Certification',
deliverysuccess: 'Order placed successfully.'
dashboard: "home page",
profile: "profile",
setting: "setting",
advice: "advice",
help: "help",
message: "message",
messagedetail: "message text",
notice: "notification",
noticedetail: "notification",
bannerdetail: "banner detail",
coupons: "coupons",
customer: "customers",
supplier: "suppliers",
ecash: "e-cash",
delivery: "delivery",
controlorder: "on hlod orders",
waitmoneyorder: "outstanding balance",
receivedorder: "received orders",
postorder: "delivered order",
orderdetail: "order details",
price: "price",
logistics: "logistics status",
abnormal: "exception handling",
idcard: "Certification",
deliverysuccess: "Order placed successfully.",
},
login: {
title: 'login',
logIn: 'login',
username: 'username',
password: 'password',
forget: 'forgotten',
mobile: 'phone number',
code: 'verification code',
type: 'login method',
getCode: 'getCode',
userLogin: 'userLogin',
mobileLogin: 'mobileLogin',
registered: 'register>>',
bgTitle1: 'E&C Logistics',
bgTitle2: 'Member Benefits',
bgTitle3: 'Bonus points',
bgTitle4: 'orders management',
bgTitle5: 'Logistics status management',
bgTitle6: 'Electronic waybill ',
bgTitle7: 'On hold in time',
bgTitle8: 'Data statistics',
mobileRules: 'The phone number cannot be empty',
codeRules: 'The verification code cannot be empty',
nameRules: 'The account cannot be empty',
passwordRules: 'The password cannot be empty',
nameEnRules: 'The nameEn cannot be empty',
confirmPwdRules: 'The confirmPwd cannot be empty'
title: "login",
logIn: "login",
username: "username",
password: "password",
forget: "forgotten",
mobile: "phone number",
code: "verification code",
type: "login method",
getCode: "getCode",
userLogin: "userLogin",
mobileLogin: "mobileLogin",
registered: "register>>",
bgTitle1: "E&C Logistics",
bgTitle2: "Member Benefits",
bgTitle3: "Bonus points",
bgTitle4: "orders management",
bgTitle5: "Logistics status management",
bgTitle6: "Electronic waybill ",
bgTitle7: "On hold in time",
bgTitle8: "Data statistics",
mobileRules: "The phone number cannot be empty",
codeRules: "The verification code cannot be empty",
nameRules: "The account cannot be empty",
passwordRules: "The password cannot be empty",
nameEnRules: "The nameEn cannot be empty",
confirmPwdRules: "The confirmPwd cannot be empty",
},
registered: {
title: 'registered',
registered: 'registered',
code: 'code',
getCode: 'getCode',
mobile: 'mobile',
nameEn: 'nameEn',
password: 'password',
passwordPlaceholder: 'The password contains 6 to 32 letters and digits',
confirmPwd: 'confirmPwd',
confirmPwdPlaceholder: 'confirmPwd again',
weak: 'weak',
medium: 'medium',
strong: 'strong',
login: 'login>>',
forget: 'forgotten',
backLogin: 'backLogin',
update: 'revamp',
problem: 'problem?',
contact: 'contact'
title: "registered",
registered: "registered",
code: "code",
getCode: "getCode",
mobile: "mobile",
nameEn: "nameEn",
password: "password",
passwordPlaceholder: "The password contains 6 to 32 letters and digits",
confirmPwd: "confirmPwd",
confirmPwdPlaceholder: "confirmPwd again",
referralCodePlaceholder: "Please enter a recommendation code(optional)",
referralCode: "referralCode",
weak: "weak",
medium: "medium",
strong: "strong",
login: "login>>",
forget: "forgotten",
backLogin: "backLogin",
update: "revamp",
problem: "problem?",
contact: "contact",
},
notices: {
name: "your name",
adderss: "please input adress",
nameEn: "your English name",
birthday: "Please select a date of birth",
gender: "Please select gender",
noData: "no data",
Idcode: "Please enter your ID number",
Idtype: "Please select a ID type",
Id1: "Please upload frontal photo of ID",
Id2: "Please upload back side photo of ID",
success: "Submitted successfully",
loading: "Uploading..",
newPhone: "new phone",
edited: "Edited Success",
company: "company name",
companyEn: "English name of company",
addressCom: "company address",
remark: "company profile",
web: "Plesse enter the company's offical website",
stall: "Please enter the booth name",
brand: "Please enter the company brand",
title: "Please enter the title",
orderNo: "Please enter the order number",
content: "Please enter the content",
type: "Please select the type",
please: "select",
lined: "Please select the route",
numbers:
"Please enter the express number, and separate multiple items with (,)",
clearRemark: "Please enter the customs clearance certificate remarks",
specialNote: "Please enter remarks for special needs",
marks: "Please enter the shipping mark, start with a letter",
addressInfo: "Please enter the detailed consignee address",
link: "Please enter the product link",
names: "Please enter the product name",
transport: "Please enter the transport way",
channel: "shipping channel",
startCity: "departure city",
endCity: "pick up location",
marksIn: "shipping mark",
marksNum: "Shipping mark start with numbers are prohibited",
customsType: "Please select the customs declaration type",
date: "Please select the deliver date",
consignorType: "Please select the consignee way",
levite: "Please select the warehousing type",
consignee: "Please enter the consignee name",
consigneePhone: "Please enter the consignee's phone number",
foreignConsignee: "Non-Onhold order available for foreign consignee only",
consigneeEmail: "Please enter consignee's E-mail",
noEmail: "E-mail format error",
creat: "Created successfully",
shopname: "Please selcet the product name",
isBrand: "Please select Brand/Brandless",
num: "Please enter the number of quantity",
unit: "Please select unit",
number: "please enter quantity",
works: "Please enter the value",
add: "Added successfuly",
delete: "Confirm to delete item?",
notice: "Notice",
newEmail: "new E-mail address",
email: "E-mail address",
bind: "Binding succeeded",
phone: "phone",
password: "Please enter your password",
code: "Please enter verification code",
chooseService: "Please tick the service agreement",
oldPsd: "Please enter the old password",
numPsd: "Password consists of 6~32 English letters and numbers",
newPsd: "Please enter the new password",
nextPsd: "Please confirm the password again",
read: "I have carefully read and agreed",
service: "User Service Agreement",
contact: "Have problems? Feel free to contact our customer service",
psd6: "Password cannot be less than 6 digits",
different: "Entered passwords differ",
nickName: "Please enter your nickname",
contactPhone: "Please enter your contact number",
address: "Please enter your address",
department: "Please enter the department name",
job: "Please enter the job title",
moreKey: "B/L NO,Order No.,marks",
reason: "Please tell us the reason for your withdrawal",
sum: "Please enter the carton quantity",
note: "Please enter remarks",
oldControl: "Please enter the original controller",
newControl: "Please enter the new controller",
deleteSuccess: "Deletion succeeded",
cancel: "Cancellation succeeded",
delOrder: "Confirm to delete the order?",
cancelOrder: "Confirm to cancel the order?",
weight: "Please enter the weight",
goodsSum: "Please enter the total quantity",
operation: "Operation succeeded",
openError: "fail to open file",
noLined: "No route available",
height: "Please enter the height",
wide: "Please enter the width",
long: "Please enter the length",
nophone: "Wrong format of phone No",
conNotice:
"The number of cartons cannot be greater than the number of cartons that can be loaded",
newControlTel: "Please enter new controller number",
opening: "opening",
volume: "Please enter the volume",
intNotice1: "num must be greater than 0 And must be an integer",
intNotice2: "quantity must be greater than 0 And must be an integer",
intNotice3: "volume must be greater than 0",
intNotice4: "weight must be greater than 0",
intNotice5: "works must be greater than 0",
easyPass: "Your password is too simple, please go to change it",
update: "Update now",
close: "Close pop-up window",
newVersion: "New version update",
nowVersion: "Current version number",
newVersions: "There is a new version to update",
nowNews: "Currently is the latest version",
startDown: "Downloading...",
failDown: "Installation failed during download. Please try again later",
contactKf: "Contact customers",
isClude: "The order contains goods that are not accepted. Please check!",
keyWord: "Please enter keywords",
copySuccess: "Replicating Success",
copy: "One click copy",
newfile: "Upload a new attachment",
upload: "Download",
back: "return",
upCustome: "Upload customs clearance",
know: "I see",
openFile: "Open File",
saveed: "File saved",
deleteFile: "delete the attachment?",
customsRefund: "Customs refund, prepare necessary documents.",
nofile: "The upload file format is incorrect",
loading: "loading......",
country: "Please select a country",
city: "Please select a city",
fullAddress: "Please enter the detailed address",
fullAddressLength: "Enter up to 100 words",
delAddress: "Are you sure you want to delete the address?",
},
myInfo: {
info: "persoal information",
name: "name",
nameEn: "English name",
birth: "birthday",
sex: "gender",
phone: "phone number",
adderss: "address",
department: "department",
job: "job position",
edit: "edit",
girl: "female",
boy: "male",
secret: "classifield",
country: "country",
city: "city",
},
sidebar: {
userInfo: 'userInfo',
reload: 'refresh',
logout: 'logout>>',
home: 'home',
controlOrder: 'On hold Order',
moneyOrder: 'outstanding balance',
notReadMessage: 'Unread',
coupons: 'coupons',
delivery: 'delivery>>',
price: 'price>>',
myPanel: 'Personal Settings',
myOrder: 'Orders',
myPost: 'Posted',
myReceivedo: 'Received',
controlManage: 'On hold management',
ecash: 'E-Cash',
customerManage: 'Customer management',
myCustomer: 'myCustomer',
mySupplier: 'mySupplier',
setting: 'setting',
help: 'help',
logistics: 'logistics',
service: 'service',
artificial: 'artificial',
focus: 'focus',
complaints: 'complaints',
consult: 'consult',
advice: 'advice',
onlineConsult: 'onlineConsult',
notice: 'notice',
cancel: 'cancel',
determine: 'determine',
realNameNotice1: 'According to the Ministry of Public Security, the State Administration of Work Safety and other departments, all goods warehousing need "real-name" registration, please real-name authentication back in the system',
realNameNotice2: 'The real-name authentication you submitted is under review. The information is as follows',
realNameNotice3: 'The real-name authentication audit you submitted fails. The information is as follows',
logoutNotice: 'Are you sure to log out and exit the system?',
transport: 'select the mode of transportation',
sea: 'Groupage container',
airCargo: 'Air Cargo',
seaAir: 'Sea&air Cargo'
userInfo: "userInfo",
reload: "refresh",
logout: "logout>>",
home: "home",
controlOrder: "On hold Order",
moneyOrder: "outstanding balance",
notReadMessage: "Unread",
coupons: "coupons",
delivery: "delivery>>",
price: "price>>",
myPanel: "Personal Settings",
myOrder: "Orders",
myPost: "Posted",
myReceivedo: "Received",
controlManage: "On hold management",
ecash: "E-Cash",
customerManage: "Customer management",
myCustomer: "myCustomer",
mySupplier: "mySupplier",
setting: "setting",
help: "help",
logistics: "logistics",
service: "service",
artificial: "artificial",
focus: "focus",
complaints: "complaints",
consult: "consult",
advice: "advice",
onlineConsult: "onlineConsult",
notice: "notice",
cancel: "cancel",
determine: "determine",
realNameNotice1:
'According to the Ministry of Public Security, the State Administration of Work Safety and other departments, all goods warehousing need "real-name" registration, please real-name authentication back in the system',
realNameNotice2:
"The real-name authentication you submitted is under review. The information is as follows",
realNameNotice3:
"The real-name authentication audit you submitted fails. The information is as follows",
logoutNotice: "Are you sure to log out and exit the system?",
transport: "select the mode of transportation",
sea: "Groupage container",
airCargo: "Air Cargo",
seaAir: "Sea&air Cargo",
},
profile: {
myPost: 'Posted',
myReceivedo: 'Received',
orderNo: 'orderNo',
transport: 'transportation',
marks: 'marks',
status: 'status',
createTime: 'createTime',
viewMorePost: 'viewMorePosts>>',
viewMoreReceivedo: 'viewMoreReceiveds>>',
notOrder: 'no order~',
know: 'known'
myPost: "Posted",
myReceivedo: "Received",
orderNo: "orderNo",
transport: "transportation",
marks: "marks",
status: "status",
createTime: "createTime",
viewMorePost: "viewMorePosts>>",
viewMoreReceivedo: "viewMoreReceiveds>>",
notOrder: "no order~",
know: "known",
},
setting: {
userInfo: 'userInfo',
nickname: 'nickname',
loginDate: 'loginDate',
advice: 'If your login information is not real, please change in time',
editPassword: 'editPassword',
baseInfo: 'baseInfo',
update: 'revamp',
cancel: 'cancel',
save: 'save',
name: 'name',
mobile: 'mobile',
jobPosition: 'jobPosition',
birthday: 'birthday',
englishName: 'englishName',
address: 'address',
gender: 'gender',
girl: 'female',
male: 'male',
secret: 'secret',
department: 'department',
companyInfo: 'companyInfo',
companyName: 'companyName',
companyDesc: 'company intro',
companyStall: 'companyStall',
companyEnName: 'companyEnName',
companyAddress: 'companyAddress',
companyBand: 'companyBand',
companyWebsite: 'companyWebsite',
safetyVerificat: 'safetyVerificat',
bindMobile: 'bindMobile',
changePhone: 'changePhone',
removePhone: 'removePhone',
bindEmail: 'bindEmail',
ImmediatelyBind: 'ImmediatelyBind',
realName: 'realName',
ImmediatelyrealName: 'ImmediatelyrealName',
passwork: 'password',
passworkNotice: 'Change the password',
passworkUpdate: 'Change the password',
passworkInit: 'Initialize password',
passworkNew: 'new password',
passworkNewRules: 'password cannot be empty',
passworkNewNotice: 'Please enter a new password',
comfirmNewPasswork: 'Confirm the new password',
comfirmNewPassworkRules: 'password cannot be empty',
comfirmNewPassworkNotice: 'Confirm the new password',
reset: 'reset',
determine: 'determine',
passworkOld: 'Old password',
passworkOldRules: 'Old password cannot be empty',
passworkOldotice: 'Please enter the old password',
oldMobile: 'The original binding phone number',
oldMobileRules: 'phone number cannot be empty',
oldMobileNotice: 'enter the original phone number',
passwork1: 'password',
passworkRules1: 'password cannot be empty',
passworkNotice1: 'enter password',
changeMobileRules: 'The telephone must have a numeric value',
newMobileNotice: 'Please enter a new phone number',
mobileCode: 'mobileCode',
mobileCodeRules: 'Code cannot be empty',
mobileCodeNotice: 'enter the code',
getCode: 'getCode',
email: 'email',
emailRules: 'email cannot be empty',
emailRules1: 'Please enter the correct email format',
emailNotice: 'enter email add ',
validate1: 'name',
validate2: 'phone number',
validate3: 'English name',
editPwdNotice: 'Before performing this operation, initialize the password',
initPwdNotice: 'Ensure that the two passwords are the same',
companyWebsiteNotice: "Please fill in the company's official website address",
imgType: 'The file format is incorrect. Upload the image type, such as JPG or PNG'
userInfo: "userInfo",
nickname: "nickname",
loginDate: "loginDate",
advice: "If your login information is not real, please change in time",
editPassword: "editPassword",
baseInfo: "baseInfo",
update: "revamp",
cancel: "cancel",
save: "save",
name: "name",
mobile: "mobile",
jobPosition: "jobPosition",
birthday: "birthday",
englishName: "englishName",
address: "address",
gender: "gender",
girl: "female",
male: "male",
secret: "secret",
department: "department",
companyInfo: "companyInfo",
companyName: "companyName",
companyDesc: "company intro",
companyStall: "companyStall",
companyEnName: "companyEnName",
companyAddress: "companyAddress",
companyBand: "companyBand",
companyWebsite: "companyWebsite",
safetyVerificat: "safetyVerificat",
bindMobile: "bindMobile",
changePhone: "changePhone",
removePhone: "removePhone",
bindEmail: "bindEmail",
ImmediatelyBind: "ImmediatelyBind",
realName: "realName",
ImmediatelyrealName: "ImmediatelyrealName",
passwork: "password",
passworkNotice: "Change the password",
passworkUpdate: "Change the password",
passworkInit: "Initialize password",
passworkNew: "new password",
passworkNewRules: "password cannot be empty",
passworkNewNotice: "Please enter a new password",
comfirmNewPasswork: "Confirm the new password",
comfirmNewPassworkRules: "password cannot be empty",
comfirmNewPassworkNotice: "Confirm the new password",
reset: "reset",
determine: "determine",
passworkOld: "Old password",
passworkOldRules: "Old password cannot be empty",
passworkOldotice: "Please enter the old password",
oldMobile: "The original binding phone number",
oldMobileRules: "phone number cannot be empty",
oldMobileNotice: "enter the original phone number",
passwork1: "password",
passworkRules1: "password cannot be empty",
passworkNotice1: "enter password",
changeMobileRules: "The telephone must have a numeric value",
newMobileNotice: "Please enter a new phone number",
mobileCode: "mobileCode",
mobileCodeRules: "Code cannot be empty",
mobileCodeNotice: "enter the code",
getCode: "getCode",
email: "email",
emailRules: "email cannot be empty",
emailRules1: "Please enter the correct email format",
emailNotice: "enter email add ",
validate1: "name",
validate2: "phone number",
validate3: "English name",
editPwdNotice: "Before performing this operation, initialize the password",
initPwdNotice: "Ensure that the two passwords are the same",
companyWebsiteNotice:
"Please fill in the company's official website address",
imgType:
"The file format is incorrect. Upload the image type, such as JPG or PNG",
},
realName: {
title: 'realName',
name: 'name',
nameRules: 'The name cannot be empty',
nameNotice: 'Please enter your name',
cardType: 'Certification type',
cardTypeRules: 'The certification type cannot be empty',
cardTypeNotice: 'Please select the type',
cardNumber: 'I.d.',
cardNumberRules: 'The ID number cannot be empty',
cardNumberNotice: 'Please enter the ID number',
img1: 'Front photo of certificate',
imgRules1: 'The front photo of the certificate cannot be blank',
upload: 'upload image',
img2: 'Back photo of certificate',
imgRules2: 'The photo on the back of the certificate cannot be blank',
status: 'unauthorized',
status0: 'Wait for review',
status1: 'under review',
status2: 'certified',
status3: 'Fail to pass an review',
uploadNotice: 'You can only upload images, and no more than 20.'
title: "realName",
name: "name",
nameRules: "The name cannot be empty",
nameNotice: "Please enter your name",
cardType: "Certification type",
cardTypeRules: "The certification type cannot be empty",
cardTypeNotice: "Please select the type",
cardNumber: "I.d.",
cardNumberRules: "The ID number cannot be empty",
cardNumberNotice: "Please enter the ID number",
img1: "Front photo of certificate",
imgRules1: "The front photo of the certificate cannot be blank",
upload: "upload image",
img2: "Back photo of certificate",
imgRules2: "The photo on the back of the certificate cannot be blank",
status: "unauthorized",
status0: "Wait for review",
status1: "under review",
status2: "certified",
status3: "Fail to pass an review",
uploadNotice: "You can only upload images, and no more than 20.",
},
abnormal: {
none: 'none',
header: 'view',
marks: 'marks',
sumNum: 'sumNum',
orderStatus: 'orderStatus',
deliveryDate: 'deliveryDate',
transport: 'transportation',
startTitle: 'Original',
destTitle: 'destination',
consignorName: 'consigner',
consignorCompany: 'consigner Company',
consignorPhone: 'consigner phone ',
consigneeName: 'consignee',
consigneeCompany: 'consignee Company',
consigneePhone: 'consignee phone',
header1: 'Details on the problem',
index: 'index',
orderExceptionType: 'Exception types',
orderExceptionDesc: 'Abnormal description',
orderExceptionAmount: 'Amount',
status: 'status',
filelist: 'attachment',
userName: 'userName',
handlerTime: 'handlerTime',
finish: 'finished',
deal: 'deal',
dealAbnormal: 'dealAbnormal'
none: "none",
header: "view",
marks: "marks",
sumNum: "sumNum",
orderStatus: "orderStatus",
deliveryDate: "deliveryDate",
transport: "transportation",
startTitle: "Original",
destTitle: "destination",
consignorName: "consigner",
consignorCompany: "consigner Company",
consignorPhone: "consigner phone ",
consigneeName: "consignee",
consigneeCompany: "consignee Company",
consigneePhone: "consignee phone",
header1: "Details on the problem",
index: "index",
orderExceptionType: "Exception types",
orderExceptionDesc: "Abnormal description",
orderExceptionAmount: "Amount",
status: "status",
filelist: "attachment",
userName: "userName",
handlerTime: "handlerTime",
finish: "finished",
deal: "deal",
dealAbnormal: "dealAbnormal",
},
consult: {
consult: 'consult',
title: 'title',
titleRules: 'The title cannot be empty',
titleNotice: 'Please enter the title of the consultation',
name: 'contact',
nameRules: 'The contact cannot be empty',
nameNotice: 'Please enter contact person',
type: 'type',
type2: 'advice',
type1: 'consult',
phone: 'phone',
phoneRules: 'The contact number cannot be empty',
phoneNotice: 'Please enter your contact number',
orderCode: 'The order number',
orderCodeRules: 'Please enter the order number',
notice: 'If it is a fixed line phone, you need to fill in the area code, just numbers',
content: 'content',
contentRules: 'The content cannot be empty',
contentNotice: 'Please enter suggestions',
submit: 'submit',
record: 'record',
consultName: 'consultName',
createTime: 'createTime',
status: 'status',
status1: 'To reply',
status2: 'In reply to',
status3: 'replied',
replyContent: 'Reply result',
replyTime: 'replyTime'
consult: "consult",
title: "title",
titleRules: "The title cannot be empty",
titleNotice: "Please enter the title of the consultation",
name: "contact",
nameRules: "The contact cannot be empty",
nameNotice: "Please enter contact person",
type: "type",
type2: "advice",
type1: "consult",
phone: "phone",
phoneRules: "The contact number cannot be empty",
phoneNotice: "Please enter your contact number",
orderCode: "The order number",
orderCodeRules: "Please enter the order number",
notice:
"If it is a fixed line phone, you need to fill in the area code, just numbers",
content: "content",
contentRules: "The content cannot be empty",
contentNotice: "Please enter suggestions",
submit: "submit",
record: "record",
consultName: "consultName",
createTime: "createTime",
status: "status",
status1: "To reply",
status2: "In reply to",
status3: "replied",
replyContent: "Reply result",
replyTime: "replyTime",
},
complaint: {
complaint: 'complaint',
title: 'title',
titleRules: 'The title cannot be empty',
titleNotice: 'Please enter the complaint title',
name: 'contact',
nameRules: 'The contact cannot be empty',
nameNotice: 'Please enter the contact person',
type: 'type',
typeRules: 'The type cannot be empty',
typeNotice: 'Please select the type of complaint',
phone: 'phone',
phoneRules: 'The contact number cannot be empty',
phoneNotice: 'Please enter your contact number',
orderCode: 'The order number',
orderCodeRules: 'Please enter the order number',
notice: 'If it is a fixed line phone, you need to fill in the area code, just numbers',
content: 'The complaint content',
contentRules: 'The complaint cannot be empty',
contentNotice: 'Please enter the content of the complaint',
submit: 'submit',
record: 'record',
complaintName: 'complaintName',
createTime: 'createTime',
status: 'status',
status1: 'To be processed',
status2: 'In the processing',
status3: 'processed',
status4: 'cancelled',
replyContent: 'processed result',
replyTime: 'processed time'
complaint: "complaint",
title: "title",
titleRules: "The title cannot be empty",
titleNotice: "Please enter the complaint title",
name: "contact",
nameRules: "The contact cannot be empty",
nameNotice: "Please enter the contact person",
type: "type",
typeRules: "The type cannot be empty",
typeNotice: "Please select the type of complaint",
phone: "phone",
phoneRules: "The contact number cannot be empty",
phoneNotice: "Please enter your contact number",
orderCode: "The order number",
orderCodeRules: "Please enter the order number",
notice:
"If it is a fixed line phone, you need to fill in the area code, just numbers",
content: "The complaint content",
contentRules: "The complaint cannot be empty",
contentNotice: "Please enter the content of the complaint",
submit: "submit",
record: "record",
complaintName: "complaintName",
createTime: "createTime",
status: "status",
status1: "To be processed",
status2: "In the processing",
status3: "processed",
status4: "cancelled",
replyContent: "processed result",
replyTime: "processed time",
},
bannerdetail: {
header: 'bannerdetail',
title: 'title',
time: 'Create time'
header: "bannerdetail",
title: "title",
time: "Create time",
},
controlorder: {
header: 'On hold management',
transport: 'transportation',
orderNo: 'orderNo',
orderNoRules: 'Please enter the order number',
marks: 'marks',
marksRules: 'Please enter the shipping mark',
date: 'date',
start: 'start',
end: 'end',
status: 'status',
cargoControlStatus: 'On hold Status',
createTime: 'createTime',
release: 'release',
transfer: 'transfer',
view: 'view'
header: "On hold management",
transport: "transportation",
orderNo: "orderNo",
orderNoRules: "Please enter the order number",
marks: "marks",
marksRules: "Please enter the shipping mark",
date: "date",
start: "start",
end: "end",
status: "status",
cargoControlStatus: "On hold Status",
createTime: "createTime",
release: "release",
transfer: "transfer",
view: "view",
},
orderdetail: {
orderNo: 'orderNo',
deliveryDate: 'deliveryDate',
transport: 'transportation',
channel: 'Delivery channels',
startTitle: 'Original warehouse',
destTitle: 'Destination warehouse',
startAddress: 'startAddress',
consignorName: 'consignorName',
consignorCompany: 'consignorCompany',
consignorNameEn: 'English consignorName',
consignorCompanyEn: 'English consignorCompany',
consignorPhone: 'consignorPhone',
consignorEmail: 'consignorEmail',
consigneeName: 'consigneeName',
consigneeCompany: 'consigneeCompany',
consigneeNameEn: 'English consigneeName',
consigneeCompanyEn: ' English consigneeCompany',
consigneeEmail: 'consigneeEmail',
consigneePhone: 'consigneePhone',
marks: 'marks',
isCargoControl: 'Is cargo on hold',
baseInfo: 'baseInfo',
transportInfo: 'transportInfo',
costVO: 'orderInfo',
box: 'CTNS',
is: 'yes',
no: 'no',
warehouseNum: 'warehouseNum',
entry: 'receipt data ',
warehouseType: 'warehouseType',
customsType: 'Customs declaration',
isCollection: 'collection',
activeFirst: 'Details of the goods',
activeSecond: 'Order status',
activeThree: 'Packing list',
prodTitleZh: 'Chinese item name',
prodTitleEn: 'English item name',
brand: 'brand',
num: 'num',
sumNum: 'sumNum',
unit: 'unit',
worth: 'worth',
material: 'material',
volume: 'volume(m3)',
weight: 'weight(kg)',
noData: 'noData',
notOrderData: 'notOrderData',
showWarehouseReceipt: 'showWarehouseReceipt',
showLadingBill: 'showLadingBill',
hiddenText: 'Show',
showText: 'Hide',
transInfo: 'Transportation information'
orderNo: "orderNo",
deliveryDate: "deliveryDate",
transport: "transportation",
channel: "Delivery channels",
startTitle: "Original warehouse",
destTitle: "Destination warehouse",
startAddress: "startAddress",
consignorName: "consignorName",
consignorCompany: "consignorCompany",
consignorNameEn: "English consignorName",
consignorCompanyEn: "English consignorCompany",
consignorPhone: "consignorPhone",
consignorEmail: "consignorEmail",
consigneeName: "consigneeName",
consigneeCompany: "consigneeCompany",
consigneeNameEn: "English consigneeName",
consigneeCompanyEn: " English consigneeCompany",
consigneeEmail: "consigneeEmail",
consigneePhone: "consigneePhone",
marks: "marks",
isCargoControl: "Is cargo on hold",
baseInfo: "baseInfo",
transportInfo: "transportInfo",
costVO: "orderInfo",
box: "CTNS",
is: "yes",
no: "no",
warehouseNum: "warehouseNum",
entry: "receipt data ",
warehouseType: "warehouseType",
customsType: "Customs declaration",
isCollection: "collection",
activeFirst: "Details of the goods",
activeSecond: "Order status",
activeThree: "Packing list",
prodTitleZh: "Chinese item name",
prodTitleEn: "English item name",
brand: "brand",
num: "num",
sumNum: "sumNum",
unit: "unit",
worth: "worth",
material: "material",
volume: "volume(m3)",
weight: "weight(kg)",
noData: "noData",
notOrderData: "notOrderData",
showWarehouseReceipt: "showWarehouseReceipt",
showLadingBill: "showLadingBill",
hiddenText: "Show",
showText: "Hide",
transInfo: "Transportation information",
},
customer: {
none: 'none',
customer: 'customers',
group: 'group',
grouping: 'grouping',
name: 'name',
nameEn: 'name (English)',
nameRules: 'The name cannot be empty',
nameNotice: 'Please enter your name',
company: 'company',
companyEn: 'company(English)',
companyRules: 'The company name cannot be empty',
companyNotice: 'Please enter the company name',
phone: 'phone',
phoneRules1: 'The contact number cannot be empty',
phoneRules2: 'The phone must be numbers',
dialCode: 'The area code cannot be empty',
phoneNotice: 'Please enter your contact number',
index: 'index',
createTime: 'createTime',
maitou: 'Marks',
maitouNotice: 'Please enter the shipping mark',
groupBy: 'group',
email: 'email',
emailNotice: 'Please enter your email address',
address: 'address',
addressNotice: 'Please enter address details',
addCustomer: 'addCustomer',
updateCustomer: 'updateCustomer',
deleteCustomer: 'deleteCustomer?',
submit: 'submit',
cancel: 'cancel',
groupTitle: 'Group name',
groupTitleRules: 'Group name',
groupTitleNotice: 'The group name cannot be empty',
groupBeizhu: 'Grouping remarks',
groupAorder: 'Grouping sorting',
groupAorderNotice: 'Please enter group sort',
beizhu: 'Remarks information',
beizhuNotice: 'Please enter the remarks',
addGroup: 'add the group',
updateGroup: 'update the group',
deleteGroup: 'Delete the group?',
default: '默认',
yes: '',
no: ''
none: "none",
customer: "customers",
group: "group",
grouping: "grouping",
name: "name",
nameEn: "name (English)",
nameRules: "The name cannot be empty",
nameNotice: "Please enter your name",
company: "company",
companyEn: "company(English)",
companyRules: "The company name cannot be empty",
companyNotice: "Please enter the company name",
phone: "phone",
phoneRules1: "The contact number cannot be empty",
phoneRules2: "The phone must be numbers",
dialCode: "The area code cannot be empty",
phoneNotice: "Please enter your contact number",
index: "index",
createTime: "createTime",
maitou: "Marks",
maitouNotice: "Please enter the shipping mark",
groupBy: "group",
email: "email",
emailNotice: "Please enter your email address",
address: "address",
addressNotice: "Please enter address details",
addCustomer: "addCustomer",
updateCustomer: "updateCustomer",
deleteCustomer: "deleteCustomer?",
submit: "submit",
cancel: "cancel",
groupTitle: "Group name",
groupTitleRules: "Group name",
groupTitleNotice: "The group name cannot be empty",
groupBeizhu: "Grouping remarks",
groupAorder: "Grouping sorting",
groupAorderNotice: "Please enter group sort",
beizhu: "Remarks information",
beizhuNotice: "Please enter the remarks",
addGroup: "add the group",
updateGroup: "update the group",
deleteGroup: "Delete the group?",
default: "默认",
yes: "",
no: "",
},
ecash: {
time: 'time',
bj: 'China',
nrly: 'Nigeria'
time: "time",
bj: "China",
nrly: "Nigeria",
},
message: {
title: 'messages',
notTatal1: 'messages',
notTatal2: 'Unread',
read: 'Read',
unread: 'unread'
title: "messages",
notTatal1: "messages",
notTatal2: "Unread",
read: "Read",
unread: "unread",
},
messagedetail: {
header: 'Message text',
title: 'title',
type: 'classification',
createTime: 'createTime',
type1: 'Order message',
type2: 'Delivery message',
type3: 'Reminder'
header: "Message text",
title: "title",
type: "classification",
createTime: "createTime",
type1: "Order message",
type2: "Delivery message",
type3: "Reminder",
},
notice: {
header: 'Notice'
header: "Notice",
},
postorder: {
header: 'Posted Order',
transport: 'Transportation',
orderNo: 'orderNo',
orderNoRules: 'Please enter the order number',
marks: 'marks',
marksRules: 'Please enter the shipping mark',
date: 'date',
start: 'start',
end: 'end',
status: 'status',
cargoControlStatus: 'On hold status',
createTime: 'createTime',
refundWarehouse: 'Return warehouse',
abnormal: 'abnormal',
edit: 'edit',
cancel: 'cancel',
refundOrderNo: 'Return OrderNo',
refundReason: 'Return Reason',
refundReasonNotice: 'Please enter the reason for return',
submitRefund: 'submit return',
noRefund: 'No, think about it',
confirm: 'confirm?',
refundImg: 'Return picture',
refundWarehouseSuccess: 'Return warehouse succsee'
header: "Posted Order",
transport: "Transportation",
orderNo: "orderNo",
orderNoRules: "Please enter the order number",
marks: "marks",
marksRules: "Please enter the shipping mark",
date: "date",
start: "start",
end: "end",
status: "status",
cargoControlStatus: "On hold status",
createTime: "createTime",
refundWarehouse: "Return warehouse",
abnormal: "abnormal",
edit: "edit",
cancel: "cancel",
refundOrderNo: "Return OrderNo",
refundReason: "Return Reason",
refundReasonNotice: "Please enter the reason for return",
submitRefund: "submit return",
noRefund: "No, think about it",
confirm: "confirm?",
refundImg: "Return picture",
refundWarehouseSuccess: "Return warehouse succsee",
},
prepayDeal: {
orderNo: 'orderNo:',
box: 'CTNS ',
prodTitleZh: 'Chinese item name:',
prodTitleEn: 'English item name:',
transport: 'Transportation:',
costVO: 'Goods Num:',
warehouseNum: 'warehouseNum:',
abnormal: 'abnormal:',
add: 'add prepayDeal',
brand: 'brand',
proName: 'brand name',
boxNum: 'CTNS',
volumeWeight: 'volume/weight',
payType: 'payType',
feeType: 'feeType',
consigneeName: 'consigneeName',
paystatus: 'paystatus',
costVOBox: 'CTNS',
cartonsNum: 'cartonsNum',
volume: 'volume',
weight: 'weight',
quantity: 'quantity',
worth: 'worth',
result: 'result:',
remark: 'remark:',
customsData: 'Declaration Data:',
content: 'content:',
status: 'status:',
cause: '*cause:',
none: 'none',
prepaid: 'prepaid',
shouldMoney: 'should receive money',
dollar: 'dollar',
rmb: 'RMB',
actualMoney: 'actualMoney',
drawee: 'drawee',
payable: 'payable:',
verificationMoney: 'verificationMoney:',
verificationRatio: 'verificationRatio:',
submit: 'submit',
from: ' from【',
to: '】to【'
orderNo: "orderNo:",
box: "CTNS ",
prodTitleZh: "Chinese item name:",
prodTitleEn: "English item name:",
transport: "Transportation:",
costVO: "Goods Num:",
warehouseNum: "warehouseNum:",
abnormal: "abnormal:",
add: "add prepayDeal",
brand: "brand",
proName: "brand name",
boxNum: "CTNS",
volumeWeight: "volume/weight",
payType: "payType",
feeType: "feeType",
consigneeName: "consigneeName",
paystatus: "paystatus",
costVOBox: "CTNS",
cartonsNum: "cartonsNum",
volume: "volume",
weight: "weight",
quantity: "quantity",
worth: "worth",
result: "result:",
remark: "remark:",
customsData: "Declaration Data:",
content: "content:",
status: "status:",
cause: "*cause:",
none: "none",
prepaid: "prepaid",
shouldMoney: "should receive money",
dollar: "dollar",
rmb: "RMB",
actualMoney: "actualMoney",
drawee: "drawee",
payable: "payable:",
verificationMoney: "verificationMoney:",
verificationRatio: "verificationRatio:",
submit: "submit",
from: " from【",
to: "】to【",
},
weightDeal: {
view: 'view',
marks: 'marks',
costVO: 'cartons/total',
status: 'status',
inTime: 'delievry time',
transport: 'Transportation',
start: 'Original',
dest: 'Destination',
consignorName: 'consignorName',
consignorCompany: 'consignorCompany',
consignorPhone: 'consignorPhone',
consigneeName: 'consigneeName',
consigneeCompany: 'consigneeCompany',
consigneePhone: 'consigneePhone',
goods: 'Cargo information',
index: 'index',
proName: 'item name',
orderGoods: 'goods information',
brand: 'brand',
num: 'Ctns',
volume: 'volume',
weight: 'weight',
putGoods: 'nature',
unit: 'unit',
ss: 'weight cbm',
vweight: 'float cbm',
handlerTime: 'final time',
general: 'normal goods',
process: 'processed',
pao: 'pao',
subtotal: 'subtotal',
sums2: 'Order statistics:',
sums3: 'Transport statistics:',
box: ' CTNS',
none: 'none'
view: "view",
marks: "marks",
costVO: "cartons/total",
status: "status",
inTime: "delievry time",
transport: "Transportation",
start: "Original",
dest: "Destination",
consignorName: "consignorName",
consignorCompany: "consignorCompany",
consignorPhone: "consignorPhone",
consigneeName: "consigneeName",
consigneeCompany: "consigneeCompany",
consigneePhone: "consigneePhone",
goods: "Cargo information",
index: "index",
proName: "item name",
orderGoods: "goods information",
brand: "brand",
num: "Ctns",
volume: "volume",
weight: "weight",
putGoods: "nature",
unit: "unit",
ss: "weight cbm",
vweight: "float cbm",
handlerTime: "final time",
general: "normal goods",
process: "processed",
pao: "pao",
subtotal: "subtotal",
sums2: "Order statistics:",
sums3: "Transport statistics:",
box: " CTNS",
none: "none",
},
price: {
header: 'price check',
departure: 'departure',
departureRules: 'departure must be chosen',
departureNotice: 'please choose the departure',
objective: 'Destination',
objectiveRules: 'Destination must be chosen',
objectiveNotice: 'please choose the destination',
prod: 'item name',
prodRules: 'item name must be chosen',
transport: 'transportation',
channel: 'Delivery channels',
num: 'CTNS',
numRule1: 'The number of ctns cannot be empty',
numRule2: 'The number of cartons must be a positive integer',
box: 'cartons',
quantity: 'quantity',
quantityRule1: 'The total quantity cannot be empty',
quantityRule2: 'The total quantity must be a positive integer',
one: 'one',
weight: 'weight',
weightRule1: 'The weight cannot be empty',
weightRule2: 'The weight must be positive with a maximum of two decimal places',
long: 'long',
longRule1: 'Length cannot be empty',
longRule2: 'The length must be positive with a maximum of two decimal places',
wide: 'wide',
wideRule1: 'The width cannot be empty',
wideRule2: 'The width must be positive with a maximum of two decimal places',
high: 'high',
highRule1: 'The height cannot be empty',
highRule2: 'The height must be positive with a maximum of two decimal places',
seaFreight: 'freight',
none: 'none',
clearanceFreight: 'clearanceFreight',
startTitle: 'Departure',
destTitle: 'Destination',
estimatedSales: 'estimated fee',
notice: 'notice',
text: '<p>1、The above quotation is for reference only. The actual charging is based on the solid weight or light bubble volume weight after packing</p><p></p><p>2、Please pay attention to the choice of channels, different things choose different channels for different prices.</p><p></p><p>3、The quotation does not include destination duty, remote or overweight extra long charge.</p><p></p><p>4、Package compensation method: If the package is lost in transit, our company will compensate according to the original purchase value of the package, but the maximum compensation is USD100/ ticket. If the package is expensive, please purchase insurance by yourself. If the outer package is intact, but the inner parts are damaged, our company will not compensate for it. If the outer package is damaged, please open the box immediately before signing for the package, and collect evidence from the Courier, so as to make a claim later.</p><p></p><p>5、The COMPANY REFUSES TO ACCEPT THE ARTICLES PROHIBITED BY THE STATE, SUCH AS: FLAMMABLE AND EXPLOSIVE PRODUCTS, DRUGS, KNIVES, GUNS, AMMUNITION AND ACCESSORIES, obscene, REACTIONary publications, ETC., IF THE ENTRAINING is seized by the CUSTOMS, THE responsibility arising THEREfrom shall be borne by the customers themselves!</p>'
header: "price check",
departure: "departure",
departureRules: "departure must be chosen",
departureNotice: "please choose the departure",
objective: "Destination",
objectiveRules: "Destination must be chosen",
objectiveNotice: "please choose the destination",
prod: "item name",
prodRules: "item name must be chosen",
transport: "transportation",
channel: "Delivery channels",
num: "CTNS",
numRule1: "The number of ctns cannot be empty",
numRule2: "The number of cartons must be a positive integer",
box: "cartons",
quantity: "quantity",
quantityRule1: "The total quantity cannot be empty",
quantityRule2: "The total quantity must be a positive integer",
one: "one",
weight: "weight",
weightRule1: "The weight cannot be empty",
weightRule2:
"The weight must be positive with a maximum of two decimal places",
long: "long",
longRule1: "Length cannot be empty",
longRule2:
"The length must be positive with a maximum of two decimal places",
wide: "wide",
wideRule1: "The width cannot be empty",
wideRule2:
"The width must be positive with a maximum of two decimal places",
high: "high",
highRule1: "The height cannot be empty",
highRule2:
"The height must be positive with a maximum of two decimal places",
seaFreight: "freight",
none: "none",
clearanceFreight: "clearanceFreight",
startTitle: "Departure",
destTitle: "Destination",
estimatedSales: "estimated fee",
notice: "notice",
text: "<p>1、The above quotation is for reference only. The actual charging is based on the solid weight or light bubble volume weight after packing</p><p></p><p>2、Please pay attention to the choice of channels, different things choose different channels for different prices.</p><p></p><p>3、The quotation does not include destination duty, remote or overweight extra long charge.</p><p></p><p>4、Package compensation method: If the package is lost in transit, our company will compensate according to the original purchase value of the package, but the maximum compensation is USD100/ ticket. If the package is expensive, please purchase insurance by yourself. If the outer package is intact, but the inner parts are damaged, our company will not compensate for it. If the outer package is damaged, please open the box immediately before signing for the package, and collect evidence from the Courier, so as to make a claim later.</p><p></p><p>5、The COMPANY REFUSES TO ACCEPT THE ARTICLES PROHIBITED BY THE STATE, SUCH AS: FLAMMABLE AND EXPLOSIVE PRODUCTS, DRUGS, KNIVES, GUNS, AMMUNITION AND ACCESSORIES, obscene, REACTIONary publications, ETC., IF THE ENTRAINING is seized by the CUSTOMS, THE responsibility arising THEREfrom shall be borne by the customers themselves!</p>",
},
receiveorder: {
header: 'orders',
transport: 'transportation',
orderNo: 'orderNo',
orderNoRules: 'Please enter the order number',
marks: 'marks',
marksRules: 'Please enter the shipping mark',
date: 'date',
start: 'start',
end: 'end',
status: 'status',
createTime: 'createTime'
header: "orders",
transport: "transportation",
orderNo: "orderNo",
orderNoRules: "Please enter the order number",
marks: "marks",
marksRules: "Please enter the shipping mark",
date: "date",
start: "start",
end: "end",
status: "status",
createTime: "createTime",
},
supplier: {
none: 'none',
supplier: 'supplier',
group: 'group',
grouping: 'grouping',
name: 'name',
nameRules: 'The name cannot be empty',
nameNotice: 'Please enter your name',
company: 'company',
companyRules: 'The company name cannot be empty',
companyNotice: 'Please enter the company name',
phone: 'phone',
phoneRules1: 'The contact number cannot be empty',
phoneRules2: 'The telephone must have a numeric value',
dialCode: 'The area code cannot be empty',
phoneNotice: 'Please enter your contact number',
index: 'index',
createTime: 'createTime',
maitou: 'marks',
maitouNotice: 'Please enter the shipping mark',
groupBy: 'groupBy',
email: 'email',
emailNotice: 'Please enter your email address',
address: 'address',
addressNotice: 'Please enter address details',
addSupplier: 'Add a supplier',
updateSupplier: 'Modify the supplier',
deleteSupplier: 'Confirm to delete the supplier?',
submit: 'submit',
cancel: 'cancel',
groupTitle: 'groupTitle',
groupTitleRules: 'groupTitle',
groupTitleNotice: 'The group name cannot be empty',
groupBeizhu: 'Grouping note',
groupAorder: 'Grouping sorting',
groupAorderNotice: 'Please enter group sort',
beizhu: 'Note information',
beizhuNotice: 'Please enter the remarks',
addGroup: 'Please enter the remarks',
updateGroup: 'Please enter the remarks',
deleteGroup: 'Whether to delete the group?'
none: "none",
supplier: "supplier",
group: "group",
grouping: "grouping",
name: "name",
nameRules: "The name cannot be empty",
nameNotice: "Please enter your name",
company: "company",
companyRules: "The company name cannot be empty",
companyNotice: "Please enter the company name",
phone: "phone",
phoneRules1: "The contact number cannot be empty",
phoneRules2: "The telephone must have a numeric value",
dialCode: "The area code cannot be empty",
phoneNotice: "Please enter your contact number",
index: "index",
createTime: "createTime",
maitou: "marks",
maitouNotice: "Please enter the shipping mark",
groupBy: "groupBy",
email: "email",
emailNotice: "Please enter your email address",
address: "address",
addressNotice: "Please enter address details",
addSupplier: "Add a supplier",
updateSupplier: "Modify the supplier",
deleteSupplier: "Confirm to delete the supplier?",
submit: "submit",
cancel: "cancel",
groupTitle: "groupTitle",
groupTitleRules: "groupTitle",
groupTitleNotice: "The group name cannot be empty",
groupBeizhu: "Grouping note",
groupAorder: "Grouping sorting",
groupAorderNotice: "Please enter group sort",
beizhu: "Note information",
beizhuNotice: "Please enter the remarks",
addGroup: "Please enter the remarks",
updateGroup: "Please enter the remarks",
deleteGroup: "Whether to delete the group?",
},
printLadingBill: {
loading: 'loading',
download: 'download',
print: 'print',
tidanNO: 'packing list',
lodop: 'Check that the LODOP print control is installed and started'
loading: "loading",
download: "download",
print: "print",
tidanNO: "packing list",
lodop: "Check that the LODOP print control is installed and started",
},
printWarehouseReceipt: {
orderNo: 'orderNo',
phone: 'consigner phone',
address: 'pick up address',
marks: 'marks',
prodTitle: 'description',
cartonsNum: 'cartonsNum',
boxGauge: 'size',
volume: 'volume',
weight: 'weight',
inTime: 'inTime',
text1: '1.On hold success criteria: received a message within 3 days of warehousing means successful; Otherwise, please contact us within 2 working days',
text2: '2.Insurance payment should be informed within 3 days after warehousing',
print: 'to print',
comprint: 'comprint',
printNo: 'printNo',
lodop: 'Check that the LODOP print control is installed and started'
orderNo: "orderNo",
phone: "consigner phone",
address: "pick up address",
marks: "marks",
prodTitle: "description",
cartonsNum: "cartonsNum",
boxGauge: "size",
volume: "volume",
weight: "weight",
inTime: "inTime",
text1:
"1.On hold success criteria: received a message within 3 days of warehousing means successful; Otherwise, please contact us within 2 working days",
text2:
"2.Insurance payment should be informed within 3 days after warehousing",
print: "to print",
comprint: "comprint",
printNo: "printNo",
lodop: "Check that the LODOP print control is installed and started",
},
release: {
orderNo: 'The order number',
sumNum: 'sumNum',
sumVolume: 'volume',
sumWeight: 'weight',
sumConNum: 'sumConNum',
remainNum: 'Number of containers remaining',
releaseNotice: 'Please fill in the release information',
consigneeName: 'consigneeName',
consigneeNameRules: 'Please fill in the consignee',
consigneeNameNotice: 'Please enter consignee',
orderNo: "The order number",
sumNum: "sumNum",
sumVolume: "volume",
sumWeight: "weight",
sumConNum: "sumConNum",
remainNum: "Number of containers remaining",
releaseNotice: "Please fill in the release information",
consigneeName: "consigneeName",
consigneeNameRules: "Please fill in the consignee",
consigneeNameNotice: "Please enter consignee",
consigneePhone: "Consignee's telephone number",
consigneePhoneNotice: "Please enter the consignee's telephone number",
consigneeEmail: "Consignee's email address",
consigneeEmailNotice: "Please enter consignee's email address",
conNum: 'conNum',
pickNum: 'pickNum',
pickVolume: 'volume(m³)',
pickWeight: 'weight(kg)',
remarks: 'remarks',
phone: 'phone',
phoneNotice: 'enter the phone number',
code: 'Mobile verification code',
codeRules: 'The verification code cannot be empty',
codeNotice: 'Please input the mobile phone verification code',
submit: 'submit',
close: 'close',
agree: 'agree',
release: 'release'
conNum: "conNum",
pickNum: "pickNum",
pickVolume: "volume(m³)",
pickWeight: "weight(kg)",
remarks: "remarks",
phone: "phone",
phoneNotice: "enter the phone number",
code: "Mobile verification code",
codeRules: "The verification code cannot be empty",
codeNotice: "Please input the mobile phone verification code",
submit: "submit",
close: "close",
agree: "agree",
release: "release",
},
sendSmsCode: {
send: 'send',
seconds: 's',
again: 'again',
success: 'success'
send: "send",
seconds: "s",
again: "again",
success: "success",
},
transfer: {
cargoControlName: 'cargoControlName',
cargoControlPhone: 'cargoControlPhone',
name: 'name',
nameRules: 'name cannot be empty',
phone: 'phone',
phoneRules: 'phone cannot be empty',
email: 'email',
code: 'code',
codeRules: 'code cannot be empty',
submit: 'submit',
agree: 'agree',
close: 'close'
cargoControlName: "cargoControlName",
cargoControlPhone: "cargoControlPhone",
name: "name",
nameRules: "name cannot be empty",
phone: "phone",
phoneRules: "phone cannot be empty",
email: "email",
code: "code",
codeRules: "code cannot be empty",
submit: "submit",
agree: "agree",
close: "close",
},
coupons: {
status: 'status',
info: 'info~'
status: "status",
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",
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',
orderNo: 'Your booking number',
startAddress: 'The warehouse address',
startTell: 'The warehouse telephone',
text: 'Your order has been submitted, thank you for choosing Jietao Logistics!',
delivery: 'Another list',
profile: 'Personal center',
detail: 'view order',
push: 'Warehousing notice',
notice: 'To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)',
products: 'Product List',
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'
}
success: "Order has been generated",
orderNo: "Your booking number",
startAddress: "The warehouse address",
startTell: "The warehouse telephone",
text: "Your order has been submitted, thank you for choosing Jietao Logistics!",
delivery: "Another list",
profile: "Personal center",
detail: "view order",
push: "Warehousing notice",
notice:
"To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)",
products: "Product List",
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",
};
export default {
common: {
success: '成功',
reload: '重置',
search: '搜索',
add: '新增',
update: '修改',
delete: '删除',
save: '保存',
back: '返回',
action: '操作',
submit: '提交',
cancel: '取消',
confirm: '确定',
newfile: '上传新附件',
uploadnotice: '附件最多上传10个',
uploadDeclaration: '上传报关资料',
seeDeclaration: '查看报关资料',
deleteDeclaration: '是否确认删除附件?',
passwordNotSame: '两次输入密码不一致',
submitSuccess: '提交成功',
returnIndex: '返回首页',
close: '关闭'
success: "成功",
reload: "重置",
search: "搜索",
add: "新增",
update: "修改",
delete: "删除",
save: "保存",
back: "返回",
action: "操作",
submit: "提交",
cancel: "取消",
confirm: "确定",
newfile: "上传新附件",
uploadnotice: "附件最多上传10个",
uploadDeclaration: "上传报关资料",
seeDeclaration: "查看报关资料",
deleteDeclaration: "是否确认删除附件?",
passwordNotSame: "两次输入密码不一致",
submitSuccess: "提交成功",
returnIndex: "返回首页",
close: "关闭",
},
route: {
dashboard: '首页',
profile: '个人中心',
setting: '个人设置',
advice: '咨询建议',
help: '帮助',
message: '消息列表',
messagedetail: '消息详情',
notice: '公告列表',
noticedetail: '公告详情',
bannerdetail: '轮播图详情',
coupons: '我的优惠卷',
customer: '我的客户',
supplier: '我的供应商',
ecash: '汇率查询',
delivery: '我要发货',
controlorder: '控货订单',
waitmoneyorder: '待结款订单',
receivedorder: '收到订单',
postorder: '发出订单',
orderdetail: '订单详情',
price: '价格查询',
logistics: '物流状态',
abnormal: '异常处理',
idcard: '实名认证',
deliverysuccess: '下单成功'
dashboard: "首页",
profile: "个人中心",
setting: "个人设置",
advice: "咨询建议",
help: "帮助",
message: "消息列表",
messagedetail: "消息详情",
notice: "公告列表",
noticedetail: "公告详情",
bannerdetail: "轮播图详情",
coupons: "我的优惠卷",
customer: "我的客户",
supplier: "我的供应商",
ecash: "汇率查询",
delivery: "我要发货",
controlorder: "控货订单",
waitmoneyorder: "待结款订单",
receivedorder: "收到订单",
postorder: "发出订单",
orderdetail: "订单详情",
price: "价格查询",
logistics: "物流状态",
abnormal: "异常处理",
idcard: "实名认证",
deliverysuccess: "下单成功",
},
login: {
title: '登录',
logIn: '登录',
username: '账号',
password: '密码',
forget: '忘记密码',
mobile: '手机号',
code: '验证码',
type: '登录方式',
getCode: '获取验证码',
userLogin: '密码登录',
mobileLogin: '手机验证登录',
registered: '没有账号?立即注册>>',
bgTitle1: '捷道货运',
bgTitle2: '会员权益介绍',
bgTitle3: '积分奖励,电子运单专享特权',
bgTitle4: '物流信息管理,订单分明',
bgTitle5: '更多资讯,时刻掌握物流时效动态',
bgTitle6: '运单电子化,随时随地管理查看',
bgTitle7: '自动控货、放货、安全、及时',
bgTitle8: '数据统计,助你业务发展',
mobileRules: '手机号不能为空',
codeRules: '验证码不能为空',
nameRules: '账号不能为空',
passwordRules: '密码不能为空',
nameEnRules: '英文名称不能为空',
confirmPwdRules: '确认密码不能为空'
title: "登录",
logIn: "登录",
username: "账号",
password: "密码",
forget: "忘记密码",
mobile: "手机号",
code: "验证码",
type: "登录方式",
getCode: "获取验证码",
userLogin: "密码登录",
mobileLogin: "手机验证登录",
registered: "没有账号?立即注册>>",
bgTitle1: "捷道货运",
bgTitle2: "会员权益介绍",
bgTitle3: "积分奖励,电子运单专享特权",
bgTitle4: "物流信息管理,订单分明",
bgTitle5: "更多资讯,时刻掌握物流时效动态",
bgTitle6: "运单电子化,随时随地管理查看",
bgTitle7: "自动控货、放货、安全、及时",
bgTitle8: "数据统计,助你业务发展",
mobileRules: "手机号不能为空",
codeRules: "验证码不能为空",
nameRules: "账号不能为空",
passwordRules: "密码不能为空",
nameEnRules: "英文名称不能为空",
confirmPwdRules: "确认密码不能为空",
},
myInfo: {
info: "个人信息",
nameNotice: "请输入姓名",
name: "姓名",
nameEn: "英文名",
nameEnNotice: "请输入英文姓名",
birth: "生日",
sex: "性别",
phone: "电话",
adderss: "地址",
department: "部门",
job: "岗位",
edit: "修改",
girl: "",
boy: "",
secret: "保密",
country: "国家",
city: "城市",
},
notices: {
name: "请输入姓名",
adderss: "请输入地址",
nameEn: "请输入英文名",
birthday: "请选择生日日期",
noData: "暂无数据",
Idcode: "请输入证件号码",
gender: "请选择性别",
Idtype: "请选择证件类型",
Id1: "请上传证件正面照",
Id2: "请上传证件反面照",
success: "提交成功",
loading: "上传中..",
newPhone: "请输入您的新手机号",
edited: "修改成功",
company: "请输入公司名称",
companyEn: "请输入公司英文名",
addressCom: "请输入公司地址",
remark: "请输入公司简介",
web: "请输入公司官网",
stall: "请输入档口",
brand: "请输入公司品牌",
title: "请输入标题",
orderNo: "请输入订单号",
content: "请输入内容",
type: "请选择类型",
please: "请选择",
lined: "请选择线路",
numbers: "请输入商品的快递单号,多个用(,)隔开",
clearRemark: "请输入清关证书备注",
specialNote: "请输入特需备注",
marks: "请输入唛头,以字母开头",
addressInfo: "请输入收货详细地址",
link: "请输入商品链接",
names: "请输入名称",
transport: "请选择运输方式",
channel: "请选择出货渠道",
startCity: "请选择始发地",
endCity: "请选择目的地",
marksIn: "请输入唛头",
marksNum: "唛头不能以数字开头",
customsType: "请选择单证报关",
date: "请选择送货日期",
consignorType: "请选择收货方式",
levite: "请选择入仓类型",
consignee: "请输入收货人姓名",
consigneePhone: "请输入收货人电话",
foreignConsignee: "非控货只能选择国外收货人",
consigneeEmail: "请输入收货人邮箱",
noEmail: "邮箱格式不对",
creat: "创建成功",
shopname: "请选择商品名",
isBrand: "请选择有无品牌",
num: "请输入件数",
unit: "请选择单位",
number: "请输入数量",
works: "请输入货值",
add: "添加成功",
delete: "确定删除商品吗",
notice: "提示",
newEmail: "请输入新邮箱地址",
email: "请输入邮箱",
bind: "绑定成功",
phone: "请输入您的手机号",
password: "请输入您的密码",
code: "请输入验证码",
chooseService: "请勾选服务协议",
oldPsd: "请输入旧密码",
numPsd: "密码由6~32位英文字母和数字组成",
newPsd: "请输入新密码",
nextPsd: "请再次确认密码",
read: "我已仔细阅读并同意",
service: "用户服务协议",
contact: "遇到问题?您可以联系客服",
psd6: "密码不能少于6位",
different: "两次输入的密码不一致",
nickName: "请输入昵称",
contactPhone: "请输入联系电话",
address: "请输入地址",
department: "请输入部门",
job: "请输入工作职位",
moreKey: "订单号,提单号,唛头或收货人姓名电话",
reason: "请告知我们您的退仓原因",
sum: "请输入箱数",
note: "请输入备注",
oldControl: "请输入原控货人",
newControl: "请输入新控货人",
deleteSuccess: "删除成功",
cancel: "取消成功",
delOrder: "确定删除订单吗",
cancelOrder: "确定取消订单吗",
weight: "请输入货物重量",
goodsSum: "请输入货物总数量",
operation: "操作成功",
openError: "打开文件失败",
noLined: "无可用线路",
height: "请输入货物高度",
wide: "请输入货物宽度",
long: "请输入货物长度",
nophone: "手机格式不对",
conNotice: "放货箱数不能大于可放货箱数",
newControlTel: "请输入新控货人电话",
opening: "正在打开",
volume: "请输入体积",
intNotice1: "件数必须大于0且必须是整数",
intNotice2: "数量必须大于0且必须是整数",
intNotice3: "体积必须大于0",
intNotice4: "重量必须大于0",
intNotice5: "货值必须大于0",
easyPass: "您的密码过于简单,请前往修改密码",
update: "立即更新",
close: "关闭弹窗",
newVersion: "新版本更新",
nowVersion: "当前版本号",
newVersions: "有新版本可更新",
nowNews: "当前已是最新版本",
startDown: "下载中...",
failDown: "安装失败,请稍候重试",
contactKf: "联系客户",
isClude: "订单包含不接受货物,请检查!",
keyWord: "请输入关键词",
copySuccess: "复制成功",
copy: "一键复制",
newfile: "上传新附件",
upload: "下载",
back: "返回",
upCustome: "上传报关资料",
know: "我知道了",
openFile: "打开文件",
saveed: "文件已保存",
deleteFile: "是否删除附件?",
customsRefund: "报关退税,请备齐资料。",
nofile: "上传文件格式不对",
loading: "加载中......",
country: "请选择国家",
city: "请选择城市",
fullAddress: "请输入详细地址",
fullAddressLength: "最多输入100字",
delAddress: "确定删除地址吗?",
},
registered: {
title: '注册',
registered: '注册',
code: '验证码',
getCode: '获取验证码',
mobile: '手机号',
nameEn: '英文名称',
password: '密码',
passwordPlaceholder: '密码由6-32位英文字母和数字组成',
confirmPwd: '确认密码',
confirmPwdPlaceholder: '请再次确认密码',
weak: '',
medium: '',
strong: '',
login: '已有账号?直接登录>>',
forget: '忘记密码',
backLogin: '返回登录',
update: '修 改',
problem: '遇到问题?',
contact: '您可以联系客服'
title: "注册",
registered: "注册",
code: "验证码",
getCode: "获取验证码",
mobile: "手机号",
nameEn: "英文名称",
password: "密码",
passwordPlaceholder: "密码由6-32位英文字母和数字组成",
confirmPwd: "确认密码",
confirmPwdPlaceholder: "请再次确认密码",
referralCodePlaceholder: "请输入推荐码(非必填)",
referralCode: "推荐码",
weak: "",
medium: "",
strong: "",
login: "已有账号?直接登录>>",
forget: "忘记密码",
backLogin: "返回登录",
update: "修 改",
problem: "遇到问题?",
contact: "您可以联系客服",
},
sidebar: {
userInfo: '账户信息',
reload: '刷新',
logout: '退出登录>>',
home: '首页',
controlOrder: '控货中订单',
moneyOrder: '待结款订单',
notReadMessage: '未读短消息',
coupons: '我的优惠券',
delivery: '我要发货>>',
price: '价格查询>>',
myPanel: '我的面板',
myOrder: '我的订单',
myPost: '我发出的',
myReceivedo: '我收到的',
controlManage: '控货管理',
ecash: '汇率',
customerManage: '客户管理',
myCustomer: '我的客户',
mySupplier: '我的供应商',
setting: '个人设置',
help: '帮助',
logistics: '物流查询',
service: '客户服务热线',
artificial: '人工服务时间',
focus: '关注',
complaints: '投诉',
consult: '咨询',
advice: '建议',
onlineConsult: '在线咨询',
notice: '提示',
cancel: '取消',
determine: '确定',
realNameNotice1: '根据国家公安部、安监总局等部门所有入仓货物需要“实名制”登记,请在系统后台进行实名制认证',
realNameNotice2: '您提交的实名认证正在审核中,信息如下',
realNameNotice3: '您提交的实名认证审核不通过,信息如下,请到个人设置中重新提交认证',
logoutNotice: '确定注销并退出系统吗?',
transport: '选择运输方式',
sea: '海运拼柜',
airCargo: '空运专线',
seaAir: '海空联运'
userInfo: "账户信息",
reload: "刷新",
logout: "退出登录>>",
home: "首页",
controlOrder: "控货中订单",
moneyOrder: "待结款订单",
notReadMessage: "未读短消息",
coupons: "我的优惠券",
delivery: "我要发货>>",
price: "价格查询>>",
myPanel: "我的面板",
myOrder: "我的订单",
myPost: "我发出的",
myReceivedo: "我收到的",
controlManage: "控货管理",
ecash: "汇率",
customerManage: "客户管理",
myCustomer: "我的客户",
mySupplier: "我的供应商",
setting: "个人设置",
help: "帮助",
logistics: "物流查询",
service: "客户服务热线",
artificial: "人工服务时间",
focus: "关注",
complaints: "投诉",
consult: "咨询",
advice: "建议",
onlineConsult: "在线咨询",
notice: "提示",
cancel: "取消",
determine: "确定",
realNameNotice1:
"根据国家公安部、安监总局等部门所有入仓货物需要“实名制”登记,请在系统后台进行实名制认证",
realNameNotice2: "您提交的实名认证正在审核中,信息如下",
realNameNotice3:
"您提交的实名认证审核不通过,信息如下,请到个人设置中重新提交认证",
logoutNotice: "确定注销并退出系统吗?",
transport: "选择运输方式",
sea: "海运拼柜",
airCargo: "空运专线",
seaAir: "海空联运",
},
profile: {
myPost: '我发出的订单',
myReceivedo: '我收到的订单',
orderNo: '订单编号',
transport: '运输方式',
marks: '唛头',
status: '订单状态',
createTime: '下单时间',
viewMorePost: '查看更多发出订单>>',
viewMoreReceivedo: '查看更多收到订单>>',
notOrder: '暂无订单~',
know: '知道了'
myPost: "我发出的订单",
myReceivedo: "我收到的订单",
orderNo: "订单编号",
transport: "运输方式",
marks: "唛头",
status: "订单状态",
createTime: "下单时间",
viewMorePost: "查看更多发出订单>>",
viewMoreReceivedo: "查看更多收到订单>>",
notOrder: "暂无订单~",
know: "知道了",
},
setting: {
userInfo: '个人信息',
nickname: '登录会员',
loginDate: '上次登录',
advice: '若您的登录信息与实际不符,建议您及时',
editPassword: '修改密码',
baseInfo: '基本信息',
update: '修改',
cancel: '取消',
save: '保存',
name: '姓名',
mobile: '电话',
jobPosition: '职位',
birthday: '生日',
englishName: '英文名',
address: '地址',
gender: '性别',
girl: '',
male: '',
secret: '保密',
department: '部门',
companyInfo: '公司信息',
companyName: '公司名称',
companyDesc: '公司简介',
companyStall: '档口',
companyEnName: '英文名称',
companyAddress: '公司地址',
companyBand: '品牌',
companyWebsite: '公司官网',
safetyVerificat: '安全验证',
bindMobile: '绑定手机',
changePhone: '更换手机号',
removePhone: '解除绑定',
bindEmail: '绑定邮箱',
ImmediatelyBind: '立即绑定',
realName: '实名认证',
ImmediatelyrealName: '立即认证',
passwork: '密码设置',
passworkNotice: '登陆后修改您的捷道密码',
passworkUpdate: '修改密码',
passworkInit: '初始化密码',
passworkNew: '新密码',
passworkNewRules: '新密码不能为空',
passworkNewNotice: '请输入新密码',
comfirmNewPasswork: '确认新密码',
comfirmNewPassworkRules: '确认新密码不能为空',
comfirmNewPassworkNotice: '请再次输入新密码',
reset: '重置',
determine: '确定',
passworkOld: '旧密码',
passworkOldRules: '旧密码不能为空',
passworkOldotice: '请输入旧密码',
oldMobile: '原绑定手机号',
oldMobileRules: '原绑定手机号不能为空',
oldMobileNotice: '请输入原绑定手机号',
passwork1: '密码',
passworkRules1: '密码不能为空',
passworkNotice1: '请输入密码',
changeMobileRules: '电话必须为数字值',
newMobileNotice: '请输入更换手机号',
mobileCode: '手机验证码',
mobileCodeRules: '验证码不能为空',
mobileCodeNotice: '请输入验证码',
getCode: '获取验证码',
email: '邮箱地址',
emailRules: '邮箱地址不能为空',
emailRules1: '请输入正确的邮箱格式',
emailNotice: '请输入邮箱地址',
validate1: '请输入姓名',
validate2: '请输入手机',
validate3: '请输入英文名',
editPwdNotice: '请先初始化密码再进行此操作',
initPwdNotice: '请确保两次密码输入一致',
companyWebsiteNotice: '请填写公司官网地址',
imgType: '文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。',
fileType: '文件格式错误,请上传:JPG,PNG,DOC,xls,ppt,txt.pdf,jpen,docx,xlsx后缀的文件。',
setControlPassword: '设置控货密码',
controlPassword: '控货密码',
confirmPassword: '确认密码'
userInfo: "个人信息",
nickname: "登录会员",
loginDate: "上次登录",
advice: "若您的登录信息与实际不符,建议您及时",
editPassword: "修改密码",
baseInfo: "基本信息",
update: "修改",
cancel: "取消",
save: "保存",
name: "姓名",
mobile: "电话",
jobPosition: "职位",
birthday: "生日",
englishName: "英文名",
address: "地址",
gender: "性别",
girl: "",
male: "",
secret: "保密",
department: "部门",
companyInfo: "公司信息",
companyName: "公司名称",
companyDesc: "公司简介",
companyStall: "档口",
companyEnName: "英文名称",
companyAddress: "公司地址",
companyBand: "品牌",
companyWebsite: "公司官网",
safetyVerificat: "安全验证",
bindMobile: "绑定手机",
changePhone: "更换手机号",
removePhone: "解除绑定",
bindEmail: "绑定邮箱",
ImmediatelyBind: "立即绑定",
realName: "实名认证",
ImmediatelyrealName: "立即认证",
passwork: "密码设置",
passworkNotice: "登陆后修改您的捷道密码",
passworkUpdate: "修改密码",
passworkInit: "初始化密码",
passworkNew: "新密码",
passworkNewRules: "新密码不能为空",
passworkNewNotice: "请输入新密码",
comfirmNewPasswork: "确认新密码",
comfirmNewPassworkRules: "确认新密码不能为空",
comfirmNewPassworkNotice: "请再次输入新密码",
reset: "重置",
determine: "确定",
passworkOld: "旧密码",
passworkOldRules: "旧密码不能为空",
passworkOldotice: "请输入旧密码",
oldMobile: "原绑定手机号",
oldMobileRules: "原绑定手机号不能为空",
oldMobileNotice: "请输入原绑定手机号",
passwork1: "密码",
passworkRules1: "密码不能为空",
passworkNotice1: "请输入密码",
changeMobileRules: "电话必须为数字值",
newMobileNotice: "请输入更换手机号",
mobileCode: "手机验证码",
mobileCodeRules: "验证码不能为空",
mobileCodeNotice: "请输入验证码",
getCode: "获取验证码",
email: "邮箱地址",
emailRules: "邮箱地址不能为空",
emailRules1: "请输入正确的邮箱格式",
emailNotice: "请输入邮箱地址",
validate1: "请输入姓名",
validate2: "请输入手机",
validate3: "请输入英文名",
editPwdNotice: "请先初始化密码再进行此操作",
initPwdNotice: "请确保两次密码输入一致",
companyWebsiteNotice: "请填写公司官网地址",
imgType: "文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。",
fileType:
"文件格式错误,请上传:JPG,PNG,DOC,xls,ppt,txt.pdf,jpen,docx,xlsx后缀的文件。",
setControlPassword: "设置控货密码",
controlPassword: "控货密码",
confirmPassword: "确认密码",
},
realName: {
title: '实名认证',
name: '姓名',
nameRules: '姓名不能为空',
nameNotice: '请输入姓名',
cardType: '证件类型',
cardTypeRules: '证件类型不能为空',
cardTypeNotice: '请选择证件类型',
cardNumber: '证件号码',
cardNumberRules: '证件号码不能为空',
cardNumberNotice: '请输入证件号码',
img1: '证件正面照',
imgRules1: '证件正面照不能为空',
upload: '上传图片',
img2: '证件背面照',
imgRules2: '证件背面照不能为空',
status: '未认证',
status0: '待审核',
status1: '审核中',
status2: '已认证',
status3: '审核不通过',
uploadNotice: '只能上传图片,且不超过20张'
title: "实名认证",
name: "姓名",
nameRules: "姓名不能为空",
nameNotice: "请输入姓名",
cardType: "证件类型",
cardTypeRules: "证件类型不能为空",
cardTypeNotice: "请选择证件类型",
cardNumber: "证件号码",
cardNumberRules: "证件号码不能为空",
cardNumberNotice: "请输入证件号码",
img1: "证件正面照",
imgRules1: "证件正面照不能为空",
upload: "上传图片",
img2: "证件背面照",
imgRules2: "证件背面照不能为空",
status: "未认证",
status0: "待审核",
status1: "审核中",
status2: "已认证",
status3: "审核不通过",
uploadNotice: "只能上传图片,且不超过20张",
},
abnormal: {
none: '',
header: '查看',
marks: '唛头',
sumNum: '已到箱数/总箱数',
orderStatus: '订单状态',
deliveryDate: '送货日期',
transport: '运输方式',
startTitle: '始发地',
destTitle: '目的地',
consignorName: '发货人',
consignorCompany: '发货公司',
consignorPhone: '发货电话',
consigneeName: '收货人',
consigneeCompany: '收货公司',
consigneePhone: '收货电话',
header1: '问题详情',
index: '序号',
orderExceptionType: '异常类型',
orderExceptionDesc: '异常描述',
orderExceptionAmount: '金额',
status: '状态',
filelist: '附件',
userName: '处理人',
handlerTime: '处理时间',
finish: '已完成',
deal: '处理',
dealAbnormal: '处理异常'
none: "",
header: "查看",
marks: "唛头",
sumNum: "已到箱数/总箱数",
orderStatus: "订单状态",
deliveryDate: "送货日期",
transport: "运输方式",
startTitle: "始发地",
destTitle: "目的地",
consignorName: "发货人",
consignorCompany: "发货公司",
consignorPhone: "发货电话",
consigneeName: "收货人",
consigneeCompany: "收货公司",
consigneePhone: "收货电话",
header1: "问题详情",
index: "序号",
orderExceptionType: "异常类型",
orderExceptionDesc: "异常描述",
orderExceptionAmount: "金额",
status: "状态",
filelist: "附件",
userName: "处理人",
handlerTime: "处理时间",
finish: "已完成",
deal: "处理",
dealAbnormal: "处理异常",
},
consult: {
consult: '咨询建议',
title: '标题',
titleRules: '标题不能为空',
titleNotice: '请输入咨询建议标题',
name: '联系人',
nameRules: '联系人不能为空',
nameNotice: '请输入联系人',
type: '类型',
type2: '建议',
type1: '咨询',
phone: '联系电话',
phoneRules: '联系电话不能为空',
phoneNotice: '请输入联系电话',
orderCode: '订单号',
orderCodeRules: '请输入订单号',
notice: '提示:若为固定电话需填写区号,且为纯数字',
content: '内容',
contentRules: '内容不能为空',
contentNotice: '请输入咨询建议内容',
submit: '确认提交',
record: '留言记录',
consultName: '留言人',
createTime: '留言时间',
status: '状态',
status1: '待回复',
status2: '回复中',
status3: '已回复',
replyContent: '回复结果',
replyTime: '回复时间'
consult: "咨询建议",
title: "标题",
titleRules: "标题不能为空",
titleNotice: "请输入咨询建议标题",
name: "联系人",
nameRules: "联系人不能为空",
nameNotice: "请输入联系人",
type: "类型",
type2: "建议",
type1: "咨询",
phone: "联系电话",
phoneRules: "联系电话不能为空",
phoneNotice: "请输入联系电话",
orderCode: "订单号",
orderCodeRules: "请输入订单号",
notice: "提示:若为固定电话需填写区号,且为纯数字",
content: "内容",
contentRules: "内容不能为空",
contentNotice: "请输入咨询建议内容",
submit: "确认提交",
record: "留言记录",
consultName: "留言人",
createTime: "留言时间",
status: "状态",
status1: "待回复",
status2: "回复中",
status3: "已回复",
replyContent: "回复结果",
replyTime: "回复时间",
},
complaint: {
complaint: '投诉',
title: '标题',
titleRules: '标题不能为空',
titleNotice: '请输入投诉标题',
name: '联系人',
nameRules: '联系人不能为空',
nameNotice: '请输入联系人',
type: '类型',
typeRules: '类型不能为空',
typeNotice: '请选择投诉类型',
phone: '联系电话',
phoneRules: '联系电话不能为空',
phoneNotice: '请输入联系电话',
orderCode: '订单号',
orderCodeRules: '请输入订单号',
notice: '提示:若为固定电话需填写区号,且为纯数字',
content: '投诉内容',
contentRules: '投诉内容不能为空',
contentNotice: '请输入投诉内容',
submit: '确认提交',
record: '投诉记录',
complaintName: '投诉人',
createTime: '投诉时间',
status: '投诉状态',
status1: '待处理',
status2: '处理中',
status3: '已处理',
status4: '已取消',
replyContent: '处理结果',
replyTime: '处理时间'
complaint: "投诉",
title: "标题",
titleRules: "标题不能为空",
titleNotice: "请输入投诉标题",
name: "联系人",
nameRules: "联系人不能为空",
nameNotice: "请输入联系人",
type: "类型",
typeRules: "类型不能为空",
typeNotice: "请选择投诉类型",
phone: "联系电话",
phoneRules: "联系电话不能为空",
phoneNotice: "请输入联系电话",
orderCode: "订单号",
orderCodeRules: "请输入订单号",
notice: "提示:若为固定电话需填写区号,且为纯数字",
content: "投诉内容",
contentRules: "投诉内容不能为空",
contentNotice: "请输入投诉内容",
submit: "确认提交",
record: "投诉记录",
complaintName: "投诉人",
createTime: "投诉时间",
status: "投诉状态",
status1: "待处理",
status2: "处理中",
status3: "已处理",
status4: "已取消",
replyContent: "处理结果",
replyTime: "处理时间",
},
bannerdetail: {
header: '轮播图详情',
title: '标题',
time: '创建时间'
header: "轮播图详情",
title: "标题",
time: "创建时间",
},
controlorder: {
header: '控货管理',
transport: '运输方式',
controlStatus: '控货状态',
orderNo: '订单编号',
No: '编号',
NoRules: '请输入订单编号、提单号搜索',
marks: '唛头',
marksRules: '请输入唛头',
date: '日期筛选',
start: '开始日期',
end: '结束日期',
status: '订单状态',
cargoControlStatus: '控货状态',
createTime: '下单时间',
release: '放货',
transfer: '控货权转移',
view: '查看'
header: "控货管理",
transport: "运输方式",
controlStatus: "控货状态",
orderNo: "订单编号",
No: "编号",
NoRules: "请输入订单编号、提单号搜索",
marks: "唛头",
marksRules: "请输入唛头",
date: "日期筛选",
start: "开始日期",
end: "结束日期",
status: "订单状态",
cargoControlStatus: "控货状态",
createTime: "下单时间",
release: "放货",
transfer: "控货权转移",
view: "查看",
},
orderdetail: {
orderNo: '订单编号',
deliveryDate: '送货时间',
transport: '运输方式',
channel: '出货渠道',
startTitle: '始发仓',
destTitle: '目的仓',
startAddress: '地址',
consignorName: '发货人',
consignorCompany: '发货人公司名称',
consignorNameEn: '发货人英文名称',
consignorCompanyEn: '发货人公司英文名称',
consignorPhone: '发货人电话',
consignorEmail: '发货人邮箱',
consigneeName: '收货人',
consigneeCompany: '收货人公司名称',
consigneeNameEn: '收货人英文名称',
consigneeCompanyEn: '收货人公司英文名称',
consigneeEmail: '收货人邮箱',
consigneePhone: '收货人电话',
marks: '唛头',
isCargoControl: '是否控货',
baseInfo: '基础信息',
transportInfo: '物流信息',
costVO: '填单信息',
box: '',
is: '',
no: '',
warehouseNum: '仓库实测',
entry: '收款数据',
warehouseType: '入仓类型',
customsType: '单证报关',
isCollection: '代收货款',
activeFirst: '货物详情',
activeSecond: '订单动态',
activeThree: '运单资料/提货单',
prodTitleZh: '中文品名',
prodTitleEn: '英文品名',
brand: '品牌',
num: '填单件数',
sumNum: '入仓件数',
unit: '单位',
worth: '货值',
material: '材质',
volume: '体积(m3)',
weight: '重量(kg)',
noData: '暂无数据',
notOrderData: '暂无订单动态数据',
showWarehouseReceipt: '查看入仓单',
showLadingBill: '查看提货单',
hiddenText: '隐藏',
showText: '展示',
transInfo: '运输信息'
orderNo: "订单编号",
deliveryDate: "送货时间",
transport: "运输方式",
channel: "出货渠道",
startTitle: "始发仓",
destTitle: "目的仓",
startAddress: "地址",
consignorName: "发货人",
consignorCompany: "发货人公司名称",
consignorNameEn: "发货人英文名称",
consignorCompanyEn: "发货人公司英文名称",
consignorPhone: "发货人电话",
consignorEmail: "发货人邮箱",
consigneeName: "收货人",
consigneeCompany: "收货人公司名称",
consigneeNameEn: "收货人英文名称",
consigneeCompanyEn: "收货人公司英文名称",
consigneeEmail: "收货人邮箱",
consigneePhone: "收货人电话",
marks: "唛头",
isCargoControl: "是否控货",
baseInfo: "基础信息",
transportInfo: "物流信息",
costVO: "填单信息",
box: "",
is: "",
no: "",
warehouseNum: "仓库实测",
entry: "收款数据",
warehouseType: "入仓类型",
customsType: "单证报关",
isCollection: "代收货款",
activeFirst: "货物详情",
activeSecond: "订单动态",
activeThree: "运单资料/提货单",
prodTitleZh: "中文品名",
prodTitleEn: "英文品名",
brand: "品牌",
num: "填单件数",
sumNum: "入仓件数",
unit: "单位",
worth: "货值",
material: "材质",
volume: "体积(m3)",
weight: "重量(kg)",
noData: "暂无数据",
notOrderData: "暂无订单动态数据",
showWarehouseReceipt: "查看入仓单",
showLadingBill: "查看提货单",
hiddenText: "隐藏",
showText: "展示",
transInfo: "运输信息",
},
customer: {
none: '',
customer: '我的客户',
group: '分组管理',
grouping: '分组',
name: '姓名',
nameEn: '姓名(英文)',
nameRules: '姓名不能为空',
nameNotice: '请输入姓名',
company: '公司名称',
companyEn: '公司名称(英文)',
companyRules: '公司名称不能为空',
companyNotice: '请输入公司名称',
phone: '联系电话',
phoneRules1: '联系电话不能为空',
phoneRules2: '电话必须为数字值',
dialCode: '国家区号不能为空',
phoneNotice: '请输入联系电话',
index: '序号',
createTime: '添加时间',
maitou: '唛头',
maitouNotice: '请输入唛头',
groupBy: '所属分组',
email: '电子邮箱',
emailNotice: '请输入电子邮箱',
address: '详细地址',
addressNotice: '请输入详细地址',
addCustomer: '添加客户',
updateCustomer: '修改客户',
deleteCustomer: '是否确认删除客户?',
submit: '确 定',
cancel: '取 消',
groupTitle: '分组名称',
groupTitleRules: '分组名称',
groupTitleNotice: '分组名称不能为空',
groupBeizhu: '分组备注',
groupAorder: '分组排序',
groupAorderNotice: '请输入分组排序',
beizhu: '备注信息',
beizhuNotice: '请输入备注信息',
addGroup: '请输入备注信息',
updateGroup: '请输入备注信息',
deleteGroup: '是否确认删除分组?',
default: '默认',
yes: '',
no: ''
none: "",
customer: "我的客户",
group: "分组管理",
grouping: "分组",
name: "姓名",
nameEn: "姓名(英文)",
nameRules: "姓名不能为空",
nameNotice: "请输入姓名",
company: "公司名称",
companyEn: "公司名称(英文)",
companyRules: "公司名称不能为空",
companyNotice: "请输入公司名称",
phone: "联系电话",
phoneRules1: "联系电话不能为空",
phoneRules2: "电话必须为数字值",
dialCode: "国家区号不能为空",
phoneNotice: "请输入联系电话",
index: "序号",
createTime: "添加时间",
maitou: "唛头",
maitouNotice: "请输入唛头",
groupBy: "所属分组",
email: "电子邮箱",
emailNotice: "请输入电子邮箱",
address: "详细地址",
addressNotice: "请输入详细地址",
addCustomer: "添加客户",
updateCustomer: "修改客户",
deleteCustomer: "是否确认删除客户?",
submit: "确 定",
cancel: "取 消",
groupTitle: "分组名称",
groupTitleRules: "分组名称",
groupTitleNotice: "分组名称不能为空",
groupBeizhu: "分组备注",
groupAorder: "分组排序",
groupAorderNotice: "请输入分组排序",
beizhu: "备注信息",
beizhuNotice: "请输入备注信息",
addGroup: "请输入备注信息",
updateGroup: "请输入备注信息",
deleteGroup: "是否确认删除分组?",
default: "默认",
yes: "",
no: "",
},
ecash: {
time: '有效时间',
bj: '中国',
nrly: '尼日利亚'
time: "有效时间",
bj: "中国",
nrly: "尼日利亚",
},
message: {
title: '我的消息(站内信)',
notTatal1: '站内信',
notTatal2: '条未读',
read: '已读',
unread: '未读'
title: "我的消息(站内信)",
notTatal1: "站内信",
notTatal2: "条未读",
read: "已读",
unread: "未读",
},
messagedetail: {
header: '消息详情',
title: '标题',
type: '消息分类',
createTime: '创建时间',
type1: '订单消息',
type2: '出货消息',
type3: '提醒消息'
header: "消息详情",
title: "标题",
type: "消息分类",
createTime: "创建时间",
type1: "订单消息",
type2: "出货消息",
type3: "提醒消息",
},
notice: {
header: '公告消息'
header: "公告消息",
},
postorder: {
header: '发出订单',
transport: '运输方式',
orderNo: '订单编号',
orderNoRules: '请输入订单编号',
marks: '唛头',
marksRules: '请输入唛头',
date: '日期筛选',
start: '开始日期',
end: '结束日期',
status: '订单状态',
cargoControlStatus: '控货状态',
createTime: '下单时间',
refundWarehouse: '申请退仓',
abnormal: '处理',
edit: '编辑',
cancel: '取消订单',
refundOrderNo: '退仓订单号',
refundReason: '退仓原因',
refundReasonNotice: '请输入退仓原因',
submitRefund: '确定退仓',
noRefund: '不,再考虑考虑',
confirm: '确定要取消此订单么?',
refundImg: '退仓图片',
refundWarehouseSuccess: '申请退仓成功'
header: "发出订单",
transport: "运输方式",
orderNo: "订单编号",
orderNoRules: "请输入订单编号",
marks: "唛头",
marksRules: "请输入唛头",
date: "日期筛选",
start: "开始日期",
end: "结束日期",
status: "订单状态",
cargoControlStatus: "控货状态",
createTime: "下单时间",
refundWarehouse: "申请退仓",
abnormal: "处理",
edit: "编辑",
cancel: "取消订单",
refundOrderNo: "退仓订单号",
refundReason: "退仓原因",
refundReasonNotice: "请输入退仓原因",
submitRefund: "确定退仓",
noRefund: "不,再考虑考虑",
confirm: "确定要取消此订单么?",
refundImg: "退仓图片",
refundWarehouseSuccess: "申请退仓成功",
},
prepayDeal: {
orderNo: '订单号:',
box: '',
prodTitleZh: '产品名称:',
prodTitleEn: '英文名称:',
transport: '运输路线:',
costVO: '填单参数:',
warehouseNum: '入仓参数:',
abnormal: '异常描述:',
add: '新增收款单',
brand: '品牌',
proName: '品名',
boxNum: '箱数',
volumeWeight: '体积/重量',
payType: '收款类型',
feeType: '收入类型',
consigneeName: '收货人',
paystatus: '付款状态',
costVOBox: '填单箱数',
cartonsNum: '入仓箱数',
volume: '方数',
weight: '重量',
quantity: '数量',
worth: '货值',
result: '处理结果:',
remark: '备注:',
customsData: '报关资料:',
content: '详细内容:',
status: '状态:',
cause: '*查明原因:',
none: '',
prepaid: '预付',
shouldMoney: '应收金额',
dollar: '总金额美元',
rmb: '总金额RMB',
actualMoney: '实收金额',
drawee: '付款人',
payable: '应付金额:',
verificationMoney: '核销金额:',
verificationRatio: '核销比例:',
submit: '转交',
from: ' 从【',
to: '】发往【'
orderNo: "订单号:",
box: "",
prodTitleZh: "产品名称:",
prodTitleEn: "英文名称:",
transport: "运输路线:",
costVO: "填单参数:",
warehouseNum: "入仓参数:",
abnormal: "异常描述:",
add: "新增收款单",
brand: "品牌",
proName: "品名",
boxNum: "箱数",
volumeWeight: "体积/重量",
payType: "收款类型",
feeType: "收入类型",
consigneeName: "收货人",
paystatus: "付款状态",
costVOBox: "填单箱数",
cartonsNum: "入仓箱数",
volume: "方数",
weight: "重量",
quantity: "数量",
worth: "货值",
result: "处理结果:",
remark: "备注:",
customsData: "报关资料:",
content: "详细内容:",
status: "状态:",
cause: "*查明原因:",
none: "",
prepaid: "预付",
shouldMoney: "应收金额",
dollar: "总金额美元",
rmb: "总金额RMB",
actualMoney: "实收金额",
drawee: "付款人",
payable: "应付金额:",
verificationMoney: "核销金额:",
verificationRatio: "核销比例:",
submit: "转交",
from: " 从【",
to: "】发往【",
},
weightDeal: {
view: '查看',
marks: '唛头',
costVO: '已到箱数/总箱数',
status: '订单状态',
inTime: '送货日期',
transport: '运输方式',
start: '始发地',
dest: '目的地',
consignorName: '发货人',
consignorCompany: '发货公司',
consignorPhone: '发货电话',
consigneeName: '收货人',
consigneeCompany: '收货公司',
consigneePhone: '收货电话',
goods: '货物信息',
index: '序号',
proName: '品名',
orderGoods: '填单货物信息',
brand: '品牌',
num: '箱数',
volume: '体积',
weight: '重量',
putGoods: '入库货物属性',
unit: '规格',
ss: '重货方数',
vweight: '泡货重量',
handlerTime: '最后操作时间',
general: '设为普货',
process: '同意重货',
pao: '同意泡货',
subtotal: '小计',
sums2: '下单统计:',
sums3: '入仓统计:',
box: '',
none: ''
view: "查看",
marks: "唛头",
costVO: "已到箱数/总箱数",
status: "订单状态",
inTime: "送货日期",
transport: "运输方式",
start: "始发地",
dest: "目的地",
consignorName: "发货人",
consignorCompany: "发货公司",
consignorPhone: "发货电话",
consigneeName: "收货人",
consigneeCompany: "收货公司",
consigneePhone: "收货电话",
goods: "货物信息",
index: "序号",
proName: "品名",
orderGoods: "填单货物信息",
brand: "品牌",
num: "箱数",
volume: "体积",
weight: "重量",
putGoods: "入库货物属性",
unit: "规格",
ss: "重货方数",
vweight: "泡货重量",
handlerTime: "最后操作时间",
general: "设为普货",
process: "同意重货",
pao: "同意泡货",
subtotal: "小计",
sums2: "下单统计:",
sums3: "入仓统计:",
box: "",
none: "",
},
price: {
header: '价格查询',
departure: '始发地',
departureRules: '始发地必选',
departureNotice: '请选择始发地',
objective: '目的地',
objectiveRules: '目的城市必选',
objectiveNotice: '请选择目的地',
prod: '商品名称',
prodRules: '商品名称必选',
transport: '运输方式',
channel: '出货渠道',
num: '箱数',
numRule1: '箱数不能为空',
numRule2: '箱数必须为正整数',
box: '',
quantity: '总数量',
quantityRule1: '总数量不能为空',
quantityRule2: '总数量必须为正整数',
one: '',
weight: '货物重量',
weightRule1: '重量不能为空',
weightRule2: '货物重量必须为正数,且最多保留两位小数',
long: '',
longRule1: '长不能为空',
longRule2: '长必须为正数,且最多保留两位小数',
wide: '',
wideRule1: '宽不能为空',
wideRule2: '宽必须为正数,且最多保留两位小数',
high: '',
highRule1: '高不能为空',
highRule2: '高必须为正数,且最多保留两位小数',
seaFreight: '运费',
none: '未报价',
clearanceFreight: '清关费',
startTitle: '始发仓',
destTitle: '目的仓',
estimatedSales: '预估费用',
notice: '温馨提醒',
text: '<p>1、以上报价仅供参考,实际计费以装箱打包后的实重或轻泡体积重来计算。</p><p></p><p>2、请注意渠道的选择,不同的东西选择不同的渠道价格就不同。</p><p></p><p>3、报价不含目的地关税,不含偏远或超重超长费。</p><p></p><p>4、包裹赔偿方法:包裹在运输途中发生丢失,我司将会按照包裹购买价值原价赔偿,但最高赔偿为包裹USD100/票,若包裹价值比较昂贵的请自行购买保险。若出现外包装完好,但内件损坏,我司不予赔偿。若出现外包装破损,请在签收前立即开箱检查包裹,并向快递员取证,以便后期进行索赔。</p><p></p><p>5、本公司拒绝接收国家明令禁止的物品,如:易燃易爆品、毒品、刀具、枪支弹药及配件、淫秽、反动刊物等,若出现夹带被海关查获,由此产生的责任由客户自行承担!</p>'
header: "价格查询",
departure: "始发地",
departureRules: "始发地必选",
departureNotice: "请选择始发地",
objective: "目的地",
objectiveRules: "目的城市必选",
objectiveNotice: "请选择目的地",
prod: "商品名称",
prodRules: "商品名称必选",
transport: "运输方式",
channel: "出货渠道",
num: "箱数",
numRule1: "箱数不能为空",
numRule2: "箱数必须为正整数",
box: "",
quantity: "总数量",
quantityRule1: "总数量不能为空",
quantityRule2: "总数量必须为正整数",
one: "",
weight: "货物重量",
weightRule1: "重量不能为空",
weightRule2: "货物重量必须为正数,且最多保留两位小数",
long: "",
longRule1: "长不能为空",
longRule2: "长必须为正数,且最多保留两位小数",
wide: "",
wideRule1: "宽不能为空",
wideRule2: "宽必须为正数,且最多保留两位小数",
high: "",
highRule1: "高不能为空",
highRule2: "高必须为正数,且最多保留两位小数",
seaFreight: "运费",
none: "未报价",
clearanceFreight: "清关费",
startTitle: "始发仓",
destTitle: "目的仓",
estimatedSales: "预估费用",
notice: "温馨提醒",
text: "<p>1、以上报价仅供参考,实际计费以装箱打包后的实重或轻泡体积重来计算。</p><p></p><p>2、请注意渠道的选择,不同的东西选择不同的渠道价格就不同。</p><p></p><p>3、报价不含目的地关税,不含偏远或超重超长费。</p><p></p><p>4、包裹赔偿方法:包裹在运输途中发生丢失,我司将会按照包裹购买价值原价赔偿,但最高赔偿为包裹USD100/票,若包裹价值比较昂贵的请自行购买保险。若出现外包装完好,但内件损坏,我司不予赔偿。若出现外包装破损,请在签收前立即开箱检查包裹,并向快递员取证,以便后期进行索赔。</p><p></p><p>5、本公司拒绝接收国家明令禁止的物品,如:易燃易爆品、毒品、刀具、枪支弹药及配件、淫秽、反动刊物等,若出现夹带被海关查获,由此产生的责任由客户自行承担!</p>",
},
receiveorder: {
header: '收到订单',
transport: '运输方式',
orderNo: '订单编号',
orderNoRules: '请输入订单编号',
marks: '唛头',
marksRules: '请输入唛头',
date: '日期筛选',
start: '开始日期',
end: '结束日期',
status: '订单状态',
createTime: '下单时间'
header: "收到订单",
transport: "运输方式",
orderNo: "订单编号",
orderNoRules: "请输入订单编号",
marks: "唛头",
marksRules: "请输入唛头",
date: "日期筛选",
start: "开始日期",
end: "结束日期",
status: "订单状态",
createTime: "下单时间",
},
supplier: {
none: '',
supplier: '我的供应商',
group: '分组管理',
grouping: '分组',
name: '姓名',
nameRules: '姓名不能为空',
nameNotice: '请输入姓名',
company: '公司名称',
companyRules: '公司名称不能为空',
companyNotice: '请输入公司名称',
phone: '联系电话',
phoneRules1: '联系电话不能为空',
phoneRules2: '电话必须为数字值',
dialCode: '国家区号不能为空',
phoneNotice: '请输入联系电话',
index: '序号',
createTime: '添加时间',
maitou: '唛头',
maitouNotice: '请输入唛头',
groupBy: '所属分组',
email: '电子邮箱',
emailNotice: '请输入电子邮箱',
address: '详细地址',
addressNotice: '请输入详细地址',
addSupplier: '添加供应商',
updateSupplier: '修改供应商',
deleteSupplier: '是否确认删除供应商?',
submit: '确 定',
cancel: '取 消',
groupTitle: '分组名称',
groupTitleRules: '分组名称',
groupTitleNotice: '分组名称不能为空',
groupBeizhu: '分组备注',
groupAorder: '分组排序',
groupAorderNotice: '请输入分组排序',
beizhu: '备注信息',
beizhuNotice: '请输入备注信息',
addGroup: '请输入备注信息',
updateGroup: '请输入备注信息',
deleteGroup: '是否确认删除分组?'
none: "",
supplier: "我的供应商",
group: "分组管理",
grouping: "分组",
name: "姓名",
nameRules: "姓名不能为空",
nameNotice: "请输入姓名",
company: "公司名称",
companyRules: "公司名称不能为空",
companyNotice: "请输入公司名称",
phone: "联系电话",
phoneRules1: "联系电话不能为空",
phoneRules2: "电话必须为数字值",
dialCode: "国家区号不能为空",
phoneNotice: "请输入联系电话",
index: "序号",
createTime: "添加时间",
maitou: "唛头",
maitouNotice: "请输入唛头",
groupBy: "所属分组",
email: "电子邮箱",
emailNotice: "请输入电子邮箱",
address: "详细地址",
addressNotice: "请输入详细地址",
addSupplier: "添加供应商",
updateSupplier: "修改供应商",
deleteSupplier: "是否确认删除供应商?",
submit: "确 定",
cancel: "取 消",
groupTitle: "分组名称",
groupTitleRules: "分组名称",
groupTitleNotice: "分组名称不能为空",
groupBeizhu: "分组备注",
groupAorder: "分组排序",
groupAorderNotice: "请输入分组排序",
beizhu: "备注信息",
beizhuNotice: "请输入备注信息",
addGroup: "请输入备注信息",
updateGroup: "请输入备注信息",
deleteGroup: "是否确认删除分组?",
},
printLadingBill: {
loading: '加载中',
download: '下载',
print: '打印',
tidanNO: '提货单',
lodop: '请检查LODOP打印控件是否安装并启动'
loading: "加载中",
download: "下载",
print: "打印",
tidanNO: "提货单",
lodop: "请检查LODOP打印控件是否安装并启动",
},
printWarehouseReceipt: {
orderNo: '订单号',
phone: '发货人电话',
address: '提货地点',
marks: '唛头',
prodTitle: '货物描述',
cartonsNum: '箱数',
boxGauge: '尺寸',
volume: '方数',
weight: '重量',
inTime: '入仓时间',
text1: '1.控货成功标准:入仓3天内收到我司控货短信视为控货成功;否则视为不控货,如未收到请在2个工作日内与我司联系。',
text2: '2.如需保价赔付需在入仓3天内告知。',
print: '去打印',
comprint: '确定打印',
printNo: '打印入仓单',
lodop: '请检查LODOP打印控件是否安装并启动'
orderNo: "订单号",
phone: "发货人电话",
address: "提货地点",
marks: "唛头",
prodTitle: "货物描述",
cartonsNum: "箱数",
boxGauge: "尺寸",
volume: "方数",
weight: "重量",
inTime: "入仓时间",
text1:
"1.控货成功标准:入仓3天内收到我司控货短信视为控货成功;否则视为不控货,如未收到请在2个工作日内与我司联系。",
text2: "2.如需保价赔付需在入仓3天内告知。",
print: "去打印",
comprint: "确定打印",
printNo: "打印入仓单",
lodop: "请检查LODOP打印控件是否安装并启动",
},
release: {
orderNo: '订单号',
sumNum: '总箱数',
sumVolume: '体积',
sumWeight: '重量',
sumConNum: '总控货箱数',
remainNum: '剩余放货箱数',
releaseNotice: '请填写放货信息',
consigneeName: '收货人',
consigneeNameRules: '请填写收货人',
consigneeNameNotice: '请输入收货人',
consigneePhone: '收货人电话',
consigneePhoneNotice: '请输入收货人电话',
consigneeEmail: '收货人邮箱',
consigneeEmailNotice: '请输入收货人邮箱',
conNum: '控货箱数',
pickNum: '放货箱数',
pickVolume: '体积(m³)',
pickWeight: '重量(kg)',
remarks: '备注',
phone: '控货手机号',
phoneNotice: '请输入控货手机号',
code: '手机验证码',
deliverymode: '放货方式',
codeRules: '验证码不能为空',
codeNotice: '请输入手机验证码',
submit: '确认放货',
close: '关闭',
agree: '我同意',
release: '放货',
VerifyNotice: '*控货密码或手机验证码放货,二选一',
releaseSuccess: '放货成功'
orderNo: "订单号",
sumNum: "总箱数",
sumVolume: "体积",
sumWeight: "重量",
sumConNum: "总控货箱数",
remainNum: "剩余放货箱数",
releaseNotice: "请填写放货信息",
consigneeName: "收货人",
consigneeNameRules: "请填写收货人",
consigneeNameNotice: "请输入收货人",
consigneePhone: "收货人电话",
consigneePhoneNotice: "请输入收货人电话",
consigneeEmail: "收货人邮箱",
consigneeEmailNotice: "请输入收货人邮箱",
conNum: "控货箱数",
pickNum: "放货箱数",
pickVolume: "体积(m³)",
pickWeight: "重量(kg)",
remarks: "备注",
phone: "控货手机号",
phoneNotice: "请输入控货手机号",
code: "手机验证码",
deliverymode: "放货方式",
codeRules: "验证码不能为空",
codeNotice: "请输入手机验证码",
submit: "确认放货",
close: "关闭",
agree: "我同意",
release: "放货",
VerifyNotice: "*控货密码或手机验证码放货,二选一",
releaseSuccess: "放货成功",
},
sendSmsCode: {
send: '发送验证码',
seconds: '',
again: '重新发送',
success: '发送成功'
send: "发送验证码",
seconds: "",
again: "重新发送",
success: "发送成功",
},
transfer: {
cargoControlName: '原控货人',
cargoControlPhone: '原控货手机号',
name: '新控货人',
nameRules: '控货人不能为空',
phone: '新控货手机号',
phoneRules: '控货人手机不能为空',
email: '新控货人邮箱',
code: '手机验证码',
codeRules: '验证码不能为空',
submit: '确定转移',
agree: '我同意',
close: '关闭'
cargoControlName: "原控货人",
cargoControlPhone: "原控货手机号",
name: "新控货人",
nameRules: "控货人不能为空",
phone: "新控货手机号",
phoneRules: "控货人手机不能为空",
email: "新控货人邮箱",
code: "手机验证码",
codeRules: "验证码不能为空",
submit: "确定转移",
agree: "我同意",
close: "关闭",
},
coupons: {
status: '优惠状态',
info: '暂无数据~'
status: "优惠状态",
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: "始发城市",
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: "复制订单信息",
},
};
import Vue from 'vue'
import Router from 'vue-router'
import Vue from "vue";
import Router from "vue-router";
Vue.use(Router)
Vue.use(Router);
/* Layout */
import Layout from '@/layout'
import Layout from "@/layout";
/* Router Modules */
import componentsRouter from './modules/components'
import chartsRouter from './modules/charts'
import tableRouter from './modules/table'
import nestedRouter from './modules/nested'
import jiedaoRouter from '@/router/modules/jiedao'
import Jdlayout from '@/layout/jdlayout'
import componentsRouter from "./modules/components";
import chartsRouter from "./modules/charts";
import tableRouter from "./modules/table";
import nestedRouter from "./modules/nested";
import jiedaoRouter from "@/router/modules/jiedao";
import Jdlayout from "@/layout/jdlayout";
/**
* Note: sub-menu only appear when route children.length >= 1
......@@ -42,72 +42,77 @@ import Jdlayout from '@/layout/jdlayout'
*/
export const constantRoutes = [
{
path: '/redirect',
path: "/redirect",
component: Layout,
hidden: true,
children: [
{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index')
}
]
path: "/redirect/:path(.*)",
component: () => import("@/views/redirect/index"),
},
],
},
{
path: '/login',
component: () => import('@/views/login/index'),
hidden: true
path: "/login",
component: () => import("@/views/login/index"),
hidden: true,
},
{
path: '/registered',
component: () => import('@/views/registered/index'),
hidden: true
path: "/registered",
component: () => import("@/views/registered/index"),
hidden: true,
},
{
path: '/reset-password',
component: () => import('@/views/registered/resetpwd'),
hidden: true
path: "/myInfo",
component: () => import("@/views/my_info/my_info.vue"),
hidden: true,
},
{
path: '/auth-redirect',
component: () => import('@/views/login/auth-redirect'),
hidden: true
path: "/reset-password",
component: () => import("@/views/registered/resetpwd"),
hidden: true,
},
{
path: '/jd-transport',
component: () => import('@/views/jiedao/profile/transport'),
name: 'Logistics',
meta: { title: 'logistics' }
path: "/auth-redirect",
component: () => import("@/views/login/auth-redirect"),
hidden: true,
},
{
path: '/jd-erate',
component: () => import('@/views/jiedao/profile/erate'),
name: 'Ecash',
meta: { title: 'ecash' }
path: "/jd-transport",
component: () => import("@/views/jiedao/profile/transport"),
name: "Logistics",
meta: { title: "logistics" },
},
{
path: '/404',
component: () => import('@/views/error-page/404'),
hidden: true
path: "/jd-erate",
component: () => import("@/views/jiedao/profile/erate"),
name: "Ecash",
meta: { title: "ecash" },
},
{
path: '/401',
component: () => import('@/views/error-page/401'),
hidden: true
path: "/404",
component: () => import("@/views/error-page/404"),
hidden: true,
},
{
path: "/401",
component: () => import("@/views/error-page/401"),
hidden: true,
},
{
path: '/',
path: "/",
component: Jdlayout,
redirect: '/jiedao',
redirect: "/jiedao",
children: [
{
path: 'dashboard',
component: () => import('@/views/jiedao/profile'),
name: 'Dashboard',
meta: { title: 'dashboard', icon: 'dashboard', affix: true }
}
]
}
]
path: "dashboard",
component: () => import("@/views/jiedao/profile"),
name: "Dashboard",
meta: { title: "dashboard", icon: "dashboard", affix: true },
},
],
},
];
/**
* asyncRoutes
......@@ -115,58 +120,58 @@ export const constantRoutes = [
*/
export const asyncRoutes = [
{
path: '/permission',
path: "/permission",
component: Layout,
redirect: '/permission/page',
redirect: "/permission/page",
alwaysShow: true, // will always show the root menu
name: 'Permission',
name: "Permission",
meta: {
title: 'permission',
icon: 'lock',
roles: ['admin', 'editor'] // you can set roles in root nav
title: "permission",
icon: "lock",
roles: ["admin", "editor"], // you can set roles in root nav
},
children: [
{
path: 'page',
component: () => import('@/views/permission/page'),
name: 'PagePermission',
path: "page",
component: () => import("@/views/permission/page"),
name: "PagePermission",
meta: {
title: 'pagePermission',
roles: ['admin'] // or you can only set roles in sub nav
}
title: "pagePermission",
roles: ["admin"], // or you can only set roles in sub nav
},
},
{
path: 'directive',
component: () => import('@/views/permission/directive'),
name: 'DirectivePermission',
path: "directive",
component: () => import("@/views/permission/directive"),
name: "DirectivePermission",
meta: {
title: 'directivePermission'
title: "directivePermission",
// if do not set roles, means: this page does not require permission
}
},
},
{
path: 'role',
component: () => import('@/views/permission/role'),
name: 'RolePermission',
path: "role",
component: () => import("@/views/permission/role"),
name: "RolePermission",
meta: {
title: 'rolePermission',
roles: ['admin']
}
}
]
title: "rolePermission",
roles: ["admin"],
},
},
],
},
{
path: '/icon',
path: "/icon",
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/icons/index'),
name: 'Icons',
meta: { title: 'icons', icon: 'icon', noCache: true }
}
]
path: "index",
component: () => import("@/views/icons/index"),
name: "Icons",
meta: { title: "icons", icon: "icon", noCache: true },
},
],
},
/** when your routing map is too long, you can split it into small modules **/
......@@ -177,227 +182,232 @@ export const asyncRoutes = [
jiedaoRouter,
{
path: '/example',
path: "/example",
component: Layout,
redirect: '/example/list',
name: 'Example',
redirect: "/example/list",
name: "Example",
meta: {
title: 'example',
icon: 'el-icon-s-help'
title: "example",
icon: "el-icon-s-help",
},
children: [
{
path: 'create',
component: () => import('@/views/example/create'),
name: 'CreateArticle',
meta: { title: 'createArticle', icon: 'edit' }
path: "create",
component: () => import("@/views/example/create"),
name: "CreateArticle",
meta: { title: "createArticle", icon: "edit" },
},
{
path: 'edit/:id(\\d+)',
component: () => import('@/views/example/edit'),
name: 'EditArticle',
meta: { title: 'editArticle', noCache: true, activeMenu: '/example/list' },
hidden: true
path: "edit/:id(\\d+)",
component: () => import("@/views/example/edit"),
name: "EditArticle",
meta: {
title: "editArticle",
noCache: true,
activeMenu: "/example/list",
},
hidden: true,
},
{
path: 'list',
component: () => import('@/views/example/list'),
name: 'ArticleList',
meta: { title: 'articleList', icon: 'list' }
}
]
path: "list",
component: () => import("@/views/example/list"),
name: "ArticleList",
meta: { title: "articleList", icon: "list" },
},
],
},
{
path: '/tab',
path: "/tab",
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/tab/index'),
name: 'Tab',
meta: { title: 'tab', icon: 'tab' }
}
]
path: "index",
component: () => import("@/views/tab/index"),
name: "Tab",
meta: { title: "tab", icon: "tab" },
},
],
},
{
path: '/error',
path: "/error",
component: Layout,
redirect: 'noRedirect',
name: 'ErrorPages',
redirect: "noRedirect",
name: "ErrorPages",
meta: {
title: 'errorPages',
icon: '404'
title: "errorPages",
icon: "404",
},
children: [
{
path: '401',
component: () => import('@/views/error-page/401'),
name: 'Page401',
meta: { title: 'page401', noCache: true }
path: "401",
component: () => import("@/views/error-page/401"),
name: "Page401",
meta: { title: "page401", noCache: true },
},
{
path: '404',
component: () => import('@/views/error-page/404'),
name: 'Page404',
meta: { title: 'page404', noCache: true }
}
]
path: "404",
component: () => import("@/views/error-page/404"),
name: "Page404",
meta: { title: "page404", noCache: true },
},
],
},
{
path: '/error-log',
path: "/error-log",
component: Layout,
children: [
{
path: 'log',
component: () => import('@/views/error-log/index'),
name: 'ErrorLog',
meta: { title: 'errorLog', icon: 'bug' }
}
]
path: "log",
component: () => import("@/views/error-log/index"),
name: "ErrorLog",
meta: { title: "errorLog", icon: "bug" },
},
],
},
{
path: '/excel',
path: "/excel",
component: Layout,
redirect: '/excel/export-excel',
name: 'Excel',
redirect: "/excel/export-excel",
name: "Excel",
meta: {
title: 'excel',
icon: 'excel'
title: "excel",
icon: "excel",
},
children: [
{
path: 'export-excel',
component: () => import('@/views/excel/export-excel'),
name: 'ExportExcel',
meta: { title: 'exportExcel' }
path: "export-excel",
component: () => import("@/views/excel/export-excel"),
name: "ExportExcel",
meta: { title: "exportExcel" },
},
{
path: 'export-selected-excel',
component: () => import('@/views/excel/select-excel'),
name: 'SelectExcel',
meta: { title: 'selectExcel' }
path: "export-selected-excel",
component: () => import("@/views/excel/select-excel"),
name: "SelectExcel",
meta: { title: "selectExcel" },
},
{
path: 'export-merge-header',
component: () => import('@/views/excel/merge-header'),
name: 'MergeHeader',
meta: { title: 'mergeHeader' }
path: "export-merge-header",
component: () => import("@/views/excel/merge-header"),
name: "MergeHeader",
meta: { title: "mergeHeader" },
},
{
path: 'upload-excel',
component: () => import('@/views/excel/upload-excel'),
name: 'UploadExcel',
meta: { title: 'uploadExcel' }
}
]
path: "upload-excel",
component: () => import("@/views/excel/upload-excel"),
name: "UploadExcel",
meta: { title: "uploadExcel" },
},
],
},
{
path: '/zip',
path: "/zip",
component: Layout,
redirect: '/zip/download',
redirect: "/zip/download",
alwaysShow: true,
name: 'Zip',
meta: { title: 'zip', icon: 'zip' },
name: "Zip",
meta: { title: "zip", icon: "zip" },
children: [
{
path: 'download',
component: () => import('@/views/zip/index'),
name: 'ExportZip',
meta: { title: 'exportZip' }
}
]
path: "download",
component: () => import("@/views/zip/index"),
name: "ExportZip",
meta: { title: "exportZip" },
},
],
},
{
path: '/pdf',
path: "/pdf",
component: Layout,
redirect: '/pdf/index',
redirect: "/pdf/index",
children: [
{
path: 'index',
component: () => import('@/views/pdf/index'),
name: 'PDF',
meta: { title: 'pdf', icon: 'pdf' }
}
]
path: "index",
component: () => import("@/views/pdf/index"),
name: "PDF",
meta: { title: "pdf", icon: "pdf" },
},
],
},
{
path: '/pdf/download',
component: () => import('@/views/pdf/download'),
hidden: true
path: "/pdf/download",
component: () => import("@/views/pdf/download"),
hidden: true,
},
{
path: '/theme',
path: "/theme",
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/theme/index'),
name: 'Theme',
meta: { title: 'theme', icon: 'theme' }
}
]
path: "index",
component: () => import("@/views/theme/index"),
name: "Theme",
meta: { title: "theme", icon: "theme" },
},
],
},
{
path: '/clipboard',
path: "/clipboard",
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/clipboard/index'),
name: 'ClipboardDemo',
meta: { title: 'clipboardDemo', icon: 'clipboard' }
}
]
path: "index",
component: () => import("@/views/clipboard/index"),
name: "ClipboardDemo",
meta: { title: "clipboardDemo", icon: "clipboard" },
},
],
},
{
path: '/i18n',
path: "/i18n",
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/i18n-demo/index'),
name: 'I18n',
meta: { title: 'i18n', icon: 'international' }
}
]
path: "index",
component: () => import("@/views/i18n-demo/index"),
name: "I18n",
meta: { title: "i18n", icon: "international" },
},
],
},
{
path: 'external-link',
path: "external-link",
component: Layout,
children: [
{
path: 'https://github.com/PanJiaChen/vue-element-admin',
meta: { title: 'externalLink', icon: 'link' }
}
]
path: "https://github.com/PanJiaChen/vue-element-admin",
meta: { title: "externalLink", icon: "link" },
},
],
},
// 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true }
]
{ path: "*", redirect: "/404", hidden: true },
];
const createRouter = () => new Router({
const createRouter = () =>
new Router({
// mode: 'history', // require service support
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
})
routes: constantRoutes,
});
const router = createRouter()
const router = createRouter();
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher // reset router
const newRouter = createRouter();
router.matcher = newRouter.matcher; // reset router
}
export default router
export default router;
......@@ -28,14 +28,14 @@
<el-option
v-for="item in countryList"
:key="item.id"
:label="'+'+item.tel+' '+item[apiLang]"
:label="'+' + item.tel + ' ' + item[apiLang]"
:value="item.tel"
/>
</el-select>
</el-col>
</el-row>
<el-row :gutter="20" style="display: flex;">
<el-row :gutter="20" style="display: flex">
<el-col :span="16">
<el-form-item prop="code" :label="$t('login.code')">
<el-input
......@@ -55,127 +55,177 @@
:disabled="disabled"
round
@click.native.prevent="getValidaCode"
>{{ getCode }}</el-button>
>{{ getCode }}</el-button
>
</el-col>
</el-row>
<div style="width: 100%;text-align: center;margin-top: 60px;">
<div style="width: 100%; text-align: center; margin-top: 60px">
<el-button
:loading="loading"
type="primary"
round
style="width:70%;"
style="width: 70%"
@click.native.prevent="handleLogin"
>{{ $t('login.logIn') }}</el-button>
>{{ $t("login.logIn") }}</el-button
>
</div>
</el-form>
</div>
</template>
<script>
import { getCode, getCountryList } from '@/api/user'
import { langData } from '@/data/lang'
import { getCode, getCountryList, getInfo } from "@/api/user";
import { langData } from "@/data/lang";
export default {
name: 'MobileLogin',
name: "MobileLogin",
components: {},
data() {
return {
countryList: [],
loginForm: {
areaCode: '86'
areaCode: "86",
},
loginRules: {
mobile: [{ required: true, message: this.$t('login.mobileRules'), trigger: 'blur' }, { pattern: /^[0-9]\d*$/, message: this.$t('customer.phoneRules2') }],
code: [{ required: true, message: this.$t('login.codeRules'), trigger: 'blur' }]
mobile: [
{
required: true,
message: this.$t("login.mobileRules"),
trigger: "blur",
},
{ pattern: /^[0-9]\d*$/, message: this.$t("customer.phoneRules2") },
],
code: [
{
required: true,
message: this.$t("login.codeRules"),
trigger: "blur",
},
],
},
loading: false,
disabled: false,
count: 60,
getCode: this.$t('login.getCode'),
apiLang: '',
langData: langData
}
getCode: this.$t("login.getCode"),
apiLang: "",
langData: langData,
};
},
computed: {
language: {
get() {
return this.$store.getters.language
return this.$store.getters.language;
},
set(val) {
this.$i18n.locale = val
this.$store.dispatch('app/setLanguage', val)
}
}
this.$i18n.locale = val;
this.$store.dispatch("app/setLanguage", val);
},
},
},
watch: {
language() {
this.getCode = this.$t('login.getCode')
this.apiLang = this.langData[this.language]
}
this.getCode = this.$t("login.getCode");
this.apiLang = this.langData[this.language];
},
created() {
this.apiLang = this.langData[this.language]
this.getCode = this.$t('login.getCode')
getCountryList().then(r => {
this.countryList = r.data
})
},
mounted() {
created() {
this.apiLang = this.langData[this.language];
this.getCode = this.$t("login.getCode");
getCountryList().then((r) => {
this.countryList = r.data;
});
},
mounted() {},
destroyed() {
// window.removeEventListener('storage', this.afterQRScan)
},
methods: {
getValidaCode() {
var data = { mobile: this.loginForm.mobile, scene: 1, areaCode: this.loginForm.areaCode }
var data = {
mobile: this.loginForm.mobile,
scene: 1,
areaCode: this.loginForm.areaCode,
};
getCode(data).then(() => {
var countDown = window.setInterval(() => {
if (this.count < 1) {
this.disabled = false
this.count = 60
this.getCode = this.$t('login.getCode')
window.clearInterval(countDown)
this.disabled = false;
this.count = 60;
this.getCode = this.$t("login.getCode");
window.clearInterval(countDown);
} else {
this.count--
this.disabled = true
this.getCode = this.count + 's'
this.count--;
this.disabled = true;
this.getCode = this.count + "s";
}
}, 1000)
})
}, 1000);
});
},
getInfo() {
getInfo().then((r) => {
if (r.data.city) {
this.$router.push({
path: this.redirect || "//myInfo",
query: this.otherQuery,
});
} else {
}
this.$router.push({
path: this.redirect || "/jiedao/jd-profile",
query: this.otherQuery,
});
});
},
getInfos() {
getInfo().then((r) => {
this.loading = false;
if (r.data.city) {
this.$router.push({
path: this.redirect || "/jiedao/jd-profile",
query: this.otherQuery,
});
} else {
this.$router.push({
path: "/myInfo",
query: this.otherQuery,
});
}
});
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
this.$refs.loginForm.validate(async (valid) => {
if (valid) {
this.loading = true
this.$store
.dispatch('user/smsLogin', this.loginForm)
.then(() => {
this.$router.push({
path: this.redirect || '/jiedao/jd-profile',
query: this.otherQuery
})
this.loading = false
})
.catch(() => {
this.loading = false
})
this.loading = true;
await this.$store.dispatch("user/login", this.loginForm);
await this.getInfos();
// this.$store
// .dispatch("user/smsLogin", this.loginForm)
// .then(() => {
// this.$router.push({
// path: this.redirect || "/jiedao/jd-profile",
// query: this.otherQuery,
// });
// this.loading = false;
// })
// .catch(() => {
// this.loading = false;
// });
} else {
console.log('error submit!!')
return false
console.log("error submit!!");
return false;
}
})
});
},
getOtherQuery(query) {
return Object.keys(query).reduce((acc, cur) => {
if (cur !== 'redirect') {
acc[cur] = query[cur]
}
return acc
}, {})
if (cur !== "redirect") {
acc[cur] = query[cur];
}
}
}
return acc;
}, {});
},
},
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
......@@ -35,88 +35,98 @@
/>
</el-form-item>
<div style="display: flex;justify-content: flex-end;margin-top: 20px;">
<div style="display: flex; justify-content: flex-end; margin-top: 20px">
<el-link
style="color: #5BA8DC;"
style="color: #5ba8dc"
:underline="false"
href="/ucenter/#/reset-password"
>{{ $t('login.forget') }}</el-link>
>{{ $t("login.forget") }}</el-link
>
</div>
<div style="width: 100%;text-align: center;margin-top: 50px;">
<div style="width: 100%; text-align: center; margin-top: 50px">
<el-button
:loading="loading"
type="primary"
round
style="width:70%;"
style="width: 70%"
@click.native.prevent="handleLogin"
>{{ $t('login.logIn') }}</el-button>
>{{ $t("login.logIn") }}</el-button
>
</div>
</el-form>
</div>
</template>
<script>
import { validUsername } from '@/utils/validate'
import { validUsername } from "@/utils/validate";
import { getInfo } from "@/api/user";
export default {
name: 'UserLogin',
name: "UserLogin",
components: {},
data() {
const validateUsername = (rule, value, callback) => {
if (!validUsername(value)) {
callback(new Error('Please enter the correct user name'))
callback(new Error("Please enter the correct user name"));
} else {
callback()
}
callback();
}
};
const validatePassword = (rule, value, callback) => {
if (value.length < 6) {
callback(new Error('The password can not be less than 6 digits'))
callback(new Error("The password can not be less than 6 digits"));
} else {
callback()
}
callback();
}
};
return {
loginForm: {
username: '',
password: ''
username: "",
password: "",
},
loginRules: {
username: [
{ required: true, message: this.$t('login.nameRules'), trigger: 'blur' }
{
required: true,
message: this.$t("login.nameRules"),
trigger: "blur",
},
],
password: [
{ required: true, message: this.$t('login.passwordRules'), trigger: 'blur', validator: validatePassword }
]
{
required: true,
message: this.$t("login.passwordRules"),
trigger: "blur",
validator: validatePassword,
},
],
},
passwordType: 'password',
passwordType: "password",
capsTooltip: false,
loading: false,
redirect: undefined,
otherQuery: {}
}
otherQuery: {},
};
},
watch: {
$route: {
handler: function(route) {
const query = route.query
handler: function (route) {
const query = route.query;
if (query) {
this.redirect = query.redirect
this.otherQuery = this.getOtherQuery(query)
this.redirect = query.redirect;
this.otherQuery = this.getOtherQuery(query);
}
},
immediate: true
}
immediate: true,
},
},
created() {
// window.addEventListener('storage', this.afterQRScan)
},
mounted() {
if (this.loginForm.username === '') {
this.$refs.username.focus()
} else if (this.loginForm.password === '') {
this.$refs.password.focus()
if (this.loginForm.username === "") {
this.$refs.username.focus();
} else if (this.loginForm.password === "") {
this.$refs.password.focus();
}
},
destroyed() {
......@@ -124,52 +134,66 @@ export default {
},
methods: {
checkCapslock(e) {
const { key } = e
this.capsTooltip = key && key.length === 1 && key >= 'A' && key <= 'Z'
const { key } = e;
this.capsTooltip = key && key.length === 1 && key >= "A" && key <= "Z";
},
showPwd() {
if (this.passwordType === 'password') {
this.passwordType = ''
if (this.passwordType === "password") {
this.passwordType = "";
} else {
this.passwordType = 'password'
this.passwordType = "password";
}
this.$nextTick(() => {
this.$refs.password.focus()
})
this.$refs.password.focus();
});
},
getInfos() {
getInfo().then((r) => {
this.loading = false;
if (r.data.city) {
this.$router.push({
path: this.redirect || "/jiedao/jd-profile",
query: this.otherQuery,
});
} else {
this.$router.push({
path: "/myInfo",
query: this.otherQuery,
});
}
});
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
this.$refs.loginForm.validate(async (valid) => {
if (valid) {
this.loading = true
this.$store
.dispatch('user/login', this.loginForm)
.then(() => {
this.$router.push({
path: this.redirect || '/jiedao/jd-profile',
query: this.otherQuery
})
this.loading = false
})
.catch(() => {
this.loading = false
})
this.loading = true;
await this.$store.dispatch("user/login", this.loginForm);
await this.getInfos();
// .then(() => {
// console.log("9999997--ee--");
// return this.getInfos();
// console.log("9999997----");
// this.loading = false;
// })
// .catch(() => {
// this.loading = false;
// });
} else {
console.log('error submit!!')
return false
console.log("error submit!!");
return false;
}
})
});
},
getOtherQuery(query) {
return Object.keys(query).reduce((acc, cur) => {
if (cur !== 'redirect') {
acc[cur] = query[cur]
}
return acc
}, {})
}
if (cur !== "redirect") {
acc[cur] = query[cur];
}
}
return acc;
}, {});
},
},
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
<template>
<div style="width: 100%;height: 100%;position: relative;">
<div style="height: 100%;width: 55%;position: relative;">
<img src="@/assets/login/login.png" style="width:100%;height:100%">
<div style="position: absolute;left: 56px;top: 56px;display: flex;">
<img src="@/assets/login/logo.png" style="width:84px;height:84px;">
<span style="font-size: 48px;font-weight: bold;color: #FEFEFE;line-height: 84px;margin-left: 20px;">{{ $t('login.bgTitle1') }}{{ env }}</span>
<div style="width: 100%; height: 100%; position: relative">
<div style="height: 100%; width: 55%; position: relative">
<img src="@/assets/login/login.png" style="width: 100%; height: 100%" />
<div style="position: absolute; left: 56px; top: 56px; display: flex">
<img src="@/assets/login/logo.png" style="width: 84px; height: 84px" />
<span
style="
font-size: 48px;
font-weight: bold;
color: #fefefe;
line-height: 84px;
margin-left: 20px;
"
>{{ $t("login.bgTitle1") }}{{ env }}</span
>
</div>
<div style="position: absolute;left: 160px;top: 170px;display: flex;">
<img src="@/assets/login/1.png" style="width:36px;height:36px;">
<span style="font-size: 32px;font-weight: bold;color: #FEFEFE;line-height: 36px;margin-left: 8px;">{{ $t('login.bgTitle2') }}</span>
<div style="position: absolute; left: 160px; top: 170px; display: flex">
<img src="@/assets/login/1.png" style="width: 36px; height: 36px" />
<span
style="
font-size: 32px;
font-weight: bold;
color: #fefefe;
line-height: 36px;
margin-left: 8px;
"
>{{ $t("login.bgTitle2") }}</span
>
</div>
<div style="position: absolute;left: 130px;top: 250px;display: flex;">
<img src="@/assets/login/8.png" style="width:320px;height:322px;">
<div style="position: absolute;top: 20px;left: 30px;width:500px;">
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/2.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle3') }}</span>
<div style="position: absolute; left: 130px; top: 250px; display: flex">
<img src="@/assets/login/8.png" style="width: 320px; height: 322px" />
<div style="position: absolute; top: 20px; left: 30px; width: 500px">
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/2.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle3") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/3.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle4') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/3.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle4") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/4.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle5') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/4.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle5") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/5.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle6') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/5.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle6") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/6.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle7') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/6.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle7") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/7.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle8') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/7.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle8") }}</span
>
</div>
</div>
</div>
</div>
<div style="position: absolute;left: 60%;top: 105px;">
<div style="display: flex;justify-content: space-between;">
<div style="display: flex;">
<img src="@/assets/setting/user.png" style="width:30px;height:30px;">
<span style="font-size: 24px;font-weight: bold;color: #000;line-height: 34px;margin-left: 10px;">{{ $t('login.title') }}</span>
<div style="position: absolute; left: 60%; top: 105px">
<div style="display: flex; justify-content: space-between">
<div style="display: flex">
<img
src="@/assets/setting/user.png"
style="width: 30px; height: 30px"
/>
<span
style="
font-size: 24px;
font-weight: bold;
color: #000;
line-height: 34px;
margin-left: 10px;
"
>{{ $t("login.title") }}</span
>
</div>
<div>
<el-select v-model="language" size="mini" placeholder="" class="lang" @change="handleSetLanguage">
<div slot="prefix" style="padding: 4px;">
<img src="@/assets/lang.png" style="width:20px;height:20px;">
<el-select
v-model="language"
size="mini"
placeholder=""
class="lang"
@change="handleSetLanguage"
>
<div slot="prefix" style="padding: 4px">
<img src="@/assets/lang.png" style="width: 20px; height: 20px" />
</div>
<el-option
v-for="item in locale"
......@@ -61,26 +151,38 @@
</div>
</div>
<div style="width: 500px">
<div style="margin-top: 70px;">
<span style="font-size: 14px;color: #000;">{{ $t('login.type') }}</span>
<el-radio v-model="loginType" label="1" style="margin-left:25px">{{ $t('login.userLogin') }}</el-radio>
<el-radio v-model="loginType" label="2">{{ $t('login.mobileLogin') }}</el-radio>
<div style="margin-top: 70px">
<span style="font-size: 14px; color: #000">{{
$t("login.type")
}}</span>
<el-radio v-model="loginType" label="1" style="margin-left: 25px">{{
$t("login.userLogin")
}}</el-radio>
<el-radio v-model="loginType" label="2">{{
$t("login.mobileLogin")
}}</el-radio>
</div>
<div style="margin-top: 60px;">
<user-login v-if="loginType==1" />
<mobile-login v-if="loginType==2" />
<div style="margin-top: 60px">
<user-login v-if="loginType == 1" />
<mobile-login v-if="loginType == 2" />
</div>
<div v-if="homeUrl" style="width: 100%;text-align: center;margin-top: 20px;">
<div
v-if="homeUrl"
style="width: 100%; text-align: center; margin-top: 20px"
>
<el-button
:loading="loading"
type="primary"
round
style="width:70%;"
style="width: 70%"
@click="toHome"
>{{ $t('common.returnIndex') }}</el-button>
>{{ $t("common.returnIndex") }}</el-button
>
</div>
<div style="width: 100%;text-align: center;margin-top: 20px;">
<el-link href="/ucenter/#/registered" style="color: #5BA8DC;">{{ $t('login.registered') }}</el-link>
<div style="width: 100%; text-align: center; margin-top: 20px">
<el-link href="/ucenter/#/registered" style="color: #5ba8dc">{{
$t("login.registered")
}}</el-link>
</div>
</div>
</div>
......@@ -88,70 +190,70 @@
</template>
<script>
import UserLogin from './components/userLogin'
import MobileLogin from './components/mobileLogin'
import { locale } from '@/api/country'
import UserLogin from "./components/userLogin";
import MobileLogin from "./components/mobileLogin";
import { locale } from "@/api/country";
export default {
name: 'Login',
name: "Login",
components: { UserLogin, MobileLogin },
data() {
return {
showDialog: false,
loginType: '1',
loading: false,
loginType: "1",
locale: [],
env: ''
}
env: "",
};
},
computed: {
homeUrl() {
return process.env.VUE_APP_HOME_API
return process.env.VUE_APP_HOME_API;
},
language: {
get() {
return this.$store.getters.language
return this.$store.getters.language;
},
set(val) {
this.handleSetLanguage(val)
}
}
this.handleSetLanguage(val);
},
},
},
watch: {
loginType: {
handler: function() {},
deep: true
}
handler: function () {},
deep: true,
},
},
created() {
if (process.env.NODE_ENV === 'development') {
this.env = '-测试版'
if (process.env.NODE_ENV === "development") {
this.env = "-测试版";
}
// window.addEventListener('storage', this.afterQRScan)
locale().then(r => {
this.locale = r.data
})
},
mounted() {
locale().then((r) => {
this.locale = r.data;
});
},
mounted() {},
destroyed() {
// window.removeEventListener('storage', this.afterQRScan)
},
methods: {
handleSetLanguage(lang) {
this.$i18n.locale = lang
this.$store.dispatch('app/setLanguage', lang)
this.$i18n.locale = lang;
this.$store.dispatch("app/setLanguage", lang);
},
toHome() {
window.location.href = this.homeUrl
}
}
}
window.location.href = this.homeUrl;
},
},
};
</script>
<style lang="scss" scoped>
.lang{
.lang {
width: 150px;
::v-deep .el-input__inner{
::v-deep .el-input__inner {
border-radius: 34px;
}
}
......
<template>
<div class="app-container-info">
<div class="left_back">
<img src="@/assets/login/login.png" style="width: 100%; height: 100%" />
</div>
<div class="right_back">
<div class="start-bar"></div>
<el-form
ref="loginForm"
:model="params"
:rules="rules"
autocomplete="on"
label-position="left"
label-width="80px"
>
<el-form-item prop="username" :label="$t('myInfo.name')">
<el-input
ref="username"
v-model="params.nickname"
:placeholder="$t('myInfo.nameNotice')"
name="username"
type="text"
tabindex="1"
/>
</el-form-item>
<el-form-item prop="username" :label="$t('myInfo.nameEn')">
<el-input
ref="username"
v-model="params.englishName"
:placeholder="$t('notices.nameEn')"
name="username"
type="text"
tabindex="1"
/>
</el-form-item>
<!-- 生日 -->
<el-form-item prop="username" :label="$t('myInfo.birth')">
<el-date-picker
v-model="params.birthday"
type="datetime"
:placeholder="$t('notices.birthday')"
/>
</el-form-item>
<el-form-item :label="$t('myInfo.sex')">
<el-select
v-model="params.gender"
:placeholder="$t('notices.gender')"
>
<el-option
v-for="(item, index) in genderData"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-row :gutter="20">
<el-col :span="16">
<el-form-item prop="mobile" :label="$t('login.mobile')">
<el-input
ref="mobile"
v-model="params.mobile"
:placeholder="$t('login.mobile')"
name="mobile"
maxlength="11"
type="text"
tabindex="1"
autocomplete="on"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-select v-model="params.areaCode">
<el-option
v-for="item in countryAreaCodeList"
:key="item.id"
:label="'+' + item.tel + ' ' + item[apiLang]"
:value="item.tel"
/>
</el-select>
</el-col>
</el-row>
<el-form-item :label="$t('myInfo.country')">
<el-select
v-model="params.country"
@change="getCityList"
:placeholder="$t('notices.country')"
>
<el-option
v-for="(item, index) in countryList"
:label="language == 'zh_CN' ? item.titleZh : item.titleEn"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('myInfo.city')">
<el-select v-model="params.city" :placeholder="$t('notices.city')">
<el-option
v-for="(item, index) in cityList"
:label="language == 'zh_CN' ? item.titleZh : item.titleEn"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<!-- 地址 -->
<el-form-item prop="username" :label="$t('myInfo.adderss')">
<el-input
ref="username"
v-model="params.adderss"
:placeholder="$t('notices.adderss')"
name="username"
type="text"
tabindex="1"
/>
</el-form-item>
<el-form-item prop="username" :label="$t('myInfo.department')">
<el-input
ref="username"
v-model="params.department"
:placeholder="$t('notices.department')"
name="department"
type="text"
tabindex="1"
/>
</el-form-item>
<el-form-item prop="username" :label="$t('myInfo.job')">
<el-input
ref="username"
v-model="params.department"
:placeholder="$t('notices.job')"
name="username"
type="text"
tabindex="1"
/>
</el-form-item>
</el-form>
<!-- <div class="consultAdd">
<div class="consult-item">
<div class="consult-item-label">
<span>{{ $t("myInfo.birth") }}</span>
</div>
</div>
</div> -->
<!-- <div class="consult-item">
</div>
</div>
<div class="consult-item">
<div class="consult-item-label">
<span>{{ myInfo.country }}</span>
</div>
<div class="consult-item-put">
<picker
style="width: 100%"
:range="countryArray"
:range-key="rangeKey == 'zh' ? 'titleZh' : 'titleEn'"
@change="bindCountyChange"
>
<div :class="{ placeholder: !params.country }">{{
params.countryValue ? params.countryValue : notices.country
}}</div>
</picker>
<div class="" @click="submitForm">{{ myInfo.edit }}</div> -->
<!-- </div> -->
</div>
</div>
</template>
<script>
import {
getCode,
getCountryList,
getCityListByParent,
getInfo,
getTradeCountryList,
} from "@/api/user";
import { langData } from "@/data/lang";
export default {
data() {
const currentDate = this.getDate({
format: true,
});
return {
rules: {},
params: {},
areaData: [],
areaName: [],
countryAreaCodeList: [],
langData: langData,
apiLang: "",
areaIndex: 0,
countryList: [],
genderData: [
{ value: 0, label: this.$t("myInfo.girl") },
{ value: 1, label: this.$t("myInfo.boy") },
{ value: 2, label: this.$t("myInfo.secret") },
],
// 国家列表
// 城市列表
cityList: [],
};
},
onLoad() {
this.getUserInfo();
},
computed: {
language: {
get() {
return this.$store.getters.language;
},
set(val) {
this.$i18n.locale = val;
this.$store.dispatch("app/setLanguage", val);
},
},
},
watch: {
language() {
this.apiLang = this.langData[this.language];
},
},
created() {
this.apiLang = this.langData[this.language];
getCountryList().then((r) => {
this.countryAreaCodeList = r.data;
});
this.getTradeCountryList();
},
methods: {
submitForm() {
this.$request
.put("/app-api/member/user/update", this.params)
.then((res) => {
if (res.code == 0) {
uni.showToast({
title: this.notices.edited,
icon: "none",
});
} else {
uni.showToast({
title: res.msg,
icon: "none",
});
}
});
},
getUserInfo() {
this.$request.get("/app-api/member/user/get").then((res) => {
if (res.code == 0 && res.data) {
this.params = res.data;
if (!res.data.gender) {
this.params.gender = 2;
}
if (res.data.birthday) {
this.date = res.data.birthday;
}
}
});
},
getDate(type) {
const date = new Date();
let year = date.getFullYear() - 16;
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === "start") {
year = year - 80;
} else if (type === "end") {
year = year;
}
month = month > 9 ? month : "0" + month;
day = day > 9 ? day : "0" + day;
return `${year}-${month}-${day}`;
},
bindDateChange: function (e) {
this.date = e.detail.value;
this.params.birthday = e.detail.value;
},
//获取城市接口
getTradeCountryList() {
getTradeCountryList().then((res) => {
this.countryList = res.data;
});
},
// 国家选择 change
bindCountyChange(e) {
// const index = e.detail.value;
// const { titleZh, titleEn, id } = this.countryArray[index];
// const value = this.rangeKey == "zh" ? titleZh : titleEn;
// this.$set(this.params, "countryValue", value);
// this.$set(this.params, "country", id);
// this.getCityList(id);
},
// 获取城市列表
getCityList(id) {
getCityListByParent({ id }).then((res) => {
this.cityList = res.data;
});
},
// 城市选择 change
bindCityChange(e) {
const index = e.detail.value;
const { titleZh, titleEn, id } = this.cityArray[index];
const value = this.rangeKey == "zh" ? titleZh : titleEn;
this.$set(this.params, "cityValue", value);
this.$set(this.params, "city", id);
},
},
};
</script>
<style>
.app-container-info {
display: flex;
height: 100%;
}
.right_back {
width: 700px;
padding-top: 100px;
padding-right: 100px;
}
.left_back {
flex: 1;
}
.consultAdd {
width: 90%;
margin: 0 auto 30px;
background-color: var(--c0);
border-radius: 24px;
padding: 20px 0;
font-size: var(--f26);
}
.consult-item {
display: flex;
width: 92%;
margin: 0 auto;
margin-bottom: 20px;
position: relative;
}
.consult-item-2 {
width: 100%;
padding: 20px 0 0 0;
}
.consult-item image {
width: 44px;
height: 44px;
vertical-align: middle;
}
.consult-item-2 image {
width: 44px;
height: 44px;
vertical-align: middle;
margin-right: 14px;
margin-left: 40px;
}
.consult-item-label {
width: 180px;
display: flex;
align-items: center;
}
.consult-item-put {
height: 70px;
border: 1px solid var(--cdf);
display: flex;
align-items: center;
padding-left: 20px;
border-radius: 10px;
flex: 1;
}
.consult-item-put input {
font-size: var(--f26);
flex: 1;
}
.consult-item-label-2 {
padding: 0 0 0 0px;
display: flex;
align-items: center;
width: 100%;
}
.consult-item-put-2 {
padding: 30px 40px 30px 40px;
display: flex;
align-items: center;
border-radius: 1px solid var(--cdf);
}
.consult-item-put-2 .textarea {
font-size: var(--f26);
width: 100%;
height: 200px;
padding: 20px;
border: 1px solid var(--cdf);
border-radius: 10px;
}
.noborder {
border: none;
}
.radio {
margin-right: 50px;
}
radio {
margin-right: 10px;
}
.consult-btn {
width: 90%;
margin: 50px auto 0;
}
.consult-btn div {
width: 100%;
height: 94px;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--c036);
color: var(--c0);
font-size: var(--f36);
font-weight: 700;
margin-bottom: 40px;
border-radius: 8px;
}
.v-picker {
width: 100%;
}
.v-picker-2 .uni-input {
color: #666666;
}
.login-area {
display: flex;
align-items: center;
justify-content: center;
font-size: var(--f30);
/* background-color: #27417C; */
border-radius: 60px;
height: 50px;
padding: 0 10px;
margin-right: 20px;
font-size: var(--f26);
}
.login-area text {
margin-right: 10px;
}
.rgt {
position: absolute;
right: 20px;
}
.placeholder {
color: #666666;
}
</style>
<template>
<div style="width: 100%;height: 100%;position: relative;">
<div style="width: 100%; height: 100%; position: relative">
<div class="registered-container">
<img src="@/assets/login/login.png" style="width:100%;height:100%">
<div style="position: absolute;left: 56px;top: 56px;display: flex;">
<img src="@/assets/login/logo.png" style="width:84px;height:84px;">
<span style="font-size: 48px;font-weight: bold;color: #FEFEFE;line-height: 84px;margin-left: 20px;">{{ $t('login.bgTitle1') }}</span>
<img src="@/assets/login/login.png" style="width: 100%; height: 100%" />
<div style="position: absolute; left: 56px; top: 56px; display: flex">
<img src="@/assets/login/logo.png" style="width: 84px; height: 84px" />
<span
style="
font-size: 48px;
font-weight: bold;
color: #fefefe;
line-height: 84px;
margin-left: 20px;
"
>{{ $t("login.bgTitle1") }}</span
>
</div>
<div style="position: absolute;left: 160px;top: 170px;display: flex;">
<img src="@/assets/login/1.png" style="width:36px;height:36px;">
<span style="font-size: 32px;font-weight: bold;color: #FEFEFE;line-height: 36px;margin-left: 8px;">{{ $t('login.bgTitle2') }}</span>
<div style="position: absolute; left: 160px; top: 170px; display: flex">
<img src="@/assets/login/1.png" style="width: 36px; height: 36px" />
<span
style="
font-size: 32px;
font-weight: bold;
color: #fefefe;
line-height: 36px;
margin-left: 8px;
"
>{{ $t("login.bgTitle2") }}</span
>
</div>
<div style="position: absolute;left: 130px;top: 250px;display: flex;">
<img src="@/assets/login/8.png" style="width:320px;height:322px;">
<div style="position: absolute;top: 20px;left: 30px;width:500px;">
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/2.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle3') }}</span>
<div style="position: absolute; left: 130px; top: 250px; display: flex">
<img src="@/assets/login/8.png" style="width: 320px; height: 322px" />
<div style="position: absolute; top: 20px; left: 30px; width: 500px">
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/2.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle3") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/3.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle4') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/3.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle4") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/4.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle5') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/4.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle5") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/5.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle6') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/5.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle6") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/6.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle7') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/6.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle7") }}</span
>
</div>
<div style="display: flex;margin-top: 20px;">
<img src="@/assets/login/7.png" style="width:24px;height:24px;">
<span style="font-size: 14px;font-weight: 400;color: #000;line-height: 24px;margin-left: 5px;">{{ $t('login.bgTitle8') }}</span>
<div style="display: flex; margin-top: 20px">
<img src="@/assets/login/7.png" style="width: 24px; height: 24px" />
<span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle8") }}</span
>
</div>
</div>
</div>
</div>
<div style="position: absolute;left: 60%;top: 85px;">
<div style="display: flex;justify-content: space-between;">
<div style="display: flex;">
<img src="@/assets/login/register.png" style="width:30px;height:30px;">
<span style="font-size: 24px;font-weight: bold;color: #000;line-height: 34px;margin-left: 10px;">{{ $t('registered.title') }}</span>
<div style="position: absolute; left: 60%; top: 85px">
<div style="display: flex; justify-content: space-between">
<div style="display: flex">
<img
src="@/assets/login/register.png"
style="width: 30px; height: 30px"
/>
<span
style="
font-size: 24px;
font-weight: bold;
color: #000;
line-height: 34px;
margin-left: 10px;
"
>{{ $t("registered.title") }}</span
>
</div>
<div>
<el-select v-model="language" size="mini" placeholder="" class="lang" @change="handleSetLanguage">
<div slot="prefix" style="padding: 4px;">
<img src="@/assets/lang.png" style="width:20px;height:20px;">
<el-select
v-model="language"
size="mini"
placeholder=""
class="lang"
@change="handleSetLanguage"
>
<div slot="prefix" style="padding: 4px">
<img src="@/assets/lang.png" style="width: 20px; height: 20px" />
</div>
<el-option
v-for="item in locale"
......@@ -62,14 +152,13 @@
</div>
<el-form
ref="registeredForm"
style="margin-top: 80px;"
style="margin-top: 80px"
:model="registeredForm"
:rules="registeredRules"
autocomplete="on"
label-position="left"
label-width="80px"
>
<el-row :gutter="20">
<el-col :span="16">
<el-form-item prop="mobile" :label="$t('registered.mobile')">
......@@ -90,7 +179,7 @@
<el-option
v-for="item in countryList"
:key="item.id"
:label="'+'+item.tel+' '+item[apiLang]"
:label="'+' + item.tel + ' ' + item[apiLang]"
:value="item.tel"
/>
</el-select>
......@@ -125,10 +214,11 @@
<el-button
:loading="loading"
type="primary"
style="width:100%;margin-bottom:30px;"
style="width: 100%; margin-bottom: 30px"
:disabled="disabled"
@click.native.prevent="getValidaCode"
>{{ getCode }}</el-button>
>{{ getCode }}</el-button
>
</el-col>
</el-row>
<el-form-item prop="password" :label="$t('registered.password')">
......@@ -141,24 +231,24 @@
@input="pwdChange"
/>
</el-form-item>
<el-row :gutter="20" style="margin-left:80px" class="password-level">
<el-row :gutter="20" style="margin-left: 80px" class="password-level">
<el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==1}">
<p>{{ $t('registered.weak') }}</p>
<div class="bg-level" :class="{ leveldisplay: level == 1 }">
<p>{{ $t("registered.weak") }}</p>
</div>
</el-col>
<el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==2}">
<p>{{ $t('registered.medium') }}</p>
<div class="bg-level" :class="{ leveldisplay: level == 2 }">
<p>{{ $t("registered.medium") }}</p>
</div>
</el-col>
<el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==3}">
<p>{{ $t('registered.strong') }}</p>
<div class="bg-level" :class="{ leveldisplay: level == 3 }">
<p>{{ $t("registered.strong") }}</p>
</div>
</el-col>
</el-row>
<br>
<br />
<el-form-item prop="confirmPwd" :label="$t('registered.confirmPwd')">
<el-input
ref="confirmPwd"
......@@ -168,17 +258,33 @@
type="password"
/>
</el-form-item>
<div style="width: 100%;text-align: center;">
<!-- 推荐码 -->
<el-form-item
prop="referralCode"
:label="$t('registered.referralCode')"
>
<el-input
ref="referralCode"
v-model="registeredForm.referralCode"
:placeholder="$t('registered.referralCodePlaceholder')"
/>
</el-form-item>
<div style="width: 100%; text-align: center">
<el-button
:loading="loading"
type="primary"
style="width:70%;"
style="width: 70%"
round
@click.native.prevent="handleregistered"
>{{ $t('registered.registered') }}</el-button>
>{{ $t("registered.registered") }}</el-button
>
</div>
<div style="width: 100%;text-align: center;">
<el-link href="/ucenter/#/login" style="color: #27417C;margin-top: 20px;">{{ $t('registered.login') }}</el-link>
<div style="width: 100%; text-align: center">
<el-link
href="/ucenter/#/login"
style="color: #27417c; margin-top: 20px"
>{{ $t("registered.login") }}</el-link
>
</div>
</el-form>
</div>
......@@ -186,147 +292,183 @@
</template>
<script>
import { getCode, reg, getCountryList } from '@/api/user'
import { locale } from '@/api/country'
import { langData } from '@/data/lang'
import { getCode, reg, getCountryList } from "@/api/user";
import { locale } from "@/api/country";
import { langData } from "@/data/lang";
export default {
name: 'Registered',
name: "Registered",
components: {},
data() {
return {
countryList: [],
registeredForm: {
areaCode: '86'
areaCode: "86",
},
registeredRules: {
mobile: [{ required: true, message: this.$t('login.mobileRules'), trigger: 'blur' }, { max: 11, message: '电话长度在11个数字以内', trigger: 'blur' }],
englishName: [{ required: true, message: this.$t('login.nameEnRules'), trigger: 'blur' }],
code: [{ required: true, message: this.$t('login.codeRules'), trigger: 'blur' }],
password: [{ required: true, message: this.$t('login.passwordRules'), trigger: 'blur' }],
confirmPwd: [{ required: true, message: this.$t('login.confirmPwdRules'), trigger: 'blur' }]
mobile: [
{
required: true,
message: this.$t("login.mobileRules"),
trigger: "blur",
},
{ max: 11, message: "电话长度在11个数字以内", trigger: "blur" },
],
englishName: [
{
required: true,
message: this.$t("login.nameEnRules"),
trigger: "blur",
},
],
code: [
{
required: true,
message: this.$t("login.codeRules"),
trigger: "blur",
},
],
password: [
{
required: true,
message: this.$t("login.passwordRules"),
trigger: "blur",
},
],
confirmPwd: [
{
required: true,
message: this.$t("login.confirmPwdRules"),
trigger: "blur",
},
],
},
loading: false,
disabled: false,
count: 60,
getCode: '',
getCode: "",
level: 0,
locale: [],
apiLang: '',
langData: langData
}
apiLang: "",
langData: langData,
};
},
computed: {
language: {
get() {
return this.$store.getters.language
return this.$store.getters.language;
},
set(val) {
this.handleSetLanguage(val)
}
}
this.handleSetLanguage(val);
},
},
},
watch: {
language() {
this.getCode = this.$t('login.getCode')
this.apiLang = this.langData[this.language]
}
this.getCode = this.$t("login.getCode");
this.apiLang = this.langData[this.language];
},
},
created() {
this.apiLang = this.langData[this.language]
this.getCode = this.$t('registered.getCode')
getCountryList().then(r => {
this.countryList = r.data
})
locale().then(r => {
this.locale = r.data
})
this.apiLang = this.langData[this.language];
this.getCode = this.$t("registered.getCode");
getCountryList().then((r) => {
this.countryList = r.data;
});
locale().then((r) => {
this.locale = r.data;
});
},
methods: {
handleSetLanguage(lang) {
this.$i18n.locale = lang
this.$store.dispatch('app/setLanguage', lang)
this.$i18n.locale = lang;
this.$store.dispatch("app/setLanguage", lang);
},
getValidaCode() {
var data = { mobile: this.registeredForm.mobile, scene: 0, areaCode: this.registeredForm.areaCode }
var data = {
mobile: this.registeredForm.mobile,
scene: 0,
areaCode: this.registeredForm.areaCode,
};
getCode(data).then(() => {
var countDown = window.setInterval(() => {
if (this.count < 1) {
this.disabled = false
this.count = 60
this.getCode = this.$t('registered.getCode')
window.clearInterval(countDown)
this.disabled = false;
this.count = 60;
this.getCode = this.$t("registered.getCode");
window.clearInterval(countDown);
} else {
this.count--
this.disabled = true
this.getCode = this.count + 's'
this.count--;
this.disabled = true;
this.getCode = this.count + "s";
}
}, 1000)
})
}, 1000);
});
},
pwdChange(val) {
// 弱密码:全是数字或全是字母,6-16个字符
const weakReg = /^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/
const weakReg = /^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/;
// 中密码:数字和26个英文字母,6-16个字符
const mediumReg = /^[A-Za-z0-9]{6,16}$/
const mediumReg = /^[A-Za-z0-9]{6,16}$/;
// 强密码:由数字、26个英文字母或者下划线组成的字符串,6-16个字符
const strongReg = /^\w{6,16}$/
var password = this.registeredForm.password
const strongReg = /^\w{6,16}$/;
var password = this.registeredForm.password;
if (password !== null) {
if (password.length >= 6 && password.length <= 16) {
if (password.match(weakReg)) {
this.level = 1
this.level = 1;
} else if (password.match(mediumReg)) {
this.level = 2
this.level = 2;
} else if (password.match(strongReg)) {
this.level = 3
this.level = 3;
}
}
if (password.length > 16) {
this.level = 3
this.level = 3;
}
}
},
handleregistered() {
this.$refs.registeredForm.validate(valid => {
this.$refs.registeredForm.validate((valid) => {
if (valid) {
if (this.registeredForm.password !== this.registeredForm.confirmPwd) {
this.$message.error('两次密码输入不一致')
return
this.$message.error("两次密码输入不一致");
return;
}
this.loading = true
this.loading = true;
reg(this.registeredForm)
.then(() => {
this.$message({
message: this.$t('registered.title') + this.$t('common.success'),
type: 'success'
})
message:
this.$t("registered.title") + this.$t("common.success"),
type: "success",
});
this.$router.push({
path: '/login'
})
this.loading = false
path: "/login",
});
this.loading = false;
})
.catch(() => {
this.loading = false
})
this.loading = false;
});
} else {
console.log('error submit!!')
return false
}
})
}
console.log("error submit!!");
return false;
}
}
});
},
},
};
</script>
<style lang="scss" scoped>
.lang{
.lang {
width: 150px;
::v-deep .el-input__inner{
::v-deep .el-input__inner {
border-radius: 34px;
}
}
.registered-container{
.registered-container {
height: 100%;
width: 55%;
position: relative;
......
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