| | |
| | | |
| | | public static final String EMAIL_TEMPLATE_NOT_EXIST = "EMAIL_TEMPLATE_NOT_EXIST"; // 이메일 템플릿을 찾을수 없습니다. |
| | | |
| | | public static final String PARENT_SECTOR_NOT_SELECT = "PARENT_SECTOR_NOT_SELECT"; // 업종(대분류)를 먼저 선택 해 주세요. |
| | | |
| | | /** |
| | | * api 파라미터 오류(이슈타입) |
| | | */ |
| | |
| | | package kr.wisestone.owl.domain; |
| | | |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.GenerationType; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.*; |
| | | import java.io.Serializable; |
| | | |
| | | @Entity |
| | |
| | | private String memo; |
| | | private Long ispId; |
| | | private Long hostingId; |
| | | |
| | | private Long companyTypeId; |
| | | private Long parentSectorId; |
| | | private Long childSectorId; |
| | | private Long regionId; |
| | | private Long statusId; |
| | | private String statusName; |
| | | |
| | | public CompanyField() {} |
| | | |
| | |
| | | public void setHostingId(Long hostingId) { |
| | | this.hostingId = hostingId; |
| | | } |
| | | |
| | | public Long getCompanyTypeId() { |
| | | return companyTypeId; |
| | | } |
| | | |
| | | public void setCompanyTypeId(Long companyTypeId) { |
| | | this.companyTypeId = companyTypeId; |
| | | } |
| | | |
| | | public Long getParentSectorId() { |
| | | return parentSectorId; |
| | | } |
| | | |
| | | public void setParentSectorId(Long parentSectorId) { |
| | | this.parentSectorId = parentSectorId; |
| | | } |
| | | |
| | | public Long getChildSectorId() { |
| | | return childSectorId; |
| | | } |
| | | |
| | | public void setChildSectorId(Long childSectorId) { |
| | | this.childSectorId = childSectorId; |
| | | } |
| | | |
| | | public Long getRegionId() { |
| | | return regionId; |
| | | } |
| | | |
| | | public void setRegionId(Long regionId) { |
| | | this.regionId = regionId; |
| | | } |
| | | |
| | | public Long getStatusId() { |
| | | return statusId; |
| | | } |
| | | |
| | | public void setStatusId(Long statusId) { |
| | | this.statusId = statusId; |
| | | } |
| | | |
| | | public String getStatusName() { |
| | | return statusName; |
| | | } |
| | | |
| | | public void setStatusName(String statusName) { |
| | | this.statusName = statusName; |
| | | } |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.domain; |
| | | |
| | | import jdk.nashorn.internal.objects.annotations.Getter; |
| | | import jdk.nashorn.internal.objects.annotations.Setter; |
| | | import kr.wisestone.owl.domain.enumType.CompanyFieldCategoryType; |
| | | import kr.wisestone.owl.domain.enumType.IssueStatusType; |
| | | |
| | | import javax.persistence.*; |
| | | import java.io.Serializable; |
| | | @Entity |
| | | public class CompanyFieldCategory extends BaseEntity implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @Id |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | | private Long id; |
| | | private String typeCategory; |
| | | private String parentId; |
| | | private String useValue; |
| | | private String description; |
| | | |
| | | @Enumerated(EnumType.STRING) |
| | | private CompanyFieldCategoryType companyFieldCategoryType; |
| | | |
| | | public CompanyFieldCategory() {} |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getTypeCategory() { |
| | | return typeCategory; |
| | | } |
| | | |
| | | public void setTypeCategory(String typeCategory) { |
| | | this.typeCategory = typeCategory; |
| | | } |
| | | |
| | | public String getParentId() { |
| | | return parentId; |
| | | } |
| | | |
| | | public void setParentId(String parentId) { |
| | | this.parentId = parentId; |
| | | } |
| | | |
| | | public String getUseValue() { |
| | | return useValue; |
| | | } |
| | | |
| | | public void setUseValue(String useValue) { |
| | | this.useValue = useValue; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public CompanyFieldCategoryType getCompanyFieldCategoryType() { |
| | | return companyFieldCategoryType; |
| | | } |
| | | |
| | | public void setCompanyFieldCategoryType(CompanyFieldCategoryType companyFieldCategoryType) { |
| | | this.companyFieldCategoryType = companyFieldCategoryType; |
| | | } |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.domain.enumType; |
| | | |
| | | /** |
| | | * Created by wisestone on 2018-03-09. |
| | | */ |
| | | public enum CompanyFieldCategoryType { |
| | | COMPANYTYPE, |
| | | PARENTSECTOR, |
| | | CHILDSECTOR, |
| | | REGION, |
| | | STATUS |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.mapper; |
| | | |
| | | import kr.wisestone.owl.domain.CompanyFieldCategory; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCondition; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by wisestone on 2018-02-26. |
| | | */ |
| | | @Repository |
| | | public interface CompanyFieldCategoryMapper { |
| | | List<Map<String, Object>> find(CompanyFieldCategoryCondition companyFieldCategoryCondition); |
| | | |
| | | Long count(CompanyFieldCategoryCondition companyFieldCategoryCondition); |
| | | |
| | | CompanyFieldCategory findById(Long id); |
| | | |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.repository; |
| | | |
| | | import kr.wisestone.owl.domain.CompanyField; |
| | | import kr.wisestone.owl.domain.CompanyFieldCategory; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.data.repository.query.Param; |
| | | |
| | | public interface CompanyFieldCategoryRepository extends JpaRepository<CompanyFieldCategory, Long> { |
| | | |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.service; |
| | | |
| | | import kr.wisestone.owl.domain.CompanyField; |
| | | import kr.wisestone.owl.domain.CompanyFieldCategory; |
| | | import kr.wisestone.owl.vo.CompanyFieldCategoryVo; |
| | | import kr.wisestone.owl.vo.CompanyFieldVo; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCondition; |
| | | import kr.wisestone.owl.web.form.CompanyFieldForm; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface CompanyFieldCategoryService { |
| | | List<CompanyFieldCategoryVo> find(Map<String, Object> resJsonData, CompanyFieldCategoryCondition condition, Pageable pageable); |
| | | |
| | | CompanyFieldCategory find(Long id); |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.service.impl; |
| | | |
| | | import com.google.common.collect.Lists; |
| | | import kr.wisestone.owl.common.ExcelConditionCheck; |
| | | import kr.wisestone.owl.constant.Constants; |
| | | import kr.wisestone.owl.constant.MsgConstants; |
| | | import kr.wisestone.owl.domain.CompanyField; |
| | | import kr.wisestone.owl.domain.CompanyFieldCategory; |
| | | import kr.wisestone.owl.domain.HostingField; |
| | | import kr.wisestone.owl.domain.IspField; |
| | | import kr.wisestone.owl.exception.OwlRuntimeException; |
| | | import kr.wisestone.owl.mapper.CompanyFieldCategoryMapper; |
| | | import kr.wisestone.owl.mapper.CompanyFieldMapper; |
| | | import kr.wisestone.owl.repository.CompanyFieldCategoryRepository; |
| | | import kr.wisestone.owl.repository.CompanyFieldRepository; |
| | | import kr.wisestone.owl.repository.HostingFieldRepository; |
| | | import kr.wisestone.owl.repository.IspFieldRepository; |
| | | import kr.wisestone.owl.service.*; |
| | | import kr.wisestone.owl.util.ConvertUtil; |
| | | import kr.wisestone.owl.vo.*; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCondition; |
| | | import kr.wisestone.owl.web.condition.HostingFieldCondition; |
| | | import kr.wisestone.owl.web.form.CompanyFieldForm; |
| | | import kr.wisestone.owl.web.view.ExcelView; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class CompanyFieldCategoryServiceImpl extends AbstractServiceImpl<CompanyFieldCategory, Long, JpaRepository<CompanyFieldCategory, Long>> implements CompanyFieldCategoryService { |
| | | |
| | | @Autowired |
| | | private CompanyFieldCategoryRepository companyFieldCategoryRepository; |
| | | |
| | | @Autowired |
| | | private CompanyFieldCategoryMapper companyFieldCategoryMapper; |
| | | |
| | | @Override |
| | | protected JpaRepository<CompanyFieldCategory, Long> getRepository() { |
| | | return this.companyFieldCategoryRepository; |
| | | } |
| | | |
| | | @Override |
| | | public List<CompanyFieldCategoryVo> find(Map<String, Object> resJsonData, CompanyFieldCategoryCondition condition, Pageable pageable) { |
| | | condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); |
| | | condition.setPageSize(pageable.getPageSize()); |
| | | |
| | | List<Map<String, Object>> results = Lists.newArrayList(); |
| | | Long totalCount = 0L; |
| | | |
| | | if (condition.getTypeCategory() != null && !condition.getTypeCategory().equals("")) { |
| | | if(condition.getTypeCategory().equals("CHILDSECTOR") |
| | | && (condition.getParentId() == null || condition.getParentId().equals(""))){ |
| | | throw new OwlRuntimeException( |
| | | this.messageAccessor.getMessage(MsgConstants.PARENT_SECTOR_NOT_SELECT)); |
| | | } |
| | | results = this.companyFieldCategoryMapper.find(condition); |
| | | totalCount = this.companyFieldCategoryMapper.count(condition); |
| | | } |
| | | |
| | | return this.convertCompanyFieldCategoryVoToMap(results, totalCount, pageable, resJsonData); |
| | | } |
| | | |
| | | public CompanyFieldCategory find(Long id) { |
| | | return this.companyFieldCategoryMapper.findById(id); |
| | | } |
| | | |
| | | // 검색 결과를 Vo 로 변환한다. |
| | | private List<CompanyFieldCategoryVo> convertCompanyFieldCategoryVoToMap(List<Map<String, Object>> results, Long totalCount, Pageable pageable, Map<String, Object> resJsonData) { |
| | | List<CompanyFieldCategoryVo> companyFieldCategoryVos = Lists.newArrayList(); |
| | | |
| | | for (Map<String, Object> result : results) { |
| | | CompanyFieldCategoryVo companyFieldCategoryVo = ConvertUtil.convertMapToClass(result, CompanyFieldCategoryVo.class); |
| | | companyFieldCategoryVos.add(companyFieldCategoryVo); |
| | | } |
| | | |
| | | int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1; |
| | | |
| | | resJsonData.put(Constants.RES_KEY_CONTENTS, companyFieldCategoryVos); |
| | | resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), |
| | | totalPage, totalCount)); |
| | | |
| | | return companyFieldCategoryVos; |
| | | } |
| | | } |
| | |
| | | import kr.wisestone.owl.repository.HostingFieldRepository; |
| | | import kr.wisestone.owl.repository.IspFieldRepository; |
| | | import kr.wisestone.owl.service.*; |
| | | import kr.wisestone.owl.util.CommonUtil; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCondition; |
| | | import kr.wisestone.owl.web.form.CompanyFieldForm; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class CompanyFieldServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService { |
| | |
| | | private HostingFieldService hostingFieldService; |
| | | |
| | | @Autowired |
| | | private CompanyFieldCategoryService companyFieldCategoryService; |
| | | |
| | | @Autowired |
| | | private UserService userService; |
| | | |
| | | @Autowired |
| | |
| | | public CompanyField addCompany(CompanyFieldForm companyFieldForm) { |
| | | // url 유효성 체크 |
| | | this.verifyUrl(companyFieldForm.getUrl(), null); |
| | | |
| | | if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(companyFieldForm.getTelList()); |
| | | companyFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(companyFieldForm.getEmailList()); |
| | | companyFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | |
| | | CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); |
| | | companyFieldRepository.saveAndFlush(companyField); |
| | |
| | | Long companyId = companyFieldCondition.getId(); |
| | | if (companyId != null) { |
| | | CompanyField companyField = this.getCompany(companyId); |
| | | if(companyField.getIspId() != null){ |
| | | if(companyField.getIspId() != null && companyField.getIspId() != -1){ |
| | | ispField = this.ispFieldRepository.getOne(companyField.getIspId()); |
| | | } |
| | | if(companyField.getHostingId() != null){ |
| | | if(companyField.getHostingId() != null && companyField.getHostingId() != -1){ |
| | | hostingField = this.hostingFieldRepository.getOne(companyField.getHostingId()); |
| | | } |
| | | companyFieldVo = ConvertUtil.copyProperties(companyField, CompanyFieldVo.class); |
| | | ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); |
| | | hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); |
| | | |
| | | if (companyField.getCompanyTypeId() != null && companyField.getCompanyTypeId() != -1) { |
| | | CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyField.getCompanyTypeId()); |
| | | if (companyType != null) { |
| | | companyFieldVo.setCompanyTypeName(companyType.getUseValue()); |
| | | } |
| | | } |
| | | if (companyField.getParentSectorId() != null && companyField.getParentSectorId() != -1) { |
| | | CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyField.getParentSectorId()); |
| | | if (parentSector != null) { |
| | | companyFieldVo.setParentSectorName(parentSector.getUseValue()); |
| | | } |
| | | } |
| | | if (companyField.getChildSectorId() != null && companyField.getChildSectorId() != -1) { |
| | | CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyField.getChildSectorId()); |
| | | if (childSector != null) { |
| | | companyFieldVo.setChildSectorName(childSector.getUseValue()); |
| | | } |
| | | } |
| | | if (companyField.getRegionId() != null && companyField.getRegionId() != -1) { |
| | | CompanyFieldCategory region = this.companyFieldCategoryService.find(companyField.getRegionId()); |
| | | if (region != null) { |
| | | companyFieldVo.setRegionName(region.getUseValue()); |
| | | } |
| | | } |
| | | /*if (companyField.getStatusId() != null && companyField.getStatusId() != -1) { |
| | | CompanyFieldCategory status = this.companyFieldCategoryService.find(companyField.getStatusId()); |
| | | if (status != null) { |
| | | companyFieldVo.setStatusName(status.getUseValue()); |
| | | } |
| | | }*/ |
| | | |
| | | companyFieldVo.setIspFieldVo(ispFieldVo); |
| | | companyFieldVo.setHostingFieldVo(hostingFieldVo); |
| | |
| | | public void modifyCompany(CompanyFieldForm companyFieldForm) { |
| | | // url 유효성 체크 |
| | | this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId()); |
| | | |
| | | if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(companyFieldForm.getTelList()); |
| | | companyFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(companyFieldForm.getEmailList()); |
| | | companyFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | |
| | | CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); |
| | | companyFieldRepository.saveAndFlush(companyField); |
| | |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("tel", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("email", this.messageAccessor.message("companyField.companyEmail"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("url", this.messageAccessor.message("companyField.companyUrl"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("companyTypeName", this.messageAccessor.message("companyField.companyTypeName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("parentSectorName", this.messageAccessor.message("companyField.parentSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("childSectorName", this.messageAccessor.message("companyField.childSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("regionName", this.messageAccessor.message("companyField.regionName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("statusName", this.messageAccessor.message("companyField.statusName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("memo", this.messageAccessor.message("companyField.companyMemo"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | |
| | | excelInfo.setDatas(companyFieldVos); |
| | |
| | | |
| | | for (Map<String, Object> result : results) { |
| | | CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class); |
| | | |
| | | if (companyFieldVo.getCompanyTypeId() != null && companyFieldVo.getCompanyTypeId() != -1) { |
| | | CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyFieldVo.getCompanyTypeId()); |
| | | if (companyType != null) { |
| | | companyFieldVo.setCompanyTypeName(companyType.getUseValue()); |
| | | } |
| | | } |
| | | if (companyFieldVo.getParentSectorId() != null && companyFieldVo.getParentSectorId() != -1) { |
| | | CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyFieldVo.getParentSectorId()); |
| | | if (parentSector != null) { |
| | | companyFieldVo.setParentSectorName(parentSector.getUseValue()); |
| | | } |
| | | } |
| | | if (companyFieldVo.getChildSectorId() != null && companyFieldVo.getChildSectorId() != -1) { |
| | | CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyFieldVo.getChildSectorId()); |
| | | if (childSector != null) { |
| | | companyFieldVo.setChildSectorName(childSector.getUseValue()); |
| | | } |
| | | } |
| | | if (companyFieldVo.getRegionId() != null && companyFieldVo.getRegionId() != -1) { |
| | | CompanyFieldCategory region = this.companyFieldCategoryService.find(companyFieldVo.getRegionId()); |
| | | if (region != null) { |
| | | companyFieldVo.setRegionName(region.getUseValue()); |
| | | } |
| | | } |
| | | |
| | | if(companyFieldVo.getIspId() != null && companyFieldVo.getIspId() != -1){ |
| | | IspField ispField = this.ispFieldService.getIsp(companyFieldVo.getIspId()); |
| | | if(ispField != null){ |
| | |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | // Hosting 추가 |
| | | @Override |
| | | public HostingField add(HostingFieldForm HostingFieldForm) { |
| | | if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(HostingFieldForm.getTelList()); |
| | | HostingFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(HostingFieldForm.getEmailList()); |
| | | HostingFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | |
| | | HostingField hostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); |
| | | if (hostingField.getCode() != null && !hostingField.getCode().equals("")) { |
| | | hostingFieldRepository.saveAndFlush(hostingField); |
| | |
| | | // Hosting 정로를 수정한다. |
| | | @Override |
| | | public void modify(HostingFieldForm HostingFieldForm) { |
| | | if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(HostingFieldForm.getTelList()); |
| | | HostingFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(HostingFieldForm.getEmailList()); |
| | | HostingFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); |
| | | hostingFieldRepository.saveAndFlush(HostingField); |
| | | } |
| | |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | // Isp 추가 |
| | | @Override |
| | | public IspField add(IspFieldForm IspFieldForm) { |
| | | if (IspFieldForm.getTelList() != null && IspFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(IspFieldForm.getTelList()); |
| | | IspFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(IspFieldForm.getEmailList()); |
| | | IspFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | |
| | | IspField ispField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); |
| | | if (ispField.getCode() != null && !ispField.getCode().equals("")) { |
| | | ispFieldRepository.saveAndFlush(ispField); |
| | |
| | | // Isp 정로를 수정한다. |
| | | @Override |
| | | public void modify(IspFieldForm IspFieldForm) { |
| | | if(IspFieldForm.getUrl() != null){ |
| | | if (IspFieldForm.getTelList() != null && IspFieldForm.getTelList().size() > 0) { |
| | | String[] tels = ConvertUtil.ToArray(IspFieldForm.getTelList()); |
| | | IspFieldForm.setTel(Arrays.toString(tels)); |
| | | } |
| | | if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) { |
| | | String[] emails = ConvertUtil.ToArray(IspFieldForm.getEmailList()); |
| | | IspFieldForm.setEmail(Arrays.toString(emails)); |
| | | } |
| | | |
| | | IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); |
New file |
| | |
| | | package kr.wisestone.owl.vo; |
| | | |
| | | public class CompanyFieldCategoryVo extends UsePartnerVo { |
| | | |
| | | private Long id; |
| | | private String typeCategory; |
| | | private String parentId; |
| | | private String useValue; |
| | | private String description; |
| | | |
| | | public CompanyFieldCategoryVo() {} |
| | | |
| | | public CompanyFieldCategoryVo(String typeCategory, String parentId, String useValue) { |
| | | this.typeCategory = typeCategory; |
| | | this.parentId = parentId; |
| | | this.useValue = useValue; |
| | | } |
| | | |
| | | @Override |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | @Override |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getTypeCategory() { |
| | | return typeCategory; |
| | | } |
| | | |
| | | public void setTypeCategory(String typeCategory) { |
| | | this.typeCategory = typeCategory; |
| | | } |
| | | |
| | | public String getParentId() { |
| | | return parentId; |
| | | } |
| | | |
| | | public void setParentId(String parentId) { |
| | | this.parentId = parentId; |
| | | } |
| | | |
| | | public String getUseValue() { |
| | | return useValue; |
| | | } |
| | | |
| | | public void setUseValue(String useValue) { |
| | | this.useValue = useValue; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | } |
| | |
| | | private Long ispId; |
| | | private Long hostingId; |
| | | |
| | | private Long companyTypeId; |
| | | private Long parentSectorId; |
| | | private Long childSectorId; |
| | | private Long regionId; |
| | | private Long statusId; |
| | | private String companyTypeName; |
| | | private String parentSectorName; |
| | | private String childSectorName; |
| | | private String regionName; |
| | | private String statusName; |
| | | |
| | | private IspFieldVo ispFieldVo; |
| | | private HostingFieldVo hostingFieldVo; |
| | | |
| | |
| | | public void setHostingId(Long hostingId) { |
| | | this.hostingId = hostingId; |
| | | } |
| | | |
| | | public Long getCompanyTypeId() { |
| | | return companyTypeId; |
| | | } |
| | | |
| | | public void setCompanyTypeId(Long companyTypeId) { |
| | | this.companyTypeId = companyTypeId; |
| | | } |
| | | |
| | | public Long getParentSectorId() { |
| | | return parentSectorId; |
| | | } |
| | | |
| | | public void setParentSectorId(Long parentSectorId) { |
| | | this.parentSectorId = parentSectorId; |
| | | } |
| | | |
| | | public Long getChildSectorId() { |
| | | return childSectorId; |
| | | } |
| | | |
| | | public void setChildSectorId(Long childSectorId) { |
| | | this.childSectorId = childSectorId; |
| | | } |
| | | |
| | | public Long getRegionId() { |
| | | return regionId; |
| | | } |
| | | |
| | | public void setRegionId(Long regionId) { |
| | | this.regionId = regionId; |
| | | } |
| | | |
| | | public Long getStatusId() { |
| | | return statusId; |
| | | } |
| | | |
| | | public void setStatusId(Long statusId) { |
| | | this.statusId = statusId; |
| | | } |
| | | |
| | | public String getCompanyTypeName() { |
| | | return companyTypeName; |
| | | } |
| | | |
| | | public void setCompanyTypeName(String companyTypeName) { |
| | | this.companyTypeName = companyTypeName; |
| | | } |
| | | |
| | | public String getParentSectorName() { |
| | | return parentSectorName; |
| | | } |
| | | |
| | | public void setParentSectorName(String parentSectorName) { |
| | | this.parentSectorName = parentSectorName; |
| | | } |
| | | |
| | | public String getChildSectorName() { |
| | | return childSectorName; |
| | | } |
| | | |
| | | public void setChildSectorName(String childSectorName) { |
| | | this.childSectorName = childSectorName; |
| | | } |
| | | |
| | | public String getRegionName() { |
| | | return regionName; |
| | | } |
| | | |
| | | public void setRegionName(String regionName) { |
| | | this.regionName = regionName; |
| | | } |
| | | |
| | | public String getStatusName() { |
| | | return statusName; |
| | | } |
| | | |
| | | public void setStatusName(String statusName) { |
| | | this.statusName = statusName; |
| | | } |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.web.condition; |
| | | |
| | | import kr.wisestone.owl.util.ConvertUtil; |
| | | |
| | | import java.util.Map; |
| | | |
| | | public class CompanyFieldCategoryCondition { |
| | | private Long id; |
| | | private String typeCategory; |
| | | private String parentId; |
| | | private String useValue; |
| | | private String description; |
| | | |
| | | private Long companyTypeId; |
| | | private Long parentSectorId; |
| | | private Long childSectorId; |
| | | private Long regionId; |
| | | private Long statusId; |
| | | private String statusName; |
| | | |
| | | private Integer Page; |
| | | private Integer PageSize; |
| | | |
| | | public static CompanyFieldCategoryCondition make(Map<String, Object> companyFieldCategoryCondition) { |
| | | return ConvertUtil.convertMapToClass(companyFieldCategoryCondition, CompanyFieldCategoryCondition.class); |
| | | } |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getTypeCategory() { |
| | | return typeCategory; |
| | | } |
| | | |
| | | public void setTypeCategory(String typeCategory) { |
| | | this.typeCategory = typeCategory; |
| | | } |
| | | |
| | | public String getParentId() { |
| | | return parentId; |
| | | } |
| | | |
| | | public void setParentId(String parentId) { |
| | | this.parentId = parentId; |
| | | } |
| | | |
| | | public String getUseValue() { |
| | | return useValue; |
| | | } |
| | | |
| | | public void setUseValue(String useValue) { |
| | | this.useValue = useValue; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public Integer getPage() { |
| | | return Page; |
| | | } |
| | | |
| | | public void setPage(Integer page) { |
| | | Page = page; |
| | | } |
| | | |
| | | public Integer getPageSize() { |
| | | return PageSize; |
| | | } |
| | | |
| | | public void setPageSize(Integer pageSize) { |
| | | PageSize = pageSize; |
| | | } |
| | | |
| | | public Long getCompanyTypeId() { |
| | | return companyTypeId; |
| | | } |
| | | |
| | | public void setCompanyTypeId(Long companyTypeId) { |
| | | this.companyTypeId = companyTypeId; |
| | | } |
| | | |
| | | public Long getParentSectorId() { |
| | | return parentSectorId; |
| | | } |
| | | |
| | | public void setParentSectorId(Long parentSectorId) { |
| | | this.parentSectorId = parentSectorId; |
| | | } |
| | | |
| | | public Long getChildSectorId() { |
| | | return childSectorId; |
| | | } |
| | | |
| | | public void setChildSectorId(Long childSectorId) { |
| | | this.childSectorId = childSectorId; |
| | | } |
| | | |
| | | public Long getRegionId() { |
| | | return regionId; |
| | | } |
| | | |
| | | public void setRegionId(Long regionId) { |
| | | this.regionId = regionId; |
| | | } |
| | | |
| | | public Long getStatusId() { |
| | | return statusId; |
| | | } |
| | | |
| | | public void setStatusId(Long statusId) { |
| | | this.statusId = statusId; |
| | | } |
| | | |
| | | public String getStatusName() { |
| | | return statusName; |
| | | } |
| | | |
| | | public void setStatusName(String statusName) { |
| | | this.statusName = statusName; |
| | | } |
| | | } |
New file |
| | |
| | | package kr.wisestone.owl.web.controller; |
| | | |
| | | import kr.wisestone.owl.constant.Constants; |
| | | import kr.wisestone.owl.service.CompanyFieldCategoryService; |
| | | import kr.wisestone.owl.service.CompanyFieldService; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition; |
| | | import kr.wisestone.owl.web.condition.CompanyFieldCondition; |
| | | import kr.wisestone.owl.web.form.CompanyFieldForm; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Controller |
| | | public class CompanyFieldCategoryController extends BaseController{ |
| | | |
| | | @Autowired |
| | | private CompanyFieldCategoryService companyFieldCategoryService; |
| | | |
| | | // 기업구분 조회 |
| | | @RequestMapping(value = "/CompanyFieldCategory/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) |
| | | public |
| | | @ResponseBody |
| | | Map<String, Object> find(@RequestBody Map<String, Map<String, Object>> params) { |
| | | Map<String, Object> resJsonData = new HashMap<>(); |
| | | Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params)); |
| | | |
| | | this.companyFieldCategoryService.find(resJsonData, CompanyFieldCategoryCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable); |
| | | |
| | | return this.setSuccessMessage(resJsonData); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | import kr.wisestone.owl.util.ConvertUtil; |
| | | import kr.wisestone.owl.util.MapUtil; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public class CompanyFieldForm extends UsePartnerForm { |
| | | private String manager; |
| | | private String tel; |
| | | private String url; |
| | | private String memo; |
| | | private String tel; |
| | | private Long ispId; |
| | | private Long hostingId; |
| | | private Long companyTypeId; |
| | | private Long parentSectorId; |
| | | private Long childSectorId; |
| | | private Long regionId; |
| | | private Long statusId; |
| | | private String statusName; |
| | | |
| | | private List<Long> removeIds = Lists.newArrayList(); |
| | | |
| | |
| | | } |
| | | public static CompanyFieldForm make(Map<String, Object> params) { |
| | | CompanyFieldForm form = ConvertUtil.convertMapToClass(params, CompanyFieldForm.class); |
| | | |
| | | if (MapUtil.getStrings(params, "tels") != null) { |
| | | form.setTelList(MapUtil.getStrings(params, "tels")); |
| | | } |
| | | |
| | | if (MapUtil.getStrings(params, "emails") != null) { |
| | | form.setEmailList(MapUtil.getStrings(params, "emails")); |
| | | } |
| | | |
| | | if (MapUtil.getLongs(params,"removeIds") != null) { |
| | | form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); |
| | |
| | | public void setRemoveIds(List<Long> removeIds) { |
| | | this.removeIds = removeIds; |
| | | } |
| | | |
| | | public Long getCompanyTypeId() { |
| | | return companyTypeId; |
| | | } |
| | | |
| | | public void setCompanyTypeId(Long companyTypeId) { |
| | | this.companyTypeId = companyTypeId; |
| | | } |
| | | |
| | | public Long getParentSectorId() { |
| | | return parentSectorId; |
| | | } |
| | | |
| | | public void setParentSectorId(Long parentSectorId) { |
| | | this.parentSectorId = parentSectorId; |
| | | } |
| | | |
| | | public Long getChildSectorId() { |
| | | return childSectorId; |
| | | } |
| | | |
| | | public void setChildSectorId(Long childSectorId) { |
| | | this.childSectorId = childSectorId; |
| | | } |
| | | |
| | | public Long getRegionId() { |
| | | return regionId; |
| | | } |
| | | |
| | | public void setRegionId(Long regionId) { |
| | | this.regionId = regionId; |
| | | } |
| | | |
| | | public Long getStatusId() { |
| | | return statusId; |
| | | } |
| | | |
| | | public void setStatusId(Long statusId) { |
| | | this.statusId = statusId; |
| | | } |
| | | |
| | | public String getStatusName() { |
| | | return statusName; |
| | | } |
| | | |
| | | public void setStatusName(String statusName) { |
| | | this.statusName = statusName; |
| | | } |
| | | } |
| | |
| | | public static HostingFieldForm make(Map<String, Object> params) { |
| | | HostingFieldForm form = ConvertUtil.convertMapToClass(params, HostingFieldForm.class); |
| | | |
| | | if (MapUtil.getStrings(params, "tels") != null) { |
| | | form.setTelList(MapUtil.getStrings(params, "tels")); |
| | | } |
| | | |
| | | if (MapUtil.getStrings(params, "emails") != null) { |
| | | form.setEmailList(MapUtil.getStrings(params, "emails")); |
| | | } |
| | | |
| | | if (MapUtil.getLongs(params,"removeIds") != null) { |
| | | form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); |
| | | } |
| | |
| | | public static IspFieldForm make(Map<String, Object> params) { |
| | | IspFieldForm form = ConvertUtil.convertMapToClass(params, IspFieldForm.class); |
| | | |
| | | if (MapUtil.getStrings(params, "tels") != null) { |
| | | form.setTelList(MapUtil.getStrings(params, "tels")); |
| | | } |
| | | |
| | | if (MapUtil.getStrings(params, "emails") != null) { |
| | | form.setEmailList(MapUtil.getStrings(params, "emails")); |
| | | } |
| | | |
| | | if (MapUtil.getLongs(params,"removeIds") != null) { |
| | | form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); |
| | | } |
| | |
| | | import kr.wisestone.owl.util.ConvertUtil; |
| | | import kr.wisestone.owl.util.MapUtil; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | private String name; |
| | | private String email; |
| | | private String emailTemplate; |
| | | private List<String> telList = new ArrayList<>(); |
| | | private List<String> emailList = new ArrayList<>(); |
| | | |
| | | public UsePartnerForm() { |
| | | } |
| | |
| | | this.emailTemplate = emailTemplate; |
| | | } |
| | | |
| | | public List<String> getTelList() { |
| | | return telList; |
| | | } |
| | | |
| | | public void setTelList(List<String> telList) { |
| | | this.telList = telList; |
| | | } |
| | | |
| | | public List<String> getEmailList() { |
| | | return emailList; |
| | | } |
| | | |
| | | public void setEmailList(List<String> emailList) { |
| | | this.emailList = emailList; |
| | | } |
| | | } |
| | |
| | | ALTER TABLE `company_field` ADD COLUMN `parent_sector_id` bigint(11) NULL; |
| | | ALTER TABLE `company_field` ADD COLUMN `child_sector_id` bigint(11) NULL; |
| | | ALTER TABLE `company_field` ADD COLUMN `region_id` bigint(11) NULL; |
| | | ALTER TABLE `company_field` ADD COLUMN `status_id` bigint(11) NULL; |
| | | ALTER TABLE `company_field` ADD COLUMN `status_id` bigint(11) NULL; |
| | | ALTER TABLE `company_field` ADD COLUMN `status_name` varchar(50) NULL; |
| | | |
| | | ALTER TABLE `company_field` MODIFY `tel` varchar(255); |
| | | ALTER TABLE `isp_field` MODIFY `tel` varchar(255); |
| | | ALTER TABLE `hosting_field` MODIFY `tel` varchar(255); |
| | |
| | | cf.url as url, |
| | | cf.memo as memo, |
| | | cf.isp_id as ispId, |
| | | cf.hosting_id as hostingId |
| | | cf.hosting_id as hostingId, |
| | | cf.company_type_id as companyTypeId, |
| | | cf.parent_sector_id as parentSectorId, |
| | | cf.child_sector_id as childSectorId, |
| | | cf.region_id as regionId, |
| | | cf.status_id as statusId, |
| | | cf.status_name as statusName |
| | | FROM |
| | | company_field cf |
| | | WHERE 1=1 |
New file |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | |
| | | <mapper namespace="kr.wisestone.owl.mapper.CompanyFieldCategoryMapper"> |
| | | |
| | | <select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition"> |
| | | SELECT |
| | | cfc.id as id, |
| | | cfc.type_category as typeCategory, |
| | | cfc.parent_id as parentId, |
| | | cfc.use_value as useValue, |
| | | cfc.description as description |
| | | FROM |
| | | company_field_category cfc |
| | | WHERE cfc.type_category = #{typeCategory} |
| | | AND cfc.use_value != "직접입력" |
| | | <if test="parentId != '' and parentId != null"> |
| | | AND cfc.parent_id = #{parentId} |
| | | </if> |
| | | <if test="useValue != '' and useValue != null"> |
| | | AND cfc.use_value like CONCAT('%',#{useValue},'%') |
| | | </if> |
| | | ORDER BY cfc.id DESC |
| | | <if test="pageSize != '' and pageSize != null"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition"> |
| | | SELECT |
| | | count(cfc.id) |
| | | FROM |
| | | company_field_category cfc |
| | | WHERE cfc.type_category = #{typeCategory} |
| | | </select> |
| | | |
| | | <select id="findById" resultType="kr.wisestone.owl.domain.CompanyFieldCategory" parameterType="java.lang.Long"> |
| | | SELECT |
| | | cfc.id as id, |
| | | cfc.type_category as typeCategory, |
| | | cfc.parent_id as parentId, |
| | | cfc.use_value as useValue, |
| | | cfc.description as description |
| | | FROM |
| | | company_field_category cfc |
| | | WHERE cfc.id = #{id} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | companyField.companyTel=\uC804\uD654\uBC88\uD638 |
| | | companyField.companyEmail=\uC774\uBA54\uC77C |
| | | companyField.companyUrl=url |
| | | companyField.companyTypeName=\uAE30\uC5C5\uAD6C\uBD84 |
| | | companyField.parentSectorName=\uC5C5\uC885(\uB300\uBD84\uB958) |
| | | companyField.childSectorName=\uC5C5\uC885(\uC911\uBD84\uB958) |
| | | companyField.regionName=\uC9C0\uC5ED |
| | | companyField.statusName=\uC0C1\uD0DC |
| | | companyField.companyMemo=\uBE44\uACE0 |
| | | isp.ispName=ISP \uC774\uB984 |
| | | isp.ispCode=\uCF54\uB4DC |
| | |
| | | PROJECT_NOT_INCLUDE_USER = \uC120\uD0DD\uD55C \uB2F4\uB2F9\uC790 \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uC0AC\uC6A9\uC790\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_INCLUDE_DEPARTMENT = \uC120\uD0DD\uD55C \uBD80\uC11C \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uBD80\uC11C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_USED_PROJECT_KEY = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | PARENT_SECTOR_NOT_SELECT = \uC5C5\uC885(\uB300\uBD84\uB958)\uB97C \uBA3C\uC800 \uC120\uD0DD \uD574 \uC8FC\uC138\uC694. |
| | | |
| | | PAYMENT_TYPE_NOT_EXIST = \uACB0\uC81C \uBC29\uC2DD\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PAYMENT_NOT_EXIST = \uACB0\uC81C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | |
| | | margin-top: 20px !important; |
| | | } |
| | | |
| | | .mt-25 { |
| | | margin-top: 25px !important; |
| | | } |
| | | |
| | | .mt-30 { |
| | | margin-top: 30px !important; |
| | | } |
| | |
| | | |
| | | // 검색된 아이템 클릭시 입력 필드 포커스 주기 |
| | | function searchInputField() { |
| | | if ($scope.selectedModel.length > 0) { |
| | | if (angular.isDefined($scope.selectedModel) && $scope.selectedModel.length > 0) { |
| | | $($element).find(".input-tag-search-field-readonly").focus(); |
| | | } |
| | | } |
| | |
| | | "failedToProjectListLookUp": "프로젝트 목록 조회 실패", |
| | | "failedToWorkflowListLookUp": "워크플로우 목록 조회 실패", |
| | | "failedToIssueListLookUp": "이슈 목록 조회 실패", |
| | | "failedToCompanyCategoryListLookUp": "업체 카테고리 목록 조회 실패", |
| | | "title": "제목", |
| | | "number": "번호", |
| | | "m": "월", |
| | |
| | | "emptyIsp": "선택할 수 있는 ISP가 없습니다.", |
| | | "emptyHosting": "선택할 수 있는 HOSTING이 없습니다.", |
| | | "emptyCustomField": "선택할 수 있는 사용자 정의 필드가 없습니다.", |
| | | "emptyCompanyType": "선택할 수 있는 기업구분이 없습니다.", |
| | | "emptyParentSector": "선택할 수 있는 업종(대분류)이 없습니다.", |
| | | "emptyChildSector": "선택할 수 있는 업종(중분류)이 없습니다.", |
| | | "emptyRegion": "선택할 수 있는 지역이 없습니다.", |
| | | "emptyStatus": "선택할 수 있는 상태가 없습니다.", |
| | | "department" : "부서", |
| | | "level" : "사용자 등급", |
| | | "manageDepartment": "부서 관리", |
| | |
| | | "domain" : "도메인", |
| | | "url" : "url", |
| | | "ipAdress" : "ip주소", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "tel" : "연락처", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "memo" : "비고", |
| | | "companyType" : "기업구분", |
| | | "parentSector" : "업종(대분류)", |
| | | "childSector" : "업종(중분류)", |
| | | "region" : "지역", |
| | | "status" : "상태", |
| | | "description" : "설명", |
| | | "failedToSelectCompanyFieldFullList" : "업체 관리 목록 조회 실패", |
| | | "delete" : "업체 삭제", |
| | | "wantToDeleteSelectCompanyField" : "선택한 업체를 삭제하겠습니까? 삭제된 업체는 복구할 수 없습니다.", |
| | |
| | | "failedToDetailCompanyFieldModify" : "업체 상세 정보 조회 실패", |
| | | "pleaseEnterCompanyFieldName": "업체 이름을 입력하세요.", |
| | | "enterSpecialCharacters": "업체 이름에는 특수 문자를 입력 할 수 없습니다.", |
| | | "invalidTelFormat": "전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요." |
| | | "invalidTelFormat": "전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.", |
| | | "writeCompanyTel": "전화번호를 입력해주세요.", |
| | | "writeTel": "전화번호를 입력하셔야 추가할수 있습니다." |
| | | }, |
| | | "ispField" : { |
| | | "info": "ISP정보", |
| | |
| | | "name" : "ISP이름", |
| | | "ispName" : "ISP명", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "tel" : "연락처", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "memo" : "비고", |
| | |
| | | "manager" : "호스팅이름", |
| | | "hostingName" : "호스팅명", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "tel" : "연락처", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "memo" : "비고", |
| | |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', '$filter', '$injector','$controller', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, $filter, $injector, $controller) { |
| | | app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', 'CompanyFieldCategory', '$filter', '$injector','$controller', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, CompanyFieldCategory, $filter, $injector, $controller) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getIssueIspFieldListCallBack : getIssueIspFieldListCallBack, |
| | | getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack |
| | | getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack, |
| | | getCompanyTypeListCallBack : getCompanyTypeListCallBack, |
| | | getParentSectorListCallBack : getParentSectorListCallBack, |
| | | getChildSectorListCallBack : getChildSectorListCallBack, |
| | | getRegionListCallBack : getRegionListCallBack, |
| | | getStatusListCallBack : getStatusListCallBack, |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //비고 |
| | | memo : "", //비고 |
| | | companyTypeId : "", |
| | | companyType : "", //기업구분 |
| | | parentSectorId : "", |
| | | parentSector : "", //업종(대분류) |
| | | childSectorId : "", |
| | | childSector : "", //업종(중분류) |
| | | regionId : "", |
| | | region : "", //지역 |
| | | statusId : "", |
| | | status : "", //상태 |
| | | inputTels : [0], //연락처 |
| | | tels : {}, |
| | | inputMails : [0], //이메일 |
| | | emails : {} |
| | | }, |
| | | typeCategory : { |
| | | companyType : "COMPANYTYPE", |
| | | parentSector : "PARENTSECTOR", |
| | | childSector : "CHILDSECTOR", |
| | | region : "REGION", |
| | | status : "STATUS" |
| | | }, |
| | | autoCompletePage : { |
| | | ispField : { |
| | |
| | | totalPage : 0 |
| | | }, |
| | | hostingField : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | companyType : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | parentSector : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | childSector : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | region : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | status : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | |
| | | $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 기업구분 autocomplete page 업데이트 |
| | | function getCompanyTypeListCallBack(result) { |
| | | $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업종(대분류) autocomplete page 업데이트 |
| | | function getParentSectorListCallBack(result) { |
| | | $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업종(중분류) 카테고리 autocomplete page 업데이트 |
| | | function getChildSectorListCallBack(result) { |
| | | $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 지역 카테고리 autocomplete page 업데이트 |
| | | function getRegionListCallBack(result) { |
| | | $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 상태 카테고리 autocomplete page 업데이트 |
| | | function getStatusListCallBack(result) { |
| | | $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | |
| | | $scope.$on("hostingFieldEvent", function (event, result) { |
| | | $scope.vm.form.hostingId = result[0].id; |
| | | }); |
| | | |
| | | |
| | | |
| | | // 폼 전송 |
| | | function formSubmit(condition) { |
| | |
| | | return hostingId; |
| | | })(), |
| | | manager : $scope.vm.form.manager, //담당자 |
| | | tel : $scope.vm.form.tel, //전화번호 |
| | | email : $scope.vm.form.email, //이메일 |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $scope.vm.form.url, // url |
| | | memo : $scope.vm.form.memo //비고 |
| | | memo : $scope.vm.form.memo, //비고 |
| | | companyTypeId : (function () { |
| | | var companyTypeId = -1; |
| | | if ($scope.vm.form.companyTypes != null) { |
| | | companyTypeId = $scope.vm.form.companyTypes[0].id; |
| | | } |
| | | return companyTypeId; |
| | | })(), |
| | | parentSectorId : (function () { |
| | | var parentSectorId = -1; |
| | | if ($scope.vm.form.parentSectors != null) { |
| | | parentSectorId = $scope.vm.form.parentSectors[0].id; |
| | | } |
| | | return parentSectorId; |
| | | })(), |
| | | childSectorId : (function () { |
| | | var childSectorId = -1; |
| | | if ($scope.vm.form.childSectors != null) { |
| | | childSectorId = $scope.vm.form.childSectors[0].id; |
| | | } |
| | | return childSectorId; |
| | | })(), |
| | | regionId : (function () { |
| | | var regionId = -1; |
| | | if ($scope.vm.form.regions != null) { |
| | | regionId = $scope.vm.form.regions[0].id; |
| | | } |
| | | return regionId; |
| | | })(), |
| | | statusId : (function () { |
| | | var statusId = -1; |
| | | if ($scope.vm.form.statuses != null) { |
| | | statusId = $scope.vm.form.statuses[0].id; |
| | | } else if ($scope.vm.form.status !== ""){ |
| | | statusId = 120; //직접입력 일 경우 |
| | | } |
| | | return statusId; |
| | | })(), |
| | | statusName : $scope.vm.form.status |
| | | }; |
| | | |
| | | CompanyField.add($resourceProvider.getContent(content, |
| | |
| | | |
| | | } |
| | | |
| | | // 연락처 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | |
| | | .setDName("url") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.companyType") |
| | | .setHWidth("bold") |
| | | .setDName("companyTypeName") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.parentSector") |
| | | .setHWidth("bold") |
| | | .setDName("parentSectorName") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.childSector") |
| | | .setHWidth("bold") |
| | | .setDName("childSectorName") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.region") |
| | | .setHWidth("bold") |
| | | .setDName("regionName") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.status") |
| | | .setHWidth("bold") |
| | | .setDName("statusName") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("companyField.memo") |
| | | .setHWidth("bold") |
| | | .setDName("memo") |
| | |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | |
| | | // 전화번호 조회시 하이픈 추가 해서 조회 |
| | | result.data.data.forEach(function (telData) { |
| | | let hyphen = telData.tel.trim(); |
| | | let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3"); |
| | | telData.tel = phone; |
| | | result.data.data.forEach(function (data) { |
| | | if (data.tel != null && data.tel !== "") { |
| | | var tels = data.tel.substr(1, data.tel.indexOf("]")-1); |
| | | var telArr = tels.split(","); |
| | | |
| | | for (var i = 0; i < telArr.length; i++) { |
| | | let hyphen = telArr[i].trim(); |
| | | telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3"); |
| | | if (telArr[i] === "") { |
| | | telArr.splice(i,1); |
| | | } |
| | | } |
| | | data.tel = telArr.join(); |
| | | } |
| | | }); |
| | | |
| | | // 이메일 조회시 배열 형태 제거 |
| | | result.data.data.forEach(function (data) { |
| | | if (data.email != null && data.email !== "") { |
| | | data.email = data.email.substr(1, data.email.indexOf("]")-1); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.responseData = result.data; |
| | |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getIssueIspFieldListCallBack : getIssueIspFieldListCallBack, |
| | | getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack |
| | | getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack, |
| | | getCompanyTypeListCallBack : getCompanyTypeListCallBack, |
| | | getParentSectorListCallBack : getParentSectorListCallBack, |
| | | getChildSectorListCallBack : getChildSectorListCallBack, |
| | | getRegionListCallBack : getRegionListCallBack, |
| | | getStatusListCallBack : getStatusListCallBack, |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //메모(비고) |
| | | memo : "", //메모(비고) |
| | | companyTypeId : "", |
| | | companyType : "", //기업구분 |
| | | parentSectorId : "", |
| | | parentSector : "", //업종(대분류) |
| | | childSectorId : "", |
| | | childSector : "", //업종(중분류) |
| | | regionId : "", |
| | | region : "", //지역 |
| | | statusId : "", |
| | | status : "", //상태 |
| | | inputTels : [0], |
| | | tels : {}, |
| | | inputMails : [0], |
| | | emails : {} |
| | | }, |
| | | typeCategory : { |
| | | companyType : "COMPANYTYPE", |
| | | parentSector : "PARENTSECTOR", |
| | | childSector : "CHILDSECTOR", |
| | | region : "REGION", |
| | | status : "STATUS" |
| | | }, |
| | | autoCompletePage : { |
| | | ispField : { |
| | |
| | | totalPage : 0 |
| | | }, |
| | | hostingField : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | companyType : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | parentSector : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | childSector : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | region : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | status : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | |
| | | // 호스팅정보 autocomplete page 업데이트 |
| | | function getIssueHostingFieldListCallBack(result) { |
| | | $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체 카테고리 autocomplete page 업데이트 |
| | | function getCompanyTypeListCallBack(result) { |
| | | $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체 카테고리 autocomplete page 업데이트 |
| | | function getParentSectorListCallBack(result) { |
| | | $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체 카테고리 autocomplete page 업데이트 |
| | | function getChildSectorListCallBack(result) { |
| | | $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체 카테고리 autocomplete page 업데이트 |
| | | function getRegionListCallBack(result) { |
| | | $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체 카테고리 autocomplete page 업데이트 |
| | | function getStatusListCallBack(result) { |
| | | $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 폼 체크 |
| | |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | ispId : (function () { // ISP 아이디 |
| | | var ispId = -1; |
| | | if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) { |
| | | if ($scope.vm.form.ispName !== "" && $scope.vm.form.ispId !== null && $scope.vm.form.ispId !== -1) { |
| | | ispId = $scope.vm.form.ispId; |
| | | }else if ($scope.vm.form.issueIspFields != null) { |
| | | ispId = $scope.vm.form.issueIspFields[0].id; |
| | | } |
| | | return ispId; |
| | | })(), |
| | | hostingId : (function () { // Hosting 아이디 |
| | | var hostingId = -1; |
| | | if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { |
| | | if ($scope.vm.form.hostingName !== "" && $scope.vm.form.hostingId !== null && $scope.vm.form.hostingId !== -1) { |
| | | hostingId = $scope.vm.form.hostingId; |
| | | }else if ($scope.vm.form.issueHostingFields != null) { |
| | | hostingId = $scope.vm.form.issueHostingFields[0].id; |
| | | } |
| | | return hostingId; |
| | | })(), |
| | | manager : $rootScope.preventXss($scope.vm.form.manager), |
| | | tel : $rootScope.preventXss($scope.vm.form.tel), |
| | | email : $rootScope.preventXss($scope.vm.form.email), |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $rootScope.preventXss($scope.vm.form.url), // url |
| | | memo : $rootScope.preventXss($scope.vm.form.memo) |
| | | memo : $rootScope.preventXss($scope.vm.form.memo), |
| | | companyTypeId : (function () { |
| | | var companyTypeId = -1; |
| | | if ($scope.vm.form.companyType !== "" && $scope.vm.form.companyTypeId !== "" && $scope.vm.form.companyTypeId !== -1) { |
| | | companyTypeId = $scope.vm.form.companyTypeId; |
| | | }else if ($scope.vm.form.companyTypes != null) { |
| | | companyTypeId = $scope.vm.form.companyTypes[0].id; |
| | | } |
| | | return companyTypeId; |
| | | })(), |
| | | parentSectorId : (function () { |
| | | var parentSectorId = -1; |
| | | if ($scope.vm.form.parentSector !== "" && $scope.vm.form.parentSectorId !== "" && $scope.vm.form.parentSectorId !== -1) { |
| | | parentSectorId = $scope.vm.form.parentSectorId; |
| | | }else if ($scope.vm.form.parentSectors != null) { |
| | | parentSectorId = $scope.vm.form.parentSectors[0].id; |
| | | } |
| | | return parentSectorId; |
| | | })(), |
| | | childSectorId : (function () { |
| | | var childSectorId = -1; |
| | | if ($scope.vm.form.childSector !== "" && $scope.vm.form.childSectorId !== "" && $scope.vm.form.childSectorId !== -1) { |
| | | childSectorId = $scope.vm.form.childSectorId; |
| | | }else if ($scope.vm.form.childSectors != null) { |
| | | childSectorId = $scope.vm.form.childSectors[0].id; |
| | | } |
| | | return childSectorId; |
| | | })(), |
| | | regionId : (function () { |
| | | var regionId = -1; |
| | | if ($scope.vm.form.region !== "" && $scope.vm.form.regionId !== "" && $scope.vm.form.regionId !== -1) { |
| | | regionId = $scope.vm.form.regionId; |
| | | }else if ($scope.vm.form.regions != null) { |
| | | regionId = $scope.vm.form.regions[0].id; |
| | | } |
| | | return regionId; |
| | | })(), |
| | | statusId : (function () { |
| | | var statusId = -1; |
| | | if ($scope.vm.form.status !== "" && $scope.vm.form.statusId !== "" && $scope.vm.form.statusId !== -1) { |
| | | statusId = $scope.vm.form.statusId; |
| | | }else if ($scope.vm.form.statuses != null) { |
| | | statusId = $scope.vm.form.statuses[0].id; |
| | | } |
| | | return statusId; |
| | | })(), |
| | | statusName : $scope.vm.form.status |
| | | }; |
| | | |
| | | CompanyField.modify($resourceProvider.getContent( |
| | |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getPageList", {}); |
| | | } |
| | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = "" |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.content)) { |
| | | if (result.data.content != null) { |
| | | $scope.vm.form.name = result.data.content.name; |
| | | $scope.vm.form.manager = result.data.content.manager; |
| | | $scope.vm.form.email = result.data.content.email; |
| | | $scope.vm.form.tel = result.data.content.tel; |
| | | |
| | | if (result.data.content.tel != null) { |
| | | var inputTels = $scope.vm.form.inputTels; |
| | | var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1); |
| | | var telArr = tels.split(", "); |
| | | angular.forEach(telArr, function (tel) { |
| | | inputTels.push(tel); |
| | | }); |
| | | inputTels = inputTels.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if (inputTels[0] === 0 || inputTels[0] === "") { |
| | | inputTels.shift(); |
| | | } |
| | | inputTels.push(""); |
| | | $scope.vm.form.tels = angular.copy(inputTels); |
| | | } |
| | | |
| | | if (result.data.content.email != null) { |
| | | var inputMails = $scope.vm.form.inputMails; |
| | | var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1); |
| | | var emailArr = emails.split(", "); |
| | | angular.forEach(emailArr, function (email) { |
| | | inputMails.push(email); |
| | | }); |
| | | inputMails = inputMails.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if(inputMails[0] === 0 || inputMails[0] === "") { // 첫번째 배열은 공백으로 |
| | | inputMails.shift(); |
| | | } |
| | | inputMails.push(""); |
| | | $scope.vm.form.emails = angular.copy(inputMails); |
| | | } |
| | | |
| | | $scope.vm.form.url = result.data.content.url; |
| | | $scope.vm.form.memo = result.data.content.memo; |
| | | $scope.vm.form.companyTypeId = result.data.content.companyTypeId; |
| | | $scope.vm.form.companyType = result.data.content.companyTypeName; |
| | | $scope.vm.form.parentSectorId = result.data.content.parentSectorId; |
| | | $scope.vm.form.parentSector = result.data.content.parentSectorName; |
| | | $scope.vm.form.childSectorId = result.data.content.childSectorId; |
| | | $scope.vm.form.childSector = result.data.content.childSectorName; |
| | | $scope.vm.form.regionId = result.data.content.regionId; |
| | | $scope.vm.form.region = result.data.content.regionName; |
| | | $scope.vm.form.statusId = result.data.content.statusId; |
| | | $scope.vm.form.status = result.data.content.statusName; |
| | | |
| | | if (result.data.content.ispFieldVo != null) { |
| | | $scope.vm.form.ispId = result.data.content.ispFieldVo.id; |
| | | $scope.vm.form.ispName = result.data.content.ispFieldVo.name; |
| | | } |
| | | if (result.data.content.hostingFieldVo != null) { |
| | | $scope.vm.form.hostingId = result.data.content.hostingFieldVo.id; |
| | | $scope.vm.form.hostingName = result.data.content.hostingFieldVo.name; |
| | | } |
| | | } |
| | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | formCheck : formCheck, // 폼 체크 |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //비고 |
| | | memo : "", //비고 |
| | | inputTels : [0], //연락처 |
| | | tels : {}, |
| | | inputMails : [0], //이메일 |
| | | emails : {} |
| | | } |
| | | }; |
| | | |
| | |
| | | code : $rootScope.preventXss($scope.vm.form.code), //코드 |
| | | name : $rootScope.preventXss($scope.vm.form.name), // 호스팅명 |
| | | manager : $scope.vm.form.manager, //담당자 |
| | | tel : $scope.vm.form.tel, //전화번호 |
| | | email : $scope.vm.form.email, //이메일 |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $scope.vm.form.url, // url |
| | | memo : $scope.vm.form.memo //비고 |
| | | }; |
| | |
| | | |
| | | } |
| | | |
| | | // 연락처 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | |
| | | // 전화번호 조회시 하이픈 추가 해서 조회 |
| | | result.data.data.forEach(function (telDatas) { |
| | | let hyphen = telDatas.tel.trim(); |
| | | let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3"); |
| | | telDatas.tel = phone; |
| | | result.data.data.forEach(function (data) { |
| | | if (data.tel != null && data.tel !== "") { |
| | | var tels = data.tel.substr(1, data.tel.indexOf("]")-1); |
| | | var telArr = tels.split(","); |
| | | |
| | | for (var i = 0; i < telArr.length; i++) { |
| | | let hyphen = telArr[i].trim(); |
| | | telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3"); |
| | | if (telArr[i] === "") { |
| | | telArr.splice(i,1); |
| | | } |
| | | } |
| | | data.tel = telArr.join(); |
| | | } |
| | | }); |
| | | |
| | | // 이메일 조회시 배열 형태 제거 |
| | | result.data.data.forEach(function (data) { |
| | | if (data.email != null && data.email !== "") { |
| | | data.email = data.email.substr(1, data.email.indexOf("]")-1); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.responseData = result.data; |
| | |
| | | detail : detail, // 상세 조회 |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | formCheck : formCheck, // 폼 체크 |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //메모(비고) |
| | | memo : "", //메모(비고) |
| | | inputTels : [0], |
| | | tels : {}, |
| | | inputMails : [0], |
| | | emails : {} |
| | | } |
| | | }; |
| | | |
| | |
| | | code : $rootScope.preventXss($scope.vm.form.code), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | manager : $rootScope.preventXss($scope.vm.form.manager), |
| | | tel : $rootScope.preventXss($scope.vm.form.tel), |
| | | email : $rootScope.preventXss($scope.vm.form.email), |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $rootScope.preventXss($scope.vm.form.url), // url |
| | | memo : $rootScope.preventXss($scope.vm.form.memo) |
| | | }; |
| | |
| | | |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = "" |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.content)) { |
| | | if (result.data.content != null) { |
| | | $scope.vm.form.code = result.data.content.code; |
| | | $scope.vm.form.name = result.data.content.name; |
| | | $scope.vm.form.manager = result.data.content.manager; |
| | | $scope.vm.form.email = result.data.content.email; |
| | | $scope.vm.form.tel = result.data.content.tel; |
| | | |
| | | if (result.data.content.tel != null) { |
| | | var inputTels = $scope.vm.form.inputTels; |
| | | var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1); |
| | | var telArr = tels.split(", "); |
| | | angular.forEach(telArr, function (tel) { |
| | | inputTels.push(tel); |
| | | }); |
| | | inputTels = inputTels.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if (inputTels[0] === 0 || inputTels[0] === "") { |
| | | inputTels.shift(); |
| | | } |
| | | inputTels.push(""); |
| | | $scope.vm.form.tels = angular.copy(inputTels); |
| | | } |
| | | |
| | | if (result.data.content.email != null) { |
| | | var inputMails = $scope.vm.form.inputMails; |
| | | var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1); |
| | | var emailArr = emails.split(", "); |
| | | angular.forEach(emailArr, function (email) { |
| | | inputMails.push(email); |
| | | }); |
| | | inputMails = inputMails.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if(inputMails[0] === 0 || inputMails[0] === "") { // 첫번째 배열은 공백으로 |
| | | inputMails.shift(); |
| | | } |
| | | inputMails.push(""); |
| | | $scope.vm.form.emails = angular.copy(inputMails); |
| | | } |
| | | |
| | | $scope.vm.form.url = result.data.content.url; |
| | | $scope.vm.form.memo = result.data.content.memo; |
| | | } |
| | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | formCheck : formCheck, // 폼 체크 |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //비고 |
| | | memo : "", //비고 |
| | | inputTels : [0], //연락처 |
| | | tels : {}, |
| | | inputMails : [0], //이메일 |
| | | emails : {} |
| | | } |
| | | }; |
| | | |
| | |
| | | code : $rootScope.preventXss($scope.vm.form.code), //코드 |
| | | name : $rootScope.preventXss($scope.vm.form.name), // ISP명 |
| | | manager : $scope.vm.form.manager, //담당자 |
| | | tel : $scope.vm.form.tel, //전화번호 |
| | | email : $scope.vm.form.email, //이메일 |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $scope.vm.form.url, // url |
| | | memo : $scope.vm.form.memo //비고 |
| | | }; |
| | |
| | | |
| | | } |
| | | |
| | | // 연락처 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | |
| | | // 전화번호 조회시 하이픈 추가 해서 조회 |
| | | result.data.data.forEach(function (telData) { |
| | | let hyphen = telData.tel.trim(); |
| | | let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3"); |
| | | telData.tel = phone |
| | | result.data.data.forEach(function (data) { |
| | | if (data.tel != null && data.tel !== "") { |
| | | var tels = data.tel.substr(1, data.tel.indexOf("]")-1); |
| | | var telArr = tels.split(","); |
| | | |
| | | for (var i = 0; i < telArr.length; i++) { |
| | | let hyphen = telArr[i].trim(); |
| | | telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3"); |
| | | if (telArr[i] === "") { |
| | | telArr.splice(i,1); |
| | | } |
| | | } |
| | | data.tel = telArr.join(); |
| | | } |
| | | }); |
| | | |
| | | // 이메일 조회시 배열 형태 제거 |
| | | result.data.data.forEach(function (data) { |
| | | if (data.email != null && data.email !== "") { |
| | | data.email = data.email.substr(1, data.email.indexOf("]")-1); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.responseData = result.data; |
| | |
| | | detail : detail, // 상세 조회 |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | formCheck : formCheck, // 폼 체크 |
| | | addTel : addTel, |
| | | addMail : addMail, |
| | | removeTelInput : removeTelInput, |
| | | removeMailInput : removeMailInput |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | code : "", |
| | | email : "", //이메일 |
| | | url : "", // url |
| | | memo : "" //메모(비고) |
| | | memo : "", //메모(비고) |
| | | inputTels : [0], |
| | | tels : {}, |
| | | inputMails : [0], |
| | | emails : {} |
| | | } |
| | | }; |
| | | |
| | |
| | | code : $rootScope.preventXss($scope.vm.form.code), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | manager : $rootScope.preventXss($scope.vm.form.manager), |
| | | tel : $rootScope.preventXss($scope.vm.form.tel), |
| | | email : $rootScope.preventXss($scope.vm.form.email), |
| | | tels : (function () { |
| | | var telList = []; |
| | | if ($scope.vm.form.tels != null) { |
| | | angular.forEach($scope.vm.form.tels, function (tel) { |
| | | telList.push(tel); |
| | | }); |
| | | telList = telList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | telList = telList.filter(function(item, idx){ |
| | | return telList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return telList; |
| | | })(), |
| | | emails : (function () { |
| | | var emailList = []; |
| | | if ($scope.vm.form.emails != null) { |
| | | angular.forEach($scope.vm.form.emails, function (email) { |
| | | emailList.push(email); |
| | | }); |
| | | emailList = emailList.filter(function(item) { //쓰레기 데이터 필터링 |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | emailList = emailList.filter(function(item, idx){ |
| | | return emailList.findIndex(function(item2, idx2){ |
| | | return item === item2 |
| | | }) == idx; |
| | | }); |
| | | } |
| | | return emailList; |
| | | })(), |
| | | url : $rootScope.preventXss($scope.vm.form.url), // url |
| | | memo : $rootScope.preventXss($scope.vm.form.memo) |
| | | }; |
| | |
| | | |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addTel() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputTels.forEach(function (tel) { |
| | | if (!$rootScope.isDefined($scope.vm.form.tels[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputTels.push(index); |
| | | $scope.vm.form.tels[index] = ""; |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 메일 주소 input 창 추가 버튼 |
| | | function addMail() { |
| | | var arrayFull = true; // 배열이 가득 차 있는지 여부 |
| | | var index = 0; |
| | | $scope.vm.form.inputMails.forEach(function (email) { |
| | | if (!$rootScope.isDefined($scope.vm.form.emails[index])) { |
| | | arrayFull = false; |
| | | } |
| | | index++; |
| | | }); |
| | | |
| | | if (arrayFull) { |
| | | $scope.vm.form.inputMails.push(index); |
| | | $scope.vm.form.emails[index] = "" |
| | | } else { |
| | | SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고 |
| | | } |
| | | } |
| | | |
| | | // 연락처 input 삭제 |
| | | function removeTelInput(index) { |
| | | $scope.vm.form.inputTels.splice(index, 1); |
| | | } |
| | | |
| | | // 이메일 주소 input 삭제 |
| | | function removeMailInput(index) { |
| | | $scope.vm.form.inputMails.splice(index, 1); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.content)) { |
| | | if (result.data.content != null) { |
| | | $scope.vm.form.code = result.data.content.code; |
| | | $scope.vm.form.name = result.data.content.name; |
| | | $scope.vm.form.manager = result.data.content.manager; |
| | | $scope.vm.form.email = result.data.content.email; |
| | | $scope.vm.form.tel = result.data.content.tel; |
| | | |
| | | if (result.data.content.tel != null) { |
| | | var inputTels = $scope.vm.form.inputTels; |
| | | var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1); |
| | | var telArr = tels.split(", "); |
| | | angular.forEach(telArr, function (tel) { |
| | | inputTels.push(tel); |
| | | }); |
| | | inputTels = inputTels.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if (inputTels[0] === 0 || inputTels[0] === "") { |
| | | inputTels.shift(); |
| | | } |
| | | inputTels.push(""); |
| | | $scope.vm.form.tels = angular.copy(inputTels); |
| | | } |
| | | |
| | | if (result.data.content.email != null) { |
| | | var inputMails = $scope.vm.form.inputMails; |
| | | var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1); |
| | | var emailArr = emails.split(", "); |
| | | angular.forEach(emailArr, function (email) { |
| | | inputMails.push(email); |
| | | }); |
| | | inputMails = inputMails.filter(function(item) { |
| | | return item !== null && item !== undefined && item !== ''; |
| | | }); |
| | | if(inputMails[0] === 0 || inputMails[0] === "") { // 첫번째 배열은 공백으로 |
| | | inputMails.shift(); |
| | | } |
| | | inputMails.push(""); |
| | | $scope.vm.form.emails = angular.copy(inputMails); |
| | | } |
| | | |
| | | $scope.vm.form.url = result.data.content.url; |
| | | $scope.vm.form.memo = result.data.content.memo; |
| | | } |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-11-04 |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], function (app) { |
| | | app.factory("CompanyFieldCategory", ['$http', '$log', function ($http, $log) { |
| | | return { |
| | | find : function (conditions) { |
| | | return $http.post("CompanyFieldCategory/find", conditions).then(function (response) { |
| | | $log.debug("업체 카테고리 목록 데이터 : ", response); |
| | | return response; |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | ]); |
| | | }); |
| | |
| | | var IssueType = $injector.get("IssueType"); |
| | | var IssueTypeCustomField = $injector.get("IssueTypeCustomField"); |
| | | var CustomField = $injector.get("CustomField"); |
| | | var CompanyFieldCategory = $injector.get("CompanyFieldCategory"); |
| | | var $log = $injector.get("$log"); |
| | | var SweetAlert = $injector.get("SweetAlert"); |
| | | |
| | |
| | | $scope.fn.getCustomFieldList = getCustomFieldList; // 사용자 정의 필드 목록 조회 |
| | | $scope.fn.getMailTargetAll = getMailTargetAll; // 사용자 정의 필드 목록 조회 |
| | | $scope.fn.getIssueTypeCustomFieldList = getIssueTypeCustomFieldList; // 이슈 유형에서 사용중인 사용자정의 필드가져오기 |
| | | $scope.fn.getCompanyTypeCategory = getCompanyTypeCategory; // 업체 카테고리 목록 정보를 조회한다. |
| | | $scope.fn.getCompanyChildSector = getCompanyChildSector; // 업체 카테고리 목록 정보를 조회한다. |
| | | |
| | | function getUserList(query, excludeList, page, callBack) { |
| | | var conditions = { |
| | |
| | | |
| | | function getIssueIspFieldList(query, excludeList, page, callBack) { |
| | | var conditions = { |
| | | ispName : query, |
| | | name : query, |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | |
| | | |
| | | function getIssueHostingFieldList(query, excludeList, page, callBack) { |
| | | var conditions = { |
| | | hostingName : query, |
| | | name : query, |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getCompanyTypeCategory(typeCategory, query, excludeList, page, callBack) { |
| | | var conditions = { |
| | | typeCategory : typeCategory, |
| | | useValue : query, |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | | angular.forEach(excludeList, function (exclude) { |
| | | excludeIds.push(exclude.id); |
| | | }); |
| | | |
| | | return excludeIds; |
| | | })() |
| | | }; |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | if ($rootScope.isDefined(page) && page > 0) { |
| | | $rootScope.spinner = true; |
| | | } |
| | | |
| | | CompanyFieldCategory.find($resourceProvider.getContent( // 페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다. |
| | | conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(callBack)) { |
| | | callBack(result); |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error"); |
| | | } |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getCompanyChildSector(parentSector, parentSectorId, typeCategory, query, excludeList, page, callBack) { |
| | | var conditions = { |
| | | parentId : (function () { // 업종(대분류) |
| | | var parentId = ""; |
| | | if (parentSector != null && parentSector !== "") { |
| | | parentId = parentSector[0].id; |
| | | }else { |
| | | parentId = parentSectorId; |
| | | } |
| | | return parentId; |
| | | })(), |
| | | typeCategory : typeCategory, |
| | | useValue : query, |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | | angular.forEach(excludeList, function (exclude) { |
| | | excludeIds.push(exclude.id); |
| | | }); |
| | | |
| | | return excludeIds; |
| | | })() |
| | | }; |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | if ($rootScope.isDefined(page) && page > 0) { |
| | | $rootScope.spinner = true; |
| | | } |
| | | |
| | | CompanyFieldCategory.find($resourceProvider.getContent( // 페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다. |
| | | conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(callBack)) { |
| | | callBack(result); |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error"); |
| | | } |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getPartnerList(query, excludeList, page, callBack) { |
| | | var conditions = { |
| | | partnerName : query, |
| | |
| | | 'companyFieldAddController' : 'app/companyField/companyFieldAdd.controller', // 업체 생성 컨트롤러 |
| | | 'companyFieldModifyController' : 'app/companyField/companyFieldModify.controller', // 업체 수정 컨트롤러 |
| | | |
| | | 'companyFieldCategoryService' : 'components/companyFieldCategory/companyFieldCategory.service', // 업체 카테고리 |
| | | |
| | | /* ISP */ |
| | | 'ispFieldRoute' : 'app/ispField/ispField', // ISP route 정보 |
| | | 'ispFieldService' : 'components/ispField/ispField.service', // ISP 관련된 통신 담당 |
| | |
| | | 'companyFieldService', |
| | | 'ispFieldService', |
| | | 'hostingFieldService', |
| | | 'userWorkspaceService' |
| | | 'userWorkspaceService', |
| | | 'companyFieldCategoryService', |
| | | ], function ($, angular, domReady, app, sortable, crypto) { |
| | | // 대시보드에서 Sortable 인식 못하는 문제 해결 |
| | | window.Sortable = sortable; |
| | |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.select">ISP 선택</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | selected-model="vm.form.issueIspFields" |
| | | ng-model="vm.form.ispName" |
| | | custom-input="true" |
| | | search="vm.form.ispName" |
| | | source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)" |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyIsp' }" |
| | | broad-cast="ispFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.select">호스팅 선택</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | selected-model="vm.form.issueHostingFields" |
| | | ng-model="vm.form.hostingName" |
| | | custom-input="true" |
| | | search="vm.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | | page="vm.autoCompletePage.hostingField.page" |
| | | total-page="vm.autoCompletePage.hostingField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | broad-cast="hostingFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm10" class="issue-label"> |
| | | <span translate="companyField.url">url</span> |
| | | <code class="highlighter-rouge">*</code> |
| | |
| | | translate="common.invalidUrlFormat">url 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | <!--<div class="row"> |
| | | <div class="col-md-3"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldAddForm2" class="issue-label"> <span |
| | | translate="companyField.company">업체 분류</span> |
| | | |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.select">ISP 선택</span> |
| | | </label> |
| | | <select id="companyFieldAddForm2" |
| | | name="companyType" |
| | | class="form-control input-sm issue-select-label" |
| | | ng-model="vm.form.companyType" |
| | | > |
| | | <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span |
| | | translate="common.selectTarget">대상 선택</span> |
| | | </option> |
| | | <option value="personal">개인</option> |
| | | <option value="business">기업</option> |
| | | </select> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | selected-model="vm.form.issueIspFields" |
| | | ng-model="vm.form.ispName" |
| | | custom-input="true" |
| | | search="vm.form.ispName" |
| | | source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)" |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyIsp' }" |
| | | broad-cast="ispFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | <div class="col-md-3"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldAddForm3" class="issue-label"> |
| | | <span translate="companyField.profitYN">영리/비영리</span> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.select">호스팅 선택</span> |
| | | </label> |
| | | <select id="companyFieldAddForm3" |
| | | name="profitYN" |
| | | class="form-control input-sm issue-select-label" |
| | | ng-model="vm.form.profitYN" |
| | | > |
| | | <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"> |
| | | <span translate="common.selectTarget">대상 선택</span> |
| | | </option> |
| | | <option value="profit">영리</option> |
| | | <option value="nonProfit">비영리</option> |
| | | </select> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | selected-model="vm.form.issueHostingFields" |
| | | ng-model="vm.form.hostingName" |
| | | custom-input="true" |
| | | search="vm.form.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | | page="vm.autoCompletePage.hostingField.page" |
| | | total-page="vm.autoCompletePage.hostingField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | broad-cast="hostingFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | <div class="col-md-6"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldAddForm4" class="issue-label"> <span |
| | | translate="companyField.industry">산업 분류</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"><span translate="companyField.tel">전화번호</span></label> |
| | | <div class="input-group" ng-repeat="tell in vm.form.inputTels"> |
| | | <input type="text" |
| | | name="tel" |
| | | class="form-control mt-1" |
| | | kr-input |
| | | ng-model="vm.form.tels[$index]" |
| | | input-regex="[^0-9]" |
| | | maxlength="11" |
| | | minlength="9" |
| | | autocomplete="off"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="companyFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.email">이메일</span> |
| | | </label> |
| | | <input id="companyFieldAddForm4" |
| | | name="industry" |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input type="text" |
| | | name="email" |
| | | class="form-control mt-1" |
| | | kr-input |
| | | ng-model="vm.form.emails[$index]" |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | autocomplete="off"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm9" class="issue-label"> |
| | | <span translate="companyField.manager">담당자</span> |
| | | </label> |
| | | <input id="companyFieldAddForm9" |
| | | name="manager" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.industry" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | ng-model="vm.form.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.companyType">기업구분</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="companyType" |
| | | selected-model="vm.form.companyTypes" |
| | | ng-model="vm.form.companyType" |
| | | custom-input="false" |
| | | search="vm.form.companyType" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)" |
| | | page="vm.autoCompletePage.companyType.page" |
| | | total-page="vm.autoCompletePage.companyType.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyCompanyType' }" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm5" class="issue-label"> |
| | | <span translate="companyField.domain">도메인</span> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.parentSector">업종(대분류)</span> |
| | | </label> |
| | | <input id="companyFieldAddForm5" |
| | | name="domain" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.domain" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | <!–<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>–> |
| | | </div>--> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm9" class="issue-label"> |
| | | <span translate="companyField.manager">담당자</span> |
| | | </label> |
| | | <input id="companyFieldAddForm9" |
| | | name="manager" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | <js-autocomplete-single data-input-name="parentSector" |
| | | selected-model="vm.form.parentSectors" |
| | | ng-model="vm.form.parentSector" |
| | | custom-input="false" |
| | | search="vm.form.parentSector" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)" |
| | | page="vm.autoCompletePage.parentSector.page" |
| | | total-page="vm.autoCompletePage.parentSector.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyParentSector' }" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm7" class="issue-label"><span translate="companyField.tel">전화번호</span></label> |
| | | <input id="companyFieldAddForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="companyFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.childSector">업종(중분류)</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="childSector" |
| | | selected-model="vm.form.childSectors" |
| | | ng-model="vm.form.childSector" |
| | | custom-input="false" |
| | | search="vm.form.childSector" |
| | | source="fn.getCompanyChildSector(vm.form.parentSectorId, vm.form.parentSectors[0].id, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)" |
| | | page="vm.autoCompletePage.childSector.page" |
| | | total-page="vm.autoCompletePage.childSector.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyChildSector' }" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.region">지역</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="region" |
| | | selected-model="vm.form.regions" |
| | | ng-model="vm.form.region" |
| | | custom-input="false" |
| | | search="vm.form.region" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)" |
| | | page="vm.autoCompletePage.region.page" |
| | | total-page="vm.autoCompletePage.region.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyRegion' }" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | <!-- <div ng-show="companyFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm6" class="issue-label"> |
| | | <span translate="companyField.email">이메일</span> |
| | | </label> |
| | | <input id="companyFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.status">상태</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="status" |
| | | selected-model="vm.form.statuses" |
| | | ng-model="vm.form.status" |
| | | custom-input="false" |
| | | search="vm.form.status" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)" |
| | | page="vm.autoCompletePage.status.page" |
| | | total-page="vm.autoCompletePage.status.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyStatus' }" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm8" class="issue-label"> |
| | |
| | | <small translate="companyField.enterSpecialCharacters">업체 이름에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.select">ISP 선택</span> |
| | | <label for="companyFieldAddForm10" class="issue-label"> |
| | | <span translate="companyField.url">url</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | selected-model="vm.form.issueIspFields" |
| | | ng-model="vm.form.ispName" |
| | | custom-input="true" |
| | | search="vm.form.ispName" |
| | | source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)" |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyIsp' }" |
| | | broad-cast="ispFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | <input id="companyFieldAddForm10" |
| | | name="url" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.url" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/" |
| | | > |
| | | <div ng-show="companyFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger" |
| | | translate="common.invalidUrlFormat">url 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.select">호스팅 선택</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | selected-model="vm.form.issueHostingFields" |
| | | ng-model="vm.form.hostingName" |
| | | custom-input="true" |
| | | search="vm.form.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | | page="vm.autoCompletePage.hostingField.page" |
| | | total-page="vm.autoCompletePage.hostingField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | broad-cast="hostingFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldAddForm10" class="issue-label"> |
| | | <span translate="companyField.url">url</span> |
| | | </label> |
| | | <input id="companyFieldAddForm10" |
| | | name="url" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.url" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/" |
| | | > |
| | | <div ng-show="companyFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger" |
| | | translate="common.invalidUrlFormat">url 형식이 맞지 않습니다. |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.select">ISP 선택</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | selected-model="vm.form.issueIspFields" |
| | | ng-model="vm.form.ispName" |
| | | custom-input="true" |
| | | search="vm.form.ispName" |
| | | source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)" |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyIsp' }" |
| | | broad-cast="ispFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.select">호스팅 선택</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | selected-model="vm.form.issueHostingFields" |
| | | ng-model="vm.form.hostingName" |
| | | custom-input="true" |
| | | search="vm.form.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | | page="vm.autoCompletePage.hostingField.page" |
| | | total-page="vm.autoCompletePage.hostingField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | broad-cast="hostingFieldEvent" |
| | | extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!--<div class="row"> |
| | | <div class="col-md-3"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldModifyForm2" class="issue-label"> <span |
| | | translate="companyField.company">업체 분류</span> |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.tel">전화번호</span> |
| | | </label> |
| | | <select id="companyFieldModifyForm2" |
| | | name="companyType" |
| | | class="form-control input-sm issue-select-label" |
| | | ng-model="vm.form.companyType" |
| | | > |
| | | <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span |
| | | translate="common.selectTarget">대상 선택</span> |
| | | </option> |
| | | <option value="personal">개인</option> |
| | | <option value="business">기업</option> |
| | | </select> |
| | | <div class="input-group" ng-repeat="tell in vm.form.inputTels"> |
| | | <input type="text" |
| | | name="tel" |
| | | class="form-control mt-1" |
| | | kr-input |
| | | ng-model="vm.form.tels[$index]" |
| | | input-regex="[^0-9]" |
| | | maxlength="11" |
| | | minlength="9" |
| | | autocomplete="off"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="companyFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-md-3"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldModifyForm3" class="issue-label"> |
| | | <span translate="companyField.profitYN">영리/비영리</span> |
| | | </label> |
| | | <select id="companyFieldModifyForm3" |
| | | name="profitYN" |
| | | class="form-control input-sm issue-select-label" |
| | | ng-model="vm.form.profitYN" |
| | | > |
| | | <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"> |
| | | <span translate="common.selectTarget">대상 선택</span> |
| | | </option> |
| | | <option value="profit">영리</option> |
| | | <option value="nonProfit">비영리</option> |
| | | </select> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-md-6"> |
| | | <div class="form-group mb10"> |
| | | <label for="companyFieldModifyForm4" class="issue-label"> <span |
| | | translate="companyField.industry">산업 분류</span> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.email">이메일</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm4" |
| | | name="industry" |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input type="text" |
| | | name="email" |
| | | class="form-control mt-1" |
| | | kr-input |
| | | ng-model="vm.form.emails[$index]" |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | autocomplete="off"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label for="companyFieldModifyForm9" class="issue-label"> |
| | | <span translate="companyField.manager">담당자</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm9" |
| | | name="manager" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.industry" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | ng-model="vm.form.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.companyType">기업구분</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="companyType" |
| | | selected-model="vm.form.companyTypes" |
| | | ng-model="vm.form.companyType" |
| | | custom-input="false" |
| | | search="vm.form.companyType" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)" |
| | | page="vm.autoCompletePage.companyType.page" |
| | | total-page="vm.autoCompletePage.companyType.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyCompanyType' }" |
| | | broad-cast="companyTypeEvent" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label for="companyFieldModifyForm5" class="issue-label"> |
| | | <span translate="companyField.domain">도메인</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm5" |
| | | name="domain" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.domain" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | <!–<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>–> |
| | | </div>--> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldModifyForm9" class="issue-label"> |
| | | <span translate="companyField.manager">담당자</span> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.parentSector">업종(대분류)</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm9" |
| | | name="manager" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | <js-autocomplete-single data-input-name="parentSector" |
| | | selected-model="vm.form.parentSectors" |
| | | ng-model="vm.form.parentSector" |
| | | custom-input="false" |
| | | search="vm.form.parentSector" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)" |
| | | page="vm.autoCompletePage.parentSector.page" |
| | | total-page="vm.autoCompletePage.parentSector.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyParentSector' }" |
| | | broad-cast="parentSectorEvent" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldModifyForm7" class="issue-label"> |
| | | <span translate="companyField.tel">전화번호</span> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.childSector">업종(중분류)</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="companyFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <js-autocomplete-single data-input-name="childSector" |
| | | selected-model="vm.form.childSectors" |
| | | ng-model="vm.form.childSector" |
| | | custom-input="false" |
| | | search="vm.form.childSector" |
| | | source="fn.getCompanyChildSector(vm.form.parentSectors, vm.form.parentSectorId, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)" |
| | | page="vm.autoCompletePage.childSector.page" |
| | | total-page="vm.autoCompletePage.childSector.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyChildSector' }" |
| | | broad-cast="childSectorEvent" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.region">지역</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="region" |
| | | selected-model="vm.form.regions" |
| | | ng-model="vm.form.region" |
| | | custom-input="false" |
| | | search="vm.form.region" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)" |
| | | page="vm.autoCompletePage.region.page" |
| | | total-page="vm.autoCompletePage.region.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyRegion' }" |
| | | broad-cast="regionEvent" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | <!-- <div ng-show="companyFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="companyFieldModifyForm6" class="issue-label"> |
| | | <span translate="companyField.email">이메일</span> |
| | | </label> |
| | | <input id="companyFieldModifyForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-6"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="companyField.status">상태</span> |
| | | </label> |
| | | <js-autocomplete-single data-input-name="status" |
| | | selected-model="vm.form.statuses" |
| | | ng-model="vm.form.status" |
| | | custom-input="false" |
| | | search="vm.form.status" |
| | | source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)" |
| | | page="vm.autoCompletePage.status.page" |
| | | total-page="vm.autoCompletePage.status.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyStatus' }" |
| | | broad-cast="statusEvent" |
| | | extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '', |
| | | type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm7" class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="hostingFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="i in vm.form.inputTels"> |
| | | <input name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tels[$index]" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="hostingFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | <!-- <div ng-show="hostingFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm6" class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="hostingFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input id="hostingFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.emails[$index]" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="hostingFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm7" class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="hostingFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.tel">전화번호</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="tell in vm.form.inputTels"> |
| | | <input name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tels[$index]" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="hostingFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | <!-- <div ng-show="hostingFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm6" class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="hostingFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.emails[$index]" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="hostingFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | maxlength="200" |
| | | ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/" |
| | | > |
| | | <div ng-show="ispFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger" |
| | | <div ng-show="hostingFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger" |
| | | translate="common.invalidUrlFormat">url 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm7" class="issue-label"> |
| | | <span translate="ispField.tel">전화번호</span> |
| | | </label> |
| | | <input id="ispFieldAddForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="ispFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> <span translate="ispField.tel">전화번호</span></label> |
| | | <div class="input-group" ng-repeat="tell in vm.form.inputTels"> |
| | | <input name="tel" |
| | | type="text" |
| | | class="form-control mt-1" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tels[$index]" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="ispFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | <!-- <div ng-show="ispFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm6" class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <input id="ispFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="ispFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input id="ispFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.emails[$index]" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="ispFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldModifyForm7" class="issue-label"> |
| | | <span translate="ispField.tel">전화번호</span> |
| | | </label> |
| | | <input id="ispFieldModifyForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <div ng-show="ispFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | <div class="row"> |
| | | <div class="col-lg-4"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.tel">전화번호</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="tell in vm.form.inputTels"> |
| | | <input name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tels[$index]" |
| | | maxlength="11" |
| | | minlength="9"> |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="ispFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger" |
| | | translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상) |
| | | </div> |
| | | </div> |
| | | <!-- <div ng-show="ispFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"--> |
| | | <!-- translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldModifyForm6" class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <input id="ispFieldModifyForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="ispFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addTel()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-5"> |
| | | <div class="form-group"> |
| | | <label class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <div class="input-group" ng-repeat="mail in vm.form.inputMails"> |
| | | <input name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.emails[$index]" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span> |
| | | </div> |
| | | <div ng-show="ispFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;"> |
| | | <div> |
| | | <button type="button" class="btn btn-secondary" ng-click="fn.addMail()"> |
| | | <span translate="common.add">추가</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |