畫面調整,增加統計

This commit is contained in:
2026-05-29 16:43:47 +08:00
parent a3a9968e62
commit 251c52311d
11 changed files with 292 additions and 209 deletions
+42
View File
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Model.ViewModel
{
/// <summary>
/// statistic 的摘要描述
/// </summary>
public class statistic
{
public statistic()
{
//
// TODO: 在這裡新增建構函式邏輯
//
}
public int num { get; set; }
public int kind { get; set; }
public string kindName { get; set; }
public string order_no { get; set; }
public string subject { get; set; }
public string u_name { get; set; }
public string pay_type { get; set; }
public double amount { get; set; }
public double price { get; set; }
public string pay_mode { get; set; }
public string status { get; set; }
public int f_num { get; set; }
public int acc_num { get; set; }
public int acc_kind { get; set; }
public double check_amount { get; set; }
public double remain_amount { get; set; }
public string check_status { get; set; }
}
}
+27
View File
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
/// <summary>
/// StatisticController 的摘要描述
/// </summary>
public class StatisticController : BaseApiController
{
public StatisticController()
{
//
// TODO: 在這裡新增建構函式邏輯
//
}
[HttpPost]
[Route("api/Statistic/GetStatistic")]
public IHttpActionResult GetStatistic([FromBody] Model.ViewModel.statistic s)
{
return Ok();
}
}
+2 -2
View File
@@ -707,12 +707,12 @@
<asp:TextBox ID="demo" runat="server" CssClass="ckeditor" TextMode="MultiLine"></asp:TextBox>
</div>
</div>
<div class="row mb-1 label-sm-right">
<%-- <div class="row mb-1 label-sm-right">
<label class="col-sm-2 col-form-label">自定義欄位預設值</label>
<div class="col-sm-10">
<asp:TextBox ID="customize_data" runat="server" Rows="3" TextMode="MultiLine" CssClass="form-control" placeholder="一行輸入一個定義欄位預設值,如:&#10;$品名:醬油&#10;$金額:100" ToolTip="一行輸入一個定義欄位預設值,格式: $變數名稱:值"></asp:TextBox>
</div>
</div>
</div>--%>
<div class="row mb-1 label-sm-right">
<label class="col-sm-2 col-form-label">狀態 *</label>
+3 -3
View File
@@ -78,7 +78,7 @@ public partial class admin_activity_item_reg : MyWeb.config
if (prod.cycle.HasValue)
cycle.Text = prod.cycle.Value.ToString();
customize_data.Text = prod.customize_data?.ToString();
//customize_data.Text = prod.customize_data?.ToString();
edit.Visible = true;
@@ -158,7 +158,7 @@ public partial class admin_activity_item_reg : MyWeb.config
actItem.extend = extend.Checked ? "Y" : "N";
actItem.is_reconcile = is_reconcile_item.Checked ? "Y" : "N";
actItem.demo = demo.Text;
actItem.customize_data = customize_data.Text;
//actItem.customize_data = customize_data.Text;
actItem.sort_order = maxSort + 1;
_db.actItems.Add(actItem);
@@ -218,7 +218,7 @@ public partial class admin_activity_item_reg : MyWeb.config
actItem.extend = extend.Checked ? "Y" : "N";
actItem.is_reconcile = is_reconcile_item.Checked ? "Y" : "N";
actItem.demo = demo.Text;
actItem.customize_data = customize_data.Text;
//actItem.customize_data = customize_data.Text;
_db.SaveChanges();
Model.admin_log admin_log = new Model.admin_log();
+16 -15
View File
@@ -910,7 +910,7 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<uc1:alert runat="server" ID="L_msg" Text="" />
<div id="content" class="container-md">
<div id="content" class="container-lg">
<div class="card shadow-sm my-2" id="sec2">
<div class="card-header py-0">
@@ -922,9 +922,9 @@
<button v-if="this_id!=''" class="nav-link" id="sec2-tab2" data-bs-toggle="tab" data-bs-target="#sec2-page2"
type="button" role="tab" aria-controls="profile" aria-selected="false">
{{this_category_kindTxt}}項目</button>
<button v-if="this_id!=''" class="nav-link" id="sec2-tab3" data-bs-toggle="tab" data-bs-target="#sec2-page3"
<%-- <button v-if="this_id!=''" class="nav-link" id="sec2-tab3" data-bs-toggle="tab" data-bs-target="#sec2-page3"
type="button" role="tab" aria-controls="profile" aria-selected="false">
備品項目</button>
備品項目</button>--%>
</div>
</nav>
</div>
@@ -936,7 +936,7 @@
</div>
<div class="row mb-1 label-sm-right">
<label class="col-sm-2 col-lg-1 col-form-label">活動名稱 *</label>
<label class="col-sm-2 col-lg-1 col-form-label">活動(法會)名稱 *</label>
<div class="col-sm-10 col-lg-3">
<asp:TextBox ID="subject" MaxLength="100" runat="server" CssClass="form-control" placeholder="請輸入活動名稱"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="subject" runat="server" ErrorMessage="必填!" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
@@ -955,12 +955,12 @@
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="category_kind_txt" runat="server" ErrorMessage="必填!" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</div>--%>
<label class="col-sm-2 col-lg-1 col-form-label">活動詳細分類 *</label>
<label class="col-sm-2 col-lg-1 col-form-label">活動(法會)分類 *</label>
<div class="col-sm-10 col-lg-3">
<asp:PlaceHolder ID="kindPH" runat="server">
<div class="input-group mb-3" data-search-control="search1" @click="this_id=='' && search_show(search_dialog.controls.search1)">
<input class="form-control search-text" type="text" readonly
id="kind_txt" runat="server" placeholder="活動詳細分類" value="">
id="kind_txt" runat="server" placeholder="活動(法會)分類" value="">
<asp:HiddenField ID="kind" runat="server" Value="" />
<button class="btn btn-outline-secondary" type="button">
<i class="mdi mdi-view-list-outline"></i>
@@ -970,13 +970,19 @@
</asp:PlaceHolder>
<asp:Literal ID="kind_txt2" runat="server"></asp:Literal>
</div>
<label class="col-sm-2 col-lg-1 col-form-label">報名截止日 *</label>
<div class="col-sm-4 col-lg-3">
<asp:TextBox ID="dueDate" TextMode="Date" runat="server" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" ControlToValidate="dueDate" runat="server" ErrorMessage="必填!" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</div>
</div>
<div class="row mb-1 label-sm-right">
<label class="col-sm-2 col-lg-1 col-form-label">牌位編號開頭</label>
<div class="col-sm-10 col-lg-3">
<asp:TextBox ID="print_init" MaxLength="50" runat="server" CssClass="form-control" placeholder="請輸入牌位編號開頭"></asp:TextBox>
</div>
<label class="col-sm-2 col-lg-1 col-form-label">活動地點</label>
<label class="col-sm-2 col-lg-1 col-form-label">活動(法會)地點</label>
<div class="col-sm-10 col-lg-3">
<asp:TextBox ID="address" MaxLength="200" runat="server" CssClass="form-control" placeholder="請輸入活動地址"></asp:TextBox>
</div>
@@ -1011,12 +1017,7 @@
<div class="col-sm-4 col-lg-3 lunar pt-2">
<asp:Literal ID="endDate_lunar" runat="server"></asp:Literal>
</div>
<label class="col-sm-2 col-lg-1 col-form-label">報名截止日 *</label>
<div class="col-sm-4 col-lg-3">
<asp:TextBox ID="dueDate" TextMode="Date" runat="server" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" ControlToValidate="dueDate" runat="server" ErrorMessage="必填!" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</div>
</div>
@@ -1043,12 +1044,12 @@
<asp:TextBox ID="demo" runat="server" Rows="5" TextMode="MultiLine" CssClass="form-control" placeholder="請輸入備註"></asp:TextBox>
</div>
</div>
<div class="row mb-1">
<%-- <div class="row mb-1">
<label class="col-form-label">自定義欄位預設值</label>
<div class="">
<asp:TextBox ID="customize_data" runat="server" Rows="3" TextMode="MultiLine" CssClass="form-control" placeholder="一行輸入一個定義欄位預設值,如:&#10;$活動:OO年法會&#10;$地點:台中市OO區OO路" ToolTip="一行輸入一個定義欄位預設值,格式: $變數名稱:值"></asp:TextBox>
</div>
</div>
</div>--%>
<div class="row mb-1">
<asp:Panel ID="timePanel1" runat="server" CssClass="col-12 text-right text-primary" Visible="false">建檔時間:<asp:Literal ID="reg_time" runat="server"></asp:Literal></asp:Panel>
</div>
+2 -2
View File
@@ -1597,12 +1597,12 @@
<asp:TextBox ID="demo" runat="server" Rows="5" TextMode="MultiLine" CssClass="form-control" placeholder="請輸入備註"></asp:TextBox>
</div>
</div>
<div class="row mb-1">
<%-- <div class="row mb-1">
<label class="col-form-label">自定義欄位預設值</label>
<div class="">
<asp:TextBox ID="customize_data" runat="server" Rows="3" TextMode="MultiLine" CssClass="form-control" placeholder="一行輸入一個定義欄位預設值,如:&#10;$姓名:王OO&#10;$聯絡電話:0987654321" ToolTip="一行輸入一個定義欄位預設值,格式: $變數名稱:值"></asp:TextBox>
</div>
</div>
</div>--%>
<div class="row mb-1">
<asp:Panel ID="timePanel1" runat="server" CssClass="col-12 text-right text-primary" Visible="false">建檔時間:<asp:Literal ID="reg_time" runat="server"></asp:Literal></asp:Panel>
<asp:Panel ID="timePanel2" runat="server" CssClass="col-12 text-right text-primary" Visible="false">最後修改時間:<asp:Literal ID="modify_time" runat="server"></asp:Literal></asp:Panel>
+13
View File
@@ -244,8 +244,21 @@ public partial class admin_follower_reg : MyWeb.config
_db.followers.Add(followers);
_db.SaveChanges();
}
int _id = followers.num;
//應該要自動將此人設為第一個親友資料,不然牌位燈打時又要再做一次
family_members fm=new family_members();
fm.follower_num = _id;
fm.fam_name = followers.u_name;
fm.fam_gender=followers.sex;
fm.deceased = false;
fm.birthdate = followers.birthday;
_db.family_members.Add(fm);
_db.SaveChanges();
if (_id > 0)
{
// 如果啟用 search_keywords 功能,生成並更新 search_keywords
+1 -1
View File
@@ -73,7 +73,7 @@
</template>
</v-data-table>
<v-container>
<v-container class="container-fluid">
<v-row class="align-baseline" wrap>
<v-col cols="12" md="9">
<v-pagination v-model="data_table.page"
+2 -2
View File
@@ -1,5 +1,5 @@
<template>
<v-container>
<div class="container-fluid">
<v-card>
<v-card-title class="bg-primary white--text text-center">
<h5 class="mb-0">快速報名</h5>
@@ -162,7 +162,7 @@
</v-card>
</template>
</v-dialog>
</v-container>
</v-container>
</template>
+180 -180
View File
@@ -1,193 +1,193 @@
<template>
<v-container>
<div class="container-fluid">
<v-card>
<v-card-title class ="bg-primary white--text text-center">
<v-card-title class="bg-primary white--text text-center">
<h4>快速報名</h4>
<div class="ms-auto">
<v-btn @click.prevent="addOrderWithDetail()">儲存</v-btn>
<v-btn @click.prevent="back01()">返回</v-btn>
</div>
</v-card-title>
<v-card-text>
<v-row>
<v-col cols="2" md="2">
<v-text-field v-model="follower.u_name" :rules="requiredrules"
label="*姓名"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.phone" :rules="phonerules"
label="*電話"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.cellphone" :rules="cellrules"
label="*行動電話"></v-text-field>
</v-col>
</v-card-title>
<v-card-text>
<v-row>
<v-col cols="2" md="2">
<v-text-field v-model="follower.u_name" :rules="requiredrules"
label="*姓名"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.phone" :rules="phonerules"
label="*電話"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.cellphone" :rules="cellrules"
label="*行動電話"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-select :items="countrys" :rules="requiredrules"
label="*國籍"
item-text="name_zh"
item-value="id" v-model="follower.country">
</v-select>
<!--<v-text-field v-model="follower.country" :rules="requiredrules"
label="*國籍"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.id_code"
label="身分證號碼"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.passport"
label="旅行證件號碼"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-select :items="sex_items" :rules="requiredrules"
label="*性別"
item-text="text"
item-value="val" v-model="follower.sex">
</v-select>
<!--<v-text-field v-model="follower.sex" :rules="[rules.required]"
label="*性別"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-select :items="identity_items" :rules="requiredrules"
label="*身分別"
item-text="text"
item-value="val" v-model="follower.identity_type">
</v-select>
<!--<v-text-field v-model="follower.identity_type" :rules="[rules.required]"
label="*身分別"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-menu v-model="menu"
:close-on-content-click="false"
:nudge-right="40"
transition="scale-transition"
offset-y
min-width="auto">
<template v-slot:activator="{ on, attrs }">
<v-text-field v-model="follower.birthday"
label="生日"
prepend-icon="mdi-calendar"
readonly
v-bind="attrs"
v-on="on"></v-text-field>
</template>
<v-date-picker v-model="follower.birthday"
@input="menu = false"></v-date-picker>
</v-menu>
<!--<v-date-picker v-model="follower.birthday"
label="生日"></v-date-picker>-->
<!--<v-text-field v-model="follower.birthday"
label="生日"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-checkbox v-model="follower.send_receipt"
label="寄送收據"></v-checkbox>
</v-col>
<v-col cols="4" md="4">
<v-text-field v-model="follower.receipt_title"
label="收據抬頭"></v-text-field>
</v-col>
<v-col cols="12" md="12">
<v-text-field v-model="follower.address"
label="地址"></v-text-field>
</v-col>
</v-row>
<hr class="hr-text" data-content="功德項目">
<v-row>
<v-col cols="3" md="3">
<v-select :items="act_items"
label="功德項目"
item-text="act_item_selected.text"
item-value="act_item_selected.val" v-model="select_act_item">
</v-select>
</v-col>
<v-col cols="2" md="2">
<v-btn @click.prevent="newTablet()">新增</v-btn>
</v-col>
</v-row>
<v-col cols="2" md="2">
e <v-select :items="countrys" :rules="requiredrules"
label="*國籍"
item-text="name_zh"
item-value="id" v-model="follower.country">
</v-select>
<!--<v-text-field v-model="follower.country" :rules="requiredrules"
label="*國籍"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.id_code"
label="身分證號碼"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-text-field v-model="follower.passport"
label="旅行證件號碼"></v-text-field>
</v-col>
<v-col cols="2" md="2">
<v-select :items="sex_items" :rules="requiredrules"
label="*性別"
item-text="text"
item-value="val" v-model="follower.sex">
</v-select>
<!--<v-text-field v-model="follower.sex" :rules="[rules.required]"
label="*性別"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-select :items="identity_items" :rules="requiredrules"
label="*身分別"
item-text="text"
item-value="val" v-model="follower.identity_type">
</v-select>
<!--<v-text-field v-model="follower.identity_type" :rules="[rules.required]"
label="*身分別"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-menu v-model="menu"
:close-on-content-click="false"
:nudge-right="40"
transition="scale-transition"
offset-y
min-width="auto">
<template v-slot:activator="{ on, attrs }">
<v-text-field v-model="follower.birthday"
label="生日"
prepend-icon="mdi-calendar"
readonly
v-bind="attrs"
v-on="on"></v-text-field>
</template>
<v-date-picker v-model="follower.birthday"
@input="menu = false"></v-date-picker>
</v-menu>
<!--<v-date-picker v-model="follower.birthday"
label="生日"></v-date-picker>-->
<!--<v-text-field v-model="follower.birthday"
label="生日"></v-text-field>-->
</v-col>
<v-col cols="2" md="2">
<v-checkbox v-model="follower.send_receipt"
label="寄送收據"></v-checkbox>
</v-col>
<v-col cols="4" md="4">
<v-text-field v-model="follower.receipt_title"
label="收據抬頭"></v-text-field>
</v-col>
<v-col cols="12" md="12">
<v-text-field v-model="follower.address"
label="地址"></v-text-field>
</v-col>
</v-row>
<hr class="hr-text" data-content="功德項目">
<v-row>
<v-col cols="3" md="3">
<v-select :items="act_items"
label="功德項目"
item-text="act_item_selected.text"
item-value="act_item_selected.val" v-model="select_act_item">
</v-select>
</v-col>
<v-col cols="2" md="2">
<v-btn @click.prevent="newTablet()">新增</v-btn>
</v-col>
</v-row>
<v-row>
<v-col cols="12" md="12">
<v-expansion-panels>
<v-expansion-panel v-for="(item,i) in tablets"
:key="i">
<v-expansion-panel-header>
<h2>{{ item.actItem_subject }}</h2>
</v-expansion-panel-header>
<v-expansion-panel-content>
<v-container>
<v-row>
<v-col col="12" md="1">
標題
</v-col>
<v-col col="12" md="11">
<v-row>
<v-col>
<v-text-field v-model="title_new.name"
label="姓名"></v-text-field>
</v-col>
<v-col>
<v-select :items="live_select"
label="存/歿"
item-text="text"
item-value="val" v-model="title_new.islive">
</v-select>
<!--<v-text-field v-model="title_new.islive"
label="存/歿"></v-text-field>-->
</v-col>
<v-col>
<v-btn @click.prevent="addTitle(item)">加入</v-btn>
</v-col>
</v-row>
<v-row>
<v-col cols="12" md="12">
{{ renderContent( item.tablet.title) }}
</v-col>
</v-row>
</v-col>
</v-row>
<v-row v-if="checkType(item)">
<v-col col="12" md="1">
陽上
</v-col>
<v-col col="12" md="11">
<v-row>
<v-col>
<v-text-field v-model="alive_new.name"
label="姓名"></v-text-field>
</v-col>
<v-col>
<v-select :items="live_select"
label="存/歿"
item-text="text"
item-value="val" v-model="alive_new.islive">
</v-select>
<!--<v-text-field v-model="alive_new.islive"
label="存/歿"></v-text-field>-->
</v-col>
<v-col>
<v-btn @click.prevent="addLive(item)">加入</v-btn>
<v-row>
<v-col cols="12" md="12">
<v-expansion-panels>
<v-expansion-panel v-for="(item,i) in tablets"
:key="i">
<v-expansion-panel-header>
<h2>{{ item.actItem_subject }}</h2>
</v-expansion-panel-header>
<v-expansion-panel-content>
<v-container>
<v-row>
<v-col col="12" md="1">
標題
</v-col>
<v-col col="12" md="11">
<v-row>
<v-col>
<v-text-field v-model="title_new.name"
label="姓名"></v-text-field>
</v-col>
<v-col>
<v-select :items="live_select"
label="存/歿"
item-text="text"
item-value="val" v-model="title_new.islive">
</v-select>
<!--<v-text-field v-model="title_new.islive"
label="存/歿"></v-text-field>-->
</v-col>
<v-col>
<v-btn @click.prevent="addTitle(item)">加入</v-btn>
</v-col>
</v-row>
<v-row>
<v-col cols="12" md="12">
{{ renderContent( item.tablet.title) }}
</v-col>
</v-row>
</v-col>
</v-row>
<v-row v-if="checkType(item)">
<v-col col="12" md="1">
陽上
</v-col>
<v-col col="12" md="11">
<v-row>
<v-col>
<v-text-field v-model="alive_new.name"
label="姓名"></v-text-field>
</v-col>
<v-col>
<v-select :items="live_select"
label="存/歿"
item-text="text"
item-value="val" v-model="alive_new.islive">
</v-select>
<!--<v-text-field v-model="alive_new.islive"
label="存/歿"></v-text-field>-->
</v-col>
<v-col>
<v-btn @click.prevent="addLive(item)">加入</v-btn>
</v-col>
</v-row>
<v-row>
<v-col cols="12" md="12">
{{ renderContent( item.tablet.alive) }}
</v-col>
</v-row>
</v-col>
</v-row>
</v-container>
</v-expansion-panel-content>
</v-expansion-panel>
</v-expansion-panels>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-container>
</v-col>
</v-row>
<v-row>
<v-col cols="12" md="12">
{{ renderContent( item.tablet.alive) }}
</v-col>
</v-row>
</v-col>
</v-row>
</v-container>
</v-expansion-panel-content>
</v-expansion-panel>
</v-expansion-panels>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-container>
</template>
<script>
+4 -4
View File
@@ -24,8 +24,8 @@
<asp:Content ID="Content2" ContentPlaceHolderID="page_nav" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<v-container>
<div id="content" class="container py-4">
<v-containe class="container-fluid">
<div id="content" class="container-fluid py-4">
<keep-alive>
<component :is="currentView" :form-data="$data"
:num="twoData"
@@ -33,7 +33,7 @@
</component>
</keep-alive>
</div>
</v-container>
</v-containe>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="offCanvasRight" Runat="Server">
</asp:Content>
@@ -120,7 +120,7 @@
this.twoData = item.item
this.currentView = "fastSignUp-component"
} else if (item.action === "oldSign") {
location.href="~/admin/order/index.aspx"
location.href="/admin/order/index.aspx"
}
//console.log("item.action:",this.twoData)
},