快速報名增加可選哪一次法會,複製另一個牌位內容成新一張牌位
This commit is contained in:
@@ -88,6 +88,7 @@ namespace Model.ViewModel
|
|||||||
public string full_description { get; set; }
|
public string full_description { get; set; }
|
||||||
public string order_info { get; set; }
|
public string order_info { get; set; }
|
||||||
public string style { get; set; }
|
public string style { get; set; }
|
||||||
|
public int? change_item_num { get; set; }
|
||||||
|
|
||||||
public List<family_members> mid_items { get; set; }
|
public List<family_members> mid_items { get; set; }
|
||||||
public List<family_members> left_items { get; set; }
|
public List<family_members> left_items { get; set; }
|
||||||
|
|||||||
@@ -957,6 +957,7 @@ public class activityController : ApiController
|
|||||||
{
|
{
|
||||||
text = x.actItem?.subject,
|
text = x.actItem?.subject,
|
||||||
val = x.actItem_num,
|
val = x.actItem_num,
|
||||||
|
style=x.actItem.defaultStyle
|
||||||
},
|
},
|
||||||
price = x.price ?? 0,
|
price = x.price ?? 0,
|
||||||
qty = x.qty ?? 0,
|
qty = x.qty ?? 0,
|
||||||
|
|||||||
@@ -834,6 +834,7 @@ public class orderController : ApiController
|
|||||||
var last_order = _db.pro_order.Where(x => x.order_no == last_order_no).FirstOrDefault();
|
var last_order = _db.pro_order.Where(x => x.order_no == last_order_no).FirstOrDefault();
|
||||||
if (last_order != null)
|
if (last_order != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
new_pro_order.up_time = DateTime.Now;
|
new_pro_order.up_time = DateTime.Now;
|
||||||
new_pro_order.reg_time = DateTime.Now;
|
new_pro_order.reg_time = DateTime.Now;
|
||||||
new_pro_order.phone = last_order.phone;
|
new_pro_order.phone = last_order.phone;
|
||||||
@@ -849,17 +850,17 @@ public class orderController : ApiController
|
|||||||
|
|
||||||
|
|
||||||
foreach (var item1 in details)
|
foreach (var item1 in details)
|
||||||
{
|
{//如果item1 change_item_num 有值且不為0,表示要複製過來
|
||||||
var last_detail = _db.pro_order_detail.Where(x => x.num == item1.num).FirstOrDefault();
|
var last_detail = _db.pro_order_detail.Where(x => x.num == item1.num).FirstOrDefault();
|
||||||
var detail = new pro_order_detail();
|
var detail = new pro_order_detail();
|
||||||
detail.order_no = new_pro_order.order_no;
|
detail.order_no = new_pro_order.order_no;
|
||||||
detail.actItem_num = last_detail.actItem_num;
|
detail.actItem_num = (item1.change_item_num!=null&&item1.change_item_num!=0)?item1.change_item_num: last_detail.actItem_num;
|
||||||
detail.f_num_tablet = last_detail.f_num_tablet;
|
detail.f_num_tablet = last_detail.f_num_tablet;
|
||||||
detail.from_id = last_detail.from_id;
|
detail.from_id = (item1.change_item_num != null && item1.change_item_num != 0) ? item.f_num: last_detail.from_id;
|
||||||
detail.price = last_detail.price;
|
detail.price = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.price : last_detail.price;
|
||||||
detail.qty = last_detail.qty;
|
detail.qty = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.qty : last_detail.qty;
|
||||||
detail.printed_files = last_detail.printed_files;
|
detail.printed_files = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.printed_files : last_detail.printed_files;
|
||||||
detail.style = last_detail.style;
|
detail.style = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.style : last_detail.style;
|
||||||
detail.UpdateTime = DateTime.Now;
|
detail.UpdateTime = DateTime.Now;
|
||||||
detail.start_date = DateTime.Now;//這兩個要用活動的
|
detail.start_date = DateTime.Now;//這兩個要用活動的
|
||||||
detail.due_date = DateTime.Now;//
|
detail.due_date = DateTime.Now;//
|
||||||
|
|||||||
@@ -277,7 +277,7 @@
|
|||||||
this.$emit('custom-event', { action:'detail', item:item });
|
this.$emit('custom-event', { action:'detail', item:item });
|
||||||
},
|
},
|
||||||
getDetail(clearpage = false) {
|
getDetail(clearpage = false) {
|
||||||
console.log("test");
|
//console.log("test");
|
||||||
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
||||||
const params = {
|
const params = {
|
||||||
sortBy: sortBy[0], sortDesc: sortDesc[0],
|
sortBy: sortBy[0], sortDesc: sortDesc[0],
|
||||||
|
|||||||
+117
-18
@@ -64,22 +64,44 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<hr class="hr-text" data-content="前次法會功德" v-if="follower.f_number!=undefined&&follower.f_number!=''">
|
<hr class="hr-text" data-content="前次法會功德" v-if="follower.f_number!=undefined&&follower.f_number!=''">
|
||||||
|
<v-row v-show="tablet_show">
|
||||||
|
<v-select :items="orders"
|
||||||
|
label="選擇法會"
|
||||||
|
item-text="subject" @change="changeOrderDetail()"
|
||||||
|
item-value="order_no" v-model="order_no">
|
||||||
|
</v-select>
|
||||||
|
</v-row>
|
||||||
<v-row v-show="tablet_show">
|
<v-row v-show="tablet_show">
|
||||||
<v-col cols="12" sm="12">
|
<v-col cols="12" sm="12">
|
||||||
<v-data-iterator :items="tablet_list" :items-per-page="-1"
|
<v-data-iterator :items="tablet_list" :items-per-page="-1"
|
||||||
hide-default-footer>
|
hide-default-footer>
|
||||||
<template v-slot:default="{ items }">
|
<template v-slot:default="{ items }">
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col cols="3" md="3" v-for="(item, i) in items" :key="i">
|
<v-col cols="4" md="4" v-for="(item, i) in items" :key="i">
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
|
<v-row>
|
||||||
|
<v-col col="12" md="12">
|
||||||
|
<v-checkbox v-model="item.actitem_num_checked"
|
||||||
|
:disabled="item.disabled" class="custom-checkbox">
|
||||||
|
<template v-slot:label>
|
||||||
|
<h5 :class="renderDisabled(item)">{{ item.actitem_num_selected.text }}</h5>
|
||||||
|
</template>
|
||||||
|
</v-checkbox>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row>
|
||||||
|
<v-col cols="3" md="3">
|
||||||
|
<v-btn class="ms-auto" @click.prevent="copytablet(item)">複製為</v-btn>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="9" md="9">
|
||||||
|
|
||||||
<v-checkbox v-model="item.actitem_num_checked"
|
<v-select :items="act_items"
|
||||||
:disabled="item.disabled" class="custom-checkbox">
|
label="選擇功德項目"
|
||||||
<template v-slot:label>
|
item-text="act_item_selected.text"
|
||||||
<h5 :class="renderDisabled(item)">{{ item.actitem_num_selected.text }}</h5>
|
item-value="act_item_selected.val" v-model="item.changeActitem">
|
||||||
</template>
|
</v-select>
|
||||||
</v-checkbox>
|
</v-col>
|
||||||
|
</v-row>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<div v-html="renderTabletContent(item)" style="font-size:20px;"></div>
|
<div v-html="renderTabletContent(item)" style="font-size:20px;"></div>
|
||||||
@@ -106,7 +128,8 @@
|
|||||||
{{ message_dialog.message }}
|
{{ message_dialog.message }}
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-btn @click.prevent="message_dialog.show=false">關閉</v-btn>
|
<v-btn @click.prevent="message_dialog.show=false" v-if="!message_dialog.show_confirm">關閉</v-btn>
|
||||||
|
<v-btn @click.prevent="success_confirm()" v-if="message_dialog.show_confirm">確認</v-btn>
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
</v-card>
|
</v-card>
|
||||||
</template>
|
</template>
|
||||||
@@ -141,7 +164,7 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
transfer_dialog: { show: false, message: "" },
|
transfer_dialog: { show: false, message: "" },
|
||||||
message_dialog: { show: false, message: "" },
|
message_dialog: { show: false,show_confirm:false, message: "" },
|
||||||
idNo: "",
|
idNo: "",
|
||||||
phoneNum: "",
|
phoneNum: "",
|
||||||
name: "",
|
name: "",
|
||||||
@@ -154,7 +177,10 @@
|
|||||||
id_code: { type: String }, cellphone: { type: String }
|
id_code: { type: String }, cellphone: { type: String }
|
||||||
},
|
},
|
||||||
search_options: { multiSort: false },
|
search_options: { multiSort: false },
|
||||||
tablet_show: false
|
tablet_show: false,
|
||||||
|
activityes: [],
|
||||||
|
order_no: "",
|
||||||
|
copy_item: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
activated() {
|
activated() {
|
||||||
@@ -175,6 +201,16 @@
|
|||||||
return "enabled-checkbox"
|
return "enabled-checkbox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
copytablet(item) {
|
||||||
|
let t = this.act_items.find(x => x.act_item_selected.val == item.changeActitem)
|
||||||
|
let newTablet = structuredClone(item)
|
||||||
|
newTablet.id = this.tablet_list.length+1
|
||||||
|
newTablet.actitem_num_selected.val = t.act_item_selected.val
|
||||||
|
newTablet.actitem_num_selected.text = t.act_item_selected.text
|
||||||
|
newTablet.changeActitem = ""
|
||||||
|
newTablet.disabled=false
|
||||||
|
this.tablet_list.push(newTablet)
|
||||||
|
},
|
||||||
getActItem() {
|
getActItem() {
|
||||||
this.act_items.length = 0
|
this.act_items.length = 0
|
||||||
this.search = { num: this.num }
|
this.search = { num: this.num }
|
||||||
@@ -185,6 +221,12 @@
|
|||||||
|
|
||||||
if (response.data.list) {
|
if (response.data.list) {
|
||||||
this.act_items = response.data.list
|
this.act_items = response.data.list
|
||||||
|
//if (this.act_items && this.act_items.length > 0) {
|
||||||
|
// this.act_items = this.act_items.map(x => ({
|
||||||
|
// ...x,selected:""
|
||||||
|
// }))
|
||||||
|
//}
|
||||||
|
console.log("QOO:",this.act_items)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
console.log("查無資料");
|
console.log("查無資料");
|
||||||
@@ -235,7 +277,9 @@
|
|||||||
if (response.data.list && response.data.list.length > 0) {
|
if (response.data.list && response.data.list.length > 0) {
|
||||||
this.orders = response.data.list
|
this.orders = response.data.list
|
||||||
this.orders = this.orders.filter(x => x.activity_num !== this.num)
|
this.orders = this.orders.filter(x => x.activity_num !== this.num)
|
||||||
|
console.log("orders",this.orders)
|
||||||
if (this.orders && this.orders.length > 0) {
|
if (this.orders && this.orders.length > 0) {
|
||||||
|
|
||||||
this.getOrderDetail()
|
this.getOrderDetail()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,6 +288,31 @@
|
|||||||
})
|
})
|
||||||
.catch(error => console.log(error))
|
.catch(error => console.log(error))
|
||||||
},
|
},
|
||||||
|
changeOrderDetail() {
|
||||||
|
this.tablet_show = true
|
||||||
|
this.tablet_list.length = 0
|
||||||
|
let params = { sortBy: 'num', sortDesc: true, page: 1, pageSize: -1 };
|
||||||
|
let search1 = { order_no: this.order_no }
|
||||||
|
axios
|
||||||
|
.post(HTTP_HOST + 'api/order/GetItemList', search1, { params: params })
|
||||||
|
.then(response => {
|
||||||
|
if (response.data.list) {
|
||||||
|
this.tablet_list = response.data.list
|
||||||
|
this.tablet_list.forEach(x => {
|
||||||
|
let act_item = this.act_items.filter(y => y.act_item_selected.val === x.actitem_num_selected.val)
|
||||||
|
if (act_item && act_item.length > 0) {
|
||||||
|
x.disabled = false
|
||||||
|
} else {
|
||||||
|
x.disabled = true
|
||||||
|
}
|
||||||
|
x["changeActitem"] = ""
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else
|
||||||
|
console.log("changeOrderDetail 查無資料");
|
||||||
|
})
|
||||||
|
.catch(error => console.log(error))
|
||||||
|
},
|
||||||
getOrderDetail() {
|
getOrderDetail() {
|
||||||
this.tablet_show = true
|
this.tablet_show = true
|
||||||
let params = { sortBy: 'num', sortDesc: true, page: 1, pageSize: -1 };
|
let params = { sortBy: 'num', sortDesc: true, page: 1, pageSize: -1 };
|
||||||
@@ -260,6 +329,7 @@
|
|||||||
} else {
|
} else {
|
||||||
x.disabled = true
|
x.disabled = true
|
||||||
}
|
}
|
||||||
|
x["changeActitem"]=""
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -271,24 +341,46 @@
|
|||||||
let data = JSON.parse(item.f_num_tablet)
|
let data = JSON.parse(item.f_num_tablet)
|
||||||
let left = data.left_items
|
let left = data.left_items
|
||||||
let mid = data.mid_items
|
let mid = data.mid_items
|
||||||
|
let mid_right = data.mid_right
|
||||||
|
let mid_left=data.mid_left
|
||||||
let returnVal = ""
|
let returnVal = ""
|
||||||
if (left) {
|
if (left) {
|
||||||
returnVal = "陽上:" + left.map(x => x.fam_name).join("、")
|
returnVal = "陽上:" + left.map(x => x.fam_name).join("、")
|
||||||
}
|
}
|
||||||
if (mid) {
|
if (mid) {
|
||||||
returnVal = returnVal + "<br>標題:" + mid.map(x => x.fam_name).join("、")
|
returnVal = returnVal + "<br>牌位正名:" + mid.map(x => x.fam_name).join("、")
|
||||||
}
|
}
|
||||||
return returnVal
|
if (mid_right) {
|
||||||
|
returnVal = returnVal + "<br>右正名:" + mid_right.map(x => x.fam_name).join("、")
|
||||||
|
}
|
||||||
|
if (mid_left) {
|
||||||
|
returnVal = returnVal + "<br>左正名:" + mid_left.map(x => x.fam_name).join("、")
|
||||||
|
}
|
||||||
|
return item.actitem_num_selected.val+":" + returnVal
|
||||||
|
},
|
||||||
|
success_confirm() {
|
||||||
|
this.message_dialog.show = false
|
||||||
|
this.message_dialog.show_confirm=false
|
||||||
|
this.follower = {}
|
||||||
|
this.tablet_list.length = 0
|
||||||
|
this.tablet_show=false
|
||||||
},
|
},
|
||||||
saveOrder() {
|
saveOrder() {
|
||||||
let detail = []
|
let detail = []
|
||||||
//整理資料存檔//只要抓那個活動的那幾筆功德項目代號
|
//整理資料存檔//只要抓那個活動的那幾筆功德項目代號
|
||||||
this.tablet_list.forEach(x => {
|
this.tablet_list.forEach(x => {
|
||||||
|
|
||||||
if (x.actitem_num_checked && x.actitem_num_checked == true) {
|
if (x.actitem_num_checked && x.actitem_num_checked == true) {
|
||||||
detail.push({ num: x.num, order_no: x.order_no })
|
console.log("OOQ:", x.num)
|
||||||
console.log("saveOrder:", x, x.num, x.order_no)
|
let actItem = this.act_items.find(y => y.act_item_selected.val == x.actitem_num_selected.val)
|
||||||
|
detail.push({
|
||||||
|
num: x.num, order_no: x.order_no, change_item_num: x.changeActitem,
|
||||||
|
price: actItem.price, qty: 1, style: actItem.act_item_selected.style, printed_files: actItem.files[0].num
|
||||||
|
})
|
||||||
|
// console.log("saveOrder:", x, x.num, x.order_no)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
//放主檔資料,
|
//放主檔資料,
|
||||||
let main = {
|
let main = {
|
||||||
activity_num: this.num, f_num: this.follower.num,
|
activity_num: this.num, f_num: this.follower.num,
|
||||||
@@ -299,10 +391,17 @@
|
|||||||
.post(HTTP_HOST + 'api/order/SaveWithDetails', main)
|
.post(HTTP_HOST + 'api/order/SaveWithDetails', main)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.result && response.result === "Y") {
|
if (response.result && response.result === "Y") {
|
||||||
console.log();
|
console.log("shit");
|
||||||
}
|
}
|
||||||
console.log(response.message)
|
console.log("蝦:", response)
|
||||||
}).catch(error => console.log(error));
|
this.message_dialog.show_confirm = true
|
||||||
|
this.message_dialog.show = true
|
||||||
|
this.message_dialog.message = response.message
|
||||||
|
}).catch(error => {
|
||||||
|
this.message_dialog.show = true
|
||||||
|
this.message_dialog.message =error
|
||||||
|
console.log(error)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -251,8 +251,6 @@
|
|||||||
},
|
},
|
||||||
addOrderWithDetail() {
|
addOrderWithDetail() {
|
||||||
//組資料,信眾資料,報名資料,功德資料
|
//組資料,信眾資料,報名資料,功德資料
|
||||||
console.log("addOrderWithDetail:",this.follower);
|
|
||||||
console.log("addOrderWithDetail:", this.tablets);
|
|
||||||
let details = []
|
let details = []
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,9 +42,8 @@
|
|||||||
let VueApp = new Vue({
|
let VueApp = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
vuetify: new Vuetify(),
|
vuetify: new Vuetify(),
|
||||||
activated() {
|
mounted() {
|
||||||
this.getDetail();
|
this.getDetail();
|
||||||
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -87,7 +86,8 @@
|
|||||||
hasPrice: '',
|
hasPrice: '',
|
||||||
},
|
},
|
||||||
currentView: 'fastSignUp-component',
|
currentView: 'fastSignUp-component',
|
||||||
twoData: {}
|
twoData: {},
|
||||||
|
detail_table:[]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -107,7 +107,6 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
changeView(item) {
|
changeView(item) {
|
||||||
console.log(item);
|
|
||||||
if (item.action === "detail") {
|
if (item.action === "detail") {
|
||||||
this.twoData = item.item.num
|
this.twoData = item.item.num
|
||||||
this.currentView = "fastSignUp2-component"
|
this.currentView = "fastSignUp2-component"
|
||||||
@@ -119,9 +118,9 @@
|
|||||||
this.currentView = "fastSignUp4-component"
|
this.currentView = "fastSignUp4-component"
|
||||||
} else if (item.action === "signup1") {
|
} else if (item.action === "signup1") {
|
||||||
this.twoData = item.item
|
this.twoData = item.item
|
||||||
this.currentView = "fastSignUp1-component"
|
this.currentView = "fastSignUp-component"
|
||||||
}
|
}
|
||||||
console.log("item.action:",this.twoData)
|
//console.log("item.action:",this.twoData)
|
||||||
},
|
},
|
||||||
getDetail() {
|
getDetail() {
|
||||||
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
||||||
|
|||||||
Reference in New Issue
Block a user