From 889e5679aabc243173b6f525fd880c848907bd6d Mon Sep 17 00:00:00 2001 From: minom Date: Sun, 24 May 2026 10:48:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E5=A0=B1=E5=90=8D=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8F=AF=E9=81=B8=E5=93=AA=E4=B8=80=E6=AC=A1=E6=B3=95?= =?UTF-8?q?=E6=9C=83=EF=BC=8C=E8=A4=87=E8=A3=BD=E5=8F=A6=E4=B8=80=E5=80=8B?= =?UTF-8?q?=E7=89=8C=E4=BD=8D=E5=85=A7=E5=AE=B9=E6=88=90=E6=96=B0=E4=B8=80?= =?UTF-8?q?=E5=BC=B5=E7=89=8C=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/App_Code/Model/ViewModel/order.cs | 1 + web/App_Code/api/activityController.cs | 1 + web/App_Code/api/orderController.cs | 15 +-- web/admin/order/fastSignUp.vue | 2 +- web/admin/order/fastSignUp3.vue | 137 +++++++++++++++++++++---- web/admin/order/fastSignUp4.vue | 2 - web/admin/order/index4.aspx | 11 +- 7 files changed, 134 insertions(+), 35 deletions(-) diff --git a/web/App_Code/Model/ViewModel/order.cs b/web/App_Code/Model/ViewModel/order.cs index 837041d..3cb6868 100644 --- a/web/App_Code/Model/ViewModel/order.cs +++ b/web/App_Code/Model/ViewModel/order.cs @@ -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 mid_items { get; set; } public List left_items { get; set; } diff --git a/web/App_Code/api/activityController.cs b/web/App_Code/api/activityController.cs index 92bf1ef..bfbafd7 100644 --- a/web/App_Code/api/activityController.cs +++ b/web/App_Code/api/activityController.cs @@ -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, diff --git a/web/App_Code/api/orderController.cs b/web/App_Code/api/orderController.cs index 14413c4..496d00f 100644 --- a/web/App_Code/api/orderController.cs +++ b/web/App_Code/api/orderController.cs @@ -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;// diff --git a/web/admin/order/fastSignUp.vue b/web/admin/order/fastSignUp.vue index 36418f5..4419680 100644 --- a/web/admin/order/fastSignUp.vue +++ b/web/admin/order/fastSignUp.vue @@ -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], diff --git a/web/admin/order/fastSignUp3.vue b/web/admin/order/fastSignUp3.vue index 3d00752..5043b10 100644 --- a/web/admin/order/fastSignUp3.vue +++ b/web/admin/order/fastSignUp3.vue @@ -64,22 +64,44 @@
+ + + + @@ -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 + "
標題:" + mid.map(x => x.fam_name).join("、") + returnVal = returnVal + "
牌位正名:" + mid.map(x => x.fam_name).join("、") } - return returnVal + if (mid_right) { + returnVal = returnVal + "
右正名:" + mid_right.map(x => x.fam_name).join("、") + } + if (mid_left) { + returnVal = returnVal + "
左正名:" + 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) + }); } } } diff --git a/web/admin/order/fastSignUp4.vue b/web/admin/order/fastSignUp4.vue index 720977a..58e643e 100644 --- a/web/admin/order/fastSignUp4.vue +++ b/web/admin/order/fastSignUp4.vue @@ -251,8 +251,6 @@ }, addOrderWithDetail() { //組資料,信眾資料,報名資料,功德資料 - console.log("addOrderWithDetail:",this.follower); - console.log("addOrderWithDetail:", this.tablets); let details = [] diff --git a/web/admin/order/index4.aspx b/web/admin/order/index4.aspx index 6503233..ae41889 100644 --- a/web/admin/order/index4.aspx +++ b/web/admin/order/index4.aspx @@ -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