@ -0,0 +1,15 @@
|
|||||||
|
package au.com.royalpay.payment.manage.support.cms.core;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
public interface AppStyleService {
|
||||||
|
JSONObject listAppStyleGroup(int page, int limit);
|
||||||
|
|
||||||
|
JSONObject getAppStyleByStyleId(String style_id);
|
||||||
|
|
||||||
|
void switchGroupByStyleId(String style_id);
|
||||||
|
|
||||||
|
void addAppStyle(String style_id, JSONObject appStyleGroup);
|
||||||
|
|
||||||
|
void updateAppStyleByStyleId(String style_id, String originStyleId, JSONObject appStyleGroup);
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
package au.com.royalpay.payment.manage.support.cms.core.Impl;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.manage.support.cms.core.AppStyleService;
|
||||||
|
import au.com.royalpay.payment.tools.cms.RoyalPayCMSSupport;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class AppStyleServiceImpl implements AppStyleService {
|
||||||
|
|
||||||
|
@Value("${app.cms.host}")
|
||||||
|
private String cmsHost;
|
||||||
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||||
|
@Resource
|
||||||
|
private RoyalPayCMSSupport royalPayCMSSupport;
|
||||||
|
@Override
|
||||||
|
public JSONObject listAppStyleGroup(int page, int limit) {
|
||||||
|
return royalPayCMSSupport.listAppStyleGroup(page,limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject getAppStyleByStyleId(String style_id) {
|
||||||
|
return royalPayCMSSupport.getAppStyleByStyleId(style_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void switchGroupByStyleId(String style_id) {
|
||||||
|
royalPayCMSSupport.switchGroupByStyleId(style_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addAppStyle(String style_id, JSONObject appStyleGroup) {
|
||||||
|
royalPayCMSSupport.addAppStyle(style_id,appStyleGroup);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAppStyleByStyleId(String style_id, String originStyleId, JSONObject appStyleGroup) {
|
||||||
|
royalPayCMSSupport.updateAppStyleByStyleId(style_id,originStyleId,appStyleGroup);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package au.com.royalpay.payment.manage.support.cms.web;
|
||||||
|
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.manage.permission.manager.ManagerMapping;
|
||||||
|
import au.com.royalpay.payment.manage.support.cms.core.AppStyleService;
|
||||||
|
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@ManagerMapping(value = "/app/cms/app_style", role = {ManagerRole.SITE_MANAGER})
|
||||||
|
public class AppStyleController {
|
||||||
|
@Resource
|
||||||
|
private AppStyleService appStyleService;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/style_group", method = RequestMethod.GET)
|
||||||
|
public JSONObject listAppStyleGroup(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int limit) {
|
||||||
|
return appStyleService.listAppStyleGroup(page, limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/style_group/{style_id}", method = RequestMethod.GET)
|
||||||
|
public JSONObject getAppStyleByStyleId(@PathVariable String style_id) {
|
||||||
|
return appStyleService.getAppStyleByStyleId(style_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/style_group/{style_id}", method = RequestMethod.PUT)
|
||||||
|
public void switchGroupByStyleId(@PathVariable String style_id) {
|
||||||
|
appStyleService.switchGroupByStyleId(style_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/style_group", method = RequestMethod.POST)
|
||||||
|
public void addOneGroupAppStyle(@RequestParam String style_id, @RequestBody JSONObject appStyleGroup) {
|
||||||
|
appStyleService.addAppStyle(style_id, appStyleGroup);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/style_group/{style_id}/style", method = RequestMethod.PUT)
|
||||||
|
public void updateAppStyleByStyleId(@PathVariable String style_id,@RequestParam String originStyleId, @RequestBody JSONObject appStyleGroup) {
|
||||||
|
appStyleService.updateAppStyleByStyleId(style_id, originStyleId, appStyleGroup);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
<div ui-view>
|
||||||
|
<section class="content-header">
|
||||||
|
<h1>APP_STYLE</h1>
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a ui-sref="cms">网站管理</a></li>
|
||||||
|
<li>app图标</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
<section class="content" >
|
||||||
|
<div class="box box-warning">
|
||||||
|
<div class="box-body">
|
||||||
|
<div class="form-inline">
|
||||||
|
<div class="form-group">
|
||||||
|
<a class="btn btn-success" ui-sref=".app_style_save">
|
||||||
|
<i class="fa fa-plus"></i> New App Style
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box box-default">
|
||||||
|
<div class="box-body table-responsive">
|
||||||
|
<table class="table table-bordered table-hover table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Published</th>
|
||||||
|
<th>Operation</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr ng-repeat="appStyleGroup in appStyleGroups" class="ng-scope">
|
||||||
|
<td><a role="button" ui-sref=".app_style_preview({style_id:appStyleGroup.style_id})" ng-bind="appStyleGroup.style_id"></a></td>
|
||||||
|
<td>
|
||||||
|
<a title="Toggle publish status">
|
||||||
|
<i class="fa" ng-class="{'fa-check text-success':appStyleGroup.is_valid,'fa-remove text-danger':!appStyleGroup.is_valid}"></i>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a role="button" ui-sref=".app_style_edit({style_id:appStyleGroup.style_id})" title="edit"><i class="fa fa-edit"></i></a>
|
||||||
|
<a role="button" ui-sref=".app_style_preview({style_id:appStyleGroup.style_id})" title="preview"><i class="fa fa-eye"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="box-footer">
|
||||||
|
<uib-pagination class="pagination"
|
||||||
|
total-items="pagination.totalCount"
|
||||||
|
boundary-links="true"
|
||||||
|
ng-model="pagination.page"
|
||||||
|
items-per-page="pagination.limit"
|
||||||
|
max-size="10"
|
||||||
|
ng-change="appStyleGroupList()"
|
||||||
|
previous-text="‹"
|
||||||
|
next-text="›"
|
||||||
|
first-text="«"
|
||||||
|
last-text="»"></uib-pagination>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
@ -0,0 +1,67 @@
|
|||||||
|
<div ui-view xmlns="http://www.w3.org/1999/html">
|
||||||
|
<section class="content-header">
|
||||||
|
<h1>APP_STYLE</h1>
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a ui-sref="cms">网站管理</a></li>
|
||||||
|
<li><a ui-sref="^" ui-sref-opts="{reload:true}">app图标</a></li>
|
||||||
|
<li class="active" ng-bind="!ctrl.flag?'Edit Article':'New Article'"></li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
<section class="content" >
|
||||||
|
<div class="box box-warning">
|
||||||
|
<div class="box-body">
|
||||||
|
<div class="form-inline">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label" for="short-name-search">title</label>
|
||||||
|
<input type="text" class="form-control" id="short-name-search" name="style_id"
|
||||||
|
ng-model="params.style_id" required>
|
||||||
|
<div class="checkbox-inline" ng-if="!ctrl.flag">
|
||||||
|
<label><input role="button" type="radio" ng-value="true" ng-model="entity.appStyle[0].is_valid" ng-change="toggleAppStyleIsValid(params.style_id)"> Published</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<div class="form-group">-->
|
||||||
|
<!--<button class="btn btn-success" type="button" ng-click="addSpecOption()">-->
|
||||||
|
<!--<i class="fa fa-plus"></i> New App Style-->
|
||||||
|
<!--</button>-->
|
||||||
|
<!--</div>-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box box-default">
|
||||||
|
<div class="alert alert-danger" ng-if="errmsg" ng-bind="errmsg"></div>
|
||||||
|
<div class="box-body table-responsive">
|
||||||
|
<table class="table table-bordered table-hover table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Key</th>
|
||||||
|
<th>Value</th>
|
||||||
|
<!--<th class=>Operation</th>-->
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr ng-repeat="appStyle in entity.appStyle">
|
||||||
|
<td>
|
||||||
|
<input class="form-control" ng-model="appStyle.style_key" placeholder="Key" disabled>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input class="form-control" name="style_value" ng-model="appStyle.style_value" placeholder="Value">
|
||||||
|
</td>
|
||||||
|
<!--<td>-->
|
||||||
|
<!--<button type="button" ng-click="delSpecOption($index)"-->
|
||||||
|
<!--class="btn btn-default" title="删除">-->
|
||||||
|
<!--<i class="fa fa-trash-o"></i> 删除-->
|
||||||
|
<!--</button>-->
|
||||||
|
<!--</td>-->
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-success" type="button" ng-click="saveOneGroupAppStyle(style_form)" ng-disabled="ctrl.sending">Submit</button>
|
||||||
|
<a role="button" class="btn btn-danger" ui-sref="^" ui-sref-opts="{reload:true}">Cancel</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
@ -0,0 +1,46 @@
|
|||||||
|
<div ui-view>
|
||||||
|
<section class="content-header">
|
||||||
|
<h1>APP_STYLE</h1>
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a ui-sref="cms">网站管理</a></li>
|
||||||
|
<li><a ui-sref="^" ui-sref-opts="{reload:true}">app图标</a></li>
|
||||||
|
<li class="active">app图标详情</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
<section class="content" >
|
||||||
|
<div class="box box-warning">
|
||||||
|
<div class="box-body">
|
||||||
|
<div class="form-inline">
|
||||||
|
<div class="form-group">
|
||||||
|
<a class="btn btn-success" ui-sref="cms.app_style.app_style_save">
|
||||||
|
<i class="fa fa-plus"></i> New App Style
|
||||||
|
</a>
|
||||||
|
<a class="btn btn-primary" ui-sref="cms.app_style.app_style_edit({style_id:appStyles[0].style_id})">
|
||||||
|
<i class="fa fa-edit"></i> Edit App Style
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box box-default">
|
||||||
|
<div class="box-body table-responsive">
|
||||||
|
<table class="table table-bordered table-hover table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Style_Key</th>
|
||||||
|
<th>Style_Value</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr ng-repeat="appStyle in appStyles">
|
||||||
|
<td ng-bind="appStyle.style_id"></td>
|
||||||
|
<td ng-bind="appStyle.style_key"></td>
|
||||||
|
<td style="width: 50%;" ng-bind="appStyle.style_value"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
@ -0,0 +1,15 @@
|
|||||||
|
<section class="content-header">
|
||||||
|
<h1>更新Rpay进件费率时间</h1>
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li>
|
||||||
|
<i class="fa fa-cog"></i> Basic Config
|
||||||
|
</li>
|
||||||
|
<li><a ui-sref="^">Dev Tools</a></li>
|
||||||
|
<li class="active">rpayupdate</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="box">
|
||||||
|
<button class="btn btn-primary" ng-click="update()">Update</button> <label ng-hide="selecttotal" style="padding-left: 30px">请稍后</label>
|
||||||
|
</div>
|
||||||
|
</section>
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,238 @@
|
|||||||
|
<div class="content">
|
||||||
|
<form novalidate name="subForm">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">Apply Rpay+ Sub Merchant Id</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-horizontal">
|
||||||
|
<div class="form-group"
|
||||||
|
ng-class="{'has-error':subForm.company_name.$invalid && subForm.company_name.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="company_name_input">* Company Name</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.company_name"
|
||||||
|
type="text" name="company_name" id="company_name_input" required maxlength="50">
|
||||||
|
<div ng-messages="subForm.company_name.$error" ng-if="subForm.company_name.$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-class="{'has-error':subForm.business_name.$invalid && subForm.business_name.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="business_name_input">* Business Name</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.business_name"
|
||||||
|
type="text" name="business_name" id="business_name_input" required maxlength="50">
|
||||||
|
<div ng-messages="subForm.business_name.$error" ng-if="subForm.business_name.$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-class="{'has-error':subForm.company_shortname.$invalid && subForm.company_shortname.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="company_shortname_input">* Company Short Name</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.short_name"
|
||||||
|
type="text" name="company_shortname" id="company_shortname_input" required maxlength="50">
|
||||||
|
<div ng-messages="subForm.company_shortname.$error" ng-if="subForm.company_shortname.$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">
|
||||||
|
<label class="control-label col-sm-3" for="company_website_input">Website</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.company_website"
|
||||||
|
type="text" name="company_website" id="company_website_input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group"
|
||||||
|
ng-class="{'has-error':subForm.description.$invalid && subForm.description.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="description_input">* Company description</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.description"
|
||||||
|
type="text" name="description" id="description_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.description.$error" ng-if="subForm.description.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
<p class="small text-danger" ng-message="maxlength">Length is more than 256</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group"
|
||||||
|
ng-class="{'has-error':subForm.abn.$invalid && subForm.abn.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="abn_input">* abn</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.abn"
|
||||||
|
type="text" name="abn" id="abn_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.abn.$error" ng-if="subForm.abn.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-sm-3" for="acn_input">acn</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.acn"
|
||||||
|
type="text" name="acn" id="acn_input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-sm-3" for="business-structure-input">Business Structure</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<select class="form-control" name="business_structure" ng-model="subMerchantInfo.business_structure"
|
||||||
|
id="business-structure-input"
|
||||||
|
ng-options="structure.value as structure.label for structure in business_structures">
|
||||||
|
<option value="">Please Choose</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group"
|
||||||
|
ng-class="{'has-error':subForm.company_phone.$invalid && subForm.company_phone.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="company_phone_input">* Company Phone</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.company_phone"
|
||||||
|
type="tel" name="company_phone" id="company_phone_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.company_phone.$error" ng-if="subForm.company_phone.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.contact_name.$invalid && subForm.contact_name.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="contact_name_input">* Contact Name</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.contact_person"
|
||||||
|
type="text" name="contact_name" id="contact_name_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.contact_name.$error" ng-if="subForm.contact_name.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.contact_phone.$invalid && subForm.contact_phone.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="contact_phone_input">* Contact Phone</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.contact_phone"
|
||||||
|
type="text" name="contact_phone" id="contact_phone_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.contact_phone.$error" ng-if="subForm.contact_phone.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.contact_email.$invalid && subForm.contact_email.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="contact_email_input">* Contact Email</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.contact_email"
|
||||||
|
type="text" name="contact_email" id="contact_email_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.contact_email.$error" ng-if="subForm.contact_email.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.country.$invalid && subForm.country.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="country_input">* Company country</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.country"
|
||||||
|
type="text" name="country" id="country_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.country.$error" ng-if="subForm.country.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</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="company_address_input">* Company address</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.address"
|
||||||
|
type="text" name="address" id="company_address_input" required maxlength="256">
|
||||||
|
<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 50</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.suburb.$invalid && subForm.suburb.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="company_suburb_input">* suburb</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.suburb"
|
||||||
|
type="text" name="suburb" id="company_suburb_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.suburb.$error" ng-if="subForm.suburb.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.postcode.$invalid && subForm.postcode.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="company_postcode_input">* postCode</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.postcode"
|
||||||
|
type="text" name="postcode" id="company_postcode_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.postcode.$error" ng-if="subForm.postcode.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{'has-error':subForm.state.$invalid && subForm.state.$dirty}">
|
||||||
|
<label class="control-label col-sm-3" for="state_input">* state</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input class="form-control" ng-model="subMerchantInfo.state"
|
||||||
|
type="text" name="state" id="state_input" required maxlength="256">
|
||||||
|
<div ng-messages="subForm.state.$error" ng-if="subForm.state.$dirty">
|
||||||
|
<p class="small text-danger" ng-message="required">Required Field</p>
|
||||||
|
<p class="small text-danger" ng-message="maxlength">Length is more than 10</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-sm-3" for="timezone-input">TimeZone</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<select class="form-control" name="timezone" ng-model="subMerchantInfo.timezone"
|
||||||
|
id="timezone-input"
|
||||||
|
ng-options="tz.key as tz.detail for tz in timezone">
|
||||||
|
<option value="">Please Choose</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--end 商品基本资料-->
|
||||||
|
<!--<div class="panel panel-default">-->
|
||||||
|
<!--<div class="panel-heading">Goods Qr Code</div>-->
|
||||||
|
<!--<div class="panel-body">-->
|
||||||
|
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--end 商品二维码-->
|
||||||
|
<div class="btn-group margin-bottom margin-top">
|
||||||
|
<button class="btn btn-success" type="button"
|
||||||
|
ng-click="saveRpayAppliy(subForm)">Submit
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|