295 lines
14 KiB
Plaintext
295 lines
14 KiB
Plaintext
<%@ Page Title="匯款/沖帳管理" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="index.aspx.cs" Inherits="admin_bill_index" %>
|
||
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" runat="Server">
|
||
<link rel="stylesheet" href="../../js/_bootstrap-icons-1.8.1/bootstrap-icons.css">
|
||
<style>
|
||
.function-icon {
|
||
font-size: 2em;
|
||
line-height: 1;
|
||
align-content: center;
|
||
}
|
||
.external-link-icon {
|
||
font-size: 0.8em;
|
||
}
|
||
|
||
.modify_modal{
|
||
width:calc(100vw-20%);
|
||
background-color:white;
|
||
opacity:0;
|
||
}
|
||
</style>
|
||
<script src="/js//httpVueLoader.js"></script>
|
||
</asp:Content>
|
||
<asp:Content ID="Content3" ContentPlaceHolderID="page_nav" runat="Server">
|
||
<h2 class="mb-3">匯款/沖帳管理</h2>
|
||
</asp:Content>
|
||
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
|
||
<v-container>
|
||
<div id="content" class="container py-4">
|
||
<div class="row">
|
||
<!-- 第一欄:匯款登錄與核對 -->
|
||
<div class="col-lg-4 mb-4">
|
||
<h5 class="text-primary mb-3">
|
||
<i class="bi bi-upload"></i> 匯款登錄與核對
|
||
</h5>
|
||
<div class="list-group">
|
||
<a @click="show_register()" class="list-group-item list-group-item-action" >
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-plus-circle text-success me-3 function-icon"></i>
|
||
<div>
|
||
<div>
|
||
登錄匯款資料
|
||
<i class="bi bi-box-arrow-up-right text-muted ms-1 external-link-icon"></i>
|
||
</div>
|
||
<small class="text-muted">報名者自行填寫匯款相關資訊</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-primary">報名者</span>
|
||
</div>
|
||
</a>
|
||
<a @click="show_verify()" class="list-group-item list-group-item-action d-none">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-person-check text-info me-3 function-icon"></i>
|
||
<div>
|
||
<div>出納核對匯款人</div>
|
||
<small class="text-muted">核對匯款人身份與報名資料</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-info">出納</span>
|
||
</div>
|
||
</a>
|
||
<a @click="show_verify()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-person-check text-info me-3 function-icon"></i>
|
||
<div>
|
||
<div>出納核對匯款人</div>
|
||
<small class="text-muted">初步核對匯款人身份資料</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-info">出納</span>
|
||
</div>
|
||
</a>
|
||
<%-- <a href="verify2.aspx" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-currency-dollar text-warning me-3 function-icon"></i>
|
||
<div>
|
||
<div>出納核對金額(階段2)</div>
|
||
<small class="text-muted">核對匯款金額與入帳資料</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-warning text-dark">出納</span>
|
||
</div>
|
||
</a>--%>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 第二欄:沖帳流程 -->
|
||
<div class="col-lg-4 mb-4">
|
||
<h5 class="text-primary mb-3">
|
||
<i class="bi bi-receipt"></i> 沖帳流程
|
||
</h5>
|
||
<div class="list-group">
|
||
<a @click="personal_reconcile()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-person text-primary me-3 function-icon"></i>
|
||
<div>
|
||
<div>個人-沖帳流程</div>
|
||
<small class="text-muted">處理個人匯款的沖帳作業</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-success">會計</span>
|
||
</div>
|
||
</a>
|
||
<a @click="group_reconcile()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-people text-success me-3 function-icon"></i>
|
||
<div>
|
||
<div>共同-沖帳流程</div>
|
||
<small class="text-muted">處理多人共同支付的沖帳作業</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-success">會計</span>
|
||
</div>
|
||
</a>
|
||
<a @click="balance_reconcile()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-calculator text-danger me-3 function-icon"></i>
|
||
<div>
|
||
<div>餘額核銷</div>
|
||
<small class="text-muted">處理沖帳後剩餘金額的核銷</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-danger">會計</span>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 第三欄:查詢功能 -->
|
||
<div class="col-lg-4 mb-4">
|
||
<h5 class="text-primary mb-3">
|
||
<i class="bi bi-search"></i> 查詢功能
|
||
</h5>
|
||
<div class="list-group">
|
||
<a @click="verify_query()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-journal-check text-info me-3 function-icon"></i>
|
||
<div>
|
||
<div>沖帳查詢</div>
|
||
<small class="text-muted">查詢所有沖帳記錄與明細</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-info">會計</span>
|
||
</div>
|
||
</a>
|
||
<a @click="balance_query()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-file-text text-secondary me-3 function-icon"></i>
|
||
<div>
|
||
<div>餘額核銷查詢</div>
|
||
<small class="text-muted">查詢已完成的餘額核銷記錄</small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-secondary">會計</span>
|
||
</div>
|
||
</a>
|
||
|
||
<a @click="balance_query()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-file-spreadsheet text-secondary me-3 function-icon"></i>
|
||
<div>
|
||
<div>應收應付(依活動)</div>
|
||
<small class="text-muted"></small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-secondary">會計</span>
|
||
</div>
|
||
</a>
|
||
<a @click="balance_query()" class="list-group-item list-group-item-action">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div class="d-flex">
|
||
<i class="bi bi-file-spreadsheet text-secondary me-3 function-icon"></i>
|
||
<div>
|
||
<div>應收應付(依信眾)</div>
|
||
<small class="text-muted"></small>
|
||
</div>
|
||
</div>
|
||
<span class="badge bg-secondary">會計</span>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 統計資訊 -->
|
||
<div class="row mt-4">
|
||
<div class="col-12">
|
||
<div class="alert alert-info">
|
||
<h6 class="alert-heading">
|
||
<i class="bi bi-info-circle"></i> 系統說明
|
||
</h6>
|
||
<ul class="mb-0">
|
||
<li><strong>匯款登錄與核對</strong>:處理報名者匯款資料的登錄與出納核對作業</li>
|
||
<li><strong>沖帳流程</strong>:處理個人與共同支付的沖帳作業,以及剩餘金額的核銷</li>
|
||
<li><strong>查詢功能</strong>:提供各類沖帳記錄的查詢與統計功能</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<v-dialog v-model="modify_dialog.show" class="modify_modal">
|
||
<template>
|
||
|
||
<keep-alive>
|
||
<component :is="currentView" @close-dialog="modify_dialog.show=false"></component>
|
||
</keep-alive>
|
||
|
||
</template>
|
||
</v-dialog>
|
||
</v-container>
|
||
</asp:Content>
|
||
|
||
<asp:Content ID="Content5" ContentPlaceHolderID="footer_script" runat="Server">
|
||
<script src="../transfer/draft-utils.js"></script>
|
||
<script>
|
||
|
||
let VueApp = new Vue({
|
||
el: '#app',
|
||
vuetify: new Vuetify(vuetify_options),
|
||
data() {
|
||
return {
|
||
modify_dialog: {
|
||
show:false
|
||
},
|
||
externalHtml: "",
|
||
currentView:null
|
||
};
|
||
},
|
||
created() {
|
||
//this.loadActivities();
|
||
|
||
},
|
||
components: {
|
||
'register-component': httpVueLoader('./register.vue'),
|
||
'verify-component': httpVueLoader('./verify.vue'),
|
||
'group-component': httpVueLoader('./group_reconcile.vue'),
|
||
'personal-component': httpVueLoader('./personal_reconcile.vue'),
|
||
'balance-component': httpVueLoader('./balance_reconcile.vue'),
|
||
'verify_query-component': httpVueLoader('./verify_order_record_query.vue'),
|
||
'balance_query-component': httpVueLoader('./balance_reconcile_query.vue')
|
||
},
|
||
|
||
methods: {
|
||
async balance_query() {
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'balance_query-component'
|
||
},
|
||
async verify_query(){
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'verify_query-component'
|
||
},
|
||
async balance_reconcile() {
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'balance-component'
|
||
},
|
||
async personal_reconcile() {
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'personal-component'
|
||
},
|
||
async group_reconcile() {
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'group-component'
|
||
},
|
||
async show_verify() {
|
||
this.modify_dialog.show = true
|
||
this.currentView = 'verify-component'
|
||
},
|
||
async show_register() {
|
||
this.modify_dialog.show = true
|
||
this.currentView ='register-component'
|
||
},
|
||
loadActivities() {
|
||
const today = new Date().toISOString().split('T')[0];
|
||
axios.get(`../../api/activity?endDate<=${today}`)
|
||
.then(response => {
|
||
this.activities = response.data;
|
||
})
|
||
.catch(error => {
|
||
console.error('載入活動列表失敗:', error);
|
||
alert('載入活動列表失敗,請重新整理頁面');
|
||
});
|
||
},
|
||
}
|
||
})
|
||
</script>
|
||
</asp:Content> |