budgetTempSheet-measure4Orders.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. $(function () {
  2. spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount: 1});
  3. initSpread();
  4. initStatusBar(spread);
  5. initStatusBarEvents(spread);
  6. });
  7. //保洁耗材 rootA02 办公用品 rootA03 工程耗材 rootA01 保安耗材 rootA10 会务耗材 rootA08
  8. // 工作服 gzf 代采购 dcg
  9. // 低值易耗 R003 固定资产 rootA04
  10. function initSpread() {
  11. spread.suspendPaint();
  12. var sheet ;
  13. if (dbJson) {//数据库
  14. spread.fromJSON(dbJson);
  15. sheet=spread.getActiveSheet();
  16. var sheetTag = sheet.tag();
  17. if(sheetTag){
  18. sheetVar = sheetTag.sheetVar;
  19. }
  20. } else {
  21. var headerJson ;
  22. if(ordersKindType=='m') headerJson=tempsheet_orders_m_header;
  23. if(ordersKindType=='gzf') headerJson=tempsheet_orders_gzf_header;
  24. if(ordersKindType=='dcg') headerJson=tempsheet_orders_dcg_header;
  25. if(ordersKindType=='dizhi') headerJson=tempsheet_orders_dizhi_header;
  26. spread.fromJSON(headerJson);
  27. sheet=spread.getActiveSheet();
  28. sheet.clearSelection();
  29. var title = sheet.getValue(0,0);
  30. title= title.replace(/\$year/g,periodYear);
  31. title= title.replace(/\$kindName/g,ordersKindTxt);
  32. sheet.setValue(0,0,title);
  33. if(ordersKindType=='m') {
  34. var refYearCellColArray =[5,9,12,15,18,21,24];
  35. for(var i=0;i<refYearCellColArray.length;i++){
  36. var cellValue = sheet.getValue(4,refYearCellColArray[i]);
  37. cellValue= cellValue.replace(/\$refYear/g,refYear);
  38. sheet.setValue(4,refYearCellColArray[i],cellValue);
  39. }
  40. sheetVar.headerCount=6;
  41. }else if(ordersKindType=='dizhi'){
  42. sheetVar.headerCount=7;
  43. }else if(ordersKindType=='gzf'){
  44. sheetVar.headerCount=7;
  45. }else if(ordersKindType=='dcg'){
  46. sheetVar.headerCount=7;
  47. }
  48. //多加一列隐藏列
  49. var columnColumn = sheet.getColumnCount();
  50. sheet.addColumns(columnColumn,1);
  51. sheetVar.categoryCodeCol=columnColumn;
  52. sheetVar.categoryTotalStartCol=columnColumn+1;
  53. sheet.getRange(-1, columnColumn).visible(false);//放分类code
  54. if(ordersKindType=='dizhi'){//低值和固定资产多加一列 一列放cagegorycode 一列放propertytype
  55. sheet.addColumns(columnColumn+1,1);
  56. sheet.getRange(-1, columnColumn+1).visible(false);
  57. }
  58. addSheetTagValue(sheet,{sheetVar:sheetVar});
  59. sheet.showColumn(0, GC.Spread.Sheets.HorizontalPosition.left);
  60. }
  61. spread.options.newTabVisible = false;//取消新增sheet按钮
  62. spread.options.allowExtendPasteRange = true;//扩展粘贴区域
  63. bindEvent(spread);
  64. var stag = sheet.tag();
  65. if (stag) {
  66. for (var i in stag) {
  67. if (i.indexOf('c_') == 0) {
  68. $('#' + i.substr(2)).val(stag[i]);
  69. }
  70. }
  71. if(stag.periodDetailInfo){
  72. $('#periodDetialName').val(stag.periodDetailInfo.periodDetailName);
  73. }
  74. if(typeof stag.includeTax !="undefined"){
  75. $('#includeTax'+stag.includeTax).attr('checked','checked');
  76. }
  77. if(typeof stag.expect !="undefined"){
  78. $('#expect'+stag.expect).attr('checked','checked');
  79. }
  80. }
  81. if(!stag.periodDetailInfo){
  82. $('#periodDetialName').val(defaultPeriodDetailInfo.periodDetailName);
  83. addSheetTagValue(sheet,{periodDetailInfo:defaultPeriodDetailInfo});
  84. }
  85. setDefaultLock(sheet);
  86. spread.resumePaint();
  87. }
  88. function bindEvent(spread) {
  89. }
  90. function setDefaultLock(sheet) {
  91. var option = {
  92. allowSelectLockedCells: true,
  93. allowSelectUnlockedCells: true,
  94. allowFilter: true,
  95. allowSort: false,
  96. allowResizeRows: true,
  97. allowResizeColumns: true,
  98. allowEditObjects: false,
  99. allowDragInsertRows: false,
  100. allowDragInsertColumns: false,
  101. allowInsertRows: false,
  102. allowInsertColumns: false,
  103. allowDeleteRows: false,
  104. allowDeleteColumns: false
  105. };
  106. sheet.options.protectionOptions = option;
  107. sheet.options.isProtected = true;
  108. var defaultStyle = sheet.getDefaultStyle() //默认的样式,
  109. defaultStyle.locked = true;
  110. sheet.setDefaultStyle(defaultStyle);
  111. }
  112. function save(afterSaveFunction) {
  113. var sheet = spread.getActiveSheet();
  114. var allBind =true;
  115. $('#bindMeasureDiv input').each(function(){
  116. var $t = $(this);
  117. if($t.val()==''){
  118. allBind =false;
  119. return false;
  120. }
  121. });
  122. if(!allBind) {
  123. $.messager.alert("信息", '请绑定全部维度');
  124. return;
  125. }
  126. var tag = sheet.tag();
  127. if(typeof tag.includeTax=="undefined"){
  128. $.messager.alert("信息", '请选择含税维度');
  129. return;
  130. }
  131. if(typeof tag.expect =="undefined"){
  132. $.messager.alert("信息", '请选择预实维度');
  133. return;
  134. }
  135. var json = spread.toJSON();
  136. var jsonString = JSON.stringify(json);
  137. _commonSave({type:'orders'},afterSaveFunction);
  138. }
  139. function _openDialog(url, title, okCallback, width, height) {
  140. if (!width) {
  141. width = '500px';
  142. }
  143. if (!height) {
  144. height = '350px';
  145. }
  146. if (width == "100%") {
  147. width = window.top.document.body.offsetWidth;
  148. }
  149. if (height == "100%") {
  150. height = window.top.document.body.offsetHeight - 100;
  151. }
  152. var _selectDialog = $.dialog({
  153. content: 'url:' + url
  154. , zIndex: getzIndex()
  155. , title: title, lock: true, width: width, height: height, opacity: 0.4, button: [
  156. {
  157. name: '确定', callback: function () {
  158. var iframe = _selectDialog.iframe.contentWindow;
  159. if (okCallback) {
  160. var b = okCallback(iframe);
  161. return b;
  162. }
  163. }
  164. , focus: true
  165. },
  166. {
  167. name: '取消', callback: function () {
  168. }
  169. }
  170. ]
  171. }).zindex();
  172. return _selectDialog;
  173. }