Commit a5e0f4af authored by chenwei's avatar chenwei

提交关于个人信息的代码

parent 79ebf587
import request from '@/utils/request' import request from "@/utils/request";
export function login(data) { export function login(data) {
return request({ return request({
url: '/app-api/member/login', url: "/app-api/member/login",
method: 'post', method: "post",
data data,
}) });
} }
export function reg(data) { export function reg(data) {
return request({ return request({
url: '/app-api/member/reg', url: "/app-api/member/reg",
method: 'post', method: "post",
data data,
}) });
} }
export function smsLogin(data) { export function smsLogin(data) {
return request({ return request({
url: '/app-api/member/sms-login', url: "/app-api/member/sms-login",
method: 'post', method: "post",
data data,
}) });
} }
export function resetPwd(data) { export function resetPwd(data) {
return request({ return request({
url: '/app-api/member/reset-password', url: "/app-api/member/reset-password",
method: 'post', method: "post",
data data,
}) });
} }
export function getInfo(query) { export function getInfo(query) {
return request({ return request({
url: '/app-api/member/user/get', url: "/app-api/member/user/get",
method: 'get', method: "get",
params: query params: query,
}) });
} }
export function getCompanyInfo(query) { export function getCompanyInfo(query) {
return request({ return request({
url: '/app-api/member/user/getCompanyInfo', url: "/app-api/member/user/getCompanyInfo",
method: 'get', method: "get",
params: query params: query,
}) });
} }
export function logout() { export function logout() {
return request({ return request({
url: '/vue-element-admin/user/logout', url: "/vue-element-admin/user/logout",
method: 'post' method: "post",
}) });
} }
export function getCode(data) { export function getCode(data) {
return request({ return request({
url: '/app-api/member/send-sms-code', url: "/app-api/member/send-sms-code",
method: 'post', method: "post",
data data,
}) });
} }
export function updatePwd(data) { export function updatePwd(data) {
return request({ return request({
url: '/app-api/member/update-password', url: "/app-api/member/update-password",
method: 'post', method: "post",
data data,
}) });
} }
export function update(data) { export function update(data) {
return request({ return request({
url: '/app-api/member/user/update', url: "/app-api/member/user/update",
method: 'put', method: "put",
data data,
}) });
} }
export function createCompanyInfo(data) { export function createCompanyInfo(data) {
return request({ return request({
url: '/app-api/member/user/createCompanyInfo', url: "/app-api/member/user/createCompanyInfo",
method: 'post', method: "post",
data data,
}) });
} }
export function updateCompanyInfo(data) { export function updateCompanyInfo(data) {
return request({ return request({
url: '/app-api/member/user/updateCompanyInfo', url: "/app-api/member/user/updateCompanyInfo",
method: 'put', method: "put",
data data,
}) });
} }
export function getCountryList(query) { export function getCountryList(query) {
return request({ return request({
url: '/app-api/ecw/country/list-all', url: "/app-api/ecw/country/list-all",
method: 'get', method: "get",
params: query params: query,
}) });
} }
export function updateMobile(data) { export function updateMobile(data) {
return request({ return request({
url: '/app-api/member/user/update-mobile', url: "/app-api/member/user/update-mobile",
method: 'post', method: "post",
data data,
}) });
} }
export function authIdCard(data) { export function authIdCard(data) {
return request({ return request({
url: '/app-api/member/user/auth-idcard', url: "/app-api/member/user/auth-idcard",
method: 'put', method: "put",
data data,
}) });
} }
export function uploadFile(data) { export function uploadFile(data) {
return request({ return request({
url: '/app-api/file/upload', url: "/app-api/file/upload",
method: 'post', method: "post",
data: data data: data,
}) });
} }
export function upNamefile(data) { export function upNamefile(data) {
return request({ return request({
url: '/app-api/file/org-name/up', url: "/app-api/file/org-name/up",
method: 'post', method: "post",
data: data data: data,
}) });
} }
export function getIdCard(query) { export function getIdCard(query) {
return request({ return request({
url: '/app-api/member/user/get-auth-idcard-info', url: "/app-api/member/user/get-auth-idcard-info",
method: 'get', method: "get",
params: query params: query,
}) });
} }
export function updateAvatar(data) { export function updateAvatar(data) {
return request({ return request({
url: '/app-api/member/user/new/update-Avatar?avatar=' + data, url: "/app-api/member/user/new/update-Avatar?avatar=" + data,
method: 'put' method: "put",
}) });
} }
export function sendEmailCode(data) { export function sendEmailCode(data) {
return request({ return request({
url: '/app-api/member/send-email-code', url: "/app-api/member/send-email-code",
method: 'post', method: "post",
data: data data: data,
}) });
} }
export function bindEmail(data) { export function bindEmail(data) {
return request({ return request({
url: '/app-api/member/user/bind-email', url: "/app-api/member/user/bind-email",
method: 'post', method: "post",
data: data data: data,
}) });
} }
export function getMark(query) { export function getMark(query) {
return request({ return request({
url: '/app-api/member/user/angle-mark', url: "/app-api/member/user/angle-mark",
method: 'get', method: "get",
params: query params: query,
}) });
} }
// 重置控货密码 // 重置控货密码
export function resetControlPwd(data) { export function resetControlPwd(data) {
return request({ return request({
url: '/app-api/member/reset-control-password', url: "/app-api/member/reset-control-password",
method: 'post', method: "post",
data data,
}) });
} }
// 检查是否有设置控货密码,按订单id // 检查是否有设置控货密码,按订单id
export function checkControlPwd(orderId) { export function checkControlPwd(orderId) {
return request({ return request({
url: '/app-api/order/order-cargo-control/controlPassword/' + orderId, url: "/app-api/order/order-cargo-control/controlPassword/" + orderId,
method: 'get' 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 { export default {
common: { common: {
success: 'successful', success: "successful",
reload: 'reset', reload: "reset",
search: 'search', search: "search",
add: 'add', add: "add",
update: 'revamp', update: "revamp",
delete: 'delete', delete: "delete",
save: 'save', save: "save",
back: 'back', back: "back",
action: 'action', action: "action",
submit: 'submit', submit: "submit",
cancel: 'cancel' cancel: "cancel",
}, },
route: { route: {
dashboard: 'home page', dashboard: "home page",
profile: 'profile', profile: "profile",
setting: 'setting', setting: "setting",
advice: 'advice', advice: "advice",
help: 'help', help: "help",
message: 'message', message: "message",
messagedetail: 'message text', messagedetail: "message text",
notice: 'notification', notice: "notification",
noticedetail: 'notification', noticedetail: "notification",
bannerdetail: 'banner detail', bannerdetail: "banner detail",
coupons: 'coupons', coupons: "coupons",
customer: 'customers', customer: "customers",
supplier: 'suppliers', supplier: "suppliers",
ecash: 'e-cash', ecash: "e-cash",
delivery: 'delivery', delivery: "delivery",
controlorder: 'on hlod orders', controlorder: "on hlod orders",
waitmoneyorder: 'outstanding balance', waitmoneyorder: "outstanding balance",
receivedorder: 'received orders', receivedorder: "received orders",
postorder: 'delivered order', postorder: "delivered order",
orderdetail: 'order details', orderdetail: "order details",
price: 'price', price: "price",
logistics: 'logistics status', logistics: "logistics status",
abnormal: 'exception handling', abnormal: "exception handling",
idcard: 'Certification', idcard: "Certification",
deliverysuccess: 'Order placed successfully.' deliverysuccess: "Order placed successfully.",
}, },
login: { login: {
title: 'login', title: "login",
logIn: 'login', logIn: "login",
username: 'username', username: "username",
password: 'password', password: "password",
forget: 'forgotten', forget: "forgotten",
mobile: 'phone number', mobile: "phone number",
code: 'verification code', code: "verification code",
type: 'login method', type: "login method",
getCode: 'getCode', getCode: "getCode",
userLogin: 'userLogin', userLogin: "userLogin",
mobileLogin: 'mobileLogin', mobileLogin: "mobileLogin",
registered: 'register>>', registered: "register>>",
bgTitle1: 'E&C Logistics', bgTitle1: "E&C Logistics",
bgTitle2: 'Member Benefits', bgTitle2: "Member Benefits",
bgTitle3: 'Bonus points', bgTitle3: "Bonus points",
bgTitle4: 'orders management', bgTitle4: "orders management",
bgTitle5: 'Logistics status management', bgTitle5: "Logistics status management",
bgTitle6: 'Electronic waybill ', bgTitle6: "Electronic waybill ",
bgTitle7: 'On hold in time', bgTitle7: "On hold in time",
bgTitle8: 'Data statistics', bgTitle8: "Data statistics",
mobileRules: 'The phone number cannot be empty', mobileRules: "The phone number cannot be empty",
codeRules: 'The verification code cannot be empty', codeRules: "The verification code cannot be empty",
nameRules: 'The account cannot be empty', nameRules: "The account cannot be empty",
passwordRules: 'The password cannot be empty', passwordRules: "The password cannot be empty",
nameEnRules: 'The nameEn cannot be empty', nameEnRules: "The nameEn cannot be empty",
confirmPwdRules: 'The confirmPwd cannot be empty' confirmPwdRules: "The confirmPwd cannot be empty",
}, },
registered: { registered: {
title: 'registered', title: "registered",
registered: 'registered', registered: "registered",
code: 'code', code: "code",
getCode: 'getCode', getCode: "getCode",
mobile: 'mobile', mobile: "mobile",
nameEn: 'nameEn', nameEn: "nameEn",
password: 'password', password: "password",
passwordPlaceholder: 'The password contains 6 to 32 letters and digits', passwordPlaceholder: "The password contains 6 to 32 letters and digits",
confirmPwd: 'confirmPwd', confirmPwd: "confirmPwd",
confirmPwdPlaceholder: 'confirmPwd again', confirmPwdPlaceholder: "confirmPwd again",
weak: 'weak', referralCodePlaceholder: "Please enter a recommendation code(optional)",
medium: 'medium', referralCode: "referralCode",
strong: 'strong', weak: "weak",
login: 'login>>', medium: "medium",
forget: 'forgotten', strong: "strong",
backLogin: 'backLogin', login: "login>>",
update: 'revamp', forget: "forgotten",
problem: 'problem?', backLogin: "backLogin",
contact: 'contact' 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: { sidebar: {
userInfo: 'userInfo', userInfo: "userInfo",
reload: 'refresh', reload: "refresh",
logout: 'logout>>', logout: "logout>>",
home: 'home', home: "home",
controlOrder: 'On hold Order', controlOrder: "On hold Order",
moneyOrder: 'outstanding balance', moneyOrder: "outstanding balance",
notReadMessage: 'Unread', notReadMessage: "Unread",
coupons: 'coupons', coupons: "coupons",
delivery: 'delivery>>', delivery: "delivery>>",
price: 'price>>', price: "price>>",
myPanel: 'Personal Settings', myPanel: "Personal Settings",
myOrder: 'Orders', myOrder: "Orders",
myPost: 'Posted', myPost: "Posted",
myReceivedo: 'Received', myReceivedo: "Received",
controlManage: 'On hold management', controlManage: "On hold management",
ecash: 'E-Cash', ecash: "E-Cash",
customerManage: 'Customer management', customerManage: "Customer management",
myCustomer: 'myCustomer', myCustomer: "myCustomer",
mySupplier: 'mySupplier', mySupplier: "mySupplier",
setting: 'setting', setting: "setting",
help: 'help', help: "help",
logistics: 'logistics', logistics: "logistics",
service: 'service', service: "service",
artificial: 'artificial', artificial: "artificial",
focus: 'focus', focus: "focus",
complaints: 'complaints', complaints: "complaints",
consult: 'consult', consult: "consult",
advice: 'advice', advice: "advice",
onlineConsult: 'onlineConsult', onlineConsult: "onlineConsult",
notice: 'notice', notice: "notice",
cancel: 'cancel', cancel: "cancel",
determine: 'determine', 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', realNameNotice1:
realNameNotice2: 'The real-name authentication you submitted is under review. The information is as follows', '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',
realNameNotice3: 'The real-name authentication audit you submitted fails. The information is as follows', realNameNotice2:
logoutNotice: 'Are you sure to log out and exit the system?', "The real-name authentication you submitted is under review. The information is as follows",
transport: 'select the mode of transportation', realNameNotice3:
sea: 'Groupage container', "The real-name authentication audit you submitted fails. The information is as follows",
airCargo: 'Air Cargo', logoutNotice: "Are you sure to log out and exit the system?",
seaAir: 'Sea&air Cargo' transport: "select the mode of transportation",
sea: "Groupage container",
airCargo: "Air Cargo",
seaAir: "Sea&air Cargo",
}, },
profile: { profile: {
myPost: 'Posted', myPost: "Posted",
myReceivedo: 'Received', myReceivedo: "Received",
orderNo: 'orderNo', orderNo: "orderNo",
transport: 'transportation', transport: "transportation",
marks: 'marks', marks: "marks",
status: 'status', status: "status",
createTime: 'createTime', createTime: "createTime",
viewMorePost: 'viewMorePosts>>', viewMorePost: "viewMorePosts>>",
viewMoreReceivedo: 'viewMoreReceiveds>>', viewMoreReceivedo: "viewMoreReceiveds>>",
notOrder: 'no order~', notOrder: "no order~",
know: 'known' know: "known",
}, },
setting: { setting: {
userInfo: 'userInfo', userInfo: "userInfo",
nickname: 'nickname', nickname: "nickname",
loginDate: 'loginDate', loginDate: "loginDate",
advice: 'If your login information is not real, please change in time', advice: "If your login information is not real, please change in time",
editPassword: 'editPassword', editPassword: "editPassword",
baseInfo: 'baseInfo', baseInfo: "baseInfo",
update: 'revamp', update: "revamp",
cancel: 'cancel', cancel: "cancel",
save: 'save', save: "save",
name: 'name', name: "name",
mobile: 'mobile', mobile: "mobile",
jobPosition: 'jobPosition', jobPosition: "jobPosition",
birthday: 'birthday', birthday: "birthday",
englishName: 'englishName', englishName: "englishName",
address: 'address', address: "address",
gender: 'gender', gender: "gender",
girl: 'female', girl: "female",
male: 'male', male: "male",
secret: 'secret', secret: "secret",
department: 'department', department: "department",
companyInfo: 'companyInfo', companyInfo: "companyInfo",
companyName: 'companyName', companyName: "companyName",
companyDesc: 'company intro', companyDesc: "company intro",
companyStall: 'companyStall', companyStall: "companyStall",
companyEnName: 'companyEnName', companyEnName: "companyEnName",
companyAddress: 'companyAddress', companyAddress: "companyAddress",
companyBand: 'companyBand', companyBand: "companyBand",
companyWebsite: 'companyWebsite', companyWebsite: "companyWebsite",
safetyVerificat: 'safetyVerificat', safetyVerificat: "safetyVerificat",
bindMobile: 'bindMobile', bindMobile: "bindMobile",
changePhone: 'changePhone', changePhone: "changePhone",
removePhone: 'removePhone', removePhone: "removePhone",
bindEmail: 'bindEmail', bindEmail: "bindEmail",
ImmediatelyBind: 'ImmediatelyBind', ImmediatelyBind: "ImmediatelyBind",
realName: 'realName', realName: "realName",
ImmediatelyrealName: 'ImmediatelyrealName', ImmediatelyrealName: "ImmediatelyrealName",
passwork: 'password', passwork: "password",
passworkNotice: 'Change the password', passworkNotice: "Change the password",
passworkUpdate: 'Change the password', passworkUpdate: "Change the password",
passworkInit: 'Initialize password', passworkInit: "Initialize password",
passworkNew: 'new password', passworkNew: "new password",
passworkNewRules: 'password cannot be empty', passworkNewRules: "password cannot be empty",
passworkNewNotice: 'Please enter a new password', passworkNewNotice: "Please enter a new password",
comfirmNewPasswork: 'Confirm the new password', comfirmNewPasswork: "Confirm the new password",
comfirmNewPassworkRules: 'password cannot be empty', comfirmNewPassworkRules: "password cannot be empty",
comfirmNewPassworkNotice: 'Confirm the new password', comfirmNewPassworkNotice: "Confirm the new password",
reset: 'reset', reset: "reset",
determine: 'determine', determine: "determine",
passworkOld: 'Old password', passworkOld: "Old password",
passworkOldRules: 'Old password cannot be empty', passworkOldRules: "Old password cannot be empty",
passworkOldotice: 'Please enter the old password', passworkOldotice: "Please enter the old password",
oldMobile: 'The original binding phone number', oldMobile: "The original binding phone number",
oldMobileRules: 'phone number cannot be empty', oldMobileRules: "phone number cannot be empty",
oldMobileNotice: 'enter the original phone number', oldMobileNotice: "enter the original phone number",
passwork1: 'password', passwork1: "password",
passworkRules1: 'password cannot be empty', passworkRules1: "password cannot be empty",
passworkNotice1: 'enter password', passworkNotice1: "enter password",
changeMobileRules: 'The telephone must have a numeric value', changeMobileRules: "The telephone must have a numeric value",
newMobileNotice: 'Please enter a new phone number', newMobileNotice: "Please enter a new phone number",
mobileCode: 'mobileCode', mobileCode: "mobileCode",
mobileCodeRules: 'Code cannot be empty', mobileCodeRules: "Code cannot be empty",
mobileCodeNotice: 'enter the code', mobileCodeNotice: "enter the code",
getCode: 'getCode', getCode: "getCode",
email: 'email', email: "email",
emailRules: 'email cannot be empty', emailRules: "email cannot be empty",
emailRules1: 'Please enter the correct email format', emailRules1: "Please enter the correct email format",
emailNotice: 'enter email add ', emailNotice: "enter email add ",
validate1: 'name', validate1: "name",
validate2: 'phone number', validate2: "phone number",
validate3: 'English name', validate3: "English name",
editPwdNotice: 'Before performing this operation, initialize the password', editPwdNotice: "Before performing this operation, initialize the password",
initPwdNotice: 'Ensure that the two passwords are the same', initPwdNotice: "Ensure that the two passwords are the same",
companyWebsiteNotice: "Please fill in the company's official website address", companyWebsiteNotice:
imgType: 'The file format is incorrect. Upload the image type, such as JPG or PNG' "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: { realName: {
title: 'realName', title: "realName",
name: 'name', name: "name",
nameRules: 'The name cannot be empty', nameRules: "The name cannot be empty",
nameNotice: 'Please enter your name', nameNotice: "Please enter your name",
cardType: 'Certification type', cardType: "Certification type",
cardTypeRules: 'The certification type cannot be empty', cardTypeRules: "The certification type cannot be empty",
cardTypeNotice: 'Please select the type', cardTypeNotice: "Please select the type",
cardNumber: 'I.d.', cardNumber: "I.d.",
cardNumberRules: 'The ID number cannot be empty', cardNumberRules: "The ID number cannot be empty",
cardNumberNotice: 'Please enter the ID number', cardNumberNotice: "Please enter the ID number",
img1: 'Front photo of certificate', img1: "Front photo of certificate",
imgRules1: 'The front photo of the certificate cannot be blank', imgRules1: "The front photo of the certificate cannot be blank",
upload: 'upload image', upload: "upload image",
img2: 'Back photo of certificate', img2: "Back photo of certificate",
imgRules2: 'The photo on the back of the certificate cannot be blank', imgRules2: "The photo on the back of the certificate cannot be blank",
status: 'unauthorized', status: "unauthorized",
status0: 'Wait for review', status0: "Wait for review",
status1: 'under review', status1: "under review",
status2: 'certified', status2: "certified",
status3: 'Fail to pass an review', status3: "Fail to pass an review",
uploadNotice: 'You can only upload images, and no more than 20.' uploadNotice: "You can only upload images, and no more than 20.",
}, },
abnormal: { abnormal: {
none: 'none', none: "none",
header: 'view', header: "view",
marks: 'marks', marks: "marks",
sumNum: 'sumNum', sumNum: "sumNum",
orderStatus: 'orderStatus', orderStatus: "orderStatus",
deliveryDate: 'deliveryDate', deliveryDate: "deliveryDate",
transport: 'transportation', transport: "transportation",
startTitle: 'Original', startTitle: "Original",
destTitle: 'destination', destTitle: "destination",
consignorName: 'consigner', consignorName: "consigner",
consignorCompany: 'consigner Company', consignorCompany: "consigner Company",
consignorPhone: 'consigner phone ', consignorPhone: "consigner phone ",
consigneeName: 'consignee', consigneeName: "consignee",
consigneeCompany: 'consignee Company', consigneeCompany: "consignee Company",
consigneePhone: 'consignee phone', consigneePhone: "consignee phone",
header1: 'Details on the problem', header1: "Details on the problem",
index: 'index', index: "index",
orderExceptionType: 'Exception types', orderExceptionType: "Exception types",
orderExceptionDesc: 'Abnormal description', orderExceptionDesc: "Abnormal description",
orderExceptionAmount: 'Amount', orderExceptionAmount: "Amount",
status: 'status', status: "status",
filelist: 'attachment', filelist: "attachment",
userName: 'userName', userName: "userName",
handlerTime: 'handlerTime', handlerTime: "handlerTime",
finish: 'finished', finish: "finished",
deal: 'deal', deal: "deal",
dealAbnormal: 'dealAbnormal' dealAbnormal: "dealAbnormal",
}, },
consult: { consult: {
consult: 'consult', consult: "consult",
title: 'title', title: "title",
titleRules: 'The title cannot be empty', titleRules: "The title cannot be empty",
titleNotice: 'Please enter the title of the consultation', titleNotice: "Please enter the title of the consultation",
name: 'contact', name: "contact",
nameRules: 'The contact cannot be empty', nameRules: "The contact cannot be empty",
nameNotice: 'Please enter contact person', nameNotice: "Please enter contact person",
type: 'type', type: "type",
type2: 'advice', type2: "advice",
type1: 'consult', type1: "consult",
phone: 'phone', phone: "phone",
phoneRules: 'The contact number cannot be empty', phoneRules: "The contact number cannot be empty",
phoneNotice: 'Please enter your contact number', phoneNotice: "Please enter your contact number",
orderCode: 'The order number', orderCode: "The order number",
orderCodeRules: 'Please enter 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', notice:
content: 'content', "If it is a fixed line phone, you need to fill in the area code, just numbers",
contentRules: 'The content cannot be empty', content: "content",
contentNotice: 'Please enter suggestions', contentRules: "The content cannot be empty",
submit: 'submit', contentNotice: "Please enter suggestions",
record: 'record', submit: "submit",
consultName: 'consultName', record: "record",
createTime: 'createTime', consultName: "consultName",
status: 'status', createTime: "createTime",
status1: 'To reply', status: "status",
status2: 'In reply to', status1: "To reply",
status3: 'replied', status2: "In reply to",
replyContent: 'Reply result', status3: "replied",
replyTime: 'replyTime' replyContent: "Reply result",
replyTime: "replyTime",
}, },
complaint: { complaint: {
complaint: 'complaint', complaint: "complaint",
title: 'title', title: "title",
titleRules: 'The title cannot be empty', titleRules: "The title cannot be empty",
titleNotice: 'Please enter the complaint title', titleNotice: "Please enter the complaint title",
name: 'contact', name: "contact",
nameRules: 'The contact cannot be empty', nameRules: "The contact cannot be empty",
nameNotice: 'Please enter the contact person', nameNotice: "Please enter the contact person",
type: 'type', type: "type",
typeRules: 'The type cannot be empty', typeRules: "The type cannot be empty",
typeNotice: 'Please select the type of complaint', typeNotice: "Please select the type of complaint",
phone: 'phone', phone: "phone",
phoneRules: 'The contact number cannot be empty', phoneRules: "The contact number cannot be empty",
phoneNotice: 'Please enter your contact number', phoneNotice: "Please enter your contact number",
orderCode: 'The order number', orderCode: "The order number",
orderCodeRules: 'Please enter 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', notice:
content: 'The complaint content', "If it is a fixed line phone, you need to fill in the area code, just numbers",
contentRules: 'The complaint cannot be empty', content: "The complaint content",
contentNotice: 'Please enter the content of the complaint', contentRules: "The complaint cannot be empty",
submit: 'submit', contentNotice: "Please enter the content of the complaint",
record: 'record', submit: "submit",
complaintName: 'complaintName', record: "record",
createTime: 'createTime', complaintName: "complaintName",
status: 'status', createTime: "createTime",
status1: 'To be processed', status: "status",
status2: 'In the processing', status1: "To be processed",
status3: 'processed', status2: "In the processing",
status4: 'cancelled', status3: "processed",
replyContent: 'processed result', status4: "cancelled",
replyTime: 'processed time' replyContent: "processed result",
replyTime: "processed time",
}, },
bannerdetail: { bannerdetail: {
header: 'bannerdetail', header: "bannerdetail",
title: 'title', title: "title",
time: 'Create time' time: "Create time",
}, },
controlorder: { controlorder: {
header: 'On hold management', header: "On hold management",
transport: 'transportation', transport: "transportation",
orderNo: 'orderNo', orderNo: "orderNo",
orderNoRules: 'Please enter the order number', orderNoRules: "Please enter the order number",
marks: 'marks', marks: "marks",
marksRules: 'Please enter the shipping mark', marksRules: "Please enter the shipping mark",
date: 'date', date: "date",
start: 'start', start: "start",
end: 'end', end: "end",
status: 'status', status: "status",
cargoControlStatus: 'On hold Status', cargoControlStatus: "On hold Status",
createTime: 'createTime', createTime: "createTime",
release: 'release', release: "release",
transfer: 'transfer', transfer: "transfer",
view: 'view' view: "view",
}, },
orderdetail: { orderdetail: {
orderNo: 'orderNo', orderNo: "orderNo",
deliveryDate: 'deliveryDate', deliveryDate: "deliveryDate",
transport: 'transportation', transport: "transportation",
channel: 'Delivery channels', channel: "Delivery channels",
startTitle: 'Original warehouse', startTitle: "Original warehouse",
destTitle: 'Destination warehouse', destTitle: "Destination warehouse",
startAddress: 'startAddress', startAddress: "startAddress",
consignorName: 'consignorName', consignorName: "consignorName",
consignorCompany: 'consignorCompany', consignorCompany: "consignorCompany",
consignorNameEn: 'English consignorName', consignorNameEn: "English consignorName",
consignorCompanyEn: 'English consignorCompany', consignorCompanyEn: "English consignorCompany",
consignorPhone: 'consignorPhone', consignorPhone: "consignorPhone",
consignorEmail: 'consignorEmail', consignorEmail: "consignorEmail",
consigneeName: 'consigneeName', consigneeName: "consigneeName",
consigneeCompany: 'consigneeCompany', consigneeCompany: "consigneeCompany",
consigneeNameEn: 'English consigneeName', consigneeNameEn: "English consigneeName",
consigneeCompanyEn: ' English consigneeCompany', consigneeCompanyEn: " English consigneeCompany",
consigneeEmail: 'consigneeEmail', consigneeEmail: "consigneeEmail",
consigneePhone: 'consigneePhone', consigneePhone: "consigneePhone",
marks: 'marks', marks: "marks",
isCargoControl: 'Is cargo on hold', isCargoControl: "Is cargo on hold",
baseInfo: 'baseInfo', baseInfo: "baseInfo",
transportInfo: 'transportInfo', transportInfo: "transportInfo",
costVO: 'orderInfo', costVO: "orderInfo",
box: 'CTNS', box: "CTNS",
is: 'yes', is: "yes",
no: 'no', no: "no",
warehouseNum: 'warehouseNum', warehouseNum: "warehouseNum",
entry: 'receipt data ', entry: "receipt data ",
warehouseType: 'warehouseType', warehouseType: "warehouseType",
customsType: 'Customs declaration', customsType: "Customs declaration",
isCollection: 'collection', isCollection: "collection",
activeFirst: 'Details of the goods', activeFirst: "Details of the goods",
activeSecond: 'Order status', activeSecond: "Order status",
activeThree: 'Packing list', activeThree: "Packing list",
prodTitleZh: 'Chinese item name', prodTitleZh: "Chinese item name",
prodTitleEn: 'English item name', prodTitleEn: "English item name",
brand: 'brand', brand: "brand",
num: 'num', num: "num",
sumNum: 'sumNum', sumNum: "sumNum",
unit: 'unit', unit: "unit",
worth: 'worth', worth: "worth",
material: 'material', material: "material",
volume: 'volume(m3)', volume: "volume(m3)",
weight: 'weight(kg)', weight: "weight(kg)",
noData: 'noData', noData: "noData",
notOrderData: 'notOrderData', notOrderData: "notOrderData",
showWarehouseReceipt: 'showWarehouseReceipt', showWarehouseReceipt: "showWarehouseReceipt",
showLadingBill: 'showLadingBill', showLadingBill: "showLadingBill",
hiddenText: 'Show', hiddenText: "Show",
showText: 'Hide', showText: "Hide",
transInfo: 'Transportation information' transInfo: "Transportation information",
}, },
customer: { customer: {
none: 'none', none: "none",
customer: 'customers', customer: "customers",
group: 'group', group: "group",
grouping: 'grouping', grouping: "grouping",
name: 'name', name: "name",
nameEn: 'name (English)', nameEn: "name (English)",
nameRules: 'The name cannot be empty', nameRules: "The name cannot be empty",
nameNotice: 'Please enter your name', nameNotice: "Please enter your name",
company: 'company', company: "company",
companyEn: 'company(English)', companyEn: "company(English)",
companyRules: 'The company name cannot be empty', companyRules: "The company name cannot be empty",
companyNotice: 'Please enter the company name', companyNotice: "Please enter the company name",
phone: 'phone', phone: "phone",
phoneRules1: 'The contact number cannot be empty', phoneRules1: "The contact number cannot be empty",
phoneRules2: 'The phone must be numbers', phoneRules2: "The phone must be numbers",
dialCode: 'The area code cannot be empty', dialCode: "The area code cannot be empty",
phoneNotice: 'Please enter your contact number', phoneNotice: "Please enter your contact number",
index: 'index', index: "index",
createTime: 'createTime', createTime: "createTime",
maitou: 'Marks', maitou: "Marks",
maitouNotice: 'Please enter the shipping mark', maitouNotice: "Please enter the shipping mark",
groupBy: 'group', groupBy: "group",
email: 'email', email: "email",
emailNotice: 'Please enter your email address', emailNotice: "Please enter your email address",
address: 'address', address: "address",
addressNotice: 'Please enter address details', addressNotice: "Please enter address details",
addCustomer: 'addCustomer', addCustomer: "addCustomer",
updateCustomer: 'updateCustomer', updateCustomer: "updateCustomer",
deleteCustomer: 'deleteCustomer?', deleteCustomer: "deleteCustomer?",
submit: 'submit', submit: "submit",
cancel: 'cancel', cancel: "cancel",
groupTitle: 'Group name', groupTitle: "Group name",
groupTitleRules: 'Group name', groupTitleRules: "Group name",
groupTitleNotice: 'The group name cannot be empty', groupTitleNotice: "The group name cannot be empty",
groupBeizhu: 'Grouping remarks', groupBeizhu: "Grouping remarks",
groupAorder: 'Grouping sorting', groupAorder: "Grouping sorting",
groupAorderNotice: 'Please enter group sort', groupAorderNotice: "Please enter group sort",
beizhu: 'Remarks information', beizhu: "Remarks information",
beizhuNotice: 'Please enter the remarks', beizhuNotice: "Please enter the remarks",
addGroup: 'add the group', addGroup: "add the group",
updateGroup: 'update the group', updateGroup: "update the group",
deleteGroup: 'Delete the group?', deleteGroup: "Delete the group?",
default: '默认', default: "默认",
yes: '', yes: "",
no: '' no: "",
}, },
ecash: { ecash: {
time: 'time', time: "time",
bj: 'China', bj: "China",
nrly: 'Nigeria' nrly: "Nigeria",
}, },
message: { message: {
title: 'messages', title: "messages",
notTatal1: 'messages', notTatal1: "messages",
notTatal2: 'Unread', notTatal2: "Unread",
read: 'Read', read: "Read",
unread: 'unread' unread: "unread",
}, },
messagedetail: { messagedetail: {
header: 'Message text', header: "Message text",
title: 'title', title: "title",
type: 'classification', type: "classification",
createTime: 'createTime', createTime: "createTime",
type1: 'Order message', type1: "Order message",
type2: 'Delivery message', type2: "Delivery message",
type3: 'Reminder' type3: "Reminder",
}, },
notice: { notice: {
header: 'Notice' header: "Notice",
}, },
postorder: { postorder: {
header: 'Posted Order', header: "Posted Order",
transport: 'Transportation', transport: "Transportation",
orderNo: 'orderNo', orderNo: "orderNo",
orderNoRules: 'Please enter the order number', orderNoRules: "Please enter the order number",
marks: 'marks', marks: "marks",
marksRules: 'Please enter the shipping mark', marksRules: "Please enter the shipping mark",
date: 'date', date: "date",
start: 'start', start: "start",
end: 'end', end: "end",
status: 'status', status: "status",
cargoControlStatus: 'On hold status', cargoControlStatus: "On hold status",
createTime: 'createTime', createTime: "createTime",
refundWarehouse: 'Return warehouse', refundWarehouse: "Return warehouse",
abnormal: 'abnormal', abnormal: "abnormal",
edit: 'edit', edit: "edit",
cancel: 'cancel', cancel: "cancel",
refundOrderNo: 'Return OrderNo', refundOrderNo: "Return OrderNo",
refundReason: 'Return Reason', refundReason: "Return Reason",
refundReasonNotice: 'Please enter the reason for return', refundReasonNotice: "Please enter the reason for return",
submitRefund: 'submit return', submitRefund: "submit return",
noRefund: 'No, think about it', noRefund: "No, think about it",
confirm: 'confirm?', confirm: "confirm?",
refundImg: 'Return picture', refundImg: "Return picture",
refundWarehouseSuccess: 'Return warehouse succsee' refundWarehouseSuccess: "Return warehouse succsee",
}, },
prepayDeal: { prepayDeal: {
orderNo: 'orderNo:', orderNo: "orderNo:",
box: 'CTNS ', box: "CTNS ",
prodTitleZh: 'Chinese item name:', prodTitleZh: "Chinese item name:",
prodTitleEn: 'English item name:', prodTitleEn: "English item name:",
transport: 'Transportation:', transport: "Transportation:",
costVO: 'Goods Num:', costVO: "Goods Num:",
warehouseNum: 'warehouseNum:', warehouseNum: "warehouseNum:",
abnormal: 'abnormal:', abnormal: "abnormal:",
add: 'add prepayDeal', add: "add prepayDeal",
brand: 'brand', brand: "brand",
proName: 'brand name', proName: "brand name",
boxNum: 'CTNS', boxNum: "CTNS",
volumeWeight: 'volume/weight', volumeWeight: "volume/weight",
payType: 'payType', payType: "payType",
feeType: 'feeType', feeType: "feeType",
consigneeName: 'consigneeName', consigneeName: "consigneeName",
paystatus: 'paystatus', paystatus: "paystatus",
costVOBox: 'CTNS', costVOBox: "CTNS",
cartonsNum: 'cartonsNum', cartonsNum: "cartonsNum",
volume: 'volume', volume: "volume",
weight: 'weight', weight: "weight",
quantity: 'quantity', quantity: "quantity",
worth: 'worth', worth: "worth",
result: 'result:', result: "result:",
remark: 'remark:', remark: "remark:",
customsData: 'Declaration Data:', customsData: "Declaration Data:",
content: 'content:', content: "content:",
status: 'status:', status: "status:",
cause: '*cause:', cause: "*cause:",
none: 'none', none: "none",
prepaid: 'prepaid', prepaid: "prepaid",
shouldMoney: 'should receive money', shouldMoney: "should receive money",
dollar: 'dollar', dollar: "dollar",
rmb: 'RMB', rmb: "RMB",
actualMoney: 'actualMoney', actualMoney: "actualMoney",
drawee: 'drawee', drawee: "drawee",
payable: 'payable:', payable: "payable:",
verificationMoney: 'verificationMoney:', verificationMoney: "verificationMoney:",
verificationRatio: 'verificationRatio:', verificationRatio: "verificationRatio:",
submit: 'submit', submit: "submit",
from: ' from【', from: " from【",
to: '】to【' to: "】to【",
}, },
weightDeal: { weightDeal: {
view: 'view', view: "view",
marks: 'marks', marks: "marks",
costVO: 'cartons/total', costVO: "cartons/total",
status: 'status', status: "status",
inTime: 'delievry time', inTime: "delievry time",
transport: 'Transportation', transport: "Transportation",
start: 'Original', start: "Original",
dest: 'Destination', dest: "Destination",
consignorName: 'consignorName', consignorName: "consignorName",
consignorCompany: 'consignorCompany', consignorCompany: "consignorCompany",
consignorPhone: 'consignorPhone', consignorPhone: "consignorPhone",
consigneeName: 'consigneeName', consigneeName: "consigneeName",
consigneeCompany: 'consigneeCompany', consigneeCompany: "consigneeCompany",
consigneePhone: 'consigneePhone', consigneePhone: "consigneePhone",
goods: 'Cargo information', goods: "Cargo information",
index: 'index', index: "index",
proName: 'item name', proName: "item name",
orderGoods: 'goods information', orderGoods: "goods information",
brand: 'brand', brand: "brand",
num: 'Ctns', num: "Ctns",
volume: 'volume', volume: "volume",
weight: 'weight', weight: "weight",
putGoods: 'nature', putGoods: "nature",
unit: 'unit', unit: "unit",
ss: 'weight cbm', ss: "weight cbm",
vweight: 'float cbm', vweight: "float cbm",
handlerTime: 'final time', handlerTime: "final time",
general: 'normal goods', general: "normal goods",
process: 'processed', process: "processed",
pao: 'pao', pao: "pao",
subtotal: 'subtotal', subtotal: "subtotal",
sums2: 'Order statistics:', sums2: "Order statistics:",
sums3: 'Transport statistics:', sums3: "Transport statistics:",
box: ' CTNS', box: " CTNS",
none: 'none' none: "none",
}, },
price: { price: {
header: 'price check', header: "price check",
departure: 'departure', departure: "departure",
departureRules: 'departure must be chosen', departureRules: "departure must be chosen",
departureNotice: 'please choose the departure', departureNotice: "please choose the departure",
objective: 'Destination', objective: "Destination",
objectiveRules: 'Destination must be chosen', objectiveRules: "Destination must be chosen",
objectiveNotice: 'please choose the destination', objectiveNotice: "please choose the destination",
prod: 'item name', prod: "item name",
prodRules: 'item name must be chosen', prodRules: "item name must be chosen",
transport: 'transportation', transport: "transportation",
channel: 'Delivery channels', channel: "Delivery channels",
num: 'CTNS', num: "CTNS",
numRule1: 'The number of ctns cannot be empty', numRule1: "The number of ctns cannot be empty",
numRule2: 'The number of cartons must be a positive integer', numRule2: "The number of cartons must be a positive integer",
box: 'cartons', box: "cartons",
quantity: 'quantity', quantity: "quantity",
quantityRule1: 'The total quantity cannot be empty', quantityRule1: "The total quantity cannot be empty",
quantityRule2: 'The total quantity must be a positive integer', quantityRule2: "The total quantity must be a positive integer",
one: 'one', one: "one",
weight: 'weight', weight: "weight",
weightRule1: 'The weight cannot be empty', weightRule1: "The weight cannot be empty",
weightRule2: 'The weight must be positive with a maximum of two decimal places', weightRule2:
long: 'long', "The weight must be positive with a maximum of two decimal places",
longRule1: 'Length cannot be empty', long: "long",
longRule2: 'The length must be positive with a maximum of two decimal places', longRule1: "Length cannot be empty",
wide: 'wide', longRule2:
wideRule1: 'The width cannot be empty', "The length must be positive with a maximum of two decimal places",
wideRule2: 'The width must be positive with a maximum of two decimal places', wide: "wide",
high: 'high', wideRule1: "The width cannot be empty",
highRule1: 'The height cannot be empty', wideRule2:
highRule2: 'The height must be positive with a maximum of two decimal places', "The width must be positive with a maximum of two decimal places",
seaFreight: 'freight', high: "high",
none: 'none', highRule1: "The height cannot be empty",
clearanceFreight: 'clearanceFreight', highRule2:
startTitle: 'Departure', "The height must be positive with a maximum of two decimal places",
destTitle: 'Destination', seaFreight: "freight",
estimatedSales: 'estimated fee', none: "none",
notice: 'notice', clearanceFreight: "clearanceFreight",
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>' 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: { receiveorder: {
header: 'orders', header: "orders",
transport: 'transportation', transport: "transportation",
orderNo: 'orderNo', orderNo: "orderNo",
orderNoRules: 'Please enter the order number', orderNoRules: "Please enter the order number",
marks: 'marks', marks: "marks",
marksRules: 'Please enter the shipping mark', marksRules: "Please enter the shipping mark",
date: 'date', date: "date",
start: 'start', start: "start",
end: 'end', end: "end",
status: 'status', status: "status",
createTime: 'createTime' createTime: "createTime",
}, },
supplier: { supplier: {
none: 'none', none: "none",
supplier: 'supplier', supplier: "supplier",
group: 'group', group: "group",
grouping: 'grouping', grouping: "grouping",
name: 'name', name: "name",
nameRules: 'The name cannot be empty', nameRules: "The name cannot be empty",
nameNotice: 'Please enter your name', nameNotice: "Please enter your name",
company: 'company', company: "company",
companyRules: 'The company name cannot be empty', companyRules: "The company name cannot be empty",
companyNotice: 'Please enter the company name', companyNotice: "Please enter the company name",
phone: 'phone', phone: "phone",
phoneRules1: 'The contact number cannot be empty', phoneRules1: "The contact number cannot be empty",
phoneRules2: 'The telephone must have a numeric value', phoneRules2: "The telephone must have a numeric value",
dialCode: 'The area code cannot be empty', dialCode: "The area code cannot be empty",
phoneNotice: 'Please enter your contact number', phoneNotice: "Please enter your contact number",
index: 'index', index: "index",
createTime: 'createTime', createTime: "createTime",
maitou: 'marks', maitou: "marks",
maitouNotice: 'Please enter the shipping mark', maitouNotice: "Please enter the shipping mark",
groupBy: 'groupBy', groupBy: "groupBy",
email: 'email', email: "email",
emailNotice: 'Please enter your email address', emailNotice: "Please enter your email address",
address: 'address', address: "address",
addressNotice: 'Please enter address details', addressNotice: "Please enter address details",
addSupplier: 'Add a supplier', addSupplier: "Add a supplier",
updateSupplier: 'Modify the supplier', updateSupplier: "Modify the supplier",
deleteSupplier: 'Confirm to delete the supplier?', deleteSupplier: "Confirm to delete the supplier?",
submit: 'submit', submit: "submit",
cancel: 'cancel', cancel: "cancel",
groupTitle: 'groupTitle', groupTitle: "groupTitle",
groupTitleRules: 'groupTitle', groupTitleRules: "groupTitle",
groupTitleNotice: 'The group name cannot be empty', groupTitleNotice: "The group name cannot be empty",
groupBeizhu: 'Grouping note', groupBeizhu: "Grouping note",
groupAorder: 'Grouping sorting', groupAorder: "Grouping sorting",
groupAorderNotice: 'Please enter group sort', groupAorderNotice: "Please enter group sort",
beizhu: 'Note information', beizhu: "Note information",
beizhuNotice: 'Please enter the remarks', beizhuNotice: "Please enter the remarks",
addGroup: 'Please enter the remarks', addGroup: "Please enter the remarks",
updateGroup: 'Please enter the remarks', updateGroup: "Please enter the remarks",
deleteGroup: 'Whether to delete the group?' deleteGroup: "Whether to delete the group?",
}, },
printLadingBill: { printLadingBill: {
loading: 'loading', loading: "loading",
download: 'download', download: "download",
print: 'print', print: "print",
tidanNO: 'packing list', tidanNO: "packing list",
lodop: 'Check that the LODOP print control is installed and started' lodop: "Check that the LODOP print control is installed and started",
}, },
printWarehouseReceipt: { printWarehouseReceipt: {
orderNo: 'orderNo', orderNo: "orderNo",
phone: 'consigner phone', phone: "consigner phone",
address: 'pick up address', address: "pick up address",
marks: 'marks', marks: "marks",
prodTitle: 'description', prodTitle: "description",
cartonsNum: 'cartonsNum', cartonsNum: "cartonsNum",
boxGauge: 'size', boxGauge: "size",
volume: 'volume', volume: "volume",
weight: 'weight', weight: "weight",
inTime: 'inTime', 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', text1:
text2: '2.Insurance payment should be informed within 3 days after warehousing', "1.On hold success criteria: received a message within 3 days of warehousing means successful; Otherwise, please contact us within 2 working days",
print: 'to print', text2:
comprint: 'comprint', "2.Insurance payment should be informed within 3 days after warehousing",
printNo: 'printNo', print: "to print",
lodop: 'Check that the LODOP print control is installed and started' comprint: "comprint",
printNo: "printNo",
lodop: "Check that the LODOP print control is installed and started",
}, },
release: { release: {
orderNo: 'The order number', orderNo: "The order number",
sumNum: 'sumNum', sumNum: "sumNum",
sumVolume: 'volume', sumVolume: "volume",
sumWeight: 'weight', sumWeight: "weight",
sumConNum: 'sumConNum', sumConNum: "sumConNum",
remainNum: 'Number of containers remaining', remainNum: "Number of containers remaining",
releaseNotice: 'Please fill in the release information', releaseNotice: "Please fill in the release information",
consigneeName: 'consigneeName', consigneeName: "consigneeName",
consigneeNameRules: 'Please fill in the consignee', consigneeNameRules: "Please fill in the consignee",
consigneeNameNotice: 'Please enter consignee', consigneeNameNotice: "Please enter consignee",
consigneePhone: "Consignee's telephone number", consigneePhone: "Consignee's telephone number",
consigneePhoneNotice: "Please enter the consignee's telephone number", consigneePhoneNotice: "Please enter the consignee's telephone number",
consigneeEmail: "Consignee's email address", consigneeEmail: "Consignee's email address",
consigneeEmailNotice: "Please enter consignee's email address", consigneeEmailNotice: "Please enter consignee's email address",
conNum: 'conNum', conNum: "conNum",
pickNum: 'pickNum', pickNum: "pickNum",
pickVolume: 'volume(m³)', pickVolume: "volume(m³)",
pickWeight: 'weight(kg)', pickWeight: "weight(kg)",
remarks: 'remarks', remarks: "remarks",
phone: 'phone', phone: "phone",
phoneNotice: 'enter the phone number', phoneNotice: "enter the phone number",
code: 'Mobile verification code', code: "Mobile verification code",
codeRules: 'The verification code cannot be empty', codeRules: "The verification code cannot be empty",
codeNotice: 'Please input the mobile phone verification code', codeNotice: "Please input the mobile phone verification code",
submit: 'submit', submit: "submit",
close: 'close', close: "close",
agree: 'agree', agree: "agree",
release: 'release' release: "release",
}, },
sendSmsCode: { sendSmsCode: {
send: 'send', send: "send",
seconds: 's', seconds: "s",
again: 'again', again: "again",
success: 'success' success: "success",
}, },
transfer: { transfer: {
cargoControlName: 'cargoControlName', cargoControlName: "cargoControlName",
cargoControlPhone: 'cargoControlPhone', cargoControlPhone: "cargoControlPhone",
name: 'name', name: "name",
nameRules: 'name cannot be empty', nameRules: "name cannot be empty",
phone: 'phone', phone: "phone",
phoneRules: 'phone cannot be empty', phoneRules: "phone cannot be empty",
email: 'email', email: "email",
code: 'code', code: "code",
codeRules: 'code cannot be empty', codeRules: "code cannot be empty",
submit: 'submit', submit: "submit",
agree: 'agree', agree: "agree",
close: 'close' close: "close",
}, },
coupons: { coupons: {
status: 'status', status: "status",
info: 'info~' info: "info~",
}, },
delivery: { delivery: {
header: 'delivery', header: "delivery",
orderType: 'orderType', orderType: "orderType",
orderType1: 'Cargo service', orderType1: "Cargo service",
orderType2: 'Overseas warehouse', orderType2: "Overseas warehouse",
consigneeName: 'consigneeName', consigneeName: "consigneeName",
consigneeNameNotice: 'Please enter the name of the consignee', consigneeNameNotice: "Please enter the name of the consignee",
consigneeNameNoticeEn: 'Please enter the name of the consignee in English', consigneeNameNoticeEn: "Please enter the name of the consignee in English",
openConsignee: 'Select the consignee', openConsignee: "Select the consignee",
consigneePhone: 'consigneePhone', consigneePhone: "consigneePhone",
consigneePhoneNotice: 'Please enter the telephone number', consigneePhoneNotice: "Please enter the telephone number",
consigneeCompany: 'Name of consignee company', consigneeCompany: "Name of consignee company",
consigneeCompanyNotice: 'Please enter the company name', consigneeCompanyNotice: "Please enter the company name",
consigneeCompanyNoticeEn: 'Please enter the company name in English', consigneeCompanyNoticeEn: "Please enter the company name in English",
consignorConfirm: 'Please confirm the freight be paid by sender?', consignorConfirm: "Please confirm the freight be paid by sender?",
emailNotice: 'Please enter email address', emailNotice: "Please enter email address",
transport: '*transport', transport: "*transport",
transportNotice: 'Please select the mode of transportation', transportNotice: "Please select the mode of transportation",
channel: 'channel', channel: "channel",
channelNotice: 'Please select the shipping channel', channelNotice: "Please select the shipping channel",
departure: '*departure', departure: "*departure",
departureRules: 'The place of origin is mandatory', departureRules: "The place of origin is mandatory",
departureNotice: 'Please select the place of departure', departureNotice: "Please select the place of departure",
objective: '*objective', objective: "*objective",
objectiveRules: 'Destination City This parameter is mandatory', objectiveRules: "Destination City This parameter is mandatory",
objectiveNotice: 'Please select a destination', objectiveNotice: "Please select a destination",
router: '*Please select a line', router: "*Please select a line",
routerNotice: 'Select a line on the right', routerNotice: "Select a line on the right",
goods: 'goods info', goods: "goods info",
addPro: 'addPro', addPro: "addPro",
addPros: 'addPros', addPros: "addPros",
index: 'index', index: "index",
proZh: 'proZh', proZh: "proZh",
proEn: 'proEn', proEn: "proEn",
proRules: 'Please select product', proRules: "Please select product",
brand: 'brand', brand: "brand",
num: 'num', num: "num",
unit: 'unit', unit: "unit",
quantity: 'quantity', quantity: "quantity",
volume: 'volume', volume: "volume",
weight: 'weight', weight: "weight",
worth: 'worth', worth: "worth",
worthRules: 'The worth cannot be empty', worthRules: "The worth cannot be empty",
prodAttrArr: 'prodAttrArr', prodAttrArr: "prodAttrArr",
isPayAdvance: 'isPayAdvance', isPayAdvance: "isPayAdvance",
link: 'link', link: "link",
linkedit: 'edit link', linkedit: "edit link",
linkadd: 'add link', linkadd: "add link",
sum: 'sum', sum: "sum",
totalNum: 'total Num', totalNum: "total Num",
totalWorth: 'total Worth', totalWorth: "total Worth",
insuranceFee: 'insuranceFee', insuranceFee: "insuranceFee",
rmb: 'rmb', rmb: "rmb",
dollar: 'dollar', dollar: "dollar",
common: 'common', common: "common",
marks: '*marks', marks: "*marks",
marksRules: 'Please enter the shipping mark', marksRules: "Please enter the shipping mark",
marksRules1: 'The shipping mark must start with a letter', marksRules1: "The shipping mark must start with a letter",
isCargoControl: '*isCargoControl', isCargoControl: "*isCargoControl",
isCollection: '*isCollection', isCollection: "*isCollection",
collectionProxy: 'collectionProxy', collectionProxy: "collectionProxy",
customsType: '*customsType', customsType: "*customsType",
issuingMethod: '*issuingMethod', issuingMethod: "*issuingMethod",
deliveryDate: '*deliveryDate', deliveryDate: "*deliveryDate",
deliveryDateRules: 'The delivery date cannot be empty', deliveryDateRules: "The delivery date cannot be empty",
warehouseType: '*warehouseType', warehouseType: "*warehouseType",
harvestMethod: '*harvestMethod', harvestMethod: "*harvestMethod",
deliveryaddress: 'deliveryaddress', deliveryaddress: "deliveryaddress",
deliveryaddressRules: 'The receiving area cannot be empty', deliveryaddressRules: "The receiving area cannot be empty",
addressdetail: 'addressdetail', addressdetail: "addressdetail",
addressdetailRules: 'The shipping address cannot be blank', addressdetailRules: "The shipping address cannot be blank",
drawee: '*drawee', drawee: "*drawee",
customDraweeList: 'customDraweeList', customDraweeList: "customDraweeList",
number: 'number', number: "number",
numberNotice: 'Please enter the tracking number of your purchase', numberNotice: "Please enter the tracking number of your purchase",
getNumber: 'getNumber', getNumber: "getNumber",
doubleClear: 'doubleClear', doubleClear: "doubleClear",
airlineCompany: 'airlineCompany', airlineCompany: "airlineCompany",
shippingCompany: 'shippingCompany', shippingCompany: "shippingCompany",
customsClearCert: 'customsClearCert', customsClearCert: "customsClearCert",
clearCertRemark: 'clearCertRemark', clearCertRemark: "clearCertRemark",
isUnpack: 'isUnpack', isUnpack: "isUnpack",
isSingleTicketTransport: 'isSingleTicketTransport', 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".', notice:
packageType: 'packageType', '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".',
packageRemarks: 'packageRemarks', packageType: "packageType",
select: 'select', packageRemarks: "packageRemarks",
addCustomer: 'add Customer', select: "select",
batchImport: 'batch Import', addCustomer: "add Customer",
uoloadBox: 'uoload Box', batchImport: "batch Import",
startImport: 'start Import', uoloadBox: "uoload Box",
complete: 'complete', startImport: "start Import",
upload: 'upload', complete: "complete",
boxTpl: 'box Tpl', upload: "upload",
material: 'material', boxTpl: "box Tpl",
next: 'next', material: "material",
none: 'none', next: "next",
realName: 'Please complete the real-name authentication first', none: "none",
linkRules: 'Please enter the product link', realName: "Please complete the real-name authentication first",
delPro: 'Are you sure to delete this content?', linkRules: "Please enter the product link",
isContainNotice: 'The order contains non-acceptable goods, please check', delPro: "Are you sure to delete this content?",
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.', isContainNotice: "The order contains non-acceptable goods, please check",
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.', isCargoControlNotice:
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.' "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: { deliverysuccess: {
success: 'Order has been generated', success: "Order has been generated",
orderNo: 'Your booking number', orderNo: "Your booking number",
startAddress: 'The warehouse address', startAddress: "The warehouse address",
startTell: 'The warehouse telephone', startTell: "The warehouse telephone",
text: 'Your order has been submitted, thank you for choosing Jietao Logistics!', text: "Your order has been submitted, thank you for choosing Jietao Logistics!",
delivery: 'Another list', delivery: "Another list",
profile: 'Personal center', profile: "Personal center",
detail: 'view order', detail: "view order",
push: 'Warehousing notice', 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)', notice:
products: 'Product List', "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)",
productCount: 'Product Count', products: "Product List",
copy: 'Copy Order Info' productCount: "Product Count",
}, copy: "Copy Order Info",
'请输入商品关键词': 'Please enter the product keyword', },
'运费': 'estSeaFreight', 请输入商品关键词: "Please enter the product keyword",
'清关费': 'estClearanceFreight', 运费: "estSeaFreight",
'请输入数字': 'Please enter the number', 清关费: "estClearanceFreight",
'请输入有效数字': 'Please enter a significant number', 请输入数字: "Please enter the number",
'货值错误': 'Error of value', 请输入有效数字: "Please enter a significant number",
'重量错误': 'Weight error', 货值错误: "Error of value",
'体积错误': 'Volume error', 重量错误: "Weight error",
'请选择运输方式': 'Please select a mode of transportation', 体积错误: "Volume error",
'请输入件数': 'Please enter the number of pieces', 请选择运输方式: "Please select a mode of transportation",
'提示': 'Notice', 请输入件数: "Please enter the number of pieces",
'您的密码过于简单,请前往修改密码': 'Your password is too simple, please go to change the password', 提示: "Notice",
'修改密码': 'Change password', "您的密码过于简单,请前往修改密码":
'知道了': 'know', "Your password is too simple, please go to change the password",
'旧订单': 'old order', 修改密码: "Change password",
'周一到周六': 'Monday to Saturday', 知道了: "know",
'保存草稿成功': 'Save draft successfully', 旧订单: "old order",
'提交': 'submit', 周一到周六: "Monday to Saturday",
'存草稿': 'Save draft', 保存草稿成功: "Save draft successfully",
'加载中': 'Loading', 提交: "submit",
'起始标签': 'Start label', 存草稿: "Save draft",
'结束标签': 'End tag', 加载中: "Loading",
'去打印': 'Go to print', 起始标签: "Start label",
'确定打印': 'OK to print', 结束标签: "End tag",
'打印标签': 'Print label', 去打印: "Go to print",
'结束标签不对': 'Wrong end tag', 确定打印: "OK to print",
'没有可打印的内容': 'Nothing to print', 打印标签: "Print label",
'是否确认删除订单': 'Confirm whether to delete the order', 结束标签不对: "Wrong end tag",
'报关退税,请备齐材料': 'Customs declaration and tax refund, please prepare all necessary materials', 没有可打印的内容: "Nothing to print",
'控货日志': 'Cargo control log', 是否确认删除订单: "Confirm whether to delete the order",
'操作时间': 'Operating time', "报关退税,请备齐材料":
'操作人': 'Operator', "Customs declaration and tax refund, please prepare all necessary materials",
'操作人类型': 'Operator type', 控货日志: "Cargo control log",
'操作类型': 'Type of operation', 操作时间: "Operating time",
'备注': 'remarks', 操作人: "Operator",
'请输入6-32位数字与字母组合的密码': 'Please enter a password of 6-32 digits and letters', 操作人类型: "Operator type",
'关联报价单': 'Related quotation', 操作类型: "Type of operation",
'请选择': 'Please select', 备注: "remarks",
'复制成功': 'Copy successfully', "请输入6-32位数字与字母组合的密码":
'复制失败': 'Copy failed', "Please enter a password of 6-32 digits and letters",
'特殊要求': 'special requirements', 关联报价单: "Related quotation",
'特殊要求备注': 'Special Requirements Remarks', 请选择: "Please select",
'提单号': 'B/L NO', 复制成功: "Copy successfully",
'入仓箱数': 'Number of inbound boxes', 复制失败: "Copy failed",
'已放箱数': 'Number of boxes placed', 特殊要求: "special requirements",
'收货人': 'Consignee', 特殊要求备注: "Special Requirements Remarks",
'收货人电话': 'Consignee telephone number' 提单号: "B/L NO",
} 入仓箱数: "Number of inbound boxes",
已放箱数: "Number of boxes placed",
收货人: "Consignee",
收货人电话: "Consignee telephone number",
};
export default { export default {
common: { common: {
success: '成功', success: "成功",
reload: '重置', reload: "重置",
search: '搜索', search: "搜索",
add: '新增', add: "新增",
update: '修改', update: "修改",
delete: '删除', delete: "删除",
save: '保存', save: "保存",
back: '返回', back: "返回",
action: '操作', action: "操作",
submit: '提交', submit: "提交",
cancel: '取消', cancel: "取消",
confirm: '确定', confirm: "确定",
newfile: '上传新附件', newfile: "上传新附件",
uploadnotice: '附件最多上传10个', uploadnotice: "附件最多上传10个",
uploadDeclaration: '上传报关资料', uploadDeclaration: "上传报关资料",
seeDeclaration: '查看报关资料', seeDeclaration: "查看报关资料",
deleteDeclaration: '是否确认删除附件?', deleteDeclaration: "是否确认删除附件?",
passwordNotSame: '两次输入密码不一致', passwordNotSame: "两次输入密码不一致",
submitSuccess: '提交成功', submitSuccess: "提交成功",
returnIndex: '返回首页', returnIndex: "返回首页",
close: '关闭' close: "关闭",
}, },
route: { route: {
dashboard: '首页', dashboard: "首页",
profile: '个人中心', profile: "个人中心",
setting: '个人设置', setting: "个人设置",
advice: '咨询建议', advice: "咨询建议",
help: '帮助', help: "帮助",
message: '消息列表', message: "消息列表",
messagedetail: '消息详情', messagedetail: "消息详情",
notice: '公告列表', notice: "公告列表",
noticedetail: '公告详情', noticedetail: "公告详情",
bannerdetail: '轮播图详情', bannerdetail: "轮播图详情",
coupons: '我的优惠卷', coupons: "我的优惠卷",
customer: '我的客户', customer: "我的客户",
supplier: '我的供应商', supplier: "我的供应商",
ecash: '汇率查询', ecash: "汇率查询",
delivery: '我要发货', delivery: "我要发货",
controlorder: '控货订单', controlorder: "控货订单",
waitmoneyorder: '待结款订单', waitmoneyorder: "待结款订单",
receivedorder: '收到订单', receivedorder: "收到订单",
postorder: '发出订单', postorder: "发出订单",
orderdetail: '订单详情', orderdetail: "订单详情",
price: '价格查询', price: "价格查询",
logistics: '物流状态', logistics: "物流状态",
abnormal: '异常处理', abnormal: "异常处理",
idcard: '实名认证', idcard: "实名认证",
deliverysuccess: '下单成功' deliverysuccess: "下单成功",
}, },
login: { login: {
title: '登录', title: "登录",
logIn: '登录', logIn: "登录",
username: '账号', username: "账号",
password: '密码', password: "密码",
forget: '忘记密码', forget: "忘记密码",
mobile: '手机号', mobile: "手机号",
code: '验证码', code: "验证码",
type: '登录方式', type: "登录方式",
getCode: '获取验证码', getCode: "获取验证码",
userLogin: '密码登录', userLogin: "密码登录",
mobileLogin: '手机验证登录', mobileLogin: "手机验证登录",
registered: '没有账号?立即注册>>', registered: "没有账号?立即注册>>",
bgTitle1: '捷道货运', bgTitle1: "捷道货运",
bgTitle2: '会员权益介绍', bgTitle2: "会员权益介绍",
bgTitle3: '积分奖励,电子运单专享特权', bgTitle3: "积分奖励,电子运单专享特权",
bgTitle4: '物流信息管理,订单分明', bgTitle4: "物流信息管理,订单分明",
bgTitle5: '更多资讯,时刻掌握物流时效动态', bgTitle5: "更多资讯,时刻掌握物流时效动态",
bgTitle6: '运单电子化,随时随地管理查看', bgTitle6: "运单电子化,随时随地管理查看",
bgTitle7: '自动控货、放货、安全、及时', bgTitle7: "自动控货、放货、安全、及时",
bgTitle8: '数据统计,助你业务发展', bgTitle8: "数据统计,助你业务发展",
mobileRules: '手机号不能为空', mobileRules: "手机号不能为空",
codeRules: '验证码不能为空', codeRules: "验证码不能为空",
nameRules: '账号不能为空', nameRules: "账号不能为空",
passwordRules: '密码不能为空', passwordRules: "密码不能为空",
nameEnRules: '英文名称不能为空', nameEnRules: "英文名称不能为空",
confirmPwdRules: '确认密码不能为空' 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: { registered: {
title: '注册', title: "注册",
registered: '注册', registered: "注册",
code: '验证码', code: "验证码",
getCode: '获取验证码', getCode: "获取验证码",
mobile: '手机号', mobile: "手机号",
nameEn: '英文名称', nameEn: "英文名称",
password: '密码', password: "密码",
passwordPlaceholder: '密码由6-32位英文字母和数字组成', passwordPlaceholder: "密码由6-32位英文字母和数字组成",
confirmPwd: '确认密码', confirmPwd: "确认密码",
confirmPwdPlaceholder: '请再次确认密码', confirmPwdPlaceholder: "请再次确认密码",
weak: '', referralCodePlaceholder: "请输入推荐码(非必填)",
medium: '', referralCode: "推荐码",
strong: '', weak: "",
login: '已有账号?直接登录>>', medium: "",
forget: '忘记密码', strong: "",
backLogin: '返回登录', login: "已有账号?直接登录>>",
update: '修 改', forget: "忘记密码",
problem: '遇到问题?', backLogin: "返回登录",
contact: '您可以联系客服' update: "修 改",
problem: "遇到问题?",
contact: "您可以联系客服",
}, },
sidebar: { sidebar: {
userInfo: '账户信息', userInfo: "账户信息",
reload: '刷新', reload: "刷新",
logout: '退出登录>>', logout: "退出登录>>",
home: '首页', home: "首页",
controlOrder: '控货中订单', controlOrder: "控货中订单",
moneyOrder: '待结款订单', moneyOrder: "待结款订单",
notReadMessage: '未读短消息', notReadMessage: "未读短消息",
coupons: '我的优惠券', coupons: "我的优惠券",
delivery: '我要发货>>', delivery: "我要发货>>",
price: '价格查询>>', price: "价格查询>>",
myPanel: '我的面板', myPanel: "我的面板",
myOrder: '我的订单', myOrder: "我的订单",
myPost: '我发出的', myPost: "我发出的",
myReceivedo: '我收到的', myReceivedo: "我收到的",
controlManage: '控货管理', controlManage: "控货管理",
ecash: '汇率', ecash: "汇率",
customerManage: '客户管理', customerManage: "客户管理",
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: '根据国家公安部、安监总局等部门所有入仓货物需要“实名制”登记,请在系统后台进行实名制认证', realNameNotice1:
realNameNotice2: '您提交的实名认证正在审核中,信息如下', "根据国家公安部、安监总局等部门所有入仓货物需要“实名制”登记,请在系统后台进行实名制认证",
realNameNotice3: '您提交的实名认证审核不通过,信息如下,请到个人设置中重新提交认证', realNameNotice2: "您提交的实名认证正在审核中,信息如下",
logoutNotice: '确定注销并退出系统吗?', realNameNotice3:
transport: '选择运输方式', "您提交的实名认证审核不通过,信息如下,请到个人设置中重新提交认证",
sea: '海运拼柜', logoutNotice: "确定注销并退出系统吗?",
airCargo: '空运专线', transport: "选择运输方式",
seaAir: '海空联运' sea: "海运拼柜",
airCargo: "空运专线",
seaAir: "海空联运",
}, },
profile: { profile: {
myPost: '我发出的订单', myPost: "我发出的订单",
myReceivedo: '我收到的订单', myReceivedo: "我收到的订单",
orderNo: '订单编号', orderNo: "订单编号",
transport: '运输方式', transport: "运输方式",
marks: '唛头', marks: "唛头",
status: '订单状态', status: "订单状态",
createTime: '下单时间', createTime: "下单时间",
viewMorePost: '查看更多发出订单>>', viewMorePost: "查看更多发出订单>>",
viewMoreReceivedo: '查看更多收到订单>>', viewMoreReceivedo: "查看更多收到订单>>",
notOrder: '暂无订单~', notOrder: "暂无订单~",
know: '知道了' know: "知道了",
}, },
setting: { setting: {
userInfo: '个人信息', userInfo: "个人信息",
nickname: '登录会员', nickname: "登录会员",
loginDate: '上次登录', loginDate: "上次登录",
advice: '若您的登录信息与实际不符,建议您及时', advice: "若您的登录信息与实际不符,建议您及时",
editPassword: '修改密码', editPassword: "修改密码",
baseInfo: '基本信息', baseInfo: "基本信息",
update: '修改', update: "修改",
cancel: '取消', cancel: "取消",
save: '保存', save: "保存",
name: '姓名', name: "姓名",
mobile: '电话', mobile: "电话",
jobPosition: '职位', jobPosition: "职位",
birthday: '生日', birthday: "生日",
englishName: '英文名', englishName: "英文名",
address: '地址', address: "地址",
gender: '性别', gender: "性别",
girl: '', girl: "",
male: '', male: "",
secret: '保密', secret: "保密",
department: '部门', department: "部门",
companyInfo: '公司信息', companyInfo: "公司信息",
companyName: '公司名称', companyName: "公司名称",
companyDesc: '公司简介', companyDesc: "公司简介",
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: '密码设置', passwork: "密码设置",
passworkNotice: '登陆后修改您的捷道密码', passworkNotice: "登陆后修改您的捷道密码",
passworkUpdate: '修改密码', passworkUpdate: "修改密码",
passworkInit: '初始化密码', passworkInit: "初始化密码",
passworkNew: '新密码', passworkNew: "新密码",
passworkNewRules: '新密码不能为空', passworkNewRules: "新密码不能为空",
passworkNewNotice: '请输入新密码', passworkNewNotice: "请输入新密码",
comfirmNewPasswork: '确认新密码', comfirmNewPasswork: "确认新密码",
comfirmNewPassworkRules: '确认新密码不能为空', comfirmNewPassworkRules: "确认新密码不能为空",
comfirmNewPassworkNotice: '请再次输入新密码', comfirmNewPassworkNotice: "请再次输入新密码",
reset: '重置', reset: "重置",
determine: '确定', determine: "确定",
passworkOld: '旧密码', passworkOld: "旧密码",
passworkOldRules: '旧密码不能为空', passworkOldRules: "旧密码不能为空",
passworkOldotice: '请输入旧密码', passworkOldotice: "请输入旧密码",
oldMobile: '原绑定手机号', oldMobile: "原绑定手机号",
oldMobileRules: '原绑定手机号不能为空', oldMobileRules: "原绑定手机号不能为空",
oldMobileNotice: '请输入原绑定手机号', oldMobileNotice: "请输入原绑定手机号",
passwork1: '密码', passwork1: "密码",
passworkRules1: '密码不能为空', passworkRules1: "密码不能为空",
passworkNotice1: '请输入密码', passworkNotice1: "请输入密码",
changeMobileRules: '电话必须为数字值', changeMobileRules: "电话必须为数字值",
newMobileNotice: '请输入更换手机号', newMobileNotice: "请输入更换手机号",
mobileCode: '手机验证码', mobileCode: "手机验证码",
mobileCodeRules: '验证码不能为空', mobileCodeRules: "验证码不能为空",
mobileCodeNotice: '请输入验证码', mobileCodeNotice: "请输入验证码",
getCode: '获取验证码', getCode: "获取验证码",
email: '邮箱地址', email: "邮箱地址",
emailRules: '邮箱地址不能为空', emailRules: "邮箱地址不能为空",
emailRules1: '请输入正确的邮箱格式', emailRules1: "请输入正确的邮箱格式",
emailNotice: '请输入邮箱地址', emailNotice: "请输入邮箱地址",
validate1: '请输入姓名', validate1: "请输入姓名",
validate2: '请输入手机', validate2: "请输入手机",
validate3: '请输入英文名', validate3: "请输入英文名",
editPwdNotice: '请先初始化密码再进行此操作', editPwdNotice: "请先初始化密码再进行此操作",
initPwdNotice: '请确保两次密码输入一致', initPwdNotice: "请确保两次密码输入一致",
companyWebsiteNotice: '请填写公司官网地址', companyWebsiteNotice: "请填写公司官网地址",
imgType: '文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。', imgType: "文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。",
fileType: '文件格式错误,请上传:JPG,PNG,DOC,xls,ppt,txt.pdf,jpen,docx,xlsx后缀的文件。', fileType:
setControlPassword: '设置控货密码', "文件格式错误,请上传:JPG,PNG,DOC,xls,ppt,txt.pdf,jpen,docx,xlsx后缀的文件。",
controlPassword: '控货密码', setControlPassword: "设置控货密码",
confirmPassword: '确认密码' controlPassword: "控货密码",
confirmPassword: "确认密码",
}, },
realName: { realName: {
title: '实名认证', title: "实名认证",
name: '姓名', name: "姓名",
nameRules: '姓名不能为空', nameRules: "姓名不能为空",
nameNotice: '请输入姓名', nameNotice: "请输入姓名",
cardType: '证件类型', cardType: "证件类型",
cardTypeRules: '证件类型不能为空', cardTypeRules: "证件类型不能为空",
cardTypeNotice: '请选择证件类型', cardTypeNotice: "请选择证件类型",
cardNumber: '证件号码', cardNumber: "证件号码",
cardNumberRules: '证件号码不能为空', cardNumberRules: "证件号码不能为空",
cardNumberNotice: '请输入证件号码', cardNumberNotice: "请输入证件号码",
img1: '证件正面照', img1: "证件正面照",
imgRules1: '证件正面照不能为空', imgRules1: "证件正面照不能为空",
upload: '上传图片', upload: "上传图片",
img2: '证件背面照', img2: "证件背面照",
imgRules2: '证件背面照不能为空', imgRules2: "证件背面照不能为空",
status: '未认证', status: "未认证",
status0: '待审核', status0: "待审核",
status1: '审核中', status1: "审核中",
status2: '已认证', status2: "已认证",
status3: '审核不通过', status3: "审核不通过",
uploadNotice: '只能上传图片,且不超过20张' uploadNotice: "只能上传图片,且不超过20张",
}, },
abnormal: { abnormal: {
none: '', none: "",
header: '查看', header: "查看",
marks: '唛头', marks: "唛头",
sumNum: '已到箱数/总箱数', sumNum: "已到箱数/总箱数",
orderStatus: '订单状态', orderStatus: "订单状态",
deliveryDate: '送货日期', deliveryDate: "送货日期",
transport: '运输方式', transport: "运输方式",
startTitle: '始发地', startTitle: "始发地",
destTitle: '目的地', destTitle: "目的地",
consignorName: '发货人', consignorName: "发货人",
consignorCompany: '发货公司', consignorCompany: "发货公司",
consignorPhone: '发货电话', consignorPhone: "发货电话",
consigneeName: '收货人', consigneeName: "收货人",
consigneeCompany: '收货公司', consigneeCompany: "收货公司",
consigneePhone: '收货电话', consigneePhone: "收货电话",
header1: '问题详情', header1: "问题详情",
index: '序号', index: "序号",
orderExceptionType: '异常类型', orderExceptionType: "异常类型",
orderExceptionDesc: '异常描述', orderExceptionDesc: "异常描述",
orderExceptionAmount: '金额', orderExceptionAmount: "金额",
status: '状态', status: "状态",
filelist: '附件', filelist: "附件",
userName: '处理人', userName: "处理人",
handlerTime: '处理时间', handlerTime: "处理时间",
finish: '已完成', finish: "已完成",
deal: '处理', deal: "处理",
dealAbnormal: '处理异常' dealAbnormal: "处理异常",
}, },
consult: { consult: {
consult: '咨询建议', consult: "咨询建议",
title: '标题', title: "标题",
titleRules: '标题不能为空', titleRules: "标题不能为空",
titleNotice: '请输入咨询建议标题', titleNotice: "请输入咨询建议标题",
name: '联系人', name: "联系人",
nameRules: '联系人不能为空', nameRules: "联系人不能为空",
nameNotice: '请输入联系人', nameNotice: "请输入联系人",
type: '类型', type: "类型",
type2: '建议', type2: "建议",
type1: '咨询', type1: "咨询",
phone: '联系电话', phone: "联系电话",
phoneRules: '联系电话不能为空', phoneRules: "联系电话不能为空",
phoneNotice: '请输入联系电话', phoneNotice: "请输入联系电话",
orderCode: '订单号', orderCode: "订单号",
orderCodeRules: '请输入订单号', orderCodeRules: "请输入订单号",
notice: '提示:若为固定电话需填写区号,且为纯数字', notice: "提示:若为固定电话需填写区号,且为纯数字",
content: '内容', content: "内容",
contentRules: '内容不能为空', contentRules: "内容不能为空",
contentNotice: '请输入咨询建议内容', contentNotice: "请输入咨询建议内容",
submit: '确认提交', submit: "确认提交",
record: '留言记录', record: "留言记录",
consultName: '留言人', consultName: "留言人",
createTime: '留言时间', createTime: "留言时间",
status: '状态', status: "状态",
status1: '待回复', status1: "待回复",
status2: '回复中', status2: "回复中",
status3: '已回复', status3: "已回复",
replyContent: '回复结果', replyContent: "回复结果",
replyTime: '回复时间' replyTime: "回复时间",
}, },
complaint: { complaint: {
complaint: '投诉', complaint: "投诉",
title: '标题', title: "标题",
titleRules: '标题不能为空', titleRules: "标题不能为空",
titleNotice: '请输入投诉标题', titleNotice: "请输入投诉标题",
name: '联系人', name: "联系人",
nameRules: '联系人不能为空', nameRules: "联系人不能为空",
nameNotice: '请输入联系人', nameNotice: "请输入联系人",
type: '类型', type: "类型",
typeRules: '类型不能为空', typeRules: "类型不能为空",
typeNotice: '请选择投诉类型', typeNotice: "请选择投诉类型",
phone: '联系电话', phone: "联系电话",
phoneRules: '联系电话不能为空', phoneRules: "联系电话不能为空",
phoneNotice: '请输入联系电话', phoneNotice: "请输入联系电话",
orderCode: '订单号', orderCode: "订单号",
orderCodeRules: '请输入订单号', orderCodeRules: "请输入订单号",
notice: '提示:若为固定电话需填写区号,且为纯数字', notice: "提示:若为固定电话需填写区号,且为纯数字",
content: '投诉内容', content: "投诉内容",
contentRules: '投诉内容不能为空', contentRules: "投诉内容不能为空",
contentNotice: '请输入投诉内容', contentNotice: "请输入投诉内容",
submit: '确认提交', submit: "确认提交",
record: '投诉记录', record: "投诉记录",
complaintName: '投诉人', complaintName: "投诉人",
createTime: '投诉时间', createTime: "投诉时间",
status: '投诉状态', status: "投诉状态",
status1: '待处理', status1: "待处理",
status2: '处理中', status2: "处理中",
status3: '已处理', status3: "已处理",
status4: '已取消', status4: "已取消",
replyContent: '处理结果', replyContent: "处理结果",
replyTime: '处理时间' replyTime: "处理时间",
}, },
bannerdetail: { bannerdetail: {
header: '轮播图详情', header: "轮播图详情",
title: '标题', title: "标题",
time: '创建时间' time: "创建时间",
}, },
controlorder: { controlorder: {
header: '控货管理', header: "控货管理",
transport: '运输方式', transport: "运输方式",
controlStatus: '控货状态', controlStatus: "控货状态",
orderNo: '订单编号', orderNo: "订单编号",
No: '编号', No: "编号",
NoRules: '请输入订单编号、提单号搜索', NoRules: "请输入订单编号、提单号搜索",
marks: '唛头', marks: "唛头",
marksRules: '请输入唛头', marksRules: "请输入唛头",
date: '日期筛选', date: "日期筛选",
start: '开始日期', start: "开始日期",
end: '结束日期', end: "结束日期",
status: '订单状态', status: "订单状态",
cargoControlStatus: '控货状态', cargoControlStatus: "控货状态",
createTime: '下单时间', createTime: "下单时间",
release: '放货', release: "放货",
transfer: '控货权转移', transfer: "控货权转移",
view: '查看' view: "查看",
}, },
orderdetail: { orderdetail: {
orderNo: '订单编号', orderNo: "订单编号",
deliveryDate: '送货时间', deliveryDate: "送货时间",
transport: '运输方式', transport: "运输方式",
channel: '出货渠道', channel: "出货渠道",
startTitle: '始发仓', startTitle: "始发仓",
destTitle: '目的仓', destTitle: "目的仓",
startAddress: '地址', startAddress: "地址",
consignorName: '发货人', consignorName: "发货人",
consignorCompany: '发货人公司名称', consignorCompany: "发货人公司名称",
consignorNameEn: '发货人英文名称', consignorNameEn: "发货人英文名称",
consignorCompanyEn: '发货人公司英文名称', consignorCompanyEn: "发货人公司英文名称",
consignorPhone: '发货人电话', consignorPhone: "发货人电话",
consignorEmail: '发货人邮箱', consignorEmail: "发货人邮箱",
consigneeName: '收货人', consigneeName: "收货人",
consigneeCompany: '收货人公司名称', consigneeCompany: "收货人公司名称",
consigneeNameEn: '收货人英文名称', consigneeNameEn: "收货人英文名称",
consigneeCompanyEn: '收货人公司英文名称', consigneeCompanyEn: "收货人公司英文名称",
consigneeEmail: '收货人邮箱', consigneeEmail: "收货人邮箱",
consigneePhone: '收货人电话', consigneePhone: "收货人电话",
marks: '唛头', marks: "唛头",
isCargoControl: '是否控货', isCargoControl: "是否控货",
baseInfo: '基础信息', baseInfo: "基础信息",
transportInfo: '物流信息', transportInfo: "物流信息",
costVO: '填单信息', costVO: "填单信息",
box: '', box: "",
is: '', is: "",
no: '', no: "",
warehouseNum: '仓库实测', warehouseNum: "仓库实测",
entry: '收款数据', entry: "收款数据",
warehouseType: '入仓类型', warehouseType: "入仓类型",
customsType: '单证报关', customsType: "单证报关",
isCollection: '代收货款', isCollection: "代收货款",
activeFirst: '货物详情', activeFirst: "货物详情",
activeSecond: '订单动态', activeSecond: "订单动态",
activeThree: '运单资料/提货单', activeThree: "运单资料/提货单",
prodTitleZh: '中文品名', prodTitleZh: "中文品名",
prodTitleEn: '英文品名', prodTitleEn: "英文品名",
brand: '品牌', brand: "品牌",
num: '填单件数', num: "填单件数",
sumNum: '入仓件数', sumNum: "入仓件数",
unit: '单位', unit: "单位",
worth: '货值', worth: "货值",
material: '材质', material: "材质",
volume: '体积(m3)', volume: "体积(m3)",
weight: '重量(kg)', weight: "重量(kg)",
noData: '暂无数据', noData: "暂无数据",
notOrderData: '暂无订单动态数据', notOrderData: "暂无订单动态数据",
showWarehouseReceipt: '查看入仓单', showWarehouseReceipt: "查看入仓单",
showLadingBill: '查看提货单', showLadingBill: "查看提货单",
hiddenText: '隐藏', hiddenText: "隐藏",
showText: '展示', showText: "展示",
transInfo: '运输信息' transInfo: "运输信息",
}, },
customer: { customer: {
none: '', none: "",
customer: '我的客户', customer: "我的客户",
group: '分组管理', group: "分组管理",
grouping: '分组', grouping: "分组",
name: '姓名', name: "姓名",
nameEn: '姓名(英文)', nameEn: "姓名(英文)",
nameRules: '姓名不能为空', nameRules: "姓名不能为空",
nameNotice: '请输入姓名', nameNotice: "请输入姓名",
company: '公司名称', company: "公司名称",
companyEn: '公司名称(英文)', companyEn: "公司名称(英文)",
companyRules: '公司名称不能为空', companyRules: "公司名称不能为空",
companyNotice: '请输入公司名称', companyNotice: "请输入公司名称",
phone: '联系电话', phone: "联系电话",
phoneRules1: '联系电话不能为空', phoneRules1: "联系电话不能为空",
phoneRules2: '电话必须为数字值', phoneRules2: "电话必须为数字值",
dialCode: '国家区号不能为空', dialCode: "国家区号不能为空",
phoneNotice: '请输入联系电话', phoneNotice: "请输入联系电话",
index: '序号', index: "序号",
createTime: '添加时间', createTime: "添加时间",
maitou: '唛头', maitou: "唛头",
maitouNotice: '请输入唛头', maitouNotice: "请输入唛头",
groupBy: '所属分组', groupBy: "所属分组",
email: '电子邮箱', email: "电子邮箱",
emailNotice: '请输入电子邮箱', emailNotice: "请输入电子邮箱",
address: '详细地址', address: "详细地址",
addressNotice: '请输入详细地址', addressNotice: "请输入详细地址",
addCustomer: '添加客户', addCustomer: "添加客户",
updateCustomer: '修改客户', updateCustomer: "修改客户",
deleteCustomer: '是否确认删除客户?', deleteCustomer: "是否确认删除客户?",
submit: '确 定', submit: "确 定",
cancel: '取 消', cancel: "取 消",
groupTitle: '分组名称', groupTitle: "分组名称",
groupTitleRules: '分组名称', groupTitleRules: "分组名称",
groupTitleNotice: '分组名称不能为空', groupTitleNotice: "分组名称不能为空",
groupBeizhu: '分组备注', groupBeizhu: "分组备注",
groupAorder: '分组排序', groupAorder: "分组排序",
groupAorderNotice: '请输入分组排序', groupAorderNotice: "请输入分组排序",
beizhu: '备注信息', beizhu: "备注信息",
beizhuNotice: '请输入备注信息', beizhuNotice: "请输入备注信息",
addGroup: '请输入备注信息', addGroup: "请输入备注信息",
updateGroup: '请输入备注信息', updateGroup: "请输入备注信息",
deleteGroup: '是否确认删除分组?', deleteGroup: "是否确认删除分组?",
default: '默认', default: "默认",
yes: '', yes: "",
no: '' no: "",
}, },
ecash: { ecash: {
time: '有效时间', time: "有效时间",
bj: '中国', bj: "中国",
nrly: '尼日利亚' nrly: "尼日利亚",
}, },
message: { message: {
title: '我的消息(站内信)', title: "我的消息(站内信)",
notTatal1: '站内信', notTatal1: "站内信",
notTatal2: '条未读', notTatal2: "条未读",
read: '已读', read: "已读",
unread: '未读' unread: "未读",
}, },
messagedetail: { messagedetail: {
header: '消息详情', header: "消息详情",
title: '标题', title: "标题",
type: '消息分类', type: "消息分类",
createTime: '创建时间', createTime: "创建时间",
type1: '订单消息', type1: "订单消息",
type2: '出货消息', type2: "出货消息",
type3: '提醒消息' type3: "提醒消息",
}, },
notice: { notice: {
header: '公告消息' header: "公告消息",
}, },
postorder: { postorder: {
header: '发出订单', header: "发出订单",
transport: '运输方式', transport: "运输方式",
orderNo: '订单编号', orderNo: "订单编号",
orderNoRules: '请输入订单编号', orderNoRules: "请输入订单编号",
marks: '唛头', marks: "唛头",
marksRules: '请输入唛头', marksRules: "请输入唛头",
date: '日期筛选', date: "日期筛选",
start: '开始日期', start: "开始日期",
end: '结束日期', end: "结束日期",
status: '订单状态', status: "订单状态",
cargoControlStatus: '控货状态', cargoControlStatus: "控货状态",
createTime: '下单时间', createTime: "下单时间",
refundWarehouse: '申请退仓', refundWarehouse: "申请退仓",
abnormal: '处理', abnormal: "处理",
edit: '编辑', edit: "编辑",
cancel: '取消订单', cancel: "取消订单",
refundOrderNo: '退仓订单号', refundOrderNo: "退仓订单号",
refundReason: '退仓原因', refundReason: "退仓原因",
refundReasonNotice: '请输入退仓原因', refundReasonNotice: "请输入退仓原因",
submitRefund: '确定退仓', submitRefund: "确定退仓",
noRefund: '不,再考虑考虑', noRefund: "不,再考虑考虑",
confirm: '确定要取消此订单么?', confirm: "确定要取消此订单么?",
refundImg: '退仓图片', refundImg: "退仓图片",
refundWarehouseSuccess: '申请退仓成功' refundWarehouseSuccess: "申请退仓成功",
}, },
prepayDeal: { prepayDeal: {
orderNo: '订单号:', orderNo: "订单号:",
box: '', box: "",
prodTitleZh: '产品名称:', prodTitleZh: "产品名称:",
prodTitleEn: '英文名称:', prodTitleEn: "英文名称:",
transport: '运输路线:', transport: "运输路线:",
costVO: '填单参数:', costVO: "填单参数:",
warehouseNum: '入仓参数:', warehouseNum: "入仓参数:",
abnormal: '异常描述:', abnormal: "异常描述:",
add: '新增收款单', add: "新增收款单",
brand: '品牌', brand: "品牌",
proName: '品名', proName: "品名",
boxNum: '箱数', boxNum: "箱数",
volumeWeight: '体积/重量', volumeWeight: "体积/重量",
payType: '收款类型', payType: "收款类型",
feeType: '收入类型', feeType: "收入类型",
consigneeName: '收货人', consigneeName: "收货人",
paystatus: '付款状态', paystatus: "付款状态",
costVOBox: '填单箱数', costVOBox: "填单箱数",
cartonsNum: '入仓箱数', cartonsNum: "入仓箱数",
volume: '方数', volume: "方数",
weight: '重量', weight: "重量",
quantity: '数量', quantity: "数量",
worth: '货值', worth: "货值",
result: '处理结果:', result: "处理结果:",
remark: '备注:', remark: "备注:",
customsData: '报关资料:', customsData: "报关资料:",
content: '详细内容:', content: "详细内容:",
status: '状态:', status: "状态:",
cause: '*查明原因:', cause: "*查明原因:",
none: '', none: "",
prepaid: '预付', prepaid: "预付",
shouldMoney: '应收金额', shouldMoney: "应收金额",
dollar: '总金额美元', dollar: "总金额美元",
rmb: '总金额RMB', rmb: "总金额RMB",
actualMoney: '实收金额', actualMoney: "实收金额",
drawee: '付款人', drawee: "付款人",
payable: '应付金额:', payable: "应付金额:",
verificationMoney: '核销金额:', verificationMoney: "核销金额:",
verificationRatio: '核销比例:', verificationRatio: "核销比例:",
submit: '转交', submit: "转交",
from: ' 从【', from: " 从【",
to: '】发往【' to: "】发往【",
}, },
weightDeal: { weightDeal: {
view: '查看', view: "查看",
marks: '唛头', marks: "唛头",
costVO: '已到箱数/总箱数', costVO: "已到箱数/总箱数",
status: '订单状态', status: "订单状态",
inTime: '送货日期', inTime: "送货日期",
transport: '运输方式', transport: "运输方式",
start: '始发地', start: "始发地",
dest: '目的地', dest: "目的地",
consignorName: '发货人', consignorName: "发货人",
consignorCompany: '发货公司', consignorCompany: "发货公司",
consignorPhone: '发货电话', consignorPhone: "发货电话",
consigneeName: '收货人', consigneeName: "收货人",
consigneeCompany: '收货公司', consigneeCompany: "收货公司",
consigneePhone: '收货电话', consigneePhone: "收货电话",
goods: '货物信息', goods: "货物信息",
index: '序号', index: "序号",
proName: '品名', proName: "品名",
orderGoods: '填单货物信息', orderGoods: "填单货物信息",
brand: '品牌', brand: "品牌",
num: '箱数', num: "箱数",
volume: '体积', volume: "体积",
weight: '重量', weight: "重量",
putGoods: '入库货物属性', putGoods: "入库货物属性",
unit: '规格', unit: "规格",
ss: '重货方数', ss: "重货方数",
vweight: '泡货重量', vweight: "泡货重量",
handlerTime: '最后操作时间', handlerTime: "最后操作时间",
general: '设为普货', general: "设为普货",
process: '同意重货', process: "同意重货",
pao: '同意泡货', pao: "同意泡货",
subtotal: '小计', subtotal: "小计",
sums2: '下单统计:', sums2: "下单统计:",
sums3: '入仓统计:', sums3: "入仓统计:",
box: '', box: "",
none: '' none: "",
}, },
price: { price: {
header: '价格查询', header: "价格查询",
departure: '始发地', departure: "始发地",
departureRules: '始发地必选', departureRules: "始发地必选",
departureNotice: '请选择始发地', departureNotice: "请选择始发地",
objective: '目的地', objective: "目的地",
objectiveRules: '目的城市必选', objectiveRules: "目的城市必选",
objectiveNotice: '请选择目的地', objectiveNotice: "请选择目的地",
prod: '商品名称', prod: "商品名称",
prodRules: '商品名称必选', prodRules: "商品名称必选",
transport: '运输方式', transport: "运输方式",
channel: '出货渠道', channel: "出货渠道",
num: '箱数', num: "箱数",
numRule1: '箱数不能为空', numRule1: "箱数不能为空",
numRule2: '箱数必须为正整数', numRule2: "箱数必须为正整数",
box: '', box: "",
quantity: '总数量', quantity: "总数量",
quantityRule1: '总数量不能为空', quantityRule1: "总数量不能为空",
quantityRule2: '总数量必须为正整数', quantityRule2: "总数量必须为正整数",
one: '', one: "",
weight: '货物重量', weight: "货物重量",
weightRule1: '重量不能为空', weightRule1: "重量不能为空",
weightRule2: '货物重量必须为正数,且最多保留两位小数', weightRule2: "货物重量必须为正数,且最多保留两位小数",
long: '', long: "",
longRule1: '长不能为空', longRule1: "长不能为空",
longRule2: '长必须为正数,且最多保留两位小数', longRule2: "长必须为正数,且最多保留两位小数",
wide: '', wide: "",
wideRule1: '宽不能为空', wideRule1: "宽不能为空",
wideRule2: '宽必须为正数,且最多保留两位小数', wideRule2: "宽必须为正数,且最多保留两位小数",
high: '', high: "",
highRule1: '高不能为空', highRule1: "高不能为空",
highRule2: '高必须为正数,且最多保留两位小数', highRule2: "高必须为正数,且最多保留两位小数",
seaFreight: '运费', seaFreight: "运费",
none: '未报价', none: "未报价",
clearanceFreight: '清关费', clearanceFreight: "清关费",
startTitle: '始发仓', startTitle: "始发仓",
destTitle: '目的仓', destTitle: "目的仓",
estimatedSales: '预估费用', estimatedSales: "预估费用",
notice: '温馨提醒', 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>' 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: { receiveorder: {
header: '收到订单', header: "收到订单",
transport: '运输方式', transport: "运输方式",
orderNo: '订单编号', orderNo: "订单编号",
orderNoRules: '请输入订单编号', orderNoRules: "请输入订单编号",
marks: '唛头', marks: "唛头",
marksRules: '请输入唛头', marksRules: "请输入唛头",
date: '日期筛选', date: "日期筛选",
start: '开始日期', start: "开始日期",
end: '结束日期', end: "结束日期",
status: '订单状态', status: "订单状态",
createTime: '下单时间' createTime: "下单时间",
}, },
supplier: { supplier: {
none: '', none: "",
supplier: '我的供应商', supplier: "我的供应商",
group: '分组管理', group: "分组管理",
grouping: '分组', grouping: "分组",
name: '姓名', name: "姓名",
nameRules: '姓名不能为空', nameRules: "姓名不能为空",
nameNotice: '请输入姓名', nameNotice: "请输入姓名",
company: '公司名称', company: "公司名称",
companyRules: '公司名称不能为空', companyRules: "公司名称不能为空",
companyNotice: '请输入公司名称', companyNotice: "请输入公司名称",
phone: '联系电话', phone: "联系电话",
phoneRules1: '联系电话不能为空', phoneRules1: "联系电话不能为空",
phoneRules2: '电话必须为数字值', phoneRules2: "电话必须为数字值",
dialCode: '国家区号不能为空', dialCode: "国家区号不能为空",
phoneNotice: '请输入联系电话', phoneNotice: "请输入联系电话",
index: '序号', index: "序号",
createTime: '添加时间', createTime: "添加时间",
maitou: '唛头', maitou: "唛头",
maitouNotice: '请输入唛头', maitouNotice: "请输入唛头",
groupBy: '所属分组', groupBy: "所属分组",
email: '电子邮箱', email: "电子邮箱",
emailNotice: '请输入电子邮箱', emailNotice: "请输入电子邮箱",
address: '详细地址', address: "详细地址",
addressNotice: '请输入详细地址', addressNotice: "请输入详细地址",
addSupplier: '添加供应商', addSupplier: "添加供应商",
updateSupplier: '修改供应商', updateSupplier: "修改供应商",
deleteSupplier: '是否确认删除供应商?', deleteSupplier: "是否确认删除供应商?",
submit: '确 定', submit: "确 定",
cancel: '取 消', cancel: "取 消",
groupTitle: '分组名称', groupTitle: "分组名称",
groupTitleRules: '分组名称', groupTitleRules: "分组名称",
groupTitleNotice: '分组名称不能为空', groupTitleNotice: "分组名称不能为空",
groupBeizhu: '分组备注', groupBeizhu: "分组备注",
groupAorder: '分组排序', groupAorder: "分组排序",
groupAorderNotice: '请输入分组排序', groupAorderNotice: "请输入分组排序",
beizhu: '备注信息', beizhu: "备注信息",
beizhuNotice: '请输入备注信息', beizhuNotice: "请输入备注信息",
addGroup: '请输入备注信息', addGroup: "请输入备注信息",
updateGroup: '请输入备注信息', updateGroup: "请输入备注信息",
deleteGroup: '是否确认删除分组?' deleteGroup: "是否确认删除分组?",
}, },
printLadingBill: { printLadingBill: {
loading: '加载中', loading: "加载中",
download: '下载', download: "下载",
print: '打印', print: "打印",
tidanNO: '提货单', tidanNO: "提货单",
lodop: '请检查LODOP打印控件是否安装并启动' lodop: "请检查LODOP打印控件是否安装并启动",
}, },
printWarehouseReceipt: { printWarehouseReceipt: {
orderNo: '订单号', orderNo: "订单号",
phone: '发货人电话', phone: "发货人电话",
address: '提货地点', address: "提货地点",
marks: '唛头', marks: "唛头",
prodTitle: '货物描述', prodTitle: "货物描述",
cartonsNum: '箱数', cartonsNum: "箱数",
boxGauge: '尺寸', boxGauge: "尺寸",
volume: '方数', volume: "方数",
weight: '重量', weight: "重量",
inTime: '入仓时间', inTime: "入仓时间",
text1: '1.控货成功标准:入仓3天内收到我司控货短信视为控货成功;否则视为不控货,如未收到请在2个工作日内与我司联系。', text1:
text2: '2.如需保价赔付需在入仓3天内告知。', "1.控货成功标准:入仓3天内收到我司控货短信视为控货成功;否则视为不控货,如未收到请在2个工作日内与我司联系。",
print: '去打印', text2: "2.如需保价赔付需在入仓3天内告知。",
comprint: '确定打印', print: "去打印",
printNo: '打印入仓单', comprint: "确定打印",
lodop: '请检查LODOP打印控件是否安装并启动' printNo: "打印入仓单",
lodop: "请检查LODOP打印控件是否安装并启动",
}, },
release: { release: {
orderNo: '订单号', orderNo: "订单号",
sumNum: '总箱数', sumNum: "总箱数",
sumVolume: '体积', sumVolume: "体积",
sumWeight: '重量', sumWeight: "重量",
sumConNum: '总控货箱数', sumConNum: "总控货箱数",
remainNum: '剩余放货箱数', remainNum: "剩余放货箱数",
releaseNotice: '请填写放货信息', releaseNotice: "请填写放货信息",
consigneeName: '收货人', consigneeName: "收货人",
consigneeNameRules: '请填写收货人', consigneeNameRules: "请填写收货人",
consigneeNameNotice: '请输入收货人', consigneeNameNotice: "请输入收货人",
consigneePhone: '收货人电话', consigneePhone: "收货人电话",
consigneePhoneNotice: '请输入收货人电话', consigneePhoneNotice: "请输入收货人电话",
consigneeEmail: '收货人邮箱', consigneeEmail: "收货人邮箱",
consigneeEmailNotice: '请输入收货人邮箱', consigneeEmailNotice: "请输入收货人邮箱",
conNum: '控货箱数', conNum: "控货箱数",
pickNum: '放货箱数', pickNum: "放货箱数",
pickVolume: '体积(m³)', pickVolume: "体积(m³)",
pickWeight: '重量(kg)', pickWeight: "重量(kg)",
remarks: '备注', remarks: "备注",
phone: '控货手机号', phone: "控货手机号",
phoneNotice: '请输入控货手机号', phoneNotice: "请输入控货手机号",
code: '手机验证码', code: "手机验证码",
deliverymode: '放货方式', deliverymode: "放货方式",
codeRules: '验证码不能为空', codeRules: "验证码不能为空",
codeNotice: '请输入手机验证码', codeNotice: "请输入手机验证码",
submit: '确认放货', submit: "确认放货",
close: '关闭', close: "关闭",
agree: '我同意', agree: "我同意",
release: '放货', release: "放货",
VerifyNotice: '*控货密码或手机验证码放货,二选一', VerifyNotice: "*控货密码或手机验证码放货,二选一",
releaseSuccess: '放货成功' releaseSuccess: "放货成功",
}, },
sendSmsCode: { sendSmsCode: {
send: '发送验证码', send: "发送验证码",
seconds: '', seconds: "",
again: '重新发送', again: "重新发送",
success: '发送成功' success: "发送成功",
}, },
transfer: { transfer: {
cargoControlName: '原控货人', cargoControlName: "原控货人",
cargoControlPhone: '原控货手机号', cargoControlPhone: "原控货手机号",
name: '新控货人', name: "新控货人",
nameRules: '控货人不能为空', nameRules: "控货人不能为空",
phone: '新控货手机号', phone: "新控货手机号",
phoneRules: '控货人手机不能为空', phoneRules: "控货人手机不能为空",
email: '新控货人邮箱', email: "新控货人邮箱",
code: '手机验证码', code: "手机验证码",
codeRules: '验证码不能为空', codeRules: "验证码不能为空",
submit: '确定转移', submit: "确定转移",
agree: '我同意', agree: "我同意",
close: '关闭' close: "关闭",
}, },
coupons: { coupons: {
status: '优惠状态', status: "优惠状态",
info: '暂无数据~' info: "暂无数据~",
}, },
delivery: { delivery: {
header: '我要发货', header: "我要发货",
orderType: '订单类型', orderType: "订单类型",
orderType1: '集运服务', orderType1: "集运服务",
orderType2: '海外仓', orderType2: "海外仓",
consigneeName: '收货人', consigneeName: "收货人",
consigneeNameNotice: '请输入收货人姓名', consigneeNameNotice: "请输入收货人姓名",
consigneeNameNoticeEn: '请输入收货人英文名称', consigneeNameNoticeEn: "请输入收货人英文名称",
openConsignee: '选择收货人', openConsignee: "选择收货人",
consigneePhone: '电话', consigneePhone: "电话",
consigneePhoneNotice: '请输入电话', consigneePhoneNotice: "请输入电话",
consigneeCompany: '收货人公司名称', consigneeCompany: "收货人公司名称",
consigneeCompanyNotice: '请输入公司名称', consigneeCompanyNotice: "请输入公司名称",
consigneeCompanyNoticeEn: '请输入公司英文名称', consigneeCompanyNoticeEn: "请输入公司英文名称",
emailNotice: '请输入邮箱', emailNotice: "请输入邮箱",
transport: '运输方式', transport: "运输方式",
transportNotice: '请选择运输方式', transportNotice: "请选择运输方式",
channel: '出货渠道', channel: "出货渠道",
channelNotice: '请选择出货渠道', channelNotice: "请选择出货渠道",
departure: '始发城市', departure: "始发城市",
departureRules: '始发城市必选', departureRules: "始发城市必选",
departureNotice: '请选择始发地', departureNotice: "请选择始发地",
objective: '目的城市', objective: "目的城市",
objectiveRules: '目的城市必选', objectiveRules: "目的城市必选",
objectiveNotice: '请选择目的地', objectiveNotice: "请选择目的地",
router: '请选择线路', router: "请选择线路",
routerNotice: '请在右侧选择线路', routerNotice: "请在右侧选择线路",
goods: '商品信息', goods: "商品信息",
addPro: '添加货物', addPro: "添加货物",
addPros: '批量添加货物', addPros: "批量添加货物",
index: '序号', index: "序号",
proZh: '中文品名', proZh: "中文品名",
proEn: '英文品名', proEn: "英文品名",
proRules: '请选择产品', proRules: "请选择产品",
brand: '品牌', brand: "品牌",
num: '件数', num: "件数",
unit: '包装单位', unit: "包装单位",
quantity: '数量', quantity: "数量",
volume: '体积', volume: "体积",
weight: '重量', weight: "重量",
worth: '货值', worth: "货值",
worthRules: '货值不能为空', worthRules: "货值不能为空",
prodAttrArr: '商品特性', prodAttrArr: "商品特性",
isPayAdvance: '是否预付', isPayAdvance: "是否预付",
link: '商品链接', link: "商品链接",
linkedit: '编辑商品链接', linkedit: "编辑商品链接",
linkadd: '添加商品链接', linkadd: "添加商品链接",
sum: '合计', sum: "合计",
totalNum: '总件数', totalNum: "总件数",
totalWorth: '总货值', totalWorth: "总货值",
insuranceFee: '保价费', insuranceFee: "保价费",
rmb: '', rmb: "",
dollar: '美元', dollar: "美元",
common: '通用', common: "通用",
marks: '唛头', marks: "唛头",
marksRules: '请输入唛头', marksRules: "请输入唛头",
marksRules1: '唛头首位必须为字母', marksRules1: "唛头首位必须为字母",
isCargoControl: '是否控货', isCargoControl: "是否控货",
isCollection: '是否代收货款', isCollection: "是否代收货款",
collectionProxy: '代收货款金额', collectionProxy: "代收货款金额",
customsType: '单证报关', customsType: "单证报关",
issuingMethod: '出单方式', issuingMethod: "出单方式",
deliveryDate: '送货日期', deliveryDate: "送货日期",
deliveryDateRules: '送货日期不能为空', deliveryDateRules: "送货日期不能为空",
warehouseType: '入仓类型', warehouseType: "入仓类型",
harvestMethod: '收货方式', harvestMethod: "收货方式",
deliveryaddress: '收货地区', deliveryaddress: "收货地区",
deliveryaddressRules: '收货地区不能为空', deliveryaddressRules: "收货地区不能为空",
addressdetail: '收货详细地址', addressdetail: "收货详细地址",
addressdetailRules: '收货详细地址不能为空', addressdetailRules: "收货详细地址不能为空",
drawee: '付款人', drawee: "付款人",
customDraweeList: '费用类型', customDraweeList: "费用类型",
number: '快递单号', number: "快递单号",
numberNotice: '请输入购买商品的快递单号', numberNotice: "请输入购买商品的快递单号",
getNumber: '生成单号', getNumber: "生成单号",
doubleClear: '是否双清', doubleClear: "是否双清",
airlineCompany: '航空公司', airlineCompany: "航空公司",
shippingCompany: '船公司', shippingCompany: "船公司",
customsClearCert: '清关证书', customsClearCert: "清关证书",
clearCertRemark: '清关证书备注', clearCertRemark: "清关证书备注",
isUnpack: '是否拆包', isUnpack: "是否拆包",
isSingleTicketTransport: '单票立刻转运', isSingleTicketTransport: "单票立刻转运",
notice: '注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”', notice:
packageType: '特殊要求', "注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”",
packageRemarks: '特殊要求备注', packageType: "特殊要求",
select: '选择', packageRemarks: "特殊要求备注",
addCustomer: '新建收货人', select: "选择",
batchImport: '批量导入', addCustomer: "新建收货人",
uoloadBox: '上传集装箱', batchImport: "批量导入",
startImport: '开始导入', uoloadBox: "上传集装箱",
complete: '完成', startImport: "开始导入",
upload: '点击上传', complete: "完成",
boxTpl: '装箱单模板', upload: "点击上传",
material: '材质', boxTpl: "装箱单模板",
next: '下一步', material: "材质",
none: '', next: "下一步",
realName: '请先完成实名认证', none: "",
linkRules: '请输入商品链接', realName: "请先完成实名认证",
delPro: '确定删除此条内容么?', linkRules: "请输入商品链接",
isContainNotice: '订单包含不接受货物,请检查', delPro: "确定删除此条内容么?",
consignorConfirm: '请再次确认国际运费是否由您支付?', isContainNotice: "订单包含不接受货物,请检查",
isCargoControlNotice: '是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式', consignorConfirm: "请再次确认国际运费是否由您支付?",
customsTypeNotice: '我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现', isCargoControlNotice:
packageTypeNotice: '如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充' "是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式",
customsTypeNotice:
"我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现",
packageTypeNotice:
"如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充",
}, },
deliverysuccess: { deliverysuccess: {
success: '新建订单成功', success: "新建订单成功",
orderNo: '您的订舱号', orderNo: "您的订舱号",
startAddress: '仓库地址', startAddress: "仓库地址",
startTell: '仓库电话', startTell: "仓库电话",
text: '您的订单已提交,谢谢您选择捷道物流!', text: "您的订单已提交,谢谢您选择捷道物流!",
delivery: '再来一单', delivery: "再来一单",
profile: '个人中心', profile: "个人中心",
detail: '查看订单', detail: "查看订单",
push: '入仓须知', push: "入仓须知",
notice: '为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)', notice:
products: '商品列表', "为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)",
productCount: '总件数', products: "商品列表",
copy: '复制订单信息' productCount: "总件数",
} copy: "复制订单信息",
} },
};
import Vue from 'vue' import Vue from "vue";
import Router from 'vue-router' import Router from "vue-router";
Vue.use(Router) Vue.use(Router);
/* Layout */ /* Layout */
import Layout from '@/layout' import Layout from "@/layout";
/* Router Modules */ /* Router Modules */
import componentsRouter from './modules/components' import componentsRouter from "./modules/components";
import chartsRouter from './modules/charts' import chartsRouter from "./modules/charts";
import tableRouter from './modules/table' import tableRouter from "./modules/table";
import nestedRouter from './modules/nested' import nestedRouter from "./modules/nested";
import jiedaoRouter from '@/router/modules/jiedao' import jiedaoRouter from "@/router/modules/jiedao";
import Jdlayout from '@/layout/jdlayout' import Jdlayout from "@/layout/jdlayout";
/** /**
* Note: sub-menu only appear when route children.length >= 1 * Note: sub-menu only appear when route children.length >= 1
...@@ -42,72 +42,77 @@ import Jdlayout from '@/layout/jdlayout' ...@@ -42,72 +42,77 @@ import Jdlayout from '@/layout/jdlayout'
*/ */
export const constantRoutes = [ export const constantRoutes = [
{ {
path: '/redirect', path: "/redirect",
component: Layout, component: Layout,
hidden: true, hidden: true,
children: [ children: [
{ {
path: '/redirect/:path(.*)', path: "/redirect/:path(.*)",
component: () => import('@/views/redirect/index') component: () => import("@/views/redirect/index"),
} },
] ],
}, },
{ {
path: '/login', path: "/login",
component: () => import('@/views/login/index'), component: () => import("@/views/login/index"),
hidden: true hidden: true,
}, },
{ {
path: '/registered', path: "/registered",
component: () => import('@/views/registered/index'), component: () => import("@/views/registered/index"),
hidden: true hidden: true,
}, },
{ {
path: '/reset-password', path: "/myInfo",
component: () => import('@/views/registered/resetpwd'), component: () => import("@/views/my_info/my_info.vue"),
hidden: true hidden: true,
}, },
{ {
path: '/auth-redirect', path: "/reset-password",
component: () => import('@/views/login/auth-redirect'), component: () => import("@/views/registered/resetpwd"),
hidden: true hidden: true,
}, },
{ {
path: '/jd-transport', path: "/auth-redirect",
component: () => import('@/views/jiedao/profile/transport'), component: () => import("@/views/login/auth-redirect"),
name: 'Logistics', hidden: true,
meta: { title: 'logistics' }
}, },
{ {
path: '/jd-erate', path: "/jd-transport",
component: () => import('@/views/jiedao/profile/erate'), component: () => import("@/views/jiedao/profile/transport"),
name: 'Ecash', name: "Logistics",
meta: { title: 'ecash' } meta: { title: "logistics" },
}, },
{ {
path: '/404', path: "/jd-erate",
component: () => import('@/views/error-page/404'), component: () => import("@/views/jiedao/profile/erate"),
hidden: true name: "Ecash",
meta: { title: "ecash" },
}, },
{ {
path: '/401', path: "/404",
component: () => import('@/views/error-page/401'), component: () => import("@/views/error-page/404"),
hidden: true hidden: true,
},
{
path: "/401",
component: () => import("@/views/error-page/401"),
hidden: true,
}, },
{ {
path: '/', path: "/",
component: Jdlayout, component: Jdlayout,
redirect: '/jiedao', redirect: "/jiedao",
children: [ children: [
{ {
path: 'dashboard', path: "dashboard",
component: () => import('@/views/jiedao/profile'), component: () => import("@/views/jiedao/profile"),
name: 'Dashboard', name: "Dashboard",
meta: { title: 'dashboard', icon: 'dashboard', affix: true } meta: { title: "dashboard", icon: "dashboard", affix: true },
} },
] ],
} },
] ];
/** /**
* asyncRoutes * asyncRoutes
...@@ -115,58 +120,58 @@ export const constantRoutes = [ ...@@ -115,58 +120,58 @@ export const constantRoutes = [
*/ */
export const asyncRoutes = [ export const asyncRoutes = [
{ {
path: '/permission', path: "/permission",
component: Layout, component: Layout,
redirect: '/permission/page', redirect: "/permission/page",
alwaysShow: true, // will always show the root menu alwaysShow: true, // will always show the root menu
name: 'Permission', name: "Permission",
meta: { meta: {
title: 'permission', title: "permission",
icon: 'lock', icon: "lock",
roles: ['admin', 'editor'] // you can set roles in root nav roles: ["admin", "editor"], // you can set roles in root nav
}, },
children: [ children: [
{ {
path: 'page', path: "page",
component: () => import('@/views/permission/page'), component: () => import("@/views/permission/page"),
name: 'PagePermission', name: "PagePermission",
meta: { meta: {
title: 'pagePermission', title: "pagePermission",
roles: ['admin'] // or you can only set roles in sub nav roles: ["admin"], // or you can only set roles in sub nav
} },
}, },
{ {
path: 'directive', path: "directive",
component: () => import('@/views/permission/directive'), component: () => import("@/views/permission/directive"),
name: 'DirectivePermission', name: "DirectivePermission",
meta: { meta: {
title: 'directivePermission' title: "directivePermission",
// if do not set roles, means: this page does not require permission // if do not set roles, means: this page does not require permission
} },
}, },
{ {
path: 'role', path: "role",
component: () => import('@/views/permission/role'), component: () => import("@/views/permission/role"),
name: 'RolePermission', name: "RolePermission",
meta: { meta: {
title: 'rolePermission', title: "rolePermission",
roles: ['admin'] roles: ["admin"],
} },
} },
] ],
}, },
{ {
path: '/icon', path: "/icon",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/icons/index'), component: () => import("@/views/icons/index"),
name: 'Icons', name: "Icons",
meta: { title: 'icons', icon: 'icon', noCache: true } meta: { title: "icons", icon: "icon", noCache: true },
} },
] ],
}, },
/** when your routing map is too long, you can split it into small modules **/ /** when your routing map is too long, you can split it into small modules **/
...@@ -177,227 +182,232 @@ export const asyncRoutes = [ ...@@ -177,227 +182,232 @@ export const asyncRoutes = [
jiedaoRouter, jiedaoRouter,
{ {
path: '/example', path: "/example",
component: Layout, component: Layout,
redirect: '/example/list', redirect: "/example/list",
name: 'Example', name: "Example",
meta: { meta: {
title: 'example', title: "example",
icon: 'el-icon-s-help' icon: "el-icon-s-help",
}, },
children: [ children: [
{ {
path: 'create', path: "create",
component: () => import('@/views/example/create'), component: () => import("@/views/example/create"),
name: 'CreateArticle', name: "CreateArticle",
meta: { title: 'createArticle', icon: 'edit' } meta: { title: "createArticle", icon: "edit" },
}, },
{ {
path: 'edit/:id(\\d+)', path: "edit/:id(\\d+)",
component: () => import('@/views/example/edit'), component: () => import("@/views/example/edit"),
name: 'EditArticle', name: "EditArticle",
meta: { title: 'editArticle', noCache: true, activeMenu: '/example/list' }, meta: {
hidden: true title: "editArticle",
noCache: true,
activeMenu: "/example/list",
},
hidden: true,
}, },
{ {
path: 'list', path: "list",
component: () => import('@/views/example/list'), component: () => import("@/views/example/list"),
name: 'ArticleList', name: "ArticleList",
meta: { title: 'articleList', icon: 'list' } meta: { title: "articleList", icon: "list" },
} },
] ],
}, },
{ {
path: '/tab', path: "/tab",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/tab/index'), component: () => import("@/views/tab/index"),
name: 'Tab', name: "Tab",
meta: { title: 'tab', icon: 'tab' } meta: { title: "tab", icon: "tab" },
} },
] ],
}, },
{ {
path: '/error', path: "/error",
component: Layout, component: Layout,
redirect: 'noRedirect', redirect: "noRedirect",
name: 'ErrorPages', name: "ErrorPages",
meta: { meta: {
title: 'errorPages', title: "errorPages",
icon: '404' icon: "404",
}, },
children: [ children: [
{ {
path: '401', path: "401",
component: () => import('@/views/error-page/401'), component: () => import("@/views/error-page/401"),
name: 'Page401', name: "Page401",
meta: { title: 'page401', noCache: true } meta: { title: "page401", noCache: true },
}, },
{ {
path: '404', path: "404",
component: () => import('@/views/error-page/404'), component: () => import("@/views/error-page/404"),
name: 'Page404', name: "Page404",
meta: { title: 'page404', noCache: true } meta: { title: "page404", noCache: true },
} },
] ],
}, },
{ {
path: '/error-log', path: "/error-log",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'log', path: "log",
component: () => import('@/views/error-log/index'), component: () => import("@/views/error-log/index"),
name: 'ErrorLog', name: "ErrorLog",
meta: { title: 'errorLog', icon: 'bug' } meta: { title: "errorLog", icon: "bug" },
} },
] ],
}, },
{ {
path: '/excel', path: "/excel",
component: Layout, component: Layout,
redirect: '/excel/export-excel', redirect: "/excel/export-excel",
name: 'Excel', name: "Excel",
meta: { meta: {
title: 'excel', title: "excel",
icon: 'excel' icon: "excel",
}, },
children: [ children: [
{ {
path: 'export-excel', path: "export-excel",
component: () => import('@/views/excel/export-excel'), component: () => import("@/views/excel/export-excel"),
name: 'ExportExcel', name: "ExportExcel",
meta: { title: 'exportExcel' } meta: { title: "exportExcel" },
}, },
{ {
path: 'export-selected-excel', path: "export-selected-excel",
component: () => import('@/views/excel/select-excel'), component: () => import("@/views/excel/select-excel"),
name: 'SelectExcel', name: "SelectExcel",
meta: { title: 'selectExcel' } meta: { title: "selectExcel" },
}, },
{ {
path: 'export-merge-header', path: "export-merge-header",
component: () => import('@/views/excel/merge-header'), component: () => import("@/views/excel/merge-header"),
name: 'MergeHeader', name: "MergeHeader",
meta: { title: 'mergeHeader' } meta: { title: "mergeHeader" },
}, },
{ {
path: 'upload-excel', path: "upload-excel",
component: () => import('@/views/excel/upload-excel'), component: () => import("@/views/excel/upload-excel"),
name: 'UploadExcel', name: "UploadExcel",
meta: { title: 'uploadExcel' } meta: { title: "uploadExcel" },
} },
] ],
}, },
{ {
path: '/zip', path: "/zip",
component: Layout, component: Layout,
redirect: '/zip/download', redirect: "/zip/download",
alwaysShow: true, alwaysShow: true,
name: 'Zip', name: "Zip",
meta: { title: 'zip', icon: 'zip' }, meta: { title: "zip", icon: "zip" },
children: [ children: [
{ {
path: 'download', path: "download",
component: () => import('@/views/zip/index'), component: () => import("@/views/zip/index"),
name: 'ExportZip', name: "ExportZip",
meta: { title: 'exportZip' } meta: { title: "exportZip" },
} },
] ],
}, },
{ {
path: '/pdf', path: "/pdf",
component: Layout, component: Layout,
redirect: '/pdf/index', redirect: "/pdf/index",
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/pdf/index'), component: () => import("@/views/pdf/index"),
name: 'PDF', name: "PDF",
meta: { title: 'pdf', icon: 'pdf' } meta: { title: "pdf", icon: "pdf" },
} },
] ],
}, },
{ {
path: '/pdf/download', path: "/pdf/download",
component: () => import('@/views/pdf/download'), component: () => import("@/views/pdf/download"),
hidden: true hidden: true,
}, },
{ {
path: '/theme', path: "/theme",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/theme/index'), component: () => import("@/views/theme/index"),
name: 'Theme', name: "Theme",
meta: { title: 'theme', icon: 'theme' } meta: { title: "theme", icon: "theme" },
} },
] ],
}, },
{ {
path: '/clipboard', path: "/clipboard",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/clipboard/index'), component: () => import("@/views/clipboard/index"),
name: 'ClipboardDemo', name: "ClipboardDemo",
meta: { title: 'clipboardDemo', icon: 'clipboard' } meta: { title: "clipboardDemo", icon: "clipboard" },
} },
] ],
}, },
{ {
path: '/i18n', path: "/i18n",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'index', path: "index",
component: () => import('@/views/i18n-demo/index'), component: () => import("@/views/i18n-demo/index"),
name: 'I18n', name: "I18n",
meta: { title: 'i18n', icon: 'international' } meta: { title: "i18n", icon: "international" },
} },
] ],
}, },
{ {
path: 'external-link', path: "external-link",
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'https://github.com/PanJiaChen/vue-element-admin', path: "https://github.com/PanJiaChen/vue-element-admin",
meta: { title: 'externalLink', icon: 'link' } meta: { title: "externalLink", icon: "link" },
} },
] ],
}, },
// 404 page must be placed at the end !!! // 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 // mode: 'history', // require service support
scrollBehavior: () => ({ y: 0 }), 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 // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() { export function resetRouter() {
const newRouter = createRouter() const newRouter = createRouter();
router.matcher = newRouter.matcher // reset router router.matcher = newRouter.matcher; // reset router
} }
export default router export default router;
...@@ -28,14 +28,14 @@ ...@@ -28,14 +28,14 @@
<el-option <el-option
v-for="item in countryList" v-for="item in countryList"
:key="item.id" :key="item.id"
:label="'+'+item.tel+' '+item[apiLang]" :label="'+' + item.tel + ' ' + item[apiLang]"
:value="item.tel" :value="item.tel"
/> />
</el-select> </el-select>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20" style="display: flex;"> <el-row :gutter="20" style="display: flex">
<el-col :span="16"> <el-col :span="16">
<el-form-item prop="code" :label="$t('login.code')"> <el-form-item prop="code" :label="$t('login.code')">
<el-input <el-input
...@@ -55,127 +55,177 @@ ...@@ -55,127 +55,177 @@
:disabled="disabled" :disabled="disabled"
round round
@click.native.prevent="getValidaCode" @click.native.prevent="getValidaCode"
>{{ getCode }}</el-button> >{{ getCode }}</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<div style="width: 100%;text-align: center;margin-top: 60px;"> <div style="width: 100%; text-align: center; margin-top: 60px">
<el-button <el-button
:loading="loading" :loading="loading"
type="primary" type="primary"
round round
style="width:70%;" style="width: 70%"
@click.native.prevent="handleLogin" @click.native.prevent="handleLogin"
>{{ $t('login.logIn') }}</el-button> >{{ $t("login.logIn") }}</el-button
>
</div> </div>
</el-form> </el-form>
</div> </div>
</template> </template>
<script> <script>
import { getCode, getCountryList } from '@/api/user' import { getCode, getCountryList, getInfo } from "@/api/user";
import { langData } from '@/data/lang' import { langData } from "@/data/lang";
export default { export default {
name: 'MobileLogin', name: "MobileLogin",
components: {}, components: {},
data() { data() {
return { return {
countryList: [], countryList: [],
loginForm: { loginForm: {
areaCode: '86' areaCode: "86",
}, },
loginRules: { loginRules: {
mobile: [{ required: true, message: this.$t('login.mobileRules'), trigger: 'blur' }, { pattern: /^[0-9]\d*$/, message: this.$t('customer.phoneRules2') }], mobile: [
code: [{ required: true, message: this.$t('login.codeRules'), trigger: 'blur' }] {
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, loading: false,
disabled: false, disabled: false,
count: 60, count: 60,
getCode: this.$t('login.getCode'), getCode: this.$t("login.getCode"),
apiLang: '', apiLang: "",
langData: langData langData: langData,
} };
}, },
computed: { computed: {
language: { language: {
get() { get() {
return this.$store.getters.language return this.$store.getters.language;
}, },
set(val) { set(val) {
this.$i18n.locale = val this.$i18n.locale = val;
this.$store.dispatch('app/setLanguage', val) this.$store.dispatch("app/setLanguage", val);
} },
} },
}, },
watch: { watch: {
language() { language() {
this.getCode = this.$t('login.getCode') this.getCode = this.$t("login.getCode");
this.apiLang = this.langData[this.language] 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() { destroyed() {
// window.removeEventListener('storage', this.afterQRScan) // window.removeEventListener('storage', this.afterQRScan)
}, },
methods: { methods: {
getValidaCode() { 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(() => { getCode(data).then(() => {
var countDown = window.setInterval(() => { var countDown = window.setInterval(() => {
if (this.count < 1) { if (this.count < 1) {
this.disabled = false this.disabled = false;
this.count = 60 this.count = 60;
this.getCode = this.$t('login.getCode') this.getCode = this.$t("login.getCode");
window.clearInterval(countDown) window.clearInterval(countDown);
} else { } else {
this.count-- this.count--;
this.disabled = true this.disabled = true;
this.getCode = this.count + 's' 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() { handleLogin() {
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate(async (valid) => {
if (valid) { if (valid) {
this.loading = true this.loading = true;
this.$store await this.$store.dispatch("user/login", this.loginForm);
.dispatch('user/smsLogin', this.loginForm) await this.getInfos();
.then(() => { // this.$store
this.$router.push({ // .dispatch("user/smsLogin", this.loginForm)
path: this.redirect || '/jiedao/jd-profile', // .then(() => {
query: this.otherQuery // this.$router.push({
}) // path: this.redirect || "/jiedao/jd-profile",
this.loading = false // query: this.otherQuery,
}) // });
.catch(() => { // this.loading = false;
this.loading = false // })
}) // .catch(() => {
// this.loading = false;
// });
} else { } else {
console.log('error submit!!') console.log("error submit!!");
return false return false;
} }
}) });
}, },
getOtherQuery(query) { getOtherQuery(query) {
return Object.keys(query).reduce((acc, cur) => { return Object.keys(query).reduce((acc, cur) => {
if (cur !== 'redirect') { if (cur !== "redirect") {
acc[cur] = query[cur] acc[cur] = query[cur];
}
return acc
}, {})
} }
} return acc;
} }, {});
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped></style>
</style>
...@@ -35,88 +35,98 @@ ...@@ -35,88 +35,98 @@
/> />
</el-form-item> </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 <el-link
style="color: #5BA8DC;" style="color: #5ba8dc"
:underline="false" :underline="false"
href="/ucenter/#/reset-password" href="/ucenter/#/reset-password"
>{{ $t('login.forget') }}</el-link> >{{ $t("login.forget") }}</el-link
>
</div> </div>
<div style="width: 100%;text-align: center;margin-top: 50px;"> <div style="width: 100%; text-align: center; margin-top: 50px">
<el-button <el-button
:loading="loading" :loading="loading"
type="primary" type="primary"
round round
style="width:70%;" style="width: 70%"
@click.native.prevent="handleLogin" @click.native.prevent="handleLogin"
>{{ $t('login.logIn') }}</el-button> >{{ $t("login.logIn") }}</el-button
>
</div> </div>
</el-form> </el-form>
</div> </div>
</template> </template>
<script> <script>
import { validUsername } from '@/utils/validate' import { validUsername } from "@/utils/validate";
import { getInfo } from "@/api/user";
export default { export default {
name: 'UserLogin', name: "UserLogin",
components: {}, components: {},
data() { data() {
const validateUsername = (rule, value, callback) => { const validateUsername = (rule, value, callback) => {
if (!validUsername(value)) { if (!validUsername(value)) {
callback(new Error('Please enter the correct user name')) callback(new Error("Please enter the correct user name"));
} else { } else {
callback() callback();
}
} }
};
const validatePassword = (rule, value, callback) => { const validatePassword = (rule, value, callback) => {
if (value.length < 6) { 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 { } else {
callback() callback();
}
} }
};
return { return {
loginForm: { loginForm: {
username: '', username: "",
password: '' password: "",
}, },
loginRules: { loginRules: {
username: [ username: [
{ required: true, message: this.$t('login.nameRules'), trigger: 'blur' } {
required: true,
message: this.$t("login.nameRules"),
trigger: "blur",
},
], ],
password: [ 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, capsTooltip: false,
loading: false, loading: false,
redirect: undefined, redirect: undefined,
otherQuery: {} otherQuery: {},
} };
}, },
watch: { watch: {
$route: { $route: {
handler: function(route) { handler: function (route) {
const query = route.query const query = route.query;
if (query) { if (query) {
this.redirect = query.redirect this.redirect = query.redirect;
this.otherQuery = this.getOtherQuery(query) this.otherQuery = this.getOtherQuery(query);
} }
}, },
immediate: true immediate: true,
} },
}, },
created() { created() {
// window.addEventListener('storage', this.afterQRScan) // window.addEventListener('storage', this.afterQRScan)
}, },
mounted() { mounted() {
if (this.loginForm.username === '') { if (this.loginForm.username === "") {
this.$refs.username.focus() this.$refs.username.focus();
} else if (this.loginForm.password === '') { } else if (this.loginForm.password === "") {
this.$refs.password.focus() this.$refs.password.focus();
} }
}, },
destroyed() { destroyed() {
...@@ -124,52 +134,66 @@ export default { ...@@ -124,52 +134,66 @@ export default {
}, },
methods: { methods: {
checkCapslock(e) { checkCapslock(e) {
const { key } = e const { key } = e;
this.capsTooltip = key && key.length === 1 && key >= 'A' && key <= 'Z' this.capsTooltip = key && key.length === 1 && key >= "A" && key <= "Z";
}, },
showPwd() { showPwd() {
if (this.passwordType === 'password') { if (this.passwordType === "password") {
this.passwordType = '' this.passwordType = "";
} else { } else {
this.passwordType = 'password' this.passwordType = "password";
} }
this.$nextTick(() => { 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() { handleLogin() {
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate(async (valid) => {
if (valid) { if (valid) {
this.loading = true this.loading = true;
this.$store await this.$store.dispatch("user/login", this.loginForm);
.dispatch('user/login', this.loginForm) await this.getInfos();
.then(() => { // .then(() => {
this.$router.push({ // console.log("9999997--ee--");
path: this.redirect || '/jiedao/jd-profile', // return this.getInfos();
query: this.otherQuery // console.log("9999997----");
}) // this.loading = false;
this.loading = false // })
}) // .catch(() => {
.catch(() => { // this.loading = false;
this.loading = false // });
})
} else { } else {
console.log('error submit!!') console.log("error submit!!");
return false return false;
} }
}) });
}, },
getOtherQuery(query) { getOtherQuery(query) {
return Object.keys(query).reduce((acc, cur) => { return Object.keys(query).reduce((acc, cur) => {
if (cur !== 'redirect') { if (cur !== "redirect") {
acc[cur] = query[cur] acc[cur] = query[cur];
}
return acc
}, {})
}
} }
} return acc;
}, {});
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped></style>
</style>
<template> <template>
<div style="width: 100%;height: 100%;position: relative;"> <div style="width: 100%; height: 100%; position: relative">
<div style="height: 100%;width: 55%;position: relative;"> <div style="height: 100%; width: 55%; position: relative">
<img src="@/assets/login/login.png" style="width:100%;height:100%"> <img src="@/assets/login/login.png" style="width: 100%; height: 100%" />
<div style="position: absolute;left: 56px;top: 56px;display: flex;"> <div style="position: absolute; left: 56px; top: 56px; display: flex">
<img src="@/assets/login/logo.png" style="width:84px;height:84px;"> <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> <span
style="
font-size: 48px;
font-weight: bold;
color: #fefefe;
line-height: 84px;
margin-left: 20px;
"
>{{ $t("login.bgTitle1") }}{{ env }}</span
>
</div> </div>
<div style="position: absolute;left: 160px;top: 170px;display: flex;"> <div style="position: absolute; left: 160px; top: 170px; display: flex">
<img src="@/assets/login/1.png" style="width:36px;height:36px;"> <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> <span
style="
font-size: 32px;
font-weight: bold;
color: #fefefe;
line-height: 36px;
margin-left: 8px;
"
>{{ $t("login.bgTitle2") }}</span
>
</div> </div>
<div style="position: absolute;left: 130px;top: 250px;display: flex;"> <div style="position: absolute; left: 130px; top: 250px; display: flex">
<img src="@/assets/login/8.png" style="width:320px;height:322px;"> <img src="@/assets/login/8.png" style="width: 320px; height: 322px" />
<div style="position: absolute;top: 20px;left: 30px;width:500px;"> <div style="position: absolute; top: 20px; left: 30px; width: 500px">
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/2.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle3") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/3.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle4") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/4.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle5") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/5.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle6") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/6.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle7") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/7.png" style="width:24px;height:24px;"> <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> <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> </div>
</div> </div>
<div style="position: absolute;left: 60%;top: 105px;"> <div style="position: absolute; left: 60%; top: 105px">
<div style="display: flex;justify-content: space-between;"> <div style="display: flex; justify-content: space-between">
<div style="display: flex;"> <div style="display: flex">
<img src="@/assets/setting/user.png" style="width:30px;height:30px;"> <img
<span style="font-size: 24px;font-weight: bold;color: #000;line-height: 34px;margin-left: 10px;">{{ $t('login.title') }}</span> 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>
<div> <div>
<el-select v-model="language" size="mini" placeholder="" class="lang" @change="handleSetLanguage"> <el-select
<div slot="prefix" style="padding: 4px;"> v-model="language"
<img src="@/assets/lang.png" style="width:20px;height:20px;"> size="mini"
placeholder=""
class="lang"
@change="handleSetLanguage"
>
<div slot="prefix" style="padding: 4px">
<img src="@/assets/lang.png" style="width: 20px; height: 20px" />
</div> </div>
<el-option <el-option
v-for="item in locale" v-for="item in locale"
...@@ -61,26 +151,38 @@ ...@@ -61,26 +151,38 @@
</div> </div>
</div> </div>
<div style="width: 500px"> <div style="width: 500px">
<div style="margin-top: 70px;"> <div style="margin-top: 70px">
<span style="font-size: 14px;color: #000;">{{ $t('login.type') }}</span> <span style="font-size: 14px; color: #000">{{
<el-radio v-model="loginType" label="1" style="margin-left:25px">{{ $t('login.userLogin') }}</el-radio> $t("login.type")
<el-radio v-model="loginType" label="2">{{ $t('login.mobileLogin') }}</el-radio> }}</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>
<div style="margin-top: 60px;"> <div style="margin-top: 60px">
<user-login v-if="loginType==1" /> <user-login v-if="loginType == 1" />
<mobile-login v-if="loginType==2" /> <mobile-login v-if="loginType == 2" />
</div> </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 <el-button
:loading="loading" :loading="loading"
type="primary" type="primary"
round round
style="width:70%;" style="width: 70%"
@click="toHome" @click="toHome"
>{{ $t('common.returnIndex') }}</el-button> >{{ $t("common.returnIndex") }}</el-button
>
</div> </div>
<div style="width: 100%;text-align: center;margin-top: 20px;"> <div style="width: 100%; text-align: center; margin-top: 20px">
<el-link href="/ucenter/#/registered" style="color: #5BA8DC;">{{ $t('login.registered') }}</el-link> <el-link href="/ucenter/#/registered" style="color: #5ba8dc">{{
$t("login.registered")
}}</el-link>
</div> </div>
</div> </div>
</div> </div>
...@@ -88,70 +190,70 @@ ...@@ -88,70 +190,70 @@
</template> </template>
<script> <script>
import UserLogin from './components/userLogin' import UserLogin from "./components/userLogin";
import MobileLogin from './components/mobileLogin' import MobileLogin from "./components/mobileLogin";
import { locale } from '@/api/country' import { locale } from "@/api/country";
export default { export default {
name: 'Login', name: "Login",
components: { UserLogin, MobileLogin }, components: { UserLogin, MobileLogin },
data() { data() {
return { return {
showDialog: false, showDialog: false,
loginType: '1', loading: false,
loginType: "1",
locale: [], locale: [],
env: '' env: "",
} };
}, },
computed: { computed: {
homeUrl() { homeUrl() {
return process.env.VUE_APP_HOME_API return process.env.VUE_APP_HOME_API;
}, },
language: { language: {
get() { get() {
return this.$store.getters.language return this.$store.getters.language;
}, },
set(val) { set(val) {
this.handleSetLanguage(val) this.handleSetLanguage(val);
} },
} },
}, },
watch: { watch: {
loginType: { loginType: {
handler: function() {}, handler: function () {},
deep: true deep: true,
} },
}, },
created() { created() {
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === "development") {
this.env = '-测试版' this.env = "-测试版";
} }
// window.addEventListener('storage', this.afterQRScan) // window.addEventListener('storage', this.afterQRScan)
locale().then(r => { locale().then((r) => {
this.locale = r.data this.locale = r.data;
}) });
},
mounted() {
}, },
mounted() {},
destroyed() { destroyed() {
// window.removeEventListener('storage', this.afterQRScan) // window.removeEventListener('storage', this.afterQRScan)
}, },
methods: { methods: {
handleSetLanguage(lang) { handleSetLanguage(lang) {
this.$i18n.locale = lang this.$i18n.locale = lang;
this.$store.dispatch('app/setLanguage', lang) this.$store.dispatch("app/setLanguage", lang);
}, },
toHome() { toHome() {
window.location.href = this.homeUrl window.location.href = this.homeUrl;
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.lang{ .lang {
width: 150px; width: 150px;
::v-deep .el-input__inner{ ::v-deep .el-input__inner {
border-radius: 34px; 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> <template>
<div style="width: 100%;height: 100%;position: relative;"> <div style="width: 100%; height: 100%; position: relative">
<div class="registered-container"> <div class="registered-container">
<img src="@/assets/login/login.png" style="width:100%;height:100%"> <img src="@/assets/login/login.png" style="width: 100%; height: 100%" />
<div style="position: absolute;left: 56px;top: 56px;display: flex;"> <div style="position: absolute; left: 56px; top: 56px; display: flex">
<img src="@/assets/login/logo.png" style="width:84px;height:84px;"> <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> <span
style="
font-size: 48px;
font-weight: bold;
color: #fefefe;
line-height: 84px;
margin-left: 20px;
"
>{{ $t("login.bgTitle1") }}</span
>
</div> </div>
<div style="position: absolute;left: 160px;top: 170px;display: flex;"> <div style="position: absolute; left: 160px; top: 170px; display: flex">
<img src="@/assets/login/1.png" style="width:36px;height:36px;"> <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> <span
style="
font-size: 32px;
font-weight: bold;
color: #fefefe;
line-height: 36px;
margin-left: 8px;
"
>{{ $t("login.bgTitle2") }}</span
>
</div> </div>
<div style="position: absolute;left: 130px;top: 250px;display: flex;"> <div style="position: absolute; left: 130px; top: 250px; display: flex">
<img src="@/assets/login/8.png" style="width:320px;height:322px;"> <img src="@/assets/login/8.png" style="width: 320px; height: 322px" />
<div style="position: absolute;top: 20px;left: 30px;width:500px;"> <div style="position: absolute; top: 20px; left: 30px; width: 500px">
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/2.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle3") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/3.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle4") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/4.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle5") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/5.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle6") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/6.png" style="width:24px;height:24px;"> <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> <span
style="
font-size: 14px;
font-weight: 400;
color: #000;
line-height: 24px;
margin-left: 5px;
"
>{{ $t("login.bgTitle7") }}</span
>
</div> </div>
<div style="display: flex;margin-top: 20px;"> <div style="display: flex; margin-top: 20px">
<img src="@/assets/login/7.png" style="width:24px;height:24px;"> <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> <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> </div>
</div> </div>
<div style="position: absolute;left: 60%;top: 85px;"> <div style="position: absolute; left: 60%; top: 85px">
<div style="display: flex;justify-content: space-between;"> <div style="display: flex; justify-content: space-between">
<div style="display: flex;"> <div style="display: flex">
<img src="@/assets/login/register.png" style="width:30px;height:30px;"> <img
<span style="font-size: 24px;font-weight: bold;color: #000;line-height: 34px;margin-left: 10px;">{{ $t('registered.title') }}</span> 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>
<div> <div>
<el-select v-model="language" size="mini" placeholder="" class="lang" @change="handleSetLanguage"> <el-select
<div slot="prefix" style="padding: 4px;"> v-model="language"
<img src="@/assets/lang.png" style="width:20px;height:20px;"> size="mini"
placeholder=""
class="lang"
@change="handleSetLanguage"
>
<div slot="prefix" style="padding: 4px">
<img src="@/assets/lang.png" style="width: 20px; height: 20px" />
</div> </div>
<el-option <el-option
v-for="item in locale" v-for="item in locale"
...@@ -62,14 +152,13 @@ ...@@ -62,14 +152,13 @@
</div> </div>
<el-form <el-form
ref="registeredForm" ref="registeredForm"
style="margin-top: 80px;" style="margin-top: 80px"
:model="registeredForm" :model="registeredForm"
:rules="registeredRules" :rules="registeredRules"
autocomplete="on" autocomplete="on"
label-position="left" label-position="left"
label-width="80px" label-width="80px"
> >
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="16"> <el-col :span="16">
<el-form-item prop="mobile" :label="$t('registered.mobile')"> <el-form-item prop="mobile" :label="$t('registered.mobile')">
...@@ -90,7 +179,7 @@ ...@@ -90,7 +179,7 @@
<el-option <el-option
v-for="item in countryList" v-for="item in countryList"
:key="item.id" :key="item.id"
:label="'+'+item.tel+' '+item[apiLang]" :label="'+' + item.tel + ' ' + item[apiLang]"
:value="item.tel" :value="item.tel"
/> />
</el-select> </el-select>
...@@ -125,10 +214,11 @@ ...@@ -125,10 +214,11 @@
<el-button <el-button
:loading="loading" :loading="loading"
type="primary" type="primary"
style="width:100%;margin-bottom:30px;" style="width: 100%; margin-bottom: 30px"
:disabled="disabled" :disabled="disabled"
@click.native.prevent="getValidaCode" @click.native.prevent="getValidaCode"
>{{ getCode }}</el-button> >{{ getCode }}</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item prop="password" :label="$t('registered.password')"> <el-form-item prop="password" :label="$t('registered.password')">
...@@ -141,24 +231,24 @@ ...@@ -141,24 +231,24 @@
@input="pwdChange" @input="pwdChange"
/> />
</el-form-item> </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"> <el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==1}"> <div class="bg-level" :class="{ leveldisplay: level == 1 }">
<p>{{ $t('registered.weak') }}</p> <p>{{ $t("registered.weak") }}</p>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==2}"> <div class="bg-level" :class="{ leveldisplay: level == 2 }">
<p>{{ $t('registered.medium') }}</p> <p>{{ $t("registered.medium") }}</p>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="bg-level" :class="{leveldisplay:level==3}"> <div class="bg-level" :class="{ leveldisplay: level == 3 }">
<p>{{ $t('registered.strong') }}</p> <p>{{ $t("registered.strong") }}</p>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<br> <br />
<el-form-item prop="confirmPwd" :label="$t('registered.confirmPwd')"> <el-form-item prop="confirmPwd" :label="$t('registered.confirmPwd')">
<el-input <el-input
ref="confirmPwd" ref="confirmPwd"
...@@ -168,17 +258,33 @@ ...@@ -168,17 +258,33 @@
type="password" type="password"
/> />
</el-form-item> </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 <el-button
:loading="loading" :loading="loading"
type="primary" type="primary"
style="width:70%;" style="width: 70%"
round round
@click.native.prevent="handleregistered" @click.native.prevent="handleregistered"
>{{ $t('registered.registered') }}</el-button> >{{ $t("registered.registered") }}</el-button
>
</div> </div>
<div style="width: 100%;text-align: center;"> <div style="width: 100%; text-align: center">
<el-link href="/ucenter/#/login" style="color: #27417C;margin-top: 20px;">{{ $t('registered.login') }}</el-link> <el-link
href="/ucenter/#/login"
style="color: #27417c; margin-top: 20px"
>{{ $t("registered.login") }}</el-link
>
</div> </div>
</el-form> </el-form>
</div> </div>
...@@ -186,147 +292,183 @@ ...@@ -186,147 +292,183 @@
</template> </template>
<script> <script>
import { getCode, reg, getCountryList } from '@/api/user' import { getCode, reg, getCountryList } from "@/api/user";
import { locale } from '@/api/country' import { locale } from "@/api/country";
import { langData } from '@/data/lang' import { langData } from "@/data/lang";
export default { export default {
name: 'Registered', name: "Registered",
components: {}, components: {},
data() { data() {
return { return {
countryList: [], countryList: [],
registeredForm: { registeredForm: {
areaCode: '86' areaCode: "86",
}, },
registeredRules: { registeredRules: {
mobile: [{ required: true, message: this.$t('login.mobileRules'), trigger: 'blur' }, { max: 11, message: '电话长度在11个数字以内', trigger: 'blur' }], mobile: [
englishName: [{ required: true, message: this.$t('login.nameEnRules'), trigger: 'blur' }], {
code: [{ required: true, message: this.$t('login.codeRules'), trigger: 'blur' }], required: true,
password: [{ required: true, message: this.$t('login.passwordRules'), trigger: 'blur' }], message: this.$t("login.mobileRules"),
confirmPwd: [{ required: true, message: this.$t('login.confirmPwdRules'), trigger: 'blur' }] 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, loading: false,
disabled: false, disabled: false,
count: 60, count: 60,
getCode: '', getCode: "",
level: 0, level: 0,
locale: [], locale: [],
apiLang: '', apiLang: "",
langData: langData langData: langData,
} };
}, },
computed: { computed: {
language: { language: {
get() { get() {
return this.$store.getters.language return this.$store.getters.language;
}, },
set(val) { set(val) {
this.handleSetLanguage(val) this.handleSetLanguage(val);
} },
} },
}, },
watch: { watch: {
language() { language() {
this.getCode = this.$t('login.getCode') this.getCode = this.$t("login.getCode");
this.apiLang = this.langData[this.language] this.apiLang = this.langData[this.language];
} },
}, },
created() { created() {
this.apiLang = this.langData[this.language] this.apiLang = this.langData[this.language];
this.getCode = this.$t('registered.getCode') this.getCode = this.$t("registered.getCode");
getCountryList().then(r => { getCountryList().then((r) => {
this.countryList = r.data this.countryList = r.data;
}) });
locale().then(r => { locale().then((r) => {
this.locale = r.data this.locale = r.data;
}) });
}, },
methods: { methods: {
handleSetLanguage(lang) { handleSetLanguage(lang) {
this.$i18n.locale = lang this.$i18n.locale = lang;
this.$store.dispatch('app/setLanguage', lang) this.$store.dispatch("app/setLanguage", lang);
}, },
getValidaCode() { 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(() => { getCode(data).then(() => {
var countDown = window.setInterval(() => { var countDown = window.setInterval(() => {
if (this.count < 1) { if (this.count < 1) {
this.disabled = false this.disabled = false;
this.count = 60 this.count = 60;
this.getCode = this.$t('registered.getCode') this.getCode = this.$t("registered.getCode");
window.clearInterval(countDown) window.clearInterval(countDown);
} else { } else {
this.count-- this.count--;
this.disabled = true this.disabled = true;
this.getCode = this.count + 's' this.getCode = this.count + "s";
} }
}, 1000) }, 1000);
}) });
}, },
pwdChange(val) { pwdChange(val) {
// 弱密码:全是数字或全是字母,6-16个字符 // 弱密码:全是数字或全是字母,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个字符 // 中密码:数字和26个英文字母,6-16个字符
const mediumReg = /^[A-Za-z0-9]{6,16}$/ const mediumReg = /^[A-Za-z0-9]{6,16}$/;
// 强密码:由数字、26个英文字母或者下划线组成的字符串,6-16个字符 // 强密码:由数字、26个英文字母或者下划线组成的字符串,6-16个字符
const strongReg = /^\w{6,16}$/ const strongReg = /^\w{6,16}$/;
var password = this.registeredForm.password var password = this.registeredForm.password;
if (password !== null) { if (password !== null) {
if (password.length >= 6 && password.length <= 16) { if (password.length >= 6 && password.length <= 16) {
if (password.match(weakReg)) { if (password.match(weakReg)) {
this.level = 1 this.level = 1;
} else if (password.match(mediumReg)) { } else if (password.match(mediumReg)) {
this.level = 2 this.level = 2;
} else if (password.match(strongReg)) { } else if (password.match(strongReg)) {
this.level = 3 this.level = 3;
} }
} }
if (password.length > 16) { if (password.length > 16) {
this.level = 3 this.level = 3;
} }
} }
}, },
handleregistered() { handleregistered() {
this.$refs.registeredForm.validate(valid => { this.$refs.registeredForm.validate((valid) => {
if (valid) { if (valid) {
if (this.registeredForm.password !== this.registeredForm.confirmPwd) { if (this.registeredForm.password !== this.registeredForm.confirmPwd) {
this.$message.error('两次密码输入不一致') this.$message.error("两次密码输入不一致");
return return;
} }
this.loading = true this.loading = true;
reg(this.registeredForm) reg(this.registeredForm)
.then(() => { .then(() => {
this.$message({ this.$message({
message: this.$t('registered.title') + this.$t('common.success'), message:
type: 'success' this.$t("registered.title") + this.$t("common.success"),
}) type: "success",
});
this.$router.push({ this.$router.push({
path: '/login' path: "/login",
}) });
this.loading = false this.loading = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
} else { } else {
console.log('error submit!!') console.log("error submit!!");
return false return false;
}
})
}
} }
} });
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.lang{ .lang {
width: 150px; width: 150px;
::v-deep .el-input__inner{ ::v-deep .el-input__inner {
border-radius: 34px; border-radius: 34px;
} }
} }
.registered-container{ .registered-container {
height: 100%; height: 100%;
width: 55%; width: 55%;
position: relative; 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