調整
This commit is contained in:
+144
-48
@@ -28,7 +28,7 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 col-12 col-md-6">
|
||||
<!--<div class="mb-3 col-12 col-md-6">
|
||||
<label for="" class="form-label">開立日期 <span class="text-danger">*</span></label>
|
||||
<v-menu ref="menu"
|
||||
v-model="menu"
|
||||
@@ -63,7 +63,7 @@
|
||||
</v-btn>
|
||||
</v-date-picker>
|
||||
</v-menu>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="mb-3 col-12 col-md-6">
|
||||
<label for="receiptStyle" class="form-label">收據格式 <span class="text-danger">*</span></label>
|
||||
<select class="form-select" id="receiptStyle" v-model="formData.style_num" required
|
||||
@@ -75,11 +75,13 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-3 col-12 col-md-6">
|
||||
<v-text-field v-model="formData.total_amt" label="應收總金額"
|
||||
<label for="total_amt" class="form-label" >應收總金額</label>
|
||||
<v-text-field v-model="formData.total_amt" id="total_amt"
|
||||
:disabled="mode=='view'||mode=='edit'||formData.source=='1'"></v-text-field><!--從報名來的不能改總金額-->
|
||||
</div>
|
||||
<div class="mb-3 col-12 col-md-6">
|
||||
<v-text-field v-model="alreadyAmt" label="已收總金額"
|
||||
<label for="alreadyAmt" class="form-label">已收總金額</label>
|
||||
<v-text-field v-model="alreadyAmt" id="alreadyAmt"
|
||||
:disabled="mode=='view'||mode=='edit'||formData.source=='1'"></v-text-field>
|
||||
</div>
|
||||
</div>
|
||||
@@ -91,56 +93,102 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row" v-show="mode!='view'">
|
||||
<!--<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="newDetail.receipt_no" label="編號" :readonly="true"></v-text-field>
|
||||
</div>-->
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="newDetail.title" label="抬頭"></v-text-field>
|
||||
<label for="" class="form-label">抬頭 <span class="text-danger">*</span></label>
|
||||
<v-text-field v-model="newDetail.title"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="newDetail.amt" label="金額"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<v-text-field v-model="newDetail.addr" label="地址"></v-text-field>
|
||||
<label for="" class="form-label">金額 <span class="text-danger">*</span></label>
|
||||
<v-text-field v-model="newDetail.amt"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="newDetail.caseofficer" label="經手人"></v-text-field>
|
||||
<label for="" class="form-label">開立日期 <span class="text-danger">*</span></label>
|
||||
<v-menu ref="menu"
|
||||
v-model="menu"
|
||||
:close-on-content-click="false"
|
||||
:return-value.sync="newDetail.receipt_date"
|
||||
transition="scale-transition"
|
||||
offset-y
|
||||
min-width="auto"
|
||||
:disabled="mode=='view'||mode=='edit'">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-text-field v-model="newDetail.receipt_date"
|
||||
prepend-icon="mdi-calendar"
|
||||
readonly
|
||||
v-bind="attrs"
|
||||
v-on="on"></v-text-field>
|
||||
</template>
|
||||
<v-date-picker v-model="newDetail.receipt_date"
|
||||
:active-picker.sync="activePicker"
|
||||
:max="(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substring(0, 10)"
|
||||
min="1950-01-01">
|
||||
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn text
|
||||
color="primary"
|
||||
@click.prevent="menu = false">
|
||||
Cancel
|
||||
</v-btn>
|
||||
<v-btn text
|
||||
color="primary"
|
||||
@click.prevent="$refs.menu.save(newDetail.receipt_date)">
|
||||
OK
|
||||
</v-btn>
|
||||
</v-date-picker>
|
||||
</v-menu>
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<label for="" class="form-label">功德項目</label>
|
||||
<v-text-field v-model="newDetail.receipt_item"> </v-text-field>
|
||||
</div>
|
||||
<!--</div>
|
||||
<div class="row" v-show="mode!='view'">-->
|
||||
<div class="col-12 col-md-8">
|
||||
<label for="" class="form-label">地址</label>
|
||||
<v-text-field v-model="newDetail.addr" ></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<label for="" class="form-label">經手人 <span class="text-danger">*</span></label>
|
||||
<v-text-field v-model="newDetail.caseofficer" ></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<button class="btn btn-info" @click.prevent="addDetail">新增</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" v-for="d in formDetail">
|
||||
<div class="row" v-for="d in formDetail">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.title" label="抬頭" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.amt" label="金額" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.receipt_date" label="開立日期" :disabled="mode=='view'||mode=='edit'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<v-text-field v-model="d.receipt_item" label="功德項目" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<v-text-field v-model="d.addr" label="地址" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.caseofficer" label="經手人" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.receipt_no" label="收據編號" v-show="mode=='view'" :disabled="mode=='view'||mode=='edit'"></v-text-field>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<!--<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.receipt_no" label="編號"></v-text-field>
|
||||
</div>-->
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.title" label="抬頭" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.amt" label="金額" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<v-text-field v-model="d.addr" label="地址" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.caseofficer" label="經手人" :disabled="mode=='view'"></v-text-field>
|
||||
</div>
|
||||
<div class="col-12 col-md-2">
|
||||
<v-text-field v-model="d.receipt_no" label="收據編號" v-show="mode=='view'" :disabled="mode=='view'"></v-text-field>
|
||||
收據已開立總金額 {{ countReceiptTotal() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-2">
|
||||
收據已開立總金額 {{ countReceiptTotal() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-footer">
|
||||
<button class="btn btn-primary" @click.prevent="saveReceipt" v-show="mode!='view'">存檔</button>
|
||||
@@ -204,6 +252,7 @@
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name:"receipt_component",
|
||||
props: {
|
||||
num: {
|
||||
type: Number // num
|
||||
@@ -237,7 +286,9 @@
|
||||
title: "",
|
||||
addr: "",
|
||||
amt: 0,
|
||||
caseofficer: ""
|
||||
caseofficer: "",
|
||||
receipt_date: "",
|
||||
receipt_item:"",
|
||||
},
|
||||
formDetail: [
|
||||
],
|
||||
@@ -286,7 +337,8 @@
|
||||
deep:true,
|
||||
},
|
||||
num: {
|
||||
handler() {
|
||||
handler(newVal) {
|
||||
console.log("........", newVal)
|
||||
this.formData = {
|
||||
source: '',
|
||||
order_no: '',
|
||||
@@ -296,7 +348,7 @@
|
||||
style_num: 0,
|
||||
num: 0
|
||||
}
|
||||
if (this.mode == "view"||this.mode=="edit") {
|
||||
if ((this.mode == "view"||this.mode=="edit")&&newVal!=0) {
|
||||
this.getReceipt();
|
||||
}
|
||||
},
|
||||
@@ -373,6 +425,22 @@
|
||||
.catch(error => console.log(error))
|
||||
},
|
||||
addDetail() {
|
||||
if (this.newDetail.title === "") {
|
||||
this.showSnack("抬頭必須填寫")
|
||||
return
|
||||
}
|
||||
if (this.newDetail.amt ===0 ) {
|
||||
this.showSnack("金額不可為0")
|
||||
return
|
||||
}
|
||||
if (this.newDetail.receipt_date === "") {
|
||||
this.showSnack("開立日期必須填寫")
|
||||
return
|
||||
}
|
||||
if (this.newDetail.caseofficer === "") {
|
||||
this.showSnack("經手人必須填寫")
|
||||
return
|
||||
}
|
||||
this.formDetail.push({ ...this.newDetail })
|
||||
this.newDetail = {
|
||||
receipt_no: "",
|
||||
@@ -381,7 +449,9 @@
|
||||
amt: 0,
|
||||
caseofficer: "",
|
||||
num: 0,
|
||||
receipt_num:0
|
||||
receipt_num: 0,
|
||||
receipt_date: "",
|
||||
receipt_item:""
|
||||
|
||||
}
|
||||
},
|
||||
@@ -403,10 +473,10 @@
|
||||
this.showSnack("請選擇活動/法會");
|
||||
return false;
|
||||
}
|
||||
if (this.formData.receipt_date == "") {
|
||||
this.showSnack("請選擇開立日期");
|
||||
return false;
|
||||
}
|
||||
//if (this.formData.receipt_date == "") {
|
||||
// this.showSnack("請選擇開立日期");
|
||||
// return false;
|
||||
//}
|
||||
if (this.formData.style_num==0) {
|
||||
this.showSnack("請選擇收據格式");
|
||||
return false;
|
||||
@@ -443,6 +513,7 @@
|
||||
.catch(error => console.log(error))
|
||||
},
|
||||
closeWindow(param) {
|
||||
//this.num=0
|
||||
this.formDetail.length = 0
|
||||
this.formData = {
|
||||
source: '',
|
||||
@@ -510,7 +581,7 @@
|
||||
}
|
||||
this.formDetail.length = 0;
|
||||
this.alreadyAmt = 0;
|
||||
|
||||
console.log("deactivated");
|
||||
},
|
||||
activated() {
|
||||
this.getReceiptStyles();
|
||||
@@ -526,8 +597,33 @@
|
||||
this.formDetail.length = 0;
|
||||
this.alreadyAmt = 0;
|
||||
},
|
||||
beforeUnmount() {
|
||||
console.log("beforeUnmount");
|
||||
this.formData = {
|
||||
source: '',
|
||||
order_no: '',
|
||||
receipt_date: null,
|
||||
receipt_style: "",
|
||||
total_amt: 0,
|
||||
style_num: 0,
|
||||
num: 0
|
||||
}
|
||||
this.formDetail.length = 0;
|
||||
this.alreadyAmt = 0;
|
||||
},
|
||||
mounted() {
|
||||
//this.formDetail.push()
|
||||
this.getReceiptStyles();
|
||||
this.formData = {
|
||||
source: '',
|
||||
order_no: '',
|
||||
receipt_date: null,
|
||||
receipt_style: "",
|
||||
total_amt: 0,
|
||||
style_num: 0,
|
||||
num: 0
|
||||
}
|
||||
this.formDetail.length = 0;
|
||||
this.alreadyAmt = 0;
|
||||
|
||||
},
|
||||
computed: {
|
||||
|
||||
Reference in New Issue
Block a user