🎉
This commit is contained in:
commit
790fc1b217
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.zip
|
273
css/allWebPlugin.LeftUI.css
Normal file
273
css/allWebPlugin.LeftUI.css
Normal file
@ -0,0 +1,273 @@
|
||||
html { height: 100%;margin:0px;padding:0px}
|
||||
body {height:99.5%;margin:0px;padding:0px}
|
||||
table{height: 100%;width: 100%;}
|
||||
body,td,th,input,option {font-family: 微软雅黑;}
|
||||
a:link
|
||||
{
|
||||
COLOR: #62196A;
|
||||
CURSOR: hand;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
FONT-SIZE: 11pt;
|
||||
TEXT-DECORATION: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
A:visited
|
||||
{
|
||||
COLOR: #62196A;
|
||||
CURSOR: hand;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
FONT-SIZE: 11pt;
|
||||
TEXT-DECORATION: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
A:hover
|
||||
{
|
||||
COLOR: #ff8000;
|
||||
CURSOR: hand;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
// FONT-SIZE: 11pt;
|
||||
TEXT-DECORATION: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#header{
|
||||
border:none;
|
||||
background-image: url("bg.jpg");
|
||||
font-size: 20px;
|
||||
font-weight: 800;
|
||||
color: #191970;
|
||||
}
|
||||
|
||||
#header td:first-child{
|
||||
padding-left: 35px;
|
||||
border-right: 1px solid #D6D6D6;
|
||||
width:180px;
|
||||
|
||||
}
|
||||
#header span:first-child{
|
||||
font-size: 28px;
|
||||
}
|
||||
.title{
|
||||
background-color: #5b916a;
|
||||
color: #FFFFFF;
|
||||
font-size: 15px;
|
||||
|
||||
}
|
||||
.title span{
|
||||
padding-left: 35px;
|
||||
}
|
||||
|
||||
.title div{
|
||||
float: right;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
.title a:link{
|
||||
COLOR: #FFFFFF;
|
||||
TEXT-DECORATION: none;
|
||||
}
|
||||
|
||||
.title A:hover{
|
||||
COLOR:#FF8000;
|
||||
}
|
||||
|
||||
.title A:visited
|
||||
{
|
||||
COLOR:#FFFFFF;
|
||||
CURSOR: hand;
|
||||
FONT-FAMILY: "宋体";
|
||||
FONT-SIZE: 11pt;
|
||||
TEXT-DECORATION: none;
|
||||
}
|
||||
|
||||
.footer{
|
||||
height: 30px;
|
||||
background-image: url("bg.jpg");
|
||||
FONT-FAMILY:'微软雅黑';
|
||||
font-size:12px;
|
||||
color:#191970;
|
||||
padding-right:20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
#showtable td{
|
||||
border: 1px solid #C3ADC3;
|
||||
}
|
||||
|
||||
#innerTable td{
|
||||
padding-left:20px;
|
||||
color: #876D84;
|
||||
font-size: 15px;
|
||||
border: 0px solid #000000;
|
||||
}
|
||||
|
||||
.mhead{
|
||||
height: 61px;
|
||||
background-image: url('../css/bg.jpg');
|
||||
|
||||
}
|
||||
|
||||
.InputLine
|
||||
{
|
||||
BORDER-BOTTOM: #c0c0c0 1px solid;
|
||||
BORDER-LEFT: #000000 0px solid;
|
||||
BORDER-RIGHT: #000000 0px solid;
|
||||
BORDER-TOP: #000000 0px solid;
|
||||
FONT-SIZE: 11pt;
|
||||
color:#876D84;
|
||||
width:250px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.InputLine2
|
||||
{
|
||||
BORDER-BOTTOM: #FFFFFF 1px solid;
|
||||
BORDER-LEFT: #000000 0px solid;
|
||||
BORDER-RIGHT: #000000 0px solid;
|
||||
BORDER-TOP: #000000 0px solid;
|
||||
background-color:#5E3B59;
|
||||
FONT-SIZE: 11pt;
|
||||
color:#FFFFFF;
|
||||
width:250px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#titleTable{
|
||||
width:98%;
|
||||
}
|
||||
|
||||
#titleTable td{
|
||||
BACKGROUND-COLOR: #9B81A8;
|
||||
BORDER-BOTTOM: #5B1D82 1px solid;
|
||||
BORDER-LEFT: #000000 0px solid;
|
||||
BORDER-RIGHT: #000000 0px solid;
|
||||
BORDER-TOP: #5B1D82 1px solid;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
FONT-SIZE: 11pt;
|
||||
text-align:center;
|
||||
TEXT-DECORATION: none;
|
||||
}
|
||||
|
||||
#showlist{
|
||||
width:98%;
|
||||
overflow-y:auto;
|
||||
height: 0px;
|
||||
overflow-x:hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#showlist2{
|
||||
overflow-y:hidden;
|
||||
height: 0px;
|
||||
overflow-x:hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
#showlist td{
|
||||
BORDER-BOTTOM: #5B1D82 1px dashed;
|
||||
BORDER-LEFT: #000000 0px solid;
|
||||
BORDER-RIGHT: #000000 0px solid;
|
||||
BORDER-TOP: #000000 0px solid;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
FONT-SIZE: 11pt;
|
||||
color:#000000;
|
||||
TEXT-DECORATION: none;
|
||||
height:38px;
|
||||
text-align: center;
|
||||
}
|
||||
#showlist a{
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
}
|
||||
|
||||
.TD0
|
||||
{
|
||||
BACKGROUND-COLOR: #F7F7F7;
|
||||
}
|
||||
.TD1
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
|
||||
}
|
||||
|
||||
#activeBox{
|
||||
border: 1px solid #C3ADC3;
|
||||
}
|
||||
|
||||
#activeTable{
|
||||
height: 99%;
|
||||
color: #654461;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.statue{
|
||||
TEXT-DECORATION:none;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.time{
|
||||
TEXT-DECORATION: none;
|
||||
border-right: 2px dotted #E5E5E5;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.tableFather{
|
||||
background-color: #E6DBEC;
|
||||
height: 30px;
|
||||
border: 1px solid #D1C2D6;
|
||||
}
|
||||
|
||||
#functionTable{
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
font-size:11pt;
|
||||
color:#62196A;
|
||||
cursor:pointer;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.dot-size{
|
||||
border-bottom: 1px solid #D1C2D6;
|
||||
text-align:left;
|
||||
padding-left:40px;
|
||||
background-color: #FFFFFF;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
|
||||
.titleStyle{
|
||||
border-bottom:1px solid #D1C2D6;
|
||||
}
|
||||
|
||||
.hideDiv{
|
||||
width:100%;
|
||||
overflow-y:auto;
|
||||
height: 200px;
|
||||
overflow-x:hidden;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#loaded{
|
||||
|
||||
margin: 16px;
|
||||
border: 1px solid #C3ADC3;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.TableTextStyle
|
||||
{
|
||||
BORDER-BOTTOM: #15A4FA 0px solid;
|
||||
BORDER-LEFT: #000000 0px solid;
|
||||
BORDER-RIGHT: #000000 0px solid;
|
||||
BORDER-TOP: #15A4FA 0px solid;
|
||||
FONT-FAMILY: "微软雅黑";
|
||||
FONT-SIZE: 11pt;
|
||||
TEXT-DECORATION: none;
|
||||
color:#666666;
|
||||
}
|
||||
#mfooter{
|
||||
|
||||
position: absolute;height:30px;left:0;bottom:0;width: 100%;background-color: #726078;
|
||||
}
|
10
css/style.css
Normal file
10
css/style.css
Normal file
@ -0,0 +1,10 @@
|
||||
.violet-some-btn {
|
||||
background-color: #4caf50; /* Green */
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
}
|
7
html/violet-test.html
Normal file
7
html/violet-test.html
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
<button id="violet-pra-btn" class="violet-pra-btn" >cus event</button>
|
||||
<button id="violet-close-btn" class="violet-close-btn" >close</button>
|
||||
|
||||
<canvas id="allWebOfficeAx" style="width:100%;height:90vh">
|
||||
<p class="error">Sorry, It looks as though your browser does not support the canvas tag.</p>
|
||||
</canvas>
|
148
index.js
Normal file
148
index.js
Normal file
@ -0,0 +1,148 @@
|
||||
/**
|
||||
* 自定义控件书写模板
|
||||
*/
|
||||
(function (KDApi, $) {
|
||||
// 构造函数,变量名随意,与最后一句代码的KDApi.register的第二个参数一致即可
|
||||
function HelloWorld(model) {
|
||||
this._setModel(model)
|
||||
}
|
||||
|
||||
|
||||
// 原型中封装生命周期函数,固定格式
|
||||
HelloWorld.prototype = {
|
||||
_setModel: function (model) {
|
||||
this.model = model
|
||||
},
|
||||
init: function (props) {
|
||||
initFunc(this.model, props)
|
||||
},
|
||||
update: function (props) {
|
||||
updateFunc(this.model, props)
|
||||
},
|
||||
destoryed: function () {
|
||||
close()
|
||||
}
|
||||
}
|
||||
var initFunc = function (model, props) {
|
||||
|
||||
console.warn(props)
|
||||
|
||||
console.warn('init')
|
||||
|
||||
// KDApi.loadFile可以通过路径加载js或css文件,并且在html文件头生成script或者link标签,第一个参数是路径,第二个参数是model,第三个参数是加载完成后执行的回调函数
|
||||
KDApi.loadFile('./css/style.css', model, function () {
|
||||
// 通过路径去获取html字符串,第一个参数是路径,第二个参数是model,第三个参数是HTML模板中变量的值
|
||||
KDApi.getTemplateStringByFilePath('./html/violet-test.html', model, {
|
||||
//text: ''
|
||||
}).then(function (result) {
|
||||
model.dom.innerHTML = result
|
||||
})
|
||||
})
|
||||
|
||||
KDApi.loadFile('./js/allWebPlugin.Common.v2.0.0.30.js', model, function () {
|
||||
// 通过路径去获取html字符串,第一个参数是路径,第二个参数是model,第三个参数是HTML模板中变量的值
|
||||
KDApi.getTemplateStringByFilePath('./html/violet-test.html', model, {
|
||||
//text: ''
|
||||
}).then(function (result) {
|
||||
model.dom.innerHTML = result
|
||||
|
||||
|
||||
KDApi.loadFile('./js/allWebPlugin.UI.v2.0.0.30.js', model, function () {
|
||||
// 通过路径去获取html字符串,第一个参数是路径,第二个参数是model,第三个参数是HTML模板中变量的值
|
||||
KDApi.getTemplateStringByFilePath('./html/violet-test.html', model, {
|
||||
//text: ''
|
||||
}).then(function (result) {
|
||||
model.dom.innerHTML = result
|
||||
|
||||
KDApi.loadFile('./js/allWebPlugin.Main.v2.0.0.30.js', model, function () {
|
||||
// 通过路径去获取html字符串,第一个参数是路径,第二个参数是model,第三个参数是HTML模板中变量的值
|
||||
KDApi.getTemplateStringByFilePath('./html/violet-test.html', model, {
|
||||
//text: ''
|
||||
}).then(function (result) {
|
||||
model.dom.innerHTML = result
|
||||
|
||||
initOffice()
|
||||
openFile(model, props)
|
||||
initEvent(model, props)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
var initEvent = function (model, props) {
|
||||
|
||||
const ele = document.getElementById('violet-pra-btn')
|
||||
ele.onclick = function () {
|
||||
model.invoke('click', 0)
|
||||
}
|
||||
|
||||
const closeEle = document.getElementById('violet-close-btn')
|
||||
closeEle.onclick = function () {
|
||||
close()
|
||||
model.invoke('click', 2)
|
||||
}
|
||||
}
|
||||
|
||||
var updateFunc = function (model, props) {
|
||||
textFromProps = props.data.textKey001 + ''
|
||||
const ele = document.getElementById('violet-pra-btn')
|
||||
ele.innerText = textFromProps
|
||||
}
|
||||
|
||||
var initOffice = function (model, props) {
|
||||
var installPackageUrl = "http://127.0.0.1:6651/install/allwebPlugin_x86_v2.0.1.16_20240806.exe";
|
||||
var installPackageVersion = "2.0.0.30";
|
||||
console.warn('initOffice')
|
||||
console.warn(awp_IsInstall(installPackageVersion, installPackageUrl))
|
||||
if (awp_IsInstall(installPackageVersion, installPackageUrl)) {
|
||||
awp_CreatePlugin("allWebOfficeAx", "{6888ECA8-57D0-6E0E-9B9B-F1FF9B2DBD86}");
|
||||
allWebOfficeAx.GetDisplayStyle().ShowOpenProgress = true;
|
||||
}
|
||||
}
|
||||
|
||||
var openFile = function (model, props) {
|
||||
var pluginUtilityObj = awp_getPluginUtility();
|
||||
var httpclientObj = awp_getHttpClient();
|
||||
httpclientObj.Clear();
|
||||
//https://www.gov.cn/gzdt/att/att/site1/20100917/0019b90463ff0dfd641102.pdf
|
||||
//https://local.zsignyun.com:6652/test2.docx
|
||||
console.warn(props)
|
||||
var url = "https://srm-dev.cmoc.cloud:8022/ierp/attachment/download.do?path=/1d969f1a75006800&kd_cs_ticket=KKFDWRkv8aTFjgbz574ddO5Jj0gudMX3&access_token=2117884374501299200_v7LFmgmezCNo6qxtuNS2xYPo7W1fquIeRE7ODdVLkez3YFMfplpgNEdBxjW6MOIwKLXxocwBt7GNH2qlsDPt4STblUEpoavI6A9E09";
|
||||
if (props?.data?.fileurl) {
|
||||
url = props.data.fileurl
|
||||
}
|
||||
if (httpclientObj.Open(0, url, false)) {
|
||||
httpclientObj.Send().then(function (data) {
|
||||
if (httpclientObj.GetStatus() == 200) {
|
||||
var varTempPath = pluginUtilityObj.GetTempPath();
|
||||
var varFile = pluginUtilityObj.GetTempFileName(varTempPath, "zso") + ".docx";
|
||||
httpclientObj.ResponseSaveToFile(varFile);
|
||||
allWebOfficeAx.Open(varFile);
|
||||
allWebOfficeAx.DeleteAfterClose = true;
|
||||
}
|
||||
else {
|
||||
var httpStatus = httpclientObj.GetStatus();
|
||||
if (httpclientObj.GetStatus() == 0) {
|
||||
alert("LoadFile test2.docx Error:" + httpclientObj.GetErrorText());
|
||||
} else {
|
||||
alert("LoadFile test2.docx Status:" + httpStatus + ",请确保安装目录下web/doc目录存在test2.docx");
|
||||
}
|
||||
}
|
||||
httpclientObj.Close();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var close = function () {
|
||||
allWebOfficeAx.Close_Asyn(0).then(function (data) {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// 你只需知道第一个参数是你接下来要新增控件方案时填的方案id,第二个参数是上面声明的构造函数
|
||||
KDApi.register('violet-test', HelloWorld)
|
||||
})(window.KDApi, jQuery) // 这里的jQuery不是必须要传进去的,可移除,要用到的时候才传,PC端系统默认会有jQuery对象,版本是1.12.4
|
1
js/allWebPlugin.Common.v2.0.0.30.js
Normal file
1
js/allWebPlugin.Common.v2.0.0.30.js
Normal file
File diff suppressed because one or more lines are too long
2
js/allWebPlugin.Main.v2.0.0.30.js
Normal file
2
js/allWebPlugin.Main.v2.0.0.30.js
Normal file
File diff suppressed because one or more lines are too long
1
js/allWebPlugin.UI.v2.0.0.30.js
Normal file
1
js/allWebPlugin.UI.v2.0.0.30.js
Normal file
File diff suppressed because one or more lines are too long
51
js/nav/allWebPlugin.LeftUI.js
Normal file
51
js/nav/allWebPlugin.LeftUI.js
Normal file
@ -0,0 +1,51 @@
|
||||
$(
|
||||
function(){
|
||||
/**公共方法**/
|
||||
var nClick = 1;//鼠标点击次数
|
||||
var ToolBarId;
|
||||
var MenuId;
|
||||
|
||||
//下拉
|
||||
var isNotLoad = true;
|
||||
$(".tableAll").click(function(){
|
||||
if(isNotLoad){
|
||||
isNotLoad = false;
|
||||
var noneY = $(this).next().css("display");
|
||||
$(".tableAll").next().css("display","none");
|
||||
$(".tableAll").find('td:eq(0)').css({'background-color':'#E6DBEC'});
|
||||
$(".tableAll").find('span:eq(0)').html('+');
|
||||
|
||||
if( noneY== 'none'){
|
||||
var s = $(this).find('td:eq(0)').html();
|
||||
$(this).find('td:eq(0)').html(s.replace("+", "-")) ;
|
||||
$(this).find('td:eq(0)').css({'background-color':'#FFFFFF'});
|
||||
$(this).next().slideToggle(function(){isNotLoad = true;});
|
||||
}else{
|
||||
isNotLoad = true;
|
||||
}
|
||||
}
|
||||
if(g_allWebPlugin.ActivateContainer)
|
||||
{
|
||||
g_allWebPlugin.ActivateContainer.UI.onUpdatePosition(1);
|
||||
}
|
||||
});
|
||||
//下拉
|
||||
var hide = false;
|
||||
$("#disPlayNone").click(function(){
|
||||
|
||||
if(hide){
|
||||
$('#showTD').width('204px');
|
||||
$(this).siblings().css("display", "")
|
||||
|
||||
hide = false;
|
||||
}else{
|
||||
$('#showTD').width('25px');
|
||||
$(this).siblings().css("display", "none")
|
||||
hide = true;
|
||||
}
|
||||
if(g_allWebPlugin.ActivateContainer)
|
||||
{
|
||||
g_allWebPlugin.ActivateContainer.UI.onUpdatePosition(1);
|
||||
}
|
||||
});
|
||||
})
|
Loading…
Reference in New Issue
Block a user