Prechádzať zdrojové kódy

Merge branch 'dev_v2' of http://106.15.120.127:3000/GoldenTech/koyo_crm into dev_v2

钱惠东 2 mesiacov pred
rodič
commit
84e3c091d0

+ 39 - 98
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/domain/TpElevatorModel.java

@@ -1,130 +1,71 @@
 package com.ruoyi.project.business.domain;
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
 
 /**
  * 【请填写功能名称】对象 tp_elevator_model
- * 
+ *
  * @author ruoyi
  * @date 2024-04-25
  */
-public class TpElevatorModel extends BaseEntity
-{
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("tp_elevator_model")
+public class TpElevatorModel extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** ID */
+    /**
+     * ID
+     */
+    @TableId(type = IdType.AUTO)
     private Long id;
 
-    /** 区域 */
+    /**
+     * 区域
+     */
     @Excel(name = "区域")
     private Long areaId;
 
-    /** 电梯类型(00:乘客电梯 01:家用电梯) */
+    /**
+     * 电梯类型(00:乘客电梯 01:家用电梯)
+     */
     @Excel(name = "电梯类型", readConverterExp = "0=0:乘客电梯,0=1:家用电梯")
     private String elevatorType;
 
-    /** 电梯型号 */
+    /**
+     * 电梯型号
+     */
     @Excel(name = "电梯型号")
     private String elevatorModel;
+    
+    @TableField(exist = false)
     private String elevatorModelSame;
 
-    /** 状态(0:启用  1:停用) */
+    /**
+     * 状态(0:启用  1:停用)
+     */
     @Excel(name = "状态", readConverterExp = "0=:启用,1=:停用")
     private String status;
 
-    /** 删除标记(0:未删除  1:已删除) */
+    /**
+     * 删除标记(0:未删除  1:已删除)
+     */
+    @TableLogic
     private String delFlag;
 
+    @TableField(exist = false)
     private String areaName;
 
-    public String getAreaName() {
-        return areaName;
-    }
-
-    public void setAreaName(String areaName) {
-        this.areaName = areaName;
-    }
-
-    public void setId(Long id)
-    {
-        this.id = id;
-    }
-
-    public Long getId() 
-    {
-        return id;
-    }
-    public void setAreaId(Long areaId) 
-    {
-        this.areaId = areaId;
-    }
-
-    public Long getAreaId() 
-    {
-        return areaId;
-    }
-    public void setElevatorType(String elevatorType) 
-    {
-        this.elevatorType = elevatorType;
-    }
-
-    public String getElevatorType() 
-    {
-        return elevatorType;
-    }
-    public void setElevatorModel(String elevatorModel) 
-    {
-        this.elevatorModel = elevatorModel;
-    }
-
-    public String getElevatorModel() 
-    {
-        return elevatorModel;
-    }
-    public void setStatus(String status) 
-    {
-        this.status = status;
-    }
-
-    public String getStatus() 
-    {
-        return status;
-    }
-    public void setDelFlag(String delFlag) 
-    {
-        this.delFlag = delFlag;
-    }
-
-    public String getDelFlag() 
-    {
-        return delFlag;
-    }
-
-    public String getElevatorModelSame() {
-        return elevatorModelSame;
-    }
-
-    public void setElevatorModelSame(String elevatorModelSame) {
-        this.elevatorModelSame = elevatorModelSame;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("areaId", getAreaId())
-            .append("elevatorType", getElevatorType())
-            .append("elevatorModel", getElevatorModel())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("createTime", getCreateTime())
-            .append("createBy", getCreateBy())
-            .append("updateTime", getUpdateTime())
-            .append("updateBy", getUpdateBy())
-            .append("remark", getRemark())
-            .toString();
-    }
 }

+ 7 - 0
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/domain/TqQuotation.java

@@ -1,5 +1,9 @@
 package com.ruoyi.project.business.domain;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
@@ -16,11 +20,13 @@ import lombok.EqualsAndHashCode;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
+@TableName("tq_quotation")
 public class TqQuotation extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** ID */
+    @TableId(type = IdType.AUTO)
     private Long id;
 
     /** 报价编号 */
@@ -122,6 +128,7 @@ public class TqQuotation extends BaseEntity
     private String permissionChar;
 
     /** 删除标记(0:未删除  1:已删除) */
+    @TableLogic
     private String delFlag;
 
 }

+ 2 - 1
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/mapper/TpElevatorModelMapper.java

@@ -1,5 +1,6 @@
 package com.ruoyi.project.business.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.project.business.domain.TpElevatorModel;
 import com.ruoyi.project.business.domain.vo.paramSelectItem.AreaElevatorModelParaVO;
 import com.ruoyi.project.business.domain.vo.paramSelectItem.ElevatorModeParamlVo;
@@ -15,7 +16,7 @@ import org.apache.ibatis.annotations.Param;
  * @author ruoyi
  * @date 2024-04-25
  */
-public interface TpElevatorModelMapper {
+public interface TpElevatorModelMapper extends BaseMapper<TpElevatorModel> {
 
     /**
      * 查询【请填写功能名称】

+ 12 - 0
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/service/impl/TbAreaServiceImpl.java

@@ -1,10 +1,12 @@
 package com.ruoyi.project.business.service.impl;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.TreeUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.enums.DelFlag;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
@@ -12,11 +14,13 @@ import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.business.domain.TbArea;
+import com.ruoyi.project.business.domain.TpElevatorModel;
 import com.ruoyi.project.business.domain.vo.country.AreaWithCountriesVo;
 import com.ruoyi.project.business.domain.vo.selectParam.AreaParam;
 import com.ruoyi.project.business.mapper.TbAgentMapper;
 import com.ruoyi.project.business.mapper.TbCountryAreaMapper;
 import com.ruoyi.project.business.mapper.TcAccountMapper;
+import com.ruoyi.project.business.mapper.TpElevatorModelMapper;
 import com.ruoyi.project.common.service.ICommonService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -58,6 +62,9 @@ public class TbAreaServiceImpl implements ITbAreaService
 
     @Resource
     private TbAgentMapper tbAgentMapper;
+    
+    @Resource
+    private TpElevatorModelMapper tpElevatorModelMapper;
 
     /**
      * 查询区域
@@ -235,6 +242,11 @@ public class TbAreaServiceImpl implements ITbAreaService
         if (agentCount > 0) {
             throw new ServiceException(MessageUtils.message("agent.cannot.delete"));
         }
+        // 校验是否有区域电梯配置使用
+        boolean existsed = tpElevatorModelMapper.exists(Wrappers.lambdaQuery(TpElevatorModel.class).in(TpElevatorModel::getAreaId, Arrays.asList(areaIds)));
+        if (existsed) {
+            throw new ServiceException(MessageUtils.message("area.existElevatorModel.cannot.delete"));
+        }
         // 同时批量删除国家区域关系表信息
         tbCountryAreaMapper.deleteTbCountryAreaByAreaIds(areaIds);
         return tbAreaMapper.deleteTbAreaByAreaIds(areaIds);

+ 2 - 0
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/service/impl/TbCurrencyServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.MessageUtils;
+import com.ruoyi.common.utils.SpecialCharacterEscaper;
 import com.ruoyi.project.business.domain.TbCurrency;
 import com.ruoyi.project.business.domain.TqQuotation;
 import com.ruoyi.project.business.domain.vo.currency.CurrencyReq;
@@ -57,6 +58,7 @@ public class TbCurrencyServiceImpl extends ServiceImpl<TbCurrencyMapper, TbCurre
         //                .like(StringUtils.isNotBlank(currencyReq.getCreateUserNick()), SysUser::getNickName, currencyReq.getCreateUserNick()));
         //
         //return baseMapper.selectTbCurrencyList2(wrapper);
+        SpecialCharacterEscaper.escapeSpecialCharacters(currencyReq, CurrencyReq::getCurrencyName, CurrencyReq::getCreateUserNick);
         return baseMapper.selectTbCurrencyList(currencyReq);
 
     }

+ 12 - 0
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/service/impl/TcProjectServiceImpl.java

@@ -4,6 +4,7 @@ import static com.ruoyi.project.business.enums.account.AccountStatusEnum.CONVERT
 
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.enums.DelFlag;
 import com.ruoyi.common.enums.ProjectStatus;
@@ -23,6 +24,7 @@ import com.ruoyi.project.business.domain.TbAgent;
 import com.ruoyi.project.business.domain.TcAccount;
 import com.ruoyi.project.business.domain.TcProject;
 import com.ruoyi.project.business.domain.TcProjectForRelated;
+import com.ruoyi.project.business.domain.TqQuotation;
 import com.ruoyi.project.business.domain.vo.lead.LeadRes;
 import com.ruoyi.project.business.domain.vo.selectParam.ProjectParam;
 import com.ruoyi.project.business.enums.MessageTypeEnum;
@@ -33,6 +35,8 @@ import com.ruoyi.project.business.service.ITbAgentService;
 import com.ruoyi.project.business.service.ITcAccountService;
 import com.ruoyi.project.business.service.ITcLeadService;
 import com.ruoyi.project.business.service.ITcProjectService;
+import com.ruoyi.project.business.service.quotation.ITqQuotationService;
+import com.ruoyi.project.business.service.quotation.impl.TqQuotationServiceImpl;
 import com.ruoyi.project.common.domain.Message;
 import com.ruoyi.project.common.service.ISseEmitterService;
 import com.ruoyi.project.system.domain.SysUser;
@@ -41,6 +45,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
@@ -97,6 +102,8 @@ public class TcProjectServiceImpl extends ServiceImpl<TcProjectMapper, TcProject
 
     @Resource
     private ITbAgentService tbAgentService;
+    @Autowired
+    private ITqQuotationService tqQuotationService;
 
     /**
      * 查询项目管理
@@ -391,6 +398,11 @@ public class TcProjectServiceImpl extends ServiceImpl<TcProjectMapper, TcProject
      */
     @Override
     public int deleteTcProjectByProjectIds(Long[] projectIds) {
+        // List<TqQuotation> list = tqQuotationService.list(Wrappers.lambdaQuery(TqQuotation.class).select(TqQuotation::getProjectId)
+        //         .in(TqQuotation::getProjectId, Arrays.asList(projectIds)));
+        // if (CollectionUtils.isNotEmpty(list)) {
+        //     throw new ServiceException(MessageUtils.message("project.delete.quotation"));
+        // }
         return tcProjectMapper.deleteTcProjectByProjectIds(projectIds);
     }
 

+ 188 - 182
RuoYi-Vue-fast-master/src/main/resources/i18n/messages_en_US.properties

@@ -1,58 +1,58 @@
 length.not.valid=The length must be between {min} and {max} characters
-no.create.permission=No permission to create data, please contact the administrator to add permission [{0}]
-no.permission=No permission for data, please contact the administrator to add permission [{0}]
-no.update.permission=No permission to modify data, please contact the administrator to add permission [{0}]
-no.view.permission=No permission to view data, please contact the administrator to add permission [{0}]
+no.create.permission=You do not have permission to create data, please contact your administrator to add permission [{0}]
+no.permission=You don't have permissions for data, contact your administrator to add permissions [{0}]
+no.update.permission=You don't have permissions for data, contact your administrator to add permissions [{0}]
+no.view.permission=You do not have permission to view the data, please contact your administrator to add permission [{0}]
 not.null=*Required
 role.blocked=The role has been blocked, please contact the administrator
 system.business.error=Abnormal business
-upload.exceed.maxSize=The uploaded file exceeds the maximum size! <br/>Allowed maximum file size: {0}MB!
+upload.exceed.maxSize=The uploaded file exceed the maximum size! <br/>Allowed maximum file size: {0}MB!
 upload.filename.exceed.length=The maximum length of uploaded file name is {0} character(s)
 user.blocked=The user has been blocked, please contact the administrator
-user.email.not.valid=E-mail format is incorrect
-user.forcelogout=The administrator forces the logout, please login again
-user.jcaptcha.error=The verification code is incorrect
-user.jcaptcha.expire=The verification code has expired
+user.email.not.valid=E-mail format incorrect
+user.forcelogout=The administrator has forced you to log out. Please log in again.
+user.jcaptcha.error=Incorrect verification code
+user.jcaptcha.expire=Invalid verification code
 user.login.success=Successful login
 user.logout.success=Successful logout
-user.mobile.phone.number.not.valid=Mobile phone number format is incorrect
-user.not.exists=The user does not exist/The password is incorrect
+user.mobile.phone.number.not.valid=Mobile phone number format  incorrect
+user.not.exists=The user does not exist/The password incorrect
 user.notfound=Please login again
 user.password.delete=Sorry, your account has been deleted
-user.password.not.match=The user does not exist/The password is incorrect
+user.password.not.match=The user does not exist/The password incorrect
 user.password.not.valid=* 5-50 characters
-user.password.retry.limit.count=The password is incorrect for {0} time(s)
-user.password.retry.limit.exceed=The password is incorrect for {0} time(s), and the account has been locked for 10 minutes
+user.password.retry.limit.count=The password was entered incorrectly {0} times
+user.password.retry.limit.exceed=The password was entered incorrectly {0} times and the account was locked for 10 minutes
 user.unknown.error=Unknown error, please login again
-user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头_US
-follow.followType=Follow-up type
+user.username.not.valid=* 2 to 20 Chinese characters, letters, numbers or underscores, and must start with a non-number
+follow.followType=Follow-up category
 follow.followNo=Record No.
-follow.followRelated=Related lead/customer/project
+follow.followRelated=Linked lead/customer/project
 follow.followPerson=Follow-up object
 follow.followWay=Follow-up method
 follow.contactPerson=Contact person
-follow.contact=Contact method
+follow.contact=Contact information
 follow.followTime=Follow-up date
 follow.followDesc=Follow-up content and result
 country.id=Country ID
 country.name=Country name
 country.discount=Discount rate (%)
-area.name=Area name
-area.level=Area level
-area.parent=Parent area
-agent.agentNo=Agent No.
-agent.agentName=Agent name
-agent.areaId=Area
+area.name=Name of the region
+area.level=Regional Level
+area.parent=Superior area
+agent.agentNo=Distributor No.
+agent.agentName=Distributor name
+agent.areaId=Region
 agent.countryId=Country
-agent.agentType=Agent type
-agent.parentAgentId=Parent agent ID
-agent.parentAgent=Parent agent
-agent.parentSalerId=Parent saler ID
-agent.parentSaler=Parent saler
-agent.agentLevel=Agent level
+agent.agentType=Distributor type
+agent.parentAgentId=Superior distributor ID
+agent.parentAgent=Superior distributor
+agent.parentSalerId=Superior sales ID
+agent.parentSaler=Superior sales
+agent.agentLevel=Distributor level
 agent.discount=Discount rate
-agent.head=Name of head
-agent.phone=Contact method
+agent.head=Name of person in charge
+agent.phone=Contact information
 agent.email=E-mail
 agent.address=Address
 agent.status=Status
@@ -60,11 +60,11 @@ account.no=Customer No.
 account.name=Company/customer name
 account.country=Country
 account.area=Area
-account.origin=Origin
+account.origin=Source
 account.phone=Contact number
 account.email=E-mail
 account.address=Address
-account.sector=Sector
+account.sector=Industry
 account.registeredCapital=Registered capital
 account.level=Customer level
 account.startTime=Establishment date
@@ -72,7 +72,7 @@ account.owner=Customer owner
 account.status=Status
 account.type=Customer type
 account.accountDesc=Company introduction
-account.orderStatus=Succeeded order status
+account.orderStatus=Order status
 account.accountGroup=Group
 paraLibrary.paraCode=Parameter code
 paraLibrary.paraName=Parameter name
@@ -95,18 +95,18 @@ selectItem.addItem=Add option
 selectItem.editItem=Edit option
 selectItem.sortNumber=Option sort
 paraLibrary.usingMessage=The parameter is being used, please confirm it!
-area.areaNameUS=Area name (English)
-area.areaNameRU=Area name (Russian)
-area.areaNameES=Area name (Spanish)
+area.areaNameUS=Region Name
+area.areaNameRU=Region Name
+area.areaNameES=Region Name
 nation.countryNameUS=Country name (English)
 nation.countryNameRU=Country name (Russian)
 nation.countryNameES=Country name (Spanish)
-agent.agentNameUS=Agent name (English)
-agent.agentNameRU=Agent name (Russian)
-agent.agentNameES=Agent name (Spanish)
+agent.agentNameUS=Distributor name (English)
+agent.agentNameRU=Distributor name (Russian)
+agent.agentNameES=Distributor name (Spanish)
 project.no=Project No.
 project.name=Project name
-project.flag=Model project
+project.flag=Landmark project
 project.type=Project type
 project.market=Project segment market
 project.countryName=Country
@@ -115,202 +115,202 @@ project.developer=Developer
 project.startTime=Start time
 project.overTime=End time
 project.contactPerson=Contact person
-project.contact=Contact method
-project.status=Project status
-message.reminderNotFollowingProject=Not following {0} project(s) among those under your jurisdiction for over {1} day. \n {2}
-account.merged=Customer merger exists, please select again
+project.contact=Contact information
+project.status=Project stage
+message.reminderNotFollowingProject=Non- following {0} project(s) among those under your management for over {1} day. \n {2}
+account.merged=Already customers merged, please reselect
 account.noMain=Please select main customer
-account.name.repeat=Customer name is repeated
-country.name.repeat=Country name is repeated
-area.name.repeat=Area name is repeated
-area.has.child=The area has child, and thus cannot be deleted
+account.name.repeat=Customer name duplicate
+country.name.repeat=Country name duplicate
+area.name.repeat=Region name is duplicated
+area.has.child=There are sub-regions in the region and cannot be deleted
 common.remark=Remark
 lead.no=Lead No.
 lead.country=Country
 lead.area=Area
-lead.source=Origin
+lead.source=Source
 lead.linkman=Contact person
-lead.phone=Contact number
-lead.industry=Sector
+lead.phone=Contact information
+lead.industry=Industry
 lead.address=Address
 lead.company=Company name
 lead.priority=Priority
 lead.status=Status
 lead.time=Lead time
 lead.type=Customer type
-lead.covertCustomerNo=Converted customer No.
-lead.covertProjectNo=Converted project No.
-lead.invalidReason=Reason for invalidity
-lead.owner=Allocation owner
-lead.onwerAgent=Agent
+lead.covertCustomerNo=Convert customer No.
+lead.covertProjectNo=Convert  project No.
+lead.invalidReason=Invalid reason
+lead.owner=Allocation object
+lead.onwerAgent=Distributor
 lead.remark=Remark
-account.cannot.delete=It has been used by customer, and thus cannot be deleted
+account.cannot.delete=It has been used by customer,  cannot be deleted
 business.data.deleted=The data has been deleted
-business.save.failed=Save failed
-agent.cannot.delete=It has been used by agent, and thus cannot be deleted
-lead.message.recovered=您有一条线索被回收,请注意查看。线索编号:_US
-lead.error.notexistOrDel=线索不存在或已删除_US
+business.save.failed=Fail to save
+agent.cannot.delete=Already in use by a distributor, cannot be deleted
+lead.message.recovered=You have a lead that has been recalled, please check it out. Lead number:
+lead.error.notexistOrDel=The lead does not exist or has been deleted
 validation.noQuine=校验规则名称配置已存在,请重新输入!_US
 validation.pleaseSelectRelation=请选择关联梯型!_US
-common.dataDeleted=数据已被删除,请刷新后查看!_US
-common.dataUpdated=数据已被修改,请刷新后查看!_US
+common.dataDeleted=The data has been deleted, please refresh and view!
+common.dataUpdated=The data has been modified, please refresh and view!
 validation.relationDeleted=适用关联梯形数据已被删除,请刷新后查看!_US
-project.name.repeat=项目名称重复_US
-agent.name.repeat=代理商名称重复_US
-account.delete.project=客户已与项目关联,无法删除_US
-account.delete.follow=客户已与跟进记录关联,无法删除_US
-project.owner.message.old=你好,你负责的项目:【{0}】,已被转给他人。_US
-project.owner.message.new=你好,你已被指派为项目:【{0}】的负责人。_US
-account.owner.message.old=你好,你负责的客户:【{0}】,已被转给他人。_US
-account.owner.message.new=你好,你已被指派为客户:【{0}】的负责人。_US
-excel.message.XLSX=请上传XLSX文件!_US
-excel.message.getSheetFail=获取工作簿失败_US
-excel.message.readSheetFail=读取sheet内容失败_US
-excel.message.noTitle=未找到标题信息,请检查选择的文件是否正确_US
-excel.message.checkTitle=The table title does not match ({0}), please confirm if you have selected the correct template.
-excel.message.readFail=数据读取失败,请刷新后重试_US
-excel.message.rowNum=第{0}条:_US
-excel.message.notEmpty=不能为空;_US
-excel.message.notSame=不能重复_US
-excel.message.maxLength=长度不能大于_US
-excel.message.minLength=长度不能小于_US
+project.name.repeat=Duplicate project name
+agent.name.repeat=Distributor name duplicate
+account.delete.project=Customer linked with a project and cannot be deleted
+account.delete.follow=The customer has been linked with a follow-up record and cannot be deleted.
+project.owner.message.old=Your project, [{0}], has been transferred to someone else.
+project.owner.message.new=You have been assigned as the lead of the project
+account.owner.message.old=Your client, [{0}], has been transferred to someone else.
+account.owner.message.new=You have been assigned as the person in charge of customer: [{0}].
+excel.message.XLSX=Please upload the file as XLSX!
+excel.message.getSheetFail=Failed to get worksheet
+excel.message.readSheetFail=Failed to read sheet contents
+excel.message.noTitle=Title information not found, please check  the selected file is correct
+excel.message.checkTitle=The title of the form does not match ({0}), please make sure you have selected the correct version of the template
+excel.message.readFail=Failed to read the data, please refresh and try again
+excel.message.rowNum=Article {0}:
+excel.message.notEmpty=Can't be empty
+excel.message.notSame=Cannot be repeated
+excel.message.maxLength=The length of digits cannot  be more than
+excel.message.minLength=The length of digits cannot be less than
 excel.message.nolyNumber=只能输入1-8位数字_US
-excel.message.phone=手机号必须为11位数字_US
-excel.message.errorFormat=格式错误_US
-excel.message.errorMonth=无效的月份格式(2024-09或者2024/09)_US
-excel.message.errorDate=无效的日期格式(2024-09-11或者2024/09/11)_US
-excel.message.errorMonthText=无效月份_US
-excel.message.errorDateText=无效日期_US
-excel.message.errorTime=无效的时间格式(17:33)_US
-excel.message.undefine=不存在_US
-excel.message.illegalChar=非法字符_US
-excel.message.unknowType=未知类型_US
-excel.message.zero=不能小于0_US
-excel.message.int=整数位不能大于{0}位_US
-excel.message.double=小数位不能大于{0}位_US
-excel.message.filenotexist=下载失败,模板不存在_US
-excel.message.unsupport=不支持的导入类型_US
-excel.message.rightFile=未获取到导入信息,请使用正确的模板_US
-excel.message.rightMB=无法获取模板基本信息,请使用正确的模板_US
+excel.message.phone=The mobile number must be 11 digits
+excel.message.errorFormat=Format errors
+excel.message.errorMonth=Invalid month format (2024-09 or 2024/09)
+excel.message.errorDate=Invalid date format (2024-09-11 or 2024/09/11)
+excel.message.errorMonthText=Invalid month
+excel.message.errorDateText=Invalid date
+excel.message.errorTime=Invalid time format (17:33)
+excel.message.undefine=Does not exist
+excel.message.illegalChar=Invalid character
+excel.message.unknowType=Unknown type
+excel.message.zero=Cannot be less than zero.
+excel.message.int=The integer digits cannot be more than{0}
+excel.message.double=The number of decimal places cannot be more than {0}
+excel.message.filenotexist=Download failed, template not exist
+excel.message.unsupport=Unsupported import type
+excel.message.rightFile=Import information was not obtained, please use the correct template
+excel.message.rightMB=Unable to obtain basic template information, please use the correct template
 relatedCase.notUnique=该联动用例名称已存在!_US
 relatedCase.atLeastModel=请至少关联一个梯型_US
 relatedCase.atLeastCase=请至少填写一条联动用例_US
 relatedCase.atLeastResult=请至少填写一条联动结果_US
-country.name.invalid=查询不到国家数据_US
-area.name.invalid=查询不到区域数据_US
-owner.name.invalid=查询不到负责人数据_US
-agent.not.exist=查询不到代理商数据_US
-lead.message.allot=您有一条线索待处理,请注意查看。线索编号:_US
-agent.delFail.existSubAgent=存在下级代理商,无法删除_US
-agent.delFail.existUser=存在关联的用户,无法删除_US
-lead.cannot.delete=已有线索使用,无法删除_US
-agent.delFail.existCustomer=存在关联的客户,无法删除_US
-agent.delFail.existProject=存在关联的项目,无法删除_US
-agent.delFail.existLead=存在关联的线索,无法删除_US
+country.name.invalid=Country data not found
+area.name.invalid=Region data not found
+owner.name.invalid=No people of in charge found
+agent.not.exist=No distributor data found
+lead.message.allot=You have a pending lead, please check it out. Lead No.:
+agent.delFail.existSubAgent=Subordinate distributors exist and cannot be deleted
+agent.delFail.existUser=User has been linked and cannot be deleted
+lead.cannot.delete=the existing lead cannot be deleted
+agent.delFail.existCustomer=Customer has been linked and cannot be deleted
+agent.delFail.existProject=Projects has been linked and cannot be deleted
+agent.delFail.existLead=Leads has been linked and cannot be deleted
 currency.error.dateRangeOverlap=汇率有效时间范围不能重叠_US
 email.to.empty=邮件接收人不能为空_US
 email.subject.empty=邮件主体不能为空_US
 email.text.empty=邮件内容不能为空_US
 discount.saveFail.existRole=该角色已存在销售折扣率配置_US
-agent.targetYear=考核年度_US
-agent.targetElevatorCount=目标台数_US
-agent.actualElevatorCount=实际台数_US
-agent.targetMoney=目标金额_US
-agent.actualMoney=实际金额_US
-agent.targetProjectCount=标杆项目数_US
-agent.actualProjectCount=实际标杆项目数_US
-lead.convert.validLeadId=线索ID不能为空_US
-lead.convert.validProjectId=项目ID不能为空_US
-lead.convert.notExistLead=线索不存在或已删除_US
-lead.convert.mustBeConvertCust=只有转化客户才能转化项目_US
+agent.targetYear=Assessment year
+agent.targetElevatorCount=Target number of units
+agent.actualElevatorCount=Actual unit
+agent.targetMoney=Target amount
+agent.actualMoney=Actual amount
+agent.targetProjectCount=Landmark projects number
+agent.actualProjectCount=Actual number of landmark projects
+lead.convert.validLeadId=Lead ID cannot be empty
+lead.convert.validProjectId=Project ID cannot be empty
+lead.convert.notExistLead=The lead does not exist or has been deleted
+lead.convert.mustBeConvertCust=You can only convert a project if you convert a customer
 quotation.no=报价编号_US
 quotation.version=版本号_US
 quotation.currencyName=币种_US
 quotation.elevatorMode=梯形_US
 quotation.quoter=报价者_US
 quotation.finalPrice=最终价格_US
-quotation.additionalCost=附加费用_US
+quotation.additionalCost=Additional cost
 quotation.submitTime=提交时间_US
 quotation.quotationStatusName=报价状态_US
-quotation.quotation=报价_US
+quotation.quotation=Quotation
 lead.email=E-mail
 upload.suffix.incorrect=File [{0}] has incorrect suffix [{1}], please upload in {2} format.
-company.type=公司类型_US
-account.intentionalProduct=产品意向_US
-account.followDesc=最新跟进结果_US
-account.followTime=最新跟进时间_US
-account.followPerson=跟进人_US
-project.productSeries=产品系列_US
-project.completionYear=项目交期_US
-project.relatedCustomer=关联客户_US
-lead.customer=Name
+company.type=Company type
+account.intentionalProduct=Product Intention
+account.followDesc=Latest follow-up result
+account.followTime=Latest follow-up time
+account.followPerson=Follow-up person
+project.productSeries=Product series
+project.completionYear=Project delivery date
+project.relatedCustomer=Linked customers
+lead.customer=Customer's name
 lead.companyType=Company type
-lead.requirementType=Requirement type
-lead.lastFollowResult=Latest Follow-up
-lead.lastFollowTime=Follow-up Time
-lead.follower=Follow-up
-lead.productIntention=Intentional Product
+lead.requirementType=Demand type
+lead.lastFollowResult=Latest follow-up result
+lead.lastFollowTime=Latest follow-up time
+lead.follower=Follow-up person
+lead.productIntention=Product Intention
 lead.projectType=Project type
-lead.createBy=Creator
-lead.createTime=CreateTime
+lead.createBy=Created by
+lead.createTime=Creation date
 lead.exportSheetName=线索管理数据_US
-lead.group=Group
-lead.background=Background
+lead.group=Affiliated company
+lead.background=Company background
 lead.jobTitle=Position
 lead.requirement=Inquiry information
 paraLibrary.isQuotation=Whether to quote parameters
 paraLibrary.isCivil=Whether civil engineering parameters
 paraLibrary.isCalc=Whether to calculate parameters
 quotation.unknown.area=无法获取关联项目所属区域_US
-business.owner=负责人_US
-business.ownerAgent=所属代理商_US
-agent.headquarters=Headquarters
-project.planDealMonth=Plan Deal Month
+business.owner=Responsible Person
+business.ownerAgent=Distributor
+agent.headquarters=Headoffice
+project.planDealMonth=Planned sign date
 quotation.currency.unknown=无法获取币种汇率_US
-business.template.used=出图模板已使用,无法删除_US
-quotation.nonstandard.statistics=非标统计_US
+business.template.used=The drawing layout model has been used and cannot be deleted
+quotation.nonstandard.statistics=Non-standard statistics
 quotation.date=日期_US
 quotation.review.project=评审项目_US
 quotation.nonstandard.reason=非标理由_US
 quotation.related.param.info=关联参数信息_US
 quotation.solution=解决方案_US
 civil.template.repeat=出图模板重复_US
-lead.convertCustLeadIsEmpty=The conversion customer lead ID cannot be empty
-lead.convertCustAccountIsNull=The conversion customer ID cannot be empty
+lead.convertCustLeadIsEmpty=Converted customer lead ID cannot be empty
+lead.convertCustAccountIsNull=Converted customer ID cannot be empty
 quotation.quantity.formula.error=加价项目数量计算公式【{0}】异常,请检查_US
 quotation.price.formula.error=加价项目单价计算公式【{0}】异常,请检查_US
 elevator.basic.price.empty=电梯基础价格为空_US
-agent.export.sheetName=Agent Information
+agent.export.sheetName=Distributor information
 board.statistical.model.error=Statistical model error
-lead.export.origin.not.exist=The origin [{0}] does not exist
-lead.export.area.not.exist=The area [{0}] does not exist
-lead.export.priority.not.exist=The priority [{0}] does not exist
-lead.export.customer.type.not.exist=The customer type [{0}] does not exist
-lead.export.company.type.not.exist=The company type [{0}] does not exist
-lead.export.project.type.not.exist=The project type [{0}] does not exist
-lead.export.requirement.type.not.exist=The requirement type [{0}] does not exist
-lead.export.product.intent.not.exist=The intended product [{0}] does not exist
-lead.export.email.contact.required=Email and contact information must have at least one filled out
-lead.export.area.country.not.exist=The country [{1}] does not exist under the area [{0}]
+lead.export.origin.not.exist=Source [{0}] does not exist
+lead.export.area.not.exist=Region [{0}] does not exist
+lead.export.priority.not.exist=Priority [{0}] does not exist
+lead.export.customer.type.not.exist=Customer type [{0}] does not exist
+lead.export.company.type.not.exist=Company type  [{0}]  does not exist
+lead.export.project.type.not.exist=Project type [{0}] does not exist
+lead.export.requirement.type.not.exist=Requirement type [{0}] does not exist
+lead.export.product.intent.not.exist=Product intention  [{0}] does not exist
+lead.export.email.contact.required=Please fill in at least one of the email and contact information
+lead.export.area.country.not.exist=Country [{1}] does not exist under region [{0}]
 elevator.basic.price.fail=电梯 [ {0} ] [ {1} ]无法获取基础价格,请检查电梯规格或基础价格配置_US
 elevator.delete.hasValidation=该梯型存在规则校验数据,无法删除!_US
 elevator.delete.hasCase=该梯型存在参数联动数据,无法删除!_US
 elevator.delete.hasBJ=该梯型存在报价数据,无法删除!_US
-agent.hasContract=Signed
+agent.hasContract=Agreement signed or not
 elevator.add.exist=该梯型已存在!
 train.fileData.visibleRangeMsg=Каталоги и файлы должны быть выбраны хотя бы один
 elevator.optional.price.fail=电梯 [ {0} ] [ {1} ]加价项目计算失败,请检查电梯规格或选配项目配置_US
 currency.error.currencyUsed=以下币种[{0}]已被报价使用_US
-project.equipmentQuantity=Equipment Quantity
-project.equipmentType=Equipment type
+project.equipmentQuantity=Equipement quantity
+project.equipmentType=Equipement type
 project.amount=Amount
-lead.convert.mustBeConvertProject=[Convert Project] prerequisite status
+lead.convert.mustBeConvertProject=Leads need to be pre-positioned for [Conversion Item].
 relatedCase.validateDeleteError=该联动用例已被报价引用,无法删除!_US
 validation.validateDeleteError=该校验规则已被报价引用,无法删除!_US
-excel.message.templateNotEmpty=导入模板不能为空
+excel.message.templateNotEmpty=The import template cannot be empty
 message.alertAudit.quotation=您有一份非标报价单需要评审确认,报价单号为:{0}({1})
 message.alertAudit.bargain=您收到一份报价单议价请求,请审批,报价单号为:{0}({1})
-area.elevator.mismatch=[{0}] 非关联项目所在区域的电梯型号,请修改!
+area.elevator.mismatch=[{0}] The elevator model in the area where the unlinked project is located, pleas modify it!
 quotation.review=您有一份非标报价单需要评审确认,报价单号为:{0}_US
 quotation.review.pass=您的报价单:{0} 已出价_US
 quotation.approve=您收到一份报价单议价请求,请审批,报价单号为:{0}_US
@@ -318,25 +318,31 @@ quotation.approve.pass=您的报价单议价请求已通过,请查看结果,
 site.name=全球项目管理平台_US
 selectItem.paraCode=选项编码
 selectItem.paraPic=选项图片
-project.currency=币种us
+project.currency=Currency
 project.equipmentSpecifications=Equipment Specifications
 account.exportSheetName=Customer management data
 project.exportSheetName=Project management data
 project.message.awaitingReview=You have a project pending review, project number: {0}
-agent.firstCooperationYear=First year of cooperation
+agent.firstCooperationYear=Year of first cooperation
 project.deviceTotal=设备总数
-project.priceTotal=总价
-project.leads=关联线索
-project.address=项目地址
-project.keyContactPerson=关键决策人
-project.keyJobTitle=关键决策人职位
-project.keyContact=关键决策人电话
-project.keyEmail=关键决策人邮箱
-project.jobTitle=职位
-project.email=邮箱
-project.solution=解决方案
-project.specialRemark=特殊需求
+project.priceTotal=Total Amount
+project.leads=Linked lead
+project.address=Project address
+project.keyContactPerson=Key Decision maker
+project.keyJobTitle=Key Decision maker positioin
+project.keyContact=Key Decision maker contact NO
+project.keyEmail=Key Decision maker Email
+project.jobTitle=Position
+project.email=E-mail
+project.solution=Solution
+project.specialRemark=Special demand
 train.question.scoreError=分值必须为整数_US
 train.question.correctError=正确答案必须为选项中的答案,多选题正确答案,必须为";"分割的选项_US
 train.question.repeat=题目重复_US
-train.question.hasExist=题库中已存在本题_US
+train.question.hasExist=题库中已存在本题_US
+project.audit.status=Approval status
+project.stand=Specification
+project.unit.price=Unit Price
+target.completion.rate=Completion rate
+project.progress=Project status
+area.existElevatorModel.cannot.delete=已有电梯区域配置使用,无法删除(EN)

+ 120 - 114
RuoYi-Vue-fast-master/src/main/resources/i18n/messages_es_ES.properties

@@ -24,7 +24,7 @@ user.password.not.valid=* 5-50 caracteres
 user.password.retry.limit.count=Contraseña incorrecta introducida {0} veces
 user.password.retry.limit.exceed=Contraseña incorrecta introducida {0} veces, cuenta bloqueada por 10 minutos
 user.unknown.error=Error desconocido, por favor iniciar sesión de nuevo
-user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头_ES
+user.username.not.valid=* 2 to 20 Chinese characters, letters, numbers or underscores, and must start with a non-number
 follow.followType=Clase de seguimiento
 follow.followNo=Registro No.
 follow.followRelated=Indicio/cliente/proyecto relacionado
@@ -142,107 +142,107 @@ lead.covertCustomerNo=Cliente convertido No.
 lead.covertProjectNo=Proyecto convertido No.
 lead.invalidReason=Motivo de nulidad
 lead.owner=Objeto de asignación
-lead.onwerAgent=Agente
+lead.onwerAgent=Distributor
 lead.remark=Nota
 account.cannot.delete=Ya está en uso por un cliente y no se puede eliminar
 business.data.deleted=Estos datos han sido eliminados
 business.save.failed=No guardado
 agent.cannot.delete=Ya está en uso por un agente y no se puede eliminar
-lead.message.recovered=您有一条线索被回收,请注意查看。线索编号:_ES
-lead.error.notexistOrDel=线索不存在或已删除_ES
+lead.message.recovered=You have a lead that has been recalled, please check it out. Lead number:
+lead.error.notexistOrDel=The lead does not exist or has been deleted
 validation.noQuine=校验规则名称配置已存在,请重新输入!_ES
 validation.pleaseSelectRelation=请选择关联梯型!_ES
-common.dataDeleted=数据已被删除,请刷新后查看!_ES
-common.dataUpdated=数据已被修改,请刷新后查看!_ES
+common.dataDeleted=The data has been deleted, please refresh and view!
+common.dataUpdated=The data has been modified, please refresh and view!
 validation.relationDeleted=适用关联梯形数据已被删除,请刷新后查看!_ES
-project.name.repeat=项目名称重复_ES
-agent.name.repeat=代理商名称重复_ES
-account.delete.project=客户已与项目关联,无法删除_ES
-account.delete.follow=客户已与跟进记录关联,无法删除_ES
-project.owner.message.old=你好,你负责的项目:【{0}】,已被转给他人。_ES
-project.owner.message.new=你好,你已被指派为项目:【{0}】的负责人。_ES
-account.owner.message.old=你好,你负责的客户:【{0}】,已被转给他人。_ES
-account.owner.message.new=你好,你已被指派为客户:【{0}】的负责人。_ES
-excel.message.XLSX=请上传XLSX文件!_ES
-excel.message.getSheetFail=获取工作簿失败_ES
-excel.message.readSheetFail=读取sheet内容失败_ES
-excel.message.noTitle=未找到标题信息,请检查选择的文件是否正确_ES
+project.name.repeat=Duplicate project name
+agent.name.repeat=Distributor name duplicate
+account.delete.project=Customer linked with a project and cannot be deleted
+account.delete.follow=The customer has been linked with a follow-up record and cannot be deleted.
+project.owner.message.old=Your project, [{0}], has been transferred to someone else.
+project.owner.message.new=You have been assigned as the lead of the project
+account.owner.message.old=Your client, [{0}], has been transferred to someone else.
+account.owner.message.new=You have been assigned as the person in charge of customer: [{0}].
+excel.message.XLSX=Please upload the file as XLSX!
+excel.message.getSheetFail=Failed to get worksheet
+excel.message.readSheetFail=Failed to read sheet contents
+excel.message.noTitle=Title information not found, please check  the selected file is correct
 excel.message.checkTitle=El título de la tabla no coincide ({0}), por favor confirme si ha seleccionado la plantilla correcta.
-excel.message.readFail=数据读取失败,请刷新后重试_ES
-excel.message.rowNum=第{0}条:_ES
-excel.message.notEmpty=不能为空;_ES
-excel.message.notSame=不能重复_ES
-excel.message.maxLength=长度不能大于_ES
-excel.message.minLength=长度不能小于_ES
+excel.message.readFail=Failed to read the data, please refresh and try again
+excel.message.rowNum=Article {0}:
+excel.message.notEmpty=Can't be empty
+excel.message.notSame=Cannot be repeated
+excel.message.maxLength=The length of digits cannot  be more than
+excel.message.minLength=The length of digits cannot be less than
 excel.message.nolyNumber=只能输入1-8位数字_ES
-excel.message.phone=手机号必须为11位数字_ES
-excel.message.errorFormat=格式错误_ES
-excel.message.errorMonth=无效的月份格式(2024-09或者2024/09)_ES
-excel.message.errorDate=无效的日期格式(2024-09-11或者2024/09/11)_ES
-excel.message.errorMonthText=无效月份_ES
-excel.message.errorDateText=无效日期_ES
-excel.message.errorTime=无效的时间格式(17:33)_ES
-excel.message.undefine=不存在_ES
-excel.message.illegalChar=非法字符_ES
-excel.message.unknowType=未知类型_ES
-excel.message.zero=不能小于0_ES
-excel.message.int=整数位不能大于{0}位_ES
-excel.message.double=小数位不能大于{0}位_ES
-excel.message.filenotexist=下载失败,模板不存在_ES
-excel.message.unsupport=不支持的导入类型_ES
-excel.message.rightFile=未获取到导入信息,请使用正确的模板_ES
-excel.message.rightMB=无法获取模板基本信息,请使用正确的模板_ES
+excel.message.phone=The mobile number must be 11 digits
+excel.message.errorFormat=Format errors
+excel.message.errorMonth=Invalid month format (2024-09 or 2024/09)
+excel.message.errorDate=Invalid date format (2024-09-11 or 2024/09/11)
+excel.message.errorMonthText=Invalid month
+excel.message.errorDateText=Invalid date
+excel.message.errorTime=Invalid time format (17:33)
+excel.message.undefine=Does not exist
+excel.message.illegalChar=Invalid character
+excel.message.unknowType=Unknown type
+excel.message.zero=Cannot be less than zero.
+excel.message.int=The integer digits cannot be more than{0}
+excel.message.double=The number of decimal places cannot be more than {0}
+excel.message.filenotexist=Download failed, template not exist
+excel.message.unsupport=Unsupported import type
+excel.message.rightFile=Import information was not obtained, please use the correct template
+excel.message.rightMB=Unable to obtain basic template information, please use the correct template
 relatedCase.notUnique=该联动用例名称已存在!_ES
 relatedCase.atLeastModel=请至少关联一个梯型_ES
 relatedCase.atLeastCase=请至少填写一条联动用例_ES
 relatedCase.atLeastResult=请至少填写一条联动结果_ES
-country.name.invalid=查询不到国家数据_ES
-area.name.invalid=查询不到区域数据_ES
-owner.name.invalid=查询不到负责人数据_ES
-agent.not.exist=查询不到代理商数据_ES
-lead.message.allot=您有一条线索待处理,请注意查看。线索编号:_ES
-agent.delFail.existSubAgent=存在下级代理商,无法删除_ES
-agent.delFail.existUser=存在关联的用户,无法删除_ES
-lead.cannot.delete=已有线索使用,无法删除_ES
-agent.delFail.existCustomer=存在关联的客户,无法删除_ES
-agent.delFail.existProject=存在关联的项目,无法删除_ES
-agent.delFail.existLead=存在关联的线索,无法删除_ES
+country.name.invalid=Country data not found
+area.name.invalid=Region data not found
+owner.name.invalid=No people of in charge found
+agent.not.exist=No distributor data found
+lead.message.allot=You have a pending lead, please check it out. Lead No.:
+agent.delFail.existSubAgent=Subordinate distributors exist and cannot be deleted
+agent.delFail.existUser=User has been linked and cannot be deleted
+lead.cannot.delete=the existing lead cannot be deleted
+agent.delFail.existCustomer=Customer has been linked and cannot be deleted
+agent.delFail.existProject=Projects has been linked and cannot be deleted
+agent.delFail.existLead=Leads has been linked and cannot be deleted
 currency.error.dateRangeOverlap=汇率有效时间范围不能重叠_ES
 email.to.empty=邮件接收人不能为空_ES
 email.subject.empty=邮件主体不能为空_ES
 email.text.empty=邮件内容不能为空_ES
 discount.saveFail.existRole=该角色已存在销售折扣率配置_ES
-agent.targetYear=考核年度_ES
-agent.targetElevatorCount=目标台数_ES
-agent.actualElevatorCount=实际台数_ES
-agent.targetMoney=目标金额_ES
-agent.actualMoney=实际金额_ES
-agent.targetProjectCount=标杆项目数_ES
-agent.actualProjectCount=实际标杆项目数_ES
-lead.convert.validLeadId=线索ID不能为空_ES
-lead.convert.validProjectId=项目ID不能为空_ES
-lead.convert.notExistLead=线索不存在或已删除_ES
-lead.convert.mustBeConvertCust=只有转化客户才能转化项目_ES
+agent.targetYear=Assessment year
+agent.targetElevatorCount=Target number of units
+agent.actualElevatorCount=Actual unit
+agent.targetMoney=Target amount
+agent.actualMoney=Actual amount
+agent.targetProjectCount=Landmark projects number
+agent.actualProjectCount=Actual number of landmark projects
+lead.convert.validLeadId=Lead ID cannot be empty
+lead.convert.validProjectId=Project ID cannot be empty
+lead.convert.notExistLead=The lead does not exist or has been deleted
+lead.convert.mustBeConvertCust=You can only convert a project if you convert a customer
 quotation.no=报价编号_ES
 quotation.version=版本号_ES
 quotation.currencyName=币种_ES
 quotation.elevatorMode=梯形_ES
 quotation.quoter=报价者_ES
 quotation.finalPrice=最终价格_ES
-quotation.additionalCost=附加费用_ES
+quotation.additionalCost=Additional cost
 quotation.submitTime=提交时间_ES
 quotation.quotationStatusName=报价状态_ES
-quotation.quotation=报价_ES
+quotation.quotation=Quotation
 lead.email=Correo electrónico
 upload.suffix.incorrect=El archivo [{0}] tiene un sufijo incorrecto [{1}], por favor, suba en formato {2}.
-company.type=公司类型_ES
-account.intentionalProduct=产品意向_ES
-account.followDesc=最新跟进结果_ES
-account.followTime=最新跟进时间_ES
-account.followPerson=跟进人_ES
-project.productSeries=产品系列_ES
-project.completionYear=项目交期_ES
-project.relatedCustomer=关联客户_ES
+company.type=Company type
+account.intentionalProduct=Product Intention
+account.followDesc=Latest follow-up result
+account.followTime=Latest follow-up time
+account.followPerson=Follow-up person
+project.productSeries=Product series
+project.completionYear=Project delivery date
+project.relatedCustomer=Linked customers
 lead.customer=Name
 lead.companyType=Company type
 lead.requirementType=Requirement type
@@ -262,55 +262,55 @@ paraLibrary.isQuotation=Si cotizar parámetros
 paraLibrary.isCivil=Si los parámetros de construcción civil
 paraLibrary.isCalc=Si calcular parámetros
 quotation.unknown.area=无法获取关联项目所属区域_ES
-business.owner=负责人_ES
-business.ownerAgent=所属代理商_ES
-agent.headquarters=Sede
-project.planDealMonth=Plan Deal Month
+business.owner=Responsible Person
+business.ownerAgent=Distributor
+agent.headquarters=Headoffice
+project.planDealMonth=Planned sign date
 quotation.currency.unknown=无法获取币种汇率_ES
-business.template.used=出图模板已使用,无法删除_ES
-quotation.nonstandard.statistics=非标统计_ES
+business.template.used=The drawing layout model has been used and cannot be deleted
+quotation.nonstandard.statistics=Non-standard statistics
 quotation.date=日期_ES
 quotation.review.project=评审项目_ES
 quotation.nonstandard.reason=非标理由_ES
 quotation.related.param.info=关联参数信息_ES
 quotation.solution=解决方案_ES
 civil.template.repeat=出图模板重复_ES
-lead.convertCustLeadIsEmpty=El ID del cliente potencial de conversión no puede estar vacío
-lead.convertCustAccountIsNull=El ID de cliente del cliente de conversión no puede estar vacío
+lead.convertCustLeadIsEmpty=Converted customer lead ID cannot be empty
+lead.convertCustAccountIsNull=Converted customer ID cannot be empty
 quotation.quantity.formula.error=加价项目数量计算公式【{0}】异常,请检查_ES
 quotation.price.formula.error=加价项目单价计算公式【{0}】异常,请检查_ES
 elevator.basic.price.empty=电梯基础价格为空_ES
-agent.export.sheetName=Información del agente
-board.statistical.model.error=Error en modo estadística
-lead.export.origin.not.exist=El origen [{0}] no existe
-lead.export.area.not.exist=El área [{0}] no existe
-lead.export.priority.not.exist=La prioridad [{0}] no existe
-lead.export.customer.type.not.exist=El tipo de cliente [{0}] no existe
-lead.export.company.type.not.exist=El tipo de empresa [{0}] no existe
-lead.export.project.type.not.exist=El tipo de proyecto [{0}] no existe
-lead.export.requirement.type.not.exist=El tipo de requisito [{0}] no existe
-lead.export.product.intent.not.exist=El producto intencional [{0}] no existe
-lead.export.email.contact.required=
-lead.export.area.country.not.exist=El país [{1}] no existe bajo el área [{0}]
+agent.export.sheetName=Distributor information
+board.statistical.model.error=Statistical model error
+lead.export.origin.not.exist=Source [{0}] does not exist
+lead.export.area.not.exist=Region [{0}] does not exist
+lead.export.priority.not.exist=Priority [{0}] does not exist
+lead.export.customer.type.not.exist=Customer type [{0}] does not exist
+lead.export.company.type.not.exist=Company type  [{0}]  does not exist
+lead.export.project.type.not.exist=Project type [{0}] does not exist
+lead.export.requirement.type.not.exist=Requirement type [{0}] does not exist
+lead.export.product.intent.not.exist=Product intention  [{0}] does not exist
+lead.export.email.contact.required=Please fill in at least one of the email and contact information
+lead.export.area.country.not.exist=Country [{1}] does not exist under region [{0}]
 elevator.basic.price.fail=电梯 [ {0} ] [ {1} ]无法获取基础价格,请检查电梯规格或基础价格配置_ES
 elevator.delete.hasValidation=该梯型存在规则校验数据,无法删除!_ES
 elevator.delete.hasCase=该梯型存在参数联动数据,无法删除!_ES
 elevator.delete.hasBJ=该梯型存在报价数据,无法删除!_ES
-agent.hasContract=Ya sea para firmar un contrato
+agent.hasContract=Agreement signed or not
 elevator.add.exist=该梯型已存在!
 train.fileData.visibleRangeMsg=Los directorios y archivos deben seleccionarse al menos uno
 elevator.optional.price.fail=电梯 [ {0} ] [ {1} ]加价项目计算失败,请检查电梯规格或选配项目配置_ES
 currency.error.currencyUsed=以下币种[{0}]已被报价使用_ES
-project.equipmentQuantity=Cantidad de equipo
-project.equipmentType=Tipo de equipo
-project.amount=Cantidad
-lead.convert.mustBeConvertProject=[Convertir Proyecto] estado previo requerido
+project.equipmentQuantity=Equipement quantity
+project.equipmentType=Equipement type
+project.amount=Amount
+lead.convert.mustBeConvertProject=Leads need to be pre-positioned for [Conversion Item].
 relatedCase.validateDeleteError=该联动用例已被报价引用,无法删除!_ES
 validation.validateDeleteError=该校验规则已被报价引用,无法删除!_ES
-excel.message.templateNotEmpty=导入模板不能为空
+excel.message.templateNotEmpty=The import template cannot be empty
 message.alertAudit.quotation=您有一份非标报价单需要评审确认,报价单号为:{0}({1})
 message.alertAudit.bargain=您收到一份报价单议价请求,请审批,报价单号为:{0}({1})
-area.elevator.mismatch=[{0}] 非关联项目所在区域的电梯型号,请修改!
+area.elevator.mismatch=[{0}] The elevator model in the area where the unlinked project is located, pleas modify it!
 quotation.review=您有一份非标报价单需要评审确认,报价单号为:{0}_ES
 quotation.review.pass=您的报价单:{0} 已出价_ES
 quotation.approve=您收到一份报价单议价请求,请审批,报价单号为:{0}_ES
@@ -318,25 +318,31 @@ quotation.approve.pass=您的报价单议价请求已通过,请查看结果,
 site.name=全球项目管理平台_ES
 selectItem.paraCode=选项编码
 selectItem.paraPic=选项图片
-project.currency=币种es
+project.currency=Tipo de moneda
 project.equipmentSpecifications=Especificaciones del equipo
 account.exportSheetName=Datos de gestión de clientes
 project.exportSheetName=datos de gestión de proyectos
 project.message.awaitingReview=Tienes un proyecto pendiente de revisión, número de proyecto: {0}
-agent.firstCooperationYear=Año de la primera cooperación.
+agent.firstCooperationYear=Year of first cooperation
 project.deviceTotal=设备总数
-project.priceTotal=总价
-project.leads=关联线索
-project.address=项目地址
-project.keyContactPerson=关键决策人
-project.keyJobTitle=关键决策人职位
-project.keyContact=关键决策人电话
-project.keyEmail=关键决策人邮箱
-project.jobTitle=职位
-project.email=邮箱
-project.solution=解决方案
-project.specialRemark=特殊需求
+project.priceTotal=Total Amount
+project.leads=Linked lead
+project.address=Project address
+project.keyContactPerson=Key Decision maker
+project.keyJobTitle=Key Decision maker positioin
+project.keyContact=Key Decision maker contact NO
+project.keyEmail=Key Decision maker Email
+project.jobTitle=Position
+project.email=E-mail
+project.solution=Solution
+project.specialRemark=Special demand
 train.question.scoreError=分值必须为整数_ES
 train.question.correctError=正确答案必须为选项中的答案,多选题正确答案,必须为";"分割的选项_ES
 train.question.repeat=题目重复_ES
-train.question.hasExist=题库中已存在本题_ES
+train.question.hasExist=题库中已存在本题_ES
+project.audit.status=Estado de aprobación
+project.stand=Specification
+project.unit.price=Unit Price
+target.completion.rate=Tasa de finalización
+project.progress=Project status
+area.existElevatorModel.cannot.delete=已有电梯区域配置使用,无法删除(ES)

+ 120 - 114
RuoYi-Vue-fast-master/src/main/resources/i18n/messages_ru_RU.properties

@@ -24,7 +24,7 @@ user.password.not.valid=* 5-50 символов
 user.password.retry.limit.count=Неправильный ввод пароля {0} раз
 user.password.retry.limit.exceed=Если пароль введен неверно {0} раз, учетная запись будет заблокирована на 10 минут
 user.unknown.error=Неизвестная ошибка, пожалуйста, войдите снова
-user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头_RU
+user.username.not.valid=* 2 to 20 Chinese characters, letters, numbers or underscores, and must start with a non-number
 follow.followType=Категория отслеживания
 follow.followNo=Номер записи
 follow.followRelated=Связанный лид/клиент/проект
@@ -142,107 +142,107 @@ lead.covertCustomerNo=Преобразование номера клиента
 lead.covertProjectNo=Преобразование номера проекта
 lead.invalidReason=Причина недействительности
 lead.owner=Распределение объектов
-lead.onwerAgent=Подчиненный агент
+lead.onwerAgent=Distributor
 lead.remark=Примечание
 account.cannot.delete=Уже используется клиентом и не может удалить
 business.data.deleted=Эти данные были удалены
 business.save.failed=Сохранить не удалось
 agent.cannot.delete=Уже используется дистрибьютором, удалить не может
-lead.message.recovered=您有一条线索被回收,请注意查看。线索编号:_RU
-lead.error.notexistOrDel=线索不存在或已删除_RU
+lead.message.recovered=You have a lead that has been recalled, please check it out. Lead number:
+lead.error.notexistOrDel=The lead does not exist or has been deleted
 validation.noQuine=校验规则名称配置已存在,请重新输入!_RU
 validation.pleaseSelectRelation=请选择关联梯型!_RU
-common.dataDeleted=数据已被删除,请刷新后查看!_RU
-common.dataUpdated=数据已被修改,请刷新后查看!_RU
+common.dataDeleted=The data has been deleted, please refresh and view!
+common.dataUpdated=The data has been modified, please refresh and view!
 validation.relationDeleted=适用关联梯形数据已被删除,请刷新后查看!_RU
-project.name.repeat=项目名称重复_RU
-agent.name.repeat=代理商名称重复_RU
-account.delete.project=客户已与项目关联,无法删除_RU
-account.delete.follow=客户已与跟进记录关联,无法删除_RU
-project.owner.message.old=你好,你负责的项目:【{0}】,已被转给他人。_RU
-project.owner.message.new=你好,你已被指派为项目:【{0}】的负责人。_RU
-account.owner.message.old=你好,你负责的客户:【{0}】,已被转给他人。_RU
-account.owner.message.new=你好,你已被指派为客户:【{0}】的负责人。_RU
-excel.message.XLSX=请上传XLSX文件!_RU
-excel.message.getSheetFail=获取工作簿失败_RU
-excel.message.readSheetFail=读取sheet内容失败_RU
-excel.message.noTitle=未找到标题信息,请检查选择的文件是否正确_RU
+project.name.repeat=Duplicate project name
+agent.name.repeat=Distributor name duplicate
+account.delete.project=Customer linked with a project and cannot be deleted
+account.delete.follow=The customer has been linked with a follow-up record and cannot be deleted.
+project.owner.message.old=Your project, [{0}], has been transferred to someone else.
+project.owner.message.new=You have been assigned as the lead of the project
+account.owner.message.old=Your client, [{0}], has been transferred to someone else.
+account.owner.message.new=You have been assigned as the person in charge of customer: [{0}].
+excel.message.XLSX=Please upload the file as XLSX!
+excel.message.getSheetFail=Failed to get worksheet
+excel.message.readSheetFail=Failed to read sheet contents
+excel.message.noTitle=Title information not found, please check  the selected file is correct
 excel.message.checkTitle=Заголовок таблицы не совпадает ({0}), пожалуйста, подтвердите, что вы выбрали правильный шаблон.
-excel.message.readFail=数据读取失败,请刷新后重试_RU
-excel.message.rowNum=第{0}条:_RU
-excel.message.notEmpty=不能为空;_RU
-excel.message.notSame=不能重复_RU
-excel.message.maxLength=长度不能大于_RU
-excel.message.minLength=长度不能小于_RU
+excel.message.readFail=Failed to read the data, please refresh and try again
+excel.message.rowNum=Article {0}:
+excel.message.notEmpty=Can't be empty
+excel.message.notSame=Cannot be repeated
+excel.message.maxLength=The length of digits cannot  be more than
+excel.message.minLength=The length of digits cannot be less than
 excel.message.nolyNumber=只能输入1-8位数字_RU
-excel.message.phone=手机号必须为11位数字_RU
-excel.message.errorFormat=格式错误_RU
-excel.message.errorMonth=无效的月份格式(2024-09或者2024/09)_RU
-excel.message.errorDate=无效的日期格式(2024-09-11或者2024/09/11)_RU
-excel.message.errorMonthText=无效月份_RU
-excel.message.errorDateText=无效日期_RU
-excel.message.errorTime=无效的时间格式(17:33)_RU
-excel.message.undefine=不存在_RU
-excel.message.illegalChar=非法字符_RU
-excel.message.unknowType=未知类型_RU
-excel.message.zero=不能小于0_RU
-excel.message.int=整数位不能大于{0}位_RU
-excel.message.double=小数位不能大于{0}位_RU
-excel.message.filenotexist=下载失败,模板不存在_RU
-excel.message.unsupport=不支持的导入类型_RU
-excel.message.rightFile=未获取到导入信息,请使用正确的模板_RU
-excel.message.rightMB=无法获取模板基本信息,请使用正确的模板_RU
+excel.message.phone=The mobile number must be 11 digits
+excel.message.errorFormat=Format errors
+excel.message.errorMonth=Invalid month format (2024-09 or 2024/09)
+excel.message.errorDate=Invalid date format (2024-09-11 or 2024/09/11)
+excel.message.errorMonthText=Invalid month
+excel.message.errorDateText=Invalid date
+excel.message.errorTime=Invalid time format (17:33)
+excel.message.undefine=Does not exist
+excel.message.illegalChar=Invalid character
+excel.message.unknowType=Unknown type
+excel.message.zero=Cannot be less than zero.
+excel.message.int=The integer digits cannot be more than{0}
+excel.message.double=The number of decimal places cannot be more than {0}
+excel.message.filenotexist=Download failed, template not exist
+excel.message.unsupport=Unsupported import type
+excel.message.rightFile=Import information was not obtained, please use the correct template
+excel.message.rightMB=Unable to obtain basic template information, please use the correct template
 relatedCase.notUnique=该联动用例名称已存在!_RU
 relatedCase.atLeastModel=请至少关联一个梯型_RU
 relatedCase.atLeastCase=请至少填写一条联动用例_RU
 relatedCase.atLeastResult=请至少填写一条联动结果_RU
-country.name.invalid=查询不到国家数据_RU
-area.name.invalid=查询不到区域数据_RU
-owner.name.invalid=查询不到负责人数据_RU
-agent.not.exist=查询不到代理商数据_RU
-lead.message.allot=您有一条线索待处理,请注意查看。线索编号:_RU
-agent.delFail.existSubAgent=存在下级代理商,无法删除_RU
-agent.delFail.existUser=存在关联的用户,无法删除_RU
-lead.cannot.delete=已有线索使用,无法删除_RU
-agent.delFail.existCustomer=存在关联的客户,无法删除_RU
-agent.delFail.existProject=存在关联的项目,无法删除_RU
-agent.delFail.existLead=存在关联的线索,无法删除_RU
+country.name.invalid=Country data not found
+area.name.invalid=Region data not found
+owner.name.invalid=No people of in charge found
+agent.not.exist=No distributor data found
+lead.message.allot=You have a pending lead, please check it out. Lead No.:
+agent.delFail.existSubAgent=Subordinate distributors exist and cannot be deleted
+agent.delFail.existUser=User has been linked and cannot be deleted
+lead.cannot.delete=the existing lead cannot be deleted
+agent.delFail.existCustomer=Customer has been linked and cannot be deleted
+agent.delFail.existProject=Projects has been linked and cannot be deleted
+agent.delFail.existLead=Leads has been linked and cannot be deleted
 currency.error.dateRangeOverlap=汇率有效时间范围不能重叠_RU
 email.to.empty=邮件接收人不能为空_RU
 email.subject.empty=邮件主体不能为空_RU
 email.text.empty=邮件内容不能为空_RU
 discount.saveFail.existRole=该角色已存在销售折扣率配置_RU
-agent.targetYear=考核年度_RU
-agent.targetElevatorCount=目标台数_RU
-agent.actualElevatorCount=实际台数_RU
-agent.targetMoney=目标金额_RU
-agent.actualMoney=实际金额_RU
-agent.targetProjectCount=标杆项目数_RU
-agent.actualProjectCount=实际标杆项目数_RU
-lead.convert.validLeadId=线索ID不能为空_RU
-lead.convert.validProjectId=项目ID不能为空_RU
-lead.convert.notExistLead=线索不存在或已删除_RU
-lead.convert.mustBeConvertCust=只有转化客户才能转化项目_RU
+agent.targetYear=Assessment year
+agent.targetElevatorCount=Target number of units
+agent.actualElevatorCount=Actual unit
+agent.targetMoney=Target amount
+agent.actualMoney=Actual amount
+agent.targetProjectCount=Landmark projects number
+agent.actualProjectCount=Actual number of landmark projects
+lead.convert.validLeadId=Lead ID cannot be empty
+lead.convert.validProjectId=Project ID cannot be empty
+lead.convert.notExistLead=The lead does not exist or has been deleted
+lead.convert.mustBeConvertCust=You can only convert a project if you convert a customer
 quotation.no=报价编号_RU
 quotation.version=版本号_RU
 quotation.currencyName=币种_RU
 quotation.elevatorMode=梯形_RU
 quotation.quoter=报价者_RU
 quotation.finalPrice=最终价格_RU
-quotation.additionalCost=附加费用_RU
+quotation.additionalCost=Additional cost
 quotation.submitTime=提交时间_RU
 quotation.quotationStatusName=报价状态_RU
-quotation.quotation=报价_RU
+quotation.quotation=Quotation
 lead.email=Электронная почта
 upload.suffix.incorrect=Файл [{0}] имеет неверное расширение [{1}], пожалуйста, загрузите в формате {2}.
-company.type=公司类型_RU
-account.intentionalProduct=产品意向_RU
-account.followDesc=最新跟进结果_RU
-account.followTime=最新跟进时间_RU
-account.followPerson=跟进人_RU
-project.productSeries=产品系列_RU
-project.completionYear=项目交期_RU
-project.relatedCustomer=关联客户_RU
+company.type=Company type
+account.intentionalProduct=Product Intention
+account.followDesc=Latest follow-up result
+account.followTime=Latest follow-up time
+account.followPerson=Follow-up person
+project.productSeries=Product series
+project.completionYear=Project delivery date
+project.relatedCustomer=Linked customers
 lead.customer=Name
 lead.companyType=Company type
 lead.requirementType=Requirement type
@@ -262,55 +262,55 @@ paraLibrary.isQuotation=Параметры предложения
 paraLibrary.isCivil=Строительные параметры
 paraLibrary.isCalc=Расчет параметров
 quotation.unknown.area=无法获取关联项目所属区域_RU
-business.owner=负责人_RU
-business.ownerAgent=所属代理商_RU
-agent.headquarters=Штаб - квартира
-project.planDealMonth=Plan Deal Month
+business.owner=Responsible Person
+business.ownerAgent=Distributor
+agent.headquarters=Headoffice
+project.planDealMonth=Planned sign date
 quotation.currency.unknown=无法获取币种汇率_RU
-business.template.used=出图模板已使用,无法删除_RU
-quotation.nonstandard.statistics=非标统计_RU
+business.template.used=The drawing layout model has been used and cannot be deleted
+quotation.nonstandard.statistics=Non-standard statistics
 quotation.date=日期_RU
 quotation.review.project=评审项目_RU
 quotation.nonstandard.reason=非标理由_RU
 quotation.related.param.info=关联参数信息_RU
 quotation.solution=解决方案_RU
 civil.template.repeat=出图模板重复_RU
-lead.convertCustLeadIsEmpty=Идентификатор потенциального клиента-конверсии не может быть пустым.
-lead.convertCustAccountIsNull=Идентификатор клиента клиента-конверсии не может быть пустым.
+lead.convertCustLeadIsEmpty=Converted customer lead ID cannot be empty
+lead.convertCustAccountIsNull=Converted customer ID cannot be empty
 quotation.quantity.formula.error=加价项目数量计算公式【{0}】异常,请检查_RU
 quotation.price.formula.error=加价项目单价计算公式【{0}】异常,请检查_RU
 elevator.basic.price.empty=电梯基础价格为空_RU
-agent.export.sheetName=Информация об агенте
-board.statistical.model.error=Ошибка режима статистики
-lead.export.origin.not.exist=Источник [{0}] не существует
-lead.export.area.not.exist=Регион [{0}] не существует
-lead.export.priority.not.exist=Приоритет [{0}] не существует
-lead.export.customer.type.not.exist=Тип клиента [{0}] не существует
-lead.export.company.type.not.exist=Тип компании [{0}] не существует
-lead.export.project.type.not.exist=Тип проекта [{0}] не существует
-lead.export.requirement.type.not.exist=Тип требования [{0}] не существует
-lead.export.product.intent.not.exist=Намеченный продукт [{0}] не существует
-lead.export.email.contact.required=Электронная почта и контактная информация должны быть заполнены хотя бы один раз
-lead.export.area.country.not.exist=Страна [{1}] не существует в регионе [{0}]
+agent.export.sheetName=Distributor information
+board.statistical.model.error=Statistical model error
+lead.export.origin.not.exist=Source [{0}] does not exist
+lead.export.area.not.exist=Region [{0}] does not exist
+lead.export.priority.not.exist=Priority [{0}] does not exist
+lead.export.customer.type.not.exist=Customer type [{0}] does not exist
+lead.export.company.type.not.exist=Company type  [{0}]  does not exist
+lead.export.project.type.not.exist=Project type [{0}] does not exist
+lead.export.requirement.type.not.exist=Requirement type [{0}] does not exist
+lead.export.product.intent.not.exist=Product intention  [{0}] does not exist
+lead.export.email.contact.required=Please fill in at least one of the email and contact information
+lead.export.area.country.not.exist=Country [{1}] does not exist under region [{0}]
 elevator.basic.price.fail=电梯 [ {0} ] [ {1} ]无法获取基础价格,请检查电梯规格或基础价格配置_RU
 elevator.delete.hasValidation=该梯型存在规则校验数据,无法删除!_RU
 elevator.delete.hasCase=该梯型存在参数联动数据,无法删除!_RU
 elevator.delete.hasBJ=该梯型存在报价数据,无法删除!_RU
-agent.hasContract=Подписывать ли договор
+agent.hasContract=Agreement signed or not
 elevator.add.exist=该梯型已存在!
 train.fileData.visibleRangeMsg=You must select at least one directory or file.
 elevator.optional.price.fail=电梯 [ {0} ] [ {1} ]加价项目计算失败,请检查电梯规格或选配项目配置_RU
 currency.error.currencyUsed=以下币种[{0}]已被报价使用_RU
-project.equipmentQuantity=Количество оборудования
-project.equipmentType=Тип оборудования
-project.amount=Количество
-lead.convert.mustBeConvertProject=[Преобразовать проект] предварительный статус
+project.equipmentQuantity=Equipement quantity
+project.equipmentType=Equipement type
+project.amount=Amount
+lead.convert.mustBeConvertProject=Leads need to be pre-positioned for [Conversion Item].
 relatedCase.validateDeleteError=该联动用例已被报价引用,无法删除!_RU
 validation.validateDeleteError=该校验规则已被报价引用,无法删除!_RU
-excel.message.templateNotEmpty=导入模板不能为空
+excel.message.templateNotEmpty=The import template cannot be empty
 message.alertAudit.quotation=您有一份非标报价单需要评审确认,报价单号为:{0}({1})
 message.alertAudit.bargain=您收到一份报价单议价请求,请审批,报价单号为:{0}({1})
-area.elevator.mismatch=[{0}] 非关联项目所在区域的电梯型号,请修改!
+area.elevator.mismatch=[{0}] The elevator model in the area where the unlinked project is located, pleas modify it!
 quotation.review=您有一份非标报价单需要评审确认,报价单号为:{0}_RU
 quotation.review.pass=您的报价单:{0} 已出价_RU
 quotation.approve=您收到一份报价单议价请求,请审批,报价单号为:{0}_RU
@@ -318,25 +318,31 @@ quotation.approve.pass=您的报价单议价请求已通过,请查看结果,
 site.name=全球项目管理平台_RU
 selectItem.paraCode=选项编码
 selectItem.paraPic=选项图片
-project.currency=币种ru
+project.currency=Валюта
 project.equipmentSpecifications=Технические характеристики оборудования
 account.exportSheetName=Данные управления клиентами
 project.exportSheetName=данные управления проектом
 project.message.awaitingReview=У вас есть проект на рассмотрении, номер проекта: {0}
-agent.firstCooperationYear=Год первого сотрудничества
+agent.firstCooperationYear=Year of first cooperation
 project.deviceTotal=设备总数
-project.priceTotal=总价
-project.leads=关联线索
-project.address=项目地址
-project.keyContactPerson=关键决策人
-project.keyJobTitle=关键决策人职位
-project.keyContact=关键决策人电话
-project.keyEmail=关键决策人邮箱
-project.jobTitle=职位
-project.email=邮箱
-project.solution=解决方案
-project.specialRemark=特殊需求
+project.priceTotal=Total Amount
+project.leads=Linked lead
+project.address=Project address
+project.keyContactPerson=Key Decision maker
+project.keyJobTitle=Key Decision maker positioin
+project.keyContact=Key Decision maker contact NO
+project.keyEmail=Key Decision maker Email
+project.jobTitle=Position
+project.email=E-mail
+project.solution=Solution
+project.specialRemark=Special demand
 train.question.scoreError=分值必须为整数_RU
 train.question.correctError=正确答案必须为选项中的答案,多选题正确答案,必须为";"分割的选项_RU
 train.question.repeat=题目重复_RU
-train.question.hasExist=题库中已存在本题_RU
+train.question.hasExist=题库中已存在本题_RU
+project.audit.status=Статус рассмотрения
+project.stand=Specification
+project.unit.price=Unit Price
+target.completion.rate=Скорость завершения
+project.progress=Project status
+area.existElevatorModel.cannot.delete=已有电梯区域配置使用,无法删除(RU)

+ 6 - 1
RuoYi-Vue-fast-master/src/main/resources/i18n/messages_zh_CN.properties

@@ -340,4 +340,9 @@ train.question.scoreError=分值必须为整数
 train.question.correctError=正确答案必须为选项中的答案,多选题正确答案,必须为";"分割的选项
 train.question.repeat=题目重复
 train.question.hasExist=题库中已存在本题
-quotation.flow.undefined=审批状态已变更,请退出后重新尝试
+project.audit.status=审批状态
+project.stand=规格
+project.unit.price=单价
+target.completion.rate=完成率
+project.progress=项目进度
+area.existElevatorModel.cannot.delete=已有电梯区域配置使用,无法删除

+ 16 - 1
ruoyi-ui-vue2/src/views/crmManagement/account/edit.vue

@@ -231,7 +231,7 @@
                         </el-table-column>
                         <el-table-column prop="birthday" :label="$t('contact.birthday')" width="200px">
                             <template slot-scope="scope">
-                                <el-date-picker v-model="scope.row.birthday" type="date" :disabled="type == 'view'">
+                                <el-date-picker v-model="scope.row.birthday" type="date" :disabled="type == 'view'" @change="item=>getXZ(item,scope.row)">
                                 </el-date-picker>
                             </template>
                         </el-table-column>
@@ -720,6 +720,21 @@ export default {
         this.$tab.updatePage(obj);
     },
     methods: {
+
+        getXZ(date,row){
+          let month = date.getMonth()+1
+          let day = date.getDate();
+          let constellations = ["摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座"];
+          let dayBounds = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22];
+          if (day < dayBounds[month - 1]) {
+            month = month - 1;
+          }
+          if (month >= 0) {
+            row.horoscope = constellations[month];
+          }
+          row.horoscope =  constellations[11];
+        },
+
         listByCurUser,
         formatLeadLabel(leadNo, item) {
             return item.leadNo

+ 8 - 1
ruoyi-ui-vue2/src/views/crmManagement/elevatorModel/index.vue

@@ -299,7 +299,7 @@
             <el-tab-pane v-for="item in formStand.tabsList" :label="getParaLabel(item.paraCategory)" style="height: 440px;overflow: auto">
               <el-col :span="8" style="" v-for="para in item.paraSelect">
 <!--                <h3>{{ para[localParaLabel]}}</h3>-->
-                <el-form-item  :label="para[localParaLabel]"  label-width="150px" class="stand-input">
+                <el-form-item  :label="para.inputType == '05' ? ' ':para[localParaLabel]"  label-width="150px" class="stand-input">
 <!--                根据类型,普通输入00 / 数字输入01 /下拉框02 /小数下拉框03 /04可输入下拉框 -->
 
                   <el-input v-if="para.inputType == '00'" :label="para[localParaLabel]" clearable
@@ -336,6 +336,13 @@
                       :value="item.value">
                     </el-option>
                   </el-select>
+
+                  <!--                    复选框-->
+                  <div v-if="para.inputType == '05'" style="height: 30px"></div>
+                  <el-checkbox v-if="para.inputType == '05'" v-model="para.paraDefaultValue"
+                               :true-label="'Yes'" :false-label="'No'" class="para-checkbox" @change="changeEditFlag(para)">
+                    <span style="font-weight: 700;line-height: 36px;font-size: 14px;color:#606266;">{{ para[localParaLabel] }}</span>
+                  </el-checkbox>
                 </el-form-item>
               </el-col>
             </el-tab-pane>

+ 8 - 2
ruoyi-ui-vue2/src/views/system/user/index.vue

@@ -90,7 +90,7 @@
 
     <!-- 添加或修改用户配置对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="110px" v-if="open">
         <el-row>
           <el-col :span="12">
             <el-form-item :label="$t('user.nick')" prop="nickName">
@@ -470,8 +470,9 @@ export default {
     },
     areaInput(val) {
       // 为空时清空上级区域
-      // console.log('val', val)
+      console.log('val', val)
       // console.log('areaIdList:', this.form.areaIdList)
+
       this.$set(this.form, "countryId", '');
       console.log("清空国家Id")
       if (val && val.length > 0) {
@@ -620,6 +621,11 @@ export default {
       this.$set(this.form, "roleIds", response.roleIds);
       console.log("重设国家Id"+ response.data.countryId)
       this.$set(this.form, "countryId", response.data.countryId);
+      if(this.form.deptId !== 0) {
+        //代表代理商
+        //则需设置新增用户区域,且无法修改
+        this.areaDis = true
+      }
       this.open = true;
       this.title = "修改用户";
       this.form.password = "";