| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273 | 
							- Namespace.register("U.MD.O.E");
 
- U.MD.O.E.fileinfo;
 
- U.MD.O.E.userInfo;
 
- U.MD.O.E.web;   //互联权限
 
- //US是全局变量和定量的使用,统一用parent层的
 
- US = parent.US;
 
- //#region Excel 初始化
 
- /**
 
- * 打开保存数据的Excel
 
- *
 
- * @param  {object} 文件信息
 
- * @param  {object} 用户信息
 
- */
 
- U.MD.O.E.load = function (fileinfo, userinfo) {
 
-     //加载下拉控件
 
-     //U.MD.O.E.createSelection();
 
-     //加载群居变量
 
-     //    U.MD.O.E.fileinfo = fileinfo;
 
-     //    U.MD.O.E.userInfo = userinfo;
 
-     var _fileinfo = fileinfo,
 
-         _fileid = fileinfo.UserDirectoryID; //文档id
 
-     U.MD.O.E.variable(fileinfo, userinfo); //初始化全局变量
 
-     U.MD.O.E.getData(); //取数据并加载excel
 
-     //U.MD.O.E.connect(); //互联版本
 
-     U.MD.O.E.Panel.loadPlayUser(fileinfo); //加载协助人员窗体
 
-     U.MD.O.E.Panel.loadOfficeHistory(fileinfo); //加载历史记录
 
-     U.MD.O.E.Panel.loadLink(fileinfo);      //加载连接分享模板
 
-     U.MD.O.E.TL.toolsbind($(".U_MD_O_H_head_mo")[0]); //加载初始链接模块
 
-     top.$('#UD_Excel' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0].onblur = function () {
 
-         U.MD.O.E.TitleChange(); //设置标题同步事件
 
-     }
 
- }
 
- /*
 
- * excel 其他功能函数
 
- */
 
- U.MD.O.E.otherFun = function () {
 
-     U.MD.O.E.createSelection(); //创建下拉元素
 
-     U.MD.O.E.TL.borderPicker(); //边框选择器
 
-     U.MD.O.E.BC.scrollY();      //上下滚动
 
-     U.MD.O.E.KE.Control();      //键盘控制单元格事件
 
-     U.MD.O.E.TL.toolsbind($('.U_MD_O_H_head_mo')[0]); //给工具栏绑定onresize事件
 
-     $(".U_MD_O_E_headInput")[0].focus();  //默认文本框聚焦
 
-     U.MD.O.E.BC.cloneCell();    //聚焦元素右下角克隆
 
-     U.MD.O.E.TL.borderPicker(); //边框选择器
 
- }
 
- /*
 
- * 获取后台excel数据的方法
 
- */
 
- U.MD.O.E.getData = function () {
 
-     var _fileinfo = U.MD.O.E.fileinfo, //获取前台用户数据组
 
-         _fileid = _fileinfo.UserDirectoryID, //获取文件id
 
-         _permission = U.MD.O.E.permission(); //获取用户权限json
 
-     if (_permission.web) {  //如果是群文件 協同 
 
-         parent.U.A.Request(US.SCOKET, ['getExcel', _fileid, US.pageId, U.MD.O.E.userInfo.userid], U.MD.O.E.AsynLoad); //获取office内容        
 
-     }
 
-     else if (_fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) {  //已入库 则取数据
 
-         // parent.U.A.Request(US.AUTH, ["GetFileContent", _fileid], U.MD.O.E.AsynLoad); //开始获取数据
 
-         U.A.Request(US.DISK, ["GetFileContent", fileinfo.UserDirectoryID], function (r) {
 
-             //获取word内容
 
-             if (r.value && r.value.UsOffice !== undefined && r.value.UsOffice != null) {
 
-                 U.MD.O.E.AsynLoad(r);
 
-             }
 
-             //如果内容不存在则去office系统中获取
 
-             else {
 
-                 U.A.Request("http://office.1473.cn/Officetohtml.ashx", ["Open", fileinfo.UserDirectoryExtendType, fileinfo.UserFilesServerName], function (r) {
 
-                     if (r.value.value != undefined) {
 
-                         var _table = $$("div");
 
-                         _taskId = Guid.newGuid();
 
-                         fileinfo.UsOffice = {}; //定义初始文档对象
 
-                         fileinfo.UsOffice[_taskId] = {/* 工作表 */
 
-                             column: {       //列板 A-Z
 
-                                 change: {}, //被改变宽度的 列
 
-                                 num: 200      //列的数量
 
-                             },
 
-                             row: {          //行板 1-200
 
-                                 change: {},     //被改变高度的  行
 
-                                 num: 200     //初始化行的数量 暂时为200 
 
-                             },
 
-                             cell: {},       //右内容的单元格 和 被合并的单元格  
 
-                             img: [],
 
-                             taskName: "工作表1",
 
-                             titie: ""
 
-                         }
 
-                         _xlsxData = JSON.parse(r.value.value);
 
-                         for (var i = 0; i < _xlsxData[0].length; i++) {
 
-                             for (var j in _xlsxData[0][i]) {
 
-                                 _col = j.replace(/^Column/, '');
 
-                                 _col = parseInt(_col);
 
-                                 if (fileinfo.UsOffice[_taskId].cell[_col]) {
 
-                                     fileinfo.UsOffice[_taskId].cell[_col][i + 1] = _xlsxData[0][i][j];
 
-                                 } else {
 
-                                     fileinfo.UsOffice[_taskId].cell[_col] = {};
 
-                                     fileinfo.UsOffice[_taskId].cell[_col][i + 1] = _xlsxData[0][i][j];
 
-                                 }
 
-                             }
 
-                         }
 
-                         U.MD.O.E.AsynLoad({ "value": fileinfo.UsOffice });
 
-                     }
 
-                     else {
 
-                         U.MD.O.E.AsynLoad(r);
 
-                     }
 
-                 });
 
-             }
 
-         });
 
-     }
 
-     else {  //无入库时
 
-         U.MD.O.E.initExcel();        //初始化内容
 
-     }
 
- }
 
- /*
 
- 访问数据库后的回调函数
 
- */
 
- U.MD.O.E.AsynLoad = function (r) {
 
-     var _data; //定义变量
 
-     if (r.value && r.value.UsOffice !== undefined) {//判断返回值是不是office的json数据
 
-         _data = r.value.UsOffice; //如果有,json解析它
 
-     } else {//如果没有
 
-         _data = r.value; //正常加载
 
-     }
 
-     if (_data) {  //如果获取到了数据
 
-         typeof (_data) === "string" ? _data = JSON.parse(_data) : ""; //判断是否为其他json数据,如果是,解析它
 
-         U.MD.O.E.data = _data; //修改全局变量
 
-         U.MD.O.E.printTask();    //打印工作表
 
-         U.MD.O.E.rePrintExcel(); //重新打印表格
 
-         U.MD.O.E.otherFun(); //创建下拉,滚动等事件
 
-     } else {
 
-         U.MD.O.E.initExcel();        //初始化内容
 
-     }
 
- }
 
- /*
 
- * 编辑器权限函数 
 
- * 返回用户权限json
 
- */
 
- U.MD.O.E.permission = function () {
 
-     var _iseditor,              //是否可编辑
 
-         _isgroup,            //群用户
 
-         _permission = {      //权限
 
-             "edit": false,  //可编辑权限
 
-             "web": false    //互联权限
 
-         };
 
-     if (!U.MD.O.E.fileinfo.UserId) { //如果没有登录 则没有编辑权限
 
-         _permission.edit = true;    //就给其编辑权限
 
-         return _permission;
 
-     }
 
-     if (U.MD.O.E.fileinfo && US.friend.group) {//判断用户是否在群里操作群文件
 
-         _isgroup = U.Json.select(US.friend.group, {
 
-             "GroupManageID": U.MD.O.E.fileinfo.GroupID
 
-         })[0]; //向后台发请求,判断用户是否再操作群文件中
 
-     }
 
-     if (U.MD.O.E.fileinfo && (U.MD.O.E.fileinfo.GroupID == U.MD.O.E.userInfo.userid || U.MD.O.E.fileinfo.UserId == US.userInfo.userid)) {//判断是否是有编辑权限
 
-         _iseditor = true; //如果有,就改变变量的值
 
-     }
 
-     if (_isgroup) {//是ftp用户就判断是不是群用户
 
-         _permission.web = true;     //互联办公的权限
 
-         _permission.edit = true;    //就给其编辑权限
 
-     } else if (_iseditor) {
 
-         _permission.edit = true;    //就给其编辑权限
 
-     }
 
-     U.MD.O.E.web = _permission.web;
 
-     return _permission; //返回用户权限json
 
- }
 
- /**
 
- * 初始化全局变量
 
- * @param   {object}    文档信息
 
- * @param   {object}    登录用户信息
 
- *
 
- */
 
- U.MD.O.E.variable = function (fileinfo, userinfo) {
 
-     U.MD.O.E.fileinfo = fileinfo //文档信息
 
-     U.MD.O.E.userInfo = userinfo; //用户信息
 
-     U.MD.O.E.taskCopyId = null; //当前无复制的工作表
 
-     U.MD.O.E.colBoardWidth = 107;      //列板 A-Z 的每一列的默认宽    
 
-     U.MD.O.E.rowBoardHeight = 22;      //行板 1-200 的每一列的默认高
 
-     U.MD.O.E.colBoardNum = 26;         //列板的初始数量     
 
-     U.MD.O.E.rowBoardNum = 200;        //行板的初始数量
 
-     U.MD.O.E.taskNum = 1;        //工作表数量
 
-     U.MD.O.E.taskId = Guid.newGuid();   //当前工作表id
 
-     U.MD.O.E.data = {}; //定义初始文档对象
 
-     U.MD.O.E.data[U.MD.O.E.taskId] = {/* 工作表 */
 
-         column: {       //列板 A-Z
 
-             change: {}, //被改变宽度的 列
 
-             num: U.MD.O.E.colBoardNum      //列的数量
 
-         },
 
-         row: {          //行板 1-200
 
-             change: {},     //被改变高度的  行
 
-             num: U.MD.O.E.rowBoardNum     //初始化行的数量 暂时为200 
 
-         },
 
-         cell: {},       //右内容的单元格 和 被合并的单元格  
 
-         img: [],
 
-         taskName: "工作表1",
 
-         titie: ""
 
-     }
 
-     _Newleft = 0; //最新的top值
 
-     _Newtop = 0; //最新的top值
 
-     _NewRolltop = 0; //定义初始Rolltop的值
 
-     _NewRollleft = 0; //定义初始Rollleft的值
 
-     _Percentage = 0; //定义初始Percentage的值
 
-     _PageMove = ""; //定义初始PageMove的值
 
- }
 
- /*
 
- * 此处是添加新的工作表
 
- */
 
- U.MD.O.E.addTask = function () {
 
-     U.MD.O.E.taskId = Guid.newGuid();   //修改工作表id
 
-     U.MD.O.E.taskNum++;  //工作表数量加1
 
-     var _data;
 
-     if (U.MD.O.E.taskCopyId) { //如果存在复制的工作表 则复制该工作表的数据
 
-         _data = JSON.stringify(U.MD.O.E.data[U.MD.O.E.taskCopyId]); //克隆json  转成字符串
 
-         _data = JSON.parse(_data);  //再将字符串 转乘成json
 
-         _data.taskName = "工作表" + U.MD.O.E.taskNum;
 
-     } else {  /* 初始化表格的数据 */
 
-         _data = {/* 工作表 */
 
-             column: {       //列板 A-Z
 
-                 change: {}, //被改变宽度的 列
 
-                 num: U.MD.O.E.colBoardNum      //列的数量
 
-             },
 
-             row: {          //行板 1-200
 
-                 change: {},     //被改变高度的  行
 
-                 num: U.MD.O.E.rowBoardNum     //初始化行的数量 暂时为200 
 
-             },
 
-             cell: {},       //右内容的单元格 和 被合并的单元格  
 
-             img: [],
 
-             taskName: "工作表" + U.MD.O.E.taskNum//修改表单名字
 
-         }
 
-     }
 
-     var _dataInfo = {
 
-         id: U.MD.O.E.taskId,
 
-         data: _data
 
-     }//创建json,记录数据
 
-     U.MD.O.E.dataChange(U.MD.O.E.excelInfo("addTask", _dataInfo)); //调用修改事件
 
-     /*-------------以下函數为添加工作栏并切换----------*/
 
-     var _taskBar = $(".U_MD_O_E_taskBar")[0],   //工作栏元素
 
-         _taskEl = $(".U_MD_O_E_task")[0];   //需要克隆的工作表元素
 
-     _newTask = _taskEl.cloneNode(); ////开始克隆节点
 
-     _newTask.style.display = "block"; //显示对象
 
-     _newTask.id = U.MD.O.E.taskId; //修改id
 
-     _newTask.innerText = _data.taskName; //修改内容
 
-     $(".U_MD_O_E_taskCheck").removeClass("U_MD_O_E_taskCheck"); //删除对应对象集合
 
-     $(_newTask).addClass("U_MD_O_E_taskCheck"); //添加对应对象
 
-     _taskBar.appendChild(_newTask); //添加对应对象
 
-     U.MD.O.E.rePrintExcel();    //重新打印表格
 
-     U.MD.O.E.addTaskClick(_newTask);    //工作表添加点击事件
 
-     U.MD.O.E.rightClick(_newTask, "taskBar"); //工作表添加右键事件
 
-     U.MD.O.E.taskCopyId = null;      //清空复制ID
 
- }
 
- /*
 
- *   工作表添加点击事件
 
- *   taskEl 工作表元素
 
- */
 
- U.MD.O.E.addTaskClick = function (taskEl) {
 
-     $(taskEl).bind('click', function (e) {//给对象添加点击事件
 
-         U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         $(".U_MD_O_E_taskCheck").removeClass("U_MD_O_E_taskCheck"); //移除这个对象集合
 
-         $(this).addClass("U_MD_O_E_taskCheck"); //添加一个新的对象名
 
-         U.MD.O.E.taskId = this.id; //修改id
 
-         U.MD.O.E.rePrintExcel(); //重新打印表格
 
-     });
 
- }
 
- /*
 
- * 打印工作表
 
- * @param   {Booleans}    是否为站点工作表打印
 
- */
 
- U.MD.O.E.printTask = function (data) {
 
-     var _data = U.MD.O.E.data, //获取全局变量
 
-         _taskBar = $(".U_MD_O_E_taskBar")[0],   //工作栏元素
 
-         _taskEl = $(".U_MD_O_E_task")[0], //获取工作表最外层div
 
-         _newTask,
 
-         _attr,
 
-         _num = 0;
 
-     U.MD.O.E.taskNum = U.MD.O.E.jsonLen(_data); //获取json的数量,用全局变量来接结果
 
-     for (_attr in _data) {//开始循环创建每一个工作表div
 
-         _newTask = _taskEl.cloneNode(); //开始克隆节点
 
-         _newTask.style.display = "block"; //显示它
 
-         _newTask.id = _attr; //设置id
 
-         _num++;
 
-         _newTask.innerText = _data[_attr].taskName || "工作表" + _num; //设置内容
 
-         if (_num === 1) {//判断是否为第一个
 
-             $(".U_MD_O_E_taskCheck").removeClass(".U_MD_O_E_taskCheck");
 
-             $(_newTask).addClass("U_MD_O_E_taskCheck")
 
-             U.MD.O.E.taskId = _attr;        //当前选中工作表的id是 _attr;
 
-         }
 
-         _taskBar.appendChild(_newTask); //将元素添加进去
 
-         if (!data) {//判断是否为站点视图
 
-             U.MD.O.E.addTaskClick(_newTask);    //工作表添加点击事件
 
-             U.MD.O.E.rightClick(_newTask, "taskBar"); //工作表添加右键事件
 
-         } else {//如果是
 
-             _newTask.onclick = function () {//设置点击事件
 
-                 $(".U_MD_O_E_taskCheck")[0].className = "U_MD_O_E_task"; //修改classname改变颜色
 
-                 this.className = "U_MD_O_E_task U_MD_O_E_taskCheck "; //修改classname改变颜色
 
-                 U.MD.O.E.rePrintExcel(U.MD.O.E.data[this.id], true); //打印对应表格
 
-             }
 
-         }
 
-     }
 
- }
 
- /*
 
- *新建文档
 
- */
 
- U.MD.O.E.newExcel = function () {
 
-     parent.U.MD.D.I.openApplication("excel", { "userid": US.userInfo.userid, "directoryid": US.FTPFOLDERID }); //打开文档处理
 
- }
 
- /*
 
- * info 所需要修改的内容
 
- * req 为 true 则 不发送后台
 
- */
 
- U.MD.O.E.dataChange = function (info, req) {
 
-     var _messageInfo = info.messageInfo || info, //获取内容
 
-         _type = _messageInfo.type, //获取种类
 
-         _excelData = U.MD.O.E.data, //获取全局文档内容
 
-         _content = _messageInfo.content; //获取修改内容
 
-     switch (_type) {
 
-         case "blur": //判断是否为普通修改内容
 
-             U.MD.O.E.dataChange.blur(_content);
 
-             break;
 
-         case "addLine": //判断是否为添加行内容
 
-             U.MD.O.E.dataChange.addLine(_content);
 
-             break;
 
-         case "delLine": //判断是否为删除行内容
 
-             U.MD.O.E.dataChange.delLine(_content);
 
-             break;
 
-         case "addCol": //判断是否为添加列内容
 
-             U.MD.O.E.dataChange.addCol(_content);
 
-             break;
 
-         case "delCol": //判断是否为删除列改内容
 
-             U.MD.O.E.dataChange.delCol(_content);
 
-             break;
 
-         case "merge": //判断是否为合并单元格修改内容
 
-             U.MD.O.E.dataChange.merge(_content);
 
-             break;
 
-         case "splitCells": //判断是否为拆分单元格修改内容
 
-             U.MD.O.E.dataChange.splitCells(_content);
 
-             break;
 
-         case "rowExpanding": //判断是否为行板拉伸数据保存修改内容
 
-             U.MD.O.E.dataChange.rowExpanding(_content);
 
-             break;
 
-         case "colExpanding": //判断是否为列板拉伸数据保存修改内容
 
-             U.MD.O.E.dataChange.colExpanding(_content);
 
-             break;
 
-         case "img": //判断是否为图片修改内容
 
-             U.MD.O.E.dataChange.img(_content);
 
-             break;
 
-         case "addTask": //判断是否为添加工作表数据保存修改内容
 
-             U.MD.O.E.dataChange.addTask(_content);
 
-             break;
 
-         case "deleteTask": //判断是否为删除工作表数据保存修改内容
 
-             U.MD.O.E.dataChange.deleteTask(_content);
 
-             break;
 
-         case "reNameTask": //判断是否为工作表重命名修改内容
 
-             U.MD.O.E.dataChange.reNameTask(_content);
 
-             break;
 
-         case "setStyle": //判断是否为修改样式修改内容
 
-             U.MD.O.E.dataChange.setStyle(_content);
 
-             break;
 
-         case "setBorder": //判断是否为修改边框样式数据保存内容
 
-             U.MD.O.E.dataChange.setBorder(_content);
 
-             break;
 
-         case "imgChange": //判断是否为图片修改内容
 
-             U.MD.O.E.dataChange.imgChange(_content);
 
-             break;
 
-         case "excelAddHref": //判断是否为插入链接修改内容
 
-             U.MD.O.E.dataChange.excelAddHref(_content);
 
-             break;
 
-         case "clearAContent": //判断是否为删除链接修改内容
 
-             U.MD.O.E.dataChange.clearAContent(_content);
 
-             break;
 
-         case "updateTitle": //判断是否为同步修改文件名内容
 
-             U.MD.O.E.data[U.MD.O.E.taskId].title = _content[0];
 
-             break;
 
-     }
 
-     U.MD.O.E.web && !req ? U.MD.O.E.send(info) : "";    //发送后台请求
 
-     //console.log(_excelData);
 
- };
 
- /*
 
- * 图片拉伸和拖拽
 
- * content 需要加入或修改的json数据
 
- * taskId 工作表id
 
- */
 
- U.MD.O.E.dataChange.imgChange = function (content, taskId) {
 
-     var _content = content,
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _imgData = _excelData.img; //获取img数据
 
-     _imgData[0].left = _content.left; //设置初始left
 
-     _imgData[0].top = _content.top; //设置初始top
 
- }
 
- /*
 
- * 插入链接
 
- * content 需要加入或修改的json数据
 
- * taskId 工作表id
 
- */
 
- U.MD.O.E.dataChange.excelAddHref = function (content, taskId) {
 
-     var _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _cellData = _excelData.cell, //获取修改内容信息
 
-         _content = content;
 
-     var _cellColList = _cellData[_content.col], //获取该数据里的所有列
 
-             _cell;
 
-     if (!_cellColList) {        //如果列不存在 则创建一个列
 
-         _cellColList = _cellData[_content.col] = {};
 
-     }
 
-     if (!_cellColList[_content.row]) {  //如果该行_列 不存在单元格数据 则创建个json 给单元格添加数据
 
-         _cellColList[_content.row] = {};
 
-         _cellColList[_content.row].cssStyle = {};   //css样式
 
-     }
 
-     _cell = _cellColList[_content.row]; //获取该单元格的数据 (json)
 
-     _content.content ? _cell.innerHTML = _content.content : "";  //修改该单元格的innerHTML
 
- }
 
- /*
 
- * 删除链接
 
- * content 需要加入或修改的json数据
 
- * taskId 工作表id
 
- */
 
- U.MD.O.E.dataChange.clearAContent = function (content, taskId) {
 
-     var _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-     _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-     _cellData = _excelData.cell, //获取修改内容信息
 
-     _content = content;
 
-     var _cellColList = _cellData[_content.col], //获取该数据里的所有列
 
-         _cell;
 
-     if (!_cellColList) {        //如果列不存在 则创建一个列
 
-         _cellColList = _cellData[_content.col] = {};
 
-     }
 
-     if (!_cellColList[_content.row]) {  //如果该行_列 不存在单元格数据 则创建个json 给单元格添加数据
 
-         _cellColList[_content.row] = {};
 
-         _cellColList[_content.row].cssStyle = {};   //css样式
 
-     }
 
-     _cell = _cellColList[_content.row]; //获取该单元格的数据 (json)
 
-     _content.content ? _cell.innerHTML = _content.content : "";  //修改该单元格的innerHTML
 
- }
 
- /*-------------------------------以下是数据保存各个类型的接口-------------------------------------------------------------------------------------*/
 
- ///*
 
- //* 失焦数据保存
 
- //* content 需要加入或修改的json数据
 
- //* taskId 工作表id 可填可不填
 
- //*/
 
- //U.MD.O.E.dataChange.blur = function (content, taskId) {
 
- //    var _taskId = taskId || U.MD.O.E.taskId,    //如果有taskId传过来 则修改 data数据里 taskId里的数据 否则则修改当前工作表id里的数据
 
- //        _excelData = U.MD.O.E.data[_taskId],  //获取taskId工作表的数据
 
- //        _cellData = _excelData.cell,  //获取该数据里的单元格数据
 
- //        _content = content, //获取需要保存的json数据
 
- //        _text = _content.innerText.replace(/\s+/g, ""),  //去掉空格 给下面做判断 如果内容为空 则删除该数据
 
- //        _cellColList = _cellData[_content.col], //获取该数据里的所有列
 
- //        _cell;  
 
- //    if (!_cellColList) {        //如果列不存在 则创建一个列
 
- //        _cellColList = _cellData[_content.col] = {};
 
- //    }
 
- //    if (!_cellColList[_content.row]) {  //如果该行_列 不存在单元格数据 则创建个json 给单元格添加数据
 
- //        _cellColList[_content.row] = {}; 
 
- //    }
 
- //    _cell = _cellColList[_content.row]; //获取该单元格的数据 (json)
 
- //    _cell.innerHTML = _content.content;  //修改该单元格的innerHTML
 
- //    _cell.cssText = _content.cssText;  //修改该单元格的cssText
 
- //    if ((!(_text) || _text === ("\u200D")) && !(_cell.endRow)) {   //如果innerHTML为空格 或 不存在 并且 不是合并单元格元素 则删除掉
 
- //        delete (_cellColList[_content.row]);
 
- //    }
 
- //};
 
- /*
 
- * 添加工作表数据保存
 
- * content 需要加入或修改的json数据
 
- */
 
- U.MD.O.E.dataChange.addTask = function (content) {
 
-     var _content = content; //获取信息
 
-     U.MD.O.E.data[content.id] = content.data; //设置全局变量内容
 
- }
 
- /*
 
- * 添加工作表数据保存
 
- * content 需要加入或修改的json数据
 
- */
 
- U.MD.O.E.dataChange.deleteTask = function (content) {
 
-     var _content = content; //获取信息
 
-     delete U.MD.O.E.data[content.id]; //删除json里是该ID的所有数据  
 
- }
 
- /*
 
- * 工作表重命名数据保存
 
- * content 需要保存的json数据
 
- */
 
- U.MD.O.E.dataChange.reNameTask = function (content) {
 
-     var _content = content; //获取信息
 
-     U.MD.O.E.data[_content.id].taskName = _content.name; //设置全局变量内容
 
- }
 
- /*
 
- * 添加行数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.addLine = function (content, taskId) {
 
-     var _taskId = taskId || U.MD.O.E.taskId, //获取全局变量信息
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量信息
 
-         _content = content, //获取内容
 
-         _rowData = _excelData.row, //获取行数
 
-         _cellData = _excelData.cell, //获取列数
 
-         _start = _content.start,    //开始行
 
-         _lineNum = _content.lineNum,  //添加行的数量
 
-         _sizeChange = _content.sizeChange,   //添加的行的高度
 
-         _mergeArr = _content.mergeArr,  //合并单元格 元素 数组集合
 
-         _cellCol;
 
-     if (_mergeArr.length) { //如果添加了行 导致该行下的合并单元格元素的数据发生了变化 则此处是修改他们合并单元格的数据 加上 添加了_lineNum
 
-         _mergeArr.forEach(function (info) {
 
-             _cellData[info.col][info.row].endRow = _cellData[info.col][info.row].endRow + _lineNum;
 
-         });
 
-     }
 
-     for (var k in _cellData) {
 
-         _cellCol = _cellData[k];    //修改该列下的所有行单元格 的行数据
 
-         var temp = {};
 
-         for (var row in _cellCol) {//循环对象
 
-             if (row > _start) {//判断是否为合并元素
 
-                 temp[(+row) + _lineNum] = _cellCol[row];
 
-                 temp[(+row) + _lineNum].endRow ? temp[(+row) + _lineNum].endRow = temp[(+row) + _lineNum].endRow + _lineNum : ""; //如果是合并单元格的元素 则将endRow + _lineNum;
 
-             } else {//如果不是
 
-                 temp[row] = _cellCol[row]; //正常修改内容
 
-             }
 
-         }
 
-         _cellData[k] = temp;
 
-     } /*  该处for循环是修改数据中单元格的行数 */
 
-     var _rowDataChange = _rowData.change,   //获取数据表中 所有被改变高度的 行版信息
 
-         _temp = {},
 
-         _rowChange;
 
-     for (var k in _rowDataChange) {//循环判断
 
-         _rowChange = _rowDataChange[k];    //该行板的所有被改动的行数据
 
-         if (k > _start) {//判断是否为改变高度
 
-             _temp[(+k) + _lineNum] = _rowChange; //如果是,修改对应内容
 
-         } else {
 
-             _temp[k] = _rowChange; //如果没有,正常修改内容
 
-         }
 
-     } /* 该处for循环是修改数据中行版的行数  */
 
-     _rowData.change = _temp;
 
-     if (_sizeChange) {   //此处是如果添加的行 高度不是默认的 则将添加的行 对应的行板高度一起修改
 
-         for (var i = 1; i <= _lineNum; i++) {//循环开始
 
-             _rowData.change[_start + i] = _sizeChange;
 
-         }
 
-     }
 
-     _rowData.num = _rowData.num + _lineNum; //行板数量 = 行板数量 + 添加行的数量
 
- };
 
- /*
 
- * 删除行数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.delLine = function (content, taskId) {
 
-     var _content = content,
 
-         _taskId = taskId || U.MD.O.E.taskId,
 
-         _excelData = U.MD.O.E.data[_taskId],
 
-         _rowData = _excelData.row,
 
-         _cellData = _excelData.cell,
 
-         _start = _content.start,     //被选中的第一行
 
-         _end = _content.end,       //被选中的最后一行
 
-         _lineNum = _content.lineNum,  //所删除的行数
 
-         _mergeArr = _content.mergeArr,  //合并单元格 元素 数组集合
 
-         _cellCol;
 
-     for (var k in _cellData) {//循环开始
 
-         _cellCol = _cellData[k];
 
-         var temp = {};
 
-         for (var row in _cellCol) {
 
-             if (row > _end) {//判断是否为合并数据
 
-                 temp[(+row) - _lineNum] = _cellCol[row];
 
-                 temp[(+row) - _lineNum].endRow ? temp[(+row) - _lineNum].endRow = temp[(+row) - _lineNum].endRow - _lineNum : ""; //如果是合并单元格的元素 则将endRow - _lineNum;
 
-             } else if (row < _start) {//如果不是
 
-                 temp[row] = _cellCol[row];
 
-             }
 
-         }
 
-         _cellData[k] = temp;
 
-     }
 
-     if (_mergeArr.length) {
 
-         _mergeArr.forEach(function (info) {
 
-             U.MD.O.E.dataChange.merge(info, _taskId);
 
-         });
 
-     }
 
-     var _rowDataChange = _rowData.change,   //获取数据表中 所有被改变高度的 行版信息
 
-         _temp = {},
 
-         _rowChange;
 
-     for (var k in _rowDataChange) {
 
-         _rowChange = _rowDataChange[k];    //该行板的所有被改动的行数据
 
-         if (k < _start) { //如果大于结束行 则将该行下面的所有的数字信息 - 被删除的行
 
-             _temp[k] = _rowChange;
 
-         } else if (k > _end) {
 
-             _temp[(+k) - _lineNum] = _rowChange;
 
-         }
 
-     } /* 该处for循环是修改数据中行版的行数  */
 
-     _rowData.change = _temp;
 
-     _rowData.num = _rowData.num - _lineNum; //行板数量 = 行板数量 - 删除行的数量
 
- };
 
- /*
 
- * 添加列数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.addCol = function (content, taskId) {
 
-     var _content = content,
 
-         _taskId = taskId || U.MD.O.E.taskId,
 
-         _excelData = U.MD.O.E.data[_taskId],
 
-         _colData = _excelData.column,
 
-         _cellData = _excelData.cell,
 
-         _start = _content.start,     //被选中的第一列
 
-         _sizeChange = _content.sizeChange,   //添加的列的宽度
 
-         _colNums = _content.colNums,     //所添加的列数
 
-         _mergeArr = _content.mergeArr,  //合并单元格 元素 数组集合
 
-         _cellCol,
 
-         _temp = {};
 
-     if (_mergeArr.length) {
 
-         _mergeArr.forEach(function (info) {
 
-             _cellData[info.col][info.row].endCol = _cellData[info.col][info.row].endCol + _colNums;
 
-         });
 
-     }
 
-     for (var k in _cellData) {
 
-         _cellCol = _cellData[k];
 
-         if (k > _start) {
 
-             _temp[+(k) + _colNums] = _cellCol;
 
-             var _temp2 = _temp[(+k) + _colNums];
 
-             for (var i in _temp2) {
 
-                 _temp2[i].endCol ? _temp2[i].endCol = _temp2[i].endCol + _colNums : ""; //如果是合并单元格的元素 则将endCol + _colNums;
 
-             }
 
-         } else {
 
-             _temp[k] = _cellCol;
 
-         }
 
-     }
 
-     _excelData.cell = _temp;
 
-     var _colDataChange = _colData.change,   //获取数据表中 所有被改变宽度的 列版信息
 
-         _temp = {},
 
-         _colChange;
 
-     for (var k in _colDataChange) {
 
-         _colChange = _colDataChange[k];    //该列板的所有被改动的列数据
 
-         if (k > _start) {
 
-             _temp[(+k) + _colNums] = _colChange;
 
-         } else {
 
-             _temp[k] = _colChange;
 
-         }
 
-     } /* 该处for循环是修改数据中行版的行数  */
 
-     _colData.change = _temp;
 
-     if (_sizeChange) {
 
-         for (var i = 1; i <= _colNums; i++) {
 
-             _colData.change[_start + i] = _sizeChange;
 
-         }
 
-     }
 
-     _colData.num = _colData.num + _colNums; //列板数量 = 列板数量 + 添加列的数量
 
- };
 
- /*
 
- * 删除列数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.delCol = function (content, taskId) {
 
-     var _content = content,
 
-         _taskId = taskId || U.MD.O.E.taskId,
 
-         _excelData = U.MD.O.E.data[_taskId],
 
-         _colData = _excelData.column,
 
-         _cellData = _excelData.cell,
 
-         _start = _content.start,     //被选中的第一行
 
-         _end = _content.end,       //被选中的最后一行
 
-         _colNums = _content.colNums,  //所删除的列数
 
-         _mergeArr = _content.mergeArr,  //合并单元格 元素 数组集合
 
-         _cellCol,
 
-         _temp = {};
 
-     for (var k in _cellData) {
 
-         _cellCol = _cellData[k];
 
-         if (k > _end) {//判断是否为合并数据
 
-             _temp[+(k) - _colNums] = _cellCol;
 
-             var _temp2 = _temp[(+k) - _colNums];
 
-             for (var i in _temp2) {
 
-                 _temp2[i].endCol ? _temp2[i].endCol = _temp2[i].endCol - _colNums : ""; //如果是合并单元格的元素 则将endCol - _colNums;
 
-             }
 
-         } else if (k < _start) {
 
-             _temp[k] = _cellCol;
 
-         }
 
-     }
 
-     _excelData.cell = _temp;
 
-     if (_mergeArr.length) {
 
-         _mergeArr.forEach(function (info) { //info为[{单元格1,单元格2},{单元格1,单元格2}]
 
-             U.MD.O.E.dataChange.merge(info, _taskId);
 
-         });
 
-     }
 
-     var _colDataChange = _colData.change,   //获取数据表中 所有被改变宽度的 列版信息
 
-         _temp = {},
 
-         _colChange;
 
-     for (var k in _colDataChange) {
 
-         _colChange = _colDataChange[k];    //该列板的所有被改动的列数据
 
-         if (k < _start) { //如果大于结束列 则将该列下面的所有的数字信息 - 被删除的列
 
-             _temp[k] = _colChange;
 
-         } else if (k > _end) {
 
-             _temp[(+k) - _colNums] = _colChange;
 
-         }
 
-     } /* 该处for循环是修改数据中行版的行数  */
 
-     _colData.change = _temp;
 
-     _colData.num = _colData.num - _colNums; //列板数量 = 列板数量 - 删除列的数量
 
- };
 
- /*
 
- * 合并单元格数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.merge = function (content, taskId) {
 
-     var _content = content, //获取内容
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _cellData = _excelData.cell, //获取行列数据
 
-         _cellColList = _cellData[_content.col]; //获取修改列数
 
-     if (content.row === content.endRow && content.col === content.endCol) {//判断是否为跨行跨列内容
 
-         _cellData[_content.col][_content.row].endRow = ""; //修改对应内容
 
-         _cellData[_content.col][_content.row].endCol = ""//修改对应内容
 
-         return;
 
-     }
 
-     if (!_cellColList) {//判断是否为跨列
 
-         _cellColList = _cellData[_content.col] = {}; //修改对应内容
 
-     }
 
-     if (!_cellColList[_content.row]) {//判断是否为跨行
 
-         _cellColList[_content.row] = {}; //修改对应内容
 
-     }
 
-     _cellColList[_content.row].innerHTML = _content.content; //修改对应内容
 
-     _cellColList[_content.row].cssText = _content.cssText; //修改对应内容
 
-     _cellColList[_content.row].endRow = _content.endRow; //修改对应内容
 
-     _cellColList[_content.row].endCol = _content.endCol; //修改对应内容
 
- };
 
- /* 拆分单元格
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.splitCells = function (content, taskId) {
 
-     var _content = content, //获取内容
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _cellData = _excelData.cell, //获取行列数据
 
-         _cell = _cellData[_content.col][_content.row];   //需要拆分的单元格
 
-     _cell.endRow = "";
 
-     _cell.endCol = "";
 
- };
 
- /*
 
- * 行板拉伸数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.rowExpanding = function (content, taskId) {
 
-     var _content = content, //获取内容
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _rowData = _excelData.row; //获取行列数据
 
-     _content.forEach(function (data) {
 
-         var _rowNum = data.rowName, //拉伸行的位置 (数字)
 
-             _rowHeight = data.height;   //被拉伸后的宽度
 
-         _rowData.change[_rowNum] = _rowHeight;
 
-     });
 
- };
 
- /*
 
- * 列板拉伸数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.colExpanding = function (content, taskId) {
 
-     var _content = content, //获取内容
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _colData = _excelData.column;   //获取该工作表的 列的数据
 
-     _content.forEach(function (data) {
 
-         var _colNum = data.colName, //拉伸行的位置 (数字)
 
-             _colWidth = data.width;   //被拉伸后的宽度
 
-         _colData.change[_colNum] = _colWidth;
 
-     });
 
- };
 
- /*
 
- * 图片插入数据保存
 
- * content 需要保存的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.img = function (content, taskId) {
 
-     var _content = content, //获取内容
 
-         _taskId = taskId || U.MD.O.E.taskId, //获取全局变量
 
-         _excelData = U.MD.O.E.data[_taskId], //获取全局变量
 
-         _imgData = _excelData.img;
 
-     _imgData.push(content);
 
- };
 
- /*
 
- * 失焦数据保存
 
- * content 需要加入或修改的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.blur = function (content, taskId) {
 
-     var _taskId = taskId || U.MD.O.E.taskId,    //如果有taskId传过来 则修改 data数据里 taskId里的数据 否则则修改当前工作表id里的数据
 
-         _excelData = U.MD.O.E.data[_taskId],  //获取taskId工作表的数据
 
-         _cellData = _excelData.cell,  //获取该数据里的单元格数据
 
-         _content = content; //获取需要保存的json数据
 
-     _content.forEach(function (data) {
 
-         var _text = data.innerText.replace(/\s+/g, ""),  //去掉空格 给下面做判断 如果内容为空 则删除该数据
 
-             _cellColList = _cellData[data.col], //获取该数据里的所有列
 
-             _cell;
 
-         if (!_cellColList) {        //如果列不存在 则创建一个列
 
-             _cellColList = _cellData[data.col] = {};
 
-         }
 
-         if (!_cellColList[data.row]) {  //如果该行_列 不存在单元格数据 则创建个json 给单元格添加数据
 
-             _cellColList[data.row] = {};
 
-             _cellColList[data.row].cssStyle = {};   //css样式
 
-         }
 
-         _cell = _cellColList[data.row]; //获取该单元格的数据 (json)
 
-         data.content ? _cell.innerHTML = data.content : "";  //修改该单元格的innerHTML
 
-         if (data.attr) {  //如果存在样式的话
 
-             try {
 
-                 _cell.cssStyle[data.attr] = data.value;
 
-                 if (!data.value) {
 
-                     delete _cell.cssStyle[data.attr]
 
-                 }
 
-             } catch (e) {
 
-                 console.log(e);
 
-             }
 
-         }
 
-         var cssLen = U.MD.O.E.jsonLen(_cell.cssStyle);
 
-         if (data.clearStyle && !cssLen) {  //如果需要清除所有样式的话 
 
-             data.cssStyle = {};
 
-             data.clearStyle = false;
 
-         }
 
-         if (((!(_text) || _text === ("\u200D")) && !(_cell.endRow)) && !(cssLen)) {   //如果innerHTML为空格 或 不存在 并且 不是合并单元格元素 并且没有样式 则删除掉
 
-             delete (_cellColList[data.row]);
 
-         }
 
-     })
 
- };
 
- /*
 
- *修改边框样式数据保存
 
- * content 需要加入或修改的json数据
 
- * taskId 工作表id 可填可不填
 
- */
 
- U.MD.O.E.dataChange.setBorder = function (content, taskId) {
 
-     var _taskId = taskId || U.MD.O.E.taskId,    //如果有taskId传过来 则修改 data数据里 taskId里的数据 否则则修改当前工作表id里的数据
 
-         _excelData = U.MD.O.E.data[_taskId],  //获取taskId工作表的数据
 
-         _cellData = _excelData.cell,  //获取该数据里的单元格数据
 
-         _content = content; //获取需要保存的json数据
 
-     _content.forEach(function (data) {
 
-         var _text = data.innerText.replace(/\s+/g, ""),  //去掉空格 给下面做判断 如果内容为空 则删除该数据
 
-             _cellColList = _cellData[data.col], //获取该数据里的所有列
 
-             _cell;
 
-         if (!_cellColList) {        //如果列不存在 则创建一个列
 
-             _cellColList = _cellData[data.col] = {};
 
-         }
 
-         if (!_cellColList[data.row]) {  //如果该行_列 不存在单元格数据 则创建个json 给单元格添加数据
 
-             _cellColList[data.row] = {};
 
-             _cellColList[data.row].cssStyle = {};   //css样式
 
-         }
 
-         _cell = _cellColList[data.row]; //获取该单元格的数据 (json)
 
-         data.content ? _cell.innerHTML = data.content : "";  //修改该单元格的innerHTML
 
-         if (data.attr && data.br) {  //如果存在样式的话
 
-             try {
 
-                 _cell.cssStyle[data.br] = data.value;
 
-                 if (!data.value) {
 
-                     delete _cell.cssStyle[data.attr]
 
-                 }
 
-             } catch (e) {
 
-                 console.log(e);
 
-             }
 
-         }
 
-         if (data.attr && data.bb) {
 
-             try {
 
-                 _cell.cssStyle[data.bb] = data.value;
 
-                 if (!data.value) {
 
-                     delete _cell.cssStyle[data.attr]
 
-                 }
 
-             } catch (e) {
 
-                 console.log(e);
 
-             }
 
-         }
 
-         var cssLen = U.MD.O.E.jsonLen(_cell.cssStyle);
 
-         if (data.clearStyle && !cssLen) {  //如果需要清除所有样式的话 
 
-             data.cssStyle = {};
 
-             data.clearStyle = false;
 
-         }
 
-         if (((!(_text) || _text === ("\u200D")) && !(_cell.endRow)) && !(cssLen)) {   //如果innerHTML为空格 或 不存在 并且 不是合并单元格元素 并且没有样式 则删除掉
 
-             delete (_cellColList[data.row]);
 
-         }
 
-     });
 
- }
 
- /*
 
- * excel保存
 
- * diskinfo 1473的桌面信息
 
- */
 
- U.MD.O.E.Save = function (diskinfo) {
 
-     if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.E.userInfo = userinfo; })) {
 
-         var _isftp,
 
-             _isgroupuser,
 
-             _uid = U.MD.O.E.userInfo.userid,
 
-             _el = $(".U_MD_O_E_excelBox")[0], //excel编辑区域
 
-             _fileinfo = U.MD.O.E.fileinfo, //文件信息
 
-             _fileid = _fileinfo.UserDirectoryID, //文件ID
 
-              _name = top.$('#UD_Excel' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0].value,  //文件名称
 
-             _html = _el.innerHTML.escapeQuotes(), //内容
 
-             _jsonData = JSON.stringify(U.MD.O.E.data);  //需要保存的json数据
 
-         //            console.log(11);
 
-         var _directoryid = _fileinfo.UserDirectoryID; //目录id
 
-         if (_fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
 
-             top.U.A.Request(US.AUTH, ["SaveFileContent", U.MD.O.E.userInfo.userid, _fileid, _jsonData, _name], function (r) {
 
-                 console.log(r);
 
-                 //U.MD.O.E.fileinfo.UsOffice = _jsonData;
 
-                 //console.log(U.MD.O.E.fileinfo.UsOffice);
 
-                 U.Alert("保存成功");
 
-             }, (['', _el])); //保存到数据库
 
-         } else {  /*如果不是数据库的文档(没有存到云盘里)*/
 
-             top.U.MD.DK.VW.chosenSaveFile('ue', _directoryid, _name, function (fileinfo) {
 
-                 top.U.A.Request(US.AUTH, ["SaveFileContent", U.MD.O.E.userInfo.userid, _fileid, _jsonData, fileinfo.UserallDirectoryName], function (r) {
 
-                     //U.MD.O.E.fileinfo.UsOffice = _jsonData;
 
-                     //console.log(U.MD.O.E.fileinfo.UsOffice);
 
-                     //console.log($(".U_MD_O_E_floatBtn")[0]);
 
-                     U.Alert("保存成功");
 
-                 }); //保存到数据库
 
-             });
 
-             //            if (top.U.MD.DK.C.getDirectoryPermissions(_directoryid, diskinfo).isnew) {//此函数:判断是否有添加网盘的权限(新建工作表权限)
 
-             //        }
 
-             //            else { U.Alert("无权限访问此工作表"); };
 
-         }
 
-     }
 
- }
 
- //#endregion
 
- //#region 页面生成
 
- /**
 
- * 加载excel的内容处理
 
- * @param   {object}    文档信息
 
- * @param   {object}    登录用户信息
 
- *
 
- */
 
- U.MD.O.E.LoadContent = function (fileid, fileinfo) {
 
-     U.MD.O.E.initExcel(fileinfo); //查看文件
 
- }
 
- /**
 
- * 初始化Excel打开
 
- * @param   {object}    文档信息
 
- *
 
- */
 
- U.MD.O.E.initExcel = function () {
 
-     var _content = "";
 
-     U.MD.O.E.printExcel(); //打印表格
 
-     U.MD.O.E.otherFun(); //加载控件
 
- }
 
- /**
 
- * 打印excel,把excel展示出来
 
- * @param   {object}    文档信息
 
- *
 
- */
 
- U.MD.O.E.printExcel = function (excelobj) {
 
-     //底部任务栏的处理
 
-     var _excel = U.MD.O.E,
 
-         _pageobj,
 
-         _rowandrank;
 
-     _excel.printTask();    //打印工作表
 
-     _excel.printColBoard(U.MD.O.E.colBoardNum, {});    //打印上排板
 
-     _excel.printRowBoard(U.MD.O.E.rowBoardNum, {}); //打印左排版
 
-     _excel.printTable();  //打印所有单元格
 
-     _excel.focusInit();     //聚焦元素初始化
 
- }
 
- /*
 
- * 聚焦元素初始化(添加事件)
 
- */
 
- U.MD.O.E.focusInit = function () {
 
-     var _editorBox = $("#U_MD_O_E_editorBox")[0],         //聚焦元素里的编辑元素
 
-         _focusBox = $("#U_MD_O_E_focusBox")[0]; //聚焦元素
 
-     U.MD.O.E.BC.modifyFocusSize(1, 1, 1, 1);    //默认初始位置
 
-     _focusBox.style.background = "";
 
-     _focusBox.style.zIndex = "1";
 
-     $("#POS_1_1").addClass("U_MD_O_E_cellCheckd");
 
-     _editorBox.focusEl = $("#POS_1_1")[0];
 
-     /*---------以上默认单元格聚焦第一个---------*/
 
-     U.UF.E.picture.stretch($('.U_MD_O_E_excelBox')[0]);
 
-     $('.U_MD_O_E_excelBox').bind({//给袁角添加聚焦事件
 
-         click: function (e) {
 
-             if (e.target.tagName == "IMG") {//判断是否为图片,如果是,显示拉伸框,加入图片编辑
 
-                 $('.U_MD_O_E_excelBox')[0].imgStretch.img = e.target;
 
-                 $('.U_MD_O_E_excelBox')[0].imgStretch.stretch.upimg = e;
 
-                 U.UF.E.picture.stretch.setPosition($('.U_MD_O_E_excelBox')[0].imgStretch, e);
 
-                 $('.U_MD_O_E_excelBox')[0].focus();
 
-                 if (e.target == $(".U_MD_O_E_addTask_img")[0] || e.target == $(".U_MD_O_E_floatBtn")[0]) {
 
-                     $('.U_MD_O_E_excelBox')[0].imgStretch.stretch.style.display = "none"; //影藏拉伸框
 
-                 }
 
-             } else {
 
-                 $('.U_MD_O_E_excelBox')[0].imgStretch.stretch.style.display = "none"; //影藏拉伸框
 
-             }
 
-         }
 
-     }); //绑定拖拽事件
 
-     U.MD.O.E.BC.blur(); // 添加失焦时函数
 
-     U.MD.O.E.BC.focusDbClick(); //单元格双击编辑功能
 
-     U.MD.O.E.BC.editorKeyEvent();  //编辑器的键盘事件编写
 
- }
 
- /*
 
- * 重新打印数据的单元格
 
- * @param   {json}  载入表格的内容
 
- * @param   {boolean}  判断是否为站点视图加载
 
- */
 
- U.MD.O.E.rePrintExcel = function (data, datr) {
 
-     var _excel = U.MD.O.E, //获取全局变量
 
-         _data = data || U.MD.O.E.data[U.MD.O.E.taskId], //获取全局变量
 
-         _dataRow = _data.row, //获取行数
 
-         _dataCol = _data.column, //获取列数
 
-         _dataCell = _data.cell, //获取修改内容
 
-         _dataImg = _data.img; //获取图片内容
 
-     $(".U_MD_O_E_rowBoard")[0].innerHTML = ""; //初始化对应内容
 
-     $(".U_MD_O_E_colBoard")[0].innerHTML = ""; //初始化对应内容
 
-     $(".U_MD_O_E_cellBox")[0].innerHTML = ""; //初始化对应内容
 
-     if (datr) {//判断是否为站点视图,如果是
 
-         _excel.printColBoard(_dataCol.num, _dataCol, datr);    //打印上排板
 
-         _excel.printRowBoard(_dataRow.num, _dataRow, datr); //打印左排版
 
-         _excel.printTable(_dataCell, datr); //打印单元格
 
-         _excel.printImg(_dataImg, datr);      //打印图片      这个必须放在打印单元格后面
 
-     } else {//如果不是
 
-         _excel.printColBoard(_dataCol.num, _dataCol);    //打印上排板
 
-         _excel.printRowBoard(_dataRow.num, _dataRow); //打印左排版
 
-         _excel.printTable(_dataCell); //打印单元格
 
-         _excel.focusInit();     //聚焦元素初始化
 
-         _excel.printImg(_dataImg);      //打印图片      这个必须放在打印单元格后面
 
-     }
 
- }
 
- /**
 
- * 打印横排
 
- * @param   {colnum} 列板的数量
 
- * @param   {colBoardInfo}  列板需要修改的信息
 
- * @param   {boolean}  判断是否为站点视图加载
 
- *
 
- */
 
- U.MD.O.E.printColBoard = function (colnum, colBoardInfo, data) {
 
-     //_colBoard = $$("div", { className: "rowBox" }, _excelBox),
 
-     var _excel = U.MD.O.E, //获取全局变量
 
-         _excelBox = $(".U_MD_O_E_excelBox")[0],  //获取excel元素
 
-         _colBoard = $(".U_MD_O_E_colBoard")[0], //获取横排元素
 
-         _checkAll = $$("div", { className: "U_MD_O_E_checkAll" }, _colBoard), //创建div对象
 
-         _img = $$("img", { "onerror": U.MD.C.imgError, src: "http://coffice.1473.cn/Controls/Office/Excel/img/%E5%85%A8%E9%80%89.png" }, _checkAll), //创建图片对象
 
-         _frag = $$("frag"), //创建一个对象
 
-         i,
 
-         _column,
 
-         _name,
 
-         _allWidth = 45, //横排的总宽度 45是全选按钮的宽度
 
-         _colWidth = 136,   //列板的默认宽度暂时是136px
 
-         _newWidth,
 
-         _colBox = $$("div", { className: "U_MD_O_E_colBoardBox", style: { position: "relative", float: "left"} }, _frag), //创建div对象
 
-         _colCheckdEl = $$("div", { className: "U_MD_O_E_colCheckdEl", style: { position: "absolute"} }, _colBox), //创建div对象
 
-         _len = colnum;
 
-     for (i = 1; i <= _len; i++) {//设置循环,开始创建横排的每一排
 
-         _column = $$("div", { className: "U_MD_O_E_column" }, _colBox); //创建元素
 
-         $(_column).eAttr("colname", i); //修改内容
 
-         _name = U.MD.O.E.fromCharCode(i); //修改内容
 
-         _column.innerText = _name; //修改内容
 
-         _newWidth = _colWidth; //修改内容
 
-         if (!data) {//判断是否为站点视图,如果不是
 
-             _colRule = $$("div", { className: "U_MD_O_E_colRule" }, _column);
 
-             _colRule.style.cssText = "margin-left:-3px;position: absolute;top:0px;height: 100%;width: 6px;cursor: e-resize";
 
-             U.MD.O.E.BC.colExpanding(_colRule); //添加拉伸功能
 
-             U.MD.O.E.BC.cBoardChecked(_column); //添加点击 拖拽功能
 
-             _colRule.style.left = (_newWidth - 1) + "px";
 
-         }
 
-         /*------------------以上是默认值 定死的------------------*/
 
-         if (colBoardInfo.change && colBoardInfo.change[i]) {
 
-             _newWidth = colBoardInfo.change[i]
 
-         }
 
-         _column.style.width = _newWidth + "px"; //修改内容
 
-         _allWidth += _newWidth; //修改内容
 
-     }
 
-     _colBoard.style.width = _allWidth + "px"; //修改内容
 
-     _colBoard.appendChild(_frag); //元素添加进去
 
-     if (!data) {
 
-         _excel.rightClick(_colBoard, "colBoard");    //添加右键
 
-     }
 
- }
 
- /**
 
- * 打印竖排
 
- * @param   {number} 行数据
 
- * @param   {object} 行内容
 
- * @param   {boolean}  判断是否为站点视图加载
 
- *
 
- */
 
- U.MD.O.E.printRowBoard = function (columnnum, rowBoardInfo, data) {
 
-     //_rowBoard = $$("div", { className: "colBox" }, _excelBox),
 
-     var _excel = U.MD.O.E, //获取全局变量
 
-         _excelBox = $(".U_MD_O_E_excelBox")[0], //获取excel对象
 
-         _rowBoard = $(".U_MD_O_E_rowBoard")[0], //获取行对象
 
-         _rowCheckdEl,
 
-         _frag = $$("frag"), //创建元素
 
-         i,
 
-         _row,
 
-         _rowHeight = _excel.rowBoardHeight,
 
-         _newHeight,
 
-         _len = columnnum,
 
-         _rowRule;
 
-     if (!data) {//判断是否为站点载入,如果不是
 
-         _rowCheckdEl = $$("div", { className: "U_MD_O_E_rowCheckdEl", style: { position: "absolute"} }, _rowBoard); //创建div
 
-     }
 
-     for (i = 1; i <= _len; i++) {//创建循环,开始循环创建元素
 
-         _row = $$("div", { className: "U_MD_O_E_row" }, _frag); //创建div
 
-         $(_row).eAttr("rowname", i); //修改内容
 
-         _row.innerText = i; //修改内容
 
-         _row.style.lineHeight = "22px"; //修改内容
 
-         _newHeight = _rowHeight; //修改内容
 
-         if (!data) {//判断是否为站点视图,如果不是
 
-             _rowRule = $$("div", { className: "U_MD_O_E_rowRule" }, _row);
 
-             _rowRule.style.cssText = "margin-top:-3px;position: absolute;height: 6px;width: 100%;cursor: n-resize";
 
-             U.MD.O.E.BC.rowExpanding(_rowRule);
 
-             U.MD.O.E.BC.rBoardChecked(_row); //添加点击 拖拽功能
 
-             _rowRule.style.top = _newHeight + "px";
 
-         }
 
-         /*------------------以上是默认值 定死的------------------*/
 
-         if (rowBoardInfo.change && (rowBoardInfo.change[i])) {
 
-             _newHeight = rowBoardInfo.change[i]//修改内容
 
-         }
 
-         _row.style.height = _newHeight + "px"; //修改内容
 
-     }
 
-     _rowBoard.appendChild(_frag); //添加进对象中
 
-     if (!data) {
 
-         _excel.rightClick(_rowBoard, "rowBoard");    //添加右键
 
-     }
 
- }
 
- /*
 
- * 循环打印单元格
 
- * data 被合并单元格 或者 有文字单元格的json数据
 
- * @param   {boolean}  判断是否为站点视图加载
 
- */
 
- U.MD.O.E.printTable = function (data, bonn) {
 
-     //_cellBox = $$("div", { className: "cellBox" }, _excelBox),
 
-     var _focusBoxHTML = " <div id=\"U_MD_O_E_focusBox\" class=\"U_MD_O_E_focusBox\"> \n" +          /*聚焦元素*/
 
-         "            <div id=\"U_MD_O_E_editorBox\" class=\"U_MD_O_E_editorBox\" contenteditable=\"false\">\n" +
 
-         "            </div>\n" +
 
-         "            <div contenteditable=\"false\" class=\"U_MD_O_E_borderLeft U_MD_O_E_borderColor U_MD_O_E_borderDefalut\">\n" +
 
-         "            </div>\n" +
 
-         "            <div contenteditable=\"false\" class=\"U_MD_O_E_borderTop U_MD_O_E_borderColor U_MD_O_E_borderDefalut\">\n" +
 
-         "            </div>\n" +
 
-         "            <div contenteditable=\"false\" class=\"U_MD_O_E_borderRight U_MD_O_E_borderColor U_MD_O_E_borderDefalut\">\n" +
 
-         "            </div>\n" +
 
-         "            <div contenteditable=\"false\" class=\"U_MD_O_E_borderBottom U_MD_O_E_borderColor U_MD_O_E_borderDefalut\">\n" +
 
-         "            </div>\n" +
 
-         "            <div contenteditable=\"false\" class=\"U_MD_O_E_borderCorner\">\n" +
 
-         "            </div>\n" +
 
-         "        </div>", //初始化聚焦内容
 
-          _excel = U.MD.O.E, //获取全局变量
 
-         _excelBox = $(".U_MD_O_E_excelBox")[0], //获取表格对象
 
-         _cellBox = $(".U_MD_O_E_cellBox")[0], //获取单元格对象
 
-         _columnList = $(".U_MD_O_E_column"), //获取列对象
 
-         _rowList = $(".U_MD_O_E_row"), //获取行对象
 
-         _width,
 
-         _height,
 
-         _colLen = _columnList.length,
 
-         _rowLen = _rowList.length,
 
-         _frag = $$("frag"),
 
-         i,
 
-         j,
 
-         cell,
 
-         _left = 0,
 
-         _top = 0,
 
-         _colName,
 
-         _rowName;
 
-     if (!bonn || !data) {//判断是否为载入站点视图,如果不是
 
-         _cellBox.innerHTML = _focusBoxHTML; //加载聚焦对象
 
-     }
 
-     _excelBox.worksheetid = "e3979682e-cb7a-8db7-a3b3-88233ea32e24"
 
-     for (i = 0; i < _colLen; i++) {         //遍历列
 
-         _colName = _columnList[i].colname;
 
-         _width = _columnList[i].offsetWidth;        //对应列板的宽
 
-         for (j = 0; j < _rowLen; j++) {         //遍历行
 
-             _height = _rowList[j].offsetHeight; //修改内容
 
-             _rowName = _rowList[j].rowname; //修改内容
 
-             _cell = $$("div", { className: "U_MD_O_E_cell" }, _frag); //创建div对象
 
-             _cell.style.width = _width + "px"; //修改内容
 
-             _cell.style.height = _height + "px"; //修改内容
 
-             _cell.style.left = _left + "px"; //修改内容
 
-             _cell.style.top = _top + "px"; //修改内容
 
-             _cell.id = "POS_" + _colName + "_" + _rowName; //修改内容
 
-             $(_cell).eAttr("col", _colName); //修改内容
 
-             $(_cell).eAttr("row", _rowName); //修改内容
 
-             if (!bonn || !data) {//判断是否为载入站点视图,如果不是
 
-                 U.MD.O.E.BC.Focus(_cell);  //添加单元格聚焦事件
 
-                 U.MD.O.E.BC.dragCheckd(_cell); //添加拖拽选中事件
 
-             }
 
-             _top += _rowList[j].offsetHeight; //修改内容
 
-         }
 
-         _left += _columnList[i].offsetWidth; //修改内容
 
-         _top = 0;
 
-     }
 
-     _cellBox.appendChild(_frag); //添加进对象内
 
-     if (!bonn || !data) {//判断是否为载入站点视图,如果不是
 
-         _excel.rightClick(_cellBox, "cellBox");    //添加右键
 
-     }
 
-     var col,
 
-         row,
 
-         _innerHTML,
 
-         _colCell,
 
-         _endCell,
 
-         _cellInfo,
 
-         _cell;
 
-     if (data) {//判断是否为有数据的加载,如果是
 
-         for (var col in data) {
 
-             var _colCell = data[col];    //col列下的所有单元格
 
-             for (var row in _colCell) {
 
-                 _cellInfo = _colCell[row]; //获取内容
 
-                 _cell = $(_cellBox).find("#POS_" + col + "_" + row)[0]  //col列下 第row行单元格
 
-                 _cellInfo.innerHTML ? _cell.innerHTML = _cellInfo.innerHTML : '';
 
-                 if (_cellInfo.endRow) {   //如果存在endRow  则表示此单元格是合并的单元格
 
-                     _endCell = $(_cellBox).find("#POS_" + _cellInfo.endCol + "_" + _cellInfo.endRow)[0];
 
-                     _excel.RC.mergeCells(_cell, _endCell, true); //修改内容
 
-                 }
 
-                 if (U.MD.O.E.jsonLen(_cellInfo.cssStyle)) {   //如果存在css样式
 
-                     U.MD.O.E.TL.jsonSetStyle(_cell, _cellInfo.cssStyle); //修改内容
 
-                 }
 
-                 _cellInfo.cssText ? _cell.style.cssText = _cellInfo.cssText : ""; //修改内容
 
-             }
 
-         }
 
-     }
 
- }
 
- /*
 
- * 打印图片
 
- * dataArr 图片的数组json
 
- * @param   {boolean}  判断是否为站点视图加载
 
- */
 
- U.MD.O.E.printImg = function (dataArr, datr) {
 
-     var _img;
 
-     dataArr.forEach(function (data) {//循环数据
 
-         _img = U.MD.O.E.createImg(data.src, data);   //根据data创建相对应的图片
 
-         if (!datr) {//判断是否为站点加载,如果不是
 
-             U.MD.O.E.BC.pictureControl(_img); //加载拖拽事件
 
-         }
 
-     })
 
- }
 
- /**
 
- * 动态创建字体下拉框
 
- *
 
- */
 
- U.MD.O.E.createSelection = function () {
 
-     //$(".U_MD_O_H_head_navigation_Title")[0].focus();
 
-     var els = $('div[datafont]'), /*获取字体颜色的div*/
 
-         csstext = "font-weight: normal;white-space: pre; min-height: 1.2em; padding:6px 4px; cursor: pointer;background:#fff"; /*下拉框样式*/
 
-     U.MD.UI.editor.Select({ '宋体': '宋体', 'sans-serif': 'sans-serif', '微软雅黑': '微软雅黑', '楷体': '楷体', '黑体': '黑体', '隶书': '隶书', 'andale mono': 'andale mono', 'arial black': 'arial black' },
 
-     { "className": "U_MD_O_E_Editor_head_features_ul_s", style: { width: '100%', height: '20px', border: 'none'} }, function (v) { U.MD.O.E.TL.setStyle({ 'fontFamily': v }) },
 
-         els[0]) /*创建下拉框*/
 
-     U.MD.UI.editor.Select({ '12': '12号', '14': '14号', '16': '16号', '18': '18号', '20': '20号', '24': '24号' },
 
-     { "className": "U_MD_O_E_Editor_head_features_ul_s", style: { width: '100%', height: '20px', border: 'none'} },
 
-     function (v) { U.MD.O.E.TL.setStyle({ 'fontSize': v + 'px' }) },
 
-     els[1])/*创建下拉框*/
 
- }
 
- /** 
 
- * 插入图片
 
- * @param input 文件框
 
- */
 
- U.MD.O.E.upload = function (input) {
 
-     U.UF.UP.inputUpload([input], 'http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=FA92AAC5-4134-449F-9659-0DC12F4F68E9', function (r) {
 
-         var _src = 'http://fs.1473.cn/' + r.value[0],
 
-             _img;
 
-         _img = U.MD.O.E.createImg(_src);    //创建图片
 
-         _img.onload = function () {
 
-             var _data = {//创建对象储存内容
 
-                 src: _src,
 
-                 left: _img.offsetLeft,
 
-                 top: _img.offsetTop,
 
-                 width: _img.offsetWidth,
 
-                 height: _img.offsetHeight,
 
-                 type: "img"
 
-             };
 
-             console.log(_data); //打印出来
 
-             U.MD.O.E.dataChange(U.MD.O.E.excelInfo("img", _data));    //合并时 保存数据
 
-             U.MD.O.E.BC.pictureControl(_img); //添加拖拽事件
 
-         }
 
-     }); //调用活套交互方法,访问的同时加入图片
 
- }
 
- /** 
 
- * 网盘插入图片
 
- */
 
- U.MD.O.E.NDimg = function () {
 
-     if (!top.U.MD.U.L.isLogin()) {      //判断是否登陆
 
-         top.U.MD.DK.VW.choseFile(function (data) {
 
-             var _src = 'http://fs.1473.cn/' + data.UserallDirectoryName,
 
-             _img;
 
-             _img = U.MD.O.E.createImg(_src);    //创建图片
 
-             _img.onload = function () {
 
-                 var _data = {
 
-                     src: _src,
 
-                     left: _img.offsetLeft,
 
-                     top: _img.offsetTop,
 
-                     width: _img.offsetWidth,
 
-                     height: _img.offsetHeight,
 
-                     type: "img"
 
-                 };
 
-                 console.log(_data);
 
-                 U.MD.O.E.dataChange(U.MD.O.E.excelInfo("img", _data));    //合并时 保存数据
 
-                 U.MD.O.E.BC.pictureControl(_img); //添加拖拽事件
 
-             }
 
-             window.focus();
 
-         }, "jpg");
 
-     }
 
- }
 
- /*
 
- * createImg 新建图片
 
- * src 图片路径
 
- * data (json) 如果存在 则通过该数据创建图片
 
- */
 
- U.MD.O.E.createImg = function (src, data) {
 
-     var _cellBox = $(".U_MD_O_E_cellBox")[0], //获取单元格div总对象
 
-         _img = $$("img", { "onerror": U.MD.C.imgError, src: src }, _cellBox), //创建img对象
 
-         _focusBox = $("#U_MD_O_E_focusBox")[0]; //获取表格对象
 
-     _img.style.position = "absolute"; //修改内容
 
-     _img.style.maxWidth = "2000px;"//修改内容
 
-     _img.style.maxHeight = "2000px;"//修改内容
 
-     if (data) {//判断是否为有数据加载,如果是
 
-         _img.width = data.width; //修改内容
 
-         _img.height = data.height; //修改内容
 
-         _img.style.left = data.left + "px"; //修改内容
 
-         _img.style.top = data.top + "px"; //修改内容
 
-     } else {//如果不是
 
-         _img.style.left = _focusBox.style.left; //修改内容
 
-         _img.style.top = _focusBox.style.top; //修改内容
 
-     }
 
-     return _img; //返回img对象
 
- }
 
- /*
 
- * changeImg 拖拽拉伸图片
 
- * data (json) 如果存在 则通过该数据创建图片
 
- */
 
- U.MD.O.E.changeImg = function (data) {
 
-     var _Allimg = $(".U_MD_O_E_cellBox")[0].getElementsByTagName("img"); //获取单元格中所有img对象数据
 
-     for (var i = 0; i < _Allimg.length; i++) {//循环
 
-         _Allimg[i].index = i; //修改内容
 
-         if (data) {//判断是否为有数据拉伸,如果是
 
-             _Allimg[i].width = data.width; //修改内容
 
-             _Allimg[i].height = data.height; //修改内容
 
-             _Allimg[i].style.left = data.left + "px"; //修改内容
 
-             _Allimg[i].style.top = data.top + "px"; //修改内容
 
-         }
 
-     }
 
-     return _Allimg[0]; //返回json数据
 
- }
 
- /**
 
- *  添加右键
 
- *  element 需要添加右键的元素
 
- *  type 为添加右键元素的类型
 
- */
 
- U.MD.O.E.rightClick = function (element, type) {
 
-     switch (type) {
 
-         case "cellBox": //判断是否为单元格右键
 
-             U.MD.O.E.rightClick.cellBox(element);
 
-             break;
 
-         case "colBoard": //判断是否为行右键
 
-             U.MD.O.E.rightClick.colBoard(element);
 
-             break;
 
-         case "rowBoard": //判断是否为列右键
 
-             U.MD.O.E.rightClick.rowBoard(element);
 
-             break;
 
-         case "taskBar": //判断是否为工作表右键
 
-             U.MD.O.E.rightClick.taskBar(element);
 
-             break;
 
-     }
 
-     $(document).bind('mousedown', function (e) {//设置mousedown事件
 
-         $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-     })
 
- };
 
- /*
 
- * 单元格模块添加右键
 
- * element 需要添加右键的 元素
 
- */
 
- U.MD.O.E.rightClick.cellBox = function (element) {
 
-     var _excel = U.MD.O.E, //获取全局变量
 
-         _cellBox = element; //获取元素
 
-     var _addLine = {//添加行创建
 
-         innerHTML: '添加行<input id="lineNum" value="1" type="num" style="width: 30px;height: 18px;margin-left: 28px;box-sizing: border-box;"> 行',
 
-         onclick: function () {
 
-             var _input = $("#lineNum")[0],
 
-                 _line = _input.value,
 
-                 _cellarr = _excel.cellCheckd(), //以数组的形式返回首尾选中的单元格
 
-                 _cellLast = _cellarr[1];    //结束单元格
 
-             _excel.RC.addLine(_cellLast, +_line);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _addCol = {//添加列创建
 
-         innerHTML: '添加列<input id="colNum" value="1" type="num" style="width: 30px;height: 18px;margin-left: 28px;box-sizing: border-box;"> 列',
 
-         onclick: function () {
 
-             var _input = $("#colNum")[0],
 
-                 _col = _input.value,
 
-                 _endCell = _excel.cellCheckd()[1];
 
-             _excel.RC.addCol(_endCell, +_col);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素  
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _removeLine = {//添加行删除
 
-         innerHTML: '删除行',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1],
 
-                 _checkeddata = _excel.BC.selectCellData(_startCell, _endCell),  //json形式 返回两单元格的坐标数据 
 
-                 _rmlinenum = _checkeddata.maxy - _checkeddata.miny + 1;  //所删除的行数
 
-             _excel.RC.removeLine(_startCell, _endCell);
 
-             var _data = {
 
-                 checkeddata: _checkeddata,
 
-                 rmlinenum: _rmlinenum,
 
-                 type: "removeLine"
 
-             };
 
-             _excel.BC.reSelectCell(_data);   //重选单元格
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _removeCol = {//添加列删除
 
-         innerHTML: '删除列',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1],
 
-                 _checkeddata = _excel.BC.selectCellData(_startCell, _endCell),  //json形式 返回两单元格的坐标数据 
 
-                 _rmcolnum = _checkeddata.maxx - _checkeddata.minx + 1;  //所删除的列数
 
-             _excel.RC.removeCol(_startCell, _endCell);
 
-             var _data = {
 
-                 checkeddata: _checkeddata,
 
-                 rmcolnum: _rmcolnum,
 
-                 type: "removeCol"
 
-             };
 
-             _excel.BC.reSelectCell(_data);   //重选单元格
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _copy = {//添加复制
 
-         innerHTML: '复制',
 
-         onclick: function () {
 
-             _excel.RC.cellCopy();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _taste = {//添加粘贴
 
-         innerHTML: '粘贴',
 
-         onclick: function () {
 
-             _excel.RC.cellTaste();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _cut = {//添加剪切
 
-         innerHTML: '剪切',
 
-         onclick: function () {
 
-             _excel.RC.cellCut();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _mergeCells = {//添加合并
 
-         innerHTML: '合并单元格',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1];
 
-             _excel.RC.mergeCells(_startCell, _endCell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _splitCells = {//添加拆分
 
-         innerHTML: '拆分单元格',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.splitCells(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearContent = {//添加清除内容
 
-         innerHTML: '清除内容',
 
-         onclick: function () {
 
-             var _cellList = U.UF.C.toArray($(".U_MD_O_E_cellCheckd"));
 
-             _excel.RC.clearContent(_cellList);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearStyle = {//添加清除格式
 
-         innerHTML: '清除格式',
 
-         onclick: function () {
 
-             _excel.TL.clearStyle();
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertLink = {//添加插入链接
 
-         innerHTML: '插入链接',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.insertLink(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertImg = {//添加插入图片
 
-         innerHTML: '插入图片',
 
-         onclick: function () {
 
-             return $("#U_MD_O_E_Editor_head_features_ul_img")[0].click();
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _arr = [_addLine, _addCol, _removeLine, _removeCol, _copy, _taste, _cut, _mergeCells, _splitCells, _clearContent, _clearStyle, _insertLink, _insertImg, ];
 
-     $(_cellBox).bind('contextmenu', function (e) {
 
-         U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         U.UF.EV.stopDefault(e);
 
-         U.UF.EL.rightMenu(_arr, _cellBox);
 
-         $(this).find('input').bind('keypress', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('keydown', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('keyup', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('click', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-     });
 
-     $(_cellBox).bind('mousedown', function (e) {
 
-         $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-     });
 
- }
 
- /*
 
- *   工作表添加右键 
 
- * taskEl 每一格的工作表 
 
- */
 
- U.MD.O.E.rightClick.taskBar = function (taskEl) {
 
-     var _excel = U.MD.O.E;
 
-     var _delete = {//添加删除
 
-         innerHTML: '删除',
 
-         onclick: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-             _excel.RC.taskDelete(taskEl);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _reName = {//添加重命名
 
-         innerHTML: '重命名',
 
-         onclick: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-             _excel.RC.taskRename(taskEl);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _copy = {//添加复制
 
-         innerHTML: '复制',
 
-         onclick: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-             _excel.RC.taskCopy(taskEl);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _arr = [_delete, _reName, _copy];
 
-     $(taskEl).bind('contextmenu', function (e) {
 
-         U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         U.UF.EV.stopDefault();
 
-         U.UF.EL.rightMenu(_arr, taskEl);
 
-     });
 
-     $(taskEl).bind('dblclick', function () {
 
-         U.MD.O.E.RC.taskRename(this);
 
-     })
 
-     $(taskEl).bind('mousedown', function (e) {
 
-         $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-     });
 
- }
 
- /*
 
- * 列板模块添加右键
 
- * element 需要添加右键的 元素
 
- */
 
- U.MD.O.E.rightClick.colBoard = function (element) {
 
-     var _excel = U.MD.O.E,
 
-         _colBoard = element;
 
-     var _addCol = {//添加列增加
 
-         innerHTML: '添加列<input id="colNum" value="1" type="num" style="width: 30px;height: 18px;margin-left: 28px;box-sizing: border-box;"> 列',
 
-         onclick: function () {
 
-             var _input = $("#colNum")[0],
 
-                 _col = _input.value,
 
-                 _endCell = _excel.cellCheckd()[1];
 
-             _excel.RC.addCol(_endCell, +_col);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _removeCol = {//添加列删除
 
-         innerHTML: '删除列',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1],
 
-                 _checkeddata = _excel.BC.selectCellData(_startCell, _endCell),  //json形式 返回两单元格的坐标数据 
 
-                 _rmcolnum = _checkeddata.maxx - _checkeddata.minx + 1;  //所删除的列数
 
-             _excel.RC.removeCol(_startCell, _endCell);
 
-             var _data = {
 
-                 checkeddata: _checkeddata,
 
-                 rmcolnum: _rmcolnum,
 
-                 type: "removeCol"
 
-             };
 
-             _excel.BC.reSelectCell(_data);   //重选单元格
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _copy = {//添加复制
 
-         innerHTML: '复制',
 
-         onclick: function () {
 
-             _excel.RC.colBoardCopy();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _taste = {//添加粘贴
 
-         innerHTML: '粘贴',
 
-         onclick: function () {
 
-             _excel.RC.colBoardTaste();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _cut = {//添加剪切
 
-         innerHTML: '剪切',
 
-         onclick: function () {
 
-             _excel.RC.colBoardCut();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _mergeCells = {//添加合并
 
-         innerHTML: '合并单元格',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1];
 
-             _excel.RC.mergeCells(_startCell, _endCell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearContent = {//添加清除内容
 
-         innerHTML: '清除内容',
 
-         onclick: function () {
 
-             var _cellList = U.UF.C.toArray($(".U_MD_O_E_cellCheckd"));
 
-             _excel.RC.clearContent(_cellList);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearStyle = {//添加清除格式
 
-         innerHTML: '清除格式',
 
-         onclick: function () {
 
-             var _cellList = U.UF.C.toArray($(".U_MD_O_E_cellCheckd"));
 
-             _excel.RC.clearStyle(_cellList);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _setWidth = {//添加设置列宽
 
-         innerHTML: '设置列宽<input id="colWidth" value="107" type="num" style="width: 50px;height: 18px;margin-left: 10px;box-sizing: border-box;"> px',
 
-         onclick: function () {
 
-             var _startCol = _excel.cellCheckd()[0].col, //开始的列数
 
-                 _endCol = _excel.cellCheckd()[1].col, //结束的列数
 
-                 _colWidth = $("#colWidth")[0].value;
 
-             if (_colWidth < 50) {
 
-                 U.Alert("列宽不能低于50像素");
 
-                 return;
 
-             }
 
-             _excel.RC.cBoardsetWidth(_startCol, _endCol, _colWidth);
 
-             _excel.BC.reSelectCell(); //重新调整聚焦元素的大小
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _hide = {//添加列隐藏
 
-         innerHTML: '隐藏列',
 
-         onclick: function () {
 
-             var _startCol = _excel.cellCheckd()[0].col,
 
-                 _endCol = _excel.cellCheckd()[1].col;
 
-             _excel.RC.cBoardHide(_startCol, _endCol);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _cancelHide = {//添加列取消隐藏
 
-         innerHTML: '取消隐藏',
 
-         onclick: function () {
 
-             var _startCol = _excel.cellCheckd()[0].col,
 
-                 _endCol = _excel.cellCheckd()[1].col;
 
-             _excel.RC.cBoardCancelHide(_startCol, _endCol);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertLink = {//添加插入链接
 
-         innerHTML: '插入链接',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.insertLink(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertImg = {//添加插入图片
 
-         innerHTML: '插入图片',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.insertImg(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _arr = [_addCol, _removeCol, _copy, _taste, _cut, _mergeCells, _clearStyle, _clearContent, _setWidth, _hide, _cancelHide, _insertLink, _insertImg];
 
-     $(_colBoard).bind('contextmenu', function (e) {
 
-         U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         U.UF.EV.stopDefault();
 
-         U.UF.EL.rightMenu(_arr, _colBoard);
 
-         $(this).find('input').bind('keypress', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡        
 
-         });
 
-         $(this).find('input').bind('keydown', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('keyup', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('click', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡        
 
-         });
 
-     });
 
-     $(_colBoard).bind('mousedown', function (e) {
 
-         $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-     });
 
- }
 
- /*
 
- * 行板模块添加右键
 
- * element 需要添加右键的 元素
 
- */
 
- U.MD.O.E.rightClick.rowBoard = function (element) {
 
-     var _excel = U.MD.O.E,
 
-         _rowBoard = element;
 
-     var _addLine = {
 
-         innerHTML: '添加行<input id="lineNum" value="1" type="num" style="width: 30px;height: 18px;margin-left: 28px;box-sizing: border-box;"> 行',
 
-         onclick: function () {//添加行增加
 
-             var _input = $("#lineNum")[0],
 
-                 _line = _input.value,
 
-                 _cellLast = _excel.cellCheckd()[1];
 
-             _input.bind('keypress', function (e) {
 
-                 U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-             });
 
-             _excel.RC.addLine(_cellLast, +_line);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _removeLine = {//添加行删除
 
-         innerHTML: '删除行',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1],
 
-                 _checkeddata = _excel.BC.selectCellData(_startCell, _endCell),  //json形式 返回两单元格的坐标数据 
 
-                 _rmlinenum = _checkeddata.maxy - _checkeddata.miny + 1;  //所删除的行数
 
-             _excel.RC.removeLine(_startCell, _endCell);
 
-             var _data = {
 
-                 checkeddata: _checkeddata,
 
-                 rmlinenum: _rmlinenum,
 
-                 type: "removeLine"
 
-             };
 
-             _excel.BC.reSelectCell(_data);   //重选单元格
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _copy = {//添加复制
 
-         innerHTML: '复制',
 
-         onclick: function () {
 
-             _excel.RC.rBoardCopy();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _taste = {//添加粘贴
 
-         innerHTML: '粘贴',
 
-         onclick: function () {
 
-             _excel.RC.rBoardTaste();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _cut = {//添加剪切
 
-         innerHTML: '剪切',
 
-         onclick: function () {
 
-             _excel.RC.rBoardCut();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearContent = {//添加清除内容
 
-         innerHTML: '清除内容',
 
-         onclick: function () {
 
-             _excel.RC.rBoardClearCt();
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearStyle = {//添加清除格式
 
-         innerHTML: '清除格式',
 
-         onclick: function () {
 
-             var _cellList = U.UF.C.toArray($(".U_MD_O_E_cellCheckd"));
 
-             _excel.RC.clearStyle(_cellList);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _mergeCells = {//添加合并
 
-         innerHTML: '合并单元格',
 
-         onclick: function () {
 
-             var _startCell = _excel.cellCheckd()[0],
 
-                 _endCell = _excel.cellCheckd()[1];
 
-             _excel.RC.mergeCells(_startCell, _endCell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _setHeight = {//添加设置行高
 
-         innerHTML: '设置行高<input id="rowHeight" value="22" type="num" style="width: 50px;height: 18px;margin-left: 10px;box-sizing: border-box;"> px',
 
-         onclick: function () {
 
-             var _startRow = _excel.cellCheckd()[0].row, //开始的行数
 
-                 _endRow = _excel.cellCheckd()[1].row, //结束的行数
 
-                 _rowHeight = $("#rowHeight")[0].value;
 
-             if (_rowHeight < 20) {
 
-                 U.Alert("高度不能低于20像素");
 
-                 return;
 
-             }
 
-             _excel.RC.rBoardsetHeight(_startRow, _endRow, _rowHeight);
 
-             _excel.BC.reSelectCell(); //重新调整聚焦元素的大小
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _hide = {//添加行隐藏
 
-         innerHTML: '隐藏行',
 
-         onclick: function () {
 
-             var _startRow = _excel.cellCheckd()[0].row, //开始的行数
 
-                 _endRow = _excel.cellCheckd()[1].row; //结束的行数
 
-             _excel.RC.rBoardHide(_startRow, _endRow);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _cancelHide = {//添加行显示
 
-         innerHTML: '取消隐藏',
 
-         onclick: function () {
 
-             var _startRow = _excel.cellCheckd()[0].row, //开始的行数
 
-                 _endRow = _excel.cellCheckd()[1].row; //结束的行数
 
-             _excel.RC.rBoardCancelHide(_startRow, _endRow);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertLink = {//添加插入链接
 
-         innerHTML: '插入链接',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.insertLink(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _insertImg = {//添加插入图片
 
-         innerHTML: '插入图片',
 
-         onclick: function () {
 
-             var _cell = _excel.cellCheckd()[0];
 
-             _excel.RC.insertImg(_cell);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _clearStyle = {//添加清除格式
 
-         innerHTML: '清除格式',
 
-         onclick: function () {
 
-             var _cellList = U.UF.C.toArray($(".U_MD_O_E_cellCheckd"));
 
-             _excel.RC.clearStyle(_cellList);
 
-             $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-         },
 
-         onmousedown: function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         }
 
-     };
 
-     var _arr = [_addLine, _removeLine, _copy, _taste, _cut, _mergeCells, _clearContent, _clearStyle, _setHeight, _hide, _cancelHide, _insertLink, _insertImg];
 
-     $(_rowBoard).bind('contextmenu', function (e) {
 
-         U.UF.EV.stopBubble(e);                                    //阻止冒泡
 
-         U.UF.EV.stopDefault();
 
-         U.UF.EL.rightMenu(_arr, _rowBoard);
 
-         $(this).find('input').bind('keypress', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡        
 
-         });
 
-         $(this).find('input').bind('keydown', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('keyup', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡                
 
-         });
 
-         $(this).find('input').bind('click', function (e) {
 
-             U.UF.EV.stopBubble(e);                                    //阻止冒泡        
 
-         });
 
-     });
 
-     $(_rowBoard).bind('mousedown', function (e) {
 
-         $("#U_UF_EL_rightmenu")[0] && $("#U_UF_EL_rightmenu")[0].remove();    //删除右键元素
 
-     });
 
- }
 
- /*  点击 切换悬浮栏
 
- *   button 为 点击的按钮
 
- */
 
- U.MD.O.E.switchBar = function (button) {
 
-     var _bar = $("#U_MD_O_E_body_left")[0], //获取浮动元素
 
-         _display = _bar.style.display; //获取浮动框对象显示对象
 
-     if (_display === "block") {      //如果是打开 则 改为关闭
 
-         button.src = "http://coffice.1473.cn/Controls/Office/Excel/img/浮动按钮收缩.png"; //修改内容
 
-         _bar.style.display = "none"; //修改内容
 
-     } else {
 
-         button.src = "http://coffice.1473.cn/Controls/Office/Excel/img/浮动按钮展开.png"; //修改内容
 
-         _bar.style.display = "block"; //修改内容
 
-     }
 
- }
 
- /*
 
- *数字转成英文 比如1转A  2转B 26转Z 27转AA
 
- *num 为 number类型的数字 
 
- */
 
- U.MD.O.E.fromCharCode = function (num) {
 
-     if (num <= 0) return; //如果小于等于0,不运行
 
-     var _code,
 
-         firstNum = Math.floor(num / 26), //获取为几组数据
 
-         endNum = num % 26; //获取余数
 
-     if (!endNum) endNum = 26; //如果内有,自定校准
 
-     if (firstNum === 0 || (num === 26)) {//判断是否为26以内
 
-         _code = String.fromCharCode((64 + endNum)); //如果是,直接打印
 
-     } else {//如果不是,间接打印
 
-         _code = U.MD.O.E.fromCharCode(firstNum) + String.fromCharCode((64 + endNum));
 
-     }
 
-     return _code;
 
- }
 
- /*
 
- * 传入光标要去的节点对象 聚焦
 
- * el 为元素
 
- */
 
- U.MD.O.E.placeCaretAtEnd = function (el) {
 
-     if (el.collapse) {   //如果存在el.collapsed 则是range
 
-         var range = el;
 
-         range.collapse(false);
 
-         var sel = window.getSelection();
 
-         sel.removeAllRanges();
 
-         sel.addRange(range);
 
-         return;
 
-     }
 
-     if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") {//判断聚焦的对象是否为空,如果不为空
 
-         var range = document.createRange(); //修改聚焦内容
 
-         range.selectNodeContents(el); //修改聚焦内容
 
-         range.collapse(false); //修改聚焦内容
 
-         var sel = window.getSelection(); //修改聚焦内容
 
-         sel.removeAllRanges(); //修改聚焦内容
 
-         sel.addRange(range); //修改聚焦内容
 
-     } else if (typeof document.body.createTextRange != "undefined") {//判断聚焦的可编辑内容是否为空,如果不为空
 
-         var textRange = document.body.createTextRange(); //修改聚焦内容
 
-         textRange.moveToElementText(el); //修改聚焦内容
 
-         textRange.collapse(false); //修改聚焦内容
 
-         textRange.select(); //修改聚焦内容
 
-     }
 
- };
 
- /*在元素后面插入新元素
 
- * el 为插入的总元素
 
- * newEl 为要插入的元素
 
- */
 
- U.MD.O.E.After = function (el, newEl) {
 
-     var _this = el;
 
-     var parentEl = _this.parentNode; //获取父级
 
-     var child = parentEl.childNodes; //获取子集
 
-     var last = child[child.length - 1] || parentEl.lastChild;
 
-     if (last === _this) {//判断是否可以直接插入,如果可以
 
-         parentEl.appendChild(newEl); //调用方法,插入
 
-     } else {//如果不可以
 
-         parentEl.insertBefore(newEl, _this.nextSibling); //调用方法,插入
 
-     }
 
-     return newEl; //返回插入元素
 
- };
 
- //获取被拖拽选中时的 左上角 和右上角的 单元格
 
- U.MD.O.E.cellCheckd = function () {
 
-     var _arr = [],
 
-         _posA,
 
-         _posB,
 
-         _checkCell = document.querySelectorAll(".U_MD_O_E_cellCheckd");  //所有被选中的单元格
 
-     _checkCell = U.UF.C.toArray(_checkCell);   //转成Array类型
 
-     _checkCell.sort(function (a, b) {
 
-         _idA = +(a.id.replace(/[^0-9]/ig, "")); //获取拖拽选中的左上角
 
-         _idB = +(b.id.replace(/[^0-9]/ig, "")); //获取拖拽选中的右上角
 
-         return _idA - _idB;
 
-     });
 
-     _arr.push(_checkCell[0]); //添加进数据中
 
-     _arr.push(_checkCell[_checkCell.length - 1]); //添加进数据中
 
-     return _arr;
 
- }
 
- /*
 
- 获取json的数量
 
- * json 要计算的json数据
 
- */
 
- U.MD.O.E.jsonLen = function (json) {
 
-     var _json = json, //获取数据
 
-         _len = 0; //定义计数变量
 
-     for (var i in json) {
 
-         _len++; //开始循环,修改计数变量
 
-     }
 
-     return _len; //返回计数变量
 
- }
 
- /*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
 
- /*
 
- * excel的传入后台的数据结构
 
- * type 为操作数据时类型
 
- * content 为主要数据
 
- */
 
- U.MD.O.E.excelInfo = function (type, content) {
 
-     return {
 
-         sendId: U.MD.O.E.fileinfo.UserId,           //发送人id
 
-         receiveId: U.MD.O.E.fileinfo.UserDirectoryID,  //文件id excelId
 
-         type: 'us.excel',    //消息类型
 
-         messageInfo: {
 
-             type: type,   //"blur",
 
-             worksheetId: U.MD.O.E.taskId, //工作表id
 
-             content: content, //修改内容
 
-             docId: U.MD.O.E.fileinfo.UserDirectoryID,       //excelId
 
-             pageId: US.pageId  //当前文档id 页面
 
-         }
 
-     };
 
- };
 
- /*
 
- U.MD.O.W.E.connect 链接后台,并发送请求
 
- */
 
- U.MD.O.E.connect = function () {
 
-     if (US.userInfo.userid && U.MD.O.E.fileinfo.UserDirectoryID) {       //判断用户是否登录
 
-         U.A.Request(US.SCOKET, ["login", JSON.stringify({     //发送登录请求
 
-             pageId: US.pageId,  //页面id
 
-             userId: US.userInfo.userid, //用户id  不会改变的
 
-             userName: US.userInfo.UserName, //用户名
 
-             type: US.systemId   //判断是PC 还是 移动
 
-         })], U.MD.O.E.pollingAsyn);       //回调进   U.MD.O.W.E.pollingAsyn 函数
 
-     }
 
-     U.MD.O.E.addExcel();
 
- };
 
- /*
 
- * 发送send请求到后台
 
- * message 发送给后台的数据
 
- */
 
- U.MD.O.E.send = function (message) {
 
-     U.A.Request(US.SCOKET, ["send", JSON.stringify({
 
-         "us.excel": Array.prototype.concat(message)
 
-     })]); //调用方法,向后台发请求
 
- }
 
- /*
 
- * 发送addExcel请求到后台
 
- */
 
- U.MD.O.E.addExcel = function () {  //添加文档
 
-     var post = {
 
-         excelId: U.MD.O.E.fileinfo.UserDirectoryID, //excel 的 id 
 
-         pageId: US.pageId,  //页面id   唯一识别
 
-         userId: US.userInfo.userid  //用户id
 
-     };
 
-     U.A.Request(US.SCOKET, ["addExcel", JSON.stringify(post)], function (v) {
 
-         console.log(v.value);
 
-     }); //调用方法,向后台发请求
 
- };
 
- /*
 
- * 文件名修改方法
 
- */
 
- U.MD.O.E.TitleChange = function () {
 
-     var _fileinfo = U.MD.O.E.fileinfo, //获取全局变量
 
-     _name = [];
 
-     _name[0] = top.$('#UD_Excel' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0].value; //前台修改内容
 
-     U.MD.O.E.dataChange(U.MD.O.E.excelInfo("updateTitle", _name)); //调用修改方法
 
- }
 
- /*
 
- * 文件修改人:15互联网3 周琳恒
 
- * 最后大改日期:2019 04 08 
 
- */
 
- //U.MD.O.E.sitePreview = function () {
 
- //    var _excelinfo = U.MD.O.E.fileinfo; //获取文档信息
 
- //    if (_excelinfo.UserDirectoryID && _excelinfo.UserId && _excelinfo.UserallDirectoryName) { //判断文档是否存在
 
- //        var _data = U.A.Request("http://cd.1473.cn/php", ["db.1473.cn", "UseStudio_DNS", 'GetDnsInfoByFileId', _excelinfo.UserDirectoryID]).value; //获取该文档的域名
 
- //        if (_data.length) { //判断域名是否存在
 
- //            window.open('http://' + _data[0].AppId + '.1473.cn/' + _data[0].Domain) //跳转页面
 
- //        } else {
 
- //            var _type = _excelinfo.UserDirectoryExtendType && _excelinfo.UserDirectoryExtendType.toLowerCase(), //获取文档类型
 
- //            _callback = { //设置回调接口2
 
- //                modifyDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.E.Panel.loadlink({ UserDirectoryID: res.FileId }) }, //修改命名后的回调
 
- //                addDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.E.Panel.loadlink({ UserDirectoryID: res.FileId }) }, //添加域名后的回调
 
- //                deleteDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.E.Panel.loadlink({ UserDirectoryID: res.FileId }) } //删除域名后的回调
 
- //            };
 
- //            switch (_type) { //转文档类型字符串
 
- //                case 'uw': case 'un': _type = 'word'; break;
 
- //                case 'ue': _type = 'execl'; break;
 
- //                default: _type = 'word'; break;
 
- //            }
 
- //            top.U.MD.DS.createDefaultDomainInit(_excelinfo, _type, _callback); //调用域名管理中心的接口
 
- //        }
 
- //    } else {
 
- //        U.MD.O.E.Save();
 
- //    }
 
- //}
 
- //U.MD.O.E.initEditor = function (synergy) {
 
- //    var _el = $(".U_MD_O_E_excelBox")[0]; //获取编辑区域的元素
 
- //    if (U.MD.O.E.initExcel) {
 
- //        _el.innerHTML = U.MD.O.E.excelInfo.UsOffice || ""; //编辑器全局区域
 
- //        if (_el.innerHTML == "") {
 
- //            U.UF.E.key.addDelLine(_el);
 
- //        }
 
- //        _el.editor.idarr = U.UF.E.key.getLineIdArr(_el);
 
- //    } else {
 
- //        U.UF.E.initEditor(_el, synergy ? U.MD.O.E.operationNotice : null, U.MD.O.fileinfo.UsOffice); //初始化编辑区域
 
- //        //        U.MD.O.W.E.titlestyle();//标题样式        
 
- //        U.MD.O.E.initExcel = true;
 
- //        //        var _permission = U.MD.O.W.permission;  //获取权限
 
- //        //        if (!_permission.edit) {//判断其有没有编辑权限
 
- //        //            var _el = $("#U_MD_O_H_wordEditor")[0]; //获取编辑区域的元素
 
- //        //            _el.contentEditable = false; //如果没有编辑权限,就把编辑区域改为不可编辑
 
- //        //        }
 
- //    }
 
- //}
 
 
  |