Merge branch 'develop'

# Conflicts:
#	pom.xml
master
taylor.dang 5 years ago
commit 4bd61275f7

@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>manage</artifactId> <artifactId>manage</artifactId>
<version>1.1.36</version> <version>1.2.0</version>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

@ -90,13 +90,13 @@ public class ATOReportServiceImpl implements ATOReportService {
DateTime startOfMon = new DateTime(fromDateTime); DateTime startOfMon = new DateTime(fromDateTime);
DateTime endOfMon = new DateTime(fromDateTime.plusMonths(1).withDayOfMonth(1)); DateTime endOfMon = new DateTime(fromDateTime.plusMonths(1).withDayOfMonth(1));
while (endOfMon.isBefore(toDateTime)) { while (endOfMon.isBefore(toDateTime)) {
logger.debug("Exporting date range:" + startOfMon.toString("yyyy-MM-dd") + " ~ " + endOfMon.toString("yyyy-MM-dd")); logger.debug("Exporting date range:{} ~ {}", startOfMon.toString("yyyy-MM-dd"), endOfMon.toString("yyyy-MM-dd"));
loadMonthTransactions(reportingParty, startOfMon, endOfMon); loadMonthTransactions(reportingParty, startOfMon, endOfMon);
startOfMon = new DateTime(endOfMon); startOfMon = new DateTime(endOfMon);
endOfMon = new DateTime(endOfMon.plusMonths(1)); endOfMon = new DateTime(endOfMon.plusMonths(1));
} }
endOfMon = new DateTime(toDateTime); endOfMon = new DateTime(toDateTime);
logger.debug("Exporting date range:" + startOfMon.toString("yyyy-MM-dd") + " ~ " + endOfMon.toString("yyyy-MM-dd")); logger.debug("Exporting date range:{} ~ {}", startOfMon.toString("yyyy-MM-dd"), endOfMon.toString("yyyy-MM-dd"));
loadMonthTransactions(reportingParty, startOfMon, endOfMon); loadMonthTransactions(reportingParty, startOfMon, endOfMon);
logger.info("output BTTPS file"); logger.info("output BTTPS file");
return data.outputBTTPS(); return data.outputBTTPS();
@ -109,7 +109,7 @@ public class ATOReportServiceImpl implements ATOReportService {
private void loadClientMonthTransactions(ReportingPartyData reportingParty, Integer clientId, DateTime startOfMon, DateTime endOfMon) { private void loadClientMonthTransactions(ReportingPartyData reportingParty, Integer clientId, DateTime startOfMon, DateTime endOfMon) {
BusinessData biz = reportingParty.findBusiness(clientId); BusinessData biz = reportingParty.findBusiness(clientId);
logger.debug("Exporting date range for client[" + clientId + "]:" + startOfMon.toString("yyyy-MM-dd") + " ~ " + endOfMon.toString("yyyy-MM-dd")); logger.debug("Exporting date range for client[{}]:{} ~ {}",clientId,startOfMon.toString("yyyy-MM-dd"), endOfMon.toString("yyyy-MM-dd"));
if (biz == null) { if (biz == null) {
JSONObject cli = clientMapper.findClientIgnoreInvalid(clientId); JSONObject cli = clientMapper.findClientIgnoreInvalid(clientId);
AddressInfo addr = new AddressInfo(cli.getString("address"), cli.getString("suburb"), cli.getString("state"), cli.getString("postcode"), cli.getString("country")); AddressInfo addr = new AddressInfo(cli.getString("address"), cli.getString("suburb"), cli.getString("state"), cli.getString("postcode"), cli.getString("country"));

@ -0,0 +1,20 @@
package au.com.royalpay.payment.manage.mappers.system;
import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect;
import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper;
import cn.yixblog.support.mybatis.autosql.annotations.AutoSql;
import cn.yixblog.support.mybatis.autosql.annotations.SqlType;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;
@AutoMapper(tablename = "sys_client_legal_person", pkName = "client_id")
public interface SysClientLegalPersonMapper{
@AutoSql(type = SqlType.INSERT)
void save(JSONObject representativeInfo);
@AutoSql(type = SqlType.UPDATE)
void update(JSONObject representativeInfo);
@AutoSql(type = SqlType.SELECT)
JSONObject findRepresentativeInfo(@Param("client_id") int clientId);
}

@ -57,6 +57,22 @@ public class ClientRegisterInfo {
private String suburb; private String suburb;
private String postcode; private String postcode;
private String state; private String state;
@JSONField(name = "legal_representative_person")
private String representativePerson ;
@JSONField(name = "legal_representative_phone")
private String representativePhone;
@JSONField(name = "legal_representative_email")
private String representativeEmail;
@JSONField(name = "legal_representative_job")
private String representativeJobTitle;
@JSONField(name = "registered_address")
private String registeredAddress;
@JSONField(name = "registered_suburb")
private String registeredSuburb;
@JSONField(name = "registered_postcode")
private String registeredPostcode;
@JSONField(name = "registered_state")
private String registeredState;
@NotEmpty(message = "error.payment.valid.param_missing") @NotEmpty(message = "error.payment.valid.param_missing")
private String country; private String country;
@Pattern(regexp = "^((Australia/West)|(Australia/Eucla)|(Australia/North)|(Australia/South)|(Australia/Brisbane)|(Australia/Melbourne)|(Australia/LHI))$", message = "error.payment.valid.invalid_timezone") @Pattern(regexp = "^((Australia/West)|(Australia/Eucla)|(Australia/North)|(Australia/South)|(Australia/Brisbane)|(Australia/Melbourne)|(Australia/LHI))$", message = "error.payment.valid.invalid_timezone")
@ -433,4 +449,68 @@ public class ClientRegisterInfo {
public void setLakalapaysettle(String lakalapaysettle) { public void setLakalapaysettle(String lakalapaysettle) {
this.lakalapaysettle = lakalapaysettle; this.lakalapaysettle = lakalapaysettle;
} }
public String getRepresentativePerson() {
return representativePerson;
}
public void setRepresentativePerson(String representativePerson) {
this.representativePerson = representativePerson;
}
public String getRepresentativePhone() {
return representativePhone;
}
public void setRepresentativePhone(String representativePhone) {
this.representativePhone = representativePhone;
}
public String getRepresentativeEmail() {
return representativeEmail;
}
public void setRepresentativeEmail(String representativeEmail) {
this.representativeEmail = representativeEmail;
}
public String getRegisteredAddress() {
return registeredAddress;
}
public void setRegisteredAddress(String registeredAddress) {
this.registeredAddress = registeredAddress;
}
public String getRegisteredSuburb() {
return registeredSuburb;
}
public void setRegisteredSuburb(String registeredSuburb) {
this.registeredSuburb = registeredSuburb;
}
public String getRegisteredPostcode() {
return registeredPostcode;
}
public void setRegisteredPostcode(String registeredPostcode) {
this.registeredPostcode = registeredPostcode;
}
public String getRegisteredState() {
return registeredState;
}
public void setRegisteredState(String registeredState) {
this.registeredState = registeredState;
}
public String getRepresentativeJobTitle() {
return representativeJobTitle;
}
public void setRepresentativeJobTitle(String representativeJobTitle) {
this.representativeJobTitle = representativeJobTitle;
}
} }

@ -144,6 +144,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
@Resource @Resource
private ClientConfigService clientConfigService; private ClientConfigService clientConfigService;
@Resource @Resource
private SysClientLegalPersonMapper sysClientLegalPersonMapper;
@Resource
private ClientDeviceMapper clientDeviceMapper; private ClientDeviceMapper clientDeviceMapper;
@Resource @Resource
private ClientAccountMapper clientAccountMapper; private ClientAccountMapper clientAccountMapper;
@ -469,7 +471,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
client.put("enable_gateway_version2", partnerGatewaySign.getBooleanValue("is_valid")); client.put("enable_gateway_version2", partnerGatewaySign.getBooleanValue("is_valid"));
client.put("gateway_sign", partnerGatewaySign); client.put("gateway_sign", partnerGatewaySign);
} }
if (sysClientLegalPersonMapper.findRepresentativeInfo(client.getIntValue("client_id")) != null) {
client.put("representativeInfo", sysClientLegalPersonMapper.findRepresentativeInfo(client.getIntValue("client_id")));
}
return client; return client;
} }
@ -761,6 +765,23 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
throw new BadRequestException("error.partner.valid.dumplicate_client_moniker"); throw new BadRequestException("error.partner.valid.dumplicate_client_moniker");
} }
try {
JSONObject representativeInfo = new JSONObject();
representativeInfo.put("client_id",partner.getIntValue("client_id"));
representativeInfo.put("representative_person",partner.getString("legal_representative_person"));
representativeInfo.put("phone",partner.getString("legal_representative_phone"));
representativeInfo.put("email",partner.getString("legal_representative_email"));
representativeInfo.put("job_title",partner.getString("legal_representative_job"));
representativeInfo.put("address",partner.getString("registered_address"));
representativeInfo.put("suburb",partner.getString("registered_suburb"));
representativeInfo.put("postcode",partner.getString("registered_postcode"));
representativeInfo.put("state",partner.getString("registered_state"));
sysClientLegalPersonMapper.save(representativeInfo);
System.out.println("aaaa");
} catch (Exception e) {
throw new BadRequestException("error.partner.valid.dumplicate_client_moniker");
}
if (ManagerRole.BD_USER.hasRole(manager.getIntValue("role"))) { if (ManagerRole.BD_USER.hasRole(manager.getIntValue("role"))) {
JSONObject client_bd = new JSONObject(); JSONObject client_bd = new JSONObject();
client_bd.put("client_id", partner.getIntValue("client_id")); client_bd.put("client_id", partner.getIntValue("client_id"));
@ -811,6 +832,23 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
} }
updateInfo.put("client_id", clientId); updateInfo.put("client_id", clientId);
JSONObject representativeInfo = new JSONObject();
representativeInfo.put("client_id",clientId);
representativeInfo.put("representative_person",info.getRepresentativePerson());
representativeInfo.put("phone",info.getRepresentativePhone());
representativeInfo.put("email",info.getRepresentativeEmail());
representativeInfo.put("job_title",info.getRepresentativeJobTitle());
representativeInfo.put("address",info.getRegisteredAddress());
representativeInfo.put("suburb",info.getRegisteredSuburb());
representativeInfo.put("postcode",info.getRegisteredPostcode());
representativeInfo.put("state",info.getRegisteredState());
if(sysClientLegalPersonMapper.findRepresentativeInfo(clientId) != null){
sysClientLegalPersonMapper.update(representativeInfo);
}else{
sysClientLegalPersonMapper.save(representativeInfo);
}
int originReferrerId = client.getIntValue("referrer_id"); int originReferrerId = client.getIntValue("referrer_id");
int updateReferrerId = Integer.parseInt(info.getReferrer_id() == null ? "0" : info.getReferrer_id()); int updateReferrerId = Integer.parseInt(info.getReferrer_id() == null ? "0" : info.getReferrer_id());
if (originReferrerId == 0 && updateReferrerId != 0) { if (originReferrerId == 0 && updateReferrerId != 0) {

@ -231,7 +231,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
$scope.exportPartnersExcel = function () { $scope.exportPartnersExcel = function () {
var params = angular.copy($scope.params); var params = angular.copy($scope.params);
var param_str = keys(params).map(function (key) { var param_str = Object.keys(params).map(function (key) {
var value = params[key]; var value = params[key];
if (angular.isDate(value)) { if (angular.isDate(value)) {
value = $filter('date')(value, 'yyyy-MM-ddTHH:mm:ssZ') value = $filter('date')(value, 'yyyy-MM-ddTHH:mm:ssZ')
@ -414,6 +414,37 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
removeClientPayDesc($scope.partner.client_pay_desc, '20'); removeClientPayDesc($scope.partner.client_pay_desc, '20');
} }
}; };
$scope.partner.sameAsContactPerson = false;
$scope.checkboxOnclick = function (){
$scope.partner.sameAsContactPerson = !($scope.partner.sameAsContactPerson);
if($scope.partner.sameAsContactPerson)
{
$scope.partner.legal_representative_person = $scope.partner.contact_person;
$scope.partner.legal_representative_phone_a = $scope.partner.contact_phone_a;
$scope.partner.legal_representative_phone_c = $scope.partner.contact_phone_c;
$scope.partner.legal_representative_phone_p = $scope.partner.contact_phone_p;
$scope.partner.legal_representative_email = $scope.partner.contact_email;
}
}
$scope.partner.sameAsAddress=false;
$scope.sameAddress = function (){
$scope.partner.sameAsAddress = !($scope.partner.sameAsAddress);
if($scope.partner.sameAsAddress)
{
$scope.partner.registered_address = $scope.partner.address;
$scope.partner.registered_suburb = $scope.partner.suburb;
$scope.partner.registered_postcode = $scope.partner.postcode;
$scope.partner.registered_state = $scope.partner.state;
}
}
var compare = function (x, y) { var compare = function (x, y) {
x = parseInt(x); x = parseInt(x);
@ -593,6 +624,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
} }
$scope.partner.company_phone = '+' + $scope.partner.company_phone_c + ($scope.partner.company_phone_a || '') + $scope.partner.company_phone_p; $scope.partner.company_phone = '+' + $scope.partner.company_phone_c + ($scope.partner.company_phone_a || '') + $scope.partner.company_phone_p;
$scope.partner.contact_phone = '+' + $scope.partner.contact_phone_c + ($scope.partner.contact_phone_a || '') + $scope.partner.contact_phone_p; $scope.partner.contact_phone = '+' + $scope.partner.contact_phone_c + ($scope.partner.contact_phone_a || '') + $scope.partner.contact_phone_p;
$scope.partner.legal_representative_phone = '+' + $scope.partner.legal_representative_phone_c + ( $scope.partner.legal_representative_phone_a || '') + $scope.partner.legal_representative_phone_p;
if ($scope.partner.company_phone.indexOf(' ') != -1) { if ($scope.partner.company_phone.indexOf(' ') != -1) {
alert('Company Phone can not contain space character'); alert('Company Phone can not contain space character');
@ -602,14 +634,26 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
alert('Contact Phone can not contain space character'); alert('Contact Phone can not contain space character');
return; return;
} }
if ($scope.partner.legal_representative_phone.indexOf(' ') != -1) {
alert('Representative phone can not contain space character');
return;
}
if ($scope.partner.contact_email.indexOf(' ') != -1) { if ($scope.partner.contact_email.indexOf(' ') != -1) {
alert('Contact email Phone can not contain space character'); alert('Contact email Phone can not contain space character');
return; return;
} }
if ($scope.partner.legal_representative_email.indexOf(' ') != -1) {
alert('Representative email Phone can not contain space character');
return;
}
if ($scope.partner.suburb.indexOf(' ') != -1) { if ($scope.partner.suburb.indexOf(' ') != -1) {
alert('suburb can not contain two and more continuous space characters'); alert('suburb can not contain two and more continuous space characters');
return; return;
} }
if ($scope.partner.registered_suburb.indexOf(' ') != -1) {
alert('Registered suburb can not contain two and more continuous space characters');
return;
}
if ($scope.partner.acn && $scope.partner.business_structure == 'Company') { if ($scope.partner.acn && $scope.partner.business_structure == 'Company') {
if ($scope.partner.acn.length != 9) { if ($scope.partner.acn.length != 9) {
alert('Acn is not valid'); alert('Acn is not valid');
@ -1231,6 +1275,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
function ($scope, $http, $state, Upload, commonDialog, timezone, partner) { function ($scope, $http, $state, Upload, commonDialog, timezone, partner) {
$scope.timezones = timezone.configs(); $scope.timezones = timezone.configs();
$scope.partner = partner.data; $scope.partner = partner.data;
if($scope.partner.representativeInfo != null)
{
$scope.partner.registered_address = $scope.partner.representativeInfo.address;
$scope.partner.registered_suburb = $scope.partner.representativeInfo.suburb;
$scope.partner.registered_postcode = $scope.partner.representativeInfo.postcode;
$scope.partner.registered_state = $scope.partner.representativeInfo.state;
$scope.partner.legal_representative_person = $scope.partner.representativeInfo.representative_person;
$scope.partner.legal_representative_phone = $scope.partner.representativeInfo.phone;
$scope.partner.legal_representative_email = $scope.partner.representativeInfo.email;
$scope.partner.legal_representative_job = $scope.partner.representativeInfo.job_title;
}
var origin_referrer_id = angular.copy($scope.partner.referrer_id); var origin_referrer_id = angular.copy($scope.partner.referrer_id);
var resetClientPayDescByTpey = function (type) { var resetClientPayDescByTpey = function (type) {
type = parseInt(type); type = parseInt(type);
@ -1281,6 +1336,34 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
} }
}; };
$scope.partner.sameAsContactPerson = false;
$scope.checkboxOnclick = function (){
$scope.partner.sameAsContactPerson = !($scope.partner.sameAsContactPerson);
if($scope.partner.sameAsContactPerson)
{
$scope.partner.legal_representative_person = $scope.partner.contact_person;
$scope.partner.legal_representative_phone = $scope.partner.contact_phone;
$scope.partner.legal_representative_email = $scope.partner.contact_email;
}
}
$scope.partner.sameAsAddress=false;
$scope.sameAddress = function (){
$scope.partner.sameAsAddress=!($scope.partner.sameAsAddress);
if($scope.partner.sameAsAddress)
{
$scope.partner.registered_address = $scope.partner.address;
$scope.partner.registered_suburb = $scope.partner.suburb;
$scope.partner.registered_postcode = $scope.partner.postcode;
$scope.partner.registered_state = $scope.partner.state;
}
}
$scope.listReferrers = function () { $scope.listReferrers = function () {
$http.get('/sys/orgs/referrer').then(function (resp) { $http.get('/sys/orgs/referrer').then(function (resp) {
$scope.referrers = resp.data; $scope.referrers = resp.data;
@ -2964,6 +3047,38 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
// $scope.t2city_map = angular.copy(t2city_map); // $scope.t2city_map = angular.copy(t2city_map);
$scope.partner.sameAsContactPerson = false;
$scope.checkboxOnclick = function (){
$scope.partner.sameAsContactPerson = !($scope.partner.sameAsContactPerson);
if($scope.partner.sameAsContactPerson)
{
$scope.partner.legal_representative_person = $scope.partner.contact_person;
$scope.partner.legal_representative_phone_a = $scope.partner.contact_phone_a;
$scope.partner.legal_representative_phone_c = $scope.partner.contact_phone_c;
$scope.partner.legal_representative_phone_p = $scope.partner.contact_phone_p;
$scope.partner.legal_representative_email = $scope.partner.contact_email;
}
}
$scope.partner.sameAsAddress=false;
$scope.sameAddress = function (){
$scope.partner.sameAsAddress=!($scope.partner.sameAsAddress);
if($scope.partner.sameAsAddress)
{
$scope.partner.registered_address = $scope.partner.address;
$scope.partner.registered_suburb = $scope.partner.suburb;
$scope.partner.registered_postcode = $scope.partner.postcode;
$scope.partner.registered_state = $scope.partner.state;
}
}
$scope.timezones = timezone.configs(); $scope.timezones = timezone.configs();
$scope.states = stateMap.configs(); $scope.states = stateMap.configs();
$scope.countries = countryMap.configs(); $scope.countries = countryMap.configs();
@ -3007,6 +3122,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
} }
$scope.partner.company_phone = '+' + $scope.partner.company_phone_c + ($scope.partner.company_phone_a || '') + $scope.partner.company_phone_p; $scope.partner.company_phone = '+' + $scope.partner.company_phone_c + ($scope.partner.company_phone_a || '') + $scope.partner.company_phone_p;
$scope.partner.contact_phone = '+' + $scope.partner.contact_phone_c + ($scope.partner.contact_phone_a || '') + $scope.partner.contact_phone_p; $scope.partner.contact_phone = '+' + $scope.partner.contact_phone_c + ($scope.partner.contact_phone_a || '') + $scope.partner.contact_phone_p;
$scope.partner.legal_representative_phone = '+' + $scope.partner.legal_representative_phone_c + ( $scope.partner.legal_representative_phone_a || '') + $scope.partner.legal_representative_phone_p;
if ($scope.partner.company_phone.indexOf(' ') != -1) { if ($scope.partner.company_phone.indexOf(' ') != -1) {
alert('Company Phone can not contain space character'); alert('Company Phone can not contain space character');

@ -669,6 +669,121 @@
Characters(including symbols and spaces)</p> Characters(including symbols and spaces)</p>
</div> </div>
</div> </div>
<div class="from-group">
<div>
<label><input type="checkbox" ng-click="checkboxOnclick(this)">Legal Representative Same As Contact Information</label>
</div>
</div>
</div><hr/>
</div>
<div>&nbsp;&nbsp;Legal Representative</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_person.$invalid && partnerForm.legal_representative_person.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_person-input">*
Representative Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_person"
required
name="legal_representative_person"
id="legal_representative_person-input" maxlength="50">
<div ng-messages="partnerForm.legal_representative_person.$error"
ng-if="partnerForm.legal_representative_person.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.contact_phone_p.$invalid && partnerForm.contact_phone_p.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_phone_p-input">*
Phone</label>
<div class="col-sm-2">
<div class="input-group">
<div class="input-group-addon">+</div>
<input class="form-control" required type="text"
ng-model="partner.legal_representative_phone_c"
name="legal_representative_phone_c" id="legal_representative_phone_c-input"
maxlength="3" minlength="1"
placeholder="country code">
</div>
<div ng-messages="partnerForm.legal_representative_phone_c.$error"
ng-if="partnerForm.legal_representative_phone_c.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 20 Characters</p>
</div>
</div>
<div class="col-sm-2">
<input class="form-control" type="text"
ng-model="partner.legal_representative_phone_a"
title="eg:3,当为手机号、服务电话时,可以不填"
name="legal_representative_phone_a" id="legal_representative_phone_a-input"
maxlength="2" placeholder="area code">
<div ng-messages="partnerForm.legal_representative_phone_a.$error"
ng-if="partnerForm.legal_representative_phone_a.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 2 Characters</p>
</div>
</div>
<div class="col-sm-4">
<input class="form-control" required type="text"
ng-model="partner.legal_representative_phone_p"
name="legal_representative_phone_p" id="legal_representative_phone_p-input"
maxlength="11" placeholder="phone number">
<div ng-messages="partnerForm.legal_representative_phone_p.$error"
ng-if="partnerForm.legal_representative_phone_p.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 11 Characters</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_email.$invalid && partnerForm.legal_representative_email.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_email-id">*
E-mail</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_email"
required
name="legal_representative_email" id="legal_representative_email-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_job.$invalid && partnerForm.legal_representative_job.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_job-id">*
Job title</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_job"
required
name="legal_representative_job" id="legal_representative_job-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -794,6 +909,94 @@
<!--</div>--> <!--</div>-->
</div> </div>
</div> </div>
<div>
<label><input type="checkbox" ng-click="sameAddress()"> Registered Office Address Same As Trading Address</label>
</div>
</div>
</div>
<hr/>
<div>&nbsp;&nbsp;Registered Office Address</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.address.$invalid && partnerForm.address.$dirty}">
<label class="control-label col-sm-4" for="registered_address-input">*
Registered Office Address</label>
<div class="col-sm-8">
<textarea class="form-control" ng-model="partner.registered_address"
name="registered_address"
id="registered_address-input" maxlength="200" required></textarea>
<div ng-messages="partnerForm.registered_address.$error"
ng-if="partnerForm.registered_address.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 200
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_suburb.$invalid && partnerForm.registered_suburb.$dirty}">
<label class="control-label col-sm-4" for="registered_suburb-input">*
Suburb</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_suburb"
name="registered_suburb"
id="registered_suburb-input" maxlength="50" required>
<div ng-messages="partnerForm.registered_suburb.$error"
ng-if="partnerForm.registered_suburb.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_postcode.$invalid && partnerForm.registered_postcode.$dirty}">
<label class="control-label col-sm-4" for="registered_postcode-input">*
PostCode</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_postcode"
name="registered_postcode"
id="registered_postcode-input" maxlength="10" required>
<div ng-messages="partnerForm.registered_postcode.$error"
ng-if="partnerForm.registered_postcode.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 10
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_state.$invalid && partnerForm.registered_state.$dirty}">
<label class="control-label col-sm-4" for="registered_state-input">*
State</label>
<div class="col-sm-8">
<select class="form-control" name="state" required
ng-model="partner.registered_state"
id="registered_state-input"
ng-options="state.value as state.label for state in states">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.registered_state.$error"
ng-if="partnerForm.registered_state.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label class="control-label col-sm-2" <label class="control-label col-sm-2"
for="tz-select">TimeZone</label> for="tz-select">TimeZone</label>
@ -807,6 +1010,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading" style="font-size: larger">Location <div class="panel-heading" style="font-size: larger">Location

@ -575,6 +575,120 @@
</div> </div>
</div> </div>
</div> </div>
<div>
<label><input type="checkbox" ng-click="checkboxOnclick(this)">Legal Representative Same As Contact Information</label>
</div>
</div>
<hr/>
<div>&nbsp;&nbsp;Legal Representative</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_person.$invalid && partnerForm.legal_representative_person.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_person-input">*
Representative Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_person"
required
name="legal_representative_person"
id="legal_representative_person-input" maxlength="50">
<div ng-messages="partnerForm.legal_representative_person.$error"
ng-if="partnerForm.legal_representative_person.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.contact_phone_p.$invalid && partnerForm.contact_phone_p.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_phone_p-input">*
Phone</label>
<div class="col-sm-2">
<div class="input-group">
<div class="input-group-addon">+</div>
<input class="form-control" required type="text"
ng-model="partner.legal_representative_phone_c"
name="legal_representative_phone_c" id="legal_representative_phone_c-input"
maxlength="3" minlength="1"
placeholder="country code">
</div>
<div ng-messages="partnerForm.legal_representative_phone_c.$error"
ng-if="partnerForm.legal_representative_phone_c.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 20 Characters</p>
</div>
</div>
<div class="col-sm-2">
<input class="form-control" type="text"
ng-model="partner.legal_representative_phone_a"
title="eg:3,当为手机号、服务电话时,可以不填"
name="legal_representative_phone_a" id="legal_representative_phone_a-input"
maxlength="2" placeholder="area code">
<div ng-messages="partnerForm.legal_representative_phone_a.$error"
ng-if="partnerForm.legal_representative_phone_a.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 2 Characters</p>
</div>
</div>
<div class="col-sm-4">
<input class="form-control" required type="text"
ng-model="partner.legal_representative_phone_p"
name="legal_representative_phone_p" id="legal_representative_phone_p-input"
maxlength="11" placeholder="phone number">
<div ng-messages="partnerForm.legal_representative_phone_p.$error"
ng-if="partnerForm.legal_representative_phone_p.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 11 Characters</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_email.$invalid && partnerForm.legal_representative_email.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_email-id">*
E-mail</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_email"
required
name="legal_representative_email" id="legal_representative_email-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_job.$invalid && partnerForm.legal_representative_job.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_job-id">*
Job title</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_job"
required
name="legal_representative_job" id="legal_representative_job-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div>
</div> </div>
</div> </div>
<!--end 商户联系资料--> <!--end 商户联系资料-->
@ -668,6 +782,93 @@
<!--</div>--> <!--</div>-->
</div> </div>
</div> </div>
<div>
<label><input type="checkbox" ng-click="sameAddress()"> Registered Office Address Same As Trading Address</label>
</div>
</div>
</div>
<hr/>
<div>&nbsp;&nbsp;Registered Office Address</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.address.$invalid && partnerForm.address.$dirty}">
<label class="control-label col-sm-4" for="registered_address-input">*
Registered Office Address</label>
<div class="col-sm-8">
<textarea class="form-control" ng-model="partner.registered_address"
name="registered_address"
id="registered_address-input" maxlength="200" required></textarea>
<div ng-messages="partnerForm.registered_address.$error"
ng-if="partnerForm.registered_address.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 200
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_suburb.$invalid && partnerForm.registered_suburb.$dirty}">
<label class="control-label col-sm-4" for="registered_suburb-input">*
Suburb</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_suburb"
name="registered_suburb"
id="registered_suburb-input" maxlength="50" required>
<div ng-messages="partnerForm.registered_suburb.$error"
ng-if="partnerForm.registered_suburb.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_postcode.$invalid && partnerForm.registered_postcode.$dirty}">
<label class="control-label col-sm-4" for="registered_postcode-input">*
PostCode</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_postcode"
name="registered_postcode"
id="registered_postcode-input" maxlength="10" required>
<div ng-messages="partnerForm.registered_postcode.$error"
ng-if="partnerForm.registered_postcode.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 10
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_state.$invalid && partnerForm.registered_state.$dirty}">
<label class="control-label col-sm-4" for="registered_state-input">*
State</label>
<div class="col-sm-8">
<select class="form-control" name="state" required
ng-model="partner.registered_state"
id="registered_state-input"
ng-options="state.value as state.label for state in states">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.registered_state.$error"
ng-if="partnerForm.registered_state.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label class="control-label col-sm-2" for="tz-select">TimeZone</label> <label class="control-label col-sm-2" for="tz-select">TimeZone</label>
<div class="col-sm-9"> <div class="col-sm-9">

@ -732,6 +732,46 @@
</div> </div>
</div> </div>
</div> </div>
<div ng-if="partner.representativeInfo"><hr/>
<div class="panel-heading">Legal Representative</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2">Representative Name</label>
<div class="col-sm-10">
<p class="form-control-static" ng-bind="partner.representativeInfo.representative_person "></p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">Phone</label>
<div class="col-sm-8">
<p class="form-control-static" ng-bind="partner.representativeInfo.phone"></p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">E-mail</label>
<div class="col-sm-8">
<p class="form-control-static">
<span ng-bind="partner.representativeInfo.email"></span>
</p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">Job Title</label>
<div class="col-sm-8">
<p class="form-control-static">
<span ng-bind="partner.representativeInfo.job_title"></span>
</p>
</div>
</div>
</div>
</div>
</div>
</div> </div>
<!--end 商户联系资料--> <!--end 商户联系资料-->
<div class="panel panel-default"> <div class="panel panel-default">
@ -775,6 +815,49 @@
<p class="form-control-static" ng-bind="partner.country"></p> <p class="form-control-static" ng-bind="partner.country"></p>
</div> </div>
</div> </div>
</div>
</div>
<div ng-if="partner.representativeInfo"><hr/>
<div class="panel-heading">Registered Address Information</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">Registered Address</label>
<div class="col-sm-8">
<p class="form-control-static" ng-bind="partner.representativeInfo.address"></p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">Suburb</label>
<div class="col-sm-8">
<p class="form-control-static" ng-bind="partner.representativeInfo.suburb"></p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">PostCode</label>
<div class="col-sm-8">
<p class="form-control-static" ng-bind="partner.representativeInfo.postcode"></p>
</div>
</div>
<div class="form-group col-sm-6">
<label class="control-label col-sm-4">State</label>
<div class="col-sm-8">
<p class="form-control-static" ng-bind="partner.representativeInfo.state"></p>
</div>
</div>
</div>
</div>
<hr/>
</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group "> <div class="form-group ">
<label class="control-label col-sm-2">Timezone</label> <label class="control-label col-sm-2">Timezone</label>
<div class="col-sm-10"> <div class="col-sm-10">

@ -579,6 +579,89 @@
Characters(including symbols and spaces)</p> Characters(including symbols and spaces)</p>
</div> </div>
</div> </div>
<div>
<label><input type="checkbox" ng-click="checkboxOnclick(this)">Legal Representative Same As Contact Information</label>
</div>
</div>
</div>
<hr/>
<div>&nbsp;&nbsp;Legal Representative</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_person.$invalid && partnerForm.legal_representative_person.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_person-input">*
Representative Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_person"
required
name="legal_representative_person"
id="legal_representative_person-input" maxlength="50">
<div ng-messages="partnerForm.legal_representative_person.$error"
ng-if="partnerForm.legal_representative_person.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_phone.$invalid && partnerForm.legal_representative_phone.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_phone-input">* Phone</label>
<div class="col-sm-8">
<input type="text" class="form-control" ng-model="partner.legal_representative_phone" required
name="legal_representative_phone" id="legal_representative_phone-input" maxlength="20">
</div>
<div ng-messages="partnerForm.legal_representative_phone.$error"
ng-if="partnerForm.legal_representative_phone.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 20
Characters(including symbols and spaces)</p>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_email.$invalid && partnerForm.legal_representative_email.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_email-id">*
E-mail</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_email"
required
name="legal_representative_email" id="legal_representative_email-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.legal_representative_job.$invalid && partnerForm.legal_representative_job.$dirty}">
<label class="control-label col-sm-2" for="legal_representative_job-id">*
Job title</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.legal_representative_job"
required
name="legal_representative_job" id="legal_representative_job-id"
maxlength="50">
</div>
<div ng-messages="partnerForm.legal_representative_email.$error"
ng-if="partnerForm.legal_representative_email.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
<p class="small text-danger" ng-message="maxlength">Less Than 50
Characters(including symbols and spaces)</p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -679,6 +762,93 @@
<!--</div>--> <!--</div>-->
<!--</div>--> <!--</div>-->
<!--</div>--> <!--</div>-->
<div>
<label><input type="checkbox" ng-click="sameAddress()"> Registered Office Address Same As Trading Address</label>
</div>
</div>
</div>
<hr/>
<div>&nbsp;&nbsp;Registered Office Address</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.address.$invalid && partnerForm.address.$dirty}">
<label class="control-label col-sm-4" for="registered_address-input">*
Registered Office Address</label>
<div class="col-sm-8">
<textarea class="form-control" ng-model="partner.registered_address"
name="registered_address"
id="registered_address-input" maxlength="200" required></textarea>
<div ng-messages="partnerForm.registered_address.$error"
ng-if="partnerForm.registered_address.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 200
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_suburb.$invalid && partnerForm.registered_suburb.$dirty}">
<label class="control-label col-sm-4" for="registered_suburb-input">*
Suburb</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_suburb"
name="registered_suburb"
id="registered_suburb-input" maxlength="50" required>
<div ng-messages="partnerForm.registered_suburb.$error"
ng-if="partnerForm.registered_suburb.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 50
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_postcode.$invalid && partnerForm.registered_postcode.$dirty}">
<label class="control-label col-sm-4" for="registered_postcode-input">*
PostCode</label>
<div class="col-sm-8">
<input class="form-control" ng-model="partner.registered_postcode"
name="registered_postcode"
id="registered_postcode-input" maxlength="10" required>
<div ng-messages="partnerForm.registered_postcode.$error"
ng-if="partnerForm.registered_postcode.$dirty">
<p class="small text-danger" ng-message="maxlength">Less
Than 10
Characters(including symbols and spaces)</p>
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
<div class="form-group col-sm-6"
ng-class="{'has-error':partnerForm.registered_state.$invalid && partnerForm.registered_state.$dirty}">
<label class="control-label col-sm-4" for="registered_state-input">*
State</label>
<div class="col-sm-8">
<select class="form-control" name="state" required
ng-model="partner.registered_state"
id="registered_state-input"
ng-options="state.value as state.label for state in states">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.registered_state.$error"
ng-if="partnerForm.registered_state.$dirty">
<p class="small text-danger" ng-message="required">Required
Field</p>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label class="control-label col-sm-2" for="tz-select">TimeZone</label> <label class="control-label col-sm-2" for="tz-select">TimeZone</label>
<div class="col-sm-9"> <div class="col-sm-9">
@ -690,6 +860,9 @@
</div> </div>
</div> </div>
</div> </div>
<span id="merchant_location" hidden>{{merchant_location}}</span> <span id="merchant_location" hidden>{{merchant_location}}</span>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading" style="font-size: larger">Location <div class="panel-heading" style="font-size: larger">Location

@ -7,7 +7,7 @@
<div class="col-sm-12"> <div class="col-sm-12">
<form class="form-horizontal" novalidate name="rate_form"> <form class="form-horizontal" novalidate name="rate_form">
<div class="form-group"> <div class="form-group">
<label class="control-label col-sm-4">Clean Days</label> <label class="control-label col-sm-4">Clear Days</label>
<div class="col-sm-6"> <div class="col-sm-6">
<div class="input-group"> <div class="input-group">
<select class="form-control" ng-model="rate.clean_days" id="citySelect" ng-change="changeDays()"> <select class="form-control" ng-model="rate.clean_days" id="citySelect" ng-change="changeDays()">

Loading…
Cancel
Save