更正問題:

入帳必填檢查
修正牌位排版HTML
This commit is contained in:
2025-09-05 08:14:03 +08:00
parent 3a40a33204
commit e6c6b1f43f
3 changed files with 55 additions and 31 deletions

View File

@@ -214,29 +214,28 @@
<v-checkbox v-model="member.IsShuWen" <v-checkbox v-model="member.IsShuWen"
color="primary" color="primary"
class="checkbox-narrow d-inline-flex align-center" /> class="checkbox-narrow d-inline-flex align-center" />
</v-list-item-action> </v-list-item-action>
<v-list-item-content> <v-list-item-content>
<v-list-item-title> <v-list-item-title>
<span class="badge-zero" v-if="member.num==0">0</span> <span class="badge-zero" v-if="member.num==0">0</span>
<span class="badge-deceased" v-if="member.deceased">{{ member.deceased ? '卍' : '' }}</span> <span class="badge-deceased" v-if="member.deceased">{{ member.deceased ? '卍' : '' }}</span>
{{ member.fam_name }} {{ member.fam_name }}
<v-chip v-if="member.fam_title" small> <v-chip v-if="member.fam_title" small>
{{ member.fam_title }} {{ member.fam_title }}
</v-chip> </v-chip>
</v-list-item-title> </v-list-item-title>
<v-list-item-subtitle class="d-flex justify-end"> <v-list-item-subtitle class="d-flex justify-end">
<v-btn icon @click="moveUp(member, 'N', index)" :disabled="index === 0"> <v-btn icon @click="moveUp(member, 'N', index)" :disabled="index === 0">
<v-icon color="grey lighten-1">mdi-arrow-up</v-icon> <v-icon color="grey lighten-1">mdi-arrow-up</v-icon>
</v-btn> </v-btn>
<v-btn icon @click="moveDown(member, 'N', index)" :disabled="index === family_deceased_N_selected.length - 1"> <v-btn icon @click="moveDown(member, 'N', index)" :disabled="index === family_deceased_N_selected.length - 1">
<v-icon color="grey lighten-1">mdi-arrow-down</v-icon> <v-icon color="grey lighten-1">mdi-arrow-down</v-icon>
</v-btn> </v-btn>
<v-btn icon @click="removeFromSelected(member, 'N')"> <v-btn icon @click="removeFromSelected(member, 'N')">
<v-icon color="grey lighten-1">mdi-minus</v-icon> <v-icon color="grey lighten-1">mdi-minus</v-icon>
</v-btn> </v-btn>
</v-list-item-subtitle> </v-list-item-subtitle>
</v-list-item-content> </v-list-item-content>
</div>
<v-list-item-action class="align-self-start"> <v-list-item-action class="align-self-start">
<v-btn icon @click="breakAfter(member, 'N')"> <v-btn icon @click="breakAfter(member, 'N')">
<v-icon :color="member.option_break ? 'blue' : 'grey lighten-1'"> <v-icon :color="member.option_break ? 'blue' : 'grey lighten-1'">
@@ -274,7 +273,7 @@
</v-col> </v-col>
</v-row> </v-row>
</v-container> </v-container>
<div style="display:none;"> <div style="display:block;">
<textarea id="desc_iframe" style="width: 900px; height: 100px;">{{tabletItem}}</textarea> <textarea id="desc_iframe" style="width: 900px; height: 100px;">{{tabletItem}}</textarea>
</div> </div>
</v-app> </v-app>
@@ -318,10 +317,14 @@
}, },
computed: { computed: {
family_deceased_Y_unselected() { family_deceased_Y_unselected() {
return this.familyMembers.filter(member => member.deceased === true && !this.family_deceased_Y_selected.some(selected => selected.num === member.num)); return this.familyMembers.filter(member =>
member.deceased === true &&
!this.family_deceased_Y_selected.some(selected => selected.num === member.num));
}, },
family_deceased_N_unselected() { family_deceased_N_unselected() {
return this.familyMembers.filter(member => member.deceased === false && !this.family_deceased_N_selected.some(selected => selected.num === member.num)); return this.familyMembers.filter(member =>
member.deceased === false &&
!this.family_deceased_N_selected.some(selected => selected.num === member.num));
}, },
item_type() { item_type() {
return this.tabletItem?.actitem_num_selected?.text?.includes('超') ? 'B' : 'A'; return this.tabletItem?.actitem_num_selected?.text?.includes('超') ? 'B' : 'A';

View File

@@ -156,9 +156,9 @@ new Vue({
headers: [ headers: [
{ text: '匯款人資訊', value: 'info' }, { text: '匯款人資訊', value: 'info' },
{ text: '匯款備註/相片', value: 'note' }, { text: '匯款備註/相片', value: 'note' },
{ text: '入帳銀行/帳戶 | 支付資訊/帳號後5碼', value: 'acc_num' }, { text: '*入帳銀行/帳戶 | 支付資訊/帳號後5碼', value: 'acc_num' },
{ text: '入帳日期', value: 'check_date' }, { text: '*入帳日期', value: 'check_date' },
{ text: '入帳金額', value: 'check_amount' }, { text: '*入帳金額', value: 'check_amount' },
{ text: '備註/狀態 | 核對記錄', value: 'check_memo' } { text: '備註/狀態 | 核對記錄', value: 'check_memo' }
], ],
items: [], items: [],
@@ -215,6 +215,27 @@ new Vue({
this.loading = false; this.loading = false;
}, },
async submitData() { async submitData() {
// 檢查必填欄位 - 入帳銀行/帳戶
const missingAccNum = this.items.filter(item => !item.acc_num);
if (missingAccNum.length > 0) {
alert('請選擇入帳銀行/帳戶!有 ' + missingAccNum.length + ' 筆資料未選擇。');
return;
}
// 檢查必填欄位 - 入帳日期
const missingCheckDate = this.items.filter(item => !item.check_date);
if (missingCheckDate.length > 0) {
alert('請填寫入帳日期!有 ' + missingCheckDate.length + ' 筆資料未填寫。');
return;
}
// 檢查必填欄位 - 入帳金額
const missingCheckAmount = this.items.filter(item => !item.check_amount || item.check_amount <= 0);
if (missingCheckAmount.length > 0) {
alert('請填寫入帳金額!有 ' + missingCheckAmount.length + ' 筆資料未填寫或金額無效。');
return;
}
// 組出要更新的資料 // 組出要更新的資料
const updateList = this.items.map(item => ({ const updateList = this.items.map(item => ({
id: item.id, id: item.id,

View File

@@ -44,8 +44,8 @@
<connectionStrings> <connectionStrings>
<!--SQL用--> <!--SQL用-->
<!-- --> <!-- -->
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=localhost;Initial Catalog=17168erp_e2;User ID=17168erp;Password=17168erp;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;" /> <add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=localhost;Initial Catalog=17168erp_t;User ID=17168erp;Password=17168erp;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;" />
<add name="ezEntities" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=17168erp_e2;User ID=17168erp;Password=17168erp;Encrypt=False;TrustServerCertificate=True;&quot;" providerName="System.Data.EntityClient" /> <add name="ezEntities" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=17168erp_t;User ID=17168erp;Password=17168erp;Encrypt=False;TrustServerCertificate=True;&quot;" providerName="System.Data.EntityClient" />
<!--SQL用--> <!--SQL用-->
</connectionStrings> </connectionStrings>
<!-- <!--