微信子商户号修改接口开发

master
dalong306 4 years ago
parent 768dd859f0
commit 0517c8ec8b

@ -85,6 +85,8 @@ public class NewSubMerchantIdApply {
@JSONField(name = "business_type")
private String business_type;
private String sub_mch_id;
public JSONObject insertObject(JSONObject client) {
JSONObject params = new JSONObject();
if(StringUtils.isNotEmpty(merchant_name)){
@ -139,6 +141,10 @@ public class NewSubMerchantIdApply {
params.put("merchant_country_code","036");//固定值036-澳大利亚国家编码
params.put("merchant_remark",client.getString("client_moniker"));
if(StringUtils.isNotEmpty(sub_mch_id)) {
params.put("sub_mch_id", sub_mch_id);
}
return params;
}
@ -163,6 +169,7 @@ public class NewSubMerchantIdApply {
put("principal_name",subMerchantApplyInfo.getString("principal_name"));
put("principal_id_number",subMerchantApplyInfo.getString("principal_id_number"));
put("business_type",subMerchantApplyInfo.getString("business_type"));
put("sub_merchant_id",subMerchantApplyInfo.getString("sub_merchant_id"));
}};
}
@ -320,4 +327,12 @@ public class NewSubMerchantIdApply {
public void setBusiness_type(String business_type) {
this.business_type = business_type;
}
public String getSub_mch_id() {
return sub_mch_id;
}
public void setSub_mch_id(String sub_mch_id) {
this.sub_mch_id = sub_mch_id;
}
}

@ -110,6 +110,7 @@ import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.http.util.TextUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;
@ -880,7 +881,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
private void saveWechatMcc(JSONObject partner){
JSONObject wxGoodMcc = paymentChannelMccGoodMapper.findWechatPayMccByClientId(partner.getIntValue("client_id"));
if (wxGoodMcc == null || wxGoodMcc.isEmpty()) {
if ((wxGoodMcc == null || wxGoodMcc.isEmpty())&& !TextUtils.isEmpty(partner.getString("mc_code"))) {
wxGoodMcc = new JSONObject();
wxGoodMcc.put("client_id",partner.getIntValue("client_id"));
wxGoodMcc.put("mc_code",partner.getString("mc_code"));
@ -890,8 +891,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
paymentChannelMccGoodMapper.save(wxGoodMcc);
return;
}
if(!TextUtils.isEmpty(partner.getString("mc_code"))) {
wxGoodMcc.put("mc_code", partner.getString("mc_code"));
paymentChannelMccGoodMapper.update(wxGoodMcc);
}
}
@ -5751,7 +5754,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
params.put("operator", manager.getString("display_name"));
sysWxMerchantApplyMapper.updateSubMerchantInfoByMerchantAppId(params);
Element elem = wxPayClient.modfiySubMerchant(subMerchantIdApply.getMerchant_id(), subMerchantInfo);
String sub_merchant_id = elem.elementText("sub_mch_id");

@ -246,11 +246,11 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
});
return;
}
if (!$scope.partner.business_structure||$scope.partner.business_structure == '') {
if ($scope.partner.enable_cross_payment&&(!$scope.partner.business_structure||$scope.partner.business_structure == '')) {
alert('Please select the business structure');
return;
}
if ($scope.partner.business_structure!='Registered body(Sole Trader)') {
if ($scope.partner.business_structure&&$scope.partner.business_structure!='Registered body(Sole Trader)') {
if ($scope.partner.certificat_expire_date_d) {
$scope.partner.certificat_expire_date = $filter('dateConversionStr')($scope.partner.certificat_expire_date_d)
} else if ($scope.partner.certificat_expire_date_premanent) {
@ -728,7 +728,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
alert('Please select the business structure');
return;
}
if ($scope.partner.business_structure!='Registered body(Sole Trader)') {
if ($scope.partner.business_structure&&$scope.partner.business_structure!='Registered body(Sole Trader)') {
if ($scope.partner.certificat_expire_date_d) {
$scope.partner.certificat_expire_date = $filter('dateConversionStr')($scope.partner.certificat_expire_date_d)
} else if ($scope.partner.certificat_expire_date_premanent) {

@ -5689,23 +5689,23 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
// $scope.hideMerchantInfo = function () {
// $scope.showMoreMerchantInfo = !$scope.showMoreMerchantInfo;
// };
// $scope.updateSubMerchantId = function (merchant_app_id) {
// $uibModal.open({
// templateUrl: '/static/payment/partner/templates/update_apply_wx_sub_merchant_id.html',
// controller: 'updateApplyWxSubMerchantIdCtrl',
// resolve: {
// merchantInfo: $scope.partner,
// merchantIds: ['$http', '$stateParams', function ($http) {
// return $http.get('/sys/partners/' + $scope.partner.client_moniker + '/get_merchant_ids');
// }],
// subMerchantInfo: ['$http', '$stateParams', function ($http) {
// return $http.get('/sys/partners/' + $scope.partner.client_moniker + '/get_merchant_ids/' + merchant_app_id);
// }]
// }
// }).result.then(function () {
// $scope.loadSubMerchantInfos();
// })
// }
$scope.updateSubMerchantId = function (merchant_app_id) {
$uibModal.open({
templateUrl: '/static/payment/partner/templates/update_apply_wx_sub_merchant_id.html',
controller: 'updateApplyWxSubMerchantIdCtrl',
resolve: {
merchantInfo: $scope.partner,
merchantIds: ['$http', '$stateParams', function ($http) {
return $http.get('/sys/partners/' + $scope.partner.client_moniker + '/get_merchant_ids');
}],
subMerchantInfo: ['$http', '$stateParams', function ($http) {
return $http.get('/sys/partners/' + $scope.partner.client_moniker + '/get_merchant_ids/' + merchant_app_id);
}]
}
}).result.then(function () {
$scope.loadSubMerchantInfos();
})
}
// $scope.useRpaySubMerchantId = function (sub_merchant_id) {
// $http.put('/sys/partners/' + $scope.partner.client_moniker + '/rpay_payment_config', { rpay_enterprise_id: sub_merchant_id }).then(function (resp) {
// commonDialog.alert({
@ -6039,8 +6039,8 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
$scope.merchantIds = merchantIds.data;
$scope.businessTypesMap=businessTypesMap.configs();
if ($scope.subMerchantInfo.business_structure) {
$scope.subMerchantInfo.merchant_type = $scope.subMerchantInfo.business_structure != 'Registered body(Sole Trader)' ? "ENTERPRISE" : "INDIVIDUAL";
if($scope.subMerchantInfo.extra_merchant_type ){
$scope.subMerchantInfo.merchant_type=$scope.subMerchantInfo.extra_merchant_type;
}
if($scope.subMerchantInfo.industry) {
$scope.subMerchantInfo.industry = $filter('newWxMerchantsFilter')($scope.subMerchantInfo.industry);
@ -6049,9 +6049,38 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
$scope.subMerchantInfo.mcc_code=parseInt($scope.subMerchantInfo.mcc_code);
}
// if($scope.subMerchantInfo.certificat_expire_date) {
// // var datestr = subMerchantInfo.certificat_expire_date.replace(/-/g, '/');
// $scope.subMerchantInfo.certificat_expire_date=new Date($scope.subMerchantInfo.certificat_expire_date);
// }
if($scope.subMerchantInfo.certificat_expire_date) {
// var datestr = subMerchantInfo.certificat_expire_date.replace(/-/g, '/');
$scope.subMerchantInfo.certificat_expire_date = new Date($scope.subMerchantInfo.certificat_expire_date);
if( $scope.subMerchantInfo.certificat_expire_date=="PERMANENT"){
$scope.subMerchantInfo.certificat_expire_date_premanent=true;
}else if( $scope.subMerchantInfo.certificat_expire_date=="N/A"){
$scope.subMerchantInfo.certificat_expire_date_NA=true;
}else {
var datestr = $scope.subMerchantInfo.certificat_expire_date.replace(/-/g, '/');
$scope.subMerchantInfo.certificat_expire_date_d = new Date(datestr);
}
}
$scope.checkExpriedate=function (value) {
if(value){
$scope.subMerchantInfo.certificat_expire_date_premanent=false;
$scope.subMerchantInfo.certificat_expire_date_NA=false;
}
}
$scope.checkExpriedateOther=function (value) {
if(value=='PERMANENT'){
if($scope.subMerchantInfo.certificat_expire_date_premanent){
$scope.subMerchantInfo.certificat_expire_date_NA=false;
$scope.subMerchantInfo.certificat_expire_date_d=null;
}
}else if(value=='N/A'){
if($scope.subMerchantInfo.certificat_expire_date_NA){
$scope.subMerchantInfo.certificat_expire_date_premanent=false;
$scope.subMerchantInfo.certificat_expire_date_d=null;
}
}
}
$scope.updateApply = function (form) {
$scope.errmsg = null;
@ -6077,7 +6106,8 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
merchant_type: $scope.subMerchantInfo.merchant_type,
mcc_code : $scope.subMerchantInfo.mcc_code,
address: $scope.subMerchantInfo.address,
business_type: $scope.subMerchantInfo.business_type
business_type:$scope.subMerchantInfo.business_type,
sub_mch_id:$scope.subMerchantInfo.sub_merchant_id,
};
if(params.business_type=='ONLINE'){
params.address=null;
@ -6085,23 +6115,39 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
else if(params.business_type=='OFFLINE'){
params.company_website=null;
}
if ($scope.subMerchantInfo.merchant_type == 'ENTERPRISE') {
params.director_name = $scope.subMerchantInfo.director_name;
params.director_id_number = $scope.subMerchantInfo.director_id_number;
// if($scope.subMerchantInfo.merchant_type == 'ENTERPRISE'){
// params.director_name = $scope.subMerchantInfo.director_name;
// params.director_id_number = $scope.subMerchantInfo.director_id_number;
// params.company_register_no = $scope.subMerchantInfo.company_register_no;
// params.certificat_expire_date = $scope.subMerchantInfo.certificat_expire_date;
// if($scope.subMerchantInfo.certificat_expire_date) {
// params.certificat_expire_date = $filter('dateConversionStr')($scope.subMerchantInfo.certificat_expire_date)
// }
// }else{
// params.principal_name = $scope.subMerchantInfo.principal_name;
// params.principal_id_number = $scope.subMerchantInfo.principal_id_number;
// }
if(params.merchant_type == 'ENTERPRISE'){
params.company_register_no = $scope.subMerchantInfo.company_register_no;
params.certificat_expire_date = $scope.subMerchantInfo.certificat_expire_date;
if ($scope.subMerchantInfo.certificat_expire_date) {
params.certificat_expire_date = $filter('dateConversionStr')($scope.subMerchantInfo.certificat_expire_date)
if($scope.subMerchantInfo.certificat_expire_date_d) {
params.certificat_expire_date = $filter('dateConversionStr')($scope.subMerchantInfo.certificat_expire_date_d)
}else if($scope.subMerchantInfo.certificat_expire_date_premanent){
params.certificat_expire_date="PERMANENT";
}
else if($scope.subMerchantInfo.certificat_expire_date_NA){
params.certificat_expire_date="N/A";
}else{
params.principal_name = $scope.subMerchantInfo.principal_name;
params.principal_id_number = $scope.subMerchantInfo.principal_id_number;
alert("Certificate expiration time is required");
return;
}
}
$http.put('/sys/partners/' + $scope.merchantInfo.client_moniker + '/get_merchant_ids/'+$scope.subMerchantInfo.merchant_app_id, params).then(function (resp) {
$scope.apply_sub_merchant_id = resp.data;
$scope.$close();
commonDialog.confirm({ title: 'Confirm', content: '微信商户进件已修改成功!' })
commonDialog.confirm({title: 'Confirm', content: 'Successfully modified'})
}, function (resp) {
commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'})
});
}
}]);

@ -40,7 +40,7 @@
<div class="form-group"
ng-class="{'has-error':subForm.merchant_storename.$invalid && subForm.merchant_storename.$dirty}">
<label class="control-label col-sm-3" for="merchant_storename_input">* Merchant Store Name</label>
<label class="control-label col-sm-3" for="merchant_storename_input">* Merchant Short Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.short_name"
type="text" name="merchant_storename" id="merchant_storename_input" required maxlength="50">

@ -93,9 +93,9 @@
ng-click="queryWechatSubMerchantIdStatus()">
<i class="fa fa-search"></i> Result
</button>
<button role="button" class="btn btn-info" title="modify Sub Merchant Id" disabled>
Modify
</button>
<!--<button role="button" class="btn btn-info" title="modify Sub Merchant Id" disabled>-->
<!--Modify-->
<!--</button>-->
</div>
</div>
</div>
@ -135,9 +135,11 @@
class="text-red">(当前使用)</small>
</b>
<span>
<a role="button" ng-click="useSubMerchantId(id_apply.sub_merchant_id)">use</a>
<a role="button" ng-click="useSubMerchantId(id_apply.sub_merchant_id)">Use</a>
<a role="button" style="margin-left: 10px;"
ng-click="checkDetail(id_apply,'Wechat')">Detail</a>
<a role="button" style="margin-left: 10px;"
ng-click="checkDetail(id_apply,'Wechat')">detail</a>
ng-click="updateSubMerchantId(id_apply.merchant_app_id)">Modify</a>
</span>
</li>
</ul>

@ -10,7 +10,7 @@
ng-class="{'has-error':subForm.merchant_name.$invalid && subForm.merchant_name.$dirty}">
<label class="control-label col-sm-3" for="merchant_name_input">* Merchant Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.company_name"
<input class="form-control" ng-model="subMerchantInfo.company_name" disabled="disabled"
type="text" name="merchant_name" id="merchant_name_input" required maxlength="50">
<div ng-messages="subForm.merchant_name.$error" ng-if="subForm.merchant_name.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
@ -40,13 +40,13 @@
<div class="form-group"
ng-class="{'has-error':subForm.merchant_storename.$invalid && subForm.merchant_storename.$dirty}">
<label class="control-label col-sm-3" for="merchant_storename_input">* Merchant Store Name</label>
<label class="control-label col-sm-3" for="merchant_storename_input">* Merchant Short Name</label>
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.short_name"
type="text" name="merchant_storename" id="merchant_storename_input" required maxlength="50">
type="text" name="merchant_storename" id="merchant_storename_input" required maxlength="20">
<div ng-messages="subForm.merchant_storename.$error" ng-if="subForm.merchant_storename.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 50</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 20</p>
</div>
</div>
</div>
@ -95,6 +95,7 @@
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.company_website"
type="url" name="website" id="website_input" required maxlength="128">
<p class="small " >(Not required when business type is Offline scenario)</p>
<div ng-messages="subForm.company_website.$error" ng-if="subForm.company_website.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
</div>
@ -108,6 +109,7 @@
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.address"
type="text" name="address" id="address_input" required maxlength="128">
<p class="small " >(Not required when business type is Online scenario)</p>
<div ng-messages="subForm.address.$error" ng-if="subForm.address.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 128</p>
@ -119,10 +121,11 @@
ng-class="{'has-error':subForm.office_phone.$invalid && subForm.office_phone.$dirty}">
<label class="control-label col-sm-3" for="office_phone_input">* Office Phone</label>
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.company_phone"
<input class="form-control" ng-model="subMerchantInfo.company_phone" maxlength="20"
type="tel" name="office_phone" id="office_phone_input" required>
<div ng-messages="subForm.office_phone.$error" ng-if="subForm.office_phone.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 20</p>
</div>
</div>
@ -187,18 +190,18 @@
</div>
<!-- store address 店铺地址 -->
<div class="form-group"
ng-class="{'has-error':subForm.address.$invalid && subForm.address.$dirty}">
<label class="control-label col-sm-3" for="address_input">* Store Address</label>
<div class="col-sm-8">
<input class="form-control" ng-model="subMerchantInfo.address"
type="text" name="address" id="address_input" required maxlength="128">
<div ng-messages="subForm.address.$error" ng-if="subForm.address.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 128</p>
</div>
</div>
</div>
<!--<div class="form-group"-->
<!--ng-class="{'has-error':subForm.address.$invalid && subForm.address.$dirty}">-->
<!--<label class="control-label col-sm-3" for="address_input">* Store Address</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" ng-model="subMerchantInfo.address"-->
<!--type="text" name="address" id="address_input" required maxlength="128">-->
<!--<div ng-messages="subForm.address.$error" ng-if="subForm.address.$dirty">-->
<!--<p class="small text-danger" ng-message="required">Required Field</p>-->
<!--<p class="small text-danger" ng-message="maxlength">Length is more than 128</p>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<div class="form-group"
@ -209,7 +212,7 @@
<select class="form-control" ng-model="subMerchantInfo.merchant_type"
id="merchant_type_select"
name="merchant_type" >
name="merchant_type" required>
<option value="">Please Choose</option>
<option value="ENTERPRISE" >ENTERPRISE</option>
<option value="INDIVIDUAL">INDIVIDUAL</option>
@ -233,29 +236,59 @@
</div>
</div>
<!-- 注册证书过期时间 -->
<!--<div class="form-group" ng-if="subMerchantInfo.merchant_type == 'ENTERPRISE'"-->
<!--ng-class="{'has-error':subForm.certificat_expire_date.$invalid && subForm.certificat_expire_date.$dirty}">-->
<!--<label class="control-label col-sm-3" for="certificat_expire_date_input">* {{'apply_sub_merchant_id.certificat_expire_date'|translate}}</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" id="certificat_expire_date_input"-->
<!--ng-model="subMerchantInfo.certificat_expire_date"-->
<!--uib-datepicker-popup size="10"-->
<!--name="certificat_expire_date"-->
<!--is-open="certificat_expire_date.open"-->
<!--ng-click="certificat_expire_date.open=true"-->
<!--&gt;-->
<!--<div ng-messages="subForm.certificat_expire_date.$error" ng-if="subForm.certificat_expire_date.$dirty">-->
<!--<p class="small text-danger" ng-message="required">Required Field</p>-->
<!--<p class="small text-danger" ng-message="maxlength">Length is more than 50</p>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!-- 注册证书过期时间 -->
<div class="form-group" ng-if="subMerchantInfo.merchant_type == 'ENTERPRISE'"
ng-class="{'has-error':subForm.certificat_expire_date.$invalid && subForm.certificat_expire_date.$dirty}">
<label class="control-label col-sm-3" for="certificat_expire_date_input">* Expiration Date of Registration Certificat</label>
<div class="col-sm-8">
<input class="form-control" id="certificat_expire_date_input"
ng-model="subMerchantInfo.certificat_expire_date"
<input class="control-label col-sm-4" id="certificat_expire_date_input"
ng-model="subMerchantInfo.certificat_expire_date_d"
uib-datepicker-popup size="10"
required
ng-change="checkExpriedate(subMerchantInfo.certificat_expire_date_d)"
name="certificat_expire_date"
is-open="certificat_expire_date.open"
ng-click="certificat_expire_date.open=true"
>
<div ng-messages="subForm.certificat_expire_date.$error" ng-if="subForm.certificat_expire_date.$dirty">
<p class="small text-danger" ng-message="required">Required Field</p>
<p class="small text-danger" ng-message="maxlength">Length is more than 50</p>
</div>
&nbsp;
<span class="checkbox-inline">
<input type="checkbox" ng-change="checkExpriedateOther('PERMANENT')" ng-model="subMerchantInfo.certificat_expire_date_premanent"> <p>PERMANENT</p>
</span>
<span class="checkbox-inline">
<input type="checkbox" ng-change="checkExpriedateOther('N/A')" ng-model="subMerchantInfo.certificat_expire_date_NA"><p>N/A</p>
</span>
<!--<div ng-messages="subForm.certificat_expire_date.$error" ng-if="subForm.certificat_expire_date.$dirty">-->
<!--<p class="small text-danger" ng-message="required">Required Field</p>-->
<!--<p class="small text-danger" ng-message="maxlength">Length is more than 50</p>-->
<!--</div>-->
</div>
</div>
<!-- director name 法人姓名 -->
<!--<div class="form-group" ng-if="subMerchantInfo.merchant_type == 'ENTERPRISE'"-->
<!--ng-class="{'has-error':subForm.director_name.$invalid && subForm.director_name.$dirty}">-->
<!--<label class="control-label col-sm-3" for="director_name_input">Director Name</label>-->
<!--<label class="control-label col-sm-3" for="director_name_input">{{'apply_sub_merchant_id.director_name'|translate}}(Not mandatory)</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" ng-model="subMerchantInfo.director_name" maxlength="128"-->
<!--type="text" name="director_name" id="director_name_input">-->
@ -269,7 +302,7 @@
<!--&lt;!&ndash; director id number 法人身份证号&ndash;&gt;-->
<!--<div class="form-group" ng-if="subMerchantInfo.merchant_type == 'ENTERPRISE'"-->
<!--ng-class="{'has-error':subForm.director_id_number.$invalid && subForm.director_id_number.$dirty}">-->
<!--<label class="control-label col-sm-3" for="director_id_number_input">Director Id</label>-->
<!--<label class="control-label col-sm-3" for="director_id_number_input">{{'apply_sub_merchant_id.director_id'|translate}}(Not mandatory)</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" ng-model="subMerchantInfo.director_id_number" maxlength="128"-->
<!--type="text" name="director_id_number" id="director_id_number_input">-->
@ -284,7 +317,7 @@
<!--&lt;!&ndash; principal name 负责人姓名 &ndash;&gt;-->
<!--<div class="form-group" ng-if="subMerchantInfo.merchant_type != 'ENTERPRISE'"-->
<!--ng-class="{'has-error':subForm.principal_name.$invalid && subForm.principal_name.$dirty}">-->
<!--<label class="control-label col-sm-3" for="principal_name_input">Principal Name</label>-->
<!--<label class="control-label col-sm-3" for="principal_name_input">{{'apply_sub_merchant_id.principal_name'|translate}}(Not mandatory)</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" ng-model="subMerchantInfo.principal_name" maxlength="128"-->
<!--type="text" name="principal_name" id="principal_name_input">-->
@ -298,7 +331,7 @@
<!--&lt;!&ndash; principal id number 负责人身份证号 &ndash;&gt;-->
<!--<div class="form-group" ng-if="subMerchantInfo.merchant_type != 'ENTERPRISE'"-->
<!--ng-class="{'has-error':subForm.principal_id_number.$invalid && subForm.principal_id_number.$dirty}">-->
<!--<label class="control-label col-sm-3" for="principal_id_number_input">Principal ID Number</label>-->
<!--<label class="control-label col-sm-3" for="principal_id_number_input">{{'apply_sub_merchant_id.principal_id'|translate}}(Not mandatory)</label>-->
<!--<div class="col-sm-8">-->
<!--<input class="form-control" ng-model="subMerchantInfo.principal_id_number" maxlength="128"-->
<!--type="text" name="principal_id_number_number" id="principal_id_number_input">-->

Loading…
Cancel
Save