更新plc

This commit is contained in:
2024-07-16 11:04:46 +08:00
parent 572f72c213
commit 6f88d254e5
336 changed files with 212 additions and 29 deletions

2
dist/2095/static/css/app.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

BIN
dist/2095/static/img/12.07c5158.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

BIN
dist/2095/static/img/13.5ec8b82.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
dist/2095/static/img/favicon.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="15px" height="14px" viewBox="0 0 15 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 60 (88103) - https://sketch.com -->
<title>编组 33</title>
<desc>Created with Sketch.</desc>
<g id="组件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="icon/界面内/维护开始" transform="translate(-1.000000, -1.000000)">
<g id="编组-33">
<rect id="矩形" fill="#D8D8D8" opacity="0" x="0" y="0" width="16" height="16"></rect>
<g id="编组-31" transform="translate(0.500000, 1.000000)" fill="#0B58FF" fill-rule="nonzero">
<g id="编组-29备份">
<path d="M9.9533767,0.402734375 L9.9940017,0.416796875 C10.7830642,0.699609375 11.5080642,1.11835938 12.1486892,1.66210938 L12.1815017,1.69023438 C12.3393142,1.82460938 12.3986892,2.04179688 12.3299392,2.23867188 L11.8783767,3.50898438 C12.2627517,3.97773438 12.5658767,4.50117188 12.7783767,5.06679688 L14.1065017,5.31210938 C14.3111892,5.34960938 14.4705642,5.51054688 14.5080642,5.71523438 L14.5158767,5.75742188 C14.6627517,6.57148438 14.6627517,7.42773438 14.5158767,8.24179688 L14.5080642,8.28398438 C14.4705642,8.48867188 14.3111892,8.64960938 14.1065017,8.68710938 L12.7721267,8.93398438 C12.5596267,9.49492188 12.2580642,10.0152344 11.8752517,10.4808594 L12.3299392,11.7605469 C12.3986892,11.9558594 12.3408767,12.1746094 12.1815017,12.3089844 L12.1486892,12.3371094 C11.5065017,12.8808594 10.7815017,13.2996094 9.9940017,13.5824219 L9.9533767,13.5964844 C9.7580642,13.6667969 9.5393142,13.6089844 9.4033767,13.4511719 L8.5190017,12.4152344 C8.2252517,12.4636719 7.9252517,12.4871094 7.6268142,12.4871094 C7.3268142,12.4871094 7.0268142,12.4636719 6.7346267,12.4152344 L5.8502517,13.4511719 C5.7158767,13.6089844 5.4971267,13.6667969 5.3002517,13.5964844 L5.2596267,13.5824219 C4.4721267,13.2996094 3.7455642,12.8808594 3.1049392,12.3371094 L3.0721267,12.3089844 C2.9143142,12.1746094 2.8549392,11.9574219 2.9236892,11.7605469 L3.3783767,10.4808594 C2.9955642,10.0152344 2.6924392,9.49492188 2.4815017,8.93398438 L1.1471267,8.68710938 C0.9424392,8.64960938 0.7830642,8.48867188 0.7455642,8.28398438 L0.7377517,8.24179688 C0.6643142,7.83398438 0.6268142,7.41679688 0.6268142,6.99960938 C0.6268142,6.58242188 0.6643142,6.16367188 0.7377517,5.75742188 L0.7455642,5.71523438 C0.7830642,5.51054688 0.9424392,5.34960938 1.1471267,5.31210938 L2.4752517,5.06679688 C2.6877517,4.50117188 2.9893142,3.97773438 3.3752517,3.50898438 L2.9236892,2.23867188 C2.8549392,2.04335938 2.9127517,1.82460938 3.0721267,1.69023438 L3.1049392,1.66210938 C3.7471267,1.11835938 4.4721267,0.699609375 5.2596267,0.416796875 L5.3002517,0.402734375 C5.4924392,0.332421875 5.7111892,0.390234375 5.8471267,0.548046875 L6.7221267,1.57148438 C7.0190017,1.52304688 7.3221267,1.49804688 7.6252517,1.49804688 C7.9283767,1.49804688 8.2315017,1.52304688 8.5283767,1.57148438 L9.4033767,0.548046875 C9.5377517,0.390234375 9.7565017,0.332421875 9.9533767,0.402734375 Z M9.9658767,1.61523438 L8.9674392,2.78242188 L8.3440017,2.68085938 C8.1080642,2.64179688 7.8658767,2.62148438 7.6236892,2.62148438 C7.3815017,2.62148438 7.1393142,2.64179688 6.9033767,2.68085938 L6.2768142,2.78398438 L5.2783767,1.61679688 C4.8705642,1.79335938 4.4861892,2.01679688 4.1283767,2.28242188 L4.6424392,3.73242188 L4.2393142,4.22304688 C3.9330642,4.59648438 3.6924392,5.01210938 3.5236892,5.46210938 L3.3002517,6.05742188 L1.7846267,6.33710938 C1.7346267,6.77617188 1.7346267,7.22460938 1.7846267,7.66523438 L3.3033767,7.94492188 L3.5299392,8.53554688 C3.6986892,8.98085938 3.9393142,9.39492188 4.2440017,9.76523438 L4.6486892,10.2558594 L4.1299392,11.7152344 C4.4877517,11.9808594 4.8736892,12.2027344 5.2799392,12.3808594 L6.2877517,11.2011719 L6.9127517,11.3027344 C7.1455642,11.3402344 7.3861892,11.3605469 7.6236892,11.3605469 C7.8627517,11.3605469 8.1018142,11.3417969 8.3346267,11.3027344 L8.9596267,11.2011719 L9.9674392,12.3808594 C10.3752517,12.2042969 10.7596267,11.9808594 11.1174392,11.7152344 L10.5986892,10.2558594 L11.0033767,9.76523438 C11.3080642,9.39492188 11.5486892,8.98085938 11.7174392,8.53554688 L11.9408767,7.94335938 L13.4596267,7.66367188 C13.5096267,7.22460938 13.5096267,6.77617188 13.4596267,6.33554688 L11.9440017,6.05585938 L11.7205642,5.46054688 C11.5518142,5.01210938 11.3111892,4.59492188 11.0049392,4.22148438 L10.6018142,3.73085938 L11.1158767,2.28085938 C10.7580642,2.01523438 10.3721267,1.79335938 9.9658767,1.61523438 Z M6.07014098,4.62654496 C6.21251373,4.38993428 6.5197405,4.31353935 6.75635117,4.4559121 L6.75635117,4.4559121 L10.2300442,6.5460935 C10.2987727,6.58744863 10.356543,6.64473184 10.3984787,6.71310766 C10.54285,6.94850422 10.4690594,7.2563669 10.2336629,7.4007382 L10.2336629,7.4007382 L6.75996986,9.53119236 C6.68131109,9.57943465 6.59083666,9.60496919 6.4985625,9.60496919 C6.22242013,9.60496919 5.9985625,9.38111156 5.9985625,9.10496919 L5.9985625,9.10496919 L5.9985625,4.88433363 C5.9985625,4.79349746 6.02330791,4.7043773 6.07014098,4.62654496 Z" id="形状结合"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
dist/2095/static/img/quanyou.webp vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

1
dist/2095/static/js/0.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/1.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/10.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([10],{DBgJ:function(e,t,s){(e.exports=s("FZ+f")(!1)).push([e.i,"\n.bg[data-v-625af12c] {\n /* background-image: url(~@/assets/img/13.jpg);\n background-size: cover;\n position: relative; */\n}\n.msgDiv[data-v-625af12c]{\n color: black;\n height: calc(100vh - 109px);\n overflow-y: auto;\n}\n.msg-div[data-v-625af12c] {\n}\n",""])},Sz5E:function(e,t,s){var o=s("DBgJ");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);s("rjj0")("ae4e3c1c",o,!0)},uZtf:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=s("mvHQ"),n=s.n(o),i={data:function(){return{websock:"",wbData:[],url:""}},created:function(){this.url=window.SITE_CONFIG.wbURL,JSON.parse(sessionStorage.getItem("msgDiv"))?this.wbData=JSON.parse(sessionStorage.getItem("msgDiv")):this.wbData=[],this.initWebSocket()},methods:{initWebSocket:function(){var e="ws://"+this.url+"/log";this.websock=new WebSocket(e),this.websock.onmessage=this.websocketonmessage,this.websock.onopen=this.websocketonopen,this.websock.onerror=this.websocketonerror,this.websock.onclose=this.websocketclose},websocketonopen:function(){this.websocketsend()},websocketonerror:function(){this.initWebSocket()},websocketonmessage:function(e){this.wbData.length>=1e3?(this.wbData.shift(),this.wbData.push(e.data)):this.wbData.push(e.data),sessionStorage.setItem("msgDiv",n()(this.wbData))},websocketsend:function(e){this.websock.send(e)},websocketclose:function(e){console.log("断开连接",e)}}},a={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"bg mod-config msgDiv"},e._l(e.wbData,function(t,o){return s("div",{key:o,staticClass:"msg-div"},[e._v("\n "+e._s(t)+"\n ")])}))},staticRenderFns:[]};var c=s("VU/8")(i,a,!1,function(e){s("Sz5E")},"data-v-625af12c",null);t.default=c.exports}});

1
dist/2095/static/js/11.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([11],{"5CI+":function(n,t,e){(n.exports=e("FZ+f")(!1)).push([n.i,"\n.site-wrapper.site-page--not-found {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n}\n.site-wrapper.site-page--not-found .site-content__wrapper {\n padding: 0;\n margin: 0;\n background-color: #fff;\n}\n.site-wrapper.site-page--not-found .site-content {\n position: fixed;\n top: 15%;\n left: 50%;\n z-index: 2;\n padding: 30px;\n text-align: center;\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0);\n}\n.site-wrapper.site-page--not-found .not-found-title {\n margin: 20px 0 15px;\n font-size: 10em;\n font-weight: 400;\n color: #37474f;\n}\n.site-wrapper.site-page--not-found .not-found-desc {\n margin: 0 0 30px;\n font-size: 26px;\n text-transform: uppercase;\n color: #76838f;\n}\n.site-wrapper.site-page--not-found .not-found-desc > em {\n font-style: normal;\n color: #ee8145;\n}\n.site-wrapper.site-page--not-found .not-found-btn-gohome {\n margin-left: 30px;\n}\n",""])},"7FDS":function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={render:function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"site-wrapper site-page--not-found"},[e("div",{staticClass:"site-content__wrapper"},[e("div",{staticClass:"site-content"},[e("h2",{staticClass:"not-found-title"},[n._v("400")]),n._v(" "),n._m(0),n._v(" "),e("el-button",{on:{click:function(t){n.$router.go(-1)}}},[n._v("返回上一页")]),n._v(" "),e("el-button",{staticClass:"not-found-btn-gohome",attrs:{type:"primary"},on:{click:function(t){n.$router.push({name:"home"})}}},[n._v("进入首页")])],1)])])},staticRenderFns:[function(){var n=this.$createElement,t=this._self._c||n;return t("p",{staticClass:"not-found-desc"},[this._v("抱歉!您访问的页面"),t("em",[this._v("失联")]),this._v("啦 ...")])}]};var s=e("VU/8")({},o,!1,function(n){e("8SnF")},null,null);t.default=s.exports},"8SnF":function(n,t,e){var o=e("5CI+");"string"==typeof o&&(o=[[n.i,o,""]]),o.locals&&(n.exports=o.locals);e("rjj0")("ebd3c960",o,!0)}});

1
dist/2095/static/js/12.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([12],{Ev5x:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"bg mod-config"},[a("el-card",{staticClass:"box-card"},[a("el-form",{ref:"dataForm",attrs:{model:e.dataForm,rules:e.dataRule,"label-width":"80px"},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"设备名称",prop:"plcName"}},[a("el-input",{attrs:{placeholder:"设备名称",clearable:""},model:{value:e.dataForm.plcName,callback:function(t){e.$set(e.dataForm,"plcName",t)},expression:"dataForm.plcName"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"设备型号",prop:"plcType"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择设备型号"},model:{value:e.dataForm.plcType,callback:function(t){e.$set(e.dataForm,"plcType",t)},expression:"dataForm.plcType"}},e._l(e.options,function(e){return a("el-option",{key:e,attrs:{label:e,value:e}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"IP",prop:"address"}},[a("el-input",{attrs:{placeholder:"IP",clearable:""},model:{value:e.dataForm.address,callback:function(t){e.$set(e.dataForm,"address",t)},expression:"dataForm.address"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"端口号",prop:"port"}},[a("el-input",{attrs:{placeholder:"端口号",clearable:""},model:{value:e.dataForm.port,callback:function(t){e.$set(e.dataForm,"port",t)},expression:"dataForm.port"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"读取频率",prop:"frequence"}},[a("el-select",{attrs:{placeholder:"请选择读取频率"},model:{value:e.dataForm.frequence,callback:function(t){e.$set(e.dataForm,"frequence",t)},expression:"dataForm.frequence"}},e._l(e.options1,function(e){return a("el-option",{key:e,attrs:{label:e,value:e}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"自动连接",prop:"autoConnect"}},[a("el-switch",{model:{value:e.dataForm.autoConnect,callback:function(t){e.$set(e.dataForm,"autoConnect",t)},expression:"dataForm.autoConnect"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"自动读取",prop:"autoRead"}},[a("el-switch",{model:{value:e.dataForm.autoRead,callback:function(t){e.$set(e.dataForm,"autoRead",t)},expression:"dataForm.autoRead"}})],1)],1),e._v(" "),a("span",{staticStyle:{float:"right"}},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.dataFormSubmit()}}},[e._v("确定")])],1)],1)],1)},staticRenderFns:[]};var o=a("VU/8")({data:function(){return{dataForm:{plcName:"",port:"",address:"",frequence:"",autoConnect:!0,autoRead:!0,plcType:""},options:[],options1:[],dataRule:{plcName:[{required:!0,message:"设备名称不能为空",trigger:"blur"}],port:[{required:!0,message:"端口号不能为空",trigger:"blur"}],address:[{required:!0,message:"IP不能为空",trigger:"blur"}],frequence:[{required:!0,message:"读取频率不能为空",trigger:"blur"}],plcType:[{required:!0,message:"设备型号不能为空",trigger:"change"}]}}},created:function(){this.init()},methods:{init:function(){var e=this;this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-frequence"),method:"post"}).then(function(t){var a=t.data;a&&0===a.code&&(e.options1=a.data)}),this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-siemensType"),method:"post"}).then(function(t){var a=t.data;a&&0===a.code&&(e.options=a.data)}),this.$nextTick(function(){e.$refs.dataForm.resetFields()})},dataFormSubmit:function(){var e=this;this.$refs.dataForm.validate(function(t){t&&e.$http({url:e.$http.adornUrl("api/server/plcCreate/create-siemensPlc"),method:"post",data:e.$http.adornData(e.dataForm)}).then(function(t){var a=t.data;a&&0===a.code?e.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){e.init()}}):e.$message.error(a.msg)})})}}},r,!1,function(e){a("Ji6/")},"data-v-332ceaaa",null);t.default=o.exports},"Ji6/":function(e,t,a){var r=a("myk5");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);a("rjj0")("c8f568fe",r,!0)},myk5:function(e,t,a){(e.exports=a("FZ+f")(!1)).push([e.i,"\n.box-card[data-v-332ceaaa] {\n width: 480px;\n height: 480px;\n position: absolute;\n /* 水平垂直居中 */\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.bg[data-v-332ceaaa] {\n background-image: url("+a("1JAX")+");\n background-size: cover;\n position: relative;\n}\n",""])}});

1
dist/2095/static/js/13.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([13],{HP5Y:function(e,t,a){(e.exports=a("FZ+f")(!1)).push([e.i,"\n.box-card[data-v-8da17d1c] {\n width: 480px;\n height: 450px;\n position: absolute;\n /* 水平垂直居中 */\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.bg[data-v-8da17d1c] {\n background-image: url("+a("1JAX")+");\n background-size: cover;\n position: relative;\n}\n",""])},KNwn:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"bg mod-config"},[a("el-card",{staticClass:"box-card"},[a("el-form",{ref:"dataForm",attrs:{model:e.dataForm,rules:e.dataRule,"label-width":"80px"},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"设备名称",prop:"plcName"}},[a("el-input",{attrs:{placeholder:"设备名称",clearable:""},model:{value:e.dataForm.plcName,callback:function(t){e.$set(e.dataForm,"plcName",t)},expression:"dataForm.plcName"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"IP",prop:"address"}},[a("el-input",{attrs:{placeholder:"IP",clearable:""},model:{value:e.dataForm.address,callback:function(t){e.$set(e.dataForm,"address",t)},expression:"dataForm.address"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"端口号",prop:"port"}},[a("el-input",{attrs:{placeholder:"端口号",clearable:""},model:{value:e.dataForm.port,callback:function(t){e.$set(e.dataForm,"port",t)},expression:"dataForm.port"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"读取频率",prop:"frequence"}},[a("el-select",{attrs:{placeholder:"请选择读取频率"},model:{value:e.dataForm.frequence,callback:function(t){e.$set(e.dataForm,"frequence",t)},expression:"dataForm.frequence"}},e._l(e.options1,function(e){return a("el-option",{key:e,attrs:{label:e,value:e}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"自动连接",prop:"autoConnect"}},[a("el-switch",{model:{value:e.dataForm.autoConnect,callback:function(t){e.$set(e.dataForm,"autoConnect",t)},expression:"dataForm.autoConnect"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"自动读取",prop:"autoRead"}},[a("el-switch",{model:{value:e.dataForm.autoRead,callback:function(t){e.$set(e.dataForm,"autoRead",t)},expression:"dataForm.autoRead"}})],1)],1),e._v(" "),a("span",{staticStyle:{float:"right"}},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.dataFormSubmit()}}},[e._v("确定")])],1)],1)],1)},staticRenderFns:[]};var o=a("VU/8")({data:function(){return{dataForm:{plcName:"",port:"",address:"",frequence:"",autoConnect:!0,autoRead:!0},options1:[],dataRule:{plcName:[{required:!0,message:"设备名称不能为空",trigger:"blur"}],port:[{required:!0,message:"端口号不能为空",trigger:"blur"}],address:[{required:!0,message:"IP不能为空",trigger:"blur"}],frequence:[{required:!0,message:"读取频率不能为空",trigger:"blur"}]}}},created:function(){this.init()},methods:{init:function(){var e=this;this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-frequence"),method:"post"}).then(function(t){var a=t.data;a&&0===a.code&&(e.options1=a.data)}),this.$nextTick(function(){e.$refs.dataForm.resetFields()})},dataFormSubmit:function(){var e=this;this.$refs.dataForm.validate(function(t){t&&e.$http({url:e.$http.adornUrl("api/server/plcCreate/create-OmronPlc"),method:"post",data:e.$http.adornData(e.dataForm)}).then(function(t){var a=t.data;a&&0===a.code?e.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){e.init()}}):e.$message.error(a.msg)})})}}},r,!1,function(e){a("qNqZ")},"data-v-8da17d1c",null);t.default=o.exports},qNqZ:function(e,t,a){var r=a("HP5Y");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);a("rjj0")("d18c1fa8",r,!0)}});

1
dist/2095/static/js/14.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([14],{GQPu:function(t,a,e){(t.exports=e("FZ+f")(!1)).push([t.i,"\n.box-card[data-v-5e4aff8f] {\n width: 480px;\n height: 540px;\n position: absolute;\n /* 水平垂直居中 */\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.bg[data-v-5e4aff8f] {\n background-image: url("+e("1JAX")+");\n background-size: cover;\n position: relative;\n}\n",""])},ibYb:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"bg mod-config"},[e("el-card",{staticClass:"box-card"},[e("el-form",{ref:"dataForm",attrs:{model:t.dataForm,rules:t.dataRule,"label-width":"80px"},nativeOn:{keyup:function(a){if(!("button"in a)&&t._k(a.keyCode,"enter",13,a.key,"Enter"))return null;t.dataFormSubmit()}}},[e("el-form-item",{attrs:{label:"设备名称",prop:"plcName"}},[e("el-input",{attrs:{placeholder:"设备名称",clearable:""},model:{value:t.dataForm.plcName,callback:function(a){t.$set(t.dataForm,"plcName",a)},expression:"dataForm.plcName"}})],1),t._v(" "),e("el-form-item",{attrs:{label:"IP",prop:"address"}},[e("el-input",{attrs:{placeholder:"IP",clearable:""},model:{value:t.dataForm.address,callback:function(a){t.$set(t.dataForm,"address",a)},expression:"dataForm.address"}})],1),t._v(" "),e("el-form-item",{attrs:{label:"端口号",prop:"port"}},[e("el-input",{attrs:{placeholder:"端口号",clearable:""},model:{value:t.dataForm.port,callback:function(a){t.$set(t.dataForm,"port",a)},expression:"dataForm.port"}})],1),t._v(" "),e("el-form-item",{attrs:{label:"站号",prop:"station"}},[e("el-input",{attrs:{placeholder:"站号",clearable:""},model:{value:t.dataForm.station,callback:function(a){t.$set(t.dataForm,"station",a)},expression:"dataForm.station"}})],1),t._v(" "),e("el-form-item",{attrs:{label:"读取格式",prop:"dataFormat"}},[e("el-select",{attrs:{placeholder:"请选择读取格式"},model:{value:t.dataForm.dataFormat,callback:function(a){t.$set(t.dataForm,"dataFormat",a)},expression:"dataForm.dataFormat"}},t._l(t.options2,function(t){return e("el-option",{key:t,attrs:{label:t,value:t}})}))],1),t._v(" "),e("el-form-item",{attrs:{label:"读取频率",prop:"frequence"}},[e("el-select",{attrs:{placeholder:"请选择读取频率"},model:{value:t.dataForm.frequence,callback:function(a){t.$set(t.dataForm,"frequence",a)},expression:"dataForm.frequence"}},t._l(t.options1,function(t){return e("el-option",{key:t,attrs:{label:t,value:t}})}))],1),t._v(" "),e("el-form-item",{attrs:{label:"自动连接",prop:"autoConnect"}},[e("el-switch",{model:{value:t.dataForm.autoConnect,callback:function(a){t.$set(t.dataForm,"autoConnect",a)},expression:"dataForm.autoConnect"}})],1),t._v(" "),e("el-form-item",{attrs:{label:"自动读取",prop:"autoRead"}},[e("el-switch",{model:{value:t.dataForm.autoRead,callback:function(a){t.$set(t.dataForm,"autoRead",a)},expression:"dataForm.autoRead"}})],1)],1),t._v(" "),e("span",{staticStyle:{float:"right"}},[e("el-button",{attrs:{type:"primary"},on:{click:function(a){t.dataFormSubmit()}}},[t._v("确定")])],1)],1)],1)},staticRenderFns:[]};var o=e("VU/8")({data:function(){return{dataForm:{plcName:"",port:"",address:"",frequence:"",dataFormat:"",autoConnect:!0,autoRead:!0,station:""},options1:[],options2:[],dataRule:{plcName:[{required:!0,message:"设备名称不能为空",trigger:"blur"}],port:[{required:!0,message:"端口号不能为空",trigger:"blur"}],address:[{required:!0,message:"IP不能为空",trigger:"blur"}],frequence:[{required:!0,message:"读取频率不能为空",trigger:"blur"}],station:[{required:!0,message:"站号不能为空",trigger:"blur"}]}}},created:function(){this.init()},methods:{init:function(){var t=this;this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-frequence"),method:"post"}).then(function(a){var e=a.data;e&&0===e.code&&(t.options1=e.data)}),this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-DataFormat"),method:"post"}).then(function(a){var e=a.data;e&&0===e.code&&(t.options2=e.data)}),this.$nextTick(function(){t.$refs.dataForm.resetFields()})},dataFormSubmit:function(){var t=this;this.$refs.dataForm.validate(function(a){a&&t.$http({url:t.$http.adornUrl("api/server/plcCreate/create-Modbus"),method:"post",data:t.$http.adornData(t.dataForm)}).then(function(a){var e=a.data;e&&0===e.code?t.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){t.init()}}):t.$message.error(e.msg)})})}}},r,!1,function(t){e("uOkm")},"data-v-5e4aff8f",null);a.default=o.exports},uOkm:function(t,a,e){var r=e("GQPu");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);e("rjj0")("7b687532",r,!0)}});

1
dist/2095/static/js/15.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([15],{G5Uz:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"bg mod-config"},[a("el-card",{staticClass:"box-card"},[a("el-form",{ref:"dataForm",attrs:{model:e.dataForm,rules:e.dataRule,"label-width":"80px"},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"设备名称",prop:"plcName"}},[a("el-input",{attrs:{placeholder:"设备名称",clearable:""},model:{value:e.dataForm.plcName,callback:function(t){e.$set(e.dataForm,"plcName",t)},expression:"dataForm.plcName"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"IP",prop:"address"}},[a("el-input",{attrs:{placeholder:"IP",clearable:""},model:{value:e.dataForm.address,callback:function(t){e.$set(e.dataForm,"address",t)},expression:"dataForm.address"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"端口号",prop:"port"}},[a("el-input",{attrs:{placeholder:"端口号",clearable:""},model:{value:e.dataForm.port,callback:function(t){e.$set(e.dataForm,"port",t)},expression:"dataForm.port"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"读取频率",prop:"frequence"}},[a("el-select",{attrs:{placeholder:"请选择读取频率"},model:{value:e.dataForm.frequence,callback:function(t){e.$set(e.dataForm,"frequence",t)},expression:"dataForm.frequence"}},e._l(e.options1,function(e){return a("el-option",{key:e,attrs:{label:e,value:e}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"自动连接",prop:"autoConnect"}},[a("el-switch",{model:{value:e.dataForm.autoConnect,callback:function(t){e.$set(e.dataForm,"autoConnect",t)},expression:"dataForm.autoConnect"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"自动读取",prop:"autoRead"}},[a("el-switch",{model:{value:e.dataForm.autoRead,callback:function(t){e.$set(e.dataForm,"autoRead",t)},expression:"dataForm.autoRead"}})],1)],1),e._v(" "),a("span",{staticStyle:{float:"right"}},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.dataFormSubmit()}}},[e._v("确定")])],1)],1)],1)},staticRenderFns:[]};var o=a("VU/8")({data:function(){return{dataForm:{plcName:"",port:"",address:"",frequence:"",autoConnect:!0,autoRead:!0},options1:[],dataRule:{plcName:[{required:!0,message:"设备名称不能为空",trigger:"blur"}],port:[{required:!0,message:"端口号不能为空",trigger:"blur"}],address:[{required:!0,message:"IP不能为空",trigger:"blur"}],frequence:[{required:!0,message:"读取频率不能为空",trigger:"blur"}]}}},created:function(){this.init()},methods:{init:function(){var e=this;this.$http({url:this.$http.adornUrl("api/server/plcCreate/list-frequence"),method:"post"}).then(function(t){var a=t.data;a&&0===a.code&&(e.options1=a.data)}),this.$nextTick(function(){e.$refs.dataForm.resetFields()})},dataFormSubmit:function(){var e=this;this.$refs.dataForm.validate(function(t){t&&e.$http({url:e.$http.adornUrl("api/server/plcCreate/create-MelsecPlc"),method:"post",data:e.$http.adornData(e.dataForm)}).then(function(t){var a=t.data;a&&0===a.code?e.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){e.init()}}):e.$message.error(a.msg)})})}}},r,!1,function(e){a("R++o")},"data-v-39c2fdce",null);t.default=o.exports},"R++o":function(e,t,a){var r=a("tong");"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);a("rjj0")("4c844f5c",r,!0)},tong:function(e,t,a){(e.exports=a("FZ+f")(!1)).push([e.i,"\n.box-card[data-v-39c2fdce] {\n width: 480px;\n height: 450px;\n position: absolute;\n /* 水平垂直居中 */\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.bg[data-v-39c2fdce] {\n background-image: url("+a("1JAX")+");\n background-size: cover;\n position: relative;\n}\n",""])}});

1
dist/2095/static/js/16.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/17.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/18.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/19.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([19],{"+oRl":function(t,a,e){t.exports=e.p+"static/img/touxiang.2ca0afc.jpeg"},TdIe:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s=e("cdA+"),n=e("0xDb"),i={data:function(){return{updatePassowrdVisible:!1}},components:{UpdatePassword:s.default},computed:{navbarLayoutType:{get:function(){return this.$store.state.common.navbarLayoutType}},sidebarFold:{get:function(){return this.$store.state.common.sidebarFold},set:function(t){this.$store.commit("common/updateSidebarFold",t)}},mainTabs:{get:function(){return this.$store.state.common.mainTabs},set:function(t){this.$store.commit("common/updateMainTabs",t)}},userName:{get:function(){return this.$store.state.user.name}}},methods:{updatePasswordHandle:function(){var t=this;this.updatePassowrdVisible=!0,this.$nextTick(function(){t.$refs.updatePassowrd.init()})},logoutHandle:function(){var t=this;this.$confirm("确定进行[退出]操作?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(n.a)(),t.$router.push({name:"login"})}).catch(function(){})}}},o={render:function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("nav",{staticClass:"site-navbar",class:"site-navbar--"+t.navbarLayoutType},[s("div",{staticClass:"site-navbar__header"},[s("h1",{staticClass:"site-navbar__brand",on:{click:function(a){t.$router.push({name:"home"})}}},[s("p",{staticClass:"site-navbar__brand-lg"},[t._v("智能网关")]),t._v(" "),s("a",{staticClass:"site-navbar__brand-mini",attrs:{href:"javascript:;"}},[t._v("智能网关")])])]),t._v(" "),s("div",{staticClass:"site-navbar__body clearfix"},[s("el-menu",{staticClass:"site-navbar__menu",attrs:{mode:"horizontal"}},[s("el-menu-item",{staticClass:"site-navbar__switch",attrs:{index:"0"},on:{click:function(a){t.sidebarFold=!t.sidebarFold}}},[s("icon-svg",{staticClass:"site-navbar-icon",attrs:{name:"侧边收纳"}})],1)],1),t._v(" "),s("el-menu",{staticClass:"site-navbar__menu site-navbar__menu--right",attrs:{mode:"horizontal"}},[s("el-menu-item",{staticClass:"site-navbar__avatar",attrs:{index:"3"}},[s("el-dropdown",{attrs:{"show-timeout":0,placement:"bottom"}},[s("span",{staticClass:"el-dropdown-link"},[s("img",{attrs:{src:e("+oRl"),alt:t.userName}}),t._v(t._s(t.userName)+"\n ")]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",{nativeOn:{click:function(a){t.logoutHandle()}}},[t._v("退出")])],1)],1)],1)],1)],1),t._v(" "),t.updatePassowrdVisible?s("update-password",{ref:"updatePassowrd"}):t._e()],1)},staticRenderFns:[]},r=e("VU/8")(i,o,!1,null,null,null);a.default=r.exports}});

1
dist/2095/static/js/2.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/20.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/21.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([21],{"2OCm":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("0xDb"),o={data:function(){return{visible:!1,menuList:[],menuListTreeProps:{label:"name",children:"children"},dataForm:{id:0,roleName:"",remark:""},dataRule:{roleName:[{required:!0,message:"角色名称不能为空",trigger:"blur"}]},tempKey:-666666}},methods:{init:function(e){var t=this;this.dataForm.id=e||0,this.$http({url:this.$http.adornUrl("/sys/menu/list"),method:"get",params:this.$http.adornParams()}).then(function(e){var a=e.data;t.menuList=Object(r.c)(a,"menuId")}).then(function(){t.visible=!0,t.$nextTick(function(){t.$refs.dataForm.resetFields(),t.$refs.menuListTree.setCheckedKeys([])})}).then(function(){t.dataForm.id&&t.$http({url:t.$http.adornUrl("/sys/role/info/"+t.dataForm.id),method:"get",params:t.$http.adornParams()}).then(function(e){var a=e.data;if(a&&0===a.code){t.dataForm.roleName=a.role.roleName,t.dataForm.remark=a.role.remark;var r=a.role.menuIdList.indexOf(t.tempKey);-1!==r&&a.role.menuIdList.splice(r,a.role.menuIdList.length-r),t.$refs.menuListTree.setCheckedKeys(a.role.menuIdList)}})})},dataFormSubmit:function(){var e=this;this.$refs.dataForm.validate(function(t){t&&e.$http({url:e.$http.adornUrl("/sys/role/"+(e.dataForm.id?"update":"save")),method:"post",data:e.$http.adornData({roleId:e.dataForm.id||void 0,roleName:e.dataForm.roleName,remark:e.dataForm.remark,menuIdList:[].concat(e.$refs.menuListTree.getCheckedKeys(),[e.tempKey],e.$refs.menuListTree.getHalfCheckedKeys())})}).then(function(t){var a=t.data;a&&0===a.code?e.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){e.visible=!1,e.$emit("refreshDataList")}}):e.$message.error(a.msg)})})}}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-dialog",{attrs:{title:e.dataForm.id?"修改":"新增","close-on-click-modal":!1,visible:e.visible},on:{"update:visible":function(t){e.visible=t}}},[a("el-form",{ref:"dataForm",attrs:{model:e.dataForm,rules:e.dataRule,"label-width":"80px"},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"角色名称",prop:"roleName"}},[a("el-input",{attrs:{placeholder:"角色名称"},model:{value:e.dataForm.roleName,callback:function(t){e.$set(e.dataForm,"roleName",t)},expression:"dataForm.roleName"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"备注",prop:"remark"}},[a("el-input",{attrs:{placeholder:"备注"},model:{value:e.dataForm.remark,callback:function(t){e.$set(e.dataForm,"remark",t)},expression:"dataForm.remark"}})],1),e._v(" "),a("el-form-item",{attrs:{size:"mini",label:"授权"}},[a("el-tree",{ref:"menuListTree",attrs:{data:e.menuList,props:e.menuListTreeProps,"node-key":"menuId","default-expand-all":!0,"show-checkbox":""}})],1)],1),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.visible=!1}}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.dataFormSubmit()}}},[e._v("确定")])],1)],1)},staticRenderFns:[]},i=a("VU/8")(o,s,!1,null,null,null);t.default=i.exports}});

1
dist/2095/static/js/22.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([22],{jbja:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"mod-log"},[a("el-form",{attrs:{inline:!0,model:e.dataForm},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.getDataList()}}},[a("el-form-item",[a("el-input",{attrs:{placeholder:"用户名/用户操作",clearable:""},model:{value:e.dataForm.key,callback:function(t){e.$set(e.dataForm,"key",t)},expression:"dataForm.key"}})],1),e._v(" "),a("el-form-item",[a("el-button",{on:{click:function(t){e.getDataList()}}},[e._v("查询")])],1)],1),e._v(" "),a("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.dataListLoading,expression:"dataListLoading"}],staticStyle:{width:"100%"},attrs:{data:e.dataList,border:""}},[a("el-table-column",{attrs:{prop:"id","header-align":"center",align:"center",width:"80",label:"ID"}}),e._v(" "),a("el-table-column",{attrs:{prop:"username","header-align":"center",align:"center",label:"用户名"}}),e._v(" "),a("el-table-column",{attrs:{prop:"operation","header-align":"center",align:"center",label:"用户操作"}}),e._v(" "),a("el-table-column",{attrs:{prop:"method","header-align":"center",align:"center",width:"150","show-overflow-tooltip":!0,label:"请求方法"}}),e._v(" "),a("el-table-column",{attrs:{prop:"params","header-align":"center",align:"center",width:"150","show-overflow-tooltip":!0,label:"请求参数"}}),e._v(" "),a("el-table-column",{attrs:{prop:"time","header-align":"center",align:"center",label:"执行时长(毫秒)"}}),e._v(" "),a("el-table-column",{attrs:{prop:"ip","header-align":"center",align:"center",width:"150",label:"IP地址"}}),e._v(" "),a("el-table-column",{attrs:{prop:"createDate","header-align":"center",align:"center",width:"180",label:"创建时间"}})],1),e._v(" "),a("el-pagination",{attrs:{"current-page":e.pageIndex,"page-sizes":[10,20,50,100],"page-size":e.pageSize,total:e.totalPage,layout:"total, sizes, prev, pager, next, jumper"},on:{"size-change":e.sizeChangeHandle,"current-change":e.currentChangeHandle}})],1)},staticRenderFns:[]},l=a("VU/8")({data:function(){return{dataForm:{key:""},dataList:[],pageIndex:1,pageSize:10,totalPage:0,dataListLoading:!1,selectionDataList:[]}},created:function(){this.getDataList()},methods:{getDataList:function(){var e=this;this.dataListLoading=!0,this.$http({url:this.$http.adornUrl("/sys/log/list"),method:"get",params:this.$http.adornParams({page:this.pageIndex,limit:this.pageSize,key:this.dataForm.key})}).then(function(t){var a=t.data;a&&0===a.code?(e.dataList=a.page.list,e.totalPage=a.page.totalCount):(e.dataList=[],e.totalPage=0),e.dataListLoading=!1})},sizeChangeHandle:function(e){this.pageSize=e,this.pageIndex=1,this.getDataList()},currentChangeHandle:function(e){this.pageIndex=e,this.getDataList()}}},n,!1,null,null,null);t.default=l.exports}});

1
dist/2095/static/js/23.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([23],{"/caQ":function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={data:function(){return{visible:!1,dataForm:{id:0,paramKey:"",paramValue:"",remark:""},dataRule:{paramKey:[{required:!0,message:"参数名不能为空",trigger:"blur"}],paramValue:[{required:!0,message:"参数值不能为空",trigger:"blur"}]}}},methods:{init:function(a){var e=this;this.dataForm.id=a||0,this.visible=!0,this.$nextTick(function(){e.$refs.dataForm.resetFields(),e.dataForm.id&&e.$http({url:e.$http.adornUrl("/sys/config/info/"+e.dataForm.id),method:"get",params:e.$http.adornParams()}).then(function(a){var t=a.data;t&&0===t.code&&(e.dataForm.paramKey=t.config.paramKey,e.dataForm.paramValue=t.config.paramValue,e.dataForm.remark=t.config.remark)})})},dataFormSubmit:function(){var a=this;this.$refs.dataForm.validate(function(e){e&&a.$http({url:a.$http.adornUrl("/sys/config/"+(a.dataForm.id?"update":"save")),method:"post",data:a.$http.adornData({id:a.dataForm.id||void 0,paramKey:a.dataForm.paramKey,paramValue:a.dataForm.paramValue,remark:a.dataForm.remark})}).then(function(e){var t=e.data;t&&0===t.code?a.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){a.visible=!1,a.$emit("refreshDataList")}}):a.$message.error(t.msg)})})}}},o={render:function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("el-dialog",{attrs:{title:a.dataForm.id?"修改":"新增","close-on-click-modal":!1,visible:a.visible},on:{"update:visible":function(e){a.visible=e}}},[t("el-form",{ref:"dataForm",attrs:{model:a.dataForm,rules:a.dataRule,"label-width":"80px"},nativeOn:{keyup:function(e){if(!("button"in e)&&a._k(e.keyCode,"enter",13,e.key,"Enter"))return null;a.dataFormSubmit()}}},[t("el-form-item",{attrs:{label:"参数名",prop:"paramKey"}},[t("el-input",{attrs:{placeholder:"参数名"},model:{value:a.dataForm.paramKey,callback:function(e){a.$set(a.dataForm,"paramKey",e)},expression:"dataForm.paramKey"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"参数值",prop:"paramValue"}},[t("el-input",{attrs:{placeholder:"参数值"},model:{value:a.dataForm.paramValue,callback:function(e){a.$set(a.dataForm,"paramValue",e)},expression:"dataForm.paramValue"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"备注",prop:"remark"}},[t("el-input",{attrs:{placeholder:"备注"},model:{value:a.dataForm.remark,callback:function(e){a.$set(a.dataForm,"remark",e)},expression:"dataForm.remark"}})],1)],1),a._v(" "),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(e){a.visible=!1}}},[a._v("取消")]),a._v(" "),t("el-button",{attrs:{type:"primary"},on:{click:function(e){a.dataFormSubmit()}}},[a._v("确定")])],1)],1)},staticRenderFns:[]},i=t("VU/8")(r,o,!1,null,null,null);e.default=i.exports}});

1
dist/2095/static/js/24.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([24],{AytH:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s={render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-dialog",{attrs:{title:"上传文件","close-on-click-modal":!1,visible:e.visible},on:{close:e.closeHandle,"update:visible":function(t){e.visible=t}}},[i("el-upload",{staticStyle:{"text-align":"center"},attrs:{drag:"",action:e.url,"before-upload":e.beforeUploadHandle,"on-success":e.successHandle,multiple:"","file-list":e.fileList}},[i("i",{staticClass:"el-icon-upload"}),e._v(" "),i("div",{staticClass:"el-upload__text"},[e._v("将文件拖到此处,或"),i("em",[e._v("点击上传")])]),e._v(" "),i("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[e._v("只支持jpg、png、gif格式的图片")])])],1)},staticRenderFns:[]},l=i("VU/8")({data:function(){return{visible:!1,url:"",num:0,successNum:0,fileList:[]}},methods:{init:function(e){this.url=this.$http.adornUrl("/sys/oss/upload?token="+this.$cookie.get("token")),this.visible=!0},beforeUploadHandle:function(e){if("image/jpg"!==e.type&&"image/jpeg"!==e.type&&"image/png"!==e.type&&"image/gif"!==e.type)return this.$message.error("只支持jpg、png、gif格式的图片"),!1;this.num++},successHandle:function(e,t,i){var s=this;this.fileList=i,this.successNum++,e&&0===e.code?this.num===this.successNum&&this.$confirm("操作成功, 是否继续操作?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).catch(function(){s.visible=!1}):this.$message.error(e.msg)},closeHandle:function(){this.fileList=[],this.$emit("refreshDataList")}}},s,!1,null,null,null);t.default=l.exports}});

1
dist/2095/static/js/25.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/26.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([26],{Nnw2:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-dialog",{attrs:{title:"日志列表","close-on-click-modal":!1,visible:t.visible,width:"75%"},on:{"update:visible":function(e){t.visible=e}}},[a("el-form",{attrs:{inline:!0,model:t.dataForm},nativeOn:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.getDataList()}}},[a("el-form-item",[a("el-input",{attrs:{placeholder:"任务ID",clearable:""},model:{value:t.dataForm.id,callback:function(e){t.$set(t.dataForm,"id",e)},expression:"dataForm.id"}})],1),t._v(" "),a("el-form-item",[a("el-button",{on:{click:function(e){t.getDataList()}}},[t._v("查询")])],1)],1),t._v(" "),a("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.dataListLoading,expression:"dataListLoading"}],staticStyle:{width:"100%"},attrs:{data:t.dataList,border:"",height:"460"}},[a("el-table-column",{attrs:{prop:"logId","header-align":"center",align:"center",width:"80",label:"日志ID"}}),t._v(" "),a("el-table-column",{attrs:{prop:"jobId","header-align":"center",align:"center",width:"80",label:"任务ID"}}),t._v(" "),a("el-table-column",{attrs:{prop:"beanName","header-align":"center",align:"center",label:"bean名称"}}),t._v(" "),a("el-table-column",{attrs:{prop:"params","header-align":"center",align:"center",label:"参数"}}),t._v(" "),a("el-table-column",{attrs:{prop:"status","header-align":"center",align:"center",label:"状态"},scopedSlots:t._u([{key:"default",fn:function(e){return[0===e.row.status?a("el-tag",{attrs:{size:"small"}},[t._v("成功")]):a("el-tag",{staticStyle:{cursor:"pointer"},attrs:{size:"small",type:"danger"},nativeOn:{click:function(a){t.showErrorInfo(e.row.logId)}}},[t._v("失败")])]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"times","header-align":"center",align:"center",label:"耗时(单位: 毫秒)"}}),t._v(" "),a("el-table-column",{attrs:{prop:"createTime","header-align":"center",align:"center",width:"180",label:"执行时间"}})],1),t._v(" "),a("el-pagination",{attrs:{"current-page":t.pageIndex,"page-sizes":[10,20,50,100],"page-size":t.pageSize,total:t.totalPage,layout:"total, sizes, prev, pager, next, jumper"},on:{"size-change":t.sizeChangeHandle,"current-change":t.currentChangeHandle}})],1)},staticRenderFns:[]},i=a("VU/8")({data:function(){return{visible:!1,dataForm:{id:""},dataList:[],pageIndex:1,pageSize:10,totalPage:0,dataListLoading:!1}},methods:{init:function(){this.visible=!0,this.getDataList()},getDataList:function(){var t=this;this.dataListLoading=!0,this.$http({url:this.$http.adornUrl("/sys/scheduleLog/list"),method:"get",params:this.$http.adornParams({page:this.pageIndex,limit:this.pageSize,jobId:this.dataForm.id})}).then(function(e){var a=e.data;a&&0===a.code?(t.dataList=a.page.list,t.totalPage=a.page.totalCount):(t.dataList=[],t.totalPage=0),t.dataListLoading=!1})},sizeChangeHandle:function(t){this.pageSize=t,this.pageIndex=1,this.getDataList()},currentChangeHandle:function(t){this.pageIndex=t,this.getDataList()},showErrorInfo:function(t){var e=this;this.$http({url:this.$http.adornUrl("/sys/scheduleLog/info/"+t),method:"get",params:this.$http.adornParams()}).then(function(t){var a=t.data;a&&0===a.code?e.$alert(a.log.error):e.$message.error(a.msg)})}}},n,!1,null,null,null);e.default=i.exports}});

1
dist/2095/static/js/27.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([27],{lJxs:function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={data:function(){return{visible:!1,dataForm:{id:0,beanName:"",params:"",cronExpression:"",remark:"",status:0},dataRule:{beanName:[{required:!0,message:"用户名不能为空",trigger:"blur"}],cronExpression:[{required:!0,message:"cron表达式不能为空",trigger:"blur"}]}}},methods:{init:function(a){var e=this;this.dataForm.id=a||0,this.visible=!0,this.$nextTick(function(){e.$refs.dataForm.resetFields(),e.dataForm.id&&e.$http({url:e.$http.adornUrl("/sys/schedule/info/"+e.dataForm.id),method:"get",params:e.$http.adornParams()}).then(function(a){var t=a.data;t&&0===t.code&&(e.dataForm.beanName=t.schedule.beanName,e.dataForm.params=t.schedule.params,e.dataForm.cronExpression=t.schedule.cronExpression,e.dataForm.remark=t.schedule.remark,e.dataForm.status=t.schedule.status)})})},dataFormSubmit:function(){var a=this;this.$refs.dataForm.validate(function(e){e&&a.$http({url:a.$http.adornUrl("/sys/schedule/"+(a.dataForm.id?"update":"save")),method:"post",data:a.$http.adornData({jobId:a.dataForm.id||void 0,beanName:a.dataForm.beanName,params:a.dataForm.params,cronExpression:a.dataForm.cronExpression,remark:a.dataForm.remark,status:a.dataForm.id?a.dataForm.status:void 0})}).then(function(e){var t=e.data;t&&0===t.code?a.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){a.visible=!1,a.$emit("refreshDataList")}}):a.$message.error(t.msg)})})}}},o={render:function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("el-dialog",{attrs:{title:a.dataForm.id?"修改":"新增","close-on-click-modal":!1,visible:a.visible},on:{"update:visible":function(e){a.visible=e}}},[t("el-form",{ref:"dataForm",attrs:{model:a.dataForm,rules:a.dataRule,"label-width":"100px"},nativeOn:{keyup:function(e){if(!("button"in e)&&a._k(e.keyCode,"enter",13,e.key,"Enter"))return null;a.dataFormSubmit()}}},[t("el-form-item",{attrs:{label:"bean名称",prop:"beanName"}},[t("el-input",{attrs:{placeholder:"spring bean名称, 如: testTask"},model:{value:a.dataForm.beanName,callback:function(e){a.$set(a.dataForm,"beanName",e)},expression:"dataForm.beanName"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"参数",prop:"params"}},[t("el-input",{attrs:{placeholder:"参数"},model:{value:a.dataForm.params,callback:function(e){a.$set(a.dataForm,"params",e)},expression:"dataForm.params"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"cron表达式",prop:"cronExpression"}},[t("el-input",{attrs:{placeholder:"如: 0 0 12 * * ?"},model:{value:a.dataForm.cronExpression,callback:function(e){a.$set(a.dataForm,"cronExpression",e)},expression:"dataForm.cronExpression"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"备注",prop:"remark"}},[t("el-input",{attrs:{placeholder:"备注"},model:{value:a.dataForm.remark,callback:function(e){a.$set(a.dataForm,"remark",e)},expression:"dataForm.remark"}})],1)],1),a._v(" "),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(e){a.visible=!1}}},[a._v("取消")]),a._v(" "),t("el-button",{attrs:{type:"primary"},on:{click:function(e){a.dataFormSubmit()}}},[a._v("确定")])],1)],1)},staticRenderFns:[]},s=t("VU/8")(r,o,!1,null,null,null);e.default=s.exports}});

1
dist/2095/static/js/28.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([28],{YbVU:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=s("E4LH"),i={data:function(){return{dynamicMenuRoutes:[]}},components:{},computed:{sidebarLayoutSkin:{get:function(){return this.$store.state.common.sidebarLayoutSkin}},sidebarFold:{get:function(){return this.$store.state.common.sidebarFold}},menuActiveName:{get:function(){return this.$store.state.common.menuActiveName},set:function(t){this.$store.commit("common/updateMenuActiveName",t)}},mainTabs:{get:function(){return this.$store.state.common.mainTabs},set:function(t){this.$store.commit("common/updateMainTabs",t)}},mainTabsActiveName:{get:function(){return this.$store.state.common.mainTabsActiveName},set:function(t){this.$store.commit("common/updateMainTabsActiveName",t)}}},watch:{$route:"routeHandle"},created:function(){this.dynamicMenuRoutes=JSON.parse(sessionStorage.getItem("dynamicMenuRoutes")||"[]"),this.routeHandle(this.$route)},methods:{routeHandle:function(t){if(t.meta.isTab){var e=this.mainTabs.filter(function(e){return e.name===t.name})[0];if(!e){if(t.meta.isDynamic&&!(t=this.dynamicMenuRoutes.filter(function(e){return e.name===t.name})[0]))return console.error("未能找到可用标签页!");e={menuId:t.meta.menuId||t.name,name:t.name,title:t.meta.title,type:Object(n.c)(t.meta.iframeUrl)?"iframe":"module",iframeUrl:t.meta.iframeUrl||"",params:t.params,query:t.query},this.mainTabs=this.mainTabs.concat(e)}this.menuActiveName=e.menuId+"",this.mainTabsActiveName=e.name}}}},a={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("aside",{staticClass:"site-sidebar",class:"site-sidebar--"+t.sidebarLayoutSkin},[s("div",{staticClass:"site-sidebar__inner"},[s("el-menu",{staticClass:"site-sidebar__menu",attrs:{"default-active":t.menuActiveName||"home",collapse:t.sidebarFold,collapseTransition:!1}},[s("el-menu-item",{attrs:{index:"home"},on:{click:function(e){t.$router.push({name:"home"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"zonghe"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("设备管理")])],1),t._v(" "),s("el-submenu",{attrs:{index:"agreement"}},[s("template",{slot:"title"},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"config"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("协议类型")])],1),t._v(" "),s("el-menu-item",{attrs:{index:"Melsec"},on:{click:function(e){t.$router.push({name:"Melsec"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"bianji"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("三菱Mitsubishi")])],1),t._v(" "),s("el-menu-item",{attrs:{index:"Modbus"},on:{click:function(e){t.$router.push({name:"Modbus"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"bianji"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("MODBUS")])],1),t._v(" "),s("el-menu-item",{attrs:{index:"Omron"},on:{click:function(e){t.$router.push({name:"Omron"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"bianji"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("欧姆龙HostLink")])],1),t._v(" "),s("el-menu-item",{attrs:{index:"Siemens"},on:{click:function(e){t.$router.push({name:"Siemens"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"bianji"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("西门子S7")])],1)],2),t._v(" "),s("el-menu-item",{attrs:{index:"log"},on:{click:function(e){t.$router.push({name:"log"})}}},[s("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:"log"}}),t._v(" "),s("span",{attrs:{slot:"title"},slot:"title"},[t._v("日志")])],1)],1)],1)])},staticRenderFns:[]},o=s("VU/8")(i,a,!1,null,null,null);e.default=o.exports}});

1
dist/2095/static/js/29.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([29],{oZaA:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var u={name:"sub-menu",props:{menu:{type:Object,required:!0},dynamicMenuRoutes:{type:Array,required:!0}},components:{SubMenu:a},computed:{sidebarLayoutSkin:{get:function(){return this.$store.state.common.sidebarLayoutSkin}}},methods:{gotoRouteHandle:function(e){var n=this.dynamicMenuRoutes.filter(function(n){return n.meta.menuId===e.menuId});n.length>=1&&this.$router.push({name:n[0].name})}}},s={render:function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.menu.list&&e.menu.list.length>=1?t("el-submenu",{attrs:{index:e.menu.menuId+"","popper-class":"site-sidebar--"+e.sidebarLayoutSkin+"-popper"}},[t("template",{slot:"title"},[t("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:e.menu.icon||""}}),e._v(" "),t("span",[e._v(e._s(e.menu.name))])],1),e._v(" "),e._l(e.menu.list,function(n){return t("sub-menu",{key:n.menuId,attrs:{menu:n,dynamicMenuRoutes:e.dynamicMenuRoutes}})})],2):t("el-menu-item",{attrs:{index:e.menu.menuId+""},on:{click:function(n){e.gotoRouteHandle(e.menu)}}},[t("icon-svg",{staticClass:"site-sidebar__menu-icon",attrs:{name:e.menu.icon||""}}),e._v(" "),t("span",[e._v(e._s(e.menu.name))])],1)},staticRenderFns:[]},i=t("VU/8")(u,s,!1,null,null,null),a=n.default=i.exports}});

1
dist/2095/static/js/3.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/30.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([30],{xzNW:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n("E4LH"),i={inject:["refresh"],data:function(){return{}},computed:{documentClientHeight:{get:function(){return this.$store.state.common.documentClientHeight}},menuActiveName:{get:function(){return this.$store.state.common.menuActiveName},set:function(e){this.$store.commit("common/updateMenuActiveName",e)}},mainTabs:{get:function(){return console.log(this.$store.state.common.mainTabs),this.$store.state.common.mainTabs},set:function(e){this.$store.commit("common/updateMainTabs",e)}},mainTabsActiveName:{get:function(){return this.$store.state.common.mainTabsActiveName},set:function(e){this.$store.commit("common/updateMainTabsActiveName",e)}},siteContentViewHeight:function(){var e=this.documentClientHeight-50-30-2;return this.$route.meta.isTab?(e-=40,Object(a.c)(this.$route.meta.iframeUrl)?{height:e+"px"}:{minHeight:e+"px"}):{minHeight:e+"px"}}},methods:{selectedTabHandle:function(e){(e=this.mainTabs.filter(function(t){return t.name===e.name})).length>=1&&this.$router.push({name:e[0].name,query:e[0].query,params:e[0].params})},removeTabHandle:function(e){var t=this;if(this.mainTabs=this.mainTabs.filter(function(t){return t.name!==e}),this.mainTabs.length>=1){if(e===this.mainTabsActiveName){var n=this.mainTabs[this.mainTabs.length-1];this.$router.push({name:n.name,query:n.query,params:n.params},function(){t.mainTabsActiveName=t.$route.name})}}else this.menuActiveName="",this.$router.push({name:"home"})},tabsCloseCurrentHandle:function(){this.removeTabHandle(this.mainTabsActiveName)},tabsCloseOtherHandle:function(){var e=this;this.mainTabs=this.mainTabs.filter(function(t){return t.name===e.mainTabsActiveName})},tabsCloseAllHandle:function(){this.mainTabs=[],this.menuActiveName="",this.$router.push({name:"home"})},tabsRefreshCurrentHandle:function(){var e=this,t=this.$route;this.removeTabHandle(t.name),this.$nextTick(function(){e.$router.push({name:t.name,query:t.query,params:t.params})})}}},s={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("main",{staticClass:"site-content",class:{"site-content--tabs":e.$route.meta.isTab}},[e.$route.meta.isTab?n("el-tabs",{attrs:{closable:!0},on:{"tab-click":e.selectedTabHandle,"tab-remove":e.removeTabHandle},model:{value:e.mainTabsActiveName,callback:function(t){e.mainTabsActiveName=t},expression:"mainTabsActiveName"}},[n("el-dropdown",{staticClass:"site-tabs__tools",attrs:{"show-timeout":0}},[n("i",{staticClass:"el-icon-arrow-down el-icon--right"}),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{nativeOn:{click:function(t){return e.tabsCloseCurrentHandle(t)}}},[e._v("关闭当前标签页")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(t){return e.tabsCloseOtherHandle(t)}}},[e._v("关闭其它标签页")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(t){return e.tabsCloseAllHandle(t)}}},[e._v("关闭全部标签页")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(t){e.refresh()}}},[e._v("刷新当前标签页")])],1)],1),e._v(" "),e._l(e.mainTabs,function(t){return n("el-tab-pane",{key:t.name,attrs:{label:t.title,name:t.name}},[n("el-card",{staticStyle:{background:"transparent",border:"0","box-shadow":"0 0 0 0 rgba(0, 0, 0, 0)"},attrs:{"body-style":e.siteContentViewHeight}},["iframe"===t.type?n("iframe",{attrs:{src:t.iframeUrl,width:"100%",height:"100%",frameborder:"0",scrolling:"yes"}}):n("keep-alive",[t.name===e.mainTabsActiveName?n("router-view"):e._e()],1)],1)],1)})],2):n("el-card",{staticStyle:{background:"transparent",border:"0","box-shadow":"0 0 0 0 rgba(0, 0, 0, 0)"},attrs:{"body-style":e.siteContentViewHeight}},[n("keep-alive",[n("router-view")],1)],1)],1)},staticRenderFns:[]},r=n("VU/8")(i,s,!1,null,null,null);t.default=r.exports}});

1
dist/2095/static/js/31.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([31],{"6i8u":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",[a("h2",[e._v("布局设置")]),e._v(" "),a("el-form-item",{attrs:{label:"导航条类型"}},[a("el-radio-group",{model:{value:e.navbarLayoutType,callback:function(t){e.navbarLayoutType=t},expression:"navbarLayoutType"}},[a("el-radio",{attrs:{label:"default",border:""}},[e._v("default")]),e._v(" "),a("el-radio",{attrs:{label:"inverse",border:""}},[e._v("inverse")])],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"侧边栏皮肤"}},[a("el-radio-group",{model:{value:e.sidebarLayoutSkin,callback:function(t){e.sidebarLayoutSkin=t},expression:"sidebarLayoutSkin"}},[a("el-radio",{attrs:{label:"light",border:""}},[e._v("light")]),e._v(" "),a("el-radio",{attrs:{label:"dark",border:""}},[e._v("dark")])],1)],1)],1)},staticRenderFns:[]},o=a("VU/8")({computed:{navbarLayoutType:{get:function(){return this.$store.state.common.navbarLayoutType},set:function(e){this.$store.commit("common/updateNavbarLayoutType",e)}},sidebarLayoutSkin:{get:function(){return this.$store.state.common.sidebarLayoutSkin},set:function(e){this.$store.commit("common/updateSidebarLayoutSkin",e)}}}},r,!1,null,null,null);t.default=o.exports}});

1
dist/2095/static/js/32.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/33.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/34.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([34],{I81Z:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-dialog",{attrs:{title:"更新MQTT配置","close-on-click-modal":!1,visible:t.visible},on:{"update:visible":function(e){t.visible=e}}},[a("el-form",{ref:"dataForm",attrs:{model:t.dataForm,rules:t.dataRule,"label-width":"80px"},nativeOn:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"port",prop:"port"}},[a("el-input",{attrs:{placeholder:"port",clearable:""},model:{value:t.dataForm.port,callback:function(e){t.$set(t.dataForm,"port",e)},expression:"dataForm.port"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"host",prop:"host"}},[a("el-input",{attrs:{placeholder:"host",clearable:""},model:{value:t.dataForm.host,callback:function(e){t.$set(t.dataForm,"host",e)},expression:"dataForm.host"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"isstart",prop:"isstart"}},[a("el-switch",{model:{value:t.dataForm.isstart,callback:function(e){t.$set(t.dataForm,"isstart",e)},expression:"dataForm.isstart"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"topic",prop:"virtualhost"}},[a("el-input",{attrs:{placeholder:"",clearable:""},model:{value:t.dataForm.virtualhost,callback:function(e){t.$set(t.dataForm,"virtualhost",e)},expression:"dataForm.virtualhost"}})],1)],1),t._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(e){t.visible=!1}}},[t._v("取消")]),t._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(e){t.dataFormSubmit()}}},[t._v("确定")])],1)],1)},staticRenderFns:[]},o=a("VU/8")({data:function(){return{visible:!1,dataForm:{id:"",port:"",host:"",isstart:"",virtualhost:""},dataRule:{port:[{required:!0,message:"端口不能为空",trigger:"blur"}],host:[{required:!0,message:"IP不能为空",trigger:"blur"}],isstart:[{required:!0,message:"isstart不能为空",trigger:"blur"}],virtualhost:[{required:!0,message:"topic不能为空",trigger:"blur"}]}}},methods:{init:function(){var t=this;this.visible=!0,this.$nextTick(function(){t.$refs.dataForm.resetFields(),t.$http({url:t.$http.adornUrl("api/server/main-config/getMQTTConfig"),method:"post"}).then(function(e){var a=e.data;a&&0===a.code&&(t.dataForm=a.data)})})},dataFormSubmit:function(){var t=this;this.$refs.dataForm.validate(function(e){e&&t.$http({url:t.$http.adornUrl("api/server/main-config/updateMqConfig"),method:"post",data:t.$http.adornData(t.dataForm)}).then(function(e){var a=e.data;a&&0===a.code?t.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){t.visible=!1,t.$emit("refreshDataList")}}):t.$message.error(a.msg)})})}}},r,!1,null,null,null);e.default=o.exports}});

1
dist/2095/static/js/35.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([35],{Yzs3:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-dialog",{attrs:{title:"更新MQ配置","close-on-click-modal":!1,visible:t.visible},on:{"update:visible":function(e){t.visible=e}}},[a("el-form",{ref:"dataForm",attrs:{model:t.dataForm,rules:t.dataRule,"label-width":"80px"},nativeOn:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"username",prop:"username"}},[a("el-input",{attrs:{placeholder:"username",clearable:""},model:{value:t.dataForm.username,callback:function(e){t.$set(t.dataForm,"username",e)},expression:"dataForm.username"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"port",prop:"port"}},[a("el-input",{attrs:{placeholder:"port",clearable:""},model:{value:t.dataForm.port,callback:function(e){t.$set(t.dataForm,"port",e)},expression:"dataForm.port"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"host",prop:"host"}},[a("el-input",{attrs:{placeholder:"host",clearable:""},model:{value:t.dataForm.host,callback:function(e){t.$set(t.dataForm,"host",e)},expression:"dataForm.host"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"isstart",prop:"isstart"}},[a("el-switch",{model:{value:t.dataForm.isstart,callback:function(e){t.$set(t.dataForm,"isstart",e)},expression:"dataForm.isstart"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"passport",prop:"passport"}},[a("el-input",{attrs:{placeholder:"passport",clearable:""},model:{value:t.dataForm.passport,callback:function(e){t.$set(t.dataForm,"passport",e)},expression:"dataForm.passport"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"virtualhost",prop:"virtualhost"}},[a("el-input",{attrs:{placeholder:"",clearable:""},model:{value:t.dataForm.virtualhost,callback:function(e){t.$set(t.dataForm,"virtualhost",e)},expression:"dataForm.virtualhost"}})],1)],1),t._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(e){t.visible=!1}}},[t._v("取消")]),t._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(e){t.dataFormSubmit()}}},[t._v("确定")])],1)],1)},staticRenderFns:[]},s=a("VU/8")({data:function(){return{visible:!1,dataForm:{id:"",username:"",port:"",host:"",passport:"",isstart:"",virtualhost:""},dataRule:{username:[{required:!0,message:"名称不能为空",trigger:"blur"}],port:[{required:!0,message:"端口不能为空",trigger:"blur"}],host:[{required:!0,message:"IP不能为空",trigger:"blur"}],passport:[{required:!0,message:"passport不能为空",trigger:"blur"}],isstart:[{required:!0,message:"isstart不能为空",trigger:"blur"}],virtualhost:[{required:!0,message:"virtualhost不能为空",trigger:"blur"}]}}},methods:{init:function(){var t=this;this.visible=!0,this.$nextTick(function(){t.$refs.dataForm.resetFields(),t.$http({url:t.$http.adornUrl("api/server/main-config/getMqConfig"),method:"post"}).then(function(e){var a=e.data;a&&0===a.code&&(t.dataForm=a.data)})})},dataFormSubmit:function(){var t=this;this.$refs.dataForm.validate(function(e){e&&t.$http({url:t.$http.adornUrl("api/server/main-config/updateMqConfig"),method:"post",data:t.$http.adornData(t.dataForm)}).then(function(e){var a=e.data;a&&0===a.code?t.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){t.visible=!1,t.$emit("refreshDataList")}}):t.$message.error(a.msg)})})}}},r,!1,null,null,null);e.default=s.exports}});

1
dist/2095/static/js/36.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([36],{"+Efp":function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("el-dialog",{attrs:{title:"更新HJ212配置","close-on-click-modal":!1,visible:t.visible},on:{"update:visible":function(e){t.visible=e}}},[a("el-form",{ref:"dataForm",attrs:{model:t.dataForm,rules:t.dataRule,"label-width":"80px"},nativeOn:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.dataFormSubmit()}}},[a("el-form-item",{attrs:{label:"port",prop:"port"}},[a("el-input",{attrs:{placeholder:"port",clearable:""},model:{value:t.dataForm.port,callback:function(e){t.$set(t.dataForm,"port",e)},expression:"dataForm.port"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"isstart",prop:"isstart"}},[a("el-switch",{model:{value:t.dataForm.isstart,callback:function(e){t.$set(t.dataForm,"isstart",e)},expression:"dataForm.isstart"}})],1)],1),t._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(e){t.visible=!1}}},[t._v("取消")]),t._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(e){t.dataFormSubmit()}}},[t._v("确定")])],1)],1)},staticRenderFns:[]},o=a("VU/8")({data:function(){return{visible:!1,dataForm:{id:"",port:"",isstart:""},dataRule:{port:[{required:!0,message:"端口不能为空",trigger:"blur"}],isstart:[{required:!0,message:"isstart不能为空",trigger:"blur"}]}}},methods:{init:function(){var t=this;this.visible=!0,this.$nextTick(function(){t.$refs.dataForm.resetFields(),t.$http({url:t.$http.adornUrl("api/server/main-config/getHJ212Config"),method:"post"}).then(function(e){var a=e.data;a&&0===a.code&&(t.dataForm=a.data)})})},dataFormSubmit:function(){var t=this;this.$refs.dataForm.validate(function(e){e&&t.$http({url:t.$http.adornUrl("api/server/main-config/updateMqConfig"),method:"post",data:t.$http.adornData(t.dataForm)}).then(function(e){var a=e.data;a&&0===a.code?t.$message({message:"操作成功",type:"success",duration:1500,onClose:function(){t.visible=!1,t.$emit("refreshDataList")}}):t.$message.error(a.msg)})})}}},r,!1,null,null,null);e.default=o.exports}});

1
dist/2095/static/js/4.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/5.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([5],{FJMX:function(n,t,e){(n.exports=e("FZ+f")(!1)).push([n.i,'\n.site-wrapper.site-page--login {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(38, 50, 56, 0.1);\n overflow: hidden;\n}\n.site-wrapper.site-page--login:before {\n position: fixed;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n content: "";\n background-image: url('+e("FUCY")+");\n background-size: cover;\n}\n.site-wrapper.site-page--login .site-content__wrapper {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n background-color: transparent;\n}\n.site-wrapper.site-page--login .site-content {\n min-height: 100%;\n padding: 30px 500px 30px 30px;\n}\n.site-wrapper.site-page--login .brand-info {\n margin: 220px 100px 0 90px;\n color: #fff;\n}\n.site-wrapper.site-page--login .brand-info__text {\n margin: 0 0 22px 0;\n font-size: 48px;\n font-weight: 400;\n text-transform: uppercase;\n}\n.site-wrapper.site-page--login .brand-info__intro {\n margin: 10px 0;\n font-size: 16px;\n line-height: 1.58;\n opacity: 0.6;\n}\n.site-wrapper.site-page--login .login-main {\n position: absolute;\n top: 0;\n right: 0;\n padding: 150px 60px 180px;\n width: 470px;\n min-height: 100%;\n background-color: #fff;\n}\n.site-wrapper.site-page--login .login-title {\n font-size: 16px;\n}\n.site-wrapper.site-page--login .login-captcha {\n overflow: hidden;\n}\n.site-wrapper.site-page--login .login-captcha > img {\n width: 100%;\n cursor: pointer;\n}\n.site-wrapper.site-page--login .login-btn-submit {\n width: 100%;\n margin-top: 38px;\n}\n",""])},FUCY:function(n,t,e){n.exports=e.p+"static/img/12.07c5158.png"},Wj8W:function(n,t,e){var a=e("FJMX");"string"==typeof a&&(a=[[n.i,a,""]]),a.locals&&(n.exports=a.locals);e("rjj0")("6ee07416",a,!0)},wQTO:function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={render:function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"site-wrapper site-page--login"},[e("div",{staticClass:"site-content__wrapper"},[e("div",{staticClass:"site-content"},[n._m(0),n._v(" "),e("div",{staticClass:"login-main"},[e("h3",{staticClass:"login-title"},[n._v("管理员登录")]),n._v(" "),e("el-form",{ref:"dataForm",attrs:{model:n.dataForm,rules:n.dataRule,"status-icon":""},nativeOn:{keyup:function(t){if(!("button"in t)&&n._k(t.keyCode,"enter",13,t.key,"Enter"))return null;n.dataFormSubmit()}}},[e("el-form-item",{attrs:{prop:"username"}},[e("el-input",{attrs:{placeholder:"帐号"},model:{value:n.dataForm.username,callback:function(t){n.$set(n.dataForm,"username",t)},expression:"dataForm.username"}})],1),n._v(" "),e("el-form-item",{attrs:{prop:"password"}},[e("el-input",{attrs:{type:"password",placeholder:"密码"},model:{value:n.dataForm.password,callback:function(t){n.$set(n.dataForm,"password",t)},expression:"dataForm.password"}})],1),n._v(" "),e("el-form-item",[e("el-button",{staticClass:"login-btn-submit",attrs:{type:"primary"},on:{click:function(t){n.dataFormSubmit()}}},[n._v("登录")])],1)],1)],1)])])])},staticRenderFns:[function(){var n=this.$createElement,t=this._self._c||n;return t("div",{staticClass:"brand-info"},[t("h2",{staticClass:"brand-info__text"},[this._v("MT-IG-B-1.5 "),t("br"),this._v("智能网关")])])}]};var i=e("VU/8")({data:function(){return{dataForm:{username:"admin",password:"admin"},dataRule:{username:[{required:!0,message:"帐号不能为空",trigger:"blur"}],password:[{required:!0,message:"密码不能为空",trigger:"blur"}]}}},created:function(){},methods:{dataFormSubmit:function(){var n=this;this.$refs.dataForm.validate(function(t){if(t){var e={password:n.dataForm.password,userName:n.dataForm.username};n.$http({url:n.$http.adornUrl("api/server/user/login"),method:"post",data:e}).then(function(t){var e=t.data;e&&0===e.code?(n.$cookie.set("token",e.token),n.$router.replace({name:"home"})):n.$message.error(e.msg)})}})}}},a,!1,function(n){e("Wj8W")},null,null);t.default=i.exports}});

1
dist/2095/static/js/6.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/7.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/8.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/9.js vendored Normal file
View File

@@ -0,0 +1 @@
webpackJsonp([9],{YSsm:function(t,e,i){(t.exports=i("FZ+f")(!1)).push([t.i,"\n.mod-demo-ueditor {\n position: relative;\n z-index: 510;\n}\n.mod-demo-ueditor > .el-alert {\n margin-bottom: 10px;\n}\n",""])},f7ii:function(t,e,i){var n=i("YSsm");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);i("rjj0")("1b6af83e",n,!0)},t1fE:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i("fZIC"),o=i.n(n),s={data:function(){return{ue:null,ueId:"J_ueditorBox_"+(new Date).getTime(),ueContent:"",dialogVisible:!1}},mounted:function(){this.ue=o.a.getEditor(this.ueId,{zIndex:3e3})},methods:{getContent:function(){var t=this;this.dialogVisible=!0,this.ue.ready(function(){t.ueContent=t.ue.getContent()})}}},l={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"mod-demo-ueditor"},[i("el-alert",{attrs:{title:"提示:",type:"warning",closable:!1},scopedSlots:t._u([{key:"default",fn:function(e){return i("div",{},[i("p",{staticClass:"el-alert__description"},[t._v("1. 此Demo只提供UEditor官方使用文档入门部署和体验功能。具体使用请参考http://fex.baidu.com/ueditor/")]),t._v(" "),i("p",{staticClass:"el-alert__description"},[t._v("2. 浏览器控制台报错“请求后台配置项http错误上传功能将不能正常使用此错需要后台提供上传接口方法赋值给serverUrl属性")])])}}])}),t._v(" "),i("script",{staticClass:"ueditor-box",staticStyle:{width:"100%",height:"260px"},attrs:{id:t.ueId,type:"text/plain"}},[t._v("hello world!")]),t._v(" "),i("p",[i("el-button",{on:{click:function(e){t.getContent()}}},[t._v("获得内容")])],1),t._v(" "),i("el-dialog",{attrs:{title:"内容",visible:t.dialogVisible,"append-to-body":!0},on:{"update:visible":function(e){t.dialogVisible=e}}},[t._v("\n "+t._s(t.ueContent)+"\n "),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary"},on:{click:function(e){t.dialogVisible=!1}}},[t._v("确 定")])],1)])],1)},staticRenderFns:[]};var a=i("VU/8")(s,l,!1,function(t){i("f7ii")},null,null);e.default=a.exports}});

1
dist/2095/static/js/app.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2095/static/js/manifest.js vendored Normal file
View File

@@ -0,0 +1 @@
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,i){for(var u,a,f,s=0,l=[];s<r.length;s++)a=r[s],t[a]&&l.push(t[a][0]),t[a]=0;for(u in c)Object.prototype.hasOwnProperty.call(c,u)&&(e[u]=c[u]);for(n&&n(r,c,i);l.length;)l.shift()();if(i)for(s=0;s<i.length;s++)f=o(o.s=i[s]);return f};var r={},t={39:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],i=document.createElement("script");i.type="text/javascript",i.charset="utf-8",i.async=!0,i.timeout=12e4,o.nc&&i.setAttribute("nonce",o.nc),i.src=o.p+"static/js/"+e+".js";var u=setTimeout(a,12e4);function a(){i.onerror=i.onload=null,clearTimeout(u);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return i.onerror=i.onload=a,c.appendChild(i),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p=window.SITE_CONFIG.cdnUrl + "/",o.oe=function(e){throw console.error(e),e}}([]);

1
dist/2095/static/js/vendor.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
*{color: #838383;margin: 0;padding: 0}
html,body {font-size: 12px;overflow: hidden; }
.content{padding:5px 0 0 15px;}
input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
</style>
</head>
<body>
<div class="content">
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" />
</div>
<script type="text/javascript" src="../internal.js"></script>
<script type="text/javascript">
var anchorInput = $G('anchorName'),
node = editor.selection.getRange().getClosedNode();
if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
anchorInput.value = node;
}
anchorInput.onkeydown = function(evt){
evt = evt || window.event;
if(evt.keyCode == 13){
editor.execCommand('anchor', anchorInput.value);
dialog.close();
domUtils.preventDefault(evt)
}
};
dialog.onok = function (){
editor.execCommand('anchor', anchorInput.value);
dialog.close();
};
$focus(anchorInput);
</script>
</body>
</html>

View File

@@ -0,0 +1,681 @@
@charset "utf-8";
/* dialog样式 */
.wrapper {
zoom: 1;
width: 630px;
*width: 626px;
height: 380px;
margin: 0 auto;
padding: 10px;
position: relative;
font-family: sans-serif;
}
/*tab样式框大小*/
.tabhead {
float:left;
}
.tabbody {
width: 100%;
height: 346px;
position: relative;
clear: both;
}
.tabbody .panel {
position: absolute;
width: 0;
height: 0;
background: #fff;
overflow: hidden;
display: none;
}
.tabbody .panel.focus {
width: 100%;
height: 346px;
display: block;
}
/* 上传附件 */
.tabbody #upload.panel {
width: 0;
height: 0;
overflow: hidden;
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
background: #fff;
display: block;
}
.tabbody #upload.panel.focus {
width: 100%;
height: 346px;
display: block;
clip: auto;
}
#upload .queueList {
margin: 0;
width: 100%;
height: 100%;
position: absolute;
overflow: hidden;
}
#upload p {
margin: 0;
}
.element-invisible {
width: 0 !important;
height: 0 !important;
border: 0;
padding: 0;
margin: 0;
overflow: hidden;
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
}
#upload .placeholder {
margin: 10px;
border: 2px dashed #e6e6e6;
*border: 0px dashed #e6e6e6;
height: 172px;
padding-top: 150px;
text-align: center;
background: url(./images/image.png) center 70px no-repeat;
color: #cccccc;
font-size: 18px;
position: relative;
top:0;
*top: 10px;
}
#upload .placeholder .webuploader-pick {
font-size: 18px;
background: #00b7ee;
border-radius: 3px;
line-height: 44px;
padding: 0 30px;
*width: 120px;
color: #fff;
display: inline-block;
margin: 0 auto 20px auto;
cursor: pointer;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
#upload .placeholder .webuploader-pick-hover {
background: #00a2d4;
}
#filePickerContainer {
text-align: center;
}
#upload .placeholder .flashTip {
color: #666666;
font-size: 12px;
position: absolute;
width: 100%;
text-align: center;
bottom: 20px;
}
#upload .placeholder .flashTip a {
color: #0785d1;
text-decoration: none;
}
#upload .placeholder .flashTip a:hover {
text-decoration: underline;
}
#upload .placeholder.webuploader-dnd-over {
border-color: #999999;
}
#upload .filelist {
list-style: none;
margin: 0;
padding: 0;
overflow-x: hidden;
overflow-y: auto;
position: relative;
height: 300px;
}
#upload .filelist:after {
content: '';
display: block;
width: 0;
height: 0;
overflow: hidden;
clear: both;
}
#upload .filelist li {
width: 113px;
height: 113px;
background: url(./images/bg.png);
text-align: center;
margin: 9px 0 0 9px;
*margin: 6px 0 0 6px;
position: relative;
display: block;
float: left;
overflow: hidden;
font-size: 12px;
}
#upload .filelist li p.log {
position: relative;
top: -45px;
}
#upload .filelist li p.title {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
top: 5px;
text-indent: 5px;
text-align: left;
}
#upload .filelist li p.progress {
position: absolute;
width: 100%;
bottom: 0;
left: 0;
height: 8px;
overflow: hidden;
z-index: 50;
margin: 0;
border-radius: 0;
background: none;
-webkit-box-shadow: 0 0 0;
}
#upload .filelist li p.progress span {
display: none;
overflow: hidden;
width: 0;
height: 100%;
background: #1483d8 url(./images/progress.png) repeat-x;
-webit-transition: width 200ms linear;
-moz-transition: width 200ms linear;
-o-transition: width 200ms linear;
-ms-transition: width 200ms linear;
transition: width 200ms linear;
-webkit-animation: progressmove 2s linear infinite;
-moz-animation: progressmove 2s linear infinite;
-o-animation: progressmove 2s linear infinite;
-ms-animation: progressmove 2s linear infinite;
animation: progressmove 2s linear infinite;
-webkit-transform: translateZ(0);
}
@-webkit-keyframes progressmove {
0% {
background-position: 0 0;
}
100% {
background-position: 17px 0;
}
}
@-moz-keyframes progressmove {
0% {
background-position: 0 0;
}
100% {
background-position: 17px 0;
}
}
@keyframes progressmove {
0% {
background-position: 0 0;
}
100% {
background-position: 17px 0;
}
}
#upload .filelist li p.imgWrap {
position: relative;
z-index: 2;
line-height: 113px;
vertical-align: middle;
overflow: hidden;
width: 113px;
height: 113px;
-webkit-transform-origin: 50% 50%;
-moz-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webit-transition: 200ms ease-out;
-moz-transition: 200ms ease-out;
-o-transition: 200ms ease-out;
-ms-transition: 200ms ease-out;
transition: 200ms ease-out;
}
#upload .filelist li p.imgWrap.notimage {
margin-top: 0;
width: 111px;
height: 111px;
border: 1px #eeeeee solid;
}
#upload .filelist li p.imgWrap.notimage i.file-preview {
margin-top: 15px;
}
#upload .filelist li img {
width: 100%;
}
#upload .filelist li p.error {
background: #f43838;
color: #fff;
position: absolute;
bottom: 0;
left: 0;
height: 28px;
line-height: 28px;
width: 100%;
z-index: 100;
display:none;
}
#upload .filelist li .success {
display: block;
position: absolute;
left: 0;
bottom: 0;
height: 40px;
width: 100%;
z-index: 200;
background: url(./images/success.png) no-repeat right bottom;
background-image: url(./images/success.gif) \9;
}
#upload .filelist li.filePickerBlock {
width: 113px;
height: 113px;
background: url(./images/image.png) no-repeat center 12px;
border: 1px solid #eeeeee;
border-radius: 0;
}
#upload .filelist li.filePickerBlock div.webuploader-pick {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
opacity: 0;
background: none;
font-size: 0;
}
#upload .filelist div.file-panel {
position: absolute;
height: 0;
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;
background: rgba(0, 0, 0, 0.5);
width: 100%;
top: 0;
left: 0;
overflow: hidden;
z-index: 300;
}
#upload .filelist div.file-panel span {
width: 24px;
height: 24px;
display: inline;
float: right;
text-indent: -9999px;
overflow: hidden;
background: url(./images/icons.png) no-repeat;
background: url(./images/icons.gif) no-repeat \9;
margin: 5px 1px 1px;
cursor: pointer;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#upload .filelist div.file-panel span.rotateLeft {
display:none;
background-position: 0 -24px;
}
#upload .filelist div.file-panel span.rotateLeft:hover {
background-position: 0 0;
}
#upload .filelist div.file-panel span.rotateRight {
display:none;
background-position: -24px -24px;
}
#upload .filelist div.file-panel span.rotateRight:hover {
background-position: -24px 0;
}
#upload .filelist div.file-panel span.cancel {
background-position: -48px -24px;
}
#upload .filelist div.file-panel span.cancel:hover {
background-position: -48px 0;
}
#upload .statusBar {
height: 45px;
border-bottom: 1px solid #dadada;
margin: 0 10px;
padding: 0;
line-height: 45px;
vertical-align: middle;
position: relative;
}
#upload .statusBar .progress {
border: 1px solid #1483d8;
width: 198px;
background: #fff;
height: 18px;
position: absolute;
top: 12px;
display: none;
text-align: center;
line-height: 18px;
color: #6dbfff;
margin: 0 10px 0 0;
}
#upload .statusBar .progress span.percentage {
width: 0;
height: 100%;
left: 0;
top: 0;
background: #1483d8;
position: absolute;
}
#upload .statusBar .progress span.text {
position: relative;
z-index: 10;
}
#upload .statusBar .info {
display: inline-block;
font-size: 14px;
color: #666666;
}
#upload .statusBar .btns {
position: absolute;
top: 7px;
right: 0;
line-height: 30px;
}
#filePickerBtn {
display: inline-block;
float: left;
}
#upload .statusBar .btns .webuploader-pick,
#upload .statusBar .btns .uploadBtn,
#upload .statusBar .btns .uploadBtn.state-uploading,
#upload .statusBar .btns .uploadBtn.state-paused {
background: #ffffff;
border: 1px solid #cfcfcf;
color: #565656;
padding: 0 18px;
display: inline-block;
border-radius: 3px;
margin-left: 10px;
cursor: pointer;
font-size: 14px;
float: left;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#upload .statusBar .btns .webuploader-pick-hover,
#upload .statusBar .btns .uploadBtn:hover,
#upload .statusBar .btns .uploadBtn.state-uploading:hover,
#upload .statusBar .btns .uploadBtn.state-paused:hover {
background: #f0f0f0;
}
#upload .statusBar .btns .uploadBtn,
#upload .statusBar .btns .uploadBtn.state-paused{
background: #00b7ee;
color: #fff;
border-color: transparent;
}
#upload .statusBar .btns .uploadBtn:hover,
#upload .statusBar .btns .uploadBtn.state-paused:hover{
background: #00a2d4;
}
#upload .statusBar .btns .uploadBtn.disabled {
pointer-events: none;
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
opacity: 0.6;
}
/* 图片管理样式 */
#online {
width: 100%;
height: 336px;
padding: 10px 0 0 0;
}
#online #fileList{
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
position: relative;
}
#online ul {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
#online li {
float: left;
display: block;
list-style: none;
padding: 0;
width: 113px;
height: 113px;
margin: 0 0 9px 9px;
*margin: 0 0 6px 6px;
background-color: #eee;
overflow: hidden;
cursor: pointer;
position: relative;
}
#online li.clearFloat {
float: none;
clear: both;
display: block;
width:0;
height:0;
margin: 0;
padding: 0;
}
#online li img {
cursor: pointer;
}
#online li div.file-wrapper {
cursor: pointer;
position: absolute;
display: block;
width: 111px;
height: 111px;
border: 1px solid #eee;
background: url("./images/bg.png") repeat;
}
#online li div span.file-title{
display: block;
padding: 0 3px;
margin: 3px 0 0 0;
font-size: 12px;
height: 13px;
color: #555555;
text-align: center;
width: 107px;
white-space: nowrap;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
}
#online li .icon {
cursor: pointer;
width: 113px;
height: 113px;
position: absolute;
top: 0;
left: 0;
z-index: 2;
border: 0;
background-repeat: no-repeat;
}
#online li .icon:hover {
width: 107px;
height: 107px;
border: 3px solid #1094fa;
}
#online li.selected .icon {
background-image: url(images/success.png);
background-image: url(images/success.gif) \9;
background-position: 75px 75px;
}
#online li.selected .icon:hover {
width: 107px;
height: 107px;
border: 3px solid #1094fa;
background-position: 72px 72px;
}
/* 在线文件的文件预览图标 */
i.file-preview {
display: block;
margin: 10px auto;
width: 70px;
height: 70px;
background-image: url("./images/file-icons.png");
background-image: url("./images/file-icons.gif") \9;
background-position: -140px center;
background-repeat: no-repeat;
}
i.file-preview.file-type-dir{
background-position: 0 center;
}
i.file-preview.file-type-file{
background-position: -140px center;
}
i.file-preview.file-type-filelist{
background-position: -210px center;
}
i.file-preview.file-type-zip,
i.file-preview.file-type-rar,
i.file-preview.file-type-7z,
i.file-preview.file-type-tar,
i.file-preview.file-type-gz,
i.file-preview.file-type-bz2{
background-position: -280px center;
}
i.file-preview.file-type-xls,
i.file-preview.file-type-xlsx{
background-position: -350px center;
}
i.file-preview.file-type-doc,
i.file-preview.file-type-docx{
background-position: -420px center;
}
i.file-preview.file-type-ppt,
i.file-preview.file-type-pptx{
background-position: -490px center;
}
i.file-preview.file-type-vsd{
background-position: -560px center;
}
i.file-preview.file-type-pdf{
background-position: -630px center;
}
i.file-preview.file-type-txt,
i.file-preview.file-type-md,
i.file-preview.file-type-json,
i.file-preview.file-type-htm,
i.file-preview.file-type-xml,
i.file-preview.file-type-html,
i.file-preview.file-type-js,
i.file-preview.file-type-css,
i.file-preview.file-type-php,
i.file-preview.file-type-jsp,
i.file-preview.file-type-asp{
background-position: -700px center;
}
i.file-preview.file-type-apk{
background-position: -770px center;
}
i.file-preview.file-type-exe{
background-position: -840px center;
}
i.file-preview.file-type-ipa{
background-position: -910px center;
}
i.file-preview.file-type-mp4,
i.file-preview.file-type-swf,
i.file-preview.file-type-mkv,
i.file-preview.file-type-avi,
i.file-preview.file-type-flv,
i.file-preview.file-type-mov,
i.file-preview.file-type-mpg,
i.file-preview.file-type-mpeg,
i.file-preview.file-type-ogv,
i.file-preview.file-type-webm,
i.file-preview.file-type-rm,
i.file-preview.file-type-rmvb{
background-position: -980px center;
}
i.file-preview.file-type-ogg,
i.file-preview.file-type-wav,
i.file-preview.file-type-wmv,
i.file-preview.file-type-mid,
i.file-preview.file-type-mp3{
background-position: -1050px center;
}
i.file-preview.file-type-jpg,
i.file-preview.file-type-jpeg,
i.file-preview.file-type-gif,
i.file-preview.file-type-bmp,
i.file-preview.file-type-png,
i.file-preview.file-type-psd{
background-position: -140px center;
}

View File

@@ -0,0 +1,60 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>ueditor图片对话框</title>
<script type="text/javascript" src="../internal.js"></script>
<!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
<!-- webuploader -->
<script src="../../third-party/webuploader/webuploader.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
<!-- attachment dialog -->
<link rel="stylesheet" href="attachment.css" type="text/css" />
</head>
<body>
<div class="wrapper">
<div id="tabhead" class="tabhead">
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
</div>
<div id="tabbody" class="tabbody">
<!-- 上传图片 -->
<div id="upload" class="panel focus">
<div id="queueList" class="queueList">
<div class="statusBar element-invisible">
<div class="progress">
<span class="text">0%</span>
<span class="percentage"></span>
</div><div class="info"></div>
<div class="btns">
<div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div>
</div>
<div id="dndArea" class="placeholder">
<div class="filePickerContainer">
<div id="filePickerReady"></div>
</div>
</div>
<ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li>
</ul>
</div>
</div>
<!-- 在线图片 -->
<div id="online" class="panel">
<div id="fileList"><var id="lang_imgLoading"></var></div>
</div>
</div>
</div>
<script type="text/javascript" src="attachment.js"></script>
</body>
</html>

View File

@@ -0,0 +1,754 @@
/**
* User: Jinqn
* Date: 14-04-08
* Time: 下午16:34
* 上传图片对话框逻辑代码,包括tab: 远程图片/上传图片/在线图片/搜索图片
*/
(function () {
var uploadFile,
onlineFile;
window.onload = function () {
initTabs();
initButtons();
};
/* 初始化tab标签 */
function initTabs() {
var tabs = $G('tabhead').children;
for (var i = 0; i < tabs.length; i++) {
domUtils.on(tabs[i], "click", function (e) {
var target = e.target || e.srcElement;
setTabFocus(target.getAttribute('data-content-id'));
});
}
setTabFocus('upload');
}
/* 初始化tabbody */
function setTabFocus(id) {
if(!id) return;
var i, bodyId, tabs = $G('tabhead').children;
for (i = 0; i < tabs.length; i++) {
bodyId = tabs[i].getAttribute('data-content-id')
if (bodyId == id) {
domUtils.addClass(tabs[i], 'focus');
domUtils.addClass($G(bodyId), 'focus');
} else {
domUtils.removeClasses(tabs[i], 'focus');
domUtils.removeClasses($G(bodyId), 'focus');
}
}
switch (id) {
case 'upload':
uploadFile = uploadFile || new UploadFile('queueList');
break;
case 'online':
onlineFile = onlineFile || new OnlineFile('fileList');
break;
}
}
/* 初始化onok事件 */
function initButtons() {
dialog.onok = function () {
var list = [], id, tabs = $G('tabhead').children;
for (var i = 0; i < tabs.length; i++) {
if (domUtils.hasClass(tabs[i], 'focus')) {
id = tabs[i].getAttribute('data-content-id');
break;
}
}
switch (id) {
case 'upload':
list = uploadFile.getInsertList();
var count = uploadFile.getQueueCount();
if (count) {
$('.info', '#queueList').html('<span style="color:red;">' + '还有2个未上传文件'.replace(/[\d]/, count) + '</span>');
return false;
}
break;
case 'online':
list = onlineFile.getInsertList();
break;
}
editor.execCommand('insertfile', list);
};
}
/* 上传附件 */
function UploadFile(target) {
this.$wrap = target.constructor == String ? $('#' + target) : $(target);
this.init();
}
UploadFile.prototype = {
init: function () {
this.fileList = [];
this.initContainer();
this.initUploader();
},
initContainer: function () {
this.$queue = this.$wrap.find('.filelist');
},
/* 初始化容器 */
initUploader: function () {
var _this = this,
$ = jQuery, // just in case. Make sure it's not an other libaray.
$wrap = _this.$wrap,
// 图片容器
$queue = $wrap.find('.filelist'),
// 状态栏,包括进度和控制按钮
$statusBar = $wrap.find('.statusBar'),
// 文件总体选择信息。
$info = $statusBar.find('.info'),
// 上传按钮
$upload = $wrap.find('.uploadBtn'),
// 上传按钮
$filePickerBtn = $wrap.find('.filePickerBtn'),
// 上传按钮
$filePickerBlock = $wrap.find('.filePickerBlock'),
// 没选择文件之前的内容。
$placeHolder = $wrap.find('.placeholder'),
// 总体进度条
$progress = $statusBar.find('.progress').hide(),
// 添加的文件数量
fileCount = 0,
// 添加的文件总大小
fileSize = 0,
// 优化retina, 在retina下这个值是2
ratio = window.devicePixelRatio || 1,
// 缩略图大小
thumbnailWidth = 113 * ratio,
thumbnailHeight = 113 * ratio,
// 可能有pedding, ready, uploading, confirm, done.
state = '',
// 所有文件的进度信息key为file id
percentages = {},
supportTransition = (function () {
var s = document.createElement('p').style,
r = 'transition' in s ||
'WebkitTransition' in s ||
'MozTransition' in s ||
'msTransition' in s ||
'OTransition' in s;
s = null;
return r;
})(),
// WebUploader实例
uploader,
actionUrl = editor.getActionUrl(editor.getOpt('fileActionName')),
fileMaxSize = editor.getOpt('fileMaxSize'),
acceptExtensions = (editor.getOpt('fileAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, '');;
if (!WebUploader.Uploader.support()) {
$('#filePickerReady').after($('<div>').html(lang.errorNotSupport)).hide();
return;
} else if (!editor.getOpt('fileActionName')) {
$('#filePickerReady').after($('<div>').html(lang.errorLoadConfig)).hide();
return;
}
uploader = _this.uploader = WebUploader.create({
pick: {
id: '#filePickerReady',
label: lang.uploadSelectFile
},
swf: '../../third-party/webuploader/Uploader.swf',
server: actionUrl,
fileVal: editor.getOpt('fileFieldName'),
duplicate: true,
fileSingleSizeLimit: fileMaxSize,
compress: false
});
uploader.addButton({
id: '#filePickerBlock'
});
uploader.addButton({
id: '#filePickerBtn',
label: lang.uploadAddFile
});
setState('pedding');
// 当有文件添加进来时执行负责view的创建
function addFile(file) {
var $li = $('<li id="' + file.id + '">' +
'<p class="title">' + file.name + '</p>' +
'<p class="imgWrap"></p>' +
'<p class="progress"><span></span></p>' +
'</li>'),
$btns = $('<div class="file-panel">' +
'<span class="cancel">' + lang.uploadDelete + '</span>' +
'<span class="rotateRight">' + lang.uploadTurnRight + '</span>' +
'<span class="rotateLeft">' + lang.uploadTurnLeft + '</span></div>').appendTo($li),
$prgress = $li.find('p.progress span'),
$wrap = $li.find('p.imgWrap'),
$info = $('<p class="error"></p>').hide().appendTo($li),
showError = function (code) {
switch (code) {
case 'exceed_size':
text = lang.errorExceedSize;
break;
case 'interrupt':
text = lang.errorInterrupt;
break;
case 'http':
text = lang.errorHttp;
break;
case 'not_allow_type':
text = lang.errorFileType;
break;
default:
text = lang.errorUploadRetry;
break;
}
$info.text(text).show();
};
if (file.getStatus() === 'invalid') {
showError(file.statusText);
} else {
$wrap.text(lang.uploadPreview);
if ('|png|jpg|jpeg|bmp|gif|'.indexOf('|'+file.ext.toLowerCase()+'|') == -1) {
$wrap.empty().addClass('notimage').append('<i class="file-preview file-type-' + file.ext.toLowerCase() + '"></i>' +
'<span class="file-title" title="' + file.name + '">' + file.name + '</span>');
} else {
if (browser.ie && browser.version <= 7) {
$wrap.text(lang.uploadNoPreview);
} else {
uploader.makeThumb(file, function (error, src) {
if (error || !src) {
$wrap.text(lang.uploadNoPreview);
} else {
var $img = $('<img src="' + src + '">');
$wrap.empty().append($img);
$img.on('error', function () {
$wrap.text(lang.uploadNoPreview);
});
}
}, thumbnailWidth, thumbnailHeight);
}
}
percentages[ file.id ] = [ file.size, 0 ];
file.rotation = 0;
/* 检查文件格式 */
if (!file.ext || acceptExtensions.indexOf(file.ext.toLowerCase()) == -1) {
showError('not_allow_type');
uploader.removeFile(file);
}
}
file.on('statuschange', function (cur, prev) {
if (prev === 'progress') {
$prgress.hide().width(0);
} else if (prev === 'queued') {
$li.off('mouseenter mouseleave');
$btns.remove();
}
// 成功
if (cur === 'error' || cur === 'invalid') {
showError(file.statusText);
percentages[ file.id ][ 1 ] = 1;
} else if (cur === 'interrupt') {
showError('interrupt');
} else if (cur === 'queued') {
percentages[ file.id ][ 1 ] = 0;
} else if (cur === 'progress') {
$info.hide();
$prgress.css('display', 'block');
} else if (cur === 'complete') {
}
$li.removeClass('state-' + prev).addClass('state-' + cur);
});
$li.on('mouseenter', function () {
$btns.stop().animate({height: 30});
});
$li.on('mouseleave', function () {
$btns.stop().animate({height: 0});
});
$btns.on('click', 'span', function () {
var index = $(this).index(),
deg;
switch (index) {
case 0:
uploader.removeFile(file);
return;
case 1:
file.rotation += 90;
break;
case 2:
file.rotation -= 90;
break;
}
if (supportTransition) {
deg = 'rotate(' + file.rotation + 'deg)';
$wrap.css({
'-webkit-transform': deg,
'-mos-transform': deg,
'-o-transform': deg,
'transform': deg
});
} else {
$wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
}
});
$li.insertBefore($filePickerBlock);
}
// 负责view的销毁
function removeFile(file) {
var $li = $('#' + file.id);
delete percentages[ file.id ];
updateTotalProgress();
$li.off().find('.file-panel').off().end().remove();
}
function updateTotalProgress() {
var loaded = 0,
total = 0,
spans = $progress.children(),
percent;
$.each(percentages, function (k, v) {
total += v[ 0 ];
loaded += v[ 0 ] * v[ 1 ];
});
percent = total ? loaded / total : 0;
spans.eq(0).text(Math.round(percent * 100) + '%');
spans.eq(1).css('width', Math.round(percent * 100) + '%');
updateStatus();
}
function setState(val, files) {
if (val != state) {
var stats = uploader.getStats();
$upload.removeClass('state-' + state);
$upload.addClass('state-' + val);
switch (val) {
/* 未选择文件 */
case 'pedding':
$queue.addClass('element-invisible');
$statusBar.addClass('element-invisible');
$placeHolder.removeClass('element-invisible');
$progress.hide(); $info.hide();
uploader.refresh();
break;
/* 可以开始上传 */
case 'ready':
$placeHolder.addClass('element-invisible');
$queue.removeClass('element-invisible');
$statusBar.removeClass('element-invisible');
$progress.hide(); $info.show();
$upload.text(lang.uploadStart);
uploader.refresh();
break;
/* 上传中 */
case 'uploading':
$progress.show(); $info.hide();
$upload.text(lang.uploadPause);
break;
/* 暂停上传 */
case 'paused':
$progress.show(); $info.hide();
$upload.text(lang.uploadContinue);
break;
case 'confirm':
$progress.show(); $info.hide();
$upload.text(lang.uploadStart);
stats = uploader.getStats();
if (stats.successNum && !stats.uploadFailNum) {
setState('finish');
return;
}
break;
case 'finish':
$progress.hide(); $info.show();
if (stats.uploadFailNum) {
$upload.text(lang.uploadRetry);
} else {
$upload.text(lang.uploadStart);
}
break;
}
state = val;
updateStatus();
}
if (!_this.getQueueCount()) {
$upload.addClass('disabled')
} else {
$upload.removeClass('disabled')
}
}
function updateStatus() {
var text = '', stats;
if (state === 'ready') {
text = lang.updateStatusReady.replace('_', fileCount).replace('_KB', WebUploader.formatSize(fileSize));
} else if (state === 'confirm') {
stats = uploader.getStats();
if (stats.uploadFailNum) {
text = lang.updateStatusConfirm.replace('_', stats.successNum).replace('_', stats.successNum);
}
} else {
stats = uploader.getStats();
text = lang.updateStatusFinish.replace('_', fileCount).
replace('_KB', WebUploader.formatSize(fileSize)).
replace('_', stats.successNum);
if (stats.uploadFailNum) {
text += lang.updateStatusError.replace('_', stats.uploadFailNum);
}
}
$info.html(text);
}
uploader.on('fileQueued', function (file) {
fileCount++;
fileSize += file.size;
if (fileCount === 1) {
$placeHolder.addClass('element-invisible');
$statusBar.show();
}
addFile(file);
});
uploader.on('fileDequeued', function (file) {
fileCount--;
fileSize -= file.size;
removeFile(file);
updateTotalProgress();
});
uploader.on('filesQueued', function (file) {
if (!uploader.isInProgress() && (state == 'pedding' || state == 'finish' || state == 'confirm' || state == 'ready')) {
setState('ready');
}
updateTotalProgress();
});
uploader.on('all', function (type, files) {
switch (type) {
case 'uploadFinished':
setState('confirm', files);
break;
case 'startUpload':
/* 添加额外的GET参数 */
var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + 'encode=utf-8&' + params);
uploader.option('server', url);
setState('uploading', files);
break;
case 'stopUpload':
setState('paused', files);
break;
}
});
uploader.on('uploadBeforeSend', function (file, data, header) {
//这里可以通过data对象添加POST参数
header['X_Requested_With'] = 'XMLHttpRequest';
});
uploader.on('uploadProgress', function (file, percentage) {
var $li = $('#' + file.id),
$percent = $li.find('.progress span');
$percent.css('width', percentage * 100 + '%');
percentages[ file.id ][ 1 ] = percentage;
updateTotalProgress();
});
uploader.on('uploadSuccess', function (file, ret) {
var $file = $('#' + file.id);
try {
var responseText = (ret._raw || ret),
json = utils.str2json(responseText);
if (json.state == 'SUCCESS') {
_this.fileList.push(json);
$file.append('<span class="success"></span>');
} else {
$file.find('.error').text(json.state).show();
}
} catch (e) {
$file.find('.error').text(lang.errorServerUpload).show();
}
});
uploader.on('uploadError', function (file, code) {
});
uploader.on('error', function (code, file) {
if (code == 'Q_TYPE_DENIED' || code == 'F_EXCEED_SIZE') {
addFile(file);
}
});
uploader.on('uploadComplete', function (file, ret) {
});
$upload.on('click', function () {
if ($(this).hasClass('disabled')) {
return false;
}
if (state === 'ready') {
uploader.upload();
} else if (state === 'paused') {
uploader.upload();
} else if (state === 'uploading') {
uploader.stop();
}
});
$upload.addClass('state-' + state);
updateTotalProgress();
},
getQueueCount: function () {
var file, i, status, readyFile = 0, files = this.uploader.getFiles();
for (i = 0; file = files[i++]; ) {
status = file.getStatus();
if (status == 'queued' || status == 'uploading' || status == 'progress') readyFile++;
}
return readyFile;
},
getInsertList: function () {
var i, link, data, list = [],
prefix = editor.getOpt('fileUrlPrefix');
for (i = 0; i < this.fileList.length; i++) {
data = this.fileList[i];
link = data.url;
list.push({
title: data.original || link.substr(link.lastIndexOf('/') + 1),
url: prefix + link
});
}
return list;
}
};
/* 在线附件 */
function OnlineFile(target) {
this.container = utils.isString(target) ? document.getElementById(target) : target;
this.init();
}
OnlineFile.prototype = {
init: function () {
this.initContainer();
this.initEvents();
this.initData();
},
/* 初始化容器 */
initContainer: function () {
this.container.innerHTML = '';
this.list = document.createElement('ul');
this.clearFloat = document.createElement('li');
domUtils.addClass(this.list, 'list');
domUtils.addClass(this.clearFloat, 'clearFloat');
this.list.appendChild(this.clearFloat);
this.container.appendChild(this.list);
},
/* 初始化滚动事件,滚动到地步自动拉取数据 */
initEvents: function () {
var _this = this;
/* 滚动拉取图片 */
domUtils.on($G('fileList'), 'scroll', function(e){
var panel = this;
if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) {
_this.getFileData();
}
});
/* 选中图片 */
domUtils.on(this.list, 'click', function (e) {
var target = e.target || e.srcElement,
li = target.parentNode;
if (li.tagName.toLowerCase() == 'li') {
if (domUtils.hasClass(li, 'selected')) {
domUtils.removeClasses(li, 'selected');
} else {
domUtils.addClass(li, 'selected');
}
}
});
},
/* 初始化第一次的数据 */
initData: function () {
/* 拉取数据需要使用的值 */
this.state = 0;
this.listSize = editor.getOpt('fileManagerListSize');
this.listIndex = 0;
this.listEnd = false;
/* 第一次拉取数据 */
this.getFileData();
},
/* 向后台拉取图片列表数据 */
getFileData: function () {
var _this = this;
if(!_this.listEnd && !this.isLoadingData) {
this.isLoadingData = true;
ajax.request(editor.getActionUrl(editor.getOpt('fileManagerActionName')), {
timeout: 100000,
data: utils.extend({
start: this.listIndex,
size: this.listSize
}, editor.queryCommandValue('serverparam')),
method: 'get',
onsuccess: function (r) {
try {
var json = eval('(' + r.responseText + ')');
if (json.state == 'SUCCESS') {
_this.pushData(json.list);
_this.listIndex = parseInt(json.start) + parseInt(json.list.length);
if(_this.listIndex >= json.total) {
_this.listEnd = true;
}
_this.isLoadingData = false;
}
} catch (e) {
if(r.responseText.indexOf('ue_separate_ue') != -1) {
var list = r.responseText.split(r.responseText);
_this.pushData(list);
_this.listIndex = parseInt(list.length);
_this.listEnd = true;
_this.isLoadingData = false;
}
}
},
onerror: function () {
_this.isLoadingData = false;
}
});
}
},
/* 添加图片到列表界面上 */
pushData: function (list) {
var i, item, img, filetype, preview, icon, _this = this,
urlPrefix = editor.getOpt('fileManagerUrlPrefix');
for (i = 0; i < list.length; i++) {
if(list[i] && list[i].url) {
item = document.createElement('li');
icon = document.createElement('span');
filetype = list[i].url.substr(list[i].url.lastIndexOf('.') + 1);
if ( "png|jpg|jpeg|gif|bmp".indexOf(filetype) != -1 ) {
preview = document.createElement('img');
domUtils.on(preview, 'load', (function(image){
return function(){
_this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight);
};
})(preview));
preview.width = 113;
preview.setAttribute('src', urlPrefix + list[i].url + (list[i].url.indexOf('?') == -1 ? '?noCache=':'&noCache=') + (+new Date()).toString(36) );
} else {
var ic = document.createElement('i'),
textSpan = document.createElement('span');
textSpan.innerHTML = list[i].url.substr(list[i].url.lastIndexOf('/') + 1);
preview = document.createElement('div');
preview.appendChild(ic);
preview.appendChild(textSpan);
domUtils.addClass(preview, 'file-wrapper');
domUtils.addClass(textSpan, 'file-title');
domUtils.addClass(ic, 'file-type-' + filetype);
domUtils.addClass(ic, 'file-preview');
}
domUtils.addClass(icon, 'icon');
item.setAttribute('data-url', urlPrefix + list[i].url);
if (list[i].original) {
item.setAttribute('data-title', list[i].original);
}
item.appendChild(preview);
item.appendChild(icon);
this.list.insertBefore(item, this.clearFloat);
}
}
},
/* 改变图片大小 */
scale: function (img, w, h, type) {
var ow = img.width,
oh = img.height;
if (type == 'justify') {
if (ow >= oh) {
img.width = w;
img.height = h * oh / ow;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else {
img.width = w * ow / oh;
img.height = h;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
}
} else {
if (ow >= oh) {
img.width = w * ow / oh;
img.height = h;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else {
img.width = w;
img.height = h * oh / ow;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
}
}
},
getInsertList: function () {
var i, lis = this.list.children, list = [];
for (i = 0; i < lis.length; i++) {
if (domUtils.hasClass(lis[i], 'selected')) {
var url = lis[i].getAttribute('data-url');
var title = lis[i].getAttribute('data-title') || url.substr(url.lastIndexOf('/') + 1);
list.push({
title: title,
url: url
});
}
}
return list;
}
};
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,94 @@
.wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative}
.tabbody{height:225px;}
.tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;}
.tabbody .focus { display: block;}
body{font-size: 12px;color: #888;overflow: hidden;}
input,label{vertical-align:middle}
.clear{clear: both;}
.pl{padding-left: 18px;padding-left: 23px\9;}
#imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;}
#imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;}
#imageList img {cursor: pointer;border: 2px solid white;}
.bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;}
.content div{margin: 10px 0 10px 5px;}
.content .iptradio{margin: 0px 5px 5px 0px;}
.txt{width:280px;}
.wrapcolor{height: 19px;}
div.color{float: left;margin: 0;}
#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;}
div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;}
#custom input{height: 15px;min-height: 15px;width:20px;}
#repeatType{width:100px;}
/* 图片管理样式 */
#imgManager {
width: 100%;
height: 225px;
}
#imgManager #imageList{
width: 100%;
overflow-x: hidden;
overflow-y: auto;
}
#imgManager ul {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
#imgManager li {
float: left;
display: block;
list-style: none;
padding: 0;
width: 113px;
height: 113px;
margin: 9px 0 0 19px;
background-color: #eee;
overflow: hidden;
cursor: pointer;
position: relative;
}
#imgManager li.clearFloat {
float: none;
clear: both;
display: block;
width:0;
height:0;
margin: 0;
padding: 0;
}
#imgManager li img {
cursor: pointer;
}
#imgManager li .icon {
cursor: pointer;
width: 113px;
height: 113px;
position: absolute;
top: 0;
left: 0;
z-index: 2;
border: 0;
background-repeat: no-repeat;
}
#imgManager li .icon:hover {
width: 107px;
height: 107px;
border: 3px solid #1094fa;
}
#imgManager li.selected .icon {
background-image: url(images/success.png);
background-position: 75px 75px;
}
#imgManager li.selected .icon:hover {
width: 107px;
height: 107px;
border: 3px solid #1094fa;
background-position: 72px 72px;
}

View File

@@ -0,0 +1,56 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="background.css">
</head>
<body>
<div id="bg_container" class="wrapper">
<div id="tabHeads" class="tabhead">
<span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
<span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span>
</div>
<div id="tabBodys" class="tabbody">
<div id="normal" class="panel focus">
<fieldset class="bgarea">
<legend><var id="lang_background_set"></var></legend>
<div class="content">
<div>
<label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label>
<label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label>
</div>
<div class="wrapcolor pl">
<div class="color">
<var id="lang_background_color"></var>:
</div>
<div id="colorPicker"></div>
<div class="clear"></div>
</div>
<div class="wrapcolor pl">
<label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
</div>
<div id="alignment" class="alignment">
<var id="lang_background_align"></var>:<select id="repeatType">
<option value="center"></option>
<option value="repeat-x"></option>
<option value="repeat-y"></option>
<option value="repeat"></option>
<option value="self"></option>
</select>
</div>
<div id="custom" >
<var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px&nbsp;&nbsp;y:<input type="text" size="1" id="y" maxlength="4" value="0">px
</div>
</div>
</fieldset>
</div>
<div id="imgManager" class="panel">
<div id="imageList" style=""></div>
</div>
</div>
</div>
<script type="text/javascript" src="background.js"></script>
</body>
</html>

View File

@@ -0,0 +1,376 @@
(function () {
var onlineImage,
backupStyle = editor.queryCommandValue('background');
window.onload = function () {
initTabs();
initColorSelector();
};
/* 初始化tab标签 */
function initTabs(){
var tabs = $G('tabHeads').children;
for (var i = 0; i < tabs.length; i++) {
domUtils.on(tabs[i], "click", function (e) {
var target = e.target || e.srcElement;
for (var j = 0; j < tabs.length; j++) {
if(tabs[j] == target){
tabs[j].className = "focus";
var contentId = tabs[j].getAttribute('data-content-id');
$G(contentId).style.display = "block";
if(contentId == 'imgManager') {
initImagePanel();
}
}else {
tabs[j].className = "";
$G(tabs[j].getAttribute('data-content-id')).style.display = "none";
}
}
});
}
}
/* 初始化颜色设置 */
function initColorSelector () {
var obj = editor.queryCommandValue('background');
if (obj) {
var color = obj['background-color'],
repeat = obj['background-repeat'] || 'repeat',
image = obj['background-image'] || '',
position = obj['background-position'] || 'center center',
pos = position.split(' '),
x = parseInt(pos[0]) || 0,
y = parseInt(pos[1]) || 0;
if(repeat == 'no-repeat' && (x || y)) repeat = 'self';
image = image.match(/url[\s]*\(([^\)]*)\)/);
image = image ? image[1]:'';
updateFormState('colored', color, image, repeat, x, y);
} else {
updateFormState();
}
var updateHandler = function () {
updateFormState();
updateBackground();
}
domUtils.on($G('nocolorRadio'), 'click', updateBackground);
domUtils.on($G('coloredRadio'), 'click', updateHandler);
domUtils.on($G('url'), 'keyup', function(){
if($G('url').value && $G('alignment').style.display == "none") {
utils.each($G('repeatType').children, function(item){
item.selected = ('repeat' == item.getAttribute('value') ? 'selected':false);
});
}
updateHandler();
});
domUtils.on($G('repeatType'), 'change', updateHandler);
domUtils.on($G('x'), 'keyup', updateBackground);
domUtils.on($G('y'), 'keyup', updateBackground);
initColorPicker();
}
/* 初始化颜色选择器 */
function initColorPicker() {
var me = editor,
cp = $G("colorPicker");
/* 生成颜色选择器ui对象 */
var popup = new UE.ui.Popup({
content: new UE.ui.ColorPicker({
noColorText: me.getLang("clearColor"),
editor: me,
onpickcolor: function (t, color) {
updateFormState('colored', color);
updateBackground();
UE.ui.Popup.postHide();
},
onpicknocolor: function (t, color) {
updateFormState('colored', 'transparent');
updateBackground();
UE.ui.Popup.postHide();
}
}),
editor: me,
onhide: function () {
}
});
/* 设置颜色选择器 */
domUtils.on(cp, "click", function () {
popup.showAnchor(this);
});
domUtils.on(document, 'mousedown', function (evt) {
var el = evt.target || evt.srcElement;
UE.ui.Popup.postHide(el);
});
domUtils.on(window, 'scroll', function () {
UE.ui.Popup.postHide();
});
}
/* 初始化在线图片列表 */
function initImagePanel() {
onlineImage = onlineImage || new OnlineImage('imageList');
}
/* 更新背景色设置面板 */
function updateFormState (radio, color, url, align, x, y) {
var nocolorRadio = $G('nocolorRadio'),
coloredRadio = $G('coloredRadio');
if(radio) {
nocolorRadio.checked = (radio == 'colored' ? false:'checked');
coloredRadio.checked = (radio == 'colored' ? 'checked':false);
}
if(color) {
domUtils.setStyle($G("colorPicker"), "background-color", color);
}
if(url && /^\//.test(url)) {
var a = document.createElement('a');
a.href = url;
browser.ie && (a.href = a.href);
url = browser.ie ? a.href:(a.protocol + '//' + a.host + a.pathname + a.search + a.hash);
}
if(url || url === '') {
$G('url').value = url;
}
if(align) {
utils.each($G('repeatType').children, function(item){
item.selected = (align == item.getAttribute('value') ? 'selected':false);
});
}
if(x || y) {
$G('x').value = parseInt(x) || 0;
$G('y').value = parseInt(y) || 0;
}
$G('alignment').style.display = coloredRadio.checked && $G('url').value ? '':'none';
$G('custom').style.display = coloredRadio.checked && $G('url').value && $G('repeatType').value == 'self' ? '':'none';
}
/* 更新背景颜色 */
function updateBackground () {
if ($G('coloredRadio').checked) {
var color = domUtils.getStyle($G("colorPicker"), "background-color"),
bgimg = $G("url").value,
align = $G("repeatType").value,
backgroundObj = {
"background-repeat": "no-repeat",
"background-position": "center center"
};
if (color) backgroundObj["background-color"] = color;
if (bgimg) backgroundObj["background-image"] = 'url(' + bgimg + ')';
if (align == 'self') {
backgroundObj["background-position"] = $G("x").value + "px " + $G("y").value + "px";
} else if (align == 'repeat-x' || align == 'repeat-y' || align == 'repeat') {
backgroundObj["background-repeat"] = align;
}
editor.execCommand('background', backgroundObj);
} else {
editor.execCommand('background', null);
}
}
/* 在线图片 */
function OnlineImage(target) {
this.container = utils.isString(target) ? document.getElementById(target) : target;
this.init();
}
OnlineImage.prototype = {
init: function () {
this.reset();
this.initEvents();
},
/* 初始化容器 */
initContainer: function () {
this.container.innerHTML = '';
this.list = document.createElement('ul');
this.clearFloat = document.createElement('li');
domUtils.addClass(this.list, 'list');
domUtils.addClass(this.clearFloat, 'clearFloat');
this.list.id = 'imageListUl';
this.list.appendChild(this.clearFloat);
this.container.appendChild(this.list);
},
/* 初始化滚动事件,滚动到地步自动拉取数据 */
initEvents: function () {
var _this = this;
/* 滚动拉取图片 */
domUtils.on($G('imageList'), 'scroll', function(e){
var panel = this;
if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) {
_this.getImageData();
}
});
/* 选中图片 */
domUtils.on(this.container, 'click', function (e) {
var target = e.target || e.srcElement,
li = target.parentNode,
nodes = $G('imageListUl').childNodes;
if (li.tagName.toLowerCase() == 'li') {
updateFormState('nocolor', null, '');
for (var i = 0, node; node = nodes[i++];) {
if (node == li && !domUtils.hasClass(node, 'selected')) {
domUtils.addClass(node, 'selected');
updateFormState('colored', null, li.firstChild.getAttribute("_src"), 'repeat');
} else {
domUtils.removeClasses(node, 'selected');
}
}
updateBackground();
}
});
},
/* 初始化第一次的数据 */
initData: function () {
/* 拉取数据需要使用的值 */
this.state = 0;
this.listSize = editor.getOpt('imageManagerListSize');
this.listIndex = 0;
this.listEnd = false;
/* 第一次拉取数据 */
this.getImageData();
},
/* 重置界面 */
reset: function() {
this.initContainer();
this.initData();
},
/* 向后台拉取图片列表数据 */
getImageData: function () {
var _this = this;
if(!_this.listEnd && !this.isLoadingData) {
this.isLoadingData = true;
var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')),
isJsonp = utils.isCrossDomainUrl(url);
ajax.request(url, {
'timeout': 100000,
'dataType': isJsonp ? 'jsonp':'',
'data': utils.extend({
start: this.listIndex,
size: this.listSize
}, editor.queryCommandValue('serverparam')),
'method': 'get',
'onsuccess': function (r) {
try {
var json = isJsonp ? r:eval('(' + r.responseText + ')');
if (json.state == 'SUCCESS') {
_this.pushData(json.list);
_this.listIndex = parseInt(json.start) + parseInt(json.list.length);
if(_this.listIndex >= json.total) {
_this.listEnd = true;
}
_this.isLoadingData = false;
}
} catch (e) {
if(r.responseText.indexOf('ue_separate_ue') != -1) {
var list = r.responseText.split(r.responseText);
_this.pushData(list);
_this.listIndex = parseInt(list.length);
_this.listEnd = true;
_this.isLoadingData = false;
}
}
},
'onerror': function () {
_this.isLoadingData = false;
}
});
}
},
/* 添加图片到列表界面上 */
pushData: function (list) {
var i, item, img, icon, _this = this,
urlPrefix = editor.getOpt('imageManagerUrlPrefix');
for (i = 0; i < list.length; i++) {
if(list[i] && list[i].url) {
item = document.createElement('li');
img = document.createElement('img');
icon = document.createElement('span');
domUtils.on(img, 'load', (function(image){
return function(){
_this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight);
}
})(img));
img.width = 113;
img.setAttribute('src', urlPrefix + list[i].url + (list[i].url.indexOf('?') == -1 ? '?noCache=':'&noCache=') + (+new Date()).toString(36) );
img.setAttribute('_src', urlPrefix + list[i].url);
domUtils.addClass(icon, 'icon');
item.appendChild(img);
item.appendChild(icon);
this.list.insertBefore(item, this.clearFloat);
}
}
},
/* 改变图片大小 */
scale: function (img, w, h, type) {
var ow = img.width,
oh = img.height;
if (type == 'justify') {
if (ow >= oh) {
img.width = w;
img.height = h * oh / ow;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else {
img.width = w * ow / oh;
img.height = h;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
}
} else {
if (ow >= oh) {
img.width = w * ow / oh;
img.height = h;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else {
img.width = w;
img.height = h * oh / ow;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
}
}
},
getInsertList: function () {
var i, lis = this.list.children, list = [], align = getAlign();
for (i = 0; i < lis.length; i++) {
if (domUtils.hasClass(lis[i], 'selected')) {
var img = lis[i].firstChild,
src = img.getAttribute('_src');
list.push({
src: src,
_src: src,
floatStyle: align
});
}
}
return list;
}
};
dialog.onok = function () {
updateBackground();
editor.fireEvent('saveScene');
};
dialog.oncancel = function () {
editor.execCommand('background', backupStyle);
};
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,65 @@
/*
* 图表配置文件
* */
//不同类型的配置
var typeConfig = [
{
chart: {
type: 'line'
},
plotOptions: {
line: {
dataLabels: {
enabled: false
},
enableMouseTracking: true
}
}
}, {
chart: {
type: 'line'
},
plotOptions: {
line: {
dataLabels: {
enabled: true
},
enableMouseTracking: false
}
}
}, {
chart: {
type: 'area'
}
}, {
chart: {
type: 'bar'
}
}, {
chart: {
type: 'column'
}
}, {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ ( Math.round( this.point.percentage*100 ) / 100 ) +' %';
}
}
}
}
}
];

View File

@@ -0,0 +1,165 @@
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow-x: hidden;
}
.main {
width: 100%;
overflow: hidden;
}
.table-view {
height: 100%;
float: left;
margin: 20px;
width: 40%;
}
.table-view .table-container {
width: 100%;
margin-bottom: 50px;
overflow: scroll;
}
.table-view th {
padding: 5px 10px;
background-color: #F7F7F7;
}
.table-view td {
width: 50px;
text-align: center;
padding:0;
}
.table-container input {
width: 40px;
padding: 5px;
border: none;
outline: none;
}
.table-view caption {
font-size: 18px;
text-align: left;
}
.charts-view {
/*margin-left: 49%!important;*/
width: 50%;
margin-left: 49%;
height: 400px;
}
.charts-container {
border-left: 1px solid #c3c3c3;
}
.charts-format fieldset {
padding-left: 20px;
margin-bottom: 50px;
}
.charts-format legend {
padding-left: 10px;
padding-right: 10px;
}
.format-item-container {
padding: 20px;
}
.format-item-container label {
display: block;
margin: 10px 0;
}
.charts-format .data-item {
border: 1px solid black;
outline: none;
padding: 2px 3px;
}
/* 图表类型 */
.charts-type {
margin-top: 50px;
height: 300px;
}
.scroll-view {
border: 1px solid #c3c3c3;
border-left: none;
border-right: none;
overflow: hidden;
}
.scroll-container {
margin: 20px;
width: 100%;
overflow: hidden;
}
.scroll-bed {
width: 10000px;
_margin-top: 20px;
-webkit-transition: margin-left .5s ease;
-moz-transition: margin-left .5s ease;
transition: margin-left .5s ease;
}
.view-box {
display: inline-block;
*display: inline;
*zoom: 1;
margin-right: 20px;
border: 2px solid white;
line-height: 0;
overflow: hidden;
cursor: pointer;
}
.view-box img {
border: 1px solid #cecece;
}
.view-box.selected {
border-color: #7274A7;
}
.button-container {
margin-bottom: 20px;
text-align: center;
}
.button-container a {
display: inline-block;
width: 100px;
height: 25px;
line-height: 25px;
border: 1px solid #c2ccd1;
margin-right: 30px;
text-decoration: none;
color: black;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
}
.button-container a:HOVER {
background: #fcfcfc;
}
.button-container a:ACTIVE {
border-top-color: #c2ccd1;
box-shadow:inset 0 5px 4px -4px rgba(49, 49, 64, 0.1);
}
.edui-charts-not-data {
height: 100px;
line-height: 100px;
text-align: center;
}

View File

@@ -0,0 +1,89 @@
<!DOCTYPE html>
<html>
<head>
<title>chart</title>
<meta chartset="utf-8">
<link rel="stylesheet" type="text/css" href="charts.css">
<script type="text/javascript" src="../internal.js"></script>
</head>
<body>
<div class="main">
<div class="table-view">
<h3><var id="lang_data_source"></var></h3>
<div id="tableContainer" class="table-container"></div>
<h3><var id="lang_chart_format"></var></h3>
<form name="data-form">
<div class="charts-format">
<fieldset>
<legend><var id="lang_data_align"></var></legend>
<div class="format-item-container">
<label>
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="1" checked="checked">
<var id="lang_chart_align_same"></var>
</label>
<label>
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="-1">
<var id="lang_chart_align_reverse"></var>
</label>
<br>
</div>
</fieldset>
<fieldset>
<legend><var id="lang_chart_title"></var></legend>
<div class="format-item-container">
<label>
<var id="lang_chart_main_title"></var><input type="text" name="title" class="data-item">
</label>
<label>
<var id="lang_chart_sub_title"></var><input type="text" name="sub-title" class="data-item not-pie-item">
</label>
<label>
<var id="lang_chart_x_title"></var><input type="text" name="x-title" class="data-item not-pie-item">
</label>
<label>
<var id="lang_chart_y_title"></var><input type="text" name="y-title" class="data-item not-pie-item">
</label>
</div>
</fieldset>
<fieldset>
<legend><var id="lang_chart_tip"></var></legend>
<div class="format-item-container">
<label>
<var id="lang_cahrt_tip_prefix"></var>
<input type="text" id="tipInput" name="tip" class="data-item" disabled="disabled">
</label>
<p><var id="lang_cahrt_tip_description"></var></p>
</div>
</fieldset>
<fieldset>
<legend><var id="lang_chart_data_unit"></var></legend>
<div class="format-item-container">
<label><var id="lang_chart_data_unit_title"></var><input type="text" name="unit" class="data-item"></label>
<p><var id="lang_chart_data_unit_description"></var></p>
</div>
</fieldset>
</div>
</form>
</div>
<div class="charts-view">
<div id="chartsContainer" class="charts-container"></div>
<div id="chartsType" class="charts-type">
<h3><var id="lang_chart_type"></var></h3>
<div class="scroll-view">
<div class="scroll-container">
<div id="scrollBed" class="scroll-bed"></div>
</div>
<div id="buttonContainer" class="button-container">
<a href="#" data-title="prev"><var id="lang_prev_btn"></var></a>
<a href="#" data-title="next"><var id="lang_next_btn"></var></a>
</div>
</div>
</div>
</div>
</div>
<script src="../../third-party/jquery-1.10.2.min.js"></script>
<script src="../../third-party/highcharts/highcharts.js"></script>
<script src="chart.config.js"></script>
<script src="charts.js"></script>
</body>
</html>

View File

@@ -0,0 +1,519 @@
/*
* 图片转换对话框脚本
**/
var tableData = [],
//编辑器页面table
editorTable = null,
chartsConfig = window.typeConfig,
resizeTimer = null,
//初始默认图表类型
currentChartType = 0;
window.onload = function () {
editorTable = domUtils.findParentByTagName( editor.selection.getRange().startContainer, 'table', true);
//未找到表格, 显示错误页面
if ( !editorTable ) {
document.body.innerHTML = "<div class='edui-charts-not-data'>未找到数据</div>";
return;
}
//初始化图表类型选择
initChartsTypeView();
renderTable( editorTable );
initEvent();
initUserConfig( editorTable.getAttribute( "data-chart" ) );
$( "#scrollBed .view-box:eq("+ currentChartType +")" ).trigger( "click" );
updateViewType( currentChartType );
dialog.addListener( "resize", function () {
if ( resizeTimer != null ) {
window.clearTimeout( resizeTimer );
}
resizeTimer = window.setTimeout( function () {
resizeTimer = null;
renderCharts();
}, 500 );
} );
};
function initChartsTypeView () {
var contents = [];
for ( var i = 0, len = chartsConfig.length; i<len; i++ ) {
contents.push( '<div class="view-box" data-chart-type="'+ i +'"><img width="300" src="images/charts'+ i +'.png"></div>' );
}
$( "#scrollBed" ).html( contents.join( "" ) );
}
//渲染table 以便用户修改数据
function renderTable ( table ) {
var tableHtml = [];
//构造数据
for ( var i = 0, row; row = table.rows[ i ]; i++ ) {
tableData[ i ] = [];
tableHtml[ i ] = [];
for ( var j = 0, cell; cell = row.cells[ j ]; j++ ) {
var value = getCellValue( cell );
if ( i > 0 && j > 0 ) {
value = +value;
}
if ( i === 0 || j === 0 ) {
tableHtml[ i ].push( '<th>'+ value +'</th>' );
} else {
tableHtml[ i ].push( '<td><input type="text" class="data-item" value="'+ value +'"></td>' );
}
tableData[ i ][ j ] = value;
}
tableHtml[ i ] = tableHtml[ i ].join( "" );
}
//draw 表格
$( "#tableContainer" ).html( '<table id="showTable" border="1"><tbody><tr>'+ tableHtml.join( "</tr><tr>" ) +'</tr></tbody></table>' );
}
/*
* 根据表格已有的图表属性初始化当前图表属性
*/
function initUserConfig ( config ) {
var parsedConfig = {};
if ( !config ) {
return;
}
config = config.split( ";" );
$.each( config, function ( index, item ) {
item = item.split( ":" );
parsedConfig[ item[ 0 ] ] = item[ 1 ];
} );
setUserConfig( parsedConfig );
}
function initEvent () {
var cacheValue = null,
//图表类型数
typeViewCount = chartsConfig.length- 1,
$chartsTypeViewBox = $( '#scrollBed .view-box' );
$( ".charts-format" ).delegate( ".format-ctrl", "change", function () {
renderCharts();
} )
$( ".table-view" ).delegate( ".data-item", "focus", function () {
cacheValue = this.value;
} ).delegate( ".data-item", "blur", function () {
if ( this.value !== cacheValue ) {
renderCharts();
}
cacheValue = null;
} );
$( "#buttonContainer" ).delegate( "a", "click", function (e) {
e.preventDefault();
if ( this.getAttribute( "data-title" ) === 'prev' ) {
if ( currentChartType > 0 ) {
currentChartType--;
updateViewType( currentChartType );
}
} else {
if ( currentChartType < typeViewCount ) {
currentChartType++;
updateViewType( currentChartType );
}
}
} );
//图表类型变化
$( '#scrollBed' ).delegate( ".view-box", "click", function (e) {
var index = $( this ).attr( "data-chart-type" );
$chartsTypeViewBox.removeClass( "selected" );
$( $chartsTypeViewBox[ index ] ).addClass( "selected" );
currentChartType = index | 0;
//饼图, 禁用部分配置
if ( currentChartType === chartsConfig.length - 1 ) {
disableNotPieConfig();
//启用完整配置
} else {
enableNotPieConfig();
}
renderCharts();
} );
}
function renderCharts () {
var data = collectData();
$('#chartsContainer').highcharts( $.extend( {}, chartsConfig[ currentChartType ], {
credits: {
enabled: false
},
exporting: {
enabled: false
},
title: {
text: data.title,
x: -20 //center
},
subtitle: {
text: data.subTitle,
x: -20
},
xAxis: {
title: {
text: data.xTitle
},
categories: data.categories
},
yAxis: {
title: {
text: data.yTitle
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
enabled: true,
valueSuffix: data.suffix
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 1
},
series: data.series
} ));
}
function updateViewType ( index ) {
$( "#scrollBed" ).css( 'marginLeft', -index*324+'px' );
}
function collectData () {
var form = document.forms[ 'data-form' ],
data = null;
if ( currentChartType !== chartsConfig.length - 1 ) {
data = getSeriesAndCategories();
$.extend( data, getUserConfig() );
//饼图数据格式
} else {
data = getSeriesForPieChart();
data.title = form[ 'title' ].value;
data.suffix = form[ 'unit' ].value;
}
return data;
}
/**
* 获取用户配置信息
*/
function getUserConfig () {
var form = document.forms[ 'data-form' ],
info = {
title: form[ 'title' ].value,
subTitle: form[ 'sub-title' ].value,
xTitle: form[ 'x-title' ].value,
yTitle: form[ 'y-title' ].value,
suffix: form[ 'unit' ].value,
//数据对齐方式
tableDataFormat: getTableDataFormat (),
//饼图提示文字
tip: $( "#tipInput" ).val()
};
return info;
}
function setUserConfig ( config ) {
var form = document.forms[ 'data-form' ];
config.title && ( form[ 'title' ].value = config.title );
config.subTitle && ( form[ 'sub-title' ].value = config.subTitle );
config.xTitle && ( form[ 'x-title' ].value = config.xTitle );
config.yTitle && ( form[ 'y-title' ].value = config.yTitle );
config.suffix && ( form[ 'unit' ].value = config.suffix );
config.dataFormat == "-1" && ( form[ 'charts-format' ][ 1 ].checked = true );
config.tip && ( form[ 'tip' ].value = config.tip );
currentChartType = config.chartType || 0;
}
function getSeriesAndCategories () {
var form = document.forms[ 'data-form' ],
series = [],
categories = [],
tmp = [],
tableData = getTableData();
//反转数据
if ( getTableDataFormat() === "-1" ) {
for ( var i = 0, len = tableData.length; i < len; i++ ) {
for ( var j = 0, jlen = tableData[ i ].length; j < jlen; j++ ) {
if ( !tmp[ j ] ) {
tmp[ j ] = [];
}
tmp[ j ][ i ] = tableData[ i ][ j ];
}
}
tableData = tmp;
}
categories = tableData[0].slice( 1 );
for ( var i = 1, data; data = tableData[ i ]; i++ ) {
series.push( {
name: data[ 0 ],
data: data.slice( 1 )
} );
}
return {
series: series,
categories: categories
};
}
/*
* 获取数据源数据对齐方式
*/
function getTableDataFormat () {
var form = document.forms[ 'data-form' ],
items = form['charts-format'];
return items[ 0 ].checked ? items[ 0 ].value : items[ 1 ].value;
}
/*
* 禁用非饼图类型的配置项
*/
function disableNotPieConfig() {
updateConfigItem( 'disable' );
}
/*
* 启用非饼图类型的配置项
*/
function enableNotPieConfig() {
updateConfigItem( 'enable' );
}
function updateConfigItem ( value ) {
var table = $( "#showTable" )[ 0 ],
isDisable = value === 'disable' ? true : false;
//table中的input处理
for ( var i = 2 , row; row = table.rows[ i ]; i++ ) {
for ( var j = 1, cell; cell = row.cells[ j ]; j++ ) {
$( "input", cell ).attr( "disabled", isDisable );
}
}
//其他项处理
$( "input.not-pie-item" ).attr( "disabled", isDisable );
$( "#tipInput" ).attr( "disabled", !isDisable )
}
/*
* 获取饼图数据
* 饼图的数据只取第一行的
**/
function getSeriesForPieChart () {
var series = {
type: 'pie',
name: $("#tipInput").val(),
data: []
},
tableData = getTableData();
for ( var j = 1, jlen = tableData[ 0 ].length; j < jlen; j++ ) {
var title = tableData[ 0 ][ j ],
val = tableData[ 1 ][ j ];
series.data.push( [ title, val ] );
}
return {
series: [ series ]
};
}
function getTableData () {
var table = document.getElementById( "showTable" ),
xCount = table.rows[0].cells.length - 1,
values = getTableInputValue();
for ( var i = 0, value; value = values[ i ]; i++ ) {
tableData[ Math.floor( i / xCount ) + 1 ][ i % xCount + 1 ] = values[ i ];
}
return tableData;
}
function getTableInputValue () {
var table = document.getElementById( "showTable" ),
inputs = table.getElementsByTagName( "input" ),
values = [];
for ( var i = 0, input; input = inputs[ i ]; i++ ) {
values.push( input.value | 0 );
}
return values;
}
function getCellValue ( cell ) {
var value = utils.trim( ( cell.innerText || cell.textContent || '' ) );
return value.replace( new RegExp( UE.dom.domUtils.fillChar, 'g' ), '' ).replace( /^\s+|\s+$/g, '' );
}
//dialog确认事件
dialog.onok = function () {
//收集信息
var form = document.forms[ 'data-form' ],
info = getUserConfig();
//添加图表类型
info.chartType = currentChartType;
//同步表格数据到编辑器
syncTableData();
//执行图表命令
editor.execCommand( 'charts', info );
};
/*
* 同步图表编辑视图的表格数据到编辑器里的原始表格
*/
function syncTableData () {
var tableData = getTableData();
for ( var i = 1, row; row = editorTable.rows[ i ]; i++ ) {
for ( var j = 1, cell; cell = row.cells[ j ]; j++ ) {
cell.innerHTML = tableData[ i ] [ j ];
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,43 @@
.jd img{
background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.pp img{
background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:25px;height:25px;display:block;
}
.ldw img{
background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.tsj img{
background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.cat img{
background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.bb img{
background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.youa img{
background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block;
}
.smileytable td {height: 37px;}
#tabPanel{margin-left:5px;overflow: hidden;}
#tabContent {float:left;background:#FFFFFF;}
#tabContent div{display: none;width:480px;overflow:hidden;}
#tabIconReview.show{left:17px;display:block;}
.menuFocus{background:#ACCD3C;}
.menuDefault{background:#FFFFFF;}
#tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;}
img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;}
.wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;}
.tabbody table{width: 100%;}
.tabbody td{border:1px solid #BAC498;}
.tabbody td span{display: block;zoom:1;padding:0 4px;}

View File

@@ -0,0 +1,54 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex, nofollow"/>
<script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="emotion.css">
</head>
<body>
<div id="tabPanel" class="wrapper">
<div id="tabHeads" class="tabhead">
<span><var id="lang_input_choice"></var></span>
<span><var id="lang_input_Tuzki"></var></span>
<span><var id="lang_input_lvdouwa"></var></span>
<span><var id="lang_input_BOBO"></var></span>
<span><var id="lang_input_babyCat"></var></span>
<span><var id="lang_input_bubble"></var></span>
<span><var id="lang_input_youa"></var></span>
</div>
<div id="tabBodys" class="tabbody">
<div id="tab0"></div>
<div id="tab1"></div>
<div id="tab2"></div>
<div id="tab3"></div>
<div id="tab4"></div>
<div id="tab5"></div>
<div id="tab6"></div>
</div>
</div>
<div id="tabIconReview">
<img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
</div>
<script type="text/javascript" src="emotion.js"></script>
<script type="text/javascript">
var emotion = {
tabNum:7, //切换面板数量
SmilmgName:{ tab0:['j_00', 84], tab1:['t_00', 40], tab2:['w_00', 52], tab3:['B_00', 63], tab4:['C_00', 20], tab5:['i_f', 50], tab6:['y_00', 40] }, //图片前缀名
imageFolders:{ tab0:'jx2/', tab1:'tsj/', tab2:'ldw/', tab3:'bobo/', tab4:'babycat/', tab5:'face/', tab6:'youa/'}, //图片对应文件夹路径
imageCss:{tab0:'jd', tab1:'tsj', tab2:'ldw', tab3:'bb', tab4:'cat', tab5:'pp', tab6:'youa'}, //图片css类名
imageCssOffset:{tab0:35, tab1:35, tab2:35, tab3:35, tab4:35, tab5:25, tab6:35}, //图片偏移
SmileyInfor:{
tab0:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
tab1:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
tab2:['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
tab3:['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
tab4:['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
tab5:['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
tab6:['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
}
};
</script>
</body>
</html>

View File

@@ -0,0 +1,186 @@
window.onload = function () {
editor.setOpt({
emotionLocalization:false
});
emotion.SmileyPath = editor.options.emotionLocalization === true ? 'images/' : "http://img.baidu.com/hi/";
emotion.SmileyBox = createTabList( emotion.tabNum );
emotion.tabExist = createArr( emotion.tabNum );
initImgName();
initEvtHandler( "tabHeads" );
};
function initImgName() {
for ( var pro in emotion.SmilmgName ) {
var tempName = emotion.SmilmgName[pro],
tempBox = emotion.SmileyBox[pro],
tempStr = "";
if ( tempBox.length ) return;
for ( var i = 1; i <= tempName[1]; i++ ) {
tempStr = tempName[0];
if ( i < 10 ) tempStr = tempStr + '0';
tempStr = tempStr + i + '.gif';
tempBox.push( tempStr );
}
}
}
function initEvtHandler( conId ) {
var tabHeads = $G( conId );
for ( var i = 0, j = 0; i < tabHeads.childNodes.length; i++ ) {
var tabObj = tabHeads.childNodes[i];
if ( tabObj.nodeType == 1 ) {
domUtils.on( tabObj, "click", (function ( index ) {
return function () {
switchTab( index );
};
})( j ) );
j++;
}
}
switchTab( 0 );
$G( "tabIconReview" ).style.display = 'none';
}
function InsertSmiley( url, evt ) {
var obj = {
src:editor.options.emotionLocalization ? editor.options.UEDITOR_HOME_URL + "dialogs/emotion/" + url : url
};
obj._src = obj.src;
editor.execCommand( 'insertimage', obj );
if ( !evt.ctrlKey ) {
dialog.popup.hide();
}
}
function switchTab( index ) {
autoHeight( index );
if ( emotion.tabExist[index] == 0 ) {
emotion.tabExist[index] = 1;
createTab( 'tab' + index );
}
//获取呈现元素句柄数组
var tabHeads = $G( "tabHeads" ).getElementsByTagName( "span" ),
tabBodys = $G( "tabBodys" ).getElementsByTagName( "div" ),
i = 0, L = tabHeads.length;
//隐藏所有呈现元素
for ( ; i < L; i++ ) {
tabHeads[i].className = "";
tabBodys[i].style.display = "none";
}
//显示对应呈现元素
tabHeads[index].className = "focus";
tabBodys[index].style.display = "block";
}
function autoHeight( index ) {
var iframe = dialog.getDom( "iframe" ),
parent = iframe.parentNode.parentNode;
switch ( index ) {
case 0:
iframe.style.height = "380px";
parent.style.height = "392px";
break;
case 1:
iframe.style.height = "220px";
parent.style.height = "232px";
break;
case 2:
iframe.style.height = "260px";
parent.style.height = "272px";
break;
case 3:
iframe.style.height = "300px";
parent.style.height = "312px";
break;
case 4:
iframe.style.height = "140px";
parent.style.height = "152px";
break;
case 5:
iframe.style.height = "260px";
parent.style.height = "272px";
break;
case 6:
iframe.style.height = "230px";
parent.style.height = "242px";
break;
default:
}
}
function createTab( tabName ) {
var faceVersion = "?v=1.1", //版本号
tab = $G( tabName ), //获取将要生成的Div句柄
imagePath = emotion.SmileyPath + emotion.imageFolders[tabName], //获取显示表情和预览表情的路径
positionLine = 11 / 2, //中间数
iWidth = iHeight = 35, //图片长宽
iColWidth = 3, //表格剩余空间的显示比例
tableCss = emotion.imageCss[tabName],
cssOffset = emotion.imageCssOffset[tabName],
textHTML = ['<table class="smileytable">'],
i = 0, imgNum = emotion.SmileyBox[tabName].length, imgColNum = 11, faceImage,
sUrl, realUrl, posflag, offset, infor;
for ( ; i < imgNum; ) {
textHTML.push( '<tr>' );
for ( var j = 0; j < imgColNum; j++, i++ ) {
faceImage = emotion.SmileyBox[tabName][i];
if ( faceImage ) {
sUrl = imagePath + faceImage + faceVersion;
realUrl = imagePath + faceImage;
posflag = j < positionLine ? 0 : 1;
offset = cssOffset * i * (-1) - 1;
infor = emotion.SmileyInfor[tabName][i];
textHTML.push( '<td class="' + tableCss + '" border="1" width="' + iColWidth + '%" style="border-collapse:collapse;" align="center" bgcolor="transparent" onclick="InsertSmiley(\'' + realUrl.replace( /'/g, "\\'" ) + '\',event)" onmouseover="over(this,\'' + sUrl + '\',\'' + posflag + '\')" onmouseout="out(this)">' );
textHTML.push( '<span>' );
textHTML.push( '<img style="background-position:left ' + offset + 'px;" title="' + infor + '" src="' + emotion.SmileyPath + (editor.options.emotionLocalization ? '0.gif" width="' : 'default/0.gif" width="') + iWidth + '" height="' + iHeight + '"></img>' );
textHTML.push( '</span>' );
} else {
textHTML.push( '<td width="' + iColWidth + '%" bgcolor="#FFFFFF">' );
}
textHTML.push( '</td>' );
}
textHTML.push( '</tr>' );
}
textHTML.push( '</table>' );
textHTML = textHTML.join( "" );
tab.innerHTML = textHTML;
}
function over( td, srcPath, posFlag ) {
td.style.backgroundColor = "#ACCD3C";
$G( 'faceReview' ).style.backgroundImage = "url(" + srcPath + ")";
if ( posFlag == 1 ) $G( "tabIconReview" ).className = "show";
$G( "tabIconReview" ).style.display = 'block';
}
function out( td ) {
td.style.backgroundColor = "transparent";
var tabIconRevew = $G( "tabIconReview" );
tabIconRevew.className = "";
tabIconRevew.style.display = 'none';
}
function createTabList( tabNum ) {
var obj = {};
for ( var i = 0; i < tabNum; i++ ) {
obj["tab" + i] = [];
}
return obj;
}
function createArr( tabNum ) {
var arr = [];
for ( var i = 0; i < tabNum; i++ ) {
arr[i] = 0;
}
return arr;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Some files were not shown because too many files have changed in this diff Show More