ExcelReceiver.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. Namespace.register("U.MD.O.E.Receiver");
  2. /*
  3. * 接收函数 失焦
  4. * message 接收的值
  5. */
  6. U.MD.O.E.Receiver.Blur = function (message) { //传入参数
  7. var _content = message.content; //声明变量并且匹配接受的值的内容
  8. if (message.worksheetId !== U.MD.O.E.taskId) { //判斷互联过来的工作表在不在同一个工作表上
  9. U.MD.O.E.dataChange.blur(_content, message.worksheetId); //如果不在,调用函数直接修改数据源的数据
  10. } else {
  11. _content.forEach(function (data) { //如果在,则遍历工作表的元素
  12. var _cell = $("#POS_" + data.col + "_" + data.row)[0];//根据接受到的值声明变量
  13. data.attr ? _cell.style[data.attr] = data.value : ''; //判断参数,若存在定义,若不存在为空
  14. (data.content !== undefined) ? _cell.innerHTML = data.content : '';//是否为空,不为空定义为html文本,为空则为空
  15. data.clearStyle ? U.MD.O.E.TL.cellClearStyle(_cell) : ''; //判断参数,若存在定义,若不存在为空
  16. });
  17. U.MD.O.E.dataChange(message, true);//以接受值调用函数 返回正确
  18. }
  19. }
  20. /*
  21. * 接收函数 边框
  22. * message 接收的值
  23. */
  24. U.MD.O.E.Receiver.setBorder = function (message) {
  25. console.log(message); //传入参数
  26. var _content = message.content; //声明变量并且匹配接受的值的内容
  27. if (message.worksheetId !== U.MD.O.E.taskId) { //判斷互联过来的工作表在不在同一个工作表上
  28. U.MD.O.E.dataChange.setBorder(_content, message.worksheetId); //如果不在,调用函数直接修改数据源的数据
  29. } else {
  30. _content.forEach(function (data) { //如果在,则遍历工作表的元素
  31. var _cell = $("#POS_" + data.col + "_" + data.row)[0]; //根据接受到的值声明变量
  32. //data.attr ? _cell.style[data.attr] = data.value : '';
  33. data.br ? _cell.style[data.br] = data.value : ''; //判断参数,若存在定义,若不存在为空
  34. data.bb ? _cell.style[data.bb] = data.value : '';
  35. (data.content !== undefined) ? _cell.innerHTML = data.content : ''; //是否为空,不为空定义为html文本,为空则为空
  36. data.clearStyle ? U.MD.O.E.TL.cellClearStyle(_cell) : ''; //判断参数,若存在定义,若不存在为空
  37. });
  38. U.MD.O.E.dataChange(message, true); //以接受值调用函数,返回正确(此接受的是边框的值)
  39. }
  40. }
  41. /*
  42. * 接收函数 添加行
  43. * message 接收的值
  44. */
  45. U.MD.O.E.Receiver.addLine = function (message) { //传入参数
  46. var _content = message.content; //声明变量并且匹配接受的值的内容
  47. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  48. U.MD.O.E.dataChange.addLine(_content, message.worksheetId);
  49. } else {
  50. var _cellLast = $("#POS_1_" + _content.start)[0]; //以接收到的值声明变量
  51. U.MD.O.E.RC.addLine(_cellLast, _content.lineNum,true); //调用函数添加行,返回正确
  52. }
  53. }
  54. /*
  55. * 接收函数 添加行
  56. * message 接收的值
  57. */
  58. U.MD.O.E.Receiver.addLine = function (message) { //传入参数
  59. var _content = message.content; //声明变量并且匹配接受的值的内容
  60. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  61. U.MD.O.E.dataChange.addLine(_content, message.worksheetId);
  62. } else {
  63. var _cellLast = $("#POS_1_" + _content.start)[0]; //以接收到的值声明变量
  64. U.MD.O.E.RC.addLine(_cellLast, _content.lineNum, true); //调用函数,返回正确(这边添加行)
  65. }
  66. }
  67. /*
  68. * 接收函数 添加列
  69. * message 接收的值
  70. */
  71. U.MD.O.E.Receiver.addCol = function (message) { //传入参数
  72. var _content = message.content; //声明变量并且匹配接受的值的内容
  73. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  74. U.MD.O.E.dataChange.addCol(_content, message.worksheetId);
  75. } else {
  76. var _cellLast = $("#POS_" + _content.start + "_1")[0]; //以接收到的值声明变量
  77. U.MD.O.E.RC.addCol(_cellLast, _content.colNums, true); //调用函数,返回正确(这边添加列)
  78. }
  79. }
  80. /*
  81. * 接收函数 删除行
  82. * message 接收的值
  83. */
  84. U.MD.O.E.Receiver.delLine = function (message) { //传入参数
  85. var _content = message.content; //声明变量并且匹配接受的值的内容
  86. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  87. U.MD.O.E.dataChange.delLine(_content, message.worksheetId);
  88. } else {
  89. var _startCell = $("#POS_1_" + _content.start)[0],
  90. _endCell = $("#POS_1_" + _content.end)[0]; //以接收到的值声明变量
  91. U.MD.O.E.RC.removeLine(_startCell, _endCell, true); //调用函数,返回正确(这边删除行)
  92. }
  93. }
  94. /*
  95. * 接收函数 删除列
  96. * message 接收的值
  97. */
  98. U.MD.O.E.Receiver.delCol = function (message) { //传入参数
  99. var _content = message.content; //声明变量并且匹配接受的值的内容
  100. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  101. U.MD.O.E.dataChange.delCol(_content, message.worksheetId);
  102. } else {
  103. var _startCell = $("#POS_" + _content.start + "_1")[0],
  104. _endCell = $("#POS_" + _content.end + "_1")[0]; //以接收到的值声明变量
  105. U.MD.O.E.RC.removeCol(_startCell, _endCell, true); //调用函数,返回正确(这边删除列)
  106. }
  107. }
  108. /*
  109. * 接收函数 合并单元格
  110. * message 接收的值
  111. */
  112. U.MD.O.E.Receiver.merge = function (message) { //传入参数
  113. var _content = message.content; //声明变量并且匹配接受的值的内容
  114. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  115. U.MD.O.E.dataChange.merge(_content, message.worksheetId);
  116. } else {
  117. var _startCell = $("#POS_" + _content.col + "_" + _content.row)[0],
  118. _endCell = $("#POS_" + _content.endCol + "_" + _content.endRow)[0]; //以接收到的值声明变量
  119. U.MD.O.E.RC.mergeCells(_startCell, _endCell, false, true); //调用函数,传进参数(这边合并单元格)
  120. }
  121. }
  122. /*
  123. * 接收函数 拆分单元格
  124. * message 接收的值
  125. */
  126. U.MD.O.E.Receiver.splitCells = function (message) { //传入参数
  127. var _content = message.content; //声明变量并且匹配接受的值的内容
  128. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  129. U.MD.O.E.dataChange.splitCells(_content, message.worksheetId);
  130. } else {
  131. var _cell = $("#POS_" + _content.col + "_" + _content.row)[0]; //以接收到的值声明变量
  132. U.MD.O.E.RC.splitCells(_cell, false, true); //调用函数,传进参数(这边拆分单元格)
  133. }
  134. }
  135. /*
  136. * 接收函数 行板拉伸
  137. * message 接收的值
  138. */
  139. U.MD.O.E.Receiver.rowExpanding = function (message) {//传入参数
  140. var _content = message.content; //声明变量并且匹配接受的值的内容
  141. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  142. U.MD.O.E.dataChange.rowExpanding(_content, message.worksheetId);
  143. } else {
  144. var _rowBoard = $(".U_MD_O_E_rowBoard")[0], //声明变量,行板 A-Z 的父元素
  145. _dataArr = []; //声明一个数组
  146. _content.forEach(function (data) { //for循环遍历接收到的内容
  147. var _rowName = data.rowName, //声明变量为接收的参数
  148. _row = $(".U_MD_O_E_row")[_rowName - 1], //以接收到的值声明变量
  149. _moveDis = data.moveDis; //声明变量为接收的参数
  150. _info = {
  151. initHeight: _row.offsetHeight,
  152. rowName: _rowName,
  153. moveDis: _moveDis //指定数组的参数
  154. }
  155. _dataArr.push(_info); //数组调用函数
  156. _row.style.height = data.height + "px";//指定元素的属性高
  157. _rowBoard.style.height = _rowBoard.offsetHeight + _moveDis + "px"; //指定元素的属性高
  158. });
  159. U.MD.O.E.BC.rowExpandingEnd(_dataArr, true); //传进接受到的值,为行板拉伸的函数
  160. }
  161. }
  162. /*
  163. * 接收函数 列板拉伸
  164. * message 接收的值
  165. */
  166. U.MD.O.E.Receiver.colExpanding = function (message) {//传入参数
  167. var _content = message.content; //声明变量并且匹配接受的值的内容
  168. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  169. U.MD.O.E.dataChange.colExpanding(_content, message.worksheetId);
  170. } else {
  171. var _colBoard = $(".U_MD_O_E_colBoard")[0], //声明变量,列板 A-Z 的父元素
  172. _dataArr = []; //声明一个数组
  173. _content.forEach(function (data) { //for循环遍历接收到的内容
  174. var _colName = data.colName, //声明变量为接收的参数
  175. _col = $(".U_MD_O_E_column")[_colName - 1], //以接收到的值声明变量
  176. _moveDis = data.moveDis; //声明变量为接收的参数
  177. _info = {
  178. initWidth: _col.offsetWidth,
  179. colName: _colName,
  180. moveDis: _moveDis //指定数组的参数
  181. }
  182. _dataArr.push(_info); //数组调用函数
  183. _col.style.width = data.width + "px"; //指定元素的属性宽
  184. _colBoard.style.width = _colBoard.offsetWidth + _moveDis + "px";
  185. });
  186. U.MD.O.E.BC.colExpandingEnd(_dataArr, true); //传进接受到的值,为列板拉伸的函数
  187. }
  188. };
  189. U.MD.O.E.Receiver.addTask = function (message) {//传入参数
  190. var _content = message.content, //声明变量并且匹配接受的值的内容
  191. _data = _content.data;
  192. U.MD.O.E.data[_content.id] = _data;
  193. U.MD.O.E.taskNum++;
  194. /*------------------以下是创建工作栏--------------------------*/
  195. var _taskBar = $(".U_MD_O_E_taskBar")[0], //工作栏元素
  196. _taskEl = $(".U_MD_O_E_task")[0]; //需要克隆的工作表元素
  197. _newTask = _taskEl.cloneNode();
  198. _newTask.style.display = "block";
  199. _newTask.id = _content.id;
  200. _newTask.innerText = _data.taskName;
  201. _taskBar.appendChild(_newTask);
  202. U.MD.O.E.addTaskClick(_newTask); //工作表添加点击事件
  203. U.MD.O.E.rightClick(_newTask, "taskBar"); //工作表添加右键事件
  204. }
  205. /*删除工作栏*/
  206. U.MD.O.E.Receiver.deleteTask = function (message) {//传入参数
  207. var _content = message.content, //声明变量并且匹配接受的值的内容
  208. _id = _content.id;
  209. U.MD.O.E.RC.taskDelete($("#" + _id)[0], true);//调用函数,传入接收到的值(删除工具栏)
  210. }
  211. /*
  212. * 任务表重命名
  213. */
  214. U.MD.O.E.Receiver.reNameTask = function (message) {//传入参数
  215. var _content = message.content, //声明变量并且匹配接受的值的内容
  216. _taskId = _content.id;
  217. U.MD.O.E.data[_taskId].taskName = _content.name;
  218. $("#" + _taskId)[0].innerHTML = _content.name; //以接受到的值重新命名任务表
  219. }
  220. /*
  221. * 接收函数 插入图片
  222. * message 接收的值
  223. */
  224. U.MD.O.E.Receiver.img = function (message) { //传入参数
  225. var _content = message.content; //声明变量并且匹配接受的值的内容
  226. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  227. U.MD.O.E.dataChange.img(_content, message.worksheetId);
  228. } else {
  229. U.MD.O.E.createImg(_content.src,_content); //根据_content创建相对应的图片
  230. U.MD.O.E.dataChange(message, true);
  231. }
  232. }
  233. /*
  234. * 接收函数 拖拽图片
  235. * message 接收的值
  236. */
  237. U.MD.O.E.Receiver.imgChange = function (message) { //传入参数
  238. var _content = message.content; //声明变量并且匹配接受的值的内容
  239. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  240. U.MD.O.E.dataChange.img(_content, message.worksheetId);
  241. } else {
  242. U.MD.O.E.changeImg(_content); //根据_content创建相对应的图片
  243. U.MD.O.E.dataChange(message, true);
  244. }
  245. }
  246. /*
  247. * 接收函数 插入链接
  248. * message 接收的值
  249. */
  250. U.MD.O.E.Receiver.excelAddHref = function (message) { //传入参数
  251. var _content = message.content; //声明变量并且匹配接受的值的内容
  252. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  253. U.MD.O.E.dataChange.img(_content, message.worksheetId);
  254. } else {
  255. var _cell = $("#POS_" + _content.col + "_" + _content.row)[0];//根据传入的值声明变量
  256. _content.attr ? _cell.style[_content.attr] = _content.value : ''; //判断参数,若存在定义,若不存在为空
  257. (_content.content !== undefined) ? _cell.innerHTML = _content.content : ''; //是否为空,不为空定义为html文本,为空则为空
  258. _content.clearStyle ? U.MD.O.E.TL.cellClearStyle(_cell) : '';
  259. U.MD.O.E.dataChange(message, true);
  260. }
  261. }
  262. /*
  263. * 接收函数 删除链接
  264. * message 接收的值
  265. */
  266. U.MD.O.E.Receiver.clearAContent = function (message) {//传入参数
  267. var _content = message.content; //声明变量并且匹配接受的值的内容
  268. if (message.worksheetId !== U.MD.O.E.taskId) { //如果互联过来的工作表 和你现在所在的不在同一个工作表上 则直接修改数据源的数据
  269. U.MD.O.E.dataChange.img(_content, message.worksheetId);
  270. } else {
  271. var _cell = $("#POS_" + _content.col + "_" + _content.row)[0]; //根据传入的值声明变量
  272. _content.attr ? _cell.style[_content.attr] = _content.value : ''; //判断参数,若存在定义,若不存在为空
  273. (_content.content !== undefined) ? _cell.innerHTML = _content.content : ''; //是否为空,不为空定义为html文本,为空则为空
  274. _content.clearStyle ? U.MD.O.E.TL.cellClearStyle(_cell) : '';
  275. U.MD.O.E.dataChange(message, true);
  276. }
  277. }
  278. /*
  279. * 修改标题
  280. * message 接收的值
  281. */
  282. U.MD.O.E.Receiver.titleUpdate = function (message) {//传入参数
  283. top.$('#UD_Excel' + U.MD.O.E.fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0].value = message.content[0];
  284. U.MD.O.E.data[U.MD.O.E.taskId].title = message.content[0];
  285. }