快速報名增加可選哪一次法會,複製另一個牌位內容成新一張牌位
This commit is contained in:
@@ -88,6 +88,7 @@ namespace Model.ViewModel
|
||||
public string full_description { get; set; }
|
||||
public string order_info { 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> left_items { get; set; }
|
||||
|
||||
@@ -957,6 +957,7 @@ public class activityController : ApiController
|
||||
{
|
||||
text = x.actItem?.subject,
|
||||
val = x.actItem_num,
|
||||
style=x.actItem.defaultStyle
|
||||
},
|
||||
price = x.price ?? 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();
|
||||
if (last_order != null)
|
||||
{
|
||||
|
||||
new_pro_order.up_time = DateTime.Now;
|
||||
new_pro_order.reg_time = DateTime.Now;
|
||||
new_pro_order.phone = last_order.phone;
|
||||
@@ -849,17 +850,17 @@ public class orderController : ApiController
|
||||
|
||||
|
||||
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 detail = new pro_order_detail();
|
||||
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.from_id = last_detail.from_id;
|
||||
detail.price = last_detail.price;
|
||||
detail.qty = last_detail.qty;
|
||||
detail.printed_files = last_detail.printed_files;
|
||||
detail.style = last_detail.style;
|
||||
detail.from_id = (item1.change_item_num != null && item1.change_item_num != 0) ? item.f_num: last_detail.from_id;
|
||||
detail.price = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.price : last_detail.price;
|
||||
detail.qty = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.qty : last_detail.qty;
|
||||
detail.printed_files = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.printed_files : last_detail.printed_files;
|
||||
detail.style = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.style : last_detail.style;
|
||||
detail.UpdateTime = DateTime.Now;
|
||||
detail.start_date = DateTime.Now;//這兩個要用活動的
|
||||
detail.due_date = DateTime.Now;//
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
this.$emit('custom-event', { action:'detail', item:item });
|
||||
},
|
||||
getDetail(clearpage = false) {
|
||||
console.log("test");
|
||||
//console.log("test");
|
||||
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
||||
const params = {
|
||||
sortBy: sortBy[0], sortDesc: sortDesc[0],
|
||||
|
||||
+118
-19
@@ -64,22 +64,44 @@
|
||||
</v-row>
|
||||
|
||||
<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-col cols="12" sm="12">
|
||||
<v-data-iterator :items="tablet_list" :items-per-page="-1"
|
||||
hide-default-footer>
|
||||
<template v-slot:default="{ items }">
|
||||
<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-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-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-select :items="act_items"
|
||||
label="選擇功德項目"
|
||||
item-text="act_item_selected.text"
|
||||
item-value="act_item_selected.val" v-model="item.changeActitem">
|
||||
</v-select>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<div v-html="renderTabletContent(item)" style="font-size:20px;"></div>
|
||||
@@ -106,7 +128,8 @@
|
||||
{{ message_dialog.message }}
|
||||
</v-card-title>
|
||||
<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>
|
||||
</template>
|
||||
@@ -141,7 +164,7 @@
|
||||
data() {
|
||||
return {
|
||||
transfer_dialog: { show: false, message: "" },
|
||||
message_dialog: { show: false, message: "" },
|
||||
message_dialog: { show: false,show_confirm:false, message: "" },
|
||||
idNo: "",
|
||||
phoneNum: "",
|
||||
name: "",
|
||||
@@ -154,7 +177,10 @@
|
||||
id_code: { type: String }, cellphone: { type: String }
|
||||
},
|
||||
search_options: { multiSort: false },
|
||||
tablet_show: false
|
||||
tablet_show: false,
|
||||
activityes: [],
|
||||
order_no: "",
|
||||
copy_item: {}
|
||||
}
|
||||
},
|
||||
activated() {
|
||||
@@ -175,6 +201,16 @@
|
||||
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() {
|
||||
this.act_items.length = 0
|
||||
this.search = { num: this.num }
|
||||
@@ -185,6 +221,12 @@
|
||||
|
||||
if (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
|
||||
console.log("查無資料");
|
||||
@@ -235,7 +277,9 @@
|
||||
if (response.data.list && response.data.list.length > 0) {
|
||||
this.orders = response.data.list
|
||||
this.orders = this.orders.filter(x => x.activity_num !== this.num)
|
||||
console.log("orders",this.orders)
|
||||
if (this.orders && this.orders.length > 0) {
|
||||
|
||||
this.getOrderDetail()
|
||||
}
|
||||
}
|
||||
@@ -244,6 +288,31 @@
|
||||
})
|
||||
.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() {
|
||||
this.tablet_show = true
|
||||
let params = { sortBy: 'num', sortDesc: true, page: 1, pageSize: -1 };
|
||||
@@ -260,6 +329,7 @@
|
||||
} else {
|
||||
x.disabled = true
|
||||
}
|
||||
x["changeActitem"]=""
|
||||
})
|
||||
}
|
||||
else
|
||||
@@ -271,24 +341,46 @@
|
||||
let data = JSON.parse(item.f_num_tablet)
|
||||
let left = data.left_items
|
||||
let mid = data.mid_items
|
||||
let mid_right = data.mid_right
|
||||
let mid_left=data.mid_left
|
||||
let returnVal = ""
|
||||
if (left) {
|
||||
returnVal = "陽上:" + left.map(x => x.fam_name).join("、")
|
||||
}
|
||||
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() {
|
||||
let detail = []
|
||||
//整理資料存檔//只要抓那個活動的那幾筆功德項目代號
|
||||
this.tablet_list.forEach(x => {
|
||||
|
||||
if (x.actitem_num_checked && x.actitem_num_checked == true) {
|
||||
detail.push({ num: x.num, order_no: x.order_no })
|
||||
console.log("saveOrder:", x, x.num, x.order_no)
|
||||
console.log("OOQ:", x.num)
|
||||
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 = {
|
||||
activity_num: this.num, f_num: this.follower.num,
|
||||
@@ -299,10 +391,17 @@
|
||||
.post(HTTP_HOST + 'api/order/SaveWithDetails', main)
|
||||
.then(response => {
|
||||
if (response.result && response.result === "Y") {
|
||||
console.log();
|
||||
console.log("shit");
|
||||
}
|
||||
console.log(response.message)
|
||||
}).catch(error => console.log(error));
|
||||
console.log("蝦:", response)
|
||||
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() {
|
||||
//組資料,信眾資料,報名資料,功德資料
|
||||
console.log("addOrderWithDetail:",this.follower);
|
||||
console.log("addOrderWithDetail:", this.tablets);
|
||||
let details = []
|
||||
|
||||
|
||||
|
||||
@@ -42,9 +42,8 @@
|
||||
let VueApp = new Vue({
|
||||
el: '#app',
|
||||
vuetify: new Vuetify(),
|
||||
activated() {
|
||||
mounted() {
|
||||
this.getDetail();
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -87,7 +86,8 @@
|
||||
hasPrice: '',
|
||||
},
|
||||
currentView: 'fastSignUp-component',
|
||||
twoData: {}
|
||||
twoData: {},
|
||||
detail_table:[]
|
||||
};
|
||||
},
|
||||
components: {
|
||||
@@ -107,7 +107,6 @@
|
||||
},
|
||||
methods: {
|
||||
changeView(item) {
|
||||
console.log(item);
|
||||
if (item.action === "detail") {
|
||||
this.twoData = item.item.num
|
||||
this.currentView = "fastSignUp2-component"
|
||||
@@ -119,9 +118,9 @@
|
||||
this.currentView = "fastSignUp4-component"
|
||||
} else if (item.action === "signup1") {
|
||||
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() {
|
||||
const { sortBy, sortDesc, page, itemsPerPage } = this.options
|
||||
|
||||
Reference in New Issue
Block a user