1.報名牌位 2.牌位列印
This commit is contained in:
@@ -11,9 +11,9 @@
|
|||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content4" ContentPlaceHolderID="footer_script" runat="Server">
|
<asp:Content ID="Content4" ContentPlaceHolderID="footer_script" runat="Server">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
Vue.filter('timeString', function (value, myFormat) {
|
Vue.filter('timeString', function (value, myFormat) {
|
||||||
return value == null || value == "" ? "" : moment(value).format(myFormat || 'YYYY-MM-DD, HH:mm:ss');
|
return value == null || value == "" ? "" : moment(value).format(myFormat || 'YYYY-MM-DD, HH:mm:ss');
|
||||||
@@ -552,11 +552,38 @@
|
|||||||
|
|
||||||
// 關閉編輯對話框
|
// 關閉編輯對話框
|
||||||
this.tablet_edit.show = false;
|
this.tablet_edit.show = false;
|
||||||
thiw.tablet_edit_new.show = false;
|
this.tablet_edit_new.show = false;
|
||||||
|
|
||||||
// 顯示成功訊息
|
// 顯示成功訊息
|
||||||
this.snackbar.text = '牌位資料已更新';
|
this.snackbar.text = '牌位資料已更新';
|
||||||
this.snackbar.show = true;
|
this.snackbar.show = true;
|
||||||
|
} else if (event.data.source === 'editorNew.btn.click') {
|
||||||
|
|
||||||
|
const receivedData = event.data.data;
|
||||||
|
|
||||||
|
// 更新編輯中的項目
|
||||||
|
//if (receivedData.tabletItem && this.editedIndex > -1) {
|
||||||
|
if (receivedData.tabletItem) {
|
||||||
|
// 將 tablet_data 轉換為 JSON 字串
|
||||||
|
//this.editedItem.f_num_tablet = JSON.stringify(receivedData.tablet_data);
|
||||||
|
|
||||||
|
// 確保其他必要欄位保持不變
|
||||||
|
const currentItem = this.desserts[this.editedIndex];
|
||||||
|
//currentItem.f_num_tablet = JSON.stringify(receivedData.tablet_data);
|
||||||
|
this.editedItem = {
|
||||||
|
...currentItem,
|
||||||
|
f_num_tablet: JSON.stringify(receivedData.tablet_data),
|
||||||
|
style: receivedData.style
|
||||||
|
};
|
||||||
|
// 呼叫 save 方法
|
||||||
|
await this.save();
|
||||||
|
}
|
||||||
|
this.tablet_edit_new.show = false;
|
||||||
|
|
||||||
|
// 顯示成功訊息
|
||||||
|
this.snackbar.text = '牌位資料已更新';
|
||||||
|
this.snackbar.show = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -585,6 +612,7 @@
|
|||||||
'tablet_edit.show': {
|
'tablet_edit.show': {
|
||||||
handler(newVal) {
|
handler(newVal) {
|
||||||
if (!newVal && this._savedEditedItem) {
|
if (!newVal && this._savedEditedItem) {
|
||||||
|
// console.log("三小");
|
||||||
this.editedItem = $.extend(true, {}, this._savedEditedItem);
|
this.editedItem = $.extend(true, {}, this._savedEditedItem);
|
||||||
this._savedEditedItem = null;
|
this._savedEditedItem = null;
|
||||||
}
|
}
|
||||||
@@ -593,6 +621,8 @@
|
|||||||
'tablet_edit_new.show': {
|
'tablet_edit_new.show': {
|
||||||
handler(newVal) {
|
handler(newVal) {
|
||||||
if (!newVal && this._savedEditedItem) {
|
if (!newVal && this._savedEditedItem) {
|
||||||
|
//console.log("不合理");
|
||||||
|
//$("#tablet_edit_new_iframe").src = $("#tablet_edit_new_iframe").src;
|
||||||
this.editedItem = $.extend(true, {}, this._savedEditedItem);
|
this.editedItem = $.extend(true, {}, this._savedEditedItem);
|
||||||
this._savedEditedItem = null;
|
this._savedEditedItem = null;
|
||||||
}
|
}
|
||||||
@@ -845,6 +875,9 @@
|
|||||||
this.editedItem = $.extend(true, {}, item);
|
this.editedItem = $.extend(true, {}, item);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
console.log("衝啥");
|
||||||
|
|
||||||
|
//document.getElementById("tablet_edit_new_iframe").contentWindow.location.reload();
|
||||||
// 如果是新項目,先保存
|
// 如果是新項目,先保存
|
||||||
if (this.editedItem.num <= 0 || this.editedItem.num === null || this.editedItem.num === undefined) {
|
if (this.editedItem.num <= 0 || this.editedItem.num === null || this.editedItem.num === undefined) {
|
||||||
this.editedItem.qty = 1;
|
this.editedItem.qty = 1;
|
||||||
@@ -859,6 +892,7 @@
|
|||||||
// 保存當前的 editedItem 數據
|
// 保存當前的 editedItem 數據
|
||||||
const currentData = $.extend(true, {}, this.editedItem);
|
const currentData = $.extend(true, {}, this.editedItem);
|
||||||
// 顯示對話框
|
// 顯示對話框
|
||||||
|
|
||||||
this.tablet_edit_new.show = true;
|
this.tablet_edit_new.show = true;
|
||||||
// 立即恢復數據
|
// 立即恢復數據
|
||||||
this.editedItem = $.extend(true, {}, currentData);
|
this.editedItem = $.extend(true, {}, currentData);
|
||||||
|
|||||||
@@ -534,7 +534,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sub-text {
|
.sub-text {
|
||||||
font-size: ${ancestorFontSize}px ;/*0.8em;*/ /* 縮小字體 */
|
/*font-size: ${ancestorFontSize}px ;*//*0.8em;*/ /* 縮小字體 */
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
margin-top: 4px; /* 與上方林張的間距 */
|
margin-top: 4px; /* 與上方林張的間距 */
|
||||||
white-space: normal; /* 避免自動換行 */
|
white-space: normal; /* 避免自動換行 */
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Document</title>
|
<title>Document</title>
|
||||||
<link href="../../../js/bootstrap5/bootstrap.min.css" />
|
<link href="../../../js/bootstrap5/bootstrap.min.css" rel="stylesheet" />
|
||||||
<link href="../../../js/fontawesome6/css/all.min.css" />
|
<link href="../../../js/fontawesome6/css/all.min.css" rel="stylesheet" />
|
||||||
<link href="../../item/jquery-ui/jquery-ui.min.css" />
|
<link href="../../item/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
|
||||||
<link href="../../../js/vuetify.css" rel="stylesheet" />
|
<link href="../../../js/vuetify.css" rel="stylesheet" />
|
||||||
<link href="../../../js/mdi-font/css/materialdesignicons.min.css" rel="stylesheet" />
|
<link href="../../../js/mdi-font/css/materialdesignicons.min.css" rel="stylesheet" />
|
||||||
<script src="../../../js/vue.min.js"></script>
|
<script src="../../../js/vue.min.js"></script>
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
<script src="../../../js/bootstrap5/js/bootstrap.bundle.min.js"></script>
|
<script src="../../../js/bootstrap5/js/bootstrap.bundle.min.js"></script>
|
||||||
<script src="../../../js/jquery-4.0.0.min.js"></script>
|
<script src="../../../js/jquery-4.0.0.min.js"></script>
|
||||||
<script src="../../item/jquery-ui/jquery-ui.min.js"></script>
|
<script src="../../item/jquery-ui/jquery-ui.min.js"></script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.div_border {
|
.div_border {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
@@ -54,16 +55,30 @@
|
|||||||
<div class="row work_space">
|
<div class="row work_space">
|
||||||
<div class="col-8 div_border printArea"></div>
|
<div class="col-8 div_border printArea"></div>
|
||||||
<div class="col-4 div_border" style="font-size:12px;">
|
<div class="col-4 div_border" style="font-size:12px;">
|
||||||
<div class="row" style="height: 50%; width: 100%; overflow: auto;">
|
<div class="row" style="height: 50%; overflow: auto;">
|
||||||
<div style="display:inline-block;width:100%;height:30px;background-color:darkgray;">
|
<div style="display:inline-block;width:100%;height:30px;background-color:darkgray;">
|
||||||
<h1>已選</h1>
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<h3>已選</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col-10">
|
||||||
|
<div class="form-floating mb-3">
|
||||||
|
<input class="form-control" type="text" id="custom_txt" placeholder="請輸入名稱" />
|
||||||
|
<label for="custom_txt">請輸入名稱</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<button type="button" class="custom_add" onclick="designer.addNewItem()" style="width:20px;height:20px;font-size:25px">+</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<ul class="selectedItem" style="margin-left:1rem;margin-right:1rem;">
|
<ul class="selectedItem" style="margin-left:1rem;margin-right:1rem;">
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row" style="height: 50%; width: 100%; overflow: auto;">
|
<div class="row" style="height: 50%; overflow: auto;">
|
||||||
<div style="display:inline-block;width:100%;height:30px;background-color:darkgray;">
|
<div style="display:inline-block;width:100%;height:30px;background-color:darkgray;">
|
||||||
<h1>可選</h1>
|
<h3>可選</h3>
|
||||||
<ul class="canselectItem" style="margin-left: 1rem;margin-right:1rem;">
|
<ul class="canselectItem" style="margin-left: 1rem;margin-right:1rem;">
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,7 +88,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
const designer = {
|
const designer = {
|
||||||
code: {
|
code: {
|
||||||
@@ -114,6 +128,8 @@
|
|||||||
rightProperTitle: [],//右正名
|
rightProperTitle: [],//右正名
|
||||||
address: "",//地址
|
address: "",//地址
|
||||||
alive: [],//陽上
|
alive: [],//陽上
|
||||||
|
tabletType: "A",
|
||||||
|
//toast:null,
|
||||||
bg: [
|
bg: [
|
||||||
{ name: "黃1", path: "../../../admin/print/html/tablet-1_new.svg" },
|
{ name: "黃1", path: "../../../admin/print/html/tablet-1_new.svg" },
|
||||||
{ name: "黃2", path: "../../../admin/print/html/tablet-1B_new.svg" },
|
{ name: "黃2", path: "../../../admin/print/html/tablet-1B_new.svg" },
|
||||||
@@ -126,6 +142,8 @@
|
|||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(data => { this.phrases = data; })
|
.then(data => { this.phrases = data; })
|
||||||
.catch(err => console.error('載入 phrases.json 失敗:', err));
|
.catch(err => console.error('載入 phrases.json 失敗:', err));
|
||||||
|
//this.toast = new bootstrap.Toast(document.querySelector(".toast"));
|
||||||
|
//this.toast.hide();
|
||||||
},
|
},
|
||||||
async getActItem() {
|
async getActItem() {
|
||||||
axios
|
axios
|
||||||
@@ -136,6 +154,7 @@
|
|||||||
this.pageSize = response.data.data.pageSize;
|
this.pageSize = response.data.data.pageSize;
|
||||||
this.defaultStyle = response.data.data.defaultStyle;
|
this.defaultStyle = response.data.data.defaultStyle;
|
||||||
this.selected.style = response.data.data.defaultStyle;
|
this.selected.style = response.data.data.defaultStyle;
|
||||||
|
this.selectStyle.style = response.data.data.defaultStyle;
|
||||||
$("#styleSel").val(this.defaultStyle);
|
$("#styleSel").val(this.defaultStyle);
|
||||||
|
|
||||||
//this.getStyle();
|
//this.getStyle();
|
||||||
@@ -145,6 +164,7 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
async getAllStyleDetails() {
|
async getAllStyleDetails() {
|
||||||
|
this.allStyleDetails.length = 0;
|
||||||
await axios
|
await axios
|
||||||
.post('/api/tablet/GetStyleDetailData', {})
|
.post('/api/tablet/GetStyleDetailData', {})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -160,6 +180,7 @@
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
async getPaperSize() {
|
async getPaperSize() {
|
||||||
|
this.allSize.length = 0;
|
||||||
let self = this
|
let self = this
|
||||||
await axios
|
await axios
|
||||||
.post('/api/tablet/GetPaperSize', {})
|
.post('/api/tablet/GetPaperSize', {})
|
||||||
@@ -181,6 +202,7 @@
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
async getTabletElement() {
|
async getTabletElement() {
|
||||||
|
this.tabletElement.length = 0;
|
||||||
await axios
|
await axios
|
||||||
.post('/api/tablet/GetTabletElement', {})
|
.post('/api/tablet/GetTabletElement', {})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -192,6 +214,7 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getTabletStyles() {
|
async getTabletStyles() {
|
||||||
|
this.allStyle.length = 0;
|
||||||
await axios
|
await axios
|
||||||
.post('/api/tablet/GetStyleData', {})
|
.post('/api/tablet/GetStyleData', {})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -209,7 +232,7 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getData() {
|
async getData() {
|
||||||
console.log("getData:", this.tabletItem)
|
//console.log("getData:", this.tabletItem)
|
||||||
this.printData.length = 0;
|
this.printData.length = 0;
|
||||||
this.properTitle.length = 0
|
this.properTitle.length = 0
|
||||||
this.alive.length = 0;
|
this.alive.length = 0;
|
||||||
@@ -224,41 +247,63 @@
|
|||||||
if (response.status == 200) {
|
if (response.status == 200) {
|
||||||
self.printData = response.data;
|
self.printData = response.data;
|
||||||
self.printData.forEach(x => {
|
self.printData.forEach(x => {
|
||||||
self.selectStyle = x;
|
if (x.style != null && x.style != undefined)
|
||||||
|
self.selectStyle.style = x.styleID;
|
||||||
|
if (x.f_num_tablet != "") {
|
||||||
let tablet = JSON.parse(x.f_num_tablet);
|
let tablet = JSON.parse(x.f_num_tablet);
|
||||||
|
|
||||||
let mid_items = tablet.mid_items;
|
let mid_items = tablet.mid_items;
|
||||||
let left_items = tablet.left_items;
|
let left_items = tablet.left_items;
|
||||||
|
self.family_deceased_Y_selected.length = 0;
|
||||||
|
self.family_deceased_N_selected.length = 0;
|
||||||
|
Object.assign(self.family_deceased_N_selected, mid_items);
|
||||||
|
Object.assign(self.family_deceased_Y_selected, left_items);
|
||||||
//let mid = [];
|
//let mid = [];
|
||||||
|
//family_deceased_Y_selected family_deceased_N_selected
|
||||||
mid_items.forEach(y => {
|
mid_items.forEach(y => {
|
||||||
self.properTitle.push(y.fam_name);
|
self.properTitle.push(y.fam_name);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//let left = []
|
//let left = []
|
||||||
if (left_items) {
|
if (left_items) {
|
||||||
left_items.forEach(y => {
|
left_items.forEach(y => {
|
||||||
self.alive.push(y.fam_name);
|
self.alive.push(y.fam_name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this.render();
|
this.render();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async render() {
|
async render() {
|
||||||
$("#printArea").empty();
|
|
||||||
|
$(".printArea").empty();
|
||||||
|
$(".selectedItem").empty();
|
||||||
|
$(".canselectItem").empty();
|
||||||
let self = this;
|
let self = this;
|
||||||
|
self.tabletType = "A";
|
||||||
let canvas = $(` <div class="canvas-area flex-grow-1 overflow-auto d-flex flex-row align-items-center position-relative" ></div>`)
|
let canvas = $(` <div class="canvas-area flex-grow-1 overflow-auto d-flex flex-row align-items-center position-relative" ></div>`)
|
||||||
let nowPageWidth = 0;
|
let nowPageWidth = 0;
|
||||||
let tabletpaper;
|
let tabletpaper;
|
||||||
//列印紙張的尺寸
|
//列印紙張的尺寸
|
||||||
;
|
|
||||||
let mid = [];
|
let mid = [];
|
||||||
Object.assign(mid, self.properTitle);
|
Object.assign(mid, self.properTitle);
|
||||||
let left = []
|
let left = []
|
||||||
Object.assign(left, self.alive);
|
Object.assign(left, self.alive);
|
||||||
//this.printData.forEach(x => {
|
//this.printData.forEach(x => {
|
||||||
let x = self.selectStyle;
|
let x = self.selectStyle;
|
||||||
let style = self.allStyle.find(y => y.styleID == x.style);
|
let style = self.allStyle.find(y => y.styleID == (x.style ? x.style : $("#styleSel").val()));
|
||||||
|
//console.log("style:",style)
|
||||||
|
if (x.style) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
self.selectStyle.style = style.styleID;
|
||||||
|
self.selected.style = style.styleID;
|
||||||
|
}
|
||||||
|
|
||||||
//用來印內容的尺寸
|
//用來印內容的尺寸
|
||||||
let size = self.allSize.find(y => y.paperID == style.paperSize);
|
let size = self.allSize.find(y => y.paperID == style.paperSize);
|
||||||
let pageSize = self.allSize.find(y => y.paperID == style.printSize);
|
let pageSize = self.allSize.find(y => y.paperID == style.printSize);
|
||||||
@@ -267,78 +312,44 @@
|
|||||||
|
|
||||||
tabletpaper = $(` <div class="tablet-paper"></div>`)
|
tabletpaper = $(` <div class="tablet-paper"></div>`)
|
||||||
let img = self.bg.find(y => y.name == style.backendImg);
|
let img = self.bg.find(y => y.name == style.backendImg);
|
||||||
let details = this.allStyleDetails.filter(y => y.styleID == x.style);
|
let details = this.allStyleDetails.filter(y => y.styleID == style.styleID);
|
||||||
console.log("details:", details);
|
|
||||||
let ancestorFontSize = 16;
|
let ancestorFontSize = 16;
|
||||||
|
|
||||||
details.forEach(d => {
|
details.forEach(d => {
|
||||||
if (d.isActive != "hidden") {
|
if (d.isActive != "hidden") {
|
||||||
let element = self.tabletElement.find(y => y.elementID == d.elementID);
|
let element = self.tabletElement.find(y => y.elementID == d.elementID);
|
||||||
//let newFontSize = self.scaleFontSize(d.sampleContent, d.fontSize, d.width);
|
|
||||||
let newFontSize = 16;
|
let newFontSize = 16;
|
||||||
|
newFontSize=self.scaleFontSize(mid, d.fontSize, d.textWidth);
|
||||||
let html = "";
|
let html = "";
|
||||||
let alive = "";
|
let alive = "";
|
||||||
let yang = "";
|
let yang = "";
|
||||||
let bi = "";
|
let bi = "";
|
||||||
|
|
||||||
if (d.elementID === 'title1') {
|
if (d.elementID === 'title1') {
|
||||||
/* let $namelist = $(`<div class='nameList'></div>`).css({
|
if (mid.length == 0) {
|
||||||
"writing-mode": "vertical rl",
|
mid.push("請選擇")
|
||||||
display: "flex",
|
|
||||||
"flex-direction": "row",
|
|
||||||
"flex-wrap": "wrap",
|
|
||||||
margin: "auto",
|
|
||||||
width: `${d.width}px`,
|
|
||||||
height: `${d.height}px`,
|
|
||||||
border: "0px solid #ccc",
|
|
||||||
padding: "1px",
|
|
||||||
"font-family": style.fontFamily,
|
|
||||||
"letter-spacing": "0.1em",
|
|
||||||
"column-gap": "1px",
|
|
||||||
"row-gap": "1px",
|
|
||||||
"align-items": "center",
|
|
||||||
"justify-content": "space-between",
|
|
||||||
});
|
|
||||||
|
|
||||||
mid.forEach(z => {
|
|
||||||
let info = self.getTextInfo(z, newFontSize);
|
|
||||||
let spanWidth = mid.length > 1 ? newFontSize : d.width
|
|
||||||
let height = d.textHeight;
|
|
||||||
if (info.width >= d.textHeight) {
|
|
||||||
height = d.height;
|
|
||||||
}
|
}
|
||||||
let $span = $(`<span class="nameSpan">${z}</span>`).css({
|
html = self.renderNameList(mid, d, newFontSize, style);
|
||||||
display: "block",
|
|
||||||
"min-height": `${height}px`,
|
|
||||||
"max-height": `${d.height}px`,
|
|
||||||
"max-width": `${spanWidth}px`,
|
|
||||||
//width: `${newFontSize}px`,
|
|
||||||
"text-align": "justify",
|
|
||||||
"text-align-last": "justify",
|
|
||||||
"margin-bottom": "20px",
|
|
||||||
"margin-left": "5px",
|
|
||||||
"text-justify": "inter-character",
|
|
||||||
"white-space": "pre-line",
|
|
||||||
//"justify-content":"center"
|
|
||||||
});
|
|
||||||
$namelist.append($span);
|
|
||||||
});
|
|
||||||
|
|
||||||
html = $namelist;*/
|
|
||||||
html = self.renderNameList(mid, d, newFontSize,style);
|
|
||||||
} else if (d.elementID === "alive") {
|
} else if (d.elementID === "alive") {
|
||||||
|
self.tabletType = "B";
|
||||||
|
if (left.length == 0) {
|
||||||
|
left.push("請選擇");
|
||||||
|
}
|
||||||
html = self.renderLiveList(left, d);
|
html = self.renderLiveList(left, d);
|
||||||
|
|
||||||
newFontSize = d.fontSize;
|
|
||||||
} else if (d.elementID === "titletriangle") {
|
} else if (d.elementID === "titletriangle") {
|
||||||
|
if (mid.length == 0) {
|
||||||
|
mid.push("請選擇")
|
||||||
|
}
|
||||||
html = self.renderRoster(mid, d)
|
html = self.renderRoster(mid, d)
|
||||||
} else if (d.elementID === "combined") {
|
} else if (d.elementID === "combined" || d.elementID === "tricombined") {
|
||||||
ancestorFontSize = d.fontSize;
|
ancestorFontSize = d.fontSize;
|
||||||
newFontSize = d.fontSize;
|
if (mid.length == 0) {
|
||||||
const parts = mid.join("\n").split('\n');
|
mid.push("請選擇")
|
||||||
html = `<div class="ancestor-wrapper" style="width:${d.width}px !important;height:${d.height}px !important;" >
|
}
|
||||||
<span class="main-name" >${parts[0] || ''}</span>
|
html = self.renderCombined(mid, d);
|
||||||
<span class="sub-text">${parts[1] || ''}</span>
|
|
||||||
</div>`;
|
|
||||||
}
|
}
|
||||||
if (newFontSize < 10) {
|
if (newFontSize < 10) {
|
||||||
newFontSize = 10;
|
newFontSize = 10;
|
||||||
@@ -384,7 +395,7 @@
|
|||||||
size:${pageSize.width}mm ${pageSize.height}mm !important;
|
size:${pageSize.width}mm ${pageSize.height}mm !important;
|
||||||
margin:0;
|
margin:0;
|
||||||
}
|
}
|
||||||
html, body, form, .full-home, #printArea, .canvas-area {
|
html, body, form, .full-home, .printArea, .canvas-area {
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
overflow: visible !important; /*必須為 visible */
|
overflow: visible !important; /*必須為 visible */
|
||||||
@@ -535,7 +546,6 @@
|
|||||||
$("head").append(self.pageStyle);
|
$("head").append(self.pageStyle);
|
||||||
$(canvas).append(tabletpaper);
|
$(canvas).append(tabletpaper);
|
||||||
$(".printArea").append(canvas);
|
$(".printArea").append(canvas);
|
||||||
//});
|
|
||||||
|
|
||||||
$(".tablet-element").on("click", function (e) {
|
$(".tablet-element").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -548,7 +558,7 @@
|
|||||||
let self = this;
|
let self = this;
|
||||||
$(".selectedItem").empty();
|
$(".selectedItem").empty();
|
||||||
$(".canselectItem").empty();
|
$(".canselectItem").empty();
|
||||||
console.log(element);
|
|
||||||
if (element.hasClass("liveList")) {//陽上
|
if (element.hasClass("liveList")) {//陽上
|
||||||
//抓未往生的人出來
|
//抓未往生的人出來
|
||||||
//self.familyMembers;
|
//self.familyMembers;
|
||||||
@@ -575,9 +585,14 @@
|
|||||||
|
|
||||||
if (element.hasClass("ancestor-wrapper")) {//多姓氏合併,只允許用打的
|
if (element.hasClass("ancestor-wrapper")) {//多姓氏合併,只允許用打的
|
||||||
self.properTitle.forEach(y => {
|
self.properTitle.forEach(y => {
|
||||||
$(".selectedItem").append(`<li>${y}</li>`)
|
$(".selectedItem").append(`<li><span style="opacity:0.5">卍</span>
|
||||||
|
<span class="selected">${y}</span>
|
||||||
|
<span class="itemRemove" style="float:right ;margin-left:2rem;cursor:pointer;" >−</span>
|
||||||
|
<span class="itemUp" style="float:right ;margin-left:2rem;cursor:pointer;">↑</span>
|
||||||
|
<span class="itemDown" style="float:right ;margin-left:2rem;cursor:pointer;">↓</span></li>`);
|
||||||
});
|
});
|
||||||
} else if (element.hasClass("nameList")) {//
|
} else if (element.hasClass("nameList") || element.hasClass("rosterList")) {//
|
||||||
|
|
||||||
self.properTitle.forEach(y => {
|
self.properTitle.forEach(y => {
|
||||||
$(".selectedItem").append(`<li><span style="opacity:0.5">卍</span>
|
$(".selectedItem").append(`<li><span style="opacity:0.5">卍</span>
|
||||||
<span class="selected">${y}</span>
|
<span class="selected">${y}</span>
|
||||||
@@ -587,8 +602,11 @@
|
|||||||
})
|
})
|
||||||
let items = []
|
let items = []
|
||||||
self.familyMembers.forEach(x => {
|
self.familyMembers.forEach(x => {
|
||||||
if (x.deceased == false)
|
if (self.tabletType == "A" && x.deceased == false) {
|
||||||
items.push(x.fam_name);
|
items.push(x.fam_name);
|
||||||
|
} else if (self.tabletType == "B" && x.deceased == true) {
|
||||||
|
items.push(x.fam_name);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
let finalItem = items.filter(y => !self.properTitle.includes(y))
|
let finalItem = items.filter(y => !self.properTitle.includes(y))
|
||||||
finalItem.forEach(yy => {
|
finalItem.forEach(yy => {
|
||||||
@@ -599,18 +617,70 @@
|
|||||||
|
|
||||||
self.bindEvent();
|
self.bindEvent();
|
||||||
},
|
},
|
||||||
|
async addNewItem() {
|
||||||
|
let self = this;
|
||||||
|
let target = $(self.selectedElement).children().first();
|
||||||
|
//let fam = self.familyMembers.find(x => x.fam_name == target.text());
|
||||||
|
if (target.hasClass("liveList")) {
|
||||||
|
self.alive.push($("#custom_txt").val());
|
||||||
|
let obj = {
|
||||||
|
IsShuWen: false,
|
||||||
|
deceased: false,
|
||||||
|
fam_gender: "",
|
||||||
|
fam_name: $("#custom_txt").val(),
|
||||||
|
fam_file: "",
|
||||||
|
nospace: true,
|
||||||
|
num: 0,
|
||||||
|
option_break: false
|
||||||
|
}
|
||||||
|
self.family_deceased_Y_selected.push(obj);
|
||||||
|
} else if (target.hasClass("nameList") || target.hasClass("rosterList")) {
|
||||||
|
self.properTitle.push($("#custom_txt").val());
|
||||||
|
let obj = {
|
||||||
|
IsShuWen: false,
|
||||||
|
deceased: false,
|
||||||
|
fam_gender: "",
|
||||||
|
fam_name: $("#custom_txt").val(),
|
||||||
|
fam_file: "",
|
||||||
|
nospace: true,
|
||||||
|
num: 0,
|
||||||
|
option_break: false
|
||||||
|
}
|
||||||
|
self.family_deceased_N_selected.push(obj);
|
||||||
|
} else if (target.hasClass("ancestor-wrapper")) {
|
||||||
|
if (self.properTitle.length >= 2) {
|
||||||
|
alert("多姓氏合併必須第一個名稱為姓,第二個名稱為氏歷代祖先之類,且最多兩個名稱");
|
||||||
|
} else {
|
||||||
|
self.properTitle.push($("#custom_txt").val());
|
||||||
|
let obj = {
|
||||||
|
IsShuWen: false,
|
||||||
|
deceased: false,
|
||||||
|
fam_gender: "",
|
||||||
|
fam_name: $("#custom_txt").val(),
|
||||||
|
fam_file: "",
|
||||||
|
nospace: true,
|
||||||
|
num: 0,
|
||||||
|
option_break: false
|
||||||
|
}
|
||||||
|
self.family_deceased_N_selected.push(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#custom_txt").val("");
|
||||||
|
self.renderItem($(self.selectedElement).children().first());
|
||||||
|
self.rerenderPart();
|
||||||
|
},
|
||||||
async bindEvent() {
|
async bindEvent() {
|
||||||
let self = this;
|
let self = this;
|
||||||
$(".itemAppend").off("click");
|
$(".itemAppend").off("click");
|
||||||
$(".itemRemove").off("click");
|
$(".itemRemove").off("click");
|
||||||
|
$(".itemUp").off("click");
|
||||||
|
$(".itemDown").off("click");
|
||||||
$(".itemAppend").on("click", function (e) {
|
$(".itemAppend").on("click", function (e) {
|
||||||
|
|
||||||
let curr = $(e.currentTarget.parentElement).find(".unselect").first();
|
let curr = $(e.currentTarget.parentElement).find(".unselect").first();
|
||||||
let target = self.familyMembers.find(x => x.fam_name == curr.text());
|
let target = self.familyMembers.find(x => x.fam_name == curr.text());
|
||||||
if (target) {
|
if (target) {
|
||||||
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
||||||
self.alive.push(target.fam_name);
|
self.alive.push(target.fam_name);
|
||||||
|
|
||||||
let obj = {
|
let obj = {
|
||||||
IsShuWen: false,
|
IsShuWen: false,
|
||||||
deceased: false,
|
deceased: false,
|
||||||
@@ -622,7 +692,8 @@
|
|||||||
option_break: false
|
option_break: false
|
||||||
}
|
}
|
||||||
self.family_deceased_Y_selected.push(obj);
|
self.family_deceased_Y_selected.push(obj);
|
||||||
} else if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
} else if ($(self.selectedElement).children().first().hasClass("nameList") ||
|
||||||
|
$(self.selectedElement).children().first().hasClass("rosterList")) {
|
||||||
self.properTitle.push(target.fam_name);
|
self.properTitle.push(target.fam_name);
|
||||||
|
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -635,7 +706,7 @@
|
|||||||
num: target.num,
|
num: target.num,
|
||||||
option_break: false
|
option_break: false
|
||||||
}
|
}
|
||||||
self.family_deceased_Y_selected.push(obj);
|
self.family_deceased_N_selected.push(obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.renderItem($(self.selectedElement).children().first())
|
self.renderItem($(self.selectedElement).children().first())
|
||||||
@@ -644,13 +715,16 @@
|
|||||||
|
|
||||||
$(".itemRemove").on("click", function (e) {
|
$(".itemRemove").on("click", function (e) {
|
||||||
let curr = $(e.currentTarget.parentElement).find(".selected").first();
|
let curr = $(e.currentTarget.parentElement).find(".selected").first();
|
||||||
//let target = self.alive.find(x => x == curr.text());
|
|
||||||
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
||||||
self.alive = self.alive.filter(x => x !== curr.text());
|
self.alive = self.alive.filter(x => x !== curr.text());
|
||||||
self.family_deceased_Y_selected.filter(x => x.fam_name != curr.text());
|
self.family_deceased_Y_selected=self.family_deceased_Y_selected.filter(x => x.fam_name != curr.text());
|
||||||
} else if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
} else if ($(self.selectedElement).children().first().hasClass("nameList") ||
|
||||||
|
$(self.selectedElement).children().first().hasClass("rosterList")) {
|
||||||
self.properTitle = self.properTitle.filter(x => x !== curr.text());
|
self.properTitle = self.properTitle.filter(x => x !== curr.text());
|
||||||
self.family_deceased_Y_selected.filter(x => x.fam_name != curr.text());
|
self.family_deceased_N_selected=self.family_deceased_N_selected.filter(x => x.fam_name != curr.text());
|
||||||
|
} else if ($(self.selectedElement).children().first().hasClass("ancestor-wrapper")) {//
|
||||||
|
self.properTitle = self.properTitle.filter(x => x !== curr.text());
|
||||||
|
self.family_deceased_N_selected=self.family_deceased_N_selected.filter(x => x.fam_name != curr.text());
|
||||||
}
|
}
|
||||||
self.renderItem($(self.selectedElement).children().first());
|
self.renderItem($(self.selectedElement).children().first());
|
||||||
self.rerenderPart();
|
self.rerenderPart();
|
||||||
@@ -667,14 +741,24 @@
|
|||||||
[self.family_deceased_Y_selected[index - 1], self.family_deceased_Y_selected[index]] =
|
[self.family_deceased_Y_selected[index - 1], self.family_deceased_Y_selected[index]] =
|
||||||
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index - 1]];
|
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index - 1]];
|
||||||
}
|
}
|
||||||
} else if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
} else if ($(self.selectedElement).children().first().hasClass("nameList") ||
|
||||||
|
$(self.selectedElement).children().first().hasClass("rosterList")) {
|
||||||
let index = self.properTitle.indexOf(curr.text());
|
let index = self.properTitle.indexOf(curr.text());
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
[self.properTitle[index - 1], self.properTitle[index]] = [self.properTitle[index], self.alive[index - 1]];
|
[self.properTitle[index - 1], self.properTitle[index]] = [self.properTitle[index], self.properTitle[index - 1]];
|
||||||
[self.family_deceased_Y_selected[index - 1], self.family_deceased_Y_selected[index]] =
|
[self.family_deceased_N_selected[index - 1], self.family_deceased_N_selected[index]] =
|
||||||
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index - 1]];
|
[self.family_deceased_N_selected[index], self.family_deceased_N_selected[index - 1]];
|
||||||
|
}
|
||||||
|
} else if ($(self.selectedElement).children().first().hasClass("ancestor-wrapper") ) {
|
||||||
|
let index = self.properTitle.indexOf(curr.text());
|
||||||
|
if (index == 0) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
[self.properTitle[index - 1], self.properTitle[index]] = [self.properTitle[index], self.properTitle[index - 1]];
|
||||||
|
[self.family_deceased_N_selected[index - 1], self.family_deceased_N_selected[index]] =
|
||||||
|
[self.family_deceased_N_selected[index], self.family_deceased_N_selected[index - 1]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.renderItem($(self.selectedElement).children().first());
|
self.renderItem($(self.selectedElement).children().first());
|
||||||
@@ -684,21 +768,31 @@
|
|||||||
let curr = $(e.currentTarget.parentElement).find(".selected").first();
|
let curr = $(e.currentTarget.parentElement).find(".selected").first();
|
||||||
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
||||||
let index = self.alive.indexOf(curr.text());
|
let index = self.alive.indexOf(curr.text());
|
||||||
if (index == self.alive.length) {
|
if (index == self.alive.length-1) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
[self.alive[index], self.alive[index + 1]] = [self.alive[index + 1], self.alive[index]];
|
[self.alive[index], self.alive[index + 1]] = [self.alive[index + 1], self.alive[index]];
|
||||||
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index + 1]] =
|
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index + 1]] =
|
||||||
[self.family_deceased_Y_selected[index + 1], self.family_deceased_Y_selected[index]];
|
[self.family_deceased_Y_selected[index + 1], self.family_deceased_Y_selected[index]];
|
||||||
}
|
}
|
||||||
} else if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
} else if ($(self.selectedElement).children().first().hasClass("nameList") ||
|
||||||
|
$(self.selectedElement).children().first().hasClass("rosterList")) {
|
||||||
let index = self.properTitle.indexOf(curr.text());
|
let index = self.properTitle.indexOf(curr.text());
|
||||||
if (index == self.properTitle.length) {
|
if (index == self.properTitle.length-1) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
[self.properTitle[index], self.properTitle[index + 1]] = [self.properTitle[index + 1], self.properTitle[index]];
|
[self.properTitle[index], self.properTitle[index + 1]] = [self.properTitle[index + 1], self.properTitle[index]];
|
||||||
[self.family_deceased_Y_selected[index], self.family_deceased_Y_selected[index + 1]] =
|
[self.family_deceased_N_selected[index], self.family_deceased_N_selected[index + 1]] =
|
||||||
[self.family_deceased_Y_selected[index + 1], self.family_deceased_Y_selected[index]];
|
[self.family_deceased_N_selected[index + 1], self.family_deceased_N_selected[index]];
|
||||||
|
}
|
||||||
|
} else if ($(self.selectedElement).children().first().hasClass("ancestor-wrapper")) {
|
||||||
|
let index = self.properTitle.indexOf(curr.text());
|
||||||
|
if (index == self.properTitle.length-1) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
[self.properTitle[index], self.properTitle[index + 1]] = [self.properTitle[index + 1], self.properTitle[index]];
|
||||||
|
[self.family_deceased_N_selected[index], self.family_deceased_N_selected[index + 1]] =
|
||||||
|
[self.family_deceased_N_selected[index + 1], self.family_deceased_N_selected[index]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -708,41 +802,61 @@
|
|||||||
},
|
},
|
||||||
async rerenderPart() {
|
async rerenderPart() {
|
||||||
let self = this;
|
let self = this;
|
||||||
|
let x = self.selectStyle;
|
||||||
|
let style = self.allStyle.find(y => y.styleID == x.style);
|
||||||
|
//用來印內容的尺寸
|
||||||
|
let size = self.allSize.find(y => y.paperID == style.paperSize);
|
||||||
|
let pageSize = self.allSize.find(y => y.paperID == style.printSize);
|
||||||
|
//包含空白用來折的尺寸
|
||||||
|
let printSize = self.allSize.find(y => y.paperID == style.printSize);
|
||||||
|
let details = self.allStyleDetails.filter(y => y.styleID == x.style);
|
||||||
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
if ($(self.selectedElement).children().first().hasClass("liveList")) {
|
||||||
$(self.selectedElement).empty();
|
$(self.selectedElement).empty();
|
||||||
//要重新render陽上
|
//要重新render陽上
|
||||||
let left = []
|
let left = []
|
||||||
Object.assign(left, self.alive);
|
Object.assign(left, self.alive);
|
||||||
//this.printData.forEach(x => {
|
//this.printData.forEach(x => {
|
||||||
let x = self.selectStyle;
|
|
||||||
let style = self.allStyle.find(y => y.styleID == x.style);
|
|
||||||
//用來印內容的尺寸
|
|
||||||
let size = self.allSize.find(y => y.paperID == style.paperSize);
|
|
||||||
let pageSize = self.allSize.find(y => y.paperID == style.printSize);
|
|
||||||
//包含空白用來折的尺寸
|
|
||||||
let printSize = self.allSize.find(y => y.paperID == style.printSize);
|
|
||||||
let details = self.allStyleDetails.filter(y => y.styleID == x.style);
|
|
||||||
let d = details.find(y => y.elementID == "alive");
|
let d = details.find(y => y.elementID == "alive");
|
||||||
let html = self.renderLiveList(left, d);
|
let html = self.renderLiveList(left, d);
|
||||||
$(self.selectedElement).append(html);
|
$(self.selectedElement).append(html);
|
||||||
} else {
|
} else {
|
||||||
if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
|
||||||
$(self.selectedElement).empty();
|
|
||||||
//要重新render陽上
|
|
||||||
let mid = []
|
let mid = []
|
||||||
Object.assign(mid, self.properTitle);
|
Object.assign(mid, self.properTitle);
|
||||||
//this.printData.forEach(x => {
|
//要重新render陽上
|
||||||
let x = self.selectStyle;
|
|
||||||
let style = self.allStyle.find(y => y.styleID == x.style);
|
|
||||||
//用來印內容的尺寸
|
if ($(self.selectedElement).children().first().hasClass("nameList")) {
|
||||||
let size = self.allSize.find(y => y.paperID == style.paperSize);
|
$(self.selectedElement).empty();
|
||||||
let pageSize = self.allSize.find(y => y.paperID == style.printSize);
|
|
||||||
//包含空白用來折的尺寸
|
|
||||||
let printSize = self.allSize.find(y => y.paperID == style.printSize);
|
|
||||||
let details = self.allStyleDetails.filter(y => y.styleID == x.style);
|
|
||||||
let d = details.find(y => y.elementID == "title1");
|
let d = details.find(y => y.elementID == "title1");
|
||||||
|
let newfontSize = self.scaleFontSize(mid, d.fontSize, d.textWidth)
|
||||||
|
if (newfontSize < 10) {
|
||||||
|
newfontSize = 10;
|
||||||
|
}
|
||||||
|
$(self.selectedElement).css("font-size", newfontSize);
|
||||||
let html = self.renderNameList(mid, d, style.fontSize, style);
|
let html = self.renderNameList(mid, d, style.fontSize, style);
|
||||||
$(self.selectedElement).append(html);
|
$(self.selectedElement).append(html);
|
||||||
|
} else if ($(self.selectedElement).children().first().hasClass("rosterList")) {
|
||||||
|
$(self.selectedElement).empty();
|
||||||
|
let d = details.find(y => y.elementID == "titletriangle");
|
||||||
|
let newfontSize = self.scaleFontSize(mid, d.fontSize, d.textWidth)
|
||||||
|
if (newfontSize < 10) {
|
||||||
|
newfontSize = 10;
|
||||||
|
}
|
||||||
|
$(self.selectedElement).css("font-size", newfontSize);
|
||||||
|
let html = self.renderRoster(mid, d);
|
||||||
|
$(self.selectedElement).append(html);
|
||||||
|
} else if ($(self.selectedElement).children().first().hasClass("ancestor-wrapper")) {
|
||||||
|
$(self.selectedElement).empty();
|
||||||
|
let d = details.find(y => y.elementID == "combined");
|
||||||
|
let newfontSize = self.scaleFontSize(mid, d.fontSize, d.textWidth)
|
||||||
|
if (newfontSize < 10) {
|
||||||
|
newfontSize = 10;
|
||||||
|
}
|
||||||
|
$(self.selectedElement).css("font-size", newfontSize);
|
||||||
|
let html = self.renderCombined(mid, d);
|
||||||
|
$(self.selectedElement).append(html);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -757,12 +871,16 @@
|
|||||||
|
|
||||||
//},
|
//},
|
||||||
changeStyle() {
|
changeStyle() {
|
||||||
|
let self = this;
|
||||||
|
this.selected.style = $("#styleSel").val();
|
||||||
|
this.selectStyle.style = $("#styleSel").val();
|
||||||
|
//console.log("changeStyle:",this.selectStyle);
|
||||||
|
this.render();
|
||||||
},
|
},
|
||||||
fix2(val) {
|
fix2(val) {
|
||||||
return Number.parseFloat(val).toFixed(2);
|
return Number.parseFloat(val).toFixed(2);
|
||||||
},
|
},
|
||||||
renderNameList(mid,d,newFontSize,style) {
|
renderNameList(mid, d, newFontSize, style) {
|
||||||
let self = this;
|
let self = this;
|
||||||
let $namelist = $(`<div class='nameList'></div>`).css({
|
let $namelist = $(`<div class='nameList'></div>`).css({
|
||||||
"writing-mode": "vertical rl",
|
"writing-mode": "vertical rl",
|
||||||
@@ -866,6 +984,16 @@
|
|||||||
if (bot.length) h.append(this.renderNameGroups(bot, el));
|
if (bot.length) h.append(this.renderNameGroups(bot, el));
|
||||||
return h
|
return h
|
||||||
},
|
},
|
||||||
|
renderCombined(mid,d) {
|
||||||
|
ancestorFontSize = d.fontSize;
|
||||||
|
newFontSize = d.fontSize;
|
||||||
|
const parts = mid.join("\n").split('\n');
|
||||||
|
html = `<div class="ancestor-wrapper" style="width:${d.width}px !important;height:${d.height}px !important;" >
|
||||||
|
<span class="main-name" >${parts[0] || ''}</span>
|
||||||
|
<span class="sub-text">${parts[1] || ''}</span>
|
||||||
|
</div>`;
|
||||||
|
return html
|
||||||
|
},
|
||||||
renderNameGroups(items, el) {
|
renderNameGroups(items, el) {
|
||||||
let g = $(`<div class="rosterspan"></div>`).css({
|
let g = $(`<div class="rosterspan"></div>`).css({
|
||||||
"display": "flex",
|
"display": "flex",
|
||||||
@@ -891,7 +1019,7 @@
|
|||||||
//if (dStyle.elementID === 'title1') {//表示是一般正名,也就是牌位正中間的一般格式,排法是上下上下
|
//if (dStyle.elementID === 'title1') {//表示是一般正名,也就是牌位正中間的一般格式,排法是上下上下
|
||||||
if ((Math.ceil(txtContent.length / 2) * font.width) * 2 > parseFloat(elementWidth)) {
|
if ((Math.ceil(txtContent.length / 2) * font.width) * 2 > parseFloat(elementWidth)) {
|
||||||
let newfontSize = parseInt(fontSize) - 1;
|
let newfontSize = parseInt(fontSize) - 1;
|
||||||
if (newfontSize <= 8) {
|
if (newfontSize <= 10) {
|
||||||
return newfontSize;
|
return newfontSize;
|
||||||
}
|
}
|
||||||
//console.log("newfontSize:",newfontSize)
|
//console.log("newfontSize:",newfontSize)
|
||||||
@@ -933,22 +1061,22 @@
|
|||||||
//console.log("tabletItem:", designer.tabletItem);
|
//console.log("tabletItem:", designer.tabletItem);
|
||||||
//拚牌位的內容
|
//拚牌位的內容
|
||||||
let self = this;
|
let self = this;
|
||||||
let target = self.familyMembers.filter(x => self.alive.includes(x.fam_name));
|
//let target = self.familyMembers.filter(x => self.alive.includes(x.fam_name));
|
||||||
designer.family_deceased_Y_selected.length = 0;
|
//designer.family_deceased_Y_selected.length = 0;
|
||||||
self.alive.forEach(x => {
|
//self.alive.forEach(x => {
|
||||||
let t = target.find(y => y.fam_name == x);
|
// let t = target.find(y => y.fam_name == x);
|
||||||
let obj = {
|
// let obj = {
|
||||||
IsShuWen: false,
|
// IsShuWen: false,
|
||||||
deceased: false,
|
// deceased: false,
|
||||||
fam_gender: "",
|
// fam_gender: "",
|
||||||
fam_name: t.fam_name,
|
// fam_name: t.fam_name,
|
||||||
fam_file: "",
|
// fam_file: "",
|
||||||
nospace: true,
|
// nospace: true,
|
||||||
num: t.num,
|
// num: t.num,
|
||||||
option_break: false
|
// option_break: false
|
||||||
}
|
// }
|
||||||
designer.family_deceased_Y_selected.push(obj);
|
// designer.family_deceased_Y_selected.push(obj);
|
||||||
});
|
//});
|
||||||
//console.log(designer.family_deceased_Y_selected, designer.family_deceased_N_selected);
|
//console.log(designer.family_deceased_Y_selected, designer.family_deceased_N_selected);
|
||||||
|
|
||||||
let tablet = { mid_items: designer.family_deceased_N_selected, left_items: designer.family_deceased_Y_selected, style: designer.selectStyle.style }
|
let tablet = { mid_items: designer.family_deceased_N_selected, left_items: designer.family_deceased_Y_selected, style: designer.selectStyle.style }
|
||||||
@@ -981,14 +1109,38 @@
|
|||||||
await axios
|
await axios
|
||||||
.post('/api/order/SaveDetailData', pro_order_detail)
|
.post('/api/order/SaveDetailData', pro_order_detail)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
console.log(response);
|
|
||||||
|
let tablet_data = {
|
||||||
|
mid_items: self.family_deceased_N_selected,
|
||||||
|
left_items: self.family_deceased_Y_selected,
|
||||||
|
style: self.selectStyle.style
|
||||||
|
}
|
||||||
|
const ret = {
|
||||||
|
source: 'editorNew.btn.click',
|
||||||
|
data: {
|
||||||
|
tabletItem: this.tabletItem,
|
||||||
|
tablet_data: tablet_data,
|
||||||
|
style: self.selectStyle.style
|
||||||
|
}
|
||||||
|
};
|
||||||
|
window.parent.postMessage(ret, '/');
|
||||||
|
//$.toast({
|
||||||
|
// heading: 'Success',
|
||||||
|
// text: 'Your action was completed successfully!',
|
||||||
|
// showHideTransition: 'slide', // fade, slide, plain
|
||||||
|
// icon: 'success', // info, warning, error, success
|
||||||
|
// position: 'top-left',
|
||||||
|
// loaderBg: '#4CAF50', // loader background color
|
||||||
|
// hideAfter: 3000 // auto close after 3 seconds
|
||||||
|
//});
|
||||||
|
//$(".toast-body").empty();
|
||||||
|
//$(".toast-body").html("ok");
|
||||||
|
//this.toast.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
//console.log("pro_order_detail:",pro_order_detail);
|
//console.log("pro_order_detail:",pro_order_detail);
|
||||||
},
|
},
|
||||||
reset() {
|
reset() {
|
||||||
|
|
||||||
|
|
||||||
designer.code = { style: [] };
|
designer.code = { style: [] };
|
||||||
designer.selected = {
|
designer.selected = {
|
||||||
style: ""
|
style: ""
|
||||||
@@ -1025,13 +1177,21 @@
|
|||||||
designer.rightProperTitle = [];//右正名
|
designer.rightProperTitle = [];//右正名
|
||||||
designer.address = "";//地址
|
designer.address = "";//地址
|
||||||
designer.alive = [];//陽上
|
designer.alive = [];//陽上
|
||||||
|
designer.tabletType= "A";
|
||||||
|
$(".printArea").empty();
|
||||||
|
$(".selectItem").empty();
|
||||||
|
$(".canselectItem").empty();
|
||||||
|
},
|
||||||
|
async resetScreen() {
|
||||||
|
$(".printArea").empty();
|
||||||
|
$(".selectItem").empty();
|
||||||
|
$(".canselectItem").empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(() => $(window).on("message", function (event) {
|
$(() => $(window).on("message", function (event) {
|
||||||
|
//designer.reset();
|
||||||
let e = event.originalEvent;
|
let e = event.originalEvent;
|
||||||
if (e.origin === window.parent.location.origin) {
|
if (e.origin === window.parent.location.origin) {
|
||||||
//console.log('editor.html - origin check passed');
|
//console.log('editor.html - origin check passed');
|
||||||
@@ -1051,20 +1211,20 @@
|
|||||||
designer.tabletItem = receivedData.tabletItem;
|
designer.tabletItem = receivedData.tabletItem;
|
||||||
}
|
}
|
||||||
//console.log("actitem:", receivedData.tabletItem.actitem_num_selected.val);
|
//console.log("actitem:", receivedData.tabletItem.actitem_num_selected.val);
|
||||||
console.log("receivedData::", receivedData);
|
|
||||||
if (receivedData.tabletItem.style) {
|
if (receivedData.tabletItem.style) {
|
||||||
designer.selected.style = receivedData.tabletItem.style;
|
designer.selected.style = receivedData.tabletItem.style;
|
||||||
} else {
|
} else {
|
||||||
designer.selected.style = "";
|
designer.selected.style = "";
|
||||||
}
|
}
|
||||||
console.log("actitem:", receivedData.tabletItem.actitem_num_selected.val);
|
|
||||||
designer.actitem = receivedData.tabletItem.actitem_num_selected.val;
|
designer.actitem = receivedData.tabletItem.actitem_num_selected.val;
|
||||||
//console.log("actitem:",receivedData.tabletItem.actitem_num_selected.val);
|
//console.log("actitem:",receivedData.tabletItem.actitem_num_selected.val);
|
||||||
// 處理 f_num_tablet 資料
|
// 處理 f_num_tablet 資料
|
||||||
if (designer.tabletItem.f_num_tablet) {
|
if (designer.tabletItem.f_num_tablet) {
|
||||||
try {
|
try {
|
||||||
const data = JSON.parse(designer.tabletItem.f_num_tablet);
|
const data = JSON.parse(designer.tabletItem.f_num_tablet);
|
||||||
|
console.log("阿巫醫ㄟ喔:", data)
|
||||||
if (designer.item_type === 'B') {
|
if (designer.item_type === 'B') {
|
||||||
// B類型:超渡、超薦等
|
// B類型:超渡、超薦等
|
||||||
designer.family_deceased_Y_selected = data.mid_items || [];
|
designer.family_deceased_Y_selected = data.mid_items || [];
|
||||||
@@ -1103,15 +1263,18 @@
|
|||||||
console.error('解析牌位資料時發生錯誤:', e);
|
console.error('解析牌位資料時發生錯誤:', e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
designer.resetScreen();
|
||||||
|
designer.getActItem().then(() => delay(300)).then(() => designer.getData());
|
||||||
|
|
||||||
|
|
||||||
designer.getActItem();
|
|
||||||
designer.getData();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(e.origin, window.parent.location.origin)
|
console.log(e.origin, window.parent.location.origin)
|
||||||
})
|
})
|
||||||
)
|
);
|
||||||
|
function delay(ms) {
|
||||||
|
return new Promise(resolve => setTimeout(resolve, ms));
|
||||||
|
}
|
||||||
$(() => designer.init().then(() => designer.getTabletElement().
|
$(() => designer.init().then(() => designer.getTabletElement().
|
||||||
then(() => designer.getPaperSize().
|
then(() => designer.getPaperSize().
|
||||||
then(() => designer.getTabletStyles().
|
then(() => designer.getTabletStyles().
|
||||||
|
|||||||
+2
-2
@@ -46,8 +46,8 @@
|
|||||||
</appSettings>
|
</appSettings>
|
||||||
<connectionStrings>
|
<connectionStrings>
|
||||||
<!--SQL用-->
|
<!--SQL用-->
|
||||||
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.5.27;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;Connection Timeout=10;" />
|
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.5.20;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;Connection Timeout=10;" />
|
||||||
<add name="ezEntities" providerName="System.Data.EntityClient" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=192.168.5.27;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;"" />
|
<add name="ezEntities" providerName="System.Data.EntityClient" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=192.168.5.20;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;"" />
|
||||||
<!--
|
<!--
|
||||||
-->
|
-->
|
||||||
<!--SQL用-->
|
<!--SQL用-->
|
||||||
|
|||||||
Reference in New Issue
Block a user