balanceSheetData.vue 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351
  1. <template>
  2. <!-- 平衡表数据维护 -->
  3. <div class="balanceSheetData">
  4. <div class="box">
  5. <div class="box-top">
  6. <el-form
  7. style="overflow: hidden;"
  8. :style="filterForm.show ? null : { height: '0px' }"
  9. size="mini"
  10. label-width="70px"
  11. >
  12. <el-row>
  13. <el-col :span="6">
  14. <el-form-item label="时间粒度">
  15. <el-select
  16. filterable clearable
  17. v-model="filterForm.data.timegranid"
  18. placeholder=""
  19. style="width: 100%;"
  20. >
  21. <el-option
  22. v-for="item of nameObj.timegranid.arr"
  23. :key="item.id"
  24. :value="item.id"
  25. :label="item.name"
  26. ></el-option>
  27. </el-select>
  28. </el-form-item>
  29. </el-col>
  30. <el-col :span="6">
  31. <el-form-item label="时间">
  32. <!-- <el-date-picker
  33. v-model="filterForm.data.clock"
  34. type="date"
  35. placeholder=""
  36. style="width: 100%;"
  37. value-format="yyyy-MM-dd"
  38. ></el-date-picker> -->
  39. <zj-timegran-date
  40. v-model="filterForm.data.clock"
  41. style="width: 100%;"
  42. :timegranId="filterForm.data.timegranid"
  43. :oneFoo="getTableData"
  44. :defaultOffset="-1"
  45. ></zj-timegran-date>
  46. </el-form-item>
  47. </el-col>
  48. <el-col :span="6">
  49. <el-form-item label="工序">
  50. <el-select
  51. filterable clearable
  52. v-model="filterForm.data.workprocid"
  53. placeholder=""
  54. style="width: 100%;"
  55. >
  56. <el-option
  57. v-for="item of nameObj.workprocid.arr"
  58. :key="item.id"
  59. :value="item.id"
  60. :label="item.name"
  61. ></el-option>
  62. </el-select>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :span="6">
  66. <el-form-item label="能介">
  67. <el-select
  68. filterable clearable
  69. v-model="filterForm.data.energyid"
  70. placeholder=""
  71. style="width: 100%;"
  72. >
  73. <el-option
  74. v-for="item of nameObj.energyid.arr"
  75. :key="item.id"
  76. :value="item.id"
  77. :label="item.name"
  78. ></el-option>
  79. </el-select>
  80. </el-form-item>
  81. </el-col>
  82. </el-row>
  83. <el-row>
  84. <el-col :span="6">
  85. <el-form-item label="属性">
  86. <el-select
  87. filterable clearable
  88. v-model="filterForm.data.propertyid"
  89. placeholder=""
  90. style="width: 100%;"
  91. >
  92. <el-option
  93. v-for="item of nameObj.propertyid.arr"
  94. :key="item.id"
  95. :value="item.id"
  96. :label="item.name"
  97. ></el-option>
  98. </el-select>
  99. </el-form-item>
  100. </el-col>
  101. <el-col :span="6">
  102. <el-form-item label="项目代码">
  103. <el-input clearable
  104. v-model="filterForm.data.itemid"
  105. placeholder=""
  106. style="width: 100%;"
  107. @keyup.enter.native="getTableData(1)"
  108. ></el-input>
  109. </el-form-item>
  110. </el-col>
  111. <el-col :span="6">
  112. <el-form-item label="项目名称">
  113. <el-input clearable
  114. v-model="filterForm.data.itemname"
  115. placeholder=""
  116. style="width: 100%;"
  117. @keyup.enter.native="getTableData(1)"
  118. ></el-input>
  119. </el-form-item>
  120. </el-col>
  121. <el-col :span="6">
  122. <el-form-item label="项目描述">
  123. <el-input clearable
  124. v-model="filterForm.data.itemdesc"
  125. placeholder=""
  126. style="width: 100%;"
  127. @keyup.enter.native="getTableData(1)"
  128. ></el-input>
  129. </el-form-item>
  130. </el-col>
  131. </el-row>
  132. </el-form>
  133. <div class="box-top-gjl">
  134. <el-button
  135. type="primary"
  136. size="mini"
  137. icon="el-icon-edit-outline"
  138. v-privilege="activeMenu + 'PUT'"
  139. @click="but_edit_plural()"
  140. :loading="loading"
  141. >修改</el-button>
  142. <el-button
  143. class="button"
  144. type="primary"
  145. size="mini"
  146. icon="el-icon-refresh"
  147. @click="againCount()"
  148. >自动均摊</el-button>
  149. <span v-show="difference" style="margin-left: 5px;">需均摊:{{difference}}</span>
  150. <div style="float:right; text-align: right;">
  151. <el-button
  152. class="button"
  153. type="primary"
  154. size="mini"
  155. icon="el-icon-search"
  156. v-privilege="activeMenu + 'QUERY'"
  157. @click="getTableData(1)"
  158. >查询</el-button>
  159. <el-button
  160. class="button"
  161. type="primary"
  162. size="mini"
  163. icon="el-icon-refresh"
  164. v-privilege="activeMenu + 'QUERY'"
  165. @click="tableDataCancel();"
  166. >重置</el-button>
  167. <el-button
  168. size="mini"
  169. :icon="filterForm.show ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
  170. :title="filterForm.show ? '收起搜索区' : '展开搜索区'"
  171. @click="filterForm.show = !filterForm.show;
  172. $nextTick(() => {
  173. singleTableHeight = getRoleHeight($refs['boxBottom']) - 45;
  174. }
  175. );"
  176. >{{ filterForm.show ? '收起' : '展开' }}</el-button>
  177. </div>
  178. </div>
  179. </div>
  180. <div class="box-bottom" ref="boxBottom">
  181. <div class="table-box" ref="table_box">
  182. <div class="table-left" :style="{ width: leftTableWidth + 'px' }">
  183. <el-form
  184. size="mini"
  185. ref="dialog_form_arr_1"
  186. label-width="0px"
  187. :model="tableFormDataObj"
  188. >
  189. <el-table stripe
  190. id="singleTable1"
  191. ref="singleTable1"
  192. :data="leftTableData"
  193. v-loading="leftTableLoading"
  194. style="width: 100%;"
  195. :height="singleTableHeight"
  196. border
  197. size="mini"
  198. highlight-current-row
  199. show-summary
  200. :summary-method="getSummaries"
  201. @current-change="getTableDetailData"
  202. @selection-change="handleSelectionChange"
  203. @expand-change="getChildTable"
  204. >
  205. <el-table-column
  206. type="selection"
  207. width="40"
  208. align="center"
  209. fixed="left"
  210. ></el-table-column>
  211. <!-- <el-table-column
  212. sortable
  213. prop="timegranid"
  214. label="时间粒度"
  215. min-width="100px"
  216. :show-overflow-tooltip="true"
  217. >
  218. <template slot-scope="scope">
  219. <span>{{ nameObj.timegranid.obj[scope.row.timegranid] ? nameObj.timegranid.obj[scope.row.timegranid] : scope.row.timegranid }}</span>
  220. </template>
  221. </el-table-column> -->
  222. <el-table-column
  223. type="expand"
  224. width="45"
  225. >
  226. <template slot-scope="scope">
  227. <el-table stripe
  228. :data="scope.row.tableData"
  229. v-loading="scope.row.tableLoading"
  230. style="width: 500px; resize: horizontal;"
  231. border
  232. size="mini"
  233. highlight-current-row
  234. >
  235. <el-table-column
  236. sortable
  237. prop="itemname"
  238. label="项目名称"
  239. width="200px"
  240. :show-overflow-tooltip="true"
  241. ></el-table-column>
  242. <el-table-column
  243. sortable
  244. prop="timegranid"
  245. label="时间粒度"
  246. width="100px"
  247. :show-overflow-tooltip="true"
  248. >
  249. <template slot-scope="scope">
  250. <span>{{ nameObj.timegranid.obj[scope.row.timegranid] ? nameObj.timegranid.obj[scope.row.timegranid] : scope.row.timegranid }}</span>
  251. </template>
  252. </el-table-column>
  253. <el-table-column
  254. sortable
  255. prop="clock"
  256. label="时间"
  257. width="100px"
  258. :show-overflow-tooltip="true"
  259. ></el-table-column>
  260. <el-table-column
  261. sortable
  262. prop="apportvalue"
  263. label="最终值"
  264. width="100px"
  265. :show-overflow-tooltip="true"
  266. ></el-table-column>
  267. </el-table>
  268. </template>
  269. </el-table-column>
  270. <el-table-column
  271. sortable
  272. prop="clock"
  273. label="时间"
  274. min-width="100px"
  275. :show-overflow-tooltip="true"
  276. ></el-table-column>
  277. <el-table-column
  278. sortable
  279. prop="itemname"
  280. label="项目名称"
  281. min-width="100px"
  282. :show-overflow-tooltip="true"
  283. ></el-table-column>
  284. <el-table-column
  285. sortable
  286. prop="actualvalue"
  287. label="计算值"
  288. min-width="100px"
  289. :show-overflow-tooltip="true"
  290. ></el-table-column>
  291. <el-table-column
  292. sortable
  293. prop="correctvalue"
  294. label="修正值"
  295. min-width="100px"
  296. :show-overflow-tooltip="true"
  297. >
  298. <template slot-scope="scope">
  299. <el-form-item
  300. v-if="scope.row.isSelection"
  301. :prop="scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock + '.correctvalue'"
  302. :rules="dialog.editorBox.form.rules.correctvalue"
  303. >
  304. <el-input
  305. style="width: 100%;"
  306. v-model="tableFormDataObj[scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock].correctvalue"
  307. @change="correctvalueUpFoo(tableFormDataObj[scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock]);"
  308. @focus="getTableDetailData(scope.row)"
  309. ></el-input>
  310. <template slot="error" slot-scope="scope">
  311. <p class="error" :title="scope.error">{{ scope.error }}</p>
  312. </template>
  313. </el-form-item>
  314. <span v-else>{{scope.row.correctvalue}}</span>
  315. </template>
  316. </el-table-column>
  317. <el-table-column
  318. sortable
  319. prop="apportvalue"
  320. label="最终值"
  321. min-width="100px"
  322. :show-overflow-tooltip="true"
  323. >
  324. <template slot-scope="scope">
  325. <el-form-item
  326. v-if="scope.row.isSelection"
  327. :prop="scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock + '.apportvalue'"
  328. :rules="dialog.editorBox.form.rules.apportvalue"
  329. >
  330. <el-input
  331. style="width: 100%;"
  332. v-model="tableFormDataObj[scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock].apportvalue"
  333. @change="apportvalueUpFoo(tableFormDataObj[scope.row.itemid + '-' + scope.row.timegranid + '-' + scope.row.clock]);"
  334. @focus="getTableDetailData(scope.row)"
  335. ></el-input>
  336. <template slot="error" slot-scope="scope">
  337. <p class="error" :title="scope.error">{{ scope.error }}</p>
  338. </template>
  339. </el-form-item>
  340. <span v-else>{{scope.row.apportvalue}}</span>
  341. </template>
  342. </el-table-column>
  343. <el-table-column
  344. sortable
  345. prop="unitid"
  346. label="单位"
  347. min-width="100px"
  348. :show-overflow-tooltip="true"
  349. >
  350. <template slot-scope="scope">
  351. <span>{{ nameObj.unitid.obj[scope.row.unitid] ? nameObj.unitid.obj[scope.row.unitid] : scope.row.unitid }}</span>
  352. </template>
  353. </el-table-column>
  354. <el-table-column
  355. sortable
  356. prop="itemid"
  357. label="项目代码"
  358. min-width="100px"
  359. :show-overflow-tooltip="true"
  360. ></el-table-column>
  361. <el-table-column
  362. sortable
  363. prop="itemdesc"
  364. label="项目描述"
  365. min-width="100px"
  366. :show-overflow-tooltip="true"
  367. ></el-table-column>
  368. </el-table>
  369. </el-form>
  370. </div>
  371. <div class="table-tuodong" :style="{ height: singleTableHeight + 'px' }"
  372. @mousedown="tableTDMousedown"
  373. ></div>
  374. <div class="table-right" :style="{ 'margin-left': (leftTableWidth + 7) + 'px' }">
  375. <el-form
  376. size="mini"
  377. ref="dialog_form_arr_2"
  378. label-width="0px"
  379. :model="rightTableObj"
  380. >
  381. <el-table stripe
  382. id="singleTable2"
  383. ref="singleTable2"
  384. :data="rightTableObj.tableData"
  385. v-loading="tableLoading"
  386. style="width: 100%;"
  387. :height="singleTableHeight"
  388. border
  389. size="mini"
  390. highlight-current-row
  391. show-summary
  392. :summary-method="getSummaries"
  393. >
  394. <el-table-column
  395. sortable
  396. prop="itemname"
  397. label="项目名称"
  398. min-width="100px"
  399. :show-overflow-tooltip="true"
  400. ></el-table-column>
  401. <el-table-column
  402. sortable
  403. prop="proportion"
  404. label="均摊比例"
  405. min-width="100px"
  406. :show-overflow-tooltip="true"
  407. >
  408. <template slot-scope="scope">
  409. <el-form-item
  410. v-if="dialog.fRow && dialog.fRow.isSelection"
  411. :prop="'tableData.' + scope.$index + '.proportion'"
  412. :rules="dialog.editorBox.form.rules.proportion"
  413. >
  414. <el-input
  415. style="width: 100%;"
  416. v-model="scope.row.proportion"
  417. @change="proportionFormat(scope.row);"
  418. ></el-input>
  419. <template slot="error" slot-scope="scope">
  420. <p class="error" :title="scope.error">{{ scope.error }}</p>
  421. </template>
  422. </el-form-item>
  423. <span v-else>{{scope.row.proportion}}</span>
  424. </template>
  425. </el-table-column>
  426. <el-table-column
  427. sortable
  428. prop="actualvalue"
  429. label="计算值"
  430. min-width="100px"
  431. :show-overflow-tooltip="true"
  432. ></el-table-column>
  433. <el-table-column
  434. sortable
  435. prop="correctvalue"
  436. label="修正值"
  437. min-width="100px"
  438. :show-overflow-tooltip="true"
  439. >
  440. <template slot-scope="scope">
  441. <el-form-item
  442. v-if="dialog.fRow && dialog.fRow.isSelection"
  443. :prop="'tableData.' + scope.$index + '.correctvalue'"
  444. :rules="dialog.editorBox.form.rules.correctvalue"
  445. >
  446. <el-input
  447. style="width: 100%;"
  448. v-model="scope.row.correctvalue"
  449. @change="correctvalueUpFoo(scope.row);"
  450. ></el-input>
  451. <template slot="error" slot-scope="scope">
  452. <p class="error" :title="scope.error">{{ scope.error }}</p>
  453. </template>
  454. </el-form-item>
  455. <span v-else>{{scope.row.correctvalue}}</span>
  456. </template>
  457. </el-table-column>
  458. <el-table-column
  459. sortable
  460. prop="apportvalue"
  461. label="最终值"
  462. min-width="100px"
  463. :show-overflow-tooltip="true"
  464. >
  465. <template slot-scope="scope">
  466. <el-form-item
  467. v-if="dialog.fRow && dialog.fRow.isSelection"
  468. :prop="'tableData.' + scope.$index + '.apportvalue'"
  469. :rules="dialog.editorBox.form.rules.apportvalue"
  470. >
  471. <el-input
  472. style="width: 100%;"
  473. v-model="scope.row.apportvalue"
  474. @change="apportvalueUpFoo(scope.row);"
  475. ></el-input>
  476. <template slot="error" slot-scope="scope">
  477. <p class="error" :title="scope.error">{{ scope.error }}</p>
  478. </template>
  479. </el-form-item>
  480. <span v-else>{{scope.row.apportvalue}}</span>
  481. </template>
  482. </el-table-column>
  483. <el-table-column
  484. sortable
  485. prop="unitid"
  486. label="单位"
  487. min-width="100px"
  488. :show-overflow-tooltip="true"
  489. >
  490. <template slot-scope="scope">
  491. <span>{{ nameObj.unitid.obj[scope.row.unitid] ? nameObj.unitid.obj[scope.row.unitid] : scope.row.unitid }}</span>
  492. </template>
  493. </el-table-column>
  494. <el-table-column
  495. sortable
  496. prop="stdvalue"
  497. label="折标值"
  498. min-width="100px"
  499. :show-overflow-tooltip="true"
  500. ></el-table-column>
  501. <el-table-column
  502. sortable
  503. prop="sumvalue"
  504. label="累计值"
  505. min-width="100px"
  506. :show-overflow-tooltip="true"
  507. ></el-table-column>
  508. <el-table-column
  509. sortable
  510. prop="sumstdvalue"
  511. label="累计折标值"
  512. min-width="100px"
  513. :show-overflow-tooltip="true"
  514. ></el-table-column>
  515. <el-table-column
  516. sortable
  517. prop="ucvalue"
  518. label="单耗值"
  519. min-width="100px"
  520. :show-overflow-tooltip="true"
  521. ></el-table-column>
  522. <el-table-column
  523. sortable
  524. prop="sumucvalue"
  525. label="累计单耗值"
  526. min-width="100px"
  527. :show-overflow-tooltip="true"
  528. ></el-table-column>
  529. <el-table-column
  530. sortable
  531. prop="timegranid"
  532. label="时间粒度"
  533. min-width="100px"
  534. :show-overflow-tooltip="true"
  535. >
  536. <template slot-scope="scope">
  537. <span>{{ nameObj.timegranid.obj[scope.row.timegranid] ? nameObj.timegranid.obj[scope.row.timegranid] : scope.row.timegranid }}</span>
  538. </template>
  539. </el-table-column>
  540. <el-table-column
  541. sortable
  542. prop="clock"
  543. label="时间"
  544. min-width="100px"
  545. :show-overflow-tooltip="true"
  546. ></el-table-column>
  547. <el-table-column
  548. sortable
  549. prop="itemid"
  550. label="项目代码"
  551. min-width="100px"
  552. :show-overflow-tooltip="true"
  553. ></el-table-column>
  554. <el-table-column
  555. sortable
  556. prop="itemdesc"
  557. label="项目描述"
  558. min-width="100px"
  559. :show-overflow-tooltip="true"
  560. ></el-table-column>
  561. <el-table-column
  562. sortable
  563. prop="rectime"
  564. label="记录创建时间"
  565. min-width="100px"
  566. :show-overflow-tooltip="true"
  567. ></el-table-column>
  568. </el-table>
  569. </el-form>
  570. </div>
  571. </div>
  572. <el-pagination
  573. layout="total, sizes, prev, pager, next, jumper"
  574. :total="total"
  575. :page-sizes="[10, 20, 50, 100, 500, 1000]"
  576. :page-size="pageSize"
  577. :current-page.sync="pageNum"
  578. @size-change="tableSizeChange"
  579. @current-change="getTableData()"
  580. style="text-align: left;margin-top: 10px;"
  581. ></el-pagination>
  582. </div>
  583. </div>
  584. </div>
  585. </template>
  586. <script>
  587. import { zCheckNumber1 } from '~/utils/validator.js'
  588. import timegranDate from '~/components/zg/timegranDate.vue'
  589. import {formatDate, XtcommonSummaries} from '@/utils/util.js';
  590. export default {
  591. name: 'balanceSheetData',
  592. components: {
  593. 'zj-timegran-date': timegranDate
  594. },
  595. data () {
  596. return {
  597. activeMenu: '',
  598. filterForm: {
  599. show: true,
  600. data: {
  601. timegranid: '',
  602. clock: '',
  603. workprocid: '',
  604. energyid: '',
  605. propertyid: '',
  606. itemid: '',
  607. itemname: '',
  608. itemdesc: ''
  609. },
  610. rules: {
  611. }
  612. },
  613. pageNum: 1,
  614. pageSize: 20,
  615. total: 0,
  616. singleTableHeight: 100,
  617. leftTableData: [],
  618. leftTableLoading: false,
  619. leftTableWidth: 550,
  620. difference: 0,
  621. rightTableObj: {
  622. tableData: [
  623. // {
  624. // itemid: '06090001012R',
  625. // itemname: '供水原水实绩发生量',
  626. // unitid: '吨',
  627. // actualvalue: '47418',
  628. // correctvalue: '0',
  629. // apportvalue: '47418',
  630. // stdvalue: '0',
  631. // sumvalue: '1106342',
  632. // sumstdvalue: '',
  633. // ucvalue: '',
  634. // sumucvalue: '',
  635. // rectime: '20171017134639'
  636. // }
  637. ]
  638. },
  639. multipleSelection: [],
  640. tableFormDataObj: {},
  641. nameObj: {
  642. timegranid: {
  643. obj: {},
  644. arr: []
  645. },
  646. workprocid: {
  647. obj: {},
  648. arr: []
  649. },
  650. energyid: {
  651. obj: {},
  652. arr: []
  653. },
  654. propertyid: {
  655. obj: {},
  656. arr: []
  657. },
  658. unitid: {
  659. obj: {},
  660. arr: []
  661. }
  662. },
  663. loading: false,
  664. tableLoading: false,
  665. dialog: {
  666. fRow: null,
  667. editorBox: {
  668. form: {
  669. rules: {
  670. correctvalue: [
  671. { required: true, message: '该项不能为空', trigger: 'change' },
  672. { validator: zCheckNumber1, trigger: 'change' }
  673. ],
  674. apportvalue: [
  675. { required: true, message: '该项不能为空', trigger: 'change' },
  676. { validator: zCheckNumber1, trigger: 'change' }
  677. ]
  678. }
  679. }
  680. }
  681. }
  682. }
  683. },
  684. created () {
  685. this.activeMenu = window.localStorage.getItem('activeMenu');
  686. },
  687. mounted () {
  688. let that = this;
  689. window.PEDataObj = {
  690. // 将数据绑定到window上,供main页面使用
  691. vm: that,
  692. // tableArr:用于导出成Excel的表格的信息
  693. tableArr: [
  694. {
  695. name: '左表格',
  696. id: 'singleTable1'
  697. },
  698. {
  699. name: '右表格',
  700. id: 'singleTable2'
  701. }
  702. ]
  703. };
  704. that.$nextTick(() => {
  705. // 立即获取的height有一定偏差,通过setTimeout延迟来解决
  706. setTimeout(() => {
  707. that.singleTableHeight = that.getRoleHeight(that.$refs['boxBottom']) - 45;
  708. }, 1);
  709. });
  710. that.getTimeGranData();
  711. that.getWorkprocIdData();
  712. that.getEnergyIdData();
  713. that.getPropertyIdData();
  714. that.getUnitIdData();
  715. // that.getTableData();
  716. },
  717. methods: {
  718. // 计算树区域高度
  719. getRoleHeight (dom) {
  720. return window.innerHeight - dom.offsetTop;
  721. },
  722. // 自定义的表格合计方法:只给指定列进行合计
  723. getSummaries (param) {
  724. const prop = ['actualvalue', 'correctvalue', 'apportvalue', 'sumvalue', 'proportion']; // 合计列绑定的prop
  725. return XtcommonSummaries(param, prop);
  726. },
  727. // 获取时间粒度(平衡表数据维护)
  728. getTimeGranData () {
  729. let that = this
  730. let url = 'pass/ems/v1/tcmdatasourcetimegrans/getTimegranRmBalanceValue';
  731. that.axios.get(url)
  732. .then(function (res) {
  733. if (res.code === '0') {
  734. let arr = [];
  735. let obj = {};
  736. for (let item of res.data) {
  737. arr.push({
  738. id: item.ID,
  739. name: item.NAME
  740. })
  741. obj[item.ID] = item.NAME;
  742. that.filterForm.data.timegranid = that.filterForm.data.timegranid ? that.filterForm.data.timegranid : item.ID;
  743. }
  744. that.nameObj.timegranid.arr = arr;
  745. that.nameObj.timegranid.obj = obj;
  746. } else {
  747. that.$message.error(res.message);
  748. }
  749. });
  750. },
  751. // 获取工序(平衡)
  752. getWorkprocIdData () {
  753. let that = this
  754. let url = 'pass/ems/v1/trmworkprocs/getIdAndName?isbalance=1';
  755. that.axios.get(url)
  756. .then(function (res) {
  757. if (res.code === '0') {
  758. let arr = [];
  759. let obj = {};
  760. for (let item of res.data) {
  761. arr.push({
  762. id: item.id,
  763. name: item.name
  764. })
  765. obj[item.id] = item.name;
  766. }
  767. that.nameObj.workprocid.arr = arr;
  768. that.nameObj.workprocid.obj = obj;
  769. } else {
  770. that.$message.error(res.message);
  771. }
  772. });
  773. },
  774. // 获取能介(平衡表)
  775. getEnergyIdData () {
  776. let that = this
  777. let url = 'pass/ems/v1/trmenergys/selectNameAndId/?isbalance=1';
  778. that.axios.get(url)
  779. .then(function (res) {
  780. if (res.code === '0') {
  781. let arr = [];
  782. let obj = {};
  783. for (let item of res.data) {
  784. arr.push({
  785. id: item.id,
  786. name: item.name
  787. })
  788. obj[item.id] = item.name;
  789. }
  790. that.nameObj.energyid.arr = arr;
  791. that.nameObj.energyid.obj = obj;
  792. } else {
  793. that.$message.error(res.message);
  794. }
  795. });
  796. },
  797. // 获取属性
  798. getPropertyIdData () {
  799. let that = this
  800. let url = 'pass/ems/v1/trmenergypropertys/getidandname/';
  801. that.axios.get(url)
  802. .then(function (res) {
  803. if (res.code === '0') {
  804. let arr = [];
  805. let obj = {};
  806. for (let item of res.data) {
  807. arr.push({
  808. id: item.id,
  809. name: item.name
  810. })
  811. obj[item.id] = item.name;
  812. }
  813. that.nameObj.propertyid.arr = arr;
  814. that.nameObj.propertyid.obj = obj;
  815. } else {
  816. that.$message.error(res.message);
  817. }
  818. });
  819. },
  820. // 获取标准计量单位
  821. getUnitIdData () {
  822. let that = this
  823. let url = 'pass/ems/v1/trmunits/getIdAndName';
  824. that.axios.get(url)
  825. .then(function (res) {
  826. if (res.code === '0') {
  827. let arr = [];
  828. let obj = {};
  829. for (let item of res.data) {
  830. arr.push({
  831. id: item.id,
  832. name: item.name
  833. })
  834. obj[item.id] = item.name;
  835. if (item.name === '吨') {
  836. that.nameObj.unitid.defaults = that.nameObj.unitid.defaults ? that.nameObj.unitid.defaults : item.id;
  837. }
  838. }
  839. that.nameObj.unitid.arr = arr;
  840. that.nameObj.unitid.obj = obj;
  841. } else {
  842. that.$message.error(res.message);
  843. }
  844. });
  845. },
  846. // 获取表格中的数据
  847. getTableData (pageNum) {
  848. let that = this,
  849. params = {
  850. timegranid: that.filterForm.data.timegranid,
  851. clock: that.filterForm.data.clock,
  852. workprocid: that.filterForm.data.workprocid,
  853. energyid: that.filterForm.data.energyid,
  854. propertyid: that.filterForm.data.propertyid,
  855. itemid: that.filterForm.data.itemid,
  856. itemname: that.filterForm.data.itemname,
  857. itemdesc: that.filterForm.data.itemdesc,
  858. fid: ''
  859. };
  860. that.pageNum = pageNum || that.pageNum;
  861. that.leftTableLoading = true;
  862. let url = 'pass/ems/v1/trmbalancevalues/getBalanceitemForPage/?pageNum=' + that.pageNum + '&pageSize=' + that.pageSize;
  863. that.axios.get(url, {
  864. params: params
  865. })
  866. .then(function (res) {
  867. if (res.code === '0') {
  868. let arr = [];
  869. for (let item of res.data.list) {
  870. arr.push({
  871. itemid: item.ITEMID,
  872. clock: item.CLOCK,
  873. timegranid: item.TIMEGRANID,
  874. itemname: item.ITEMNAME,
  875. itemdesc: item.ITEMDESC,
  876. unitid: item.UNITID,
  877. actualvalue: item.ACTUALVALUE,
  878. correctvalue: item.CORRECTVALUE,
  879. apportvalue: item.APPORTVALUE,
  880. stdvalue: item.STDVALUE,
  881. sumvalue: item.SUMVALUE,
  882. sumstdvalue: item.SUMSTDVALUE,
  883. ucvalue: item.UCVALUE,
  884. sumucvalue: item.SUMUCVALUE,
  885. rectime: item.REC_TIME,
  886. getTable: false,
  887. tableData: [],
  888. tableLoading: false,
  889. energyid: item.ENERGYID
  890. })
  891. }
  892. that.leftTableData = arr;
  893. that.rightTableObj.tableData = [];
  894. that.dialog.fRow = null;
  895. that.total = res.data.total;
  896. } else {
  897. that.$message.error(res.message);
  898. }
  899. that.leftTableLoading = false;
  900. }).catch(function () {
  901. that.leftTableLoading = false;
  902. });
  903. },
  904. // 改变表格显示条数
  905. tableSizeChange (val) {
  906. let that = this;
  907. that.pageSize = val;
  908. that.getTableData(1);
  909. },
  910. // 重置搜索
  911. tableDataCancel () {
  912. let that = this;
  913. for (let key in that.filterForm.data) {
  914. if (that.filterForm.data[key] instanceof Array) {
  915. that.filterForm.data[key] = [];
  916. } else {
  917. that.filterForm.data[key] = '';
  918. }
  919. }
  920. that.getTableData(1);
  921. },
  922. getTableDetailData (row) {
  923. let that = this;
  924. if (row) {
  925. if (row.childrenArr && row.childrenArr.length > 0) {
  926. that.dialog.fRow = row;
  927. that.upTableFormDataObj();
  928. } else {
  929. let params = {
  930. timegranid: row.timegranid,
  931. clock: row.clock,
  932. fid: row.itemid
  933. // workprocid: row.workprocid,
  934. // energyid: row.energyid,
  935. // propertyid: row.propertyid
  936. };
  937. that.tableLoading = true;
  938. let url = 'pass/ems/v1/trmbalancevalues/getBalanceitemList';
  939. that.axios.get(url, {
  940. params: params
  941. })
  942. .then(function (res) {
  943. if (res.code === '0') {
  944. let arr = [];
  945. let sum = 0;
  946. for (let item of res.data) {
  947. arr.push({
  948. itemid: item.ITEMID,
  949. clock: item.CLOCK,
  950. timegranid: item.TIMEGRANID,
  951. itemname: item.ITEMNAME,
  952. itemdesc: item.ITEMDESC,
  953. unitid: item.UNITID,
  954. actualvalue: item.ACTUALVALUE,
  955. correctvalue: item.CORRECTVALUE,
  956. apportvalue: item.APPORTVALUE,
  957. stdvalue: item.STDVALUE,
  958. sumvalue: item.SUMVALUE,
  959. sumstdvalue: item.SUMSTDVALUE,
  960. ucvalue: item.UCVALUE,
  961. sumucvalue: item.SUMUCVALUE,
  962. rectime: item.REC_TIME
  963. })
  964. sum = that.floatComputed(sum, item.APPORTVALUE, '+');
  965. }
  966. // 计算默认比例
  967. let bl = 100;
  968. for (let i = 0; i < arr.length; i++) {
  969. if (i === (arr.length - 1)) {
  970. arr[i].proportion = bl;
  971. } else {
  972. arr[i].proportion = that.floatComputed(arr[i].apportvalue == 0 ? 0.001 : arr[i].apportvalue, sum, '/');
  973. arr[i].proportion = that.floatComputed(arr[i].proportion, 100, '*');
  974. arr[i].proportion = arr[i].proportion.toFixed(2);
  975. bl = that.floatComputed(bl, arr[i].proportion, '-');
  976. }
  977. }
  978. row.childrenArr = arr;
  979. that.dialog.fRow = row;
  980. that.upTableFormDataObj();
  981. } else {
  982. that.$message.error(res.message);
  983. }
  984. that.tableLoading = false;
  985. }).catch(function () {
  986. that.tableLoading = false;
  987. });
  988. }
  989. }
  990. },
  991. jsDifference () {
  992. let that = this;
  993. let fV = that.dialog.fRow.apportvalue,
  994. zV = 0;
  995. let xId = that.dialog.fRow.itemid + '-' + that.dialog.fRow.timegranid + '-' + that.dialog.fRow.clock;
  996. if (that.tableFormDataObj[xId]) {
  997. fV = that.tableFormDataObj[xId].apportvalue;
  998. }
  999. for (let item of that.rightTableObj.tableData) {
  1000. zV = that.floatComputed(zV, item.apportvalue, '+');
  1001. }
  1002. that.difference = +that.floatComputed(fV, zV, '-').toFixed(3);
  1003. },
  1004. upTableFormDataObj () {
  1005. // 更新右侧表格编辑模式绑定的数据
  1006. let that = this;
  1007. let fRow = that.dialog.fRow;
  1008. if (fRow) {
  1009. if (!fRow.tableFormDataArr || !fRow.isSelection) {
  1010. // 当前选中行被勾选时不更新tableFormDataObj
  1011. fRow.tableFormDataArr = JSON.parse(JSON.stringify(fRow.childrenArr));
  1012. }
  1013. if (fRow.isSelection) {
  1014. that.rightTableObj.tableData = fRow.tableFormDataArr;
  1015. } else {
  1016. that.rightTableObj.tableData = fRow.childrenArr;
  1017. }
  1018. that.jsDifference();
  1019. }
  1020. },
  1021. // 表格中多选按钮的相关方法
  1022. handleSelectionChange (val) {
  1023. let that = this;
  1024. let tableFormDataObj = {};
  1025. if (val.length > 1) {
  1026. that.$refs.singleTable1.clearSelection();
  1027. that.$refs.singleTable1.toggleRowSelection(val.pop());
  1028. return false;
  1029. }
  1030. if (val.length === 1) {
  1031. that.$refs.singleTable1.setCurrentRow(val[0]);
  1032. }
  1033. for (let item of that.leftTableData) {
  1034. item.isSelection = false;
  1035. }
  1036. for (let item of val) {
  1037. let obj = {};
  1038. let xId = item.itemid + '-' + item.timegranid + '-' + item.clock;
  1039. if (that.tableFormDataObj[xId]) {
  1040. // 如果已存在该数据则使用该数据
  1041. tableFormDataObj[xId] = that.tableFormDataObj[xId];
  1042. } else {
  1043. // 否则则从对应行中获取行内原数据
  1044. for (let key in item) {
  1045. if (key !== 'childrenArr' && key !== 'tableFormDataArr') {
  1046. obj[key] = item[key];
  1047. }
  1048. }
  1049. tableFormDataObj[xId] = obj;
  1050. }
  1051. item.isSelection = true;
  1052. }
  1053. that.tableFormDataObj = tableFormDataObj;
  1054. // if (val.length > 0) {
  1055. that.upTableFormDataObj();
  1056. // }
  1057. that.multipleSelection = val;
  1058. },
  1059. // 批量修改
  1060. but_edit_plural () {
  1061. let that = this;
  1062. if (that.multipleSelection.length > 0) {
  1063. that.$refs['dialog_form_arr_1'].validate((valid) => {
  1064. if (valid) {
  1065. let SubmitData = [];
  1066. for (let key in that.tableFormDataObj) {
  1067. SubmitData.push({
  1068. clock: that.tableFormDataObj[key].clock,
  1069. timegranid: that.tableFormDataObj[key].timegranid,
  1070. itemid: that.tableFormDataObj[key].itemid,
  1071. correctvalue: that.tableFormDataObj[key].correctvalue,
  1072. apportvalue: that.tableFormDataObj[key].apportvalue
  1073. });
  1074. }
  1075. for (let item of that.multipleSelection) {
  1076. for (let dataObj of item.tableFormDataArr) {
  1077. SubmitData.push({
  1078. clock: dataObj.clock,
  1079. timegranid: dataObj.timegranid,
  1080. itemid: dataObj.itemid,
  1081. correctvalue: dataObj.correctvalue,
  1082. apportvalue: dataObj.apportvalue
  1083. });
  1084. }
  1085. }
  1086. that.loading = true;
  1087. that.axios.put('pass/ems/v1/trmbalancevalues/batchUpdate', SubmitData)
  1088. .then(function (res) {
  1089. if (res.code === '0') {
  1090. that.$message({
  1091. message: '修改成功',
  1092. type: 'success'
  1093. });
  1094. that.getTableData();
  1095. } else {
  1096. that.$message.error(res.message);
  1097. }
  1098. that.loading = false;
  1099. }).catch(function () {
  1100. that.loading = false;
  1101. });
  1102. }
  1103. });
  1104. } else {
  1105. this.$message.error('请勾选一条数据');
  1106. }
  1107. },
  1108. correctvalueUpFoo (row) {
  1109. let that = this;
  1110. // 防止数据为无效值
  1111. if (row.correctvalue === '' || !isFinite(row.correctvalue)) {
  1112. row.correctvalue = 0;
  1113. row.apportvalue = row.actualvalue;
  1114. } else {
  1115. row.apportvalue = that.floatComputed(row.actualvalue, row.correctvalue, '+');
  1116. }
  1117. that.jsDifference();
  1118. // that.valueAllocation(row);
  1119. },
  1120. apportvalueUpFoo (row) {
  1121. let that = this;
  1122. if (row.apportvalue === '' || !isFinite(row.apportvalue)) {
  1123. row.correctvalue = 0;
  1124. row.apportvalue = row.actualvalue;
  1125. } else {
  1126. row.correctvalue = that.floatComputed(row.apportvalue, row.actualvalue, '-');
  1127. }
  1128. that.jsDifference();
  1129. // that.valueAllocation(row);
  1130. },
  1131. // 按各自占比从新分配数值
  1132. // valueAllocation (row) {
  1133. // let that = this;
  1134. // let xId = that.dialog.fRow.itemid + '-' + that.dialog.fRow.timegranid + '-' + that.dialog.fRow.clock;
  1135. // let tableFormDataArr = that.dialog.fRow.tableFormDataArr;
  1136. // let overageValue = 0;
  1137. // if (row === that.tableFormDataObj[xId]) {
  1138. // overageValue = +that.tableFormDataObj[xId].apportvalue;
  1139. // } else {
  1140. // overageValue = that.floatComputed(+that.tableFormDataObj[xId].apportvalue, +row.apportvalue, '-');
  1141. // }
  1142. // if (!isFinite(overageValue)) {
  1143. // overageValue = 0;
  1144. // }
  1145. // let overageValue1 = overageValue;
  1146. // let blValue = 0;
  1147. // for (let item of tableFormDataArr) {
  1148. // if (item !== row) {
  1149. // // 获取其他数据的总值,用于计算比例
  1150. // blValue = that.floatComputed(blValue, item.apportvalue, '+');
  1151. // }
  1152. // }
  1153. // for (let i = 0; i < tableFormDataArr.length; i++) {
  1154. // let item = tableFormDataArr[i];
  1155. // if (item !== row) {
  1156. // // 对其他数据按比例进行修改
  1157. // let bl = +item.apportvalue === 0 ? 0 : that.floatComputed(item.apportvalue, blValue, '/'); // 计算所占比例
  1158. // // console.log(bl)
  1159. // // console.log(item.actualvalue, overageValue, bl)
  1160. // if (!isFinite(bl)) {
  1161. // bl = 0;
  1162. // }
  1163. // if (i < tableFormDataArr.length - 1) {
  1164. // let value = that.floatComputed(overageValue, bl, '*');
  1165. // item.apportvalue = value;
  1166. // overageValue1 = that.floatComputed(overageValue1, value, '-');
  1167. // } else {
  1168. // // 剩余的数直接给最后一个
  1169. // // console.log('剩余:' + overageValue1)
  1170. // item.apportvalue = overageValue1;
  1171. // }
  1172. // item.correctvalue = that.floatComputed(item.apportvalue, item.actualvalue, '-');
  1173. // } else {
  1174. // if (i === tableFormDataArr.length - 1) { // 如果row是最后一行,则把剩余数给倒数第二行
  1175. // tableFormDataArr[i - 1].apportvalue = that.floatComputed(tableFormDataArr[i - 1].apportvalue, overageValue1, '+');
  1176. // tableFormDataArr[i - 1].correctvalue = that.floatComputed(tableFormDataArr[i - 1].apportvalue, tableFormDataArr[i - 1].actualvalue, '-');
  1177. // }
  1178. // }
  1179. // let numArr = (item.apportvalue + '').split('.');
  1180. // if (numArr.length > 1) {
  1181. // if (numArr[1].length > 3) {
  1182. // item.apportvalue = (+item.apportvalue).toFixed(3);
  1183. // }
  1184. // }
  1185. // let numArr1 = (item.correctvalue + '').split('.');
  1186. // if (numArr1.length > 1) {
  1187. // if (numArr1[1].length > 3) {
  1188. // item.correctvalue = (+item.correctvalue).toFixed(3);
  1189. // }
  1190. // }
  1191. // }
  1192. // },
  1193. tableTDMousedown (e) {
  1194. let that = this;
  1195. let nowPageX = e.pageX,
  1196. nowWidth = that.leftTableWidth,
  1197. minWidth = 200,
  1198. maxWidth = window.innerWidth - 200;
  1199. that.$refs.table_box.style.userSelect = 'none';
  1200. that.$refs.table_box.style.cursor = 'col-resize';
  1201. that.$refs.table_box.onmousemove = function (e) {
  1202. let bh = e.pageX - nowPageX;
  1203. if (nowWidth + bh > maxWidth) {
  1204. that.leftTableWidth = maxWidth;
  1205. } else if (nowWidth + bh < minWidth) {
  1206. that.leftTableWidth = minWidth;
  1207. } else {
  1208. that.leftTableWidth = nowWidth + bh;
  1209. }
  1210. }
  1211. that.$refs.table_box.onmouseup = function () {
  1212. that.$refs.table_box.onmousemove = false;
  1213. that.$refs.table_box.onmouseup = false;
  1214. that.$refs.table_box.style.userSelect = '';
  1215. that.$refs.table_box.style.cursor = ''
  1216. }
  1217. },
  1218. // 对proportion的值进行处理,使其符合要求
  1219. proportionFormat (row) {
  1220. let that = this;
  1221. if (row.proportion === '' || !isFinite(row.proportion)) {
  1222. row.proportion = 0;
  1223. }
  1224. },
  1225. // 重新计算,根据自定义的分配比例来自动调整最终值
  1226. againCount () {
  1227. let that = this;
  1228. if (that.multipleSelection.length > 0) {
  1229. for (let item of that.multipleSelection) {
  1230. let xId = item.itemid + '-' + item.timegranid + '-' + item.clock;
  1231. let objItem = that.tableFormDataObj[xId];
  1232. let bl = 0;
  1233. for (let dataObj of item.tableFormDataArr) {
  1234. bl = +that.floatComputed(bl, dataObj.proportion, '+');
  1235. }
  1236. if (bl !== 100) {
  1237. this.$message.error('所有比例之和不为100%,请调整比例后再执行计算。');
  1238. continue;
  1239. }
  1240. let sum = objItem.apportvalue;
  1241. for (let i = 0, ilength = item.tableFormDataArr.length; i < ilength; i++) {
  1242. if (i === (ilength - 1)) {
  1243. item.tableFormDataArr[i].apportvalue = sum;
  1244. } else {
  1245. let z = that.floatComputed(objItem.apportvalue, item.tableFormDataArr[i].proportion, '*');
  1246. item.tableFormDataArr[i].apportvalue = that.floatComputed(z, 100, '/');
  1247. sum = that.floatComputed(sum, item.tableFormDataArr[i].apportvalue, '-');
  1248. }
  1249. item.tableFormDataArr[i].correctvalue = that.floatComputed(item.tableFormDataArr[i].apportvalue, item.tableFormDataArr[i].actualvalue, '-');
  1250. }
  1251. that.jsDifference();
  1252. }
  1253. } else {
  1254. this.$message.error('请勾选一条数据');
  1255. }
  1256. },
  1257. getChildTable (row, expandedRows) {
  1258. let that = this;
  1259. if (!row.getTable) {
  1260. let params = {
  1261. clock: row.clock,
  1262. energyid: row.energyid
  1263. };
  1264. row.tableLoading = true;
  1265. let url = 'pass/ems/v1/trmbalancevalues/getitem';
  1266. that.axios.get(url, {
  1267. params: params
  1268. })
  1269. .then(function (res) {
  1270. if (res.code === '0') {
  1271. let arr = [];
  1272. for (let item of res.data) {
  1273. arr.push({
  1274. clock: item.CLOCK,
  1275. itemname: item.ITEMNAME,
  1276. timegranid: item.TIMEGRANID,
  1277. apportvalue: item.APPORTVALUE
  1278. })
  1279. }
  1280. console.log(arr)
  1281. row.tableData = arr;
  1282. row.getTable = true;
  1283. } else {
  1284. that.$message.error(res.message);
  1285. }
  1286. row.tableLoading = false;
  1287. }).catch(function () {
  1288. row.tableLoading = false;
  1289. });
  1290. }
  1291. }
  1292. }
  1293. }
  1294. </script>
  1295. <style lang="less">
  1296. .balanceSheetData {
  1297. min-width: 700px;
  1298. height: 100%;
  1299. .box {
  1300. height: 100%;
  1301. padding: 15px 15px 0 15px;
  1302. .box-top {
  1303. .el-form-item {
  1304. margin-bottom: 7px;
  1305. }
  1306. .box-top-gjl {
  1307. overflow: hidden;
  1308. // margin-top: -7px;
  1309. padding: 7px 0;
  1310. border-top: 1px solid #ccc;
  1311. // border-bottom: 1px solid #ccc;
  1312. // margin-bottom: 6px;
  1313. }
  1314. }
  1315. .table-box {
  1316. .table-left {
  1317. float: left;
  1318. width: 550px;
  1319. }
  1320. .table-tuodong {
  1321. float: left;
  1322. width: 5px;
  1323. margin: 0 1px 0 1px;
  1324. cursor: col-resize;
  1325. }
  1326. .table-right {
  1327. margin-left: 557px;
  1328. }
  1329. }
  1330. .el-table .el-table__row {
  1331. height: 35px;
  1332. }
  1333. .el-table__body .el-form-item--mini.el-form-item {
  1334. margin: 0px;
  1335. .error {
  1336. overflow: hidden;
  1337. color: #f56c6c;
  1338. font-size: 12px;
  1339. line-height: 1;
  1340. }
  1341. }
  1342. // 隐藏全选按钮
  1343. thead .el-table-column--selection .cell {
  1344. display: none;
  1345. }
  1346. }
  1347. }
  1348. </style>