mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-02-02 09:58:41 +03:00
update
This commit is contained in:
149
resources/web/guide/24/24.css
Normal file
149
resources/web/guide/24/24.css
Normal file
@@ -0,0 +1,149 @@
|
||||
#Content
|
||||
{
|
||||
overflow-y:auto;
|
||||
}
|
||||
|
||||
.BlockBanner
|
||||
{
|
||||
padding: 0px;
|
||||
border-bottom:#4479FB 1px solid; /* y96 */
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.BannerBtns
|
||||
{
|
||||
float: right;
|
||||
display: flex;
|
||||
width: 140px;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
height: 40px;
|
||||
text-align: center;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/*.Banner-Btn
|
||||
{
|
||||
background-color: #C0C0C0;
|
||||
color: #000;
|
||||
padding: 0px 6px;
|
||||
min-width: 50px;
|
||||
border-radius: 4px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.Banner-Btn-green
|
||||
{
|
||||
background-color: #4479FB;
|
||||
color: #fff;
|
||||
padding: 0px 6px;
|
||||
min-width: 50px;
|
||||
border-radius: 8px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
cursor: pointer;
|
||||
}*/
|
||||
|
||||
.BlockBanner a
|
||||
{
|
||||
display: inline-block;
|
||||
background-color:#4479FB; /* y96 */
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
padding: 0px 24px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.PrinterArea
|
||||
{
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.PrinterBlock
|
||||
{
|
||||
width: 160px;
|
||||
text-align: center;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.PrinterBlock img
|
||||
{
|
||||
width:160px;
|
||||
height: 160px;
|
||||
}
|
||||
|
||||
.PName
|
||||
{
|
||||
font-weight: 700;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.pNozzel
|
||||
{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content:flex-start;
|
||||
color: #5A5A5A;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.pNozzel input
|
||||
{
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
/*-----Notice-----*/
|
||||
#NoticeMask
|
||||
{
|
||||
background-color: #000;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
opacity: 0.05;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#NoticeBody
|
||||
{
|
||||
display: none;
|
||||
width: 400px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius: 4px;
|
||||
background-color: inherit;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 200px;
|
||||
margin-left: -200px;
|
||||
}
|
||||
|
||||
#NoticeBar
|
||||
{
|
||||
background-color:#4479FB; /* y96 */
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#NoticeContent
|
||||
{
|
||||
padding: 4mm 10mm;
|
||||
}
|
||||
|
||||
|
||||
#NoticeBtns
|
||||
{
|
||||
margin-top: 4mm;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
}
|
||||
267
resources/web/guide/24/24.js
Normal file
267
resources/web/guide/24/24.js
Normal file
@@ -0,0 +1,267 @@
|
||||
function OnInit()
|
||||
{
|
||||
//let strInput=JSON.stringify(cData);
|
||||
//HandleStudio(strInput);
|
||||
|
||||
TranslatePage();
|
||||
|
||||
RequestProfile();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function RequestProfile()
|
||||
{
|
||||
var tSend={};
|
||||
tSend['sequence_id']=Math.round(new Date() / 1000);
|
||||
tSend['command']="request_userguide_profile";
|
||||
|
||||
SendWXMessage( JSON.stringify(tSend) );
|
||||
}
|
||||
|
||||
function HandleStudio( pVal )
|
||||
{
|
||||
// alert(strInput);
|
||||
// alert(JSON.stringify(strInput));
|
||||
//
|
||||
// let pVal=IsJson(strInput);
|
||||
// if(pVal==null)
|
||||
// {
|
||||
// alert("Msg Format Error is not Json");
|
||||
// return;
|
||||
// }
|
||||
|
||||
let strCmd=pVal['command'];
|
||||
//alert(strCmd);
|
||||
|
||||
if(strCmd=='response_userguide_profile')
|
||||
{
|
||||
HandleModelList(pVal['response']);
|
||||
}
|
||||
}
|
||||
|
||||
function ShowPrinterThumb(pItem, strImg)
|
||||
{
|
||||
$(pItem).attr('src',strImg);
|
||||
$(pItem).attr('onerror',null);
|
||||
}
|
||||
|
||||
function HandleModelList( pVal )
|
||||
{
|
||||
if( !pVal.hasOwnProperty("model") )
|
||||
return;
|
||||
|
||||
let pModel = pVal['model'];
|
||||
//w22
|
||||
const vendorOrder = ["X 4 Series", "Q Series", "X 3 Series"];
|
||||
pModel.sort((a, b) => {
|
||||
const indexA = vendorOrder.indexOf(a.vendor);
|
||||
const indexB = vendorOrder.indexOf(b.vendor);
|
||||
return indexA - indexB;
|
||||
});
|
||||
|
||||
let nTotal=pModel.length;
|
||||
let ModelHtml={};
|
||||
for(let n=0;n<nTotal;n++)
|
||||
{
|
||||
let OneModel=pModel[n];
|
||||
|
||||
let strVendor=OneModel['vendor'];
|
||||
|
||||
//Add Vendor Html Node
|
||||
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
|
||||
{
|
||||
let sVV=strVendor;
|
||||
if( sVV=="QDT" )
|
||||
sVV="QIDI Lab";
|
||||
|
||||
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
|
||||
'<div class="BlockBanner">'+
|
||||
' <div class="BannerBtns">'+
|
||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||
' </div>'+
|
||||
' <a>'+sVV+'</a>'+
|
||||
'</div>'+
|
||||
'<div class="PrinterArea"> '+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
if(sVV=='QIDI Lab')
|
||||
$('#Content').html( HtmlNewVendor + $('#Content').html() );
|
||||
else
|
||||
$('#Content').append( HtmlNewVendor );
|
||||
}
|
||||
|
||||
let ModelName=OneModel['model'];
|
||||
|
||||
//Collect Html Node Nozzel Html
|
||||
if( !ModelHtml.hasOwnProperty(strVendor))
|
||||
ModelHtml[strVendor]='';
|
||||
|
||||
let NozzleArray=OneModel['nozzle_diameter'].split(';');
|
||||
let HtmlNozzel='';
|
||||
for(let m=0;m<NozzleArray.length;m++)
|
||||
{
|
||||
let nNozzel=NozzleArray[m];
|
||||
HtmlNozzel+='<div class="pNozzel TextS2"><input type="checkbox" model="'+OneModel['model']+'" nozzel="'+nNozzel+'" vendor="'+strVendor+'" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
|
||||
}
|
||||
|
||||
let CoverImage="../../image/printer/"+OneModel['model']+"_cover.png";
|
||||
let CoverImage2="../../../profiles/"+strVendor+"/"+OneModel['model']+"_cover.png";
|
||||
let CoverImage3=pVal['configpath']+"/system/"+strVendor+"/"+OneModel['model']+"_cover.png";
|
||||
|
||||
//alert( 'FinalCover: '+FinalCover );
|
||||
ModelHtml[strVendor]+='<div class="PrinterBlock">'+
|
||||
' <div class="PImg"><img src="'+CoverImage3+'" onerror="ShowPrinterThumb(this,\''+CoverImage2+'\')" /></div>'+
|
||||
' <div class="PName">'+OneModel['model']+'</div>'+ HtmlNozzel +'</div>';
|
||||
}
|
||||
|
||||
//Update Nozzel Html Append
|
||||
for( let key in ModelHtml )
|
||||
{
|
||||
$(".OneVendorBlock[vendor='"+key+"'] .PrinterArea").append( ModelHtml[key] );
|
||||
}
|
||||
|
||||
|
||||
//Update Checkbox
|
||||
$('input').prop("checked", false);
|
||||
for(let m=0;m<nTotal;m++)
|
||||
{
|
||||
let OneModel=pModel[m];
|
||||
|
||||
let SelectList=OneModel['nozzle_selected'];
|
||||
if(SelectList!='')
|
||||
{
|
||||
SelectList=OneModel['nozzle_selected'].split(';');
|
||||
let nLen=SelectList.length;
|
||||
|
||||
for(let a=0;a<nLen;a++)
|
||||
{
|
||||
let nNozzel=SelectList[a];
|
||||
$("input[vendor='"+OneModel['vendor']+"'][model='"+OneModel['model']+"'][nozzel='"+nNozzel+"']").prop("checked", true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$("input[vendor='"+OneModel['vendor']+"'][model='"+OneModel['model']+"']").prop("checked", false);
|
||||
}
|
||||
}
|
||||
|
||||
let AlreadySelect=$("input:checked");
|
||||
let nSelect=AlreadySelect.length;
|
||||
if(nSelect==0)
|
||||
{
|
||||
$("input[nozzel='0.4'][vendor='QDT']").prop("checked", true);
|
||||
}
|
||||
|
||||
TranslatePage();
|
||||
}
|
||||
|
||||
|
||||
function SelectPrinterAll( sVendor )
|
||||
{
|
||||
$("input[vendor='"+sVendor+"']").prop("checked", true);
|
||||
}
|
||||
|
||||
|
||||
function SelectPrinterNone( sVendor )
|
||||
{
|
||||
$("input[vendor='"+sVendor+"']").prop("checked", false);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
function OnExit()
|
||||
{
|
||||
let ModelAll={};
|
||||
|
||||
let ModelSelect=$("input:checked");
|
||||
let nTotal=ModelSelect.length;
|
||||
|
||||
if( nTotal==0 )
|
||||
{
|
||||
ShowNotice(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
for(let n=0;n<nTotal;n++)
|
||||
{
|
||||
let OneItem=ModelSelect[n];
|
||||
|
||||
let strModel=OneItem.getAttribute("model");
|
||||
let strVendor=OneItem.getAttribute("vendor");
|
||||
let strNozzel=OneItem.getAttribute("nozzel");
|
||||
|
||||
//alert(strModel+strVendor+strNozzel);
|
||||
|
||||
if(!ModelAll.hasOwnProperty(strModel))
|
||||
{
|
||||
//alert("ADD: "+strModel);
|
||||
|
||||
ModelAll[strModel]={};
|
||||
|
||||
ModelAll[strModel]["model"]=strModel;
|
||||
ModelAll[strModel]["nozzle_diameter"]='';
|
||||
ModelAll[strModel]["vendor"]=strVendor;
|
||||
}
|
||||
|
||||
ModelAll[strModel]["nozzle_diameter"]+=ModelAll[strModel]["nozzle_diameter"]==''?strNozzel:';'+strNozzel;
|
||||
}
|
||||
|
||||
var tSend={};
|
||||
tSend['sequence_id']=Math.round(new Date() / 1000);
|
||||
tSend['command']="save_userguide_models";
|
||||
tSend['data']=ModelAll;
|
||||
|
||||
SendWXMessage( JSON.stringify(tSend) );
|
||||
|
||||
return nTotal;
|
||||
}
|
||||
|
||||
|
||||
function ShowNotice( nShow )
|
||||
{
|
||||
if(nShow==0)
|
||||
{
|
||||
$("#NoticeMask").hide();
|
||||
$("#NoticeBody").hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#NoticeMask").show();
|
||||
$("#NoticeBody").show();
|
||||
}
|
||||
}
|
||||
|
||||
function CancelSelect()
|
||||
{
|
||||
var tSend={};
|
||||
tSend['sequence_id']=Math.round(new Date() / 1000);
|
||||
tSend['command']="user_guide_cancel";
|
||||
tSend['data']={};
|
||||
|
||||
SendWXMessage( JSON.stringify(tSend) );
|
||||
}
|
||||
|
||||
|
||||
function ConfirmSelect()
|
||||
{
|
||||
let nChoose=OnExit();
|
||||
|
||||
if(nChoose>0)
|
||||
{
|
||||
var tSend={};
|
||||
tSend['sequence_id']=Math.round(new Date() / 1000);
|
||||
tSend['command']="user_guide_finish";
|
||||
tSend['data']={};
|
||||
tSend['data']['action']="finish";
|
||||
|
||||
SendWXMessage( JSON.stringify(tSend) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
116
resources/web/guide/24/index.html
Normal file
116
resources/web/guide/24/index.html
Normal file
@@ -0,0 +1,116 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="24.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery-3.6.0.min.js"></script>
|
||||
<script type="text/javascript" src="../js/json2.js"></script>
|
||||
<script type="text/javascript" src="../../data/text.js"></script>
|
||||
<script type="text/javascript" src="../js/globalapi.js"></script>
|
||||
<script type="text/javascript" src="../js/common.js"></script>
|
||||
<script type="text/javascript" src="24.js"></script>
|
||||
</head>
|
||||
<body onLoad="OnInit()">
|
||||
<div id="Title">
|
||||
<div class="trans" tid="t10">Printer Selection</div>
|
||||
</div>
|
||||
<div id="Content" class="ZScrol"s>
|
||||
|
||||
<!--<div class="OneVendorBlock" Vendor="QDT">
|
||||
<div class="BlockBanner">
|
||||
<div class="BannerBtns">
|
||||
<div class="SmallBtn_Green" onClick="SelectPrinterAll('QDT')">所有</div>
|
||||
<div class="SmallBtn" onClick="SelectPrinterNone('QDT')">无</div>
|
||||
</div>
|
||||
|
||||
<a>QDT-3DP</a>
|
||||
</div>
|
||||
|
||||
<div class="PrinterArea">
|
||||
|
||||
<div class="PrinterBlock">
|
||||
<div class="PImg"><img src="p2.jpg" /></div>
|
||||
<div class="PName">QDT-3DP-V4NORMAL</div>
|
||||
<div class="pNozzel"><input id="ZZ" type="checkbox" model="QDT-3DP-V4NORMAL" nozzel="0.4" vendor="QDT" />0.4mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V4NORMAL" nozzel="0.1" vendor="QDT" />0.1mm nozzle</div>
|
||||
</div>
|
||||
<div class="PrinterBlock">
|
||||
<div class="PImg"><img src="p1.jpg" /></div>
|
||||
<div class="PName">QDT-3DP-V4NORMAL</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.4" vendor="QDT" />0.4mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.2" vendor="QDT" />0.2mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.1" vendor="QDT" />0.1mm nozzle</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="OneVendorBlock" Vendor="QIDI">
|
||||
<div class="BlockBanner">
|
||||
<div class="BannerBtns">
|
||||
<div class="Banner-Btn-green" onClick="SelectPrinterAll('QIDI')">所有</div>
|
||||
<div class="Banner-Btn" onClick="SelectPrinterNone('QIDI')">无</div>
|
||||
</div>
|
||||
|
||||
<a>QDT-3DP</a>
|
||||
</div>
|
||||
|
||||
<div class="PrinterArea">
|
||||
|
||||
<div class="PrinterBlock">
|
||||
<div class="PImg"><img src="p2.jpg" /></div>
|
||||
<div class="PName">QDT-3DP-V4NORMAL</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V4NORMAL" nozzel="0.4" vendor="QIDI" />0.4mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V4NORMAL" nozzel="0.1" vendor="QIDI" />0.1mm nozzle</div>
|
||||
</div>
|
||||
<div class="PrinterBlock">
|
||||
<div class="PImg"><img src="p1.jpg" /></div>
|
||||
<div class="PName">QDT-3DP-V4NORMAL</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.4" vendor="QIDI" />0.4mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.2" vendor="QIDI" />0.2mm nozzle</div>
|
||||
<div class="pNozzel"><input type="checkbox" model="QDT-3DP-V5NORMAL" nozzel="0.1" vendor="QIDI" />0.1mm nozzle</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="NormalBtn trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
|
||||
<div class="GrayBtn trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
|
||||
</div>
|
||||
|
||||
<div id="NoticeMask"></div>
|
||||
<div id="NoticeBody">
|
||||
<div id="NoticeBar" class="trans" tid="t18">error</div>
|
||||
<div id="NoticeContent">
|
||||
<div id="NoticeText" class="trans" tid="t37">At least one printer must be selected.</div>
|
||||
<div id="NoticeBtns">
|
||||
<div class="SmallBtn trans" tid="t36" onClick="ShowNotice(0)">ok</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
<script>
|
||||
document.onkeydown = function (event) {
|
||||
var e = event || window.event || arguments.callee.caller.arguments[0];
|
||||
|
||||
if (e.keyCode == 27)
|
||||
ClosePage();
|
||||
|
||||
if (window.event) {
|
||||
try { e.keyCode = 0; } catch (e) { }
|
||||
e.returnValue = false;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user