Files
17168ERP/web/admin/shuwen/shuwen.aspx
T
2026-09-11 17:56:59 +08:00

171 lines
7.4 KiB
Plaintext

<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="shuwen.aspx.cs" Inherits="admin_shuwen_shuwen" %>
<asp:Content ID="Content1" ContentPlaceHolderID="page_header" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="page_nav" Runat="Server">
<div class="mb-2 mb-sm-0 d-flex align-items-center gap-2">
<v-text-field v-model="query.start_date" label="活動起始日" type="date" dense outlined></v-text-field>
<v-text-field v-model="query.end_date" label="活動結束日" type="date" dense outlined></v-text-field>
<button class="btn btn-primary" @click="queryActivity">查詢</button>
<%--<span>查看疏文</span>
<select v-model="currentActivityNum" @change="onActivityChange" class="form-select" style="width: auto;">
<option value="">請選擇要查看的活動</option>
<option v-for="activity in activityList" :value="activity.num" :key="activity.num">
{{activity.subject}}
</option>
</select>--%>
<h4>
<%--<span v-if="currentActivityNum">{{latest ? '當前疏文是最新版本': '當前疏文不是最新版本'}}</span>--%>
</h4>
<%-- </div>--%>
<%-- <div class="">
<a class="btn btn-outline-primary btn-print" @click="updateShuWen" v-if="currentActivityNum&&!latest">{{updateShuWenLoading ? '更新中': '更新疏文'}}</a>
<a :href="'<%=ResolveUrl("~/api/shuwen/download")%>?activitynum='+currentActivityNum" class="btn btn-outline-primary btn-print">下載疏文Word檔</a>
</div>--%>
</div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<!--要同時可以選多個活動,因為會拆成捐贈跟報名 ,還要能設定消災跟超薦的區分-->
<template>
<v-container>
<v-row class="mb-0 mt-4">
<v-col cols="12" md="3">
<v-text-field v-model="query.xStart" label="消災列印編號前置" type="text" dense outlined></v-text-field>
</v-col>
<v-col cols="12" md="3">
<v-text-field v-model="query.sStart" label="超薦列印編號前置" type="text" dense outlined></v-text-field>
</v-col>
</v-row>
</v-container>
</template>
<%--<div v-if="currentActivityNum">
<div><h2 style="text-align:center">消災疏文</h2></div>
<div v-for="(item, index) in ShuWenJson?.xiaozai" :key="Object.keys(item)[0] + 'xz' + index">
<h4>報名信眾:{{ item[Object.keys(item)[0]].user.name }}</h4>
<ul>
<li>{{ item[Object.keys(item)[0]]['biaoti'].join(' ') }}</li>
</ul>
<hr />
</div>
<div><h2 style="text-align:center">超薦疏文</h2></div>
<div v-for="(item, index) in ShuWenJson?.chaodu" :key="Object.keys(item)[0] + 'cj' + index">
<h4>報名信眾:{{ item[Object.keys(item)[0]].user.name }}</h4>
<ul>
<li>
<div v-for="cdItem in item[Object.keys(item)[0]].entry">
<p>
{{cdItem.biaoti.join(' ')}}
</p>
<p>
陽上---{{cdItem.yangshang}}
</p>
<hr />
</div></li>
</ul>
<hr/>
</div>
</div>--%>
</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(vuetify_options),
data() {
return {
currentActivityNum: '<%= Request["num"]%>',
activityList: [],
ShuWenJson: {},
ShuWenItem: '',
updateShuWenLoading: false,
latest: false,
query: {
start_date: '',
end_date: '',
xStart: '',//消災
sSatrt: ''//超薦
},
}
},
methods: {
queryActivity() {//列出區間內的活動/法會
},
initActivity() {
axios.get(HTTP_HOST + 'api/activity')
.then(response => {
this.activityList = response.data;
})
.catch(error => {
console.log(error)
})
},
onActivityChange() {
this.latest = false
this.getShuWen();
},
updateShuWen() {
this.updateShuWenLoading = true;
axios.get(HTTP_HOST + 'api/shuwen/StartGenerate', {
params: {
activitynum: this.currentActivityNum
}
})
.then(res => {
this.getShuWen();
})
.catch(err => {
alert('發生錯誤:' + (err.response?.data?.Message || '無法啟動任務'));
}).finally(() => {
this.updateShuWenLoading = false;
});
},
getShuWen() {
if (this.currentActivityNum) {
axios.post(HTTP_HOST + 'api/shuwen/RenderShuWenByGong', {
params: {
activitynum: this.currentActivityNum
}
})
.then(res => {
var data = res.data
this.ShuWenItem = data.data
this.latest = data.latest
if (this.ShuWenItem == null) {
this.ShuWenJson = {}
return;
}
this.ShuWenJson = this.ShuWenItem?.shuWenList
? JSON.parse(this.ShuWenItem.shuWenList)
: { xiaozai: [], chaodu: [] }; // 默认空对象
})
.catch(err => {
if (err.response && err.response.status === 400) {
alert('錯誤訊息:' + err.response.data.Message);
} else {
alert('發生錯誤');
}
});
}
}
},
mounted() {
this.initActivity();
if (this.currentActivityNum) {
this.getShuWen()
}
},
})
</script>
</asp:Content>