Files
17168ERP/web/admin/order/index4.aspx
T
2026-05-21 17:47:47 +08:00

149 lines
5.1 KiB
Plaintext

<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index4.aspx.cs" Inherits="admin_order_index4" %>
<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="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">
<keep-alive>
<component :is="currentView" :form-data="$data"
:num="twoData"
@custom-event="changeView">
</component>
</keep-alive>
</div>
</v-container>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="offCanvasRight" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="footer_script" Runat="Server">
<script>
let VueApp = new Vue({
el: '#app',
vuetify: new Vuetify(),
activated() {
this.getDetail();
},
data() {
return {
options: { multiSort: false },
search_options: { multiSort: false },
selected_act: '',
selected_order: '',
sign_table: {
loading: true,
list: [],
selected: [],
singleSelect: false,
count: 0,
page: 1,
pageSize: 10,
header: [
{ text: '單號', value: 'order_no' },
{ text: '姓名', value: 'u_name' },
{ text: '報名日期', value: 'up_time' },
{ text: '單據狀態', value: 'keyin1_txt', align: 'start' },
{ text: '', value: 'slot_btn', sortable: false, align: 'end' }
],
footer: {
showFirstLastPage: true,
itemsPerPageOptions: [5, 10, 20, 30],
},
},
search: {
keyin1: '',
order_no: '',
subject: '',
u_name: '',
up_time1: '',
up_time2: '',
actItemTxt: '',
introducerTxt: '',
activity_num: '',
country: '',
country2: '',
hasPrice: '',
},
currentView: 'fastSignUp-component',
twoData: {}
};
},
components: {
'fastSignUp-component': httpVueLoader('./fastSignUp.vue'),
'fastSignUp2-component': httpVueLoader('./fastSignUp2.vue'),
'fastSignUp3-component': httpVueLoader('./fastSignUp3.vue'),
},
watch: {
options: {
handler() {
this.getDetail()
},
deep: true,
},
},
methods: {
changeView(item) {
console.log(item);
if (item.action === "detail") {
this.twoData = item.item.num
this.currentView = "fastSignUp2-component"
} else if (item.action === "add") {
this.twoData=item.item.num
this.currentView = "fastSignUp3-component"
}
console.log("item.action:",this.twoData)
},
getDetail() {
const { sortBy, sortDesc, page, itemsPerPage } = this.options
const params = {
page: '1', pageSize: 10,
};
this.search = { activity_num: this.$root.selected_act }
this.detail_table.loading = true
sessionStorage.setItem('orderpage', '1');// clearpage ? '1' : page
axios
.post(HTTP_HOST + 'api/order/GetList', this.search, { params: params })
.then(response => {
this.detail_table.list = response.data.list
this.detail_table.count = response.data.count;
this.detail_table.loading = false
})
.catch(error => console.log(error))
},
},
computed: {
pageCount() {
return Math.ceil(this.detail_table.count / this.detail_table.pageSize)
},
}
});
</script>
</asp:Content>