96 lines
3.9 KiB
HTML
96 lines
3.9 KiB
HTML
{extend name="common/plugin_layout" /}
|
|
{block name="title"}{$plugin.title} - {:config_get('title')}{/block}
|
|
{block name="main"}
|
|
<style>
|
|
td{text-align: center;}
|
|
</style>
|
|
<div class="container-xl" id="app">
|
|
<div class="col-sm-12 col-md-10 col-xl-8 center-block">
|
|
<div class="card card-preview">
|
|
<div class="card-inner mt-3">
|
|
<div class="nya-title nk-ibx-action-item progress-rating">
|
|
<span class="nk-menu-text font-weight-bold">银行卡归属地查询</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="form-label">银行卡号:</label>
|
|
<div class="form-control-wrap">
|
|
<input type="text" v-model="input" placeholder="无需输入完整卡号,卡号后4位可用1111代替" class="form-control form-control-lg" @keyup.enter="query" ref="input" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<button class="btn btn-dim btn-outline-primary btn-block card-link mb-3" @click="query" :disabled="query_disabled">
|
|
查询
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="card card-preview" v-show="showresult" style="display:none">
|
|
<div class="card-inner mt-3">
|
|
<div class="nya-title nk-ibx-action-item progress-rating">
|
|
<span class="nk-menu-text font-weight-bold">查询结果</span>
|
|
</div>
|
|
<div class="col-sm-12 col-md-10 col-xl-8 center-block">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover table-bordered">
|
|
<tbody>
|
|
<tr><td class="query-title">查询卡号</td><td>{{result_info.card_num}}</td></tr>
|
|
<tr v-if="result_info.validated"><td class="query-title">银行名称</td><td>{{result_info.bank_name}}</td></tr>
|
|
<tr v-if="result_info.validated"><td class="query-title">银行卡种</td><td>{{result_info.card_type}}</td></tr>
|
|
<tr v-if="result_info.validated"><td class="query-title">银行LOGO</td><td><img :src="'https://apimg.alipay.com/combo.png?d=cashier&t='+result_info.bank_code"></td></tr>
|
|
<tr v-if="!result_info.validated"><td class="query-title">查询失败</td><td>{{result_info.error}}</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/block}
|
|
{block name="script"}
|
|
<script src="{$cdn_cdnjs}vue/2.6.14/vue.min.js"></script>
|
|
<script>
|
|
new Vue({
|
|
el: '#app',
|
|
data: {
|
|
query_disabled: false,
|
|
input: '',
|
|
result_input: '',
|
|
showresult: false,
|
|
result_info: [],
|
|
captcha: null
|
|
},
|
|
mounted() {
|
|
this.$refs.input.focus();
|
|
},
|
|
methods: {
|
|
query() {
|
|
if(this.input.trim() == ''){
|
|
alert('查询内容不能为空');return;
|
|
}
|
|
layer.load(0, {shade:0.1});
|
|
var that=this;
|
|
$.ajax({
|
|
url: '/api/{$plugin.alias}/query',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: {cardnum: that.input},
|
|
cache: false,
|
|
success: function (data) {
|
|
layer.closeAll();
|
|
if(data.status=='ok'){
|
|
that.result_input = that.input;
|
|
that.showresult = true;
|
|
that.result_info = data.data;
|
|
}else{
|
|
layer.alert(data.message, {icon: 5});
|
|
}
|
|
},
|
|
error: function () {
|
|
layer.closeAll();
|
|
layer.msg('服务器错误', {icon: 5});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
})
|
|
</script>
|
|
{/block} |