Compare commits
9 Commits
121c5e1637
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7db39117b4 | |||
| 5fa147f960 | |||
| 5f3ac3ec7f | |||
| c249e84240 | |||
| 23da5f0dc0 | |||
| dce5d52a70 | |||
| 824077858d | |||
| 98af98da74 | |||
| e69fce0d02 |
@@ -0,0 +1,6 @@
|
||||
FK_act_bom_actItem1 刪除規則設為 cascade
|
||||
FK_pro_order_followers 刪除規則設為 cascade
|
||||
FK_pro_order_activity 刪除規則設為 cascade
|
||||
FK_pro_order_detail_pro_order 刪除規則設為 cascade
|
||||
FK_pro_order_detail_followers 刪除規則設為 沒有動作
|
||||
FK_activity_relating_activity 刪除規則設為 cascade
|
||||
@@ -1,4 +1,5 @@
|
||||
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||
using AjaxControlToolkit.HTMLEditor.Popups;
|
||||
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||
using DocumentFormat.OpenXml.Wordprocessing;
|
||||
using MINOM.COM.Utility;
|
||||
using Model;
|
||||
@@ -293,7 +294,7 @@ public class StyleDataAccess
|
||||
new SqlParameter("@UTime",""),
|
||||
};
|
||||
|
||||
sb.Append("update TabletStyle set Descr=@Descr,PaperSize=@PaperSize,BackendImg=@BackendImg,PrintSize=@PrintSize,");
|
||||
sb.Append("update TabletStyle set Name=@Name,Descr=@Descr,PaperSize=@PaperSize,BackendImg=@BackendImg,PrintSize=@PrintSize,");
|
||||
sb.Append("PrintMode=@PrintMode,Orientation=@Orientation,PrintPageCount=@PrintPageCount,RosterLimit=@RosterLimit,");
|
||||
sb.Append("CUser=@CUser,CDate=@CDate,CTime=@CTime,UUser=@UUSer,UDate=@UDate,UTime=@UTime ");
|
||||
sb.Append("where StyleID=@StyleID ");
|
||||
@@ -348,4 +349,81 @@ public class StyleDataAccess
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
public object[] DelTabletPaper(string paperID)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var context = new ezEntities())
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
SqlParameter[] sp = new SqlParameter[] {
|
||||
new SqlParameter("@PaperID",paperID),
|
||||
};
|
||||
sb.Clear();
|
||||
sb.Append("if not exists (select StyleID from TabletStyle where PaperSize=@paperID or PrintSize=@paperID)");
|
||||
sb.Append("begin ");
|
||||
sb.Append("delete TabletPaperSize where paperID=@paperID ");
|
||||
sb.Append("end;");
|
||||
sb.Append("select @@ROWCOUNT ;");
|
||||
int i = context.Database.ExecuteSqlCommand(sb.ToString(), sp.ToArray());
|
||||
if (i > 0)
|
||||
{
|
||||
obj[0] = "Y";
|
||||
obj[1] = "刪除成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
obj[0] = "N";
|
||||
obj[1] = "刪除失敗,已有活動使用";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
obj[0] = "N";
|
||||
obj[1] = "刪除失敗:" + ex.Message;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
public object[] DelTabletStyle(string styleID)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var context = new ezEntities())
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
SqlParameter[] sp = new SqlParameter[] {
|
||||
new SqlParameter("@StyleID",styleID),
|
||||
};
|
||||
sb.Clear();
|
||||
sb.Append("if not exists (select defaultStyle from actItem where defaultStyle=@styleID)");
|
||||
sb.Append("begin ");
|
||||
sb.Append("delete TabletStyle where styleID=@styleID ");
|
||||
sb.Append("delete TabletStyleDetail where StyleID=@StyleID ");
|
||||
sb.Append("end;");
|
||||
sb.Append("select @@ROWCOUNT ;");
|
||||
int i = context.Database.ExecuteSqlCommand(sb.ToString(), sp.ToArray());
|
||||
if (i > 0)
|
||||
{
|
||||
obj[0] = "Y";
|
||||
obj[1] = "刪除成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
obj[0] = "N";
|
||||
obj[1] = "刪除失敗,已有活動使用";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
obj[0] = "N";
|
||||
obj[1] = "刪除失敗:"+ex.Message;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
@@ -758,6 +758,7 @@ public class FollowerController : ApiController
|
||||
// ===== 新增 =====
|
||||
autoEnroll = new Model.auto_enroll()
|
||||
{
|
||||
num=0,
|
||||
f_num = item.f_num,
|
||||
start_date = item.start_date,
|
||||
end_date = item.end_date,
|
||||
|
||||
@@ -363,6 +363,8 @@ public class activityController : ApiController
|
||||
}).ToList(), x.kind) : "",
|
||||
startDate_solar = x.startDate_solar,
|
||||
endDate_solar = x.endDate_solar,
|
||||
startDate = x.startDate_solar?.ToString("yyyy-MM-dd"),
|
||||
endDate = x.endDate_solar?.ToString("yyyy-MM-dd"),
|
||||
startDate_lunar = x.startDate_lunar,
|
||||
endDate_lunar = x.endDate_lunar,
|
||||
dueDate = x.dueDate,
|
||||
|
||||
@@ -299,4 +299,32 @@ public class designerController : ApiController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/tablet/DelPaperSize")]
|
||||
public IHttpActionResult DelPaperSize([FromBody] dynamic data)
|
||||
{
|
||||
LogUtility log = new LogUtility();
|
||||
var json = data;
|
||||
log.writeLogPath((string)json.paperSize);
|
||||
|
||||
string paperSize = (json == null || json.paperSize == null) ? "" : (string)json.paperSize;
|
||||
//先檢查有沒有用過
|
||||
object[] obj = new StyleDataAccess().DelTabletPaper(paperSize);
|
||||
return Ok(new { result = obj[0].ToString(), message = obj[1].ToString() });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/tablet/DelTabletStyle")]
|
||||
public IHttpActionResult DelTabletStyle([FromBody] dynamic data)
|
||||
{
|
||||
LogUtility log = new LogUtility();
|
||||
var json = data;
|
||||
log.writeLogPath((string)json.styleID);
|
||||
|
||||
string StyleID = (json == null || json.styleID == null) ? "" : (string)json.styleID;
|
||||
//先檢查有沒有用過
|
||||
object[] obj = new StyleDataAccess().DelTabletStyle(StyleID);
|
||||
return Ok(new { result = obj[0].ToString(), message = obj[1].ToString() });
|
||||
}
|
||||
}
|
||||
@@ -565,6 +565,7 @@ public class orderController : ApiController
|
||||
subject = x.activity_num.HasValue ? x.activity.subject : "",
|
||||
keyin1 = x.keyin1,
|
||||
up_time = x.up_time,
|
||||
uptime=x.up_time?.ToString("yyyy-MM-dd"),
|
||||
keyin1_txt = Model.pro_order.keyin1_value_to_text(x.keyin1),
|
||||
status = x.activity.activity_check.FirstOrDefault(a => x.activity_num == a.activity_num && x.f_num == a.f_num)?.status ?? 0,
|
||||
}),
|
||||
@@ -599,7 +600,7 @@ public class orderController : ApiController
|
||||
//qry1 = qry1.Where(o => o.order_no == order_no);
|
||||
//var qry1 = prod.pro_order_detail.AsEnumerable();
|
||||
|
||||
var qry1 = prod.pro_order_detail.AsQueryable().include(o=>o.pro_order.activity.activity_relating);
|
||||
var qry1 = prod.pro_order_detail.AsQueryable().Include(o=>o.pro_order.activity.activity_relating);
|
||||
|
||||
|
||||
//if (!string.IsNullOrEmpty(q.subject))
|
||||
@@ -723,83 +724,7 @@ public class orderController : ApiController
|
||||
// c,
|
||||
// //pay_kind = tdesc2[c.payment.HasValue && x.keyin1.Value > 0 ? x.keyin1.Value : 1],
|
||||
//}),
|
||||
var tmpActivityRelating = x.pro_order?.activity?.activity_relating?.Where(a => a.actItem_num == x.actItem_num).FirstOrDefault();
|
||||
return new
|
||||
{
|
||||
has_yang_limit = tmpActivityRelating?.has_yang_limit ?? false,
|
||||
has_chao_limit = tmpActivityRelating?.has_chao_limit ?? false,
|
||||
yang_limit_count = tmpActivityRelating?.yang_limit_count ?? 0,
|
||||
chao_limit_count = tmpActivityRelating?.chao_limit_count ?? 0,
|
||||
id = i++,
|
||||
num = x.num,
|
||||
order_no = x.order_no,
|
||||
actitem_num_selected = new
|
||||
{
|
||||
text = x.actItem_num.HasValue ? x.actItem.subject : "",
|
||||
val = x.actItem_num.HasValue ? x.actItem_num.Value : 0,
|
||||
},
|
||||
parent_num = x.parent_num,
|
||||
f_num_selected = new
|
||||
{
|
||||
text = x.f_num.HasValue ? x.follower.u_name : "",
|
||||
val = x.f_num.HasValue ? x.f_num.Value : 0,
|
||||
},
|
||||
f_num_tablet = x.f_num_tablet,
|
||||
print_id = x.print_id,
|
||||
address = x.address,
|
||||
due_date = x.due_date,
|
||||
start_date = x.start_date,
|
||||
extend_date = x.extend_date,
|
||||
from_id_selected = new
|
||||
{
|
||||
text = x.from_id.HasValue ? x.follower1.u_name : "",
|
||||
val = x.from_id.HasValue ? x.from_id : 0,
|
||||
},
|
||||
from_id_tablet = x.from_id_tablet,
|
||||
price = x.price ?? 0,
|
||||
qty = x.qty ?? 0,
|
||||
writeBedQty = bedDt.Where(b => b.bed_order.o_detail_id.Value == x.num && b.checkIn_date.HasValue && b.bed_kind_detail_id.HasValue).Count(), //已劃數量
|
||||
notBedQty = bedDt.Where(b => b.bed_order.o_detail_id.Value == x.num && (!b.checkIn_date.HasValue || !b.bed_kind_detail_id.HasValue)).Count(), //未劃數量
|
||||
//total = x.total.HasValue ? x.total.Value : 0,
|
||||
category = x.actItem?.category,
|
||||
//pay = x.pay ?? 0,
|
||||
pay = x.pro_order_record.Select(c => c.price).Sum(),
|
||||
pay_date = x.pay_date,
|
||||
keyin1_selected = new
|
||||
{
|
||||
text = tdesc[x.keyin1.HasValue && x.keyin1.Value > 0 ? x.keyin1.Value : 1],
|
||||
val = x.keyin1,
|
||||
},
|
||||
demo = x.demo,
|
||||
files = x.actItem?.actItem_files.Select(f => new
|
||||
{
|
||||
num = f.file.num,
|
||||
subject = f.file.subject,
|
||||
word = f.file.word,
|
||||
cuz_column = f.file.customize_data ?? "", //??
|
||||
paperset = f.file.paperset ?? "",
|
||||
}),
|
||||
customize_data = x.customize_data ?? "",
|
||||
customize_data_comb = new
|
||||
{
|
||||
from_id_cuz_data = "",
|
||||
activity_cuz_data = "",
|
||||
actitem_cuz_data = "",
|
||||
order_cuz_data = "",
|
||||
},
|
||||
printed_files = x.printed_files ?? "",
|
||||
isPackage = (x.actItem.act_bom
|
||||
.Any(ab => ab.package_num == null && ab.item_num != null)
|
||||
? 1 : 0),
|
||||
bom_order = (x.actItem.act_bom
|
||||
.Any(ab => ab.package_num == null && ab.item_num != null)
|
||||
? x.num.ToString()
|
||||
: (x.parent_num.ToString() + x.num.ToString())
|
||||
),
|
||||
//cash_record = x.pro_order_record.Select( c => new {
|
||||
// c,
|
||||
// //pay_kind = tdesc2[c.payment.HasValue && x.keyin1.Value > 0 ? x.keyin1.Value : 1],
|
||||
//}),
|
||||
|
||||
|
||||
};
|
||||
})
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
.catch(error => console.log(error))
|
||||
},
|
||||
editItem(item) {
|
||||
console.log("edit", item);
|
||||
|
||||
},
|
||||
deleteItem(item) {
|
||||
if (confirm('是否確定刪除此筆資料?')) {
|
||||
@@ -123,7 +123,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/accounting/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.data_table.list.splice(index, 1);
|
||||
this.data_table.count = this.data_table.list.length
|
||||
})
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(t) {
|
||||
console.log("select search1", t);
|
||||
|
||||
}
|
||||
}, search2: {
|
||||
id: 'search2',
|
||||
@@ -45,7 +45,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(t) {
|
||||
console.log("select search2", t);
|
||||
|
||||
}
|
||||
},
|
||||
search3: {
|
||||
@@ -64,7 +64,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(t) {
|
||||
console.log("select search3", t);
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
@@ -86,7 +86,6 @@
|
||||
],
|
||||
selected: {},
|
||||
select(t) {
|
||||
console.log("select search4", t);
|
||||
|
||||
}
|
||||
},
|
||||
@@ -151,7 +150,7 @@
|
||||
options: {
|
||||
handler() {
|
||||
this.search_get()
|
||||
console.log("watch2", this.search_dialog, this.search_dialog.page);
|
||||
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
@@ -188,7 +187,7 @@
|
||||
search[t.id] = t.value;
|
||||
});
|
||||
|
||||
console.log("search_get", api_url, search, params, this.options);
|
||||
|
||||
this.search_dialog.loading = true
|
||||
axios.post(api_url, search, { params: params })
|
||||
.then(response => {
|
||||
@@ -375,7 +374,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/accounting/DeleteFilesItem/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.desserts.splice(index, 1)
|
||||
this.desserts_count = this.desserts_count - 1;
|
||||
})
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
.catch(error => console.log(error))
|
||||
},
|
||||
editItem(item) {
|
||||
console.log("edit", item);
|
||||
|
||||
},
|
||||
copyItem(item) {
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/activity/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.data_table.list.splice(index, 1);
|
||||
this.data_table.count = this.data_table.list.length
|
||||
})
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
select(t, data) {
|
||||
data.search.kind = t.num;
|
||||
data.btn_search()
|
||||
console.log("select search1", t);
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -215,7 +215,7 @@
|
||||
|
||||
},
|
||||
editItem(item) {
|
||||
console.log("edit", item);
|
||||
|
||||
},
|
||||
deleteItem(item) {
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
search[t.id] = t.value;
|
||||
});
|
||||
|
||||
console.log("search_get", api_url, search, params, this.options);
|
||||
|
||||
this.search_dialog.loading = true
|
||||
axios.post(api_url, search, { params: params })
|
||||
.then(response => {
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search1", t);
|
||||
|
||||
}
|
||||
},
|
||||
search2: {
|
||||
@@ -63,7 +63,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search2", t);
|
||||
|
||||
|
||||
item.files_num_selected.text = t.subject //=====?
|
||||
item.files_num_selected.val = t.num //=====?
|
||||
@@ -85,7 +85,7 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search3", item, t);
|
||||
|
||||
//debugger;
|
||||
item.actItem.subject = t.subject
|
||||
item.actItem.num = t.num
|
||||
@@ -371,7 +371,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/activity/DeleteFilesItem/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.desserts.splice(index, 1)
|
||||
this.desserts_count = this.desserts_count - 1;
|
||||
})
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
el: '#app',
|
||||
vuetify: new Vuetify(vuetify_options),
|
||||
data() {
|
||||
console.log("yes",<%= _this_id %>);
|
||||
|
||||
return {
|
||||
this_id: '<%= _this_id %>',
|
||||
options: {},
|
||||
@@ -33,8 +33,6 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item,t) {
|
||||
console.log("select search1", t);
|
||||
|
||||
|
||||
item.actItem_num.text = t.subject
|
||||
item.actItem_num.val = t.num
|
||||
@@ -114,7 +112,7 @@
|
||||
handler() {
|
||||
//console.log("watch1", this.search_dialog, this.search_dialog.page);
|
||||
this.search_get()
|
||||
console.log("watch2", this.search_dialog, this.search_dialog.page);
|
||||
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
@@ -154,7 +152,7 @@
|
||||
if (this.search_dialog.current.id == 'search1') {
|
||||
search['categorys'] = "1,2,4";//報名,掛單,贊助
|
||||
}
|
||||
console.log("search_get", api_url, search, params, this.options);
|
||||
|
||||
this.search_dialog.loading = true
|
||||
axios.post(api_url, search, { params: params })
|
||||
.then(response => {
|
||||
@@ -233,7 +231,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/activity/DeleteActKindDetail/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.desserts.splice(index, 1)
|
||||
this.desserts_count = this.desserts_count - 1;
|
||||
})
|
||||
@@ -321,7 +319,7 @@
|
||||
|
||||
}
|
||||
}, customSearch(value, item) {
|
||||
console.log(value, item)
|
||||
|
||||
},
|
||||
searchData(event) {
|
||||
this.desserts = this.desserts.filter(item => item.actItem_num.text.toLowerCase().includes(event));
|
||||
|
||||
+10
-100
@@ -24,11 +24,11 @@
|
||||
if (data.isOk) {
|
||||
$(btn).parents('.row.label-sm-right').find('.lunar').text(data.cDate);
|
||||
} else {
|
||||
console.log(data.msg);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
console.log(_date);
|
||||
|
||||
}
|
||||
|
||||
let VueApp = new Vue({
|
||||
@@ -58,12 +58,12 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search1", t);
|
||||
|
||||
//帶入預設日期
|
||||
axios
|
||||
.get(HTTP_HOST + 'api/activity/GetKindDate/' + t.num)
|
||||
.then(response => {
|
||||
console.log(response.data.startDate_solar);
|
||||
|
||||
$('#<%= startDate_solar.ClientID%>').val(response.data.startDate_solar);
|
||||
$('#<%= endDate_solar.ClientID%>').val(response.data.endDate_solar);
|
||||
$('#<%= startDate_lunar.ClientID%>').val(response.data.startDate_lunar);
|
||||
@@ -91,8 +91,6 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search2", t);
|
||||
|
||||
item.act_item_selected.text = t.subject
|
||||
item.act_item_selected.val = t.num
|
||||
item.price = t.price
|
||||
@@ -115,7 +113,6 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search3", t);
|
||||
|
||||
item.act_item_selected.text = t.subject
|
||||
item.act_item_selected.val = t.num
|
||||
@@ -136,7 +133,6 @@
|
||||
],
|
||||
selected: {},
|
||||
select(item, t) {
|
||||
console.log("select search4", t);
|
||||
|
||||
}
|
||||
},
|
||||
@@ -197,6 +193,7 @@
|
||||
has_chao_limit: false,
|
||||
yang_limit_count: 0,
|
||||
chao_limit_count: 0,
|
||||
},
|
||||
defaultItem: {
|
||||
id: 0,
|
||||
num: 0,
|
||||
@@ -276,18 +273,6 @@
|
||||
order_dialog: {
|
||||
show: false,
|
||||
},
|
||||
loading: false,
|
||||
search: '',
|
||||
headers: [
|
||||
{ text: '訂單編號', value: 'order_no' },
|
||||
{ text: '信眾編號', value: 'f_number' },
|
||||
{ text: '信眾姓名', value: 'u_name' },
|
||||
{ text: '聯絡電話', value: 'phone' },
|
||||
{ text: '建立日期', value: 'order_date' },
|
||||
],
|
||||
items: [
|
||||
{ order_no: "D", member_name: "S", order_date:"2025-12-07"}
|
||||
],
|
||||
unfilled_list: {
|
||||
loading: false,
|
||||
search: '',
|
||||
@@ -302,6 +287,7 @@
|
||||
{ order_no: "D", member_name: "S", order_date: "2025-12-07" }
|
||||
],
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -314,7 +300,7 @@
|
||||
handler() {
|
||||
//console.log("watch1", this.search_dialog, this.search_dialog.page);
|
||||
this.search_get()
|
||||
console.log("watch2", this.search_dialog, this.search_dialog.page);
|
||||
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
@@ -360,7 +346,7 @@
|
||||
if (this.search_dialog.current.id == 'search3') {
|
||||
search['category'] = "3";//備品
|
||||
}
|
||||
console.log("search_get", api_url, search, params, this.options);
|
||||
|
||||
this.search_dialog.loading = true
|
||||
axios.post(api_url, search, { params: params })
|
||||
.then(response => {
|
||||
@@ -452,7 +438,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/activity/DeleteRelatingData/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.desserts.splice(index, 1)
|
||||
this.desserts_count = this.desserts_count - 1;
|
||||
})
|
||||
@@ -752,7 +738,7 @@
|
||||
};
|
||||
|
||||
// Add form fields
|
||||
console.log(this.thisItemSelected.val, this.thisFilesSelected.val,JSON.stringify(list));
|
||||
|
||||
addHiddenField("item", this.thisItemSelected.val);
|
||||
addHiddenField("file", this.thisFilesSelected.val);
|
||||
addHiddenField("list", JSON.stringify(list));
|
||||
@@ -1328,83 +1314,7 @@
|
||||
|
||||
|
||||
</div>
|
||||
<div class="tab-pane fade giftItems" id="sec2-page3" role="tabpanel" aria-labelledby="sec2-tab3" v-if="this_id!=''">
|
||||
|
||||
<v-card class="mx-auto" outlined v-if="this_id!=''">
|
||||
|
||||
<v-data-table
|
||||
:headers="headersSpares"
|
||||
:items="sparesItems"
|
||||
:footer-props="footersDetail"
|
||||
:search="searchSpares"
|
||||
:options.sync="optionsSpares" class="elevation-1" fixed-header height="350px"
|
||||
|
||||
>
|
||||
<v-divider inset></v-divider>
|
||||
<template v-slot:top>
|
||||
<v-toolbar flat color="white">
|
||||
<div class="d-flex w-100">
|
||||
<v-text-field v-model="searchSpares" append-icon="mdi-magnify" label="查詢" dense outlined single-line hide-details></v-text-field>
|
||||
<v-btn
|
||||
color="primary"
|
||||
class="ml-2 white--text"
|
||||
@click="addNewSp">
|
||||
<v-icon dark>mdi-plus</v-icon>新增
|
||||
</v-btn>
|
||||
</div>
|
||||
</v-toolbar>
|
||||
</template>
|
||||
<template v-slot:item.act="{ item }">
|
||||
<div class="input-group mb-3" data-search-control="search3" @click="search_show(search_dialog.controls.search3)" v-if="item.id === modifyItem.id">
|
||||
<input class="form-control search-text" type="text" readonly
|
||||
placeholder="品項名稱" v-model="modifyItem.act_item_selected.text" >
|
||||
<input type="hidden" v-model="modifyItem.act_item_selected.val">
|
||||
<button class="btn btn-outline-secondary" type="button">
|
||||
<i class="mdi mdi-view-list-outline"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<span v-else>{{item.act_item_selected.text}}
|
||||
<span v-if="item.num==0" class="text-danger">(預設資料,未存檔)</span>
|
||||
</span>
|
||||
</template>
|
||||
<%-- <template v-slot:item.qty1="{ item }">
|
||||
<v-text-field v-model="modifyItem.qty1" :hide-details="true" dense single-line v-if="item.id === modifyItem.id" ></v-text-field>
|
||||
<span v-else>{{item.qty1}}</span>
|
||||
</template>
|
||||
<template v-slot:item.qty2="{ item }">
|
||||
<v-text-field v-model="modifyItem.qty2" :hide-details="true" dense single-line v-if="item.id === modifyItem.id" ></v-text-field>
|
||||
<span v-else>{{item.qty2}}</span>
|
||||
</template>--%>
|
||||
<template v-slot:item.demo="{ item }">
|
||||
<v-text-field v-model="modifyItem.demo" :hide-details="true" dense single-line v-if="item.id === modifyItem.id" ></v-text-field>
|
||||
<span v-else>{{item.demo}}</span>
|
||||
</template>
|
||||
<template v-slot:item.actions="{ item }">
|
||||
<div v-if="item.id === modifyItem.id">
|
||||
<v-icon color="red" class="mr-3" @click="cancelSp">
|
||||
mdi-window-close
|
||||
</v-icon>
|
||||
<v-icon color="green" @click="saveSp">
|
||||
mdi-content-save
|
||||
</v-icon>
|
||||
</div>
|
||||
<div v-else>
|
||||
<v-icon color="green" class="mr-3" @click="editItem(item,true);">
|
||||
mdi-pencil
|
||||
</v-icon>
|
||||
<v-icon color="red" @click="deleteItemSp(item)">
|
||||
mdi-delete
|
||||
</v-icon>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
</v-data-table>
|
||||
</v-card>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="sec2-page4" role="tabpanel" aria-labelledby="sec2-tab4" v-if="this_id!=''">
|
||||
<v-card class="mx-auto" outlined id="print-unfilled-area">
|
||||
|
||||
@@ -311,14 +311,14 @@ public partial class admin_activity_reg : MyWeb.config
|
||||
//var printInitValue = printInit.Text.Trim();
|
||||
//activity.print_init = !string.IsNullOrEmpty(printInitValue) ? printInitValue : null;
|
||||
activity.kind = Val(kind.Value);
|
||||
activity.category_kind = Val(category_kind.Value);
|
||||
//activity.category_kind = Val(category_kind.Value);
|
||||
activity.reg_time = DateTime.Now;
|
||||
_db.activities.Add(activity);
|
||||
_db.SaveChanges();
|
||||
int _id = activity.num;
|
||||
if (_id > 0)
|
||||
int t_id = activity.num;
|
||||
if (t_id > 0)
|
||||
{
|
||||
RunAutoEnroll(_id);
|
||||
RunAutoEnroll(t_id);
|
||||
|
||||
Model.admin_log admin_log = new Model.admin_log();
|
||||
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.Activity, (int)Model.admin_log.Status.Insert, subject.Text);
|
||||
@@ -336,8 +336,8 @@ public partial class admin_activity_reg : MyWeb.config
|
||||
activity.reg_time = DateTime.Now;
|
||||
_db.activities.Add(activity);
|
||||
_db.SaveChanges();
|
||||
int _id = activity.num;
|
||||
if (_id > 0)
|
||||
t_id = activity.num;
|
||||
if (t_id > 0)
|
||||
{
|
||||
Model.admin_log admin_log = new Model.admin_log();
|
||||
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.Activity, (int)Model.admin_log.Status.Insert, subject.Text);
|
||||
@@ -421,7 +421,7 @@ public partial class admin_activity_reg : MyWeb.config
|
||||
else
|
||||
{
|
||||
//activity.category_kind = Val(category_kind.Value);
|
||||
activity.category_kind = Val(category_kind.Value);
|
||||
//activity.category_kind = Val(category_kind.Value);
|
||||
_db.SaveChanges();
|
||||
|
||||
RunAutoEnroll(activity.num);
|
||||
@@ -524,84 +524,7 @@ private void RunAutoEnroll(int activityNum)
|
||||
}
|
||||
}
|
||||
|
||||
private void RunAutoEnroll(int activityNum)
|
||||
{
|
||||
var activity = _db.activities.FirstOrDefault(a => a.num == activityNum);
|
||||
if (activity == null || !activity.startDate_solar.HasValue) return;
|
||||
|
||||
DateTime actDate = activity.startDate_solar.Value;
|
||||
|
||||
var validConfigs = _db.auto_enroll
|
||||
.Where(ae => actDate >= ae.start_date && actDate <= ae.end_date)
|
||||
.ToList();
|
||||
|
||||
foreach (var config in validConfigs)
|
||||
{
|
||||
if (_db.pro_order.Any(o => o.activity_num == activity.num && o.f_num == config.f_num))
|
||||
continue;
|
||||
|
||||
var follower = _db.followers.FirstOrDefault(f => f.num == config.f_num);
|
||||
if (follower == null) continue;
|
||||
|
||||
string newOrderNo = AutoOrderService.CreateAutoOrderNumber(_db);
|
||||
|
||||
Model.pro_order proOrder = new Model.pro_order
|
||||
{
|
||||
order_no = newOrderNo,
|
||||
up_time = DateTime.Now,
|
||||
reg_time = DateTime.Now,
|
||||
keyin1 = "A01",
|
||||
f_num = follower.num,
|
||||
au_num = config.num,
|
||||
phone = !string.IsNullOrEmpty(follower.cellphone) ? follower.cellphone : (follower.phone ?? ""),
|
||||
activity_num = activity.num,
|
||||
address = config.receipt_address ?? "",
|
||||
receipt_title = config.receipt_title ?? "",
|
||||
demo = "",
|
||||
customize_data = ""
|
||||
};
|
||||
|
||||
_db.pro_order.Add(proOrder);
|
||||
|
||||
CopyLatestOrderDetails(newOrderNo, config.f_num, (int)activity.kind);
|
||||
}
|
||||
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
||||
private void CopyLatestOrderDetails(string newOrderNo, int f_num, int activityKind)
|
||||
{
|
||||
var latestOrder = _db.pro_order
|
||||
.Where(o => o.f_num == f_num && o.activity.kind == activityKind && _db.pro_order_detail.Any(d => d.order_no == o.order_no))
|
||||
.OrderByDescending(o => o.order_no)
|
||||
.FirstOrDefault();
|
||||
|
||||
if (latestOrder != null)
|
||||
{
|
||||
var prevDetails = _db.pro_order_detail.Where(d => d.order_no == latestOrder.order_no).ToList();
|
||||
foreach (var detail in prevDetails)
|
||||
{
|
||||
Model.pro_order_detail newDetail = new Model.pro_order_detail
|
||||
{
|
||||
order_no = newOrderNo,
|
||||
actItem_num = detail.actItem_num,
|
||||
parent_num = detail.parent_num,
|
||||
print_id = detail.print_id,
|
||||
f_num = detail.f_num,
|
||||
f_num_tablet = detail.f_num_tablet,
|
||||
address = detail.address,
|
||||
from_id = detail.from_id,
|
||||
from_id_tablet = detail.from_id_tablet,
|
||||
qty = detail.qty,
|
||||
price = detail.price,
|
||||
start_date = DateTime.Today,
|
||||
pay = 0,
|
||||
UpdateTime = DateTime.Now
|
||||
};
|
||||
_db.pro_order_detail.Add(newDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
.then(res => {
|
||||
this.activity_statistics.items = res.data.items;
|
||||
this.activity_statistics.totalItems = res.data.count;
|
||||
console.log(this.activity_statistics.options)
|
||||
|
||||
})
|
||||
.catch(error => {
|
||||
|
||||
@@ -123,8 +123,7 @@
|
||||
watch: {
|
||||
selected_activity: {
|
||||
handler(newvalue, oldvalue) {
|
||||
console.log('新值:', newvalue);
|
||||
console.log('舊值:', oldvalue);
|
||||
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
|
||||
@@ -400,7 +400,7 @@
|
||||
async saveRegistrantMethod() {
|
||||
try {
|
||||
const response = await axios.post(HTTP_HOST + 'api/ancestraltablet/registrant/create', this.form.createRegister);
|
||||
console.log('保存成功', response.data);
|
||||
|
||||
|
||||
// 可選:提示用戶、關閉對話框、刷新數據等
|
||||
this.$toast?.success('登記人保存成功'); // 取決於你是否使用 toast 插件
|
||||
@@ -416,7 +416,7 @@
|
||||
updateRegistrantMethod() {
|
||||
axios.post(HTTP_HOST + 'api/ancestraltablet/registrant/update', this.form.createRegister)
|
||||
.then(response => {
|
||||
console.log('登記人更新成功:', response.data);
|
||||
|
||||
this.$toast?.success?.('登記人更新成功'); // 可選:使用 toast 彈出提示
|
||||
//this.showCreatePWFlag = false; // 關閉彈出視窗
|
||||
// 可選:刷新列表等
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
if (getArray != undefined && getArray != null ) {
|
||||
var keys = Object.keys(getArray);
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
console.log(`${keys[i]}:${getArray[keys[i]]}`); //value : text
|
||||
|
||||
var _tmp = {
|
||||
text: getArray[keys[i]],
|
||||
val: parseInt(keys[i]),
|
||||
@@ -125,7 +125,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/bed_kind/DeleteBedKindDetail/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.desserts.splice(index, 1)
|
||||
this.desserts_count = this.desserts_count - 1;
|
||||
})
|
||||
|
||||
@@ -528,7 +528,7 @@
|
||||
if (selectedItem.price) {
|
||||
this.currentRow.selected_items_text += ` (NT$${Number(selectedItem.price).toLocaleString()})`;
|
||||
}
|
||||
console.log('已選擇項目:', selectedItem.subject, '項目編號:', selectedItem.num);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -731,7 +731,7 @@
|
||||
search.is_reconcile = 'Y';
|
||||
}
|
||||
|
||||
console.log("search_get", api_url, search, params, this.options);
|
||||
|
||||
this.search_dialog.loading = true;
|
||||
|
||||
axios.post(api_url, search, { params: params })
|
||||
@@ -770,7 +770,7 @@
|
||||
curr.select(this, row);
|
||||
}
|
||||
this.search_dialog.show = false;
|
||||
console.log('Selected row:', row);
|
||||
|
||||
},
|
||||
showItemSelectDialog(item) {
|
||||
// 設定當前正在編輯的行
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
.catch(error => console.log(error))
|
||||
},
|
||||
editItem(item) {
|
||||
console.log("edit", item);
|
||||
|
||||
},
|
||||
deleteItem(item) {
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/FilesSet/' + item.num)
|
||||
.then(response => {
|
||||
console.log("del", item);
|
||||
|
||||
this.data_table.list.splice(index, 1);
|
||||
this.data_table.count = this.data_table.list.length
|
||||
})
|
||||
@@ -104,7 +104,7 @@
|
||||
axios
|
||||
.delete(HTTP_HOST + 'api/FilesSet/Delete/' + this.data_table.selected.map(x => x.num))
|
||||
.then(response => {
|
||||
console.log("delAll");
|
||||
|
||||
|
||||
for (var i = 0; i < this.data_table.selected.length; i++) {
|
||||
const index = this.data_table.list.indexOf(this.data_table.selected[i]);
|
||||
|
||||
@@ -22,15 +22,43 @@
|
||||
<ul class="dropdown-menu style-menu">
|
||||
<%--<li><span class="dropdown-item" data-value="">選擇版型</span></li>--%>
|
||||
</ul>
|
||||
<input type="text" id="styleName" class="form-control" aria-label="版型名稱">
|
||||
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<a class="" style="cursor:pointer;text-decoration: none;color:white;width:30px;height:30px;font-size:30px;"
|
||||
title="增加版型" onclick="Designer.changeStyle('000001')">+</a></div>
|
||||
<div class="col-8"> <input type="text" id="styleName" class="form-control" aria-label="版型名稱"></div>
|
||||
<div class="col-2">
|
||||
<a class="" style="cursor:pointer;text-decoration: none;color:white;width:30px;height:30px;font-size:30px;"
|
||||
title="刪除版型" onclick="Designer.removeStyle()">-</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<a class="" style="cursor:pointer;text-decoration: none;color:white;width:30px;height:30px;font-size:30px;"
|
||||
title="增加尺寸" onclick="Designer.changePaper1('newsize')">+</a>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<div class="form-floating mb-3">
|
||||
<select class="form-select form-select-sm mb-2 " onchange="Designer.changePaper()" id="paperSize">
|
||||
<option value="">請選擇</option>
|
||||
</select>
|
||||
<label for="paperSize" style="color: black">尺寸</label>
|
||||
<label for="paperSize" style="color: black">內容尺寸</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<a class="" style="cursor:pointer;text-decoration: none;color:white;width:30px;height:30px;font-size:30px;"
|
||||
title="刪除尺寸" onclick="Designer.removePaper()">-</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="sizeDiv" style="display: none;">
|
||||
<div class="form-floating mb-3">
|
||||
<input type="text" class="form-control form-select-sm mb-2 " id="paperName" />
|
||||
@@ -52,9 +80,9 @@
|
||||
<span class="btn btn-info" onclick="Designer.savePaperSize()">儲存</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="paperOrientation" onclick="Designer.changeOrientation()" class="mb-2">
|
||||
<%-- <div id="paperOrientation" onclick="Designer.changeOrientation()" class="mb-2">
|
||||
<span></span>
|
||||
</div>
|
||||
</div>--%>
|
||||
<div>
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item dropdown">
|
||||
@@ -259,7 +287,7 @@
|
||||
this.bg.forEach(x => {
|
||||
$("#backendInp").append("<option value='" + x.name + "'>" + x.name + "</option>")
|
||||
});
|
||||
$("#paperOrientation").html("<span>直向</span>")
|
||||
//$("#paperOrientation").html("<span>直向</span>")
|
||||
this.toast = new bootstrap.Toast($('#liveToast'));
|
||||
},
|
||||
print() {
|
||||
@@ -440,6 +468,9 @@
|
||||
},
|
||||
async getPaperSize() {
|
||||
let self = this
|
||||
self.allSize.length = 0;
|
||||
$("#paperSize").html("")
|
||||
$("#printSize").html("")
|
||||
await axios
|
||||
.post(HTTP_HOST + 'api/tablet/GetPaperSize', {})
|
||||
.then(response => {
|
||||
@@ -476,6 +507,9 @@
|
||||
});
|
||||
},
|
||||
async getStyles() {
|
||||
let self = this
|
||||
self.allSize.length = 0
|
||||
$(".style-menu").html("")
|
||||
await axios
|
||||
.post(HTTP_HOST + 'api/tablet/GetStyleData', {})
|
||||
.then(response => {
|
||||
@@ -484,7 +518,7 @@
|
||||
let data = response.data;
|
||||
if (data.result == "Y") {
|
||||
data.data.forEach(x => {
|
||||
this.allStyle.push(x);
|
||||
self.allStyle.push(x);
|
||||
$(".style-menu").append("<li><span class='dropdown-item style-item' data-value='" + x.styleID + "'>" + x.name + "</span></li>");
|
||||
});
|
||||
|
||||
@@ -597,6 +631,10 @@
|
||||
el.y = $("#yPosition").val();
|
||||
$(`.tablet-element[id="${this.activeId}"]`).css({ left: el.x + "mm", top: el.y + "mm" });
|
||||
},
|
||||
changePaper1(val) {
|
||||
$("#paperSize").val(val)
|
||||
this.changePaper()
|
||||
},
|
||||
changePaper() {
|
||||
let paperSize = $("#paperSize").val()
|
||||
let self = this;
|
||||
@@ -613,13 +651,69 @@
|
||||
});
|
||||
}
|
||||
},
|
||||
async removePaper() {
|
||||
let self = this;
|
||||
let paperSize = $("#paperSize").val()
|
||||
//console.log("paperSize:",paperSize);
|
||||
if (paperSize == "newsize" || paperSize == "" || paperSize == null || paperSize==undefined) {
|
||||
|
||||
$("#toast_body").html("請選擇要刪除的尺寸")
|
||||
self.toast.show();
|
||||
return false
|
||||
}
|
||||
let ps = { paperSize: paperSize }
|
||||
await axios
|
||||
.post(HTTP_HOST + 'api/tablet/DelPaperSize', ps)
|
||||
.then(response => {
|
||||
if (response.status == "200") {
|
||||
//if (response.data.result == "Y") {
|
||||
|
||||
$("#toast_body").html(`${response.data.message}`)
|
||||
self.toast.show();
|
||||
//}
|
||||
if (response.data.result == "Y") {
|
||||
|
||||
self.getPaperSize()
|
||||
$("#paperSize").val("")
|
||||
this.changePaper()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
async removeStyle() {
|
||||
let self = this;
|
||||
let sID = this.styleID
|
||||
//console.log("styleID:", sID);
|
||||
if (sID == "000001" || sID == null || sID == undefined) {
|
||||
|
||||
$("#toast_body").html("請選擇要刪除的版型")
|
||||
self.toast.show();
|
||||
return false
|
||||
}
|
||||
let ps = { styleID: sID }
|
||||
await axios
|
||||
.post(HTTP_HOST + 'api/tablet/DelTabletStyle', ps)
|
||||
.then(response => {
|
||||
if (response.status == "200") {
|
||||
//if (response.data.result == "Y") {
|
||||
|
||||
$("#toast_body").html(`${response.data.message}`)
|
||||
self.toast.show();
|
||||
//}
|
||||
if (response.data.result == "Y") {
|
||||
self.getStyles()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
async savePaperSize() {
|
||||
let ps = {
|
||||
paperName: $("#paperName").val(),
|
||||
width: $("#paperWidth").val(),
|
||||
height: $("#paperHeight").val()
|
||||
}
|
||||
console.log(ps);
|
||||
let self = this;
|
||||
//console.log(ps);
|
||||
await axios
|
||||
.post(HTTP_HOST + 'api/tablet/SavePaperSize', ps)
|
||||
.then(response => {
|
||||
@@ -628,6 +722,9 @@
|
||||
|
||||
$("#toast_body").html(`${"ok"}`)
|
||||
self.toast.show();
|
||||
self.getPaperSize()
|
||||
$("#paperSize").val("")
|
||||
self.changePaper()
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -642,7 +739,7 @@
|
||||
bindEvents() {
|
||||
// 文字變更連動渲染
|
||||
//$('#rosterLimit').on('input', (e) =>this.)
|
||||
console.log("OOQ");
|
||||
//console.log("OOQ");
|
||||
$('#inp-text').on('input', (e) => this.updateActive('text', $(e.target).val()));
|
||||
$('#inp-size').on('input', (e) => this.updateActive('fontSize', $(e.target).val()));
|
||||
$('#width').on('input', (e) => this.updateActive('width', $(e.target).val()))
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
|
||||
</v-text-field>-->
|
||||
<!--</v-col>-->
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" md="2">
|
||||
<v-text-field label="法會名稱" v-model="search.subject">
|
||||
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" md="2">
|
||||
<!--<v-text-field label="開始日期" v-model="search.uptime1">
|
||||
|
||||
</v-text-field>-->
|
||||
@@ -39,7 +39,7 @@
|
||||
@input="startmenu = false"></v-date-picker>
|
||||
</v-menu>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" md="2">
|
||||
<v-btn @click.prevent="getDefault()">查詢</v-btn>
|
||||
<v-btn @click.prevent="clearSearch()">清空條件</v-btn>
|
||||
</v-col>
|
||||
@@ -59,10 +59,8 @@
|
||||
hide-default-footer
|
||||
:page.sync="data_table.page"
|
||||
:items-per-page.sync="data_table.pageSize"
|
||||
disable-sort
|
||||
class="elevation-1">
|
||||
<template #item.up_time="{ item }">
|
||||
{{ item.up_time|timeString('YYYY/MM/DD') }}
|
||||
</template>
|
||||
<template #item.u_name="{ item }">
|
||||
<a v-if="item.f_num != null && item.activity_num != null" @click="checkInMsg(item)" class="btn btn-outline-secondary btn-sm"><i class="mdi mdi-account-check"></i>報到</a>
|
||||
{{ item.u_name }}
|
||||
@@ -99,7 +97,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
module.exports = {
|
||||
props: ['formData'],
|
||||
data() {
|
||||
@@ -121,8 +118,8 @@
|
||||
header: [
|
||||
{ text: '活動分類', value: 'kindsTxt' },
|
||||
{ text: '活動名稱', value: 'subject' },
|
||||
{ text: '開始日期', value: 'startDate_solar' },
|
||||
{ text: '結束日期', value: 'endDate_solar', align: 'start' },
|
||||
{ text: '開始日期', value: 'startDate' },
|
||||
{ text: '結束日期', value: 'endDate' },
|
||||
{ text: '報名人數', value: 'orderCounts' },
|
||||
{ text: '', value: 'slot_btn', sortable: false, align: 'end' }
|
||||
],
|
||||
@@ -192,7 +189,16 @@
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
timestring(value) {
|
||||
console.log("timeString:", value)
|
||||
return "20260102";
|
||||
//return (value == null || value == "") ? "" : moment(value).format('YYYY-MM-DD');
|
||||
},
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
initKindList() {
|
||||
axios
|
||||
//.get(HTTP_HOST + 'api/activity_kind')
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
<v-expansion-panel-header color="#006fc9"
|
||||
class="white--text">
|
||||
<v-row>
|
||||
<v-col cols="10" md="10">
|
||||
<v-col cols="4" sm="4" md="10">
|
||||
<label>查詢條件</label>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="8" sm="8" md="2">
|
||||
<v-btn @click.prevent='fast_signup' class="ms-auto">快速報名</v-btn>
|
||||
<v-btn @click.prevent="back01()" class="ms-auto">返回</v-btn>
|
||||
</v-col>
|
||||
@@ -19,27 +19,27 @@
|
||||
</v-expansion-panel-header>
|
||||
<v-expansion-panel-content>
|
||||
<v-row>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" sm="12" md="2">
|
||||
<v-text-field label="姓名" v-model="search.u_name">
|
||||
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" sm="12" md="2">
|
||||
<v-text-field label="電話" v-model="search.phone">
|
||||
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" sm="12" md="2">
|
||||
<v-text-field label="行動電話" v-model="search.cellphone">
|
||||
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" sm="12" md="2">
|
||||
<v-text-field label="身分證號" v-model="search.id_code">
|
||||
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="2" md="2">
|
||||
<v-col cols="12" sm="12" md="4">
|
||||
<v-btn @click.prevent="getDetail()">查詢</v-btn>
|
||||
<v-btn @click.prevent="clearSearch()">清空條件</v-btn>
|
||||
</v-col>
|
||||
@@ -62,7 +62,9 @@
|
||||
hide-default-footer
|
||||
:page.sync="detail_table.page"
|
||||
:items-per-page.sync="detail_table.pageSize"
|
||||
disable-sort
|
||||
class="elevation-1">
|
||||
|
||||
<template #item.slot_btn="{ item }">
|
||||
<!--<a :href="'reg.aspx?order_no='+item.order_no" class="btn btn-outline-secondary btn-sm"><i class="mdi mdi-pencil-box-outline"></i>修改</a>
|
||||
<a @click="$root.currentView='step-three';$root.selected_order=item.order_no" class="btn btn-outline-secondary btn-sm">明細</a>
|
||||
@@ -95,6 +97,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
module.exports = {
|
||||
props: {
|
||||
num: {
|
||||
@@ -122,7 +125,7 @@
|
||||
header: [
|
||||
{ text: '單號', value: 'order_no' },
|
||||
{ text: '姓名', value: 'u_name' },
|
||||
{ text: '報名日期', value: 'up_time' },
|
||||
{ text: '報名日期', value: 'uptime' },
|
||||
{ text: '單據狀態', value: 'keyin1_txt', align: 'start' },
|
||||
{ text: '', value: 'slot_btn', sortable: false, align: 'end' }
|
||||
],
|
||||
@@ -148,6 +151,12 @@
|
||||
},
|
||||
|
||||
},
|
||||
filters: {
|
||||
timeString(value, myFormat) {
|
||||
console.log("timeString:", value, myFormat)
|
||||
return value == null || value == "" ? "" : moment(value).format(myFormat || 'YYYY-MM-DD, HH:mm:ss');
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
back01() {
|
||||
this.$emit('custom-event', { action: 'signup1', item: this.num });
|
||||
|
||||
@@ -423,7 +423,12 @@
|
||||
// console.log("saveOrder:", x, x.num, x.order_no)
|
||||
}
|
||||
})
|
||||
|
||||
if (detail.length === 0) {
|
||||
this.message_dialog.show_confirm = false
|
||||
this.message_dialog.show = true
|
||||
this.message_dialog.message = "沒有選擇功德項目,如果無法選擇,請使用一般報名程序"
|
||||
return false
|
||||
}
|
||||
//放主檔資料,
|
||||
let main = {
|
||||
activity_num: this.num, f_num: this.follower.num,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
hide-default-footer
|
||||
:page.sync="detail_table.page"
|
||||
:items-per-page.sync="detail_table.pageSize"
|
||||
disable-sort
|
||||
class="elevation-1">
|
||||
<template #item.slot_btn="{ item }">
|
||||
</template>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
header: [
|
||||
{ text: '單號', value: 'order_no' },
|
||||
{ text: '姓名', value: 'u_name' },
|
||||
{ text: '報名日期', value: 'up_time' },
|
||||
{ text: '報名日期', value: 'uptime' },
|
||||
{ text: '單據狀態', value: 'keyin1_txt', align: 'start' },
|
||||
{ text: '', value: 'slot_btn', sortable: false, align: 'end' }
|
||||
],
|
||||
@@ -109,6 +109,7 @@
|
||||
methods: {
|
||||
changeView(item) {
|
||||
if (item.action === "detail") {
|
||||
console.log("change to fastSignup2")
|
||||
this.twoData = item.item.num
|
||||
this.currentView = "fastSignUp2-component"
|
||||
} else if (item.action === "add") {
|
||||
|
||||
@@ -42,14 +42,9 @@
|
||||
<add key="UseSearchKeywords" value="true" />
|
||||
<!--網站的簡稱,用來區別session和cookie-->
|
||||
<add key="SC" value="erp17168" />
|
||||
<<<<<<< HEAD
|
||||
<add key="LogPath" value="D:\\log\\" />
|
||||
<!--是否啟用信眾自動編號 (true=啟用, false=停用)-->
|
||||
<add key="IsAutoNumbering" value="true" />
|
||||
=======
|
||||
<!--是否啟用信眾自動編號 (true=啟用, false=停用)-->
|
||||
<add key="IsAutoNumbering" value="true" />
|
||||
>>>>>>> 0.1
|
||||
</appSettings>
|
||||
<connectionStrings>
|
||||
<!--SQL用-->
|
||||
|
||||
Reference in New Issue
Block a user