Files
17168ERP/web/admin/Templates/TBS5ADM001/MasterPage.master
2025-09-04 18:30:54 +08:00

179 lines
8.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="admin_Templates_TBS5ADM001_MasterPage" %>
<%@ Register Src="~/admin/Templates/TBS5ADM001/uc/nav.ascx" TagPrefix="uc1" TagName="nav" %>
<%@ Register Src="~/admin/Templates/TBS5ADM001/uc/footer.ascx" TagPrefix="uc1" TagName="footer" %>
<%@ Register Src="~/admin/Templates/TBS5ADM001/uc/menu.ascx" TagPrefix="uc1" TagName="menu" %>
<!DOCTYPE html>
<html lang="zh-TW">
<head runat="server">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title><%= Page.Title %></title>
<%--
<%: Styles.Render("~/bundles/css") %>
<link href="~/css/bundle.css" rel="stylesheet" />
--%>
<link href="~/js/bootstrap5/bootstrap.min.css" rel="stylesheet" />
<%--<link href="~/js/fontawesome6/css/all.css" rel="stylesheet" />--%>
<link href="~/js/mdi-font/css/materialdesignicons.min.css" rel="stylesheet" />
<link href="~/js/vuetify_ez.css" rel="stylesheet" />
<link href="~/js/sweetalert2/sweetalert2.min.css" rel="stylesheet" />
<link href="~/admin/Templates/TBS5ADM001/css/Style.css" rel="stylesheet" />
<asp:ContentPlaceHolder id="page_header" runat="server">
</asp:ContentPlaceHolder>
</head>
<body id="PageBody" class="" runat="server">
<form id="form1" runat="server">
<%-- ScriptManager 必需移除 --%>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div id="app">
<v-app>
<uc1:nav runat="server" ID="nav"/>
<div id="layoutSidenav" class="">
<div id="layoutSidenav_nav" class="shadow" runat="server" ClientIDMode="static">
<uc1:menu runat="server" id="menu" />
</div>
<div id="layoutSidenav_content" class="bg-light" runat="server" ClientIDMode="static">
<main>
<nav class="page-nav navbar bg-white navbar-light px-2 mb-2 border-bottom"
><asp:ContentPlaceHolder id="page_nav" runat="server"></asp:ContentPlaceHolder></nav>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</main>
<uc1:footer runat="server" ID="footer" />
</div>
</div>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header shadow">
<h5 id="offcanvasRightLabel">查詢</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<asp:ContentPlaceHolder id="offCanvasRight" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</v-app>
</div>
<%--
<%:Scripts.Render("~/bundles/js") %>
<script src="<%=ResolveClientUrl("~/js/bundle.js")%>"></script>
--%>
<script>
let HTTP_HOST = "<%=UrlHost()%>";
</script>
<script src="<%=ResolveUrl("~/js/bootstrap5/js/bootstrap.bundle.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/jquery-3.6.0.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/vue.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/vuetify.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/axios.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/moment.min.js")%>"></script>
<script src="<%=ResolveUrl("~/js/sweetalert2/sweetalert2.all.min.js") %>"></script>
<script src="<%=ResolveUrl("~/admin/Templates/TBS5ADM001/js/Script.js")%>"></script>
<script>
//全局的VUE組件操作提示組件
Vue.component('message-modal', {
data() {
return {
show: false,
title: '提示',
message: '',
status: 'success', // 'success' or 'error'
callback: null
};
},
methods: {
open({ title = '提示', message = '', status = 'success', callback = null }) {
this.title = title;
this.message = message;
this.status = status;
this.callback = callback;
this.show = true;
},
close() {
this.show = false;
if (this.callback) this.callback();
}
},
template: `
<div class="modal fade" tabindex="-1" :class="{ show: show }" style="display: block;" v-if="show" @click.self="close">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header" :class="status === 'success' ? 'bg-success text-white' : 'bg-danger text-white'">
<h5 class="modal-title">{{ title }}</h5>
<button type="button" class="btn-close" @click="close"></button>
</div>
<div class="modal-body">
<p>{{ message }}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn" :class="status === 'success' ? 'btn-success' : 'btn-danger'" @click="close">確定</button>
</div>
</div>
</div>
</div>
`
});
Vue.component('confirm-modal', {
data() {
return {
show: false,
title: '確認操作',
message: '是否確定要執行此操作?',
confirmCallback: null,
cancelCallback: null
};
},
methods: {
open(opts) {
this.title = opts.title || '確認操作';
this.message = opts.message || '是否確定要執行此操作?';
this.confirmCallback = opts.onConfirm || null;
this.cancelCallback = opts.onCancel || null;
this.show = true;
},
confirm() {
this.show = false;
if (this.confirmCallback) this.confirmCallback();
},
cancel() {
this.show = false;
if (this.cancelCallback) this.cancelCallback();
}
},
template: `
<div class="modal fade" tabindex="-1"
:class="{ show: show }"
style="display:block;" v-if="show"
@click.self="cancel">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-warning text-white">
<h5 class="modal-title">{{ title }}</h5>
<button type="button" class="btn-close" @click="cancel"></button>
</div>
<div class="modal-body">
<p>{{ message }}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" @click="cancel">取消</button>
<button type="button" class="btn btn-danger" @click="confirm">確認</button>
</div>
</div>
</div>
</div>`
});
</script>
<asp:ContentPlaceHolder id="footer_script" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>