@section CustomizedStyle
{
<link rel="stylesheet" type="text/css" href="~/css/styles.css">
<style type="text/css">
.suppliercard {
margin: 5px auto;
}
@@media only screen and (min-width: 1125px) {
.suppliercard {
width: 50%;
margin: 5px auto;
}
}
.tableColumn {
text-align: center;
}
.colorRed {
color: red;
}
</style>
<link rel="stylesheet" type="text/css" href="~/Areas/Backend/css/bootstrap-multiselect.css">
}
@section CustomizedJS
{
<!-- DataTables -->
<script src="~/Areas/Backend/js/bootstrap-multiselect.js"></script>
}
@model STAYFUN.Areas.Backend.Models.Coupon.CouponEditVeiwModel
@{
ViewBag.Title = "編輯票券資料";
if (Model == null)
{
<text>
<script>
Dialog.Danger('找不到票券資料')
window.location = "./index";
</script>
</text>
}
}
@if (Model != null)
{
<section class="content" id="vApp">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab-info" data-toggle="tab">基本資料</a></li>
<li class=""><a href="#tab-image" data-toggle="tab">圖片</a></li>
<li class=""><a href="#tab-sub" data-toggle="tab">方案</a></li>
<li class=""><a href="#tab-supplier" data-toggle="tab">票券發行商</a></li>
<li class=""><a href="#tab-branch" data-toggle="tab">適用分店</a></li>
<li class=""><a href="#tab-specified" data-toggle="tab">指定企業</a></li>
<li class=""><a href="#tab-priceLog" data-toggle="tab" v-on:click="loadPriceLog()">金額變動歷程</a></li>
</ul>
<div id="myTabContent" class="tab-content" style="padding : 10px 10px 10px 10px;">
<div id="tab-info" class="tab-pane active">
<div class="raw clearfix">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
基本資料
</div>
<!-- /.box-header -->
<!-- form start -->
<form class="form-horizontal">
<div class="panel-body">
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponCode)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponCode</div>
<input type="hidden" id="serialno" value="@Model.couponVeiwModel.serialno" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponName)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponName</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponIntro)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponIntro</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponRule)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponRule</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponStatus)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponStatus</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.QtyAvailable)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.QtyAvailable</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.QtySold)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.QtySold</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.Cost)</label>
<div class="col-md-9">
<div id="costPrice" class="form-text-row">@Model.couponVeiwModel.Cost</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.OriginalPrice)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.OriginalPrice</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.SalePrice)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.SalePrice</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.SaleDateStart)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.SaleDateStart</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.SaleDateEnd)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.SaleDateEnd</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.LastUseTime)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.LastUseTime</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.Note)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.Note</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.ExceptDate)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.ExceptDate</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CouponProfitMode)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CouponProfitMode</div>
</div>
</div>
<div class="form-group">
<label for="" class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.SupplierMode)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.SupplierMode</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.SupplySubProduct)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.SupplySubProduct</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
票券評價
</div>
<!-- /.box-header -->
<!-- form start -->
<form class="form-horizontal">
<div class="panel-body">
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CountClick)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CountClick</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CountFavorite)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CountFavorite</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.CountScoreTime)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.CountScoreTime</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">@Html.DisplayNameFor(model => Model.couponVeiwModel.AvgScore)</label>
<div class="col-md-9">
<div class="form-text-row">@Model.couponVeiwModel.AvgScore</div>
</div>
</div>
</div>
<!-- /.box-footer -->
</form>
</div>
<div class="panel panel-default">
<div class="panel-heading">
鼎恒自訂
</div>
<!-- /.box-header -->
<!-- form start -->
<form class="form-horizontal">
<div class="panel-body">
<div class="form-group">
<label for="inputCost" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.Cost)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputCost" value="@Model.couponVeiwModel.Cost" maxlength="6" onchange="if(/\D/.test(this.value)||this.value===''){this.value='0';}">
</div>
</div>
<div class="form-group">
<label for="inputOriginalPrice" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.OriginalPrice)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputOriginalPrice" value="@Model.couponVeiwModel.OriginalPrice" maxlength="6" onchange="if(/\D/.test(this.value)||this.value===''){this.value='0';}">
</div>
</div>
<div class="form-group">
<label for="inputStayfunPrice" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunPrice)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputStayfunPrice" value="@Model.couponVeiwModel.StayfunPrice" maxlength="6"> @*待繼續*@
@if (Model.couponSubProductVeiwModel != null && Model.couponSubProductVeiwModel.Count > 0)
{
<script>$("#inputStayfunPrice").hide();</script>
<div class="form-text-row">請至「方案」自訂鼎恒售價</div>
}
</div>
</div>
<div class="form-group">
<label for="inputStayfunEnable" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunEnable)</label>
<div class="col-md-8">
@if (Model.couponVeiwModel.StayfunEnable == 1)
{
<input type="checkbox" class="check-box" id="inputStayfunEnable" checked>
}
else
{
<input type="checkbox" class="check-box" id="inputStayfunEnable">
}
</div>
</div>
<div class="form-group">
<label for="CouponAreaID" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunArea)</label>
<div class="col-md-8">
@Html.DropDownList("CouponAreaID", null, new { @multiple = "multiple", @class = "form-control hidden" })
</div>
</div>
<div class="form-group">
<label for="CouponCategorySN" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunSerialno)</label>
<div class="col-md-8">
@Html.DropDownList("CouponCategorySN", null, "請選取分類", new { @class = "form-control" })
</div>
</div>
<div class="form-group">
<label for="inputStayfunLimitToNum" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunLimitToNum)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputStayfunLimitToNum" value="@Model.couponVeiwModel.StayfunLimitToNum" maxlength="6" onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onchange="if(/\D/.test(this.value)||this.value===''){this.value='1';}"> @*待繼續*@
</div>
</div>
<div class="form-group">
<label for="inputStayfunLimitToDay" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunLimitToDay)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputStayfunLimitToDay" value="@Model.couponVeiwModel.StayfunLimitToDay" maxlength="6" onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onchange="if(/\D/.test(this.value)||this.value===''){this.value='0';}"> @*待繼續*@
</div>
</div>
<div class="form-group">
<label for="inputStayfunLimitToOrder" class="col-md-4 control-label required">@Html.DisplayNameFor(model => Model.couponVeiwModel.StayfunLimitToOrder)</label>
<div class="col-md-8">
<input type="text" class="form-control" id="inputStayfunLimitToOrder" value="@Model.couponVeiwModel.StayfunLimitToOrder" maxlength="6" onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onchange="if(/\D/.test(this.value)||this.value===''){this.value='0';}"> @*待繼續*@
</div>
</div>
</div>
<!-- /.box-footer -->
</form>
</div>
</div>
</div>
</div>
<div id="tab-image" class="tab-pane">
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-body">
<table class="table table-bordered" style="white-space:nowrap;">
<thead>
<tr>
<th>類型</th>
<th>預覽</th>
<th>標題</th>
<th>說明</th>
</tr>
</thead>
<tbody>
@{
foreach (var image in Model.couponImagesVeiwModel)
{
<text>
<tr>
<td>@image.ImageType.ToString()</td>
<td><img src="@image.ImageUrl" width="150" alt="@image.ImageTitle"></td>
<td>@image.ImageTitle</td>
<td style="white-space:normal;">@image.ImageDescription</td>
</tr>
</text>
}
}
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="tab-sub" class="tab-pane">
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-body">
<table class="table table-bordered" style="white-space:nowrap;">
<thead>
<tr>
<th>簡碼</th>
<th>名稱</th>
<th>簡介</th>
<th>市價</th>
<th>廠商售價</th>
<th>供應商狀態</th>
<th style="min-width:100px">STAYFUN售價</th>
<th style="min-width:60px">平台上架狀態</th>
</tr>
</thead>
<tbody>
@{
foreach (var subProduct in Model.couponSubProductVeiwModel)
{
<text>
<tr id="trSubProduct">
<td hidden id="@subProduct.serialno"></td>
<td>@subProduct.SubCode</td>
<td>@subProduct.SubName</td>
<td style="white-space:normal">@subProduct.SubIntro</td>
<td>@subProduct.SubOriginalPrice</td>
<td>@subProduct.SubSalePrice</td>
<td>@subProduct.SubStatus</td>
<td>
<div class="form-group">
<input type="text" class="form-control" id="inputSubProductStayfunPrice" value="@subProduct.StayfunPrice" data-original-price="@subProduct.SubSalePrice">
<span class="help-block" style="display:none;">警告:低於廠商售價</span>
</div>
</td>
<td class="tableColumn">
@if (subProduct.StayfunEnable == 1)
{
<input type="checkbox" id="inputSubProductStayfunEnable" value="@subProduct.serialno" checked>
}
else
{
<input type="checkbox" id="inputSubProductStayfunEnable" value="@subProduct.serialno">
}
</td>
</text>
}
}
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="tab-supplier" class="tab-pane">
<div class="form-horizontal">
<div class="panel-group">
@if (Model.couponSupplierVeiwModel != null)
{
Model.couponSupplierVeiwModel = Model.couponSupplierVeiwModel.OrderBy(x => x.SupplierType).ToList();
foreach (var submodel in Model.couponSupplierVeiwModel)
{
if (submodel.SupplierType == STAYFUN.Data.Enums.SupplierTypeEnums.票券發行商)
{
<div class="panel panel-default suppliercard">
<div class="panel-body">
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().SupplierName)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.SupplierName</div>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().Phone)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.Phone</div>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().Address)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.Address</div>
</div>
</div>
</div>
</div>
}
}
}
</div>
</div>
</div>
<div id="tab-branch" class="tab-pane">
<div class="form-horizontal">
<div class="panel-group">
@if (Model.couponSupplierVeiwModel != null)
{
Model.couponSupplierVeiwModel = Model.couponSupplierVeiwModel.OrderBy(x => x.SupplierType).ToList();
foreach (var submodel in Model.couponSupplierVeiwModel)
{
if (submodel.SupplierType == STAYFUN.Data.Enums.SupplierTypeEnums.分店)
{
<div class="panel panel-default suppliercard">
<div class="panel-body">
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().SupplierName)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.SupplierName</div>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().Phone)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.Phone</div>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().Address)</label></div>
</div>
<div class="col-md-9">
<div class="form-text-row">@submodel.Address</div>
</div>
</div>
<div class="form-group">
<div class="col-md-3">
<div class="label-wrapper"><label class="control-label" title="">@Html.DisplayNameFor(model => Model.couponSupplierVeiwModel.First().IsEnabled)</label></div>
</div>
<div class="col-md-9">
@if (submodel.IsEnabled == 1)
{
<input type="checkbox" class="check-box" id="inputIsEnabled" value="@submodel.serialno" checked>
}
else
{
<input type="checkbox" class="check-box" id="inputIsEnabled" value="@submodel.serialno">
}
</div>
</div>
</div>
</div>
}
}
}
</div>
</div>
</div>
<div id="tab-specified" class="tab-pane">
<div class="form-horizontal">
<div class="panel-group">
<div class="col-lg-12 col-md-12" style="margin-bottom:15px;">
@{
var ativeMemberType = 0;
if (Model.couponVeiwModel.SpecificGroup)
{
ativeMemberType = 1;
}
}
@Html.Partial("_SelectCompanyTemplate", new ViewDataDictionary { { "ativeMemberType", ativeMemberType }, { "CouponCompanyList", Model.couponSpecificGroupVeiwModel } })
</div>
</div>
</div>
</div>
<div id="tab-priceLog" class="tab-pane">
<div class="form-horizontal">
<div class="box">
<div class="box-header">
<h3 class="box-title"></h3>
<div class="panel panel-default panel-search">
<div class="panel-body">
<div class="row">
<div class="col-md-5 col-md-offset-5">
<div class="form-group">
<label>查詢區間</label>
<date-picker-start id="dateStart" type="text" class="datepicker"></date-picker-start> ~
<date-picker-end id="dateEnd" type="text" class="datepicker"></date-picker-end>
</div>
</div>
</div>
<div class="row">
<div class="col-md-7 col-md-offset-5">
<button type="button" v-on:click="searchData()" class="btn btn-primary btn-search">
<i class="fa fa-search"></i>
Search
</button>
</div>
</div>
</div>
</div>
</div>
<!-- /.box-header -->
<div class="box-body">
<table id="priceChangeListTable" class="table table-bordered table-hover"></table>
</div>
<!-- /.box-body -->
</div>
</div>
</div>
<div class="panel-footer">
<a href="#" id="savebtn" data-original-title="儲存" data-toggle="tooltip" type="button" class="btn btn-sm btn-warning btn-primary">儲存</a>
<a href="@Url.Action("List", "Coupon")" data-original-title="返回清單頁面" data-toggle="tooltip" type="button" class="btn btn-sm btn-success btn-primary">返回清單頁面</a>
</div>
</div>
</div>
</section>
}
@section scripts
{
<script>
var SetValue_companiesList = function (index, item) {
var companiesList = new Object();
if (typeof item.eq(index).attr('data-id') !== "undefined") {
companiesList.GroupSerialno = item.eq(index).attr('data-id');
companiesList.GroupName= item.eq(index).text();
companiesList.CouponSerialno=$("#serialno").val();
companiesList.IsSpecified=true;
}
else {
companiesList = item.eq(index).val();
}
return companiesList;
};
function Validation()
{
var check = true;
var inputStayfunPrice = $('#inputStayfunPrice');
var inputStayfunLimitToNum = $('#inputStayfunLimitToNum');
var inputStayfunLimitToDay = $('#inputStayfunLimitToDay');
var inputStayfunLimitToOrder = $('#inputStayfunLimitToOrder');
var inputCost = $('#inputCost');
var inputOriginalPrice = $('#inputOriginalPrice');
if (setErrorClass(inputStayfunPrice, inputStayfunPrice.val().length == 0) || setErrorClass(inputStayfunPrice, inputStayfunPrice.val() == 0))
check = false;
if (setErrorClass(inputStayfunLimitToNum, inputStayfunLimitToNum.val().length == 0))
check = false;
if (setErrorClass(inputStayfunLimitToDay, inputStayfunLimitToDay.val().length == 0))
check = false;
if (setErrorClass(inputStayfunLimitToOrder, inputStayfunLimitToOrder.val().length == 0))
check = false;
if (setErrorClass(inputCost, inputCost.val().length == 0) || setErrorClass(inputCost, inputCost.val() == 0))
check = false;
if (setErrorClass(inputOriginalPrice, inputOriginalPrice.val().length == 0) || setErrorClass(inputOriginalPrice, inputOriginalPrice.val() == 0))
check = false;
return check;
};
function setErrorClass(obj, bool)
{
if (bool)
$(obj).parentsUntil('.form-group').parent().addClass('has-error');
else
$(obj).parentsUntil('.form-group').parent().removeClass('has-error');
return bool;
};
$(function () {
var vApp = new Vue({
el: '#vApp',
data: {
priceChangeListTable: null,
startDate:''
},
components:{
'date-picker-start':{
template: '<input />',
mounted () {
$(this.$el).datepicker({
format: 'yyyy/mm/dd'
})
.datepicker("setDate", "-3m");
},
beforeDestroy () {
$(this.$el).datepicker('hide').datepicker('destroy');
}
},
'date-picker-end':{
template: '<input />',
mounted () {
$(this.$el).datepicker({
format: 'yyyy/mm/dd'
})
.datepicker("setDate", "0");
},
beforeDestroy () {
$(this.$el).datepicker('hide').datepicker('destroy');
}
},
},
methods: {
loadPriceLog:function(){
const columns = [
{ "title": "修改前成本", "data": "BeforeCost"},
{ "title": "成本", "data": "Cost",
"render": function (data, type, row){
if(row.BeforeCost != data){
return "<span class='colorRed'>"+data+"</span>";
}
return data;
}
},
{ "title": "修改前市價", "data": "BeforeOriginalPrice" },
{ "title": "市價", "data": "OriginalPrice",
"render": function (data, type, row){
if(row.BeforeOriginalPrice != data){
return "<span class='colorRed'>"+data+"</span>";
}
return data;
}
},
{ "title": "修改前建議售價", "data": "BeforeSalePrice" },
{ "title": "建議售價", "data": "SalePrice",
"render": function (data, type, row){
if(row.BeforeSalePrice != data){
return "<span class='colorRed'>"+data+"</span>";
}
return data;
}
},
{ "title": "修改前STAYFUN自訂售價", "data": "BeforeStayfunPrice" },
{ "title": "STAYFUN自訂售價", "data": "StayfunPrice",
"render": function (data, type, row){
if(row.BeforeSalePrice != data){
return "<span class='colorRed'>"+data+"</span>";
}
return data;
}
},
{ "title": "修改時間", "data": "createdatetime",
"render":function(data, type, row){
return moment(new Date(parseInt(data.substr(6)))).format("YYYY-MM-DD HH:mm:ss");
}
}
]
const opt = {
serverSide: true,
columns: columns,
searching: false,
ordering: false,
paging: false,
info: false,
ajax: {
"type": "Post",
"url": "/Coupon/GetPriceChangeLogList",
"data": function (d) {
Object.assign(d, {
'couponSerialno': $("#serialno").val(),
'startDate': $("#dateStart").val(),
'endDate': $("#dateEnd").val(),
});
return d;
}
},
language:{
sProcessing: "處理中...",
sZeroRecords: "查無資料...",
sLoadingRecords: "載入中..."
},
destroy: true,
}
this.$set(this, 'priceChangeListTable', $("#priceChangeListTable").dataTable(opt))
},
searchData: function () {
vApp.priceChangeListTable.DataTable().ajax.reload();
}
}
});
$('#CouponAreaID').multiselect({
includeSelectAllOption: true,
maxHeight: 300
});
var data = "";
@foreach (int item in Model.selectedArea)
{
<text>
data += "@item" + ",";
</text>
}
var dataarray=data.split(",");
$('#CouponAreaID').val( dataarray );
$('#CouponAreaID').multiselect("refresh");
$('tr[id="trSubProduct"]').find('#inputSubProductStayfunPrice').keyup(function ()
{
if( $(this).val() < $(this).data().originalPrice)
{
$(this).parent().addClass('has-warning');
$(this).parent().find("span").show();
}
else
{
$(this).parent().removeClass('has-warning');
$(this).parent().find("span").hide();
}
});
$('#inputStayfunPrice').keyup(function ()
{
if(this.value == ''){
this.value = 0;
return;
}
this.value=this.value.replace(/\D|^0/g,'')
});
$('#savebtn').unbind('click').click(function (e)
{
var verificationResult = VerificationAccount();
if (!verificationResult) {
return false;
}
// Validation
if (!Validation()) {
Dialog.Warning("必填欄位未填寫/欄位錯誤")
return;
}
// Save
var model = @Html.Raw(Json.Encode(Model));
model.couponVeiwModel.BeforeStayfunPrice = model.couponVeiwModel.StayfunPrice;
model.couponVeiwModel.BeforeCost = model.couponVeiwModel.Cost;
model.couponVeiwModel.BeforeSalePrice = model.couponVeiwModel.SalePrice;
model.couponVeiwModel.BeforeOriginalPrice = model.couponVeiwModel.OriginalPrice;
model.couponVeiwModel.StayfunPrice = $("#inputStayfunPrice").val();
model.couponVeiwModel.StayfunEnable = $("#inputStayfunEnable").prop("checked") ? 1 : 0;
model.couponVeiwModel.CouponAreaID = $('#CouponAreaID').val();;
model.couponVeiwModel.CouponCategorySN = $('#CouponCategorySN').val();;
model.couponVeiwModel.StayfunLimitToNum = $("#inputStayfunLimitToNum").val();
model.couponVeiwModel.StayfunLimitToDay =$("#inputStayfunLimitToDay").val();
model.couponVeiwModel.StayfunLimitToOrder =$("#inputStayfunLimitToOrder").val();
model.couponVeiwModel.Cost =$("#inputCost").val();
model.couponVeiwModel.OriginalPrice =$("#inputOriginalPrice").val();
model.couponVeiwModel.SalePrice =$("#inputStayfunPrice").val();
model.couponSpecificGroupVeiwModel=[];
model.couponVeiwModel.SpecificGroup="false";
if ($('input[name=specifyTarget]:checked').val() == "0") {
model.couponVeiwModel.SpecificGroup="false";
} else if ($('input[name=specifyTarget]:checked').val() == "1") {
model.couponVeiwModel.SpecificGroup="true";
}
$('tr[id="trSubProduct"]').each(function( index ) {
model.couponSubProductVeiwModel[index].StayfunPrice = $(this).find('#inputSubProductStayfunPrice').val();
});
$('tr[id="trSubProduct"]').each(function( index ) {
model.couponSubProductVeiwModel[index].StayfunEnable = $(this).find('#inputSubProductStayfunEnable').prop("checked") ? 1 : 0;
});
for(var index in model.couponSupplierVeiwModel)
if( $("input[value="+model.couponSupplierVeiwModel[index].serialno+"]").length == 1)
model.couponSupplierVeiwModel[index].IsEnabled = $("input[value="+model.couponSupplierVeiwModel[index].serialno+"]").prop("checked") ? 1 : 0;
var selected = $("#CouponAreaID option:selected");
model.selectedArea.length = 0;
var aindex = 0;
selected.each(function () {
model.selectedArea[aindex] = $(this).val();
aindex++;
});
var newPrice=parseInt(model.couponVeiwModel.StayfunPrice);
var costPrice=parseInt($("#inputCost").val());
var companiesList = $('#SelectCompanyList li');
if (companiesList.length > 1) {
$.each(companiesList, function (index) {
if (typeof companiesList.eq(index).attr("data-id") !== "undefined") {
model.couponSpecificGroupVeiwModel.push(SetValue_companiesList(index, companiesList));
}
});
}
if(newPrice< costPrice){
$("#inputStayfunPrice").parentsUntil('.form-group').parent().addClass('has-warning');
$("#inputStayfunPrice").siblings('span').show();
return e.preventDefault();
}
else{
$.ajax({
url: '@Url.Action("Edit", "Coupon")',
type: 'POST',
data: model,
dataType: "json",
error: function(xhr) {
Dialog.Warning(xhr.responseText);
},
success: function(reqObj) {
if (reqObj.syscode != "200"){
Dialog.Warning(reqObj.sysmsg);
}
else
{
Dialog.Success("完成更新票券資料");
window.location = "./index";
}
}
});
}
});
});
</script>
}