spread.js 115 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date 2018/5/31
  7. * @version
  8. */
  9. const dealCols = ['deal_qty', 'deal_tp'];
  10. const dgnCols = ['dgn_qty1', 'dgn_qty2', 'dgn_price'];
  11. const clCols = ['sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'quantity', 'total_price'];
  12. const stageDgnCols = ['deal_dgn_qty1', 'deal_dgn_qty2', 'c_dgn_qty1', 'c_dgn_qty2', 'final_dgn_price'];
  13. const realCompleteCols = ['real_qty', 'estimate_qty'];
  14. const priceDiffCols = ['org_price', 'pc_tp'];
  15. const thirdPartyCols = {
  16. gxby: ['gxby'],
  17. dagl: ['dagl'],
  18. wbs_url: ['wbs_url'],
  19. };
  20. const minusNoValueCols = ['qc_minus_qty', 'end_qc_minus_qty'];
  21. // 未定义列的基础spread配置
  22. const EmptySpreadSetting = {
  23. tz_ledger_set: {
  24. bills: {
  25. cols: [],
  26. emptyRows: 3,
  27. headRows: 2,
  28. headRowHeight: [25, 25],
  29. defaultRowHeight: 21,
  30. headerFont: '12px 微软雅黑',
  31. font: '12px 微软雅黑',
  32. frozenLineColor: '#93b5e4',
  33. },
  34. pos: {
  35. cols: [],
  36. emptyRows: 3,
  37. headRows: 2,
  38. headRowHeight: [25, 25],
  39. headColWidth: [30],
  40. defaultRowHeight: 21,
  41. headerFont: '12px 微软雅黑',
  42. font: '12px 微软雅黑',
  43. frozenLineColor: '#93b5e4',
  44. }
  45. },
  46. tz_stage_set: {
  47. bills: {
  48. cols: [],
  49. emptyRows: 0,
  50. headRows: 2,
  51. headRowHeight: [25, 25],
  52. defaultRowHeight: 21,
  53. headerFont: '12px 微软雅黑',
  54. font: '12px 微软雅黑',
  55. frozenColCount: 5,
  56. frozenLineColor: '#93b5e4',
  57. },
  58. pos: {
  59. cols: [],
  60. emptyRows: 3,
  61. headRows: 2,
  62. headRowHeight: [25, 25],
  63. headColWidth: [30],
  64. defaultRowHeight: 21,
  65. headerFont: '12px 微软雅黑',
  66. font: '12px 微软雅黑',
  67. frozenLineColor: '#93b5e4',
  68. }
  69. },
  70. gcl_ledger_set:{
  71. bills: {
  72. cols: [],
  73. emptyRows: 3,
  74. headRows: 2,
  75. headRowHeight: [25, 25],
  76. defaultRowHeight: 21,
  77. headerFont: '12px 微软雅黑',
  78. font: '12px 微软雅黑',
  79. frozenLineColor: '#93b5e4',
  80. },
  81. pos: {
  82. cols: [],
  83. emptyRows: 3,
  84. headRows: 2,
  85. headRowHeight: [25, 25],
  86. headColWidth: [30],
  87. defaultRowHeight: 21,
  88. headerFont: '12px 微软雅黑',
  89. font: '12px 微软雅黑',
  90. frozenLineColor: '#93b5e4',
  91. }
  92. },
  93. gcl_stage_set: {
  94. bills: {
  95. cols: [],
  96. emptyRows: 0,
  97. headRows: 2,
  98. headRowHeight: [25, 25],
  99. defaultRowHeight: 21,
  100. headerFont: '12px 微软雅黑',
  101. font: '12px 微软雅黑',
  102. frozenColCount: 5,
  103. frozenLineColor: '#93b5e4',
  104. },
  105. pos: {
  106. cols: [],
  107. emptyRows: 3,
  108. headRows: 2,
  109. headRowHeight: [25, 25],
  110. headColWidth: [30],
  111. defaultRowHeight: 21,
  112. headerFont: '12px 微软雅黑',
  113. font: '12px 微软雅黑',
  114. frozenLineColor: '#93b5e4',
  115. }
  116. },
  117. };
  118. // 可设置列集合
  119. const BaseSetCol = {
  120. tz_ledger_set: [
  121. { key: 'code', name: '项目节编号', fixed: ['move', 'valid', 'alias'], bills: 1, pos: 0, },
  122. { key: 'b_code', name: '清单编号', fixed: ['alias'], bills: 1, pos: 0, },
  123. { key: 'ex_memo1', name: '备注1', fixed: [], bills: 1, pos: 1, },
  124. { key: 'name', name: '名称/计量单元', fixed: ['alias'], bills: 1, pos: 1 },
  125. { key: 'features', name: '项目特征', fixed: ['alias'], bills: 1, pos: 0 },
  126. { key: 'position', name: '位置', fixed: [], bills: 0, pos: 1 },
  127. { key: 'unit', name: '单位', fixed: ['alias'], bills: 1, pos: 0 },
  128. { key: 'unit_price', name: '单价', fixed: ['alias'], bills: 1, pos: 0 },
  129. { key: 'dgn_qty', name: '项目节数量', fixed: [], bills: 1, pos: 0, },
  130. { key: 'dgn_price', name: '经济指标', fixed: ['alias'], bills: 1, pos: 0},
  131. { key: 'deal_calc', name: '签约', fixed: [], bills: 1, pos: 0, },
  132. { key: 'tz_calc', name: '台账', fixed: ['alias'], bills: 1, pos: 1, },
  133. { key: 'drawing_code', name: '图册号', fixed: ['alias'], bills: 1, pos: 1 },
  134. { key: 'node_type', name: '费用类别', fixed: ['alias'], bills: 1, pos: 0 },
  135. { key: 'memo', name: '备注', fixed: ['alias'], bills: 1, pos: 0 },
  136. { key: 'ex_memo2', name: '备注2', fixed: [], bills: 1, pos: 1, },
  137. { key: 'ex_memo3', name: '备注3', fixed: [], bills: 1, pos: 1, },
  138. { key: 'ex_calc1', name: '计算1', fixed: [], bills: 1, pos: 1, },
  139. ],
  140. tz_stage_set: [
  141. { key: 'code', name: '项目节编号', fixed: ['move', 'valid', 'alias'], bills: 1, pos: 0 },
  142. { key: 'b_code', name: '清单编号', fixed: ['alias'], bills: 1, pos: 0 },
  143. { key: 'ex_memo1', name: '备注1', fixed: [], bills: 1, pos: 1, },
  144. { key: 'name', name: '名称/计量单元', fixed: ['alias'], bills: 1, pos: 1 },
  145. { key: 'features', name: '项目特征', fixed: ['alias'], bills: 1, pos: 0 },
  146. { key: 'position', name: '位置', fixed: [], bills: 0, pos: 1},
  147. { key: 'unit', name: '单位', fixed: ['alias'], bills: 1, pos: 0 },
  148. { key: 'unit_price', name: '单价', fixed: ['alias'], bills: 1, pos: 0 },
  149. { key: 'deal_calc', name: '签约', fixed: [], bills: 1, pos: 0 },
  150. { key: 'tz_calc', name: '台账', fixed: [], bills: 1, pos: 1},
  151. { key: 'tz2_calc', name: '变更后', fixed: [], bills: 1, pos: 1},
  152. { key: 'real_qty', name: '现场实际数量', fixed: ['valid', 'alias'], bills: 0, pos: 1},
  153. { key: 'estimate_qty', name: '预计变更数量', fixed: ['valid', 'alias'], bills: 0, pos: 1},
  154. { key: 'cur_calc', name: '本期计量', fixed: ['alias'], bills: 1, pos: 1, },
  155. { key: 'end_calc', name: '截止本期计量', fixed: ['alias'], bills: 1, pos: 1, },
  156. { key: 'deal_dgn_qty', name: '合同-项目节数量', fixed: ['alias'], bills: 1, pos: 0, },
  157. { key: 'c_dgn_qty', name: '变更-项目节数量', fixed: ['alias'], bills: 1, pos: 0, },
  158. { key: 'final_dgn_price', name: '经济指标', fixed: [], bills: 1, pos: 0 },
  159. { key: 'postil', name: '本期批注', fixed: [], bills: 1, pos: 1 },
  160. { key: 'drawing_code', name: '图册号', fixed: [], bills: 1, pos: 1 },
  161. { key: 'memo', name: '备注', fixed: [], bills: 1, pos: 0 },
  162. { key: 'ex_memo2', name: '备注2', fixed: [], bills: 1, pos: 1, },
  163. { key: 'ex_memo3', name: '备注3', fixed: [], bills: 1, pos: 1, },
  164. { key: 'is_tp', name: '总额计量', fixed: [], bills: 1, pos: 0 },
  165. { key: 'gxby', name: '工序报验', fixed: ['valid', 'alias'], bills: 1, pos: 1, },
  166. { key: 'dagl', name: '档案管理', fixed: ['valid', 'alias'], bills: 1, pos: 1, },
  167. { key: 'wbs_url', name: '3方链接', fixed: ['valid', 'alias'], bills: 1, pos: 1, init: 1 },
  168. { key: 'ex_calc1', name: '计算1', fixed: [], bills: 1, pos: 1, },
  169. { key: 'cur_ex_calc1', name: '本期计算1', fixed: [], bills: 1, pos: 1, },
  170. { key: 'end_ex_calc1', name: '截止本期计算1', fixed: [], bills: 1, pos: 1, },
  171. ],
  172. gcl_ledger_set: [
  173. { key: 'code', name: '项目节编号', fixed: ['move', 'valid', 'alias'], bills: 1, pos: 0, },
  174. { key: 'b_code', name: '清单编号', fixed: ['alias'], bills: 1, pos: 0, },
  175. { key: 'ex_memo1', name: '备注1', fixed: [], bills: 1, pos: 1, },
  176. { key: 'name', name: '名称/计量单元', fixed: ['alias'], bills: 1, pos: 1 },
  177. { key: 'features', name: '项目特征', fixed: ['alias'], bills: 1, pos: 0 },
  178. { key: 'position', name: '位置', fixed: [], bills: 0, pos: 1 },
  179. { key: 'unit', name: '单位', fixed: ['alias'], bills: 1, pos: 0 },
  180. { key: 'unit_price', name: '单价', fixed: ['alias'], bills: 1, pos: 0 },
  181. { key: 'dgn_qty', name: '项目节数量', fixed: [], bills: 1, pos: 0, },
  182. { key: 'dgn_price', name: '经济指标', fixed: ['alias'], bills: 1, pos: 0},
  183. { key: 'deal_calc', name: '签约', fixed: [], bills: 1, pos: 0, },
  184. { key: 'tz_calc', name: '台账', fixed: ['alias'], bills: 1, pos: 1, },
  185. { key: 'drawing_code', name: '图册号', fixed: ['alias'], bills: 1, pos: 1 },
  186. { key: 'node_type', name: '费用类别', fixed: ['alias'], bills: 1, pos: 0 },
  187. { key: 'memo', name: '备注', fixed: ['alias'], bills: 1, pos: 0 },
  188. { key: 'ex_memo2', name: '备注2', fixed: [], bills: 1, pos: 1, },
  189. { key: 'ex_memo3', name: '备注3', fixed: [], bills: 1, pos: 1, },
  190. { key: 'ex_calc1', name: '计算1', fixed: [], bills: 1, pos: 1, },
  191. ],
  192. gcl_stage_set: [
  193. { key: 'code', name: '项目节编号', fixed: ['move', 'valid', 'alias'], bills: 1, pos: 0 },
  194. { key: 'b_code', name: '清单编号', fixed: ['alias'], bills: 1, pos: 0 },
  195. { key: 'ex_memo1', name: '备注1', fixed: [], bills: 1, pos: 1, },
  196. { key: 'name', name: '名称/计量单元', fixed: ['alias'], bills: 1, pos: 1 },
  197. { key: 'features', name: '项目特征', fixed: ['alias'], bills: 1, pos: 0 },
  198. { key: 'position', name: '位置', fixed: [], bills: 0, pos: 1},
  199. { key: 'unit', name: '单位', fixed: ['alias'], bills: 1, pos: 0 },
  200. { key: 'unit_price', name: '单价', fixed: ['alias'], bills: 1, pos: 0 },
  201. { key: 'deal_calc', name: '签约', fixed: [], bills: 1, pos: 0 },
  202. { key: 'tz_calc', name: '台账', fixed: [], bills: 1, pos: 1},
  203. { key: 'tz2_calc', name: '变更后', fixed: [], bills: 1, pos: 1},
  204. { key: 'real_qty', name: '现场实际数量', fixed: ['valid', 'alias'], bills: 0, pos: 1},
  205. { key: 'estimate_qty', name: '预计变更数量', fixed: ['valid', 'alias'], bills: 0, pos: 1},
  206. { key: 'cur_calc', name: '本期计量', fixed: ['alias'], bills: 1, pos: 1, },
  207. { key: 'end_calc', name: '截止本期计量', fixed: ['alias'], bills: 1, pos: 1, },
  208. { key: 'deal_dgn_qty', name: '合同-项目节数量', fixed: ['alias'], bills: 1, pos: 0, },
  209. { key: 'c_dgn_qty', name: '变更-项目节数量', fixed: ['alias'], bills: 1, pos: 0, },
  210. { key: 'final_dgn_price', name: '经济指标', fixed: [], bills: 1, pos: 0 },
  211. { key: 'postil', name: '本期批注', fixed: [], bills: 1, pos: 1 },
  212. { key: 'drawing_code', name: '图册号', fixed: [], bills: 1, pos: 1 },
  213. { key: 'memo', name: '备注', fixed: [], bills: 1, pos: 0 },
  214. { key: 'ex_memo2', name: '备注2', fixed: [], bills: 1, pos: 1, },
  215. { key: 'ex_memo3', name: '备注3', fixed: [], bills: 1, pos: 1, },
  216. { key: 'add_stage_order', name: '添加期数', fixed: [], bills: 0, pos: 1, },
  217. { key: 'is_tp', name: '总额计量', fixed: [], bills: 1, pos: 0 },
  218. { key: 'gxby', name: '工序报验', fixed: ['valid', 'alias'], bills: 1, pos: 1, },
  219. { key: 'dagl', name: '档案管理', fixed: ['valid', 'alias'], bills: 1, pos: 1, },
  220. { key: 'wbs_url', name: '3方链接', fixed: ['valid', 'alias'], bills: 1, pos: 1, init: 1 },
  221. { key: 'ex_calc1', name: '计算1', fixed: [], bills: 1, pos: 1, },
  222. { key: 'cur_ex_calc1', name: '本期计算1', fixed: [], bills: 1, pos: 1, },
  223. { key: 'end_ex_calc1', name: '截止本期计算1', fixed: [], bills: 1, pos: 1, },
  224. ],
  225. };
  226. // 默认的列设置
  227. const glSpreadTemplate = {
  228. tz_ledger_set: [
  229. { key: 'code', valid: 1 },
  230. { key: 'b_code', valid: 1 },
  231. { key: 'ex_memo1', valid: 0 },
  232. { key: 'name', valid: 1 },
  233. { key: 'features', valid: 0 },
  234. { key: 'position', valid: 1 },
  235. { key: 'unit', valid: 1 },
  236. { key: 'unit_price', valid: 1 },
  237. { key: 'dgn_qty', valid: 1 },
  238. { key: 'dgn_price', valid: 1 },
  239. { key: 'deal_calc', valid: 0, },
  240. { key: 'tz_calc', valid: 1 },
  241. { key: 'drawing_code', valid: 1 },
  242. { key: 'node_type', valid: 1 },
  243. { key: 'memo', valid: 1 },
  244. { key: 'ex_memo2', valid: 0 },
  245. { key: 'ex_memo3', valid: 0 },
  246. { key: 'ex_calc1', valid: 0 },
  247. ],
  248. tz_stage_set: [
  249. { key: 'code', valid: 1 },
  250. { key: 'b_code', valid: 1 },
  251. { key: 'ex_memo1', valid: 0 },
  252. { key: 'name', valid: 1 },
  253. { key: 'features', valid: 0 },
  254. { key: 'position', valid: 1 },
  255. { key: 'unit', valid: 1 },
  256. { key: 'unit_price', valid: 1 },
  257. { key: 'deal_calc', valid: 0, },
  258. { key: 'tz_calc', valid: 1 },
  259. { key: 'tz2_calc', valid: 0 },
  260. { key: 'real_qty', valid: 1 },
  261. { key: 'estimate_qty', valid: 1 },
  262. { key: 'cur_calc', valid: 1 },
  263. { key: 'end_calc', valid: 1 },
  264. { key: 'deal_dgn_qty', valid: 1 },
  265. { key: 'c_dgn_qty', valid: 1 },
  266. { key: 'final_dgn_price', valid: 1 },
  267. { key: 'postil', valid: 1},
  268. { key: 'drawing_code', valid: 1 },
  269. { key: 'memo', valid: 1 },
  270. { key: 'ex_memo2', valid: 0 },
  271. { key: 'ex_memo3', valid: 0 },
  272. { key: 'is_tp', valid: 1},
  273. { key: 'gxby', valid: 1},
  274. { key: 'dagl', valid: 1},
  275. { key: 'wbs_url', valid: 1 },
  276. { key: 'ex_calc1', valid: 0 },
  277. { key: 'cur_ex_calc1', valid: 0 },
  278. { key: 'end_ex_calc1', valid: 0 },
  279. ],
  280. gcl_ledger_set: [
  281. { key: 'code', valid: 1 },
  282. { key: 'b_code', valid: 1 },
  283. { key: 'ex_memo1', valid: 0 },
  284. { key: 'name', valid: 1 },
  285. { key: 'features', valid: 0 },
  286. { key: 'position', valid: 1 },
  287. { key: 'unit', valid: 1 },
  288. { key: 'unit_price', valid: 1 },
  289. { key: 'dgn_qty', valid: 1 },
  290. { key: 'dgn_price', valid: 1 },
  291. { key: 'deal_calc', valid: 1, },
  292. { key: 'tz_calc', valid: 1 },
  293. { key: 'drawing_code', valid: 1 },
  294. { key: 'node_type', valid: 1 },
  295. { key: 'memo', valid: 1 },
  296. { key: 'ex_memo2', valid: 0 },
  297. { key: 'ex_memo3', valid: 0 },
  298. { key: 'ex_calc1', valid: 0 },
  299. ],
  300. gcl_stage_set: [
  301. { key: 'code', valid: 1 },
  302. { key: 'b_code', valid: 1 },
  303. { key: 'ex_memo1', valid: 0 },
  304. { key: 'name', valid: 1 },
  305. { key: 'features', valid: 0 },
  306. { key: 'position', valid: 1 },
  307. { key: 'unit', valid: 1 },
  308. { key: 'unit_price', valid: 1 },
  309. { key: 'deal_calc', valid: 1, },
  310. { key: 'tz_calc', valid: 1, pos_valid: 0 },
  311. { key: 'tz2_calc', valid: 0 },
  312. { key: 'real_qty', valid: 1 },
  313. { key: 'estimate_qty', valid: 1 },
  314. { key: 'cur_calc', valid: 1 },
  315. { key: 'end_calc', valid: 1 },
  316. { key: 'deal_dgn_qty', valid: 1 },
  317. { key: 'c_dgn_qty', valid: 1 },
  318. { key: 'final_dgn_price', valid: 1 },
  319. { key: 'postil', valid: 1},
  320. { key: 'drawing_code', valid: 1 },
  321. { key: 'memo', valid: 1 },
  322. { key: 'ex_memo2', valid: 0 },
  323. { key: 'ex_memo3', valid: 0 },
  324. { key: 'is_tp', valid: 1},
  325. { key: 'add_stage_order', valid: 1},
  326. { key: 'gxby', valid: 1},
  327. { key: 'dagl', valid: 1},
  328. { key: 'wbs_url', valid: 1 },
  329. { key: 'ex_calc1', valid: 0 },
  330. { key: 'cur_ex_calc1', valid: 0 },
  331. { key: 'end_ex_calc1', valid: 0 },
  332. ],
  333. };
  334. const szSpreadTemplate = {
  335. tz_ledger_set: [
  336. { key: 'code', valid: 1 },
  337. { key: 'b_code', valid: 1 },
  338. { key: 'ex_memo1', valid: 0 },
  339. { key: 'name', valid: 1 },
  340. { key: 'features', valid: 1 },
  341. { key: 'position', valid: 1 },
  342. { key: 'unit', valid: 1 },
  343. { key: 'unit_price', valid: 1 },
  344. { key: 'dgn_qty', valid: 1 },
  345. { key: 'dgn_price', valid: 1 },
  346. { key: 'deal_calc', valid: 0, },
  347. { key: 'tz_calc', valid: 1 },
  348. { key: 'drawing_code', valid: 1 },
  349. { key: 'node_type', valid: 1 },
  350. { key: 'memo', valid: 1 },
  351. { key: 'ex_memo2', valid: 0 },
  352. { key: 'ex_memo3', valid: 0 },
  353. { key: 'ex_calc1', valid: 0 },
  354. ],
  355. tz_stage_set: [
  356. { key: 'code', valid: 1 },
  357. { key: 'b_code', valid: 1 },
  358. { key: 'ex_memo1', valid: 0 },
  359. { key: 'name', valid: 1 },
  360. { key: 'features', valid: 1 },
  361. { key: 'position', valid: 1 },
  362. { key: 'unit', valid: 1 },
  363. { key: 'unit_price', valid: 1 },
  364. { key: 'deal_calc', valid: 0, },
  365. { key: 'tz_calc', valid: 1 },
  366. { key: 'tz2_calc', valid: 0 },
  367. { key: 'real_qty', valid: 1 },
  368. { key: 'estimate_qty', valid: 1 },
  369. { key: 'cur_calc', valid: 1 },
  370. { key: 'end_calc', valid: 1 },
  371. { key: 'deal_dgn_qty', valid: 1 },
  372. { key: 'c_dgn_qty', valid: 1 },
  373. { key: 'final_dgn_price', valid: 1 },
  374. { key: 'postil', valid: 1},
  375. { key: 'drawing_code', valid: 1 },
  376. { key: 'memo', valid: 1 },
  377. { key: 'ex_memo2', valid: 0 },
  378. { key: 'ex_memo3', valid: 0 },
  379. { key: 'is_tp', valid: 1},
  380. { key: 'gxby', valid: 1},
  381. { key: 'dagl', valid: 1},
  382. { key: 'wbs_url', valid: 1 },
  383. { key: 'ex_calc1', valid: 0 },
  384. { key: 'cur_ex_calc1', valid: 0 },
  385. { key: 'end_ex_calc1', valid: 0 },
  386. ],
  387. gcl_ledger_set: [
  388. { key: 'code', valid: 1 },
  389. { key: 'b_code', valid: 1 },
  390. { key: 'ex_memo1', valid: 0 },
  391. { key: 'name', valid: 1 },
  392. { key: 'features', valid: 1 },
  393. { key: 'position', valid: 1 },
  394. { key: 'unit', valid: 1 },
  395. { key: 'unit_price', valid: 1 },
  396. { key: 'dgn_qty', valid: 1 },
  397. { key: 'dgn_price', valid: 1 },
  398. { key: 'deal_calc', valid: 1, },
  399. { key: 'tz_calc', valid: 1 },
  400. { key: 'drawing_code', valid: 1 },
  401. { key: 'node_type', valid: 1 },
  402. { key: 'memo', valid: 1 },
  403. { key: 'ex_memo2', valid: 0 },
  404. { key: 'ex_memo3', valid: 0 },
  405. { key: 'ex_calc1', valid: 0 },
  406. ],
  407. gcl_stage_set: [
  408. { key: 'code', valid: 1 },
  409. { key: 'b_code', valid: 1 },
  410. { key: 'ex_memo1', valid: 0 },
  411. { key: 'name', valid: 1 },
  412. { key: 'features', valid: 1 },
  413. { key: 'position', valid: 1 },
  414. { key: 'unit', valid: 1 },
  415. { key: 'unit_price', valid: 1 },
  416. { key: 'deal_calc', valid: 0, },
  417. { key: 'tz_calc', valid: 1 },
  418. { key: 'tz2_calc', valid: 0 },
  419. { key: 'real_qty', valid: 1 },
  420. { key: 'estimate_qty', valid: 1 },
  421. { key: 'cur_calc', valid: 1 },
  422. { key: 'end_calc', valid: 1 },
  423. { key: 'deal_dgn_qty', valid: 1 },
  424. { key: 'c_dgn_qty', valid: 1 },
  425. { key: 'final_dgn_price', valid: 1 },
  426. { key: 'postil', valid: 1},
  427. { key: 'drawing_code', valid: 1 },
  428. { key: 'memo', valid: 1 },
  429. { key: 'ex_memo2', valid: 0 },
  430. { key: 'ex_memo3', valid: 0 },
  431. { key: 'is_tp', valid: 1},
  432. { key: 'add_stage_order', valid: 1},
  433. { key: 'gxby', valid: 1},
  434. { key: 'dagl', valid: 1},
  435. { key: 'wbs_url', valid: 1 },
  436. { key: 'ex_calc1', valid: 0 },
  437. { key: 'cur_ex_calc1', valid: 0 },
  438. { key: 'end_ex_calc1', valid: 0 },
  439. ],
  440. };
  441. const fjSpreadTemplate = {
  442. tz_ledger_set: [
  443. { key: 'code', valid: 1 },
  444. { key: 'b_code', valid: 1 },
  445. { key: 'ex_memo1', valid: 0 },
  446. { key: 'name', valid: 1 },
  447. { key: 'features', valid: 1 },
  448. { key: 'position', valid: 1 },
  449. { key: 'unit', valid: 1 },
  450. { key: 'unit_price', valid: 1 },
  451. { key: 'dgn_qty', valid: 1 },
  452. { key: 'dgn_price', valid: 1 },
  453. { key: 'deal_calc', valid: 0, },
  454. { key: 'tz_calc', valid: 1 },
  455. { key: 'drawing_code', valid: 1 },
  456. { key: 'node_type', valid: 1 },
  457. { key: 'memo', valid: 1 },
  458. { key: 'ex_memo2', valid: 0 },
  459. { key: 'ex_memo3', valid: 0 },
  460. { key: 'ex_calc1', valid: 0 },
  461. ],
  462. tz_stage_set: [
  463. { key: 'code', valid: 1 },
  464. { key: 'b_code', valid: 1 },
  465. { key: 'ex_memo1', valid: 0 },
  466. { key: 'name', valid: 1 },
  467. { key: 'features', valid: 1 },
  468. { key: 'position', valid: 1 },
  469. { key: 'unit', valid: 1 },
  470. { key: 'unit_price', valid: 1 },
  471. { key: 'deal_calc', valid: 0, },
  472. { key: 'tz_calc', valid: 1 },
  473. { key: 'tz2_calc', valid: 0 },
  474. { key: 'real_qty', valid: 1 },
  475. { key: 'estimate_qty', valid: 1 },
  476. { key: 'cur_calc', valid: 1 },
  477. { key: 'end_calc', valid: 1 },
  478. { key: 'deal_dgn_qty', valid: 1 },
  479. { key: 'c_dgn_qty', valid: 1 },
  480. { key: 'final_dgn_price', valid: 1 },
  481. { key: 'postil', valid: 1},
  482. { key: 'drawing_code', valid: 1 },
  483. { key: 'memo', valid: 1 },
  484. { key: 'ex_memo2', valid: 0 },
  485. { key: 'ex_memo3', valid: 0 },
  486. { key: 'is_tp', valid: 1},
  487. { key: 'gxby', valid: 1},
  488. { key: 'dagl', valid: 1},
  489. { key: 'wbs_url', valid: 1 },
  490. { key: 'ex_calc1', valid: 0 },
  491. { key: 'cur_ex_calc1', valid: 0 },
  492. { key: 'end_ex_calc1', valid: 0 },
  493. ],
  494. gcl_ledger_set: [
  495. { key: 'code', valid: 1 },
  496. { key: 'b_code', valid: 1 },
  497. { key: 'ex_memo1', valid: 0 },
  498. { key: 'name', valid: 1 },
  499. { key: 'features', valid: 1 },
  500. { key: 'position', valid: 1 },
  501. { key: 'unit', valid: 1 },
  502. { key: 'unit_price', valid: 1 },
  503. { key: 'dgn_qty', valid: 1 },
  504. { key: 'dgn_price', valid: 1 },
  505. { key: 'deal_calc', valid: 1, },
  506. { key: 'tz_calc', valid: 1 },
  507. { key: 'drawing_code', valid: 1 },
  508. { key: 'node_type', valid: 1 },
  509. { key: 'memo', valid: 1 },
  510. { key: 'ex_memo2', valid: 0 },
  511. { key: 'ex_memo3', valid: 0 },
  512. { key: 'ex_calc1', valid: 0 },
  513. ],
  514. gcl_stage_set: [
  515. { key: 'code', valid: 1 },
  516. { key: 'b_code', valid: 1 },
  517. { key: 'ex_memo1', valid: 0 },
  518. { key: 'name', valid: 1 },
  519. { key: 'features', valid: 1 },
  520. { key: 'position', valid: 1 },
  521. { key: 'unit', valid: 1 },
  522. { key: 'unit_price', valid: 1 },
  523. { key: 'deal_calc', valid: 0, },
  524. { key: 'tz_calc', valid: 1 },
  525. { key: 'tz2_calc', valid: 0 },
  526. { key: 'real_qty', valid: 1 },
  527. { key: 'estimate_qty', valid: 1 },
  528. { key: 'cur_calc', valid: 1 },
  529. { key: 'end_calc', valid: 1 },
  530. { key: 'deal_dgn_qty', valid: 1 },
  531. { key: 'c_dgn_qty', valid: 1 },
  532. { key: 'final_dgn_price', valid: 1 },
  533. { key: 'postil', valid: 1},
  534. { key: 'drawing_code', valid: 1 },
  535. { key: 'memo', valid: 1 },
  536. { key: 'ex_memo2', valid: 0 },
  537. { key: 'ex_memo3', valid: 0 },
  538. { key: 'is_tp', valid: 1},
  539. { key: 'add_stage_order', valid: 1},
  540. { key: 'gxby', valid: 1},
  541. { key: 'dagl', valid: 1},
  542. { key: 'wbs_url', valid: 1 },
  543. { key: 'ex_calc1', valid: 0 },
  544. { key: 'cur_ex_calc1', valid: 0 },
  545. { key: 'end_ex_calc1', valid: 0 },
  546. ],
  547. };
  548. const ProjectSpreadTemplate = [
  549. { code: 'gl', name: '公路', template: glSpreadTemplate, isDefault: 1 },
  550. { code: 'sz', name: '市政', template: szSpreadTemplate },
  551. { code: 'fj', name: '房建', template: fjSpreadTemplate },
  552. { code: 'xxby', name: '养护', template: glSpreadTemplate },
  553. ];
  554. const BaseSpreadColSetting = {
  555. tz_ledger_set: {
  556. bills: {
  557. code: [{title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'}],
  558. b_code: [{title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@',}],
  559. name: [{title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', }],
  560. // features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', cellType: 'ellipsisAutoTip' }],
  561. features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', wordWrap: true, }],
  562. unit: [{title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'}],
  563. unit_price: [{title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number',}],
  564. dgn_qty: [
  565. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量1'},
  566. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  567. ],
  568. dgn_price: [{title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true}],
  569. deal_calc: [
  570. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  571. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  572. ],
  573. tz_calc: [
  574. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  575. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  576. {title: '设计错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sjcl_qty', hAlign: 2, width: 60, type: 'Number'},
  577. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sjcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  578. {title: '其他错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'qtcl_qty', hAlign: 2, width: 60, type: 'Number'},
  579. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qtcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  580. {title: '台账小计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  581. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  582. ],
  583. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  584. node_type: [{title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'}],
  585. memo: [{title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  586. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}, ],
  587. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}, ],
  588. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  589. ex_calc1: [
  590. {title: '计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  591. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  592. ],
  593. },
  594. pos: {
  595. name: [{title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'}],
  596. position: [{title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'}],
  597. tz_calc: [
  598. {title: '台账数量|设计量', colSpan: '5|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 100, type: 'Number'},
  599. {title: '|设计量公式', colSpan: '|1', rowSpan: '|1', field: 'sgfh_expr', hAlign: 0, width: 100},
  600. {title: '|设计错漏增减', colSpan: '|1', rowSpan: '|1', field: 'sjcl_qty', hAlign: 2, width: 100, type: 'Number'},
  601. {title: '|其他错漏增减', colSpan: '|1', rowSpan: '|1', field: 'qtcl_qty', hAlign: 2, width: 100, type: 'Number'},
  602. {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  603. ],
  604. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  605. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  606. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  607. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  608. ex_calc1: [{title: '计算1数量', colSpan: '1', rowSpan: '2', field: 'ex_qty1', hAlign: 2, width: 100, type: 'Number', aliasFormat: '{%s}数量'}],
  609. }
  610. },
  611. tz_stage_set: {
  612. bills: {
  613. code: [{title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', readOnly: true, cellType: 'tree'}],
  614. b_code: [{title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@', readOnly: true}],
  615. name: [{title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', readOnly: true}],
  616. // features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', readOnly: true, cellType: 'ellipsisAutoTip' }],
  617. features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', readOnly: true, wordWrap: true, }],
  618. unit: [{title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true, cellType: 'unit'}],
  619. unit_price: [{title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'}],
  620. tz_calc: [
  621. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  622. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  623. ],
  624. tz2_calc: [
  625. {title: '变更后|数量', colSpan: '2|1', rowSpan: '1|1', field: 'tz2_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  626. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'tz2_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  627. ],
  628. deal_calc: [
  629. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  630. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  631. ],
  632. cur_calc: [
  633. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  634. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  635. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  636. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number'},
  637. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  638. {title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  639. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  640. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  641. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  642. ],
  643. end_calc: [
  644. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  645. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  646. {title: '截止本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  647. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  648. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  649. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  650. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  651. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
  652. ],
  653. deal_dgn_qty: [
  654. {title: '合同|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'deal_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  655. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'deal_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  656. ],
  657. c_dgn_qty: [
  658. {title: '变更|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'c_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  659. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'c_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  660. ],
  661. final_dgn_price: [{title: '经济指标', colSpan: '1', rowSpan: '2', field: 'final_dgn_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},],
  662. is_tp: [{title: '总额计量', colSpan: '1', rowSpan: '2', field: 'is_tp', hAlign: 1, width: 60, cellType: 'checkbox'}],
  663. gxby: [{title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 1, width: 80, formatter: '@', readOnly: true}],
  664. dagl: [{title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 1, width: 80, formatter: '@', readOnly: true}],
  665. wbs_url: [{ title: '3方链接', colSpan: '1', rowSpan: '2', field: 'wbs_url', hAlign: 0, width: 60, formatter: '@', readOnly: true }],
  666. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  667. node_type: [{title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'}],
  668. memo: [{title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  669. postil: [{title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'autoTip'},],
  670. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  671. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  672. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  673. ex_calc1: [
  674. {title: '计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_qty1', hAlign: 2, width: 60, type: 'Number', readOnly: true, aliasFormat: '{%s}|数量'},
  675. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  676. ],
  677. cur_ex_calc1: [
  678. {title: '本期计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_stage_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  679. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_stage_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  680. ],
  681. end_ex_calc1: [
  682. {title: '截止本期计量1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_ex_stage_qty1', hAlign: 2, width: 60, type: 'Number', readOnly: true, aliasFormat: '{%s}|数量'},
  683. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_ex_stage_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  684. ],
  685. },
  686. pos: {
  687. name: [{title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@', readOnly: true}],
  688. position: [{title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@', readOnly: true}],
  689. tz_calc: [{title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, formatter: '@', readOnly: true, aliasFormat: '{%s}数量'}],
  690. tz2_calc: [{title: '变更后台账数量', colSpan: '1', rowSpan: '2', field: 'tz2_qty', hAlign: 2, width: 60, formatter: '@', readOnly: true, aliasFormat: '{%s}数量'}],
  691. real_qty: [{title: '现场实际数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'}],
  692. estimate_qty: [{title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true}],
  693. cur_calc: [
  694. {title: '本期计量|合同', colSpan: '5|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  695. {title: '|合同公式', colSpan: '|1', rowSpan: '|1', field: 'contract_expr', hAlign: 0, width: 100},
  696. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
  697. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  698. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  699. ],
  700. end_calc: [
  701. {title: '截止本期计量|合同', colSpan: '5|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  702. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 80, type: 'Number', readOnly: true},
  703. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  704. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  705. {title: '|合同完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'end_contract_percent', hAlign: 2, width: 65, readOnly: true, type: 'Number'},
  706. ],
  707. postil: [{title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 80, formatter: '@', cellType: 'autoTip'},],
  708. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  709. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  710. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  711. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  712. add_stage_order: [{title: '添加期数', colSpan: '1', rowSpan: '2', field: 'add_stage_order', hAlign:1, width: 80, readOnly: true}],
  713. gxby: [{title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  714. dagl: [{title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  715. wbs_url: [{ title: '3方链接', colSpan: '1', rowSpan: '2', field: 'wbs_url', hAlign: 0, width: 60, formatter: '@', readOnly: true }],
  716. ex_calc1: [{title: '计算1数量', colSpan: '1', rowSpan: '2', field: 'ex_qty1', hAlign: 2, width: 100, type: 'Number', readOnly: true, aliasFormat: '{%s}数量'}],
  717. cur_ex_calc1: [{title: '本期计量1数量', colSpan: '1', rowSpan: '2', field: 'ex_stage_qty1', hAlign: 2, width: 100, type: 'Number', aliasFormat: '{%s}数量'}],
  718. end_ex_calc1: [{title: '截止本期计量1数量', colSpan: '1', rowSpan: '2', field: 'end_ex_stage_qty1', hAlign: 2, width: 100, type: 'Number', readOnly: true, aliasFormat: '{%s}数量'}],
  719. }
  720. },
  721. gcl_ledger_set: {
  722. bills: {
  723. code: [{title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'}],
  724. b_code: [{title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@',}],
  725. name: [{title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', }],
  726. // features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', cellType: 'ellipsisAutoTip' }],
  727. features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', wordWrap: true, }],
  728. unit: [{title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'}],
  729. unit_price: [{title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number',}],
  730. dgn_qty: [
  731. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量1'},
  732. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  733. ],
  734. dgn_price: [{title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true}],
  735. deal_calc: [
  736. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  737. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  738. ],
  739. tz_calc: [
  740. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  741. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  742. {title: '设计错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sjcl_qty', hAlign: 2, width: 60, type: 'Number'},
  743. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sjcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  744. {title: '其他错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'qtcl_qty', hAlign: 2, width: 60, type: 'Number'},
  745. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qtcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  746. {title: '台账小计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  747. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  748. ],
  749. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  750. node_type: [{title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'}],
  751. memo: [{title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  752. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}, ],
  753. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}, ],
  754. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  755. ex_calc1: [
  756. {title: '计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  757. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  758. ],
  759. },
  760. pos: {
  761. name: [{title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'}],
  762. position: [{title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'}],
  763. tz_calc: [
  764. {title: '台账数量|设计量', colSpan: '5|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 100, type: 'Number'},
  765. {title: '|设计量公式', colSpan: '|1', rowSpan: '|1', field: 'sgfh_expr', hAlign: 0, width: 100},
  766. {title: '|设计错漏增减', colSpan: '|1', rowSpan: '|1', field: 'sjcl_qty', hAlign: 2, width: 100, type: 'Number'},
  767. {title: '|其他错漏增减', colSpan: '|1', rowSpan: '|1', field: 'qtcl_qty', hAlign: 2, width: 100, type: 'Number'},
  768. {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  769. ],
  770. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  771. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  772. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  773. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  774. ex_calc1: [{title: '计算1数量', colSpan: '1', rowSpan: '2', field: 'ex_qty1', hAlign: 2, width: 100, type: 'Number', aliasFormat: '{%s}数量'}],
  775. }
  776. },
  777. gcl_stage_set: {
  778. bills: {
  779. code: [{title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', readOnly: true, cellType: 'tree'}],
  780. b_code: [{title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@', readOnly: true}],
  781. name: [{title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', readOnly: true}],
  782. // features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', readOnly: true, cellType: 'ellipsisAutoTip' }],
  783. features: [{title: '项目特征', colSpan: '1', rowSpan: '2', field: 'features', hAlign: 0, width: 185, formatter: '@', readOnly: true, wordWrap: true, }],
  784. unit: [{title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true, cellType: 'unit'}],
  785. unit_price: [{title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'}],
  786. tz_calc: [
  787. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  788. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  789. ],
  790. tz2_calc: [
  791. {title: '变更后|数量', colSpan: '2|1', rowSpan: '1|1', field: 'tz2_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  792. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'tz2_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  793. ],
  794. deal_calc: [
  795. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number', aliasFormat: '{%s}|数量'},
  796. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  797. ],
  798. cur_calc: [
  799. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  800. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  801. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  802. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number'},
  803. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  804. {title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  805. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  806. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  807. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  808. ],
  809. end_calc: [
  810. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  811. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  812. {title: '截止本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  813. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  814. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  815. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  816. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  817. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
  818. ],
  819. deal_dgn_qty: [
  820. {title: '合同|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'deal_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  821. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'deal_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  822. ],
  823. c_dgn_qty: [
  824. {title: '变更|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'c_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  825. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'c_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  826. ],
  827. final_dgn_price: [{title: '经济指标', colSpan: '1', rowSpan: '2', field: 'final_dgn_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},],
  828. is_tp: [{title: '总额计量', colSpan: '1', rowSpan: '2', field: 'is_tp', hAlign: 1, width: 60, cellType: 'checkbox'}],
  829. gxby: [{title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  830. dagl: [{title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  831. wbs_url: [{ title: '3方链接', colSpan: '1', rowSpan: '2', field: 'wbs_url', hAlign: 0, width: 60, formatter: '@', readOnly: true }],
  832. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  833. memo: [{title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  834. node_type: [{title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'}],
  835. postil: [{title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'autoTip'},],
  836. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  837. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  838. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  839. ex_calc1: [
  840. {title: '计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_qty1', hAlign: 2, width: 60, type: 'Number', readOnly: true, aliasFormat: '{%s}|数量'},
  841. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  842. ],
  843. cur_ex_calc1: [
  844. {title: '本期计算1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'ex_stage_qty1', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}|数量'},
  845. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'ex_stage_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  846. ],
  847. end_ex_calc1: [
  848. {title: '截止本期计量1|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_ex_stage_qty1', hAlign: 2, width: 60, type: 'Number', readOnly: true, aliasFormat: '{%s}|数量'},
  849. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_ex_stage_tp1', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  850. ],
  851. },
  852. pos: {
  853. name: [{title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@'}],
  854. position: [{title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'}],
  855. real_qty: [{title: '现场实际数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'}],
  856. estimate_qty: [{title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true}],
  857. tz_calc: [{title: '台账数量', colSpan: '1', rowSpan: '2', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number', aliasFormat: '{%s}数量'}],
  858. tz2_calc: [{title: '变更后台账数量', colSpan: '1', rowSpan: '2', field: 'tz2_qty', hAlign: 2, width: 60, formatter: '@', readOnly: true, aliasFormat: '{%s}数量'}],
  859. cur_calc: [
  860. {title: '本期计量|合同', colSpan: '5|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  861. {title: '|合同公式', colSpan: '|1', rowSpan: '|1', field: 'contract_expr', hAlign: 0, width: 100},
  862. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
  863. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  864. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  865. ],
  866. end_calc: [
  867. {title: '截止本期计量|合同', colSpan: '5|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  868. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 80, type: 'Number', readOnly: true},
  869. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  870. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  871. {title: '|合同完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'end_contract_percent', hAlign: 2, width: 65, readOnly: true, type: 'Number'},
  872. ],
  873. postil: [{title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 80, formatter: '@', cellType: 'autoTip'},],
  874. drawing_code: [{title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', textIndent: 1}],
  875. ex_memo1: [{title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  876. ex_memo2: [{title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  877. ex_memo3: [{title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}],
  878. add_stage_order: [{title: '添加期数', colSpan: '1', rowSpan: '2', field: 'add_stage_order', hAlign:1, width: 80, readOnly: true}],
  879. gxby: [{title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  880. dagl: [{title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true}],
  881. wbs_url: [{ title: '3方链接', colSpan: '1', rowSpan: '2', field: 'wbs_url', hAlign: 0, width: 60, formatter: '@', readOnly: true }],
  882. ex_calc1: [{title: '计算1数量', colSpan: '1', rowSpan: '2', field: 'ex_qty1', hAlign: 2, width: 100, type: 'Number', aliasFormat: '{%s}数量'}],
  883. cur_ex_calc1: [{title: '本期计量1数量', colSpan: '1', rowSpan: '2', field: 'ex_stage_qty1', hAlign: 2, width: 100, type: 'Number', aliasFormat: '{%s}数量'}],
  884. end_ex_calc1: [{title: '截止本期计量1数量', colSpan: '1', rowSpan: '2', field: 'end_ex_stage_qty1', hAlign: 2, width: 100, type: 'Number', readOnly: true, aliasFormat: '{%s}数量'}],
  885. }
  886. },
  887. };
  888. const withoutClReplace = {
  889. indexField: 'sgfh_qty',
  890. remove: ['sgfh_qty', 'sgfh_expr', 'sgfh_tp', 'sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'quantity', 'total_price'],
  891. billsCols: [
  892. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  893. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  894. ],
  895. posCols: [
  896. {title: '台账数量|设计量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 100, type: 'Number'},
  897. {title: '|设计量公式', colSpan: '|1', rowSpan: '|1', field: 'sgfh_expr', hAlign: 2, width: 100},
  898. ],
  899. };
  900. const SpreadSpec = {
  901. gcl_stage_set: {
  902. pos: [
  903. { condition: { key: 'field', value: ['name', 'position'] }, update: { readOnly: false } },
  904. ],
  905. }
  906. };
  907. const SpecSpreadColFields = [
  908. { key: 'ex_memo1', fields: ['ex_memo1'] },
  909. { key: 'ex_memo2', fields: ['ex_memo2'] },
  910. { key: 'ex_memo3', fields: ['ex_memo3'] },
  911. ];
  912. const withCl = {
  913. ledger: {
  914. cols: [
  915. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
  916. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@',},
  917. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip',},
  918. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', },
  919. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  920. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number',},
  921. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  922. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  923. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  924. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number'},
  925. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  926. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  927. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  928. {title: '设计错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sjcl_qty', hAlign: 2, width: 60, type: 'Number'},
  929. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sjcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  930. {title: '其他错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'qtcl_qty', hAlign: 2, width: 60, type: 'Number'},
  931. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qtcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  932. {title: '台账小计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  933. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  934. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  935. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  936. {title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'},
  937. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  938. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  939. ],
  940. emptyRows: 3,
  941. headRows: 2,
  942. headRowHeight: [25, 25],
  943. defaultRowHeight: 21,
  944. headerFont: '12px 微软雅黑',
  945. font: '12px 微软雅黑',
  946. },
  947. pos: {
  948. cols: [
  949. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  950. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  951. {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'},
  952. {title: '台账数量|设计量', colSpan: '4|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 100, type: 'Number'},
  953. {title: '|设计错漏增减', colSpan: '|1', rowSpan: '|1', field: 'sjcl_qty', hAlign: 2, width: 100, type: 'Number'},
  954. {title: '|其他错漏增减', colSpan: '|1', rowSpan: '|1', field: 'qtcl_qty', hAlign: 2, width: 100, type: 'Number'},
  955. {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  956. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  957. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  958. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  959. ],
  960. emptyRows: 3,
  961. headRows: 2,
  962. headRowHeight: [25, 25],
  963. headColWidth: [30],
  964. defaultRowHeight: 21,
  965. headerFont: '12px 微软雅黑',
  966. font: '12px 微软雅黑',
  967. }
  968. };
  969. const withoutCl = {
  970. ledger: {
  971. cols: [
  972. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
  973. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@'},
  974. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  975. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
  976. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  977. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  978. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  979. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  980. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  981. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number'},
  982. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  983. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  984. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  985. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  986. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  987. {title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'},
  988. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  989. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  990. ],
  991. emptyRows: 3,
  992. headRows: 2,
  993. headRowHeight: [25, 25],
  994. defaultRowHeight: 21,
  995. headerFont: '12px 微软雅黑',
  996. font: '12px 微软雅黑',
  997. },
  998. pos: {
  999. cols: [
  1000. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1001. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1002. {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'},
  1003. {title: '设计量', colSpan: '1', rowSpan: '1', field: 'sgfh_qty', hAlign: 2, width: 120, type: 'Number'},
  1004. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1005. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1006. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1007. ],
  1008. emptyRows: 3,
  1009. headRows: 1,
  1010. headRowHeight: [32],
  1011. headColWidth: [30],
  1012. defaultRowHeight: 21,
  1013. headerFont: '12px 微软雅黑',
  1014. font: '12px 微软雅黑',
  1015. }
  1016. };
  1017. const withClGcl = {
  1018. ledger: {
  1019. cols: [
  1020. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
  1021. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@'},
  1022. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1023. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
  1024. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  1025. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1026. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number'},
  1027. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1028. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1029. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1030. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1031. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  1032. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1033. {title: '设计错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sjcl_qty', hAlign: 2, width: 60, type: 'Number'},
  1034. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sjcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1035. {title: '其他错漏增减|数量', colSpan: '2|1', rowSpan: '1|1', field: 'qtcl_qty', hAlign: 2, width: 60, type: 'Number'},
  1036. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qtcl_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1037. {title: '台账小计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1038. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1039. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1040. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1041. {title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'},
  1042. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1043. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1044. ],
  1045. emptyRows: 3,
  1046. headRows: 2,
  1047. headRowHeight: [25, 25],
  1048. defaultRowHeight: 21,
  1049. headerFont: '12px 微软雅黑',
  1050. font: '12px 微软雅黑',
  1051. }
  1052. };
  1053. const withoutClGcl = {
  1054. ledger: {
  1055. cols: [
  1056. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
  1057. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@'},
  1058. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1059. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
  1060. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  1061. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1062. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, type: 'Number'},
  1063. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1064. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1065. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1066. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1067. {title: '设计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
  1068. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sgfh_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1069. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1070. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1071. {title: '费用类别', colSpan: '1', rowSpan: '2', field: 'node_type', hAlign: 0, width: 100, cellType: 'customizeCombo'},
  1072. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1073. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1074. ],
  1075. emptyRows: 3,
  1076. headRows: 2,
  1077. headRowHeight: [25, 25],
  1078. defaultRowHeight: 21,
  1079. headerFont: '12px 微软雅黑',
  1080. font: '12px 微软雅黑',
  1081. }
  1082. };
  1083. // 期 -- 本期计量台账
  1084. const stageTz = {
  1085. ledger: {
  1086. cols: [
  1087. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', readOnly: true, cellType: 'tree'},
  1088. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@', readOnly: true},
  1089. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1090. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', readOnly: true},
  1091. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true, cellType: 'unit'},
  1092. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1093. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1094. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1095. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1096. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  1097. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1098. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1099. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1100. { title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  1101. { title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  1102. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1103. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1104. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1105. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1106. {title: '截止本期数量变更|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1107. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1108. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1109. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1110. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
  1111. {title: '合同|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'deal_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1112. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'deal_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1113. {title: '变更|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'c_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1114. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'c_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1115. // {title: '预估变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'due_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1116. // {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'due_qc_minus_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1117. // {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'due_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1118. // {title: '预估决算|数量', colSpan: '2|1', rowSpan: '1|1', field: 'due_final_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1119. // {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'due_final_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1120. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'final_dgn_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1121. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'autoTip'},
  1122. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1123. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1124. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1125. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1126. {title: '总额计量', colSpan: '1', rowSpan: '2', field: 'is_tp', hAlign: 1, width: 60, cellType: 'checkbox'},
  1127. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1128. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1129. ],
  1130. emptyRows: 0,
  1131. headRows: 2,
  1132. headRowHeight: [25, 25],
  1133. defaultRowHeight: 21,
  1134. headerFont: '12px 微软雅黑',
  1135. font: '12px 微软雅黑',
  1136. frozenColCount: 5,
  1137. frozenLineColor: '#93b5e4',
  1138. },
  1139. pos: {
  1140. cols: [
  1141. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@', readOnly: true},
  1142. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1143. {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@', readOnly: true},
  1144. {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, formatter: '@', readOnly: true},
  1145. {title: '现场实际数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
  1146. {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1147. {title: '本期计量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1148. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
  1149. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1150. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1151. {title: '截止本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1152. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 80, type: 'Number', readOnly: true},
  1153. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1154. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 80, formatter: '@', cellType: 'autoTip'},
  1155. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1156. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1157. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1158. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1159. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1160. ],
  1161. emptyRows: 3,
  1162. headRows: 2,
  1163. headRowHeight: [25, 25],
  1164. headColWidth: [30],
  1165. defaultRowHeight: 21,
  1166. headerFont: '12px 微软雅黑',
  1167. font: '12px 微软雅黑',
  1168. }
  1169. };
  1170. const stageCl = {
  1171. ledger: {
  1172. cols: [
  1173. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', readOnly: true, cellType: 'tree'},
  1174. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@', readOnly: true},
  1175. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1176. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', readOnly: true},
  1177. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true, cellType: 'unit'},
  1178. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1179. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1180. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1181. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1182. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1183. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1184. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  1185. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number',},
  1186. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1187. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1188. { title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  1189. { title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  1190. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1191. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1192. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1193. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1194. {title: '截止本期数量变更|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1195. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1196. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1197. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1198. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
  1199. {title: '合同|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'deal_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1200. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'deal_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1201. {title: '变更|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'c_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1202. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'c_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1203. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'final_dgn_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1204. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'autoTip'},
  1205. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1206. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1207. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1208. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1209. {title: '总额计量', colSpan: '1', rowSpan: '2', field: 'is_tp', hAlign: 1, width: 60, cellType: 'checkbox'},
  1210. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1211. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1212. ],
  1213. emptyRows: 0,
  1214. headRows: 2,
  1215. headRowHeight: [25, 25],
  1216. defaultRowHeight: 21,
  1217. headerFont: '12px 微软雅黑',
  1218. font: '12px 微软雅黑',
  1219. frozenColCount: 5,
  1220. frozenLineColor: '#93b5e4',
  1221. },
  1222. pos: {
  1223. cols: [
  1224. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@'},
  1225. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1226. {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'},
  1227. {title: '现场实际数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
  1228. {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1229. {title: '本期计量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1230. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
  1231. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1232. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1233. {title: '截止本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1234. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 80, type: 'Number', readOnly: true},
  1235. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1236. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 80, formatter: '@', cellType: 'autoTip'},
  1237. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1238. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1239. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1240. {title: '添加期数', colSpan: '1', rowSpan: '2', field: 'add_stage_order', hAlign:1, width: 80, readOnly: true},
  1241. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1242. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1243. ],
  1244. emptyRows: 20,
  1245. headRows: 2,
  1246. headRowHeight: [25, 25],
  1247. headColWidth: [30],
  1248. defaultRowHeight: 21,
  1249. headerFont: '12px 微软雅黑',
  1250. font: '12px 微软雅黑',
  1251. }
  1252. };
  1253. const stageNoCl = {
  1254. ledger: {
  1255. cols: [
  1256. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', readOnly: true, cellType: 'tree'},
  1257. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@', readOnly: true},
  1258. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1259. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@', readOnly: true},
  1260. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true, cellType: 'unit'},
  1261. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1262. {title: '签约|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1263. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1264. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1265. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1266. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1267. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  1268. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number',},
  1269. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1270. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1271. {title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', readOnly: true },
  1272. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1273. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1274. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1275. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1276. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1277. {title: '截止本期数量变更|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1278. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1279. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1280. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1281. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
  1282. {title: '合同|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'deal_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1283. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'deal_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1284. {title: '变更|项目节数量1', colSpan: '2|1', rowSpan: '1|1', field: 'c_dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  1285. {title: '|项目节数量2', colSpan: '|1', rowSpan: '|1', field: 'c_dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  1286. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'final_dgn_price', hAlign: 2, width: 60, readOnly: true, type: 'Number'},
  1287. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'autoTip'},
  1288. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1289. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1290. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1291. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1292. {title: '总额计量', colSpan: '1', rowSpan: '2', field: 'is_tp', hAlign: 1, width: 60, cellType: 'checkbox'},
  1293. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1294. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1295. ],
  1296. emptyRows: 0,
  1297. headRows: 2,
  1298. headRowHeight: [25, 25],
  1299. defaultRowHeight: 21,
  1300. headerFont: '12px 微软雅黑',
  1301. font: '12px 微软雅黑',
  1302. frozenColCount: 5,
  1303. frozenLineColor: '#93b5e4',
  1304. },
  1305. pos: {
  1306. cols: [
  1307. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@'},
  1308. {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'},
  1309. {title: 'ex_memo1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1310. {title: '现场实际数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
  1311. {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1312. {title: '本期计量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1313. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
  1314. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1315. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1316. {title: '截止本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1317. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 80, type: 'Number', readOnly: true},
  1318. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
  1319. {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 80, formatter: '@', cellType: 'autoTip'},
  1320. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1321. {title: 'ex_memo2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1322. {title: 'ex_memo3', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  1323. {title: '添加期数', colSpan: '1', rowSpan: '2', field: 'add_stage_order', hAlign:1, width: 80, readOnly: true},
  1324. {title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1325. {title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 0, width: 80, formatter: '@', readOnly: true},
  1326. ],
  1327. emptyRows: 20,
  1328. headRows: 2,
  1329. headRowHeight: [25, 25],
  1330. headColWidth: [30],
  1331. defaultRowHeight: 21,
  1332. headerFont: '12px 微软雅黑',
  1333. font: '12px 微软雅黑',
  1334. }
  1335. };
  1336. // 期 -- 清单汇总
  1337. const stageGather = {
  1338. gcl: {
  1339. cols: [
  1340. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 80, formatter: '@'},
  1341. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1342. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
  1343. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1344. {title: '签约清单|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deal_bills_qty', hAlign: 2, width: 60, type: 'Number'},
  1345. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deal_bills_tp', hAlign: 2, width: 60, type: 'Number'},
  1346. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
  1347. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number'},
  1348. {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1349. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
  1350. {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1351. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number'},
  1352. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1353. { title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number' },
  1354. { title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number' },
  1355. {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1356. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, type: 'Number'},
  1357. {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1358. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, type: 'Number'},
  1359. {title: '截止本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1360. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, type: 'Number'},
  1361. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1362. {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1363. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, type: 'Number'},
  1364. {title: '|完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, type: 'Number'},
  1365. {title: '台账+变更令|数量', colSpan: '3|1', rowSpan: '1|1', field: 'final_qty', hAlign: 2, width: 60, type: 'Number'},
  1366. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'final_tp', hAlign: 2, width: 60, type: 'Number'},
  1367. {title: '|完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'final_percent', hAlign: 2, width: 80, type: 'Number'},
  1368. ],
  1369. emptyRows: 0,
  1370. headRows: 2,
  1371. headRowHeight: [25, 25],
  1372. headColWidth: [30],
  1373. defaultRowHeight: 21,
  1374. headerFont: '12px 微软雅黑',
  1375. font: '12px 微软雅黑',
  1376. readOnly: true,
  1377. },
  1378. leafXmj: {
  1379. cols: [
  1380. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 100, formatter: '@'},
  1381. {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
  1382. {title: '本期计量数量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1383. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1384. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1385. {title: '|完成', colSpan: '|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1386. {title: '截止本期计量数量|合同', colSpan: '5|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1387. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1388. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1389. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1390. {title: '|完成率(%)', colSpan: '1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, type: 'Number', visible: false},
  1391. {title: '单位工程', colSpan: '1', rowSpan: '2', field: 'dwgc', hAlign: 0, width: 80, formatter: '@'},
  1392. {title: '分部工程', colSpan: '1', rowSpan: '2', field: 'fbgc', hAlign: 0, width: 80, formatter: '@'},
  1393. {title: '分项工程', colSpan: '1', rowSpan: '2', field: 'fxgc', hAlign: 0, width: 80, formatter: '@'},
  1394. {title: '细目', colSpan: '1', rowSpan: '2', field: 'jldy', hAlign: 0, width: 80, formatter: '@'},
  1395. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 80, formatter: '@'},
  1396. {title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
  1397. ],
  1398. emptyRows: 0,
  1399. headRows: 2,
  1400. headRowHeight: [25, 25],
  1401. headColWidth: [30],
  1402. defaultRowHeight: 21,
  1403. headerFont: '12px 微软雅黑',
  1404. font: '12px 微软雅黑',
  1405. readOnly: true,
  1406. },
  1407. gatherLeafXmj: {
  1408. cols: [
  1409. {title: '单位工程', colSpan: '1', rowSpan: '2', field: 'dwgc', hAlign: 0, width: 80, formatter: '@', visible: false},
  1410. {title: '分部工程', colSpan: '1', rowSpan: '2', field: 'fbgc', hAlign: 0, width: 80, formatter: '@', visible: false},
  1411. {title: '分项工程', colSpan: '1', rowSpan: '2', field: 'fxgc', hAlign: 0, width: 80, formatter: '@', visible: false},
  1412. {title: '细目', colSpan: '1', rowSpan: '2', field: 'jldy', hAlign: 0, width: 80, formatter: '@', visible: false},
  1413. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 80, formatter: '@'},
  1414. {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
  1415. {title: '本期计量数量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1416. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1417. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1418. {title: '|完成', colSpan: '|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1419. {title: '截止本期计量数量|合同', colSpan: '4|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number'},
  1420. {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_qty', hAlign: 2, width: 60, type: 'Number'},
  1421. {title: '|不计价', colSpan: '|1', rowSpan: '|1', field: 'end_qc_minus_qty', hAlign: 2, width: 60, type: 'Number'},
  1422. {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number'},
  1423. ],
  1424. emptyRows: 0,
  1425. headRows: 2,
  1426. headRowHeight: [25, 25],
  1427. headColWidth: [30],
  1428. defaultRowHeight: 21,
  1429. headerFont: '12px 微软雅黑',
  1430. font: '12px 微软雅黑',
  1431. readOnly: true,
  1432. }
  1433. };
  1434. // 期 -- 审核比较
  1435. const stageCompare = {
  1436. ledger: {
  1437. baseCols: [
  1438. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 150, formatter: '@', cellType: 'tree'},
  1439. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 80, formatter: '@'},
  1440. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1441. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  1442. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1443. { title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', },
  1444. { title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number' },
  1445. ],
  1446. extraCols: [
  1447. {title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty%s', hAlign: 2, width: 60, type: 'Number'},
  1448. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp%s', hAlign: 2, width: 60, type: 'Number'},
  1449. ],
  1450. emptyRows: 3,
  1451. headRows: 2,
  1452. headRowHeight: [25, 25],
  1453. defaultRowHeight: 21,
  1454. headerFont: '12px 微软雅黑',
  1455. font: '12px 微软雅黑',
  1456. readOnly: true,
  1457. },
  1458. pos: {
  1459. baseCols: [
  1460. {title: '计量单元', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1461. ],
  1462. extraCols: [
  1463. {title: '%s', colSpan: '1', rowSpan: '1', field: 'gather_qty%s', hAlign: 2, width: 60, type: 'Number'},
  1464. ],
  1465. emptyRows: 3,
  1466. headRows: 1,
  1467. headRowHeight: [32],
  1468. headColWidth: [30],
  1469. defaultRowHeight: 21,
  1470. headerFont: '12px 微软雅黑',
  1471. font: '12px 微软雅黑',
  1472. readOnly: true,
  1473. }
  1474. };
  1475. // 计量台账 - cols需要二次计算得到
  1476. const measure = {
  1477. gather: {},
  1478. compare: {},
  1479. };
  1480. // 计量台账 -- 清单汇总 -- 工程量清单汇总
  1481. measure.gather.billsSpread = {
  1482. cols: [
  1483. {title: '清单编号', colSpan: '1', rowSpan: '1', field: 'b_code', hAlign: 0, width: 120, formatter: '@'},
  1484. {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1485. {title: '单位', colSpan: '1', rowSpan: '1', field: 'unit', hAlign: 0, width: 60, formatter: '@', cellType: 'unit'},
  1486. {title: '单价', colSpan: '1', rowSpan: '1', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1487. ],
  1488. emptyRows: 0,
  1489. headRows: 1,
  1490. headRowHeight: [32],
  1491. headColWidth: [30],
  1492. defaultRowHeight: 21,
  1493. headerFont: '12px 微软雅黑',
  1494. font: '12px 微软雅黑',
  1495. };
  1496. measure.compare.ledger = {
  1497. cols: [
  1498. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 150, formatter: '@', cellType: 'tree'},
  1499. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 80, formatter: '@'},
  1500. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1501. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
  1502. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  1503. ],
  1504. emptyRows: 3,
  1505. headRows: 2,
  1506. headRowHeight: [25, 25],
  1507. defaultRowHeight: 21,
  1508. headerFont: '12px 微软雅黑',
  1509. font: '12px 微软雅黑',
  1510. };
  1511. measure.compare.pos = {
  1512. cols: [
  1513. {title: '计量单元', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
  1514. ],
  1515. emptyRows: 3,
  1516. headRows: 1,
  1517. headRowHeight: [32],
  1518. headColWidth: [30],
  1519. defaultRowHeight: 21,
  1520. headerFont: '12px 微软雅黑',
  1521. font: '12px 微软雅黑',
  1522. };
  1523. const blank = {
  1524. cols: [],
  1525. emptyRows: 0,
  1526. headRows: 2,
  1527. headRowHeight: [32],
  1528. defaultRowHeight: 21,
  1529. headerFont: '12px 微软雅黑',
  1530. font: '12px 微软雅黑',
  1531. };
  1532. module.exports = {
  1533. EmptySpreadSetting,
  1534. BaseSetCol,
  1535. ProjectSpreadTemplate,
  1536. BaseSpreadColSetting,
  1537. SpreadSpec,
  1538. SpecSpreadColFields,
  1539. withoutClReplace,
  1540. withCl,
  1541. withoutCl,
  1542. withClGcl,
  1543. withoutClGcl,
  1544. stageTz,
  1545. stageCl,
  1546. stageNoCl,
  1547. stageGather,
  1548. stageCompare,
  1549. filterCols: { dealCols, dgnCols, clCols, stageDgnCols, realCompleteCols, thirdPartyCols, minusNoValueCols, priceDiffCols },
  1550. measure,
  1551. blank,
  1552. };