This commit is contained in:
2026-03-09 18:09:32 +08:00
parent 50b24a7282
commit bfd07ebe90
5 changed files with 215 additions and 56 deletions

View File

@@ -157,9 +157,9 @@ public class StyleDataAccess
sb.Clear(); sb.Clear();
sb.Append("insert into TabletStyleDetail(StyleID,Name,Descr,ElementID,StartX,StartY,FontSize,BreakLen,FontFamily,TwoOffset,"); sb.Append("insert into TabletStyleDetail(StyleID,Name,Descr,ElementID,StartX,StartY,FontSize,BreakLen,FontFamily,TwoOffset,");
sb.Append("ThreeOffset,FourOffSet,IsActive,Width,CUser,CDate,CTime,UUser,UDate,UTime) "); sb.Append("ThreeOffset,FourOffSet,IsActive,Width,Height,TextWidth,TextHeight,CUser,CDate,CTime,UUser,UDate,UTime) ");
sb.Append("values (@StyleID,@Name,@Descr,@ElementID,@StartX,@StartY,@FontSize,@BreakLen,@FontFamily,@TwoOffset,"); sb.Append("values (@StyleID,@Name,@Descr,@ElementID,@StartX,@StartY,@FontSize,@BreakLen,@FontFamily,@TwoOffset,");
sb.Append("@ThreeOffset,@FourOffSet,@IsActive,@Width,@CUser,@CDate,@CTime,@UUser,@UDate,@UTime) "); sb.Append("@ThreeOffset,@FourOffSet,@IsActive,@Width,@Height,@TextWidth,@TextHeight,@CUser,@CDate,@CTime,@UUser,@UDate,@UTime) ");
foreach (var item in list) foreach (var item in list)
{ {
SqlParameter[] sp1 = new SqlParameter[] { SqlParameter[] sp1 = new SqlParameter[] {
@@ -177,6 +177,9 @@ public class StyleDataAccess
new SqlParameter("@FourOffset",item.FourOffset), new SqlParameter("@FourOffset",item.FourOffset),
new SqlParameter("@IsActive",item.IsActive), new SqlParameter("@IsActive",item.IsActive),
new SqlParameter("@Width",item.Width), new SqlParameter("@Width",item.Width),
new SqlParameter("@Height",item.Height),
new SqlParameter("@TextWidth",item.TextWidth),
new SqlParameter("@TextHeight",item.TextHeight),
new SqlParameter("@CUser",""), new SqlParameter("@CUser",""),
new SqlParameter("@CDate",""), new SqlParameter("@CDate",""),
new SqlParameter("@CTime",""), new SqlParameter("@CTime",""),
@@ -196,4 +199,85 @@ public class StyleDataAccess
} }
return obj; return obj;
} }
public object[] UpdateStyle(TabletStyle ts, List<TabletStyleDetail> list)
{
try
{
using (var context = new ezEntities())
{
StringBuilder sb = new StringBuilder();
SqlParameter[] sp = new SqlParameter[] {
new SqlParameter("@StyleID",ts.StyleID),
new SqlParameter("@Name",ts.Name),
new SqlParameter("@Descr",ts.Descr),
new SqlParameter("@PaperSize",ts.PaperSize),
new SqlParameter("@BackendImg",ts.BackendImg),
new SqlParameter("@PrintSize",ts.PrintSize),
new SqlParameter("@PrintMode",ts.PrintMode),
new SqlParameter("@Orientation",ts.Orientation),
new SqlParameter("@PrintPageCount",ts.PrintPageCount),
new SqlParameter("@CUser",""),
new SqlParameter("@CDate",""),
new SqlParameter("@CTime",""),
new SqlParameter("@UUser",""),
new SqlParameter("@UDate",""),
new SqlParameter("@UTime",""),
};
sb.Append("update TableStyle set Descr=@Descr,PaperSize=@PaperSize,BackendImg=@BackendImg,PrintSize=@PrintSize,");
sb.Append("PrintMode=@PrintMode,Orientation=@Orientation,PrintPageCount=@PrintPageCount,");
sb.Append("CUser=@CUser,CDate=@CDate,CTime=@CTime,UUser=@UUSer,UDate=@UDate,UTime=@UTime ");
sb.Append("where StyleID=@StyleID ");
context.Database.ExecuteSqlCommand(sb.ToString(), sp);
sb.Clear();
sb.Append("update TabletStyleDetail set Descr=@Descr,StartX=@StartX,StartY=@StartY,FontSize=@FontSize,BreakLen=@BreakLen,");
sb.Append("FontFamily=@FontFamily,TwoOffset=@TwoOffset,ThreeOffset=@ThreeOffset,FourOffsert=@FourOffset,IsActive=@IsActive,");
sb.Append("Width=@Width,Height=@Height,TextWidth=@TextWidth,TextHeight=@TextHeight,UUser=@UUser,UDate=@UDate,UTime=@UTime ");
sb.Append("where StyleID=@StyleID and ElementID=@ElementID ");
//sb.Append("insert into TabletStyleDetail(StyleID,Name,Descr,ElementID,StartX,StartY,FontSize,BreakLen,FontFamily,TwoOffset,");
//sb.Append("ThreeOffset,FourOffSet,IsActive,Width,Height,TextWidth,TextHeight,CUser,CDate,CTime,UUser,UDate,UTime) ");
//sb.Append("values (@StyleID,@Name,@Descr,@ElementID,@StartX,@StartY,@FontSize,@BreakLen,@FontFamily,@TwoOffset,");
//sb.Append("@ThreeOffset,@FourOffSet,@IsActive,@Width,@Height,@TextWidth,@TextHeight,@CUser,@CDate,@CTime,@UUser,@UDate,@UTime) ");
foreach (var item in list)
{
SqlParameter[] sp1 = new SqlParameter[] {
new SqlParameter("@StyleID",item.StyleID),
new SqlParameter("@Name",item.Name),
new SqlParameter("@Descr",item.Descr),
new SqlParameter("@ElementID",item.ElementID),
new SqlParameter("@StartX",item.StartX),
new SqlParameter("@StartY",item.StartY),
new SqlParameter("@FontSize",item.FontSize),
new SqlParameter("@BreakLen",item.BreakLen),
new SqlParameter("@FontFamily",item.FontFamily),
new SqlParameter("@TwoOffset",item.TwoOffset),
new SqlParameter("@ThreeOffset",item.ThreeOffset),
new SqlParameter("@FourOffset",item.FourOffset),
new SqlParameter("@IsActive",item.IsActive),
new SqlParameter("@Width",item.Width),
new SqlParameter("@Height",item.Height),
new SqlParameter("@TextWidth",item.TextWidth),
new SqlParameter("@TextHeight",item.TextHeight),
new SqlParameter("@CUser",""),
new SqlParameter("@CDate",""),
new SqlParameter("@CTime",""),
new SqlParameter("@UUser",""),
new SqlParameter("@UDate",""),
new SqlParameter("@UTime",""),
};
context.Database.ExecuteSqlCommand(sb.ToString(), sp1);
}
}
}
catch (Exception ex)
{
log.writeErrorPath("UpdateStyle:" + ex.Message + ex.StackTrace);
obj[0] = "N";
obj[1] = ex.Message;
}
return obj;
}
} }

View File

@@ -48,6 +48,9 @@ public class TabletStyleDetail
public string FourOffset { get; set; } public string FourOffset { get; set; }
public string IsActive { get; set; } public string IsActive { get; set; }
public string Width { get; set; } public string Width { get; set; }
public string Height { get; set; }
public string TextWidth { get; set; }
public string TextHeight { get; set; }
public string BreakLen { get; set; } public string BreakLen { get; set; }
public string CUser { get; set; } public string CUser { get; set; }
public string CDate { get; set; } public string CDate { get; set; }

View File

@@ -8,6 +8,7 @@
@import "css/tablet-design.css"; @import "css/tablet-design.css";
@import "css/floating.css"; @import "css/floating.css";
</style>--%> </style>--%>
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
@@ -23,26 +24,7 @@
</ul> </ul>
<input type="text" id="styleName" class="form-control" aria-label="版型名稱"> <input type="text" id="styleName" class="form-control" aria-label="版型名稱">
</div> </div>
<%--<div class="row">
<div class="col-6">
<select class="form-select" id="styleID" aria-label="版型名稱">
<option selected>選擇版型</option>
</select>
</div>
<div class="col-6">
<div class="form-floating mb-3">
<input type="text" id="styleName" class="form-control form-control-sm mb-2"/>
<label for="styleName" style="color:black">版型名稱</label>
</div>
</div>
</div>--%>
<%--<div class="form-floating mb-3">
<select class="form-select form-select-sm mb-2 " onchange="Designer.changeStyle()" id="styleName">
<option value="">請選擇</option>
</select>
<label for="styleName" style="color:black">版型名稱</label>
</div>--%>
<div class="form-floating mb-3"> <div class="form-floating mb-3">
<select class="form-select form-select-sm mb-2 " onchange="Designer.changePaper()" id="paperSize"> <select class="form-select form-select-sm mb-2 " onchange="Designer.changePaper()" id="paperSize">
<option value="">請選擇</option> <option value="">請選擇</option>
@@ -166,12 +148,26 @@
<label class="small" for="width">寬度</label> <label class="small" for="width">寬度</label>
</div> </div>
</div> </div>
<%-- <div class="col-6"> <div class="col-6">
<div class="form-floating mb-3"> <div class="form-floating mb-3">
<input type="number" id="yPosition" class="form-control form-control-sm mb-2"> <input type="number" id="height" class="form-control form-control-sm mb-2">
<label class="small" for="yPosition">Y</label> <label class="small" for="height">高度</label>
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<div class="form-floating mb-3">
<input type="number" id="textWidth" class="form-control form-control-sm mb-2">
<label class="small" for="textWidth">文字寬度</label>
</div>
</div>
<div class="col-6">
<div class="form-floating mb-3">
<input type="number" id="textHeight" class="form-control form-control-sm mb-2">
<label class="small" for="textHeight">文字高度</label>
</div>
</div> </div>
</div>--%>
</div> </div>
</div> </div>
</div> </div>
@@ -221,15 +217,12 @@
}, },
changeOrientation() { changeOrientation() {
this.orientation = (this.orientation === "portrait" ? "land" : "portrait"); this.orientation = (this.orientation === "portrait" ? "land" : "portrait");
console.log(this.orientation);
$("#paperOrientation").empty(); $("#paperOrientation").empty();
let ori = this.orientation == "portrait" ? "直向" : "橫向"; let ori = this.orientation == "portrait" ? "直向" : "橫向";
console.log(this.orientation, ori)
$("#paperOrientation").html("<span>" + ori + "</span>"); $("#paperOrientation").html("<span>" + ori + "</span>");
let paperSize = $("#paperSize").val() let paperSize = $("#paperSize").val()
let size = this.allSize.find(x => x.name == paperSize) let size = this.allSize.find(x => x.name == paperSize)
console.log(paperSize, size);
this.paper.width = this.orientation == "portrait" ? size.width : size.height; this.paper.width = this.orientation == "portrait" ? size.width : size.height;
this.paper.height = this.orientation == "portrait" ? size.height : size.width; this.paper.height = this.orientation == "portrait" ? size.height : size.width;
$(".tablet-paper").css({ $(".tablet-paper").css({
@@ -239,17 +232,17 @@
}); });
}, },
async getElements() { async getElements() {
let self=this
await axios await axios
.post(HTTP_HOST + 'api/tablet/GetTabletElement', {}) .post(HTTP_HOST + 'api/tablet/GetTabletElement', {})
.then(response => { .then(response => {
console.log(response);
//if (response.result=="Y") { //if (response.result=="Y") {
if (response.status == "200") { if (response.status == "200") {
let data = response.data; let data = response.data;
if (data.result == "Y") { if (data.result == "Y") {
data.data.forEach(x => { data.data.forEach(x => {
this.tabletElements.push(x); self.tabletElements.push(x);
} });
} }
} }
}); });
@@ -258,7 +251,6 @@
await axios await axios
.post(HTTP_HOST + 'api/tablet/GetStyleData', {}) .post(HTTP_HOST + 'api/tablet/GetStyleData', {})
.then(response => { .then(response => {
console.log(response);
//if (response.result=="Y") { //if (response.result=="Y") {
if (response.status == "200") { if (response.status == "200") {
let data = response.data; let data = response.data;
@@ -279,7 +271,6 @@
$(".style-menu li").on("click", function (e) { $(".style-menu li").on("click", function (e) {
$(".style-menu li").removeClass('active'); $(".style-menu li").removeClass('active');
$(this).addClass('active'); $(this).addClass('active');
console.log(e.target.textContent, $(this));
$("#styleName").val(e.target.textContent); $("#styleName").val(e.target.textContent);
self.changeStyle(e.target.getAttribute("data-value")); self.changeStyle(e.target.getAttribute("data-value"));
let style = self.allStyle.find(x => x.styleID == e.target.getAttribute("data-value")); let style = self.allStyle.find(x => x.styleID == e.target.getAttribute("data-value"));
@@ -293,6 +284,16 @@
let self = this; let self = this;
this.elements.length = 0; this.elements.length = 0;
let obj = this.elements let obj = this.elements
let s=this.allStyle.find(x=>x.styleID==id)
$("#paperSize").val(s.paperSize);
$("#backendInp").val(s.backendImg);
$("#printSize").val(s.printSize);
$("#printMode").val(s.printMode);
$("#perPage").val(s.printPageCount);
console.log("s:",s);
let img = this.bg.find(x => x.name == s.backendImg);
console.log(img);
$(".tablet-paper").css({ 'background-image': 'url(' + img.path + ')', 'background-size': '100% 100%' })
await axios await axios
.post(HTTP_HOST + 'api/tablet/GetStyleDetailData', {}) .post(HTTP_HOST + 'api/tablet/GetStyleDetailData', {})
.then(response => { .then(response => {
@@ -300,10 +301,13 @@
let data = response.data; let data = response.data;
if (data.result == "Y") { if (data.result == "Y") {
let details = data.data; let details = data.data;
$(".tablet-paper").empty() $(".tablet-paper").empty()
details.forEach(el => { details.forEach(el => {
let te=self.tabletElements.find(x=>x.elementID==el.elementID);
let te = self.tabletElements.find(x => {
return x.elementID == el.elementID
});
console.log("details:",el,te);
let config = { let config = {
id: el.elementID, id: el.elementID,
type: te.elementType, type: te.elementType,
@@ -313,10 +317,14 @@
fontSize: 24, fontSize: 24,
fontFamily: "Kaiti", isVertical : true, fontFamily: "Kaiti", isVertical : true,
letterSpacing : 5, lineHeight : 1.5, letterSpacing : 5, lineHeight : 1.5,
visibility: el.isActive visibility: te.isActive
}, },
width: el.width, width: el.width,
breakLen:el.breakLen height: el.height,
textWidth: el.textWidth,
textHeight:el.textHeight,
breakLen: el.breakLen,
backendInp: el.backendImg
}; };
obj.push(config) obj.push(config)
@@ -353,6 +361,10 @@
$('#3offset').on('input', (e) => this.updateActive('3offset', $(e.target).val())) $('#3offset').on('input', (e) => this.updateActive('3offset', $(e.target).val()))
$('#4offset').on('input', (e) => this.updateActive('4offset', $(e.target).val())) $('#4offset').on('input', (e) => this.updateActive('4offset', $(e.target).val()))
$('#breakLen').on('input', (e) => this.updateActive('breakLen', $(e.target).val())) $('#breakLen').on('input', (e) => this.updateActive('breakLen', $(e.target).val()))
$('#width').on('input', (e) => this.updateActive('width', $(e.target).val()))
$('#height').on('input', (e) => this.updateActive('height', $(e.target).val()))
$('#textWidth').on('input', (e) => this.updateActive('textWidth', $(e.target).val()))
$('#textHeight').on('input', (e) => this.updateActive('textHeight', $(e.target).val()))
$(document).on('mousedown', '.tablet-element', (e) => { $(document).on('mousedown', '.tablet-element', (e) => {
e.stopPropagation(); e.stopPropagation();
this.select($(e.currentTarget).attr('id')); this.select($(e.currentTarget).attr('id'));
@@ -409,16 +421,64 @@
else if (el.id === 'address') { else if (el.id === 'address') {
html = el.text.replace(/(\d+)/g, '<span class="tate-chu-yoko">$1</span>'); html = el.text.replace(/(\d+)/g, '<span class="tate-chu-yoko">$1</span>');
} }
else if (el.id === 'title1') {
//html = "<div class='name-list'>";
//console.log(slice);
//slice.forEach(x => {
// html=html+"<span>"+x+"</span>"
//});
//html = html + "</div>";
html = this.renderNameList(slice,el);
console.log(html);
}
else { else {
html = el.text; html = el.text;
} }
return $(`<div class="tablet-element vertical-text ${this.activeId === el.id ? 'selected' : ''}" id="${el.id}"></div>`) return $(`<div class="tablet-element vertical-text ${this.activeId === el.id ? 'selected' : ''}" id="${el.id}"></div>`)
.css({ .css({
position: "absolute", left: this.getPosInMm(el.x) + "mm", top: this.getPosInMm(el.y) + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility
}) })
.html(html); .html(html);
}, },
renderNameList(names,el) {
let $namelist = $(`<div class='nameList'></div>`).css({
"writing-mode": "vertical rl",
display: "flex",
"flex-direction": "row",
"flex-wrap": "wrap",
margin: "auto",
width: `${el.width}px`,
height: `${el.height}px`,
border: "0px solid #ccc",
padding: "1px",
"font-family": "BiauKai",
"letter-spacing": "0.1em",
"column-gap": "1px",
"row-gap": "1px",
"align-items": "center",
});
console.log("nameList:", $namelist)
let self = this;
names.forEach(n => {
$namelist.append(self.renderNameSpan(n,el))
})
return $namelist;
},
renderNameSpan(name,el) {
return $(`<span>${name}</span>`).css({
display: "block",
"min-height": `${el.textHeight}px`,
"max-height": `${el.height}px`,
width: `${el.textWidth}px`,
"text-align": "justify",
"text-align-last": "justify",
"margin-bottom": "40px",
"margin-left": "5px",
"text-justify": "inter-character",
});
},
// 品字佈局邏輯:一上二下 // 品字佈局邏輯:一上二下
renderRoster(names, el) { renderRoster(names, el) {
@@ -453,8 +513,6 @@
const el = self.elements.find(x => x.id === id); const el = self.elements.find(x => x.id === id);
el.x = self.getPosInMm(ui.position.left); el.x = self.getPosInMm(ui.position.left);
el.y = self.getPosInMm(ui.position.top); el.y = self.getPosInMm(ui.position.top);
console.log(id, el)
//console.log(id,ui.position.left, ui.position.top,ui.offset.left,ui.offset.top); //console.log(id,ui.position.left, ui.position.top,ui.offset.left,ui.offset.top);
$(`.tablet-element[id="${id}"]`).css({ left: el.x + "mm", top: el.y + "mm" }); $(`.tablet-element[id="${id}"]`).css({ left: el.x + "mm", top: el.y + "mm" });
} }
@@ -474,13 +532,15 @@
$("#4offset").val(el.fourOffset); $("#4offset").val(el.fourOffset);
$("#breakLen").val(el.breakLen); $("#breakLen").val(el.breakLen);
$("#width").val(el.width); $("#width").val(el.width);
$("#height").val(el.height);
$("#textWidth").val(el.textWidth);
$("#textHeight").val(el.textHeight);
//this.render(); //this.render();
}, },
updateActive(key, val) { updateActive(key, val) {
const el = this.elements.find(x => x.id === this.activeId); const el = this.elements.find(x => x.id === this.activeId);
console.log("updateActive:",this.activeId, el,key,val)
if (key === 'fontSize') el.style.fontSize = parseFloat(val); if (key === 'fontSize') el.style.fontSize = parseFloat(val);
else if (key === 'width') el.width = parseFloat(val); else if (key === 'width') el.width = parseFloat(val);
else if (key === 'breakLen') el.breakLen = parseInt(val); else if (key === 'breakLen') el.breakLen = parseInt(val);
@@ -502,6 +562,18 @@
$(`.tablet-element[id="${this.activeId}"]`).css({ $(`.tablet-element[id="${this.activeId}"]`).css({
position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility
}).html(html); }).html(html);
} else if (this.activeId === "title1") {
let slice = el.text.split('\n').filter(s => s.trim());
//html = "<div class='name-list'>";
//console.log(slice);
//slice.forEach(x => {
// html = html + "<span>" + x + "</span>"
//});
//html = html + "</div>";
html = this.renderNameList(slice, el);
$(`.tablet-element[id="${this.activeId}"]`).css({
position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility
}).html(html);
} else { } else {
$(`.tablet-element[id="${this.activeId}"]`).css({ $(`.tablet-element[id="${this.activeId}"]`).css({
position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility
@@ -510,11 +582,8 @@
//this.render(); //this.render();
}, },
displayItem(id) { displayItem(id) {
console.log(id);
let el = this.elements.find(x => x.id === id); let el = this.elements.find(x => x.id === id);
console.log("before:", el);
el.style.visibility = el.style.visibility === "hidden" ? "" : "hidden"; el.style.visibility = el.style.visibility === "hidden" ? "" : "hidden";
console.log("after:", el, el.x, el.y);
$("#" + id).css({ $("#" + id).css({
position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility position: "absolute", left: el.x + "mm", top: el.y + "mm", fontSize: el.style.fontSize + 'pt', fontFamily: el.style.fontFamily, "z-index": 9999, visibility: el.style.visibility
}) })
@@ -541,7 +610,7 @@
//this.render(); //this.render();
}, },
addElement() { addElement() {
console.log("QQQ"); //console.log("QQQ");
}, },
wrapImageInSvg(imageBase64) { wrapImageInSvg(imageBase64) {
// 建立一個簡單的 SVG 字串,將圖片鋪滿 // 建立一個簡單的 SVG 字串,將圖片鋪滿
@@ -562,10 +631,9 @@
}, },
bindBackend() { bindBackend() {
$("#backendInp").on('change', function (e) { $("#backendInp").on('change', function (e) {
console.log($("#backendInp"))
const input = e.target; const input = e.target;
if (input.files && input.files[0]) { if (input.files && input.files[0]) {
console.log("file:", input.files[0]);
const file = input.files[0]; const file = input.files[0];
// 1. 先讀取檔案轉成 Base64 // 1. 先讀取檔案轉成 Base64
@@ -575,7 +643,6 @@
// 2. 將 Base64 PNG 包裝成 SVG // 2. 將 Base64 PNG 包裝成 SVG
//const svgDataUri = this.wrapImageInSvg(base64Image); //const svgDataUri = this.wrapImageInSvg(base64Image);
console.log(base64Image)
// 3. 設定到底圖 // 3. 設定到底圖
//this.service.setBackground(svgDataUri); //this.service.setBackground(svgDataUri);
$(".tablet-paper").css({ 'background-image': 'url(' + base64Image + ')', 'background-size': '100% 100%' }) $(".tablet-paper").css({ 'background-image': 'url(' + base64Image + ')', 'background-size': '100% 100%' })
@@ -595,7 +662,7 @@
detail.push({ detail.push({
elementID: el.id, startX: el.x, startY: el.y, fontSize: el.style.fontSize, fontFamily: el.style.fontFamily, elementID: el.id, startX: el.x, startY: el.y, fontSize: el.style.fontSize, fontFamily: el.style.fontFamily,
breakLen: el.breakLen, twoOffset: el.twoOffset, threeOffset: el.threeOffset, fourOffset: el.fourOffset, breakLen: el.breakLen, twoOffset: el.twoOffset, threeOffset: el.threeOffset, fourOffset: el.fourOffset,
isActive: el.style.visibility,width:el.width isActive: el.style.visibility,width:el.width,height:el.height,textWidth:el.textWidth,textHeight:el.textHeight
}); });
}); });

View File

@@ -23,6 +23,9 @@ public class TabletElement
public double? threeOffset { get; set; } public double? threeOffset { get; set; }
public double? fourOffset { get; set; } public double? fourOffset { get; set; }
public int? breakLen { get; set; } public int? breakLen { get; set; }
public string backendInp { get; set; }
public double? textWidth { get; set; }
public double? textHeight { get; set; }
} }
@@ -58,12 +61,13 @@ public partial class admin_item_TabletDesigner :MyWeb.config
{ {
elements = new List<TabletElement> { elements = new List<TabletElement> {
new TabletElement { new TabletElement {
id = "address", type = "address", text = "台中市潭子區中山路", x = 160, y = 80, id = "address", type = "address", text = "台中市潭子區中山路", x = 60, y = 80,
style = new ElementStyle { fontSize = 24, fontFamily = "Kaiti", isVertical = true, letterSpacing = 5, lineHeight = 1.5,visibility="" } style = new ElementStyle { fontSize = 24, fontFamily = "Kaiti", isVertical = true, letterSpacing = 5, lineHeight = 1.5,visibility="" }
}, },
new TabletElement { new TabletElement {
id = "title1", type = "ancestor", text = "牌位正名", x = 130, y = 80, id = "title1", type = "ancestor", text = "張一\n李二\n陳三\n吳四\n劉五\n趙六\n林七\n徐八", x = 50, y = 80,
style = new ElementStyle { fontSize = 24, fontFamily = "Kaiti", isVertical = true, letterSpacing = 5, lineHeight = 1.5 ,visibility="" } width=136,height=600,textWidth=20,textHeight=90,
style = new ElementStyle { fontSize = 16, fontFamily = "Kaiti", isVertical = true, letterSpacing = 1, lineHeight = 1 ,visibility="" }
}, },
new TabletElement { new TabletElement {
id = "lefttitle", type = "ancestor", text = "左正名", x = 10, y = 80, id = "lefttitle", type = "ancestor", text = "左正名", x = 10, y = 80,

View File

@@ -42,11 +42,12 @@
<add key="UseSearchKeywords" value="true" /> <add key="UseSearchKeywords" value="true" />
<!--網站的簡稱用來區別session和cookie--> <!--網站的簡稱用來區別session和cookie-->
<add key="SC" value="erp17168" /> <add key="SC" value="erp17168" />
<add key="LogPath" value="D:\\log\\" />
</appSettings> </appSettings>
<connectionStrings> <connectionStrings>
<!--SQL用--> <!--SQL用-->
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.5.21;Initial Catalog=17168erp_t;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.16;Initial Catalog=17168erp_t;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=&quot;Data Source=192.168.5.21;Initial Catalog=17168erp_t;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;&quot;" /> <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=&quot;Data Source=192.168.5.16;Initial Catalog=17168erp_t;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;&quot;" />
<!-- <!--
--> -->
<!--SQL用--> <!--SQL用-->