Files
EnChia 7644df57d0 1. 優化報名頁面:彈出查詢頁面、顯示剛新增資料
2. 新增報名頁面加上取消鍵
3. 優化登入頁面:按下 enter 自動換格/送出
4. 修復新增報名頁面中,不同 search_dialog 中的 page 參數相互連動之異常
5. 修改報名頁面列印格式
6. 修復報名頁面匯出功能
7. 優化報到功能
8. 報名頁面中,無查詢資料時不可點選匯出/列印按鈕
9. 匯出/列印報名管理報表時,若無資料則顯示提示
10. 修復列印管理報表後父視窗 UI 不能點擊的問題
11. 新增報名管理表單匯出 excel 功能
12. 於新增信眾、新增活動頁面加上取消鍵
13. 優化報名管理匯出功能:若篩選條件包含特定活動,自動於「匯出條件」欄位標註活動名稱
14. 優化報名查詢匯出功能:匯出之文件中加上「匯出條件」欄位
15. 修復信眾資料頁面中,使用「生日」作為篩選基準時,後續執行「列印查詢資料」與「匯出查詢資料」會報錯
16. 修復「列印信眾查詢」功能中,電話搜尋欄位未正確帶入查詢條件之異常
17. 解決中文輸入法輸入電話號碼的跳字問題
18. 新增品項管理介面排序功能
2026-04-21 09:03:57 +08:00

141 lines
8.7 KiB
Plaintext

<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_index" %>
<script runat="server">
public string input_class = "rounded-pill";
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" runat="Server">
<%=recaptcha.Used ? recaptcha.HeaderCode():"" %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="bg-ani">
<div class="zoominheader">
<div class="zoomoutheader">
</div>
</div>
<svg version="1.1" id="lotus2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
fill="currentColor" x="0px" y="0px" width="1920px" height="1080px" viewBox="0 0 1920 1080">
<use xlink:href="Templates/TBS5ADM001/images/lotus2-1.svg#Flower1"
width="550" height="410" id="XMLID_3_" x="-137.521" y="-18.149"
transform="matrix(1 0 0 -1 482.6233 592.5283)" overflow="visible"/>
<use xlink:href="Templates/TBS5ADM001/images/lotus2-1.svg#Leaf1"
width="334.812" height="521.34" id="XMLID_2_" x="-167.406" y="-260.672"
transform="matrix(1 0 0 -1 1667.5813 865.9346)" overflow="visible"/>
<use xlink:href="Templates/TBS5ADM001/images/lotus2-1.svg#Leaf1"
width="334.812" height="521.34" id="XMLID_1_" x="-167.406" y="-260.672"
transform="matrix(1 0 0 -1 155.446 1194.4658)" overflow="visible"/>
<use xlink:href="Templates/TBS5ADM001/images/lotus2-1.svg#Flower1"
width="274.967" height="204.599" x="-137.521" y="-18.149"
transform="matrix(0.5497 -0.8354 -0.8354 -0.5497 1820.5315 211.6685)" overflow="visible"/>
</svg>
</div>
<div class="container vh-100">
<div class="row justify-content-center align-items-center h-75">
<div class="col-md-9 col-xl-5">
<div class="card shadow-lg border-0 rounded-lg form-login">
<div class="-card-header">
</div>
<div class="card-body">
<h3 class="text-center font-weight-light my-3">道場管理系統登入</h3>
<div class="text-end text-light">17168ERP</div>
<div class="form-floating mb-3">
<asp:TextBox ID="u_id" CssClass="form-control" runat="server" type="email" placeholder="name@example.com"></asp:TextBox>
<label for="u_id"><i class="mdi mdi-account"></i> 使用者帳號</label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" cssClass="validation-msg"
ControlToValidate="u_id" SetFocusOnError="true" Display="Dynamic" ErrorMessage="必填!"></asp:RequiredFieldValidator>
</div>
<div class="form-floating mb-3">
<asp:TextBox ID="u_password" runat="server" TextMode="Password" CssClass="form-control" placeholder="Password"></asp:TextBox>
<label for="u_password"><i class="mdi mdi-key-variant"></i> 使用者密碼</label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" cssClass="validation-msg"
ControlToValidate="u_password" SetFocusOnError="true" Display="Dynamic" ErrorMessage="必填!"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ControlToValidate="u_password" Display="Dynamic" cssClass="validation-msg"
ID="psdRule" runat="server" SetFocusOnError="true" />
</div>
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="View1" runat="server">
<div class="row recaptcha g-2 mb-3">
<div class="col-sm-6">
<div class="form-floating">
<asp:TextBox ID="chknum" CssClass="form-control" runat="server" placeholder="驗證碼" />
<label for="captcha"><i class="mdi mdi-shield-half-full"></i> 驗證碼</label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" cssClass="validation-msg"
ControlToValidate="chknum" SetFocusOnError="true" Display="Dynamic" ErrorMessage="必填!"></asp:RequiredFieldValidator>
</div>
</div>
<div class="col-sm-6">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="rechk" CausesValidation="false" OnClick="rechk_Click" runat="server" title="點擊更換驗證碼">
<asp:Image ID="chksum_img" runat="server" ImageUrl="~/App_Script/chksum.ashx" OnLoad="chksum_img_Load" />
<i class="mdi mdi-sync"></i>
</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:View>
<asp:View ID="View2" runat="server">
<div class="form-group">
<%=recaptcha.Used ? recaptcha.Embed():"" %>
</div>
</asp:View>
</asp:MultiView>
<div class="form-floating mb-3">
<asp:TextBox ID="u_gauth" runat="server" TextMode="Password" CssClass="form-control" placeholder="Google Authenticator 驗證碼"></asp:TextBox>
<label for="u_gauth"><i class="mdi mdi-key-variant"></i> Google Authenticator 驗證碼</label>
</div>
<div class="mt-4 mb-0 d-grid gap-2">
<asp:LinkButton ID="Button1" runat="server" OnClick="Button1_Click"
CssClass="btn btn-primary rounded-pill">
<i class="mdi mdi-login"></i> 登入</asp:LinkButton>
<asp:LinkButton ID="DesignModeButton" runat="server" OnClick="DesignModeButton_Click"
CssClass="btn btn-secondary rounded-pill" CausesValidation="false" Visible="false">
<i class="mdi mdi-shield-account"></i> 以設計師模式登入
</asp:LinkButton>
</div>
</div>
<div class="card-footer text-center py-4 bg-white bg-gradient bg-opacity-25 border-0">
<div class="">
<asp:Label ID="L_msg" runat="server" cssClass="text-danger"></asp:Label>
<asp:Label ID="msg" runat="server" cssClass="text-danger"></asp:Label>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.content_box -->
<script>
document.addEventListener('DOMContentLoaded', function () {
var accountInput = document.getElementById('<%= u_id.ClientID %>');
var passwordInput = document.getElementById('<%= u_password.ClientID %>');
var chkInput = document.getElementById('<%= chknum.ClientID %>');
var btn = document.getElementById('<%= Button1.ClientID %>');
accountInput.addEventListener('keypress', function (e){
if (e.keyCode === 13) {
$("#<%= u_password.ClientID %>").focus();
return false;
}
})
passwordInput.addEventListener('keypress', function (e) {
if (e.keyCode === 13) {
$("#<%= chknum.ClientID %>").focus();
return false;
}
})
var triggerLogin = function (e) {
if (e.keyCode === 13) {
btn.click();
e.preventDefault();
return false;
}
};
if (chkInput) chkInput.addEventListener('keypress', triggerLogin);
});
</script>
</asp:Content>