忽略dll文件git

This commit is contained in:
“wanyongkang”
2023-07-29 10:19:42 +08:00
parent 7f97317bcc
commit b562aba2b1
3868 changed files with 63608 additions and 385427 deletions

View File

@@ -1,68 +1,68 @@
@{
Layout = "_UserLayout";
}
<div id="app">
<table class="table">
<caption>提现管理</caption>
<thead>
<tr>
<th>用户</th>
<th>提现金额</th>
<th>提现理由</th>
<th>支付宝账号</th>
<th>备注</th>
<th>状态</th>
<th>提现时间</th>
</tr>
</thead>
<tbody>
<tr v-for="info in tableData">
<td>{{info.username}}</td>
<td>{{info.money}}</td>
<td>{{info.reason}}</td>
<td>{{info.alipay_account}}</td>
<td>{{info.remark}}</td>
<td>{{info.status}}</td>
<td>{{info.create_time}}</td>
</tr>
</tbody>
</table>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
tableData: [],
},
created:function(){
this.post();
},
methods:{
post:function(){
var param = [];
let cashOutData = {
cookie:document.cookie
}
$.ajax({
type: 'POST',
async:false,
url: 'http://php-api.juip.com/order/CashOutIndex/getData',
dataType: "json",
contentType: "application/json",
data: JSON.stringify(cashOutData),
beforeSend: function(xhr) {
xhr.withCredentials = true;
},
crossDomain: true,
success: function (res) {
if (res.Code == 10000) {
param = res.data;
}
}
});
this.tableData = param;
}
}
});
@{
Layout = "_UserLayout";
}
<div id="app">
<table class="table">
<caption>提现管理</caption>
<thead>
<tr>
<th>用户</th>
<th>提现金额</th>
<th>提现理由</th>
<th>支付宝账号</th>
<th>备注</th>
<th>状态</th>
<th>提现时间</th>
</tr>
</thead>
<tbody>
<tr v-for="info in tableData">
<td>{{info.username}}</td>
<td>{{info.money}}</td>
<td>{{info.reason}}</td>
<td>{{info.alipay_account}}</td>
<td>{{info.remark}}</td>
<td>{{info.status}}</td>
<td>{{info.create_time}}</td>
</tr>
</tbody>
</table>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
tableData: [],
},
created:function(){
this.post();
},
methods:{
post:function(){
var param = [];
let cashOutData = {
cookie:document.cookie
}
$.ajax({
type: 'POST',
async:false,
url: 'http://php-api.juip.com/order/CashOutIndex/getData',
dataType: "json",
contentType: "application/json",
data: JSON.stringify(cashOutData),
beforeSend: function(xhr) {
xhr.withCredentials = true;
},
crossDomain: true,
success: function (res) {
if (res.Code == 10000) {
param = res.data;
}
}
});
this.tableData = param;
}
}
});
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,15 @@
@{
ViewData["Title"] = "登录";
}
@section Scripts{
<script type="text/javascript">
loginCallback = function () {
window.location.href="/"
}
$(".mask").show();
$(".main").show();
$(".main").addClass("animated bounceInDown");
</script>
}
@{
ViewData["Title"] = "登录";
}
@section Scripts{
<script type="text/javascript">
loginCallback = function () {
window.location.href="/"
}
$(".mask").show();
$(".main").show();
$(".main").addClass("animated bounceInDown");
</script>
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,53 +1,53 @@
@using Hncore.Pass.Sells.Model
@model List<UserCouponModel>
@{
Layout = "_UserLayout";
}
@foreach (var item in Model)
{
<div class="col-lg-3">
<div class="quan">
@if (item.Coupon.CouponType == ECouponType.Discount)
{
<span class="couponPrice">@(item.Coupon.CouponValue)折</span><span class="couponName">@item.Coupon.Name</span>
}
@if (item.Coupon.CouponType == ECouponType.Minus)
{
<div class="item">
¥<span class="couponPrice">@(item.Coupon.CouponValue)</span><span class="couponName">@item.Coupon.Name</span>
</div>
}
<div class="item">
使用规则:@(item.Coupon.AllowMinAmount > 0 ? $"满{item.Coupon.AllowMinAmount}元可用" : "无限制")
</div>
<div class="item">
有效时间:@(item.Orgin.StartTime.Value.ToString("yyyy.MM.dd"))-@(item.Orgin.EndTime.Value.ToString("yyyy.MM.dd"))
</div>
<div class="item">
获得途径: @item.Orgin.Remark
</div>
<div class="item">
@(item.IsUsed?"已使用":"未使用")
</div>
</div>
</div>
}
@*<div class="col-lg-3">
<div class="quan gray">
<div class="item">
¥<span class="couponPrice">3</span><span class="couponName">优惠券名称</span>
</div>
<div class="item">
使用规则:无限制
</div>
<div class="item">
有效时间:<span>2020.1.1-2020.2.3</span>
</div>
<div class="item">
获得途径;淘宝下单赠送
</div>
<div class="item">
已使用
</div>
</div>
</div>*@
@using Hncore.Pass.Sells.Model
@model List<UserCouponModel>
@{
Layout = "_UserLayout";
}
@foreach (var item in Model)
{
<div class="col-lg-3">
<div class="quan">
@if (item.Coupon.CouponType == ECouponType.Discount)
{
<span class="couponPrice">@(item.Coupon.CouponValue)折</span><span class="couponName">@item.Coupon.Name</span>
}
@if (item.Coupon.CouponType == ECouponType.Minus)
{
<div class="item">
¥<span class="couponPrice">@(item.Coupon.CouponValue)</span><span class="couponName">@item.Coupon.Name</span>
</div>
}
<div class="item">
使用规则:@(item.Coupon.AllowMinAmount > 0 ? $"满{item.Coupon.AllowMinAmount}元可用" : "无限制")
</div>
<div class="item">
有效时间:@(item.Orgin.StartTime.Value.ToString("yyyy.MM.dd"))-@(item.Orgin.EndTime.Value.ToString("yyyy.MM.dd"))
</div>
<div class="item">
获得途径: @item.Orgin.Remark
</div>
<div class="item">
@(item.IsUsed?"已使用":"未使用")
</div>
</div>
</div>
}
@*<div class="col-lg-3">
<div class="quan gray">
<div class="item">
¥<span class="couponPrice">3</span><span class="couponName">优惠券名称</span>
</div>
<div class="item">
使用规则:无限制
</div>
<div class="item">
有效时间:<span>2020.1.1-2020.2.3</span>
</div>
<div class="item">
获得途径;淘宝下单赠送
</div>
<div class="item">
已使用
</div>
</div>
</div>*@

View File

@@ -1,242 +1,242 @@
@using Hncore.Infrastructure.Data
@using Hncore.Pass.Vpn.Domain
@using Hncore.Infrastructure.Extension
@using ViewComponents
@model PageData<ProductOrderEntity>
@{
Layout = "_UserLayout";
Func<string, string> cut = word =>
{
if (word.Length > 15)
return word.Substring(0, 15) + "...";
return word;
};
}
<style>
.tipBox {
position: absolute;
padding:10px;
border: 1px solid #ccc;
background: #fff;
width: 260px;
min-height:100px;
white-space: normal;
word-break: break-all;
word-wrap: break-word;
display: none;
}
</style>
<form asp-action="myorders" asp-controller="user" method="get">
<div class="toolsBar" id="app">
<div class="item">
日期筛选:
</div>
<div class="item">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" v-model="searchModel.BTime" placeholder="选择开始时间" id="BTime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" v-model="searchModel.ETime" placeholder="选择结束时间" id="ETime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.OrderType" style="height:35px;">
<option value="0">全部类型</option>
<option value="1">新开</option>
<option value="2">续费</option>
<option value="3">批量新开</option>
<option value="4">批量续费</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.ProductId" style="height:35px;">
<option value="0">全部产品</option>
<option v-for="item in productWithPackage" :value="item.Product.Id">{{item.Product.Name}}</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.PackageId" style="height:35px;">
<option value="0">全部套餐</option>
<option value="测试卡">测试卡</option>
<option value="天卡">天卡</option>
<option value="周卡">周卡</option>
<option value="月卡">月卡</option>
<option value="月卡(活动)">月卡(活动)</option>
<option value="双月卡(活动)">双月卡(活动)</option>
<option value="季卡">季卡</option>
<option value="季卡(活动)">季卡(活动)</option>
<option value="年卡">年卡</option>
</select>
</div>
</div>
<div class="item">
<input type="text" v-model="searchModel.KeyWord" placeholder="账号" class="bianhao" /><button type="button" class="btn btn-primary" v-on:click="search">查询</button>
</div>
</div>
</form>
<table class="table table-striped table_person">
<tr>
<th>日期</th>
<th>订单编号</th>
<th>类型</th>
<th>产品</th>
<th>套餐</th>
<th>单价</th>
<th>总连接数</th>
<th>账号</th>
<th>订单金额</th>
<th>优惠券</th>
<th>实付金额</th>
</tr>
@foreach (var item in Model.List)
{
<tr>
<td>@item.CreateTime.ToString("yyyy.MM.dd")</td>
<td>@item.OrderNo</td>
<td>@item.OrderType.GetEnumDisplayName()</td>
<td>@item.ProductName</td>
<td>@item.PackageName</td>
<td>@item.DayPrice</td>
<td>@(item.ConnectCount*item.AccountCount)</td>
<td class="@(item.Accounts.Length>15?"cutTip":"")">
@cut(item.Accounts)
<div class="tipBox">@item.Accounts</div>
</td>
<td>@item.OrderAmount</td>
<td>@item.CouponAmount</td>
<td>@item.PaymentAmount</td>
</tr>
}
</table>
<div class="fenye">
@await Component.InvokeAsync("Pager", new PagerModel() { Total = Model.RowCount, PageIndex = this.Context.Request.GetInt("PageIndex") })
</div>
<script type="text/javascript">
$(function () {
var picker1 = $('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn'),
//minDate: '2016-7-1'
});
var picker2 = $('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn')
});
//动态设置最小值
picker1.on('dp.change', function (e) {
picker2.data('DateTimePicker').minDate(e.date);
});
//动态设置最大值
picker2.on('dp.change', function (e) {
picker1.data('DateTimePicker').maxDate(e.date);
});
$(".cutTip").mouseover(function () {
$(this).children().last().show();
}).mouseleave(function () {
$(this).children().last().hide();
})
});</script>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
productWithPackage: [],
packages: [],
searchModel: {
OrderType:0,
ProductId:@this.Context.Request.GetInt("ProductId"),
PackageId:"0",
KeyWord:'',
BTime: '@this.Context.Request.Get("BTime")',
ETime: '@this.Context.Request.Get("ETime")',
},
oneAuthModel: {
ProductId: 0,
Account: "",
Pwd:""
},
mutilAuthModel: {
ProductId: 0,
Account: "",
Pwd: "",
StartNum: 0,
Count:0
}
},
computed: {
},
watch: {
'searchModel.ProductId': { //加引号监听对象里的属性
handler: function (newValue, oldValue) {
for (var i = 0; i < this.productWithPackage.length; i++) {
var item = this.productWithPackage[i];
if (item.Product.Id == newValue) {
this.packages = item.Packages
return;
}
}
},
immediate: true
}
},
created: function () {
this.getProducts();
},
methods: {
getProducts() {
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/product/ProductWithPackage',
success: function (res) {
if (res.Code == 10000) {
that.productWithPackage = res.Data;
}
}
});
},
search() {
var ps = [];
this.searchModel.BTime = $("#BTime").val();
this.searchModel.ETime = $("#ETime").val();
for (var item in this.searchModel) {
var p = item + "=" + this.searchModel[item];
ps.push(p);
}
window.location.href = "?" + ps.join("&");
},
}
})
</script>
@using Hncore.Infrastructure.Data
@using Hncore.Pass.Vpn.Domain
@using Hncore.Infrastructure.Extension
@using ViewComponents
@model PageData<ProductOrderEntity>
@{
Layout = "_UserLayout";
Func<string, string> cut = word =>
{
if (word.Length > 15)
return word.Substring(0, 15) + "...";
return word;
};
}
<style>
.tipBox {
position: absolute;
padding:10px;
border: 1px solid #ccc;
background: #fff;
width: 260px;
min-height:100px;
white-space: normal;
word-break: break-all;
word-wrap: break-word;
display: none;
}
</style>
<form asp-action="myorders" asp-controller="user" method="get">
<div class="toolsBar" id="app">
<div class="item">
日期筛选:
</div>
<div class="item">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" v-model="searchModel.BTime" placeholder="选择开始时间" id="BTime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" v-model="searchModel.ETime" placeholder="选择结束时间" id="ETime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.OrderType" style="height:35px;">
<option value="0">全部类型</option>
<option value="1">新开</option>
<option value="2">续费</option>
<option value="3">批量新开</option>
<option value="4">批量续费</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.ProductId" style="height:35px;">
<option value="0">全部产品</option>
<option v-for="item in productWithPackage" :value="item.Product.Id">{{item.Product.Name}}</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.PackageId" style="height:35px;">
<option value="0">全部套餐</option>
<option value="测试卡">测试卡</option>
<option value="天卡">天卡</option>
<option value="周卡">周卡</option>
<option value="月卡">月卡</option>
<option value="月卡(活动)">月卡(活动)</option>
<option value="双月卡(活动)">双月卡(活动)</option>
<option value="季卡">季卡</option>
<option value="季卡(活动)">季卡(活动)</option>
<option value="年卡">年卡</option>
</select>
</div>
</div>
<div class="item">
<input type="text" v-model="searchModel.KeyWord" placeholder="账号" class="bianhao" /><button type="button" class="btn btn-primary" v-on:click="search">查询</button>
</div>
</div>
</form>
<table class="table table-striped table_person">
<tr>
<th>日期</th>
<th>订单编号</th>
<th>类型</th>
<th>产品</th>
<th>套餐</th>
<th>单价</th>
<th>总连接数</th>
<th>账号</th>
<th>订单金额</th>
<th>优惠券</th>
<th>实付金额</th>
</tr>
@foreach (var item in Model.List)
{
<tr>
<td>@item.CreateTime.ToString("yyyy.MM.dd")</td>
<td>@item.OrderNo</td>
<td>@item.OrderType.GetEnumDisplayName()</td>
<td>@item.ProductName</td>
<td>@item.PackageName</td>
<td>@item.DayPrice</td>
<td>@(item.ConnectCount*item.AccountCount)</td>
<td class="@(item.Accounts.Length>15?"cutTip":"")">
@cut(item.Accounts)
<div class="tipBox">@item.Accounts</div>
</td>
<td>@item.OrderAmount</td>
<td>@item.CouponAmount</td>
<td>@item.PaymentAmount</td>
</tr>
}
</table>
<div class="fenye">
@await Component.InvokeAsync("Pager", new PagerModel() { Total = Model.RowCount, PageIndex = this.Context.Request.GetInt("PageIndex") })
</div>
<script type="text/javascript">
$(function () {
var picker1 = $('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn'),
//minDate: '2016-7-1'
});
var picker2 = $('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn')
});
//动态设置最小值
picker1.on('dp.change', function (e) {
picker2.data('DateTimePicker').minDate(e.date);
});
//动态设置最大值
picker2.on('dp.change', function (e) {
picker1.data('DateTimePicker').maxDate(e.date);
});
$(".cutTip").mouseover(function () {
$(this).children().last().show();
}).mouseleave(function () {
$(this).children().last().hide();
})
});</script>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
productWithPackage: [],
packages: [],
searchModel: {
OrderType:0,
ProductId:@this.Context.Request.GetInt("ProductId"),
PackageId:"0",
KeyWord:'',
BTime: '@this.Context.Request.Get("BTime")',
ETime: '@this.Context.Request.Get("ETime")',
},
oneAuthModel: {
ProductId: 0,
Account: "",
Pwd:""
},
mutilAuthModel: {
ProductId: 0,
Account: "",
Pwd: "",
StartNum: 0,
Count:0
}
},
computed: {
},
watch: {
'searchModel.ProductId': { //加引号监听对象里的属性
handler: function (newValue, oldValue) {
for (var i = 0; i < this.productWithPackage.length; i++) {
var item = this.productWithPackage[i];
if (item.Product.Id == newValue) {
this.packages = item.Packages
return;
}
}
},
immediate: true
}
},
created: function () {
this.getProducts();
},
methods: {
getProducts() {
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/product/ProductWithPackage',
success: function (res) {
if (res.Code == 10000) {
that.productWithPackage = res.Data;
}
}
});
},
search() {
var ps = [];
this.searchModel.BTime = $("#BTime").val();
this.searchModel.ETime = $("#ETime").val();
for (var item in this.searchModel) {
var p = item + "=" + this.searchModel[item];
ps.push(p);
}
window.location.href = "?" + ps.join("&");
},
}
})
</script>

View File

@@ -1,205 +1,205 @@
@using Hncore.Infrastructure.Data
@using Hncore.Pass.Vpn.Domain
@using Hncore.Infrastructure.Extension
@using ViewComponents
@model PageData<ProductOrderEntity>
@{
Layout = "_UserLayout";
}
<div class="toolsBar" id="app">
<div class="item">
日期:
</div>
<div class="item">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" name="BTime" v-model="searchModel.BTime" placeholder="选择开始时间" id="BTime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" name="ETime" v-model="searchModel.ETime" placeholder="选择结束时间" id="ETime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.ProductId" style="height:35px;">
<option value="0" selected >全部产品</option>
<option v-for="item in productWithPackage" :value="item.Product.Id">{{item.Product.Name}}</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.PackageId" style="height:35px;">
<option value="0">全部套餐</option>
<option value="测试卡">测试卡</option>
<option value="天卡">天卡</option>
<option value="周卡">周卡</option>
<option value="月卡">月卡</option>
<option value="月卡(活动)">月卡(活动)</option>
<option value="双月卡(活动)">双月卡(活动)</option>
<option value="季卡">季卡</option>
<option value="季卡(活动)">季卡(活动)</option>
<option value="年卡">年卡</option>
</select>
</div>
</div>
<div class="item">
<input type="text" v-model="searchModel.KewWord" placeholder="账号" class="bianhao" />
<button type="button" class="btn btn-primary" v-on:click="search">查询</button>
</div>
</div>
<table class="table table-striped table_person">
<tr>
<th>日期</th>
<th>订单编号</th>
<th>类型</th>
<th>产品</th>
<th>套餐</th>
<th>账号</th>
<th>连接数</th>
<th>退款时长</th>
<th>退款单价</th>
<th>实付金额</th>
<th>退款金额</th>
</tr>
@foreach (var item in Model.List)
{
<tr>
<td>@item.CreateTime.ToString("yyyy.MM.dd")</td>
<td>@item.OrderNo</td>
<td>@item.OrderType.GetEnumDisplayName()</td>
<td>@item.ProductName</td>
<td>@item.PackageName</td>
<td>@item.Accounts</td>
<td>@item.ConnectCount</td>
<td>@item.DayCount</td>
<td>@item.DayPrice</td>
<td>@item.PaymentAmount</td>
<td>@item.RefundAmount</td>
</tr>
}
</table>
<div class="fenye">
@await Component.InvokeAsync("Pager", new PagerModel() { Total = Model.RowCount, PageIndex = this.Context.Request.GetInt("PageIndex") })
</div>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
productWithPackage: [],
packages: [],
searchModel: {
ProductId:@this.Context.Request.GetInt("ProductId"),
PackageId:"0",
Keyword:'',
BTime: '',
ETime: ''
}
},
computed: {
},
watch: {
'searchModel.ProductId': { //加引号监听对象里的属性
handler: function (newValue, oldValue) {
for (var i = 0; i < this.productWithPackage.length; i++) {
var item = this.productWithPackage[i];
if (item.Product.Id == newValue) {
this.packages = item.Packages
return;
}
}
},
immediate: true
}
},
created: function () {
this.getProducts();
},
methods: {
selectFn: function (e) {
console.log(e.target.value) // 选择项的value
},
getProducts() {
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/product/ProductWithPackage',
success: function (res) {
if (res.Code == 10000) {
that.productWithPackage = res.Data;
}
}
});
},
search() {
var ps = [];
this.searchModel.BTime = $("#BTime").val();
this.searchModel.ETime = $("#ETime").val();
for (var item in this.searchModel) {
var p = item + "=" + this.searchModel[item];
ps.push(p);
}
window.location.href = "?" + ps.join("&");
}
}
})
$(function () {
var picker1 = $('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn'),
//minDate: '2016-7-1'
});
var picker2 = $('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn')
});
//动态设置最小值
picker1.on('dp.change', function (e) {
picker2.data('DateTimePicker').minDate(e.date);
});
//动态设置最大值
picker2.on('dp.change', function (e) {
picker1.data('DateTimePicker').maxDate(e.date);
});
//退款
$(".btn-refund").on('click', function () {
var accounts = [];
$.each($('input:checkbox:checked'), function () {
accounts.push($(this).val())
});
if (accounts.length == 0) { alert('请选择账号'); return; }
$.ajax({
type: 'GET',
url: '/api/course/v1/order/Refund?account=' + accounts[0],
success: function (res) {
if (res.Code == 10000) {
alert('退款成功')
} else {
alert(res.Message)
}
}
});
})
});
</script>
@using Hncore.Infrastructure.Data
@using Hncore.Pass.Vpn.Domain
@using Hncore.Infrastructure.Extension
@using ViewComponents
@model PageData<ProductOrderEntity>
@{
Layout = "_UserLayout";
}
<div class="toolsBar" id="app">
<div class="item">
日期:
</div>
<div class="item">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" name="BTime" v-model="searchModel.BTime" placeholder="选择开始时间" id="BTime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-6'>
<div class="form-group">
<!--指定 date标记-->
<div class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" name="ETime" v-model="searchModel.ETime" placeholder="选择结束时间" id="ETime" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.ProductId" style="height:35px;">
<option value="0" selected >全部产品</option>
<option v-for="item in productWithPackage" :value="item.Product.Id">{{item.Product.Name}}</option>
</select>
</div>
</div>
<div class="item">
<div class="btn-group">
<select @@change="search" v-model="searchModel.PackageId" style="height:35px;">
<option value="0">全部套餐</option>
<option value="测试卡">测试卡</option>
<option value="天卡">天卡</option>
<option value="周卡">周卡</option>
<option value="月卡">月卡</option>
<option value="月卡(活动)">月卡(活动)</option>
<option value="双月卡(活动)">双月卡(活动)</option>
<option value="季卡">季卡</option>
<option value="季卡(活动)">季卡(活动)</option>
<option value="年卡">年卡</option>
</select>
</div>
</div>
<div class="item">
<input type="text" v-model="searchModel.KewWord" placeholder="账号" class="bianhao" />
<button type="button" class="btn btn-primary" v-on:click="search">查询</button>
</div>
</div>
<table class="table table-striped table_person">
<tr>
<th>日期</th>
<th>订单编号</th>
<th>类型</th>
<th>产品</th>
<th>套餐</th>
<th>账号</th>
<th>连接数</th>
<th>退款时长</th>
<th>退款单价</th>
<th>实付金额</th>
<th>退款金额</th>
</tr>
@foreach (var item in Model.List)
{
<tr>
<td>@item.CreateTime.ToString("yyyy.MM.dd")</td>
<td>@item.OrderNo</td>
<td>@item.OrderType.GetEnumDisplayName()</td>
<td>@item.ProductName</td>
<td>@item.PackageName</td>
<td>@item.Accounts</td>
<td>@item.ConnectCount</td>
<td>@item.DayCount</td>
<td>@item.DayPrice</td>
<td>@item.PaymentAmount</td>
<td>@item.RefundAmount</td>
</tr>
}
</table>
<div class="fenye">
@await Component.InvokeAsync("Pager", new PagerModel() { Total = Model.RowCount, PageIndex = this.Context.Request.GetInt("PageIndex") })
</div>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
productWithPackage: [],
packages: [],
searchModel: {
ProductId:@this.Context.Request.GetInt("ProductId"),
PackageId:"0",
Keyword:'',
BTime: '',
ETime: ''
}
},
computed: {
},
watch: {
'searchModel.ProductId': { //加引号监听对象里的属性
handler: function (newValue, oldValue) {
for (var i = 0; i < this.productWithPackage.length; i++) {
var item = this.productWithPackage[i];
if (item.Product.Id == newValue) {
this.packages = item.Packages
return;
}
}
},
immediate: true
}
},
created: function () {
this.getProducts();
},
methods: {
selectFn: function (e) {
console.log(e.target.value) // 选择项的value
},
getProducts() {
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/product/ProductWithPackage',
success: function (res) {
if (res.Code == 10000) {
that.productWithPackage = res.Data;
}
}
});
},
search() {
var ps = [];
this.searchModel.BTime = $("#BTime").val();
this.searchModel.ETime = $("#ETime").val();
for (var item in this.searchModel) {
var p = item + "=" + this.searchModel[item];
ps.push(p);
}
window.location.href = "?" + ps.join("&");
}
}
})
$(function () {
var picker1 = $('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn'),
//minDate: '2016-7-1'
});
var picker2 = $('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
locale: moment.locale('zh-cn')
});
//动态设置最小值
picker1.on('dp.change', function (e) {
picker2.data('DateTimePicker').minDate(e.date);
});
//动态设置最大值
picker2.on('dp.change', function (e) {
picker1.data('DateTimePicker').maxDate(e.date);
});
//退款
$(".btn-refund").on('click', function () {
var accounts = [];
$.each($('input:checkbox:checked'), function () {
accounts.push($(this).val())
});
if (accounts.length == 0) { alert('请选择账号'); return; }
$.ajax({
type: 'GET',
url: '/api/course/v1/order/Refund?account=' + accounts[0],
success: function (res) {
if (res.Code == 10000) {
alert('退款成功')
} else {
alert(res.Message)
}
}
});
})
});
</script>