detailsPage.vue 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477
  1. <template>
  2. <div class="borderless">
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button
  6. type="danger"
  7. style="border: none;background: none;color: red"
  8. icon="el-icon-arrow-left"
  9. @click="backToList"
  10. >返回列表
  11. </el-button>
  12. </div>
  13. <div class="add-customer-btn">
  14. <el-button
  15. type="primary"
  16. size="small"
  17. v-if="detailData.status == 1"
  18. class="el-button--small-yh "
  19. @click.stop="openEdit"
  20. >编辑
  21. </el-button>
  22. <el-button
  23. class="el-button--small-yh"
  24. type="primary"
  25. :disabled="loadingBtn || detailData.status == 1"
  26. size="small"
  27. @click="editCustomer"
  28. >保存数据
  29. </el-button>
  30. </div>
  31. </div>
  32. <div class="customer-main">
  33. <containerTitle title="基础资料"></containerTitle>
  34. <basic-container>
  35. <avue-form
  36. class="trading-form"
  37. ref="form"
  38. v-model="form"
  39. :option="option"
  40. />
  41. </basic-container>
  42. <containerTitle title="基础明细"></containerTitle>
  43. <basic-container>
  44. <avue-crud
  45. ref="crud"
  46. v-model="crudForm"
  47. :option="optionList"
  48. :data="dataList"
  49. :page.sync="page"
  50. :search.sync="search"
  51. :table-loading="loading"
  52. @current-change="currentChange"
  53. @size-change="sizeChange"
  54. @search-change="searchChange"
  55. @saveColumn="saveColumn"
  56. @refresh-change="refreshChange"
  57. @row-save="rowSave"
  58. @row-update="rowUpdate"
  59. :cell-style="cellStyle"
  60. :row-style="rowStyle"
  61. :header-cell-class-name="headerCellClassName"
  62. >
  63. <template slot="menuLeft">
  64. <el-button
  65. type="primary"
  66. @click.stop="$refs.crud.rowAdd()"
  67. size="small"
  68. :disabled="detailData.status == 1"
  69. >新增</el-button
  70. >
  71. <el-button
  72. type="primary"
  73. size="small"
  74. @click="importExcel()"
  75. :disabled="detailData.status == 1"
  76. >导入
  77. </el-button>
  78. <el-button
  79. type="primary"
  80. size="small"
  81. @click.stop="openExport()"
  82. :disabled="detailData.status == 1"
  83. >导出
  84. </el-button>
  85. </template>
  86. <template slot="basicsSalaryLabel">
  87. <el-tag>基础工资:</el-tag>
  88. </template>
  89. <template slot="workloadSalaryLabel">
  90. <el-tag>工作量工资:</el-tag>
  91. </template>
  92. <template slot="awardSalaryLabel">
  93. <el-tag>奖励工资:</el-tag>
  94. </template>
  95. <template slot="dutyAllowancesLabel">
  96. <el-tag>职务津贴:</el-tag>
  97. </template>
  98. <template slot="classTeacherSubsidyLabel">
  99. <el-tag>班主任津贴:</el-tag>
  100. </template>
  101. <template slot="subsidyLabel">
  102. <el-tag>补贴项:</el-tag>
  103. </template>
  104. <template slot="deductionsLabel">
  105. <el-tag>扣除项:</el-tag>
  106. </template>
  107. <template slot="salaryLabel">
  108. <el-tag>应发工资:</el-tag>
  109. </template>
  110. <template slot="fsalaryLabel">
  111. <el-tag>实发工资:</el-tag>
  112. </template>
  113. <template
  114. slot="schoolAgeSalaryForm"
  115. slot-scope="{ column, disabled }"
  116. >
  117. <el-input
  118. :disabled="disabled"
  119. :placeholder="'请输入 ' + column.label"
  120. v-model="crudForm.schoolAgeSalary"
  121. @change="salaryAdd(crudForm)"
  122. />
  123. </template>
  124. <template
  125. slot="capitalIncreaseForm"
  126. slot-scope="{ column, disabled }"
  127. >
  128. <el-input
  129. :disabled="disabled"
  130. :placeholder="'请输入 ' + column.label"
  131. v-model="crudForm.capitalIncrease"
  132. @change="salaryAdd(crudForm)"
  133. />
  134. </template>
  135. <template
  136. slot="educationSalaryForm"
  137. slot-scope="{ column, disabled }"
  138. >
  139. <el-input
  140. :disabled="disabled"
  141. :placeholder="'请输入 ' + column.label"
  142. v-model="crudForm.educationSalary"
  143. @change="salaryAdd(crudForm)"
  144. />
  145. </template>
  146. <template slot="rankSalaryForm" slot-scope="{ column, disabled }">
  147. <el-input
  148. :disabled="disabled"
  149. :placeholder="'请输入 ' + column.label"
  150. v-model="crudForm.rankSalary"
  151. @change="salaryAdd(crudForm)"
  152. />
  153. </template>
  154. <template slot="salaryBaseForm" slot-scope="{ column, disabled }">
  155. <el-input
  156. :disabled="disabled"
  157. :placeholder="'请输入 ' + column.label"
  158. v-model="crudForm.salaryBase"
  159. @change="salaryAdd(crudForm)"
  160. />
  161. </template>
  162. <template slot="salaryBaseForm" slot-scope="{ column, disabled }">
  163. <el-input
  164. :disabled="disabled"
  165. :placeholder="'请输入 ' + column.label"
  166. v-model="crudForm.salaryBase"
  167. @change="salaryAdd(crudForm)"
  168. />
  169. </template>
  170. <template
  171. slot="performanceAwardForm"
  172. slot-scope="{ column, disabled }"
  173. >
  174. <el-input
  175. :disabled="disabled"
  176. :placeholder="'请输入 ' + column.label"
  177. v-model="crudForm.performanceAward"
  178. @change="salaryAdd(crudForm)"
  179. />
  180. </template>
  181. <template
  182. slot="momthWorkloadSalaryForm"
  183. slot-scope="{ column, disabled }"
  184. >
  185. <el-input
  186. :disabled="disabled"
  187. :placeholder="'请输入 ' + column.label"
  188. v-model="crudForm.momthWorkloadSalary"
  189. @change="salaryAdd(crudForm)"
  190. />
  191. </template>
  192. <template
  193. slot="vacationOvertimePayForm"
  194. slot-scope="{ column, disabled }"
  195. >
  196. <el-input
  197. :disabled="disabled"
  198. :placeholder="'请输入 ' + column.label"
  199. v-model="crudForm.vacationOvertimePay"
  200. @change="salaryAdd(crudForm)"
  201. />
  202. </template>
  203. <template slot="winningPrizeForm" slot-scope="{ column, disabled }">
  204. <el-input
  205. :disabled="disabled"
  206. :placeholder="'请输入 ' + column.label"
  207. v-model="crudForm.winningPrize"
  208. @change="salaryAdd(crudForm)"
  209. />
  210. </template>
  211. <template
  212. slot="leadingCadreSubsidyForm"
  213. slot-scope="{ column, disabled }"
  214. >
  215. <el-input
  216. :disabled="disabled"
  217. :placeholder="'请输入 ' + column.label"
  218. v-model="crudForm.leadingCadreSubsidy"
  219. @change="salaryAdd(crudForm)"
  220. />
  221. </template>
  222. <template
  223. slot="yearDownPerformanceForm"
  224. slot-scope="{ column, disabled }"
  225. >
  226. <el-input
  227. :disabled="disabled"
  228. :placeholder="'请输入 ' + column.label"
  229. v-model="crudForm.yearDownPerformance"
  230. @change="salaryAdd(crudForm)"
  231. />
  232. </template>
  233. <template slot="prepareLessonsForm" slot-scope="{ column, disabled }">
  234. <el-input
  235. :disabled="disabled"
  236. :placeholder="'请输入 ' + column.label"
  237. v-model="crudForm.prepareLessons"
  238. @change="salaryAdd(crudForm)"
  239. />
  240. </template>
  241. <template
  242. slot="leadingCadreSubsidyForm"
  243. slot-scope="{ column, disabled }"
  244. >
  245. <el-input
  246. :disabled="disabled"
  247. :placeholder="'请输入 ' + column.label"
  248. v-model="crudForm.leadingCadreSubsidy"
  249. @change="salaryAdd(crudForm)"
  250. />
  251. </template>
  252. <template
  253. slot="teachingResearchForm"
  254. slot-scope="{ column, disabled }"
  255. >
  256. <el-input
  257. :disabled="disabled"
  258. :placeholder="'请输入 ' + column.label"
  259. v-model="crudForm.teachingResearch"
  260. @change="salaryAdd(crudForm)"
  261. />
  262. </template>
  263. <template slot="classesForm" slot-scope="{ column, disabled }">
  264. <el-input
  265. :disabled="disabled"
  266. :placeholder="'请输入 ' + column.label"
  267. v-model="crudForm.classes"
  268. @change="salaryAdd(crudForm)"
  269. />
  270. </template>
  271. <template
  272. slot="classTeacherFeeForm"
  273. slot-scope="{ column, disabled }"
  274. >
  275. <el-input
  276. :disabled="disabled"
  277. :placeholder="'请输入 ' + column.label"
  278. v-model="crudForm.classTeacherFee"
  279. @change="salaryAdd(crudForm)"
  280. />
  281. </template>
  282. <template
  283. slot="reserveReplacementForm"
  284. slot-scope="{ column, disabled }"
  285. >
  286. <el-input
  287. :disabled="disabled"
  288. :placeholder="'请输入 ' + column.label"
  289. v-model="crudForm.reserveReplacement"
  290. @change="salaryAdd(crudForm)"
  291. />
  292. </template>
  293. <template slot="safetyFeesForm" slot-scope="{ column, disabled }">
  294. <el-input
  295. :disabled="disabled"
  296. :placeholder="'请输入 ' + column.label"
  297. v-model="crudForm.safetyFees"
  298. @change="salaryAdd(crudForm)"
  299. />
  300. </template>
  301. <template slot="classMinisterForm" slot-scope="{ column, disabled }">
  302. <el-input
  303. :disabled="disabled"
  304. :placeholder="'请输入 ' + column.label"
  305. v-model="crudForm.classMinister"
  306. @change="salaryAdd(crudForm)"
  307. />
  308. </template>
  309. <template slot="winningPrizeForm" slot-scope="{ column, disabled }">
  310. <el-input
  311. :disabled="disabled"
  312. :placeholder="'请输入 ' + column.label"
  313. v-model="crudForm.winningPrize"
  314. @change="salaryAdd(crudForm)"
  315. />
  316. </template>
  317. <template slot="newPostTrainForm" slot-scope="{ column, disabled }">
  318. <el-input
  319. :disabled="disabled"
  320. :placeholder="'请输入 ' + column.label"
  321. v-model="crudForm.newPostTrain"
  322. @change="salaryAdd(crudForm)"
  323. />
  324. </template>
  325. <template
  326. slot="vacationOvertimePayForm"
  327. slot-scope="{ column, disabled }"
  328. >
  329. <el-input
  330. :disabled="disabled"
  331. :placeholder="'请输入 ' + column.label"
  332. v-model="crudForm.vacationOvertimePay"
  333. @change="salaryAdd(crudForm)"
  334. />
  335. </template>
  336. <template
  337. slot="cadreAllowanceReservationForm"
  338. slot-scope="{ column, disabled }"
  339. >
  340. <el-input
  341. :disabled="disabled"
  342. :placeholder="'请输入 ' + column.label"
  343. v-model="crudForm.cadreAllowanceReservation"
  344. @change="salaryAdd(crudForm)"
  345. />
  346. </template>
  347. <template
  348. slot="yearDownPerformanceForm"
  349. slot-scope="{ column, disabled }"
  350. >
  351. <el-input
  352. :disabled="disabled"
  353. :placeholder="'请输入 ' + column.label"
  354. v-model="crudForm.yearDownPerformance"
  355. @change="salaryAdd(crudForm)"
  356. />
  357. </template>
  358. <template
  359. slot="yearUpPerformanceForm"
  360. slot-scope="{ column, disabled }"
  361. >
  362. <el-input
  363. :disabled="disabled"
  364. :placeholder="'请输入 ' + column.label"
  365. v-model="crudForm.yearUpPerformance"
  366. @change="salaryAdd(crudForm)"
  367. />
  368. </template>
  369. <template
  370. slot="overtimeAtWeekendForm"
  371. slot-scope="{ column, disabled }"
  372. >
  373. <el-input
  374. :disabled="disabled"
  375. :placeholder="'请输入 ' + column.label"
  376. v-model="crudForm.overtimeAtWeekend"
  377. @change="salaryAdd(crudForm)"
  378. />
  379. </template>
  380. <template
  381. slot="maternityLeaveSalaryForm"
  382. slot-scope="{ column, disabled }"
  383. >
  384. <el-input
  385. :disabled="disabled"
  386. :placeholder="'请输入 ' + column.label"
  387. v-model="crudForm.maternityLeaveSalary"
  388. @change="salaryAdd(crudForm)"
  389. />
  390. </template>
  391. <template slot="wxForm" slot-scope="{ column, disabled }">
  392. <el-input
  393. :disabled="disabled"
  394. :placeholder="'请输入 ' + column.label"
  395. v-model="crudForm.wx"
  396. @change="salaryAdd(crudForm)"
  397. />
  398. </template>
  399. <template
  400. slot="dormitoryManagementFeeForm"
  401. slot-scope="{ column, disabled }"
  402. >
  403. <el-input
  404. :disabled="disabled"
  405. :placeholder="'请输入 ' + column.label"
  406. v-model="crudForm.dormitoryManagementFee"
  407. @change="salaryAdd(crudForm)"
  408. />
  409. </template>
  410. <template slot="learningPowerForm" slot-scope="{ column, disabled }">
  411. <el-input
  412. :disabled="disabled"
  413. :placeholder="'请输入 ' + column.label"
  414. v-model="crudForm.learningPower"
  415. @change="salaryAdd(crudForm)"
  416. />
  417. </template>
  418. <template slot="telephoneBillForm" slot-scope="{ column, disabled }">
  419. <el-input
  420. :disabled="disabled"
  421. :placeholder="'请输入 ' + column.label"
  422. v-model="crudForm.telephoneBill"
  423. @change="salaryAdd(crudForm)"
  424. />
  425. </template>
  426. <template slot="inspectorFinesForm" slot-scope="{ column, disabled }">
  427. <el-input
  428. :disabled="disabled"
  429. :placeholder="'请输入 ' + column.label"
  430. v-model="crudForm.inspectorFines"
  431. @change="salaryAdd(crudForm)"
  432. />
  433. </template>
  434. <template slot="attendanceForm" slot-scope="{ column, disabled }">
  435. <el-input
  436. :disabled="disabled"
  437. :placeholder="'请输入 ' + column.label"
  438. v-model="crudForm.attendance"
  439. @change="salaryAdd(crudForm)"
  440. />
  441. </template>
  442. <template
  443. slot="childbirthAllowanceForm"
  444. slot-scope="{ column, disabled }"
  445. >
  446. <el-input
  447. :disabled="disabled"
  448. :placeholder="'请输入 ' + column.label"
  449. v-model="crudForm.childbirthAllowance"
  450. @change="salaryAdd(crudForm)"
  451. />
  452. </template>
  453. <template slot="androidItForm" slot-scope="{ column, disabled }">
  454. <el-input
  455. :disabled="disabled"
  456. :placeholder="'请输入 ' + column.label"
  457. v-model="crudForm.androidIt"
  458. @change="salaryAdd(crudForm)"
  459. />
  460. </template>
  461. <template slot="basicsSalaryForm" slot-scope="{ column, disabled }">
  462. <el-input
  463. :disabled="disabled"
  464. :placeholder="'请输入 ' + column.label"
  465. v-model="crudForm.basicsSalary"
  466. @change="salaryAdd(crudForm)"
  467. />
  468. </template>
  469. <template slot="workloadSalaryForm" slot-scope="{ column, disabled }">
  470. <el-input
  471. :disabled="disabled"
  472. :placeholder="'请输入 ' + column.label"
  473. v-model="crudForm.workloadSalary"
  474. @change="salaryAdd(crudForm)"
  475. />
  476. </template>
  477. <template
  478. slot="dailyAssessmentSalaryForm"
  479. slot-scope="{ column, disabled }"
  480. >
  481. <el-input
  482. :disabled="disabled"
  483. :placeholder="'请输入 ' + column.label"
  484. v-model="crudForm.dailyAssessmentSalary"
  485. @change="salaryAdd(crudForm)"
  486. />
  487. </template>
  488. <template slot="awardSalaryForm" slot-scope="{ column, disabled }">
  489. <el-input
  490. :disabled="disabled"
  491. :placeholder="'请输入 ' + column.label"
  492. v-model="crudForm.awardSalary"
  493. @change="salaryAdd(crudForm)"
  494. />
  495. </template>
  496. <template slot="dutyAllowancesForm" slot-scope="{ column, disabled }">
  497. <el-input
  498. :disabled="disabled"
  499. :placeholder="'请输入 ' + column.label"
  500. v-model="crudForm.dutyAllowances"
  501. @change="salaryAdd(crudForm)"
  502. />
  503. </template>
  504. <template
  505. slot="classTeacherSubsidyForm"
  506. slot-scope="{ column, disabled }"
  507. >
  508. <el-input
  509. :disabled="disabled"
  510. :placeholder="'请输入 ' + column.label"
  511. v-model="crudForm.classTeacherSubsidy"
  512. @change="salaryAdd(crudForm)"
  513. />
  514. </template>
  515. <template slot="subsidyForm" slot-scope="{ column, disabled }">
  516. <el-input
  517. :disabled="disabled"
  518. :placeholder="'请输入 ' + column.label"
  519. v-model="crudForm.subsidy"
  520. @change="salaryAdd(crudForm)"
  521. />
  522. </template>
  523. <template slot="deductionsForm" slot-scope="{ column, disabled }">
  524. <el-input
  525. :disabled="disabled"
  526. :placeholder="'请输入 ' + column.label"
  527. v-model="crudForm.deductions"
  528. @change="salaryAdd(crudForm)"
  529. />
  530. </template>
  531. <template
  532. slot="insurancePersonageForm"
  533. slot-scope="{ column, disabled }"
  534. >
  535. <el-input
  536. :disabled="disabled"
  537. :placeholder="'请输入 ' + column.label"
  538. v-model="crudForm.insurancePersonage"
  539. @change="salaryAdd(crudForm)"
  540. />
  541. </template>
  542. <template
  543. slot="reservedFundsPersonageForm"
  544. slot-scope="{ column, disabled }"
  545. >
  546. <el-input
  547. :disabled="disabled"
  548. :placeholder="'请输入 ' + column.label"
  549. v-model="crudForm.reservedFundsPersonage"
  550. @change="salaryAdd(crudForm)"
  551. />
  552. </template>
  553. <template slot="salaryForm" slot-scope="{ column, disabled }">
  554. <el-input
  555. :disabled="disabled"
  556. :placeholder="'请输入 ' + column.label"
  557. v-model="crudForm.salary"
  558. @change="salaryAdd(crudForm)"
  559. />
  560. </template>
  561. <template slot="personageTaxesForm" slot-scope="{ column, disabled }">
  562. <el-input
  563. :disabled="disabled"
  564. :placeholder="'请输入 ' + column.label"
  565. v-model="crudForm.personageTaxes"
  566. @change="salaryAdd(crudForm)"
  567. />
  568. </template>
  569. <template
  570. slot="insurancePersonageForm"
  571. slot-scope="{ column, disabled }"
  572. >
  573. <el-input
  574. :disabled="disabled"
  575. :placeholder="'请输入 ' + column.label"
  576. v-model="crudForm.insurancePersonage"
  577. @change="salaryAdd(crudForm)"
  578. />
  579. </template>
  580. <template
  581. slot="reservedFundsPersonageForm"
  582. slot-scope="{ column, disabled }"
  583. >
  584. <el-input
  585. :disabled="disabled"
  586. :placeholder="'请输入 ' + column.label"
  587. v-model="crudForm.reservedFundsPersonage"
  588. @change="salaryAdd(crudForm)"
  589. />
  590. </template>
  591. <template slot-scope="{ row, index }" slot="menu">
  592. <el-button
  593. type="text"
  594. size="small"
  595. @click.stop="$refs.crud.rowEdit(row, index)"
  596. :disabled="detailData.status == 1"
  597. >
  598. {{ row.$cellEdit ? "保存" : "编辑" }}
  599. </el-button>
  600. <el-button
  601. type="text"
  602. size="small"
  603. @click.stop="rowDel(row, index)"
  604. :disabled="detailData.status == 1"
  605. >
  606. 删除
  607. </el-button>
  608. </template>
  609. </avue-crud>
  610. <el-dialog
  611. title="导入教职工资料"
  612. append-to-body
  613. :visible.sync="excelBox"
  614. width="555px"
  615. v-dialog-drag
  616. >
  617. <avue-form
  618. :option="excelOption"
  619. v-model="excelForm"
  620. table-loading="excelLoading"
  621. :upload-after="uploadAfter"
  622. >
  623. <template slot="excelTemplate">
  624. <el-button type="primary" @click="derivation">
  625. 点击下载<i class="el-icon-download el-icon--right"></i>
  626. </el-button>
  627. </template>
  628. </avue-form>
  629. <p style="text-align: center;color: #DC0505">
  630. 温馨提示 第一次导入时请先下载模板
  631. </p>
  632. </el-dialog>
  633. </basic-container>
  634. </div>
  635. </div>
  636. </template>
  637. <script>
  638. import { getToken } from "@/util/auth";
  639. import {
  640. detail,
  641. submit,
  642. delItem,
  643. itemDetail
  644. } from "@/api/salaryManagement/primarySchool";
  645. import { numCal } from "@/util/calculate";
  646. import { optionList } from "./js/optionList";
  647. export default {
  648. name: "detailsPage",
  649. data() {
  650. return {
  651. crudForm: {},
  652. excelBox: false,
  653. loading: false,
  654. xcelLoading: false,
  655. loadingBtn: false,
  656. excelForm: {
  657. type: "1"
  658. },
  659. excelOption: {
  660. submitBtn: false,
  661. emptyBtn: false,
  662. column: [
  663. {
  664. label: "导入类型",
  665. prop: "type",
  666. type: "select",
  667. dicUrl: "/api/blade-system/dict-biz/dictionary?code=import_type",
  668. props: {
  669. label: "dictValue",
  670. value: "dictKey"
  671. },
  672. span: 12
  673. },
  674. {
  675. label: "模板下载",
  676. prop: "excelTemplate",
  677. formslot: true,
  678. span: 24
  679. },
  680. {
  681. label: "模板上传",
  682. prop: "excelFile",
  683. type: "upload",
  684. drag: true,
  685. loadText: "模板上传中,请稍等",
  686. span: 24,
  687. propsHttp: {
  688. res: "data"
  689. },
  690. tip: "请上传 .xls,.xlsx 标准格式文件",
  691. action: "/api/blade-school/salaryitem/import",
  692. disabled: false
  693. }
  694. ]
  695. },
  696. form: {},
  697. dataList: [],
  698. page: {
  699. pageSize: 20,
  700. currentPage: 1,
  701. total: 0,
  702. pageSizes: [
  703. 10,
  704. 20,
  705. 30,
  706. 40,
  707. 50,
  708. 100,
  709. 150,
  710. 200,
  711. 250,
  712. 300,
  713. 350,
  714. 400,
  715. 450,
  716. 500
  717. ]
  718. },
  719. drawer: false,
  720. tableHeight: 0,
  721. option: {
  722. menuBtn: false,
  723. labelWidth: 40,
  724. column: [
  725. {
  726. label: "年",
  727. prop: "annual",
  728. type: "year",
  729. valueFormat: "yyyy",
  730. rules: [
  731. {
  732. required: true,
  733. message: "",
  734. trigger: "blur"
  735. }
  736. ],
  737. span: 4,
  738. change: ({ value }) => {
  739. if (value) {
  740. this.optionList.column.forEach(e => {
  741. if (e.prop == "yearUpPerformance") {
  742. e.label = value + "年上学期绩效";
  743. }
  744. if (e.prop == "yearDownPerformance") {
  745. e.label = value + "年下学期绩效";
  746. }
  747. });
  748. }
  749. }
  750. },
  751. {
  752. label: "月",
  753. prop: "moon",
  754. type: "select",
  755. filterable: true,
  756. dicUrl: "/api/blade-system/dict-biz/dictionary?code=month",
  757. props: {
  758. label: "dictValue",
  759. value: "dictKey"
  760. },
  761. span: 4,
  762. rules: [
  763. {
  764. required: true,
  765. message: "",
  766. trigger: "blur"
  767. }
  768. ],
  769. change: ({ value }) => {
  770. if (value) {
  771. this.optionList.column.forEach(e => {
  772. if (e.prop == "monthHour") {
  773. e.label = value + "月份课时";
  774. }
  775. if (e.prop == "momthWorkloadSalary") {
  776. e.label = value + "月工作量工资";
  777. }
  778. if (e.prop == "monthViceClassFee") {
  779. e.label = value + "月副班费(预留补发)";
  780. }
  781. });
  782. }
  783. }
  784. },
  785. {
  786. label: "人数",
  787. prop: "personNumber",
  788. span: 4,
  789. disabled: true
  790. },
  791. {
  792. label: "备注",
  793. prop: "remarks",
  794. type: "textarea",
  795. span: 12,
  796. minRows: 2
  797. }
  798. ]
  799. },
  800. optionList: optionList,
  801. exportUrl: "/api/blade-school/salaryitem/export/template"
  802. };
  803. },
  804. props: {
  805. detailData: {
  806. type: Object
  807. }
  808. },
  809. created() {
  810. if (this.detailData.id) {
  811. this.getDetail(this.detailData.id);
  812. }
  813. if (this.detailData.status == 1) {
  814. this.option.disabled = true;
  815. }
  816. this.optionList.height = window.innerHeight - 400;
  817. },
  818. methods: {
  819. cellStyle() {
  820. return "padding:0;height:40px;";
  821. },
  822. headerCellClassName({ row, column, rowIndex, columnIndex }) {
  823. if (
  824. column.property == "salaryBase" ||
  825. column.property == "workloadSalary" ||
  826. column.property == "dailyAssessmentSalary" ||
  827. column.property == "awardSalary" ||
  828. column.property == "dutyAllowances" ||
  829. column.property == "classTeacherSubsidy" ||
  830. column.property == "subsidy" ||
  831. column.property == "deductions" ||
  832. column.property == "insuranceUnit" ||
  833. column.property == "insurancePersonage" ||
  834. column.property == "reservedFundsUnit" ||
  835. column.property == "reservedFundsPersonage" ||
  836. column.property == "salary" ||
  837. column.property == "personageTaxes" ||
  838. column.property == "fsalary"
  839. ) {
  840. return "headerCellClass";
  841. }
  842. },
  843. rowStyle({ row, column, rowIndex }) {
  844. if (rowIndex % 2 === 1) {
  845. return {
  846. backgroundColor: "#FAFAFA",
  847. };
  848. }
  849. },
  850. getDetail(id) {
  851. detail(id).then(res => {
  852. this.form = res.data.data;
  853. this.getItemDetail();
  854. });
  855. },
  856. getItemDetail() {
  857. const data = {
  858. pid: this.form.id,
  859. ...this.search
  860. };
  861. this.loading = true;
  862. itemDetail(this.page.currentPage, this.page.pageSize, data)
  863. .then(res => {
  864. this.dataList = res.data.data.records;
  865. this.page.total = res.data.data.total;
  866. })
  867. .finally(() => {
  868. this.loading = false;
  869. });
  870. },
  871. rowSave(row, done, loading) {
  872. if (!row.cname) {
  873. loading();
  874. return this.$message.error("请完善姓名");
  875. }
  876. if (!row.idNumber) {
  877. loading();
  878. return this.$message.error("请完善身份证号");
  879. }
  880. const arr = [];
  881. arr.push(row);
  882. submit({ ...this.form, salaryItemList: arr })
  883. .then(res => {
  884. this.$message.success("保存成功");
  885. this.form = res.data.data;
  886. this.getItemDetail();
  887. done();
  888. })
  889. .finally(() => {
  890. loading();
  891. });
  892. },
  893. rowUpdate(row, index, done, loading) {
  894. if (!row.cname) {
  895. loading();
  896. return this.$message.error("请完善姓名");
  897. }
  898. if (!row.idNumber) {
  899. loading();
  900. return this.$message.error("请完善身份证号");
  901. }
  902. const arr = [];
  903. arr.push(row);
  904. submit({ ...this.form, salaryItemList: arr })
  905. .then(res => {
  906. this.$message.success("修改成功");
  907. this.form = res.data.data;
  908. this.getItemDetail();
  909. done();
  910. })
  911. .finally(() => {
  912. loading();
  913. });
  914. },
  915. rowCell(row, index) {
  916. if (row.$cellEdit == true) {
  917. if (!row.cname) {
  918. return this.$message.error("请完善姓名");
  919. }
  920. if (!row.idNumber) {
  921. return this.$message.error("请完善身份证号");
  922. }
  923. // if (!row.rankStandard) {
  924. // return this.$message.error("请完善职级标准");
  925. // }
  926. const arr = [];
  927. arr.push(row);
  928. this.loading = true;
  929. submit({ ...this.form, salaryItemList: arr })
  930. .then(res => {
  931. this.$message.success("保存成功");
  932. this.form = res.data.data;
  933. })
  934. .finally(() => {
  935. this.loading = false;
  936. });
  937. this.$set(row, "$cellEdit", false);
  938. } else {
  939. this.$set(row, "$cellEdit", true);
  940. }
  941. },
  942. rowDel(row, index) {
  943. this.$confirm("确定删除数据?", {
  944. confirmButtonText: "确定",
  945. cancelButtonText: "取消",
  946. type: "warning"
  947. }).then(() => {
  948. if (row.id) {
  949. delItem(row.id).then(res => {
  950. this.$message({
  951. type: "success",
  952. message: "删除成功!"
  953. });
  954. this.getItemDetail();
  955. });
  956. } else {
  957. this.$message({
  958. type: "success",
  959. message: "删除成功!"
  960. });
  961. this.dataList.splice(index, 1);
  962. }
  963. });
  964. },
  965. searchChange(params, done) {
  966. this.getItemDetail();
  967. done();
  968. },
  969. currentChange(val) {
  970. this.page.currentPage = val;
  971. this.getItemDetail();
  972. },
  973. sizeChange(val) {
  974. this.page.currentPage = 1;
  975. this.page.pageSize = val;
  976. this.getItemDetail();
  977. },
  978. refreshChange() {
  979. this.getItemDetail();
  980. },
  981. uploadAfter(res, done, loading, column) {
  982. this.excelBox = false;
  983. // this.$message.success("导入成功!");
  984. this.getItemDetail();
  985. done();
  986. },
  987. //修改提交触发
  988. editCustomer() {
  989. this.$refs["form"].validate((valid, done) => {
  990. done();
  991. if (valid) {
  992. for (let i = 0; i < this.dataList.length; i++) {
  993. if (!this.dataList[i].cname) {
  994. return this.$message.error(
  995. "请完善第" + Number(1 + i) + "行的姓名"
  996. );
  997. }
  998. if (!this.dataList[i].idNumber) {
  999. return this.$message.error(
  1000. "请完善第" + Number(1 + i) + "行的身份证号"
  1001. );
  1002. }
  1003. if (!this.dataList[i].rankStandard) {
  1004. return this.$message.error(
  1005. "请完善第" + Number(1 + i) + "行的职级标准"
  1006. );
  1007. }
  1008. }
  1009. this.loadingBtn = true;
  1010. submit({ ...this.form, salaryItemList: this.dataList })
  1011. .then(res => {
  1012. this.$message.success("保存成功");
  1013. this.form = res.data.data;
  1014. this.getItemDetail();
  1015. })
  1016. .finally(() => {
  1017. this.loadingBtn = false;
  1018. });
  1019. } else {
  1020. return false;
  1021. }
  1022. });
  1023. },
  1024. derivation() {
  1025. if (!this.excelForm.type) {
  1026. return this.$message.error("请选择导入类型");
  1027. }
  1028. if (!this.exportUrl) {
  1029. return this.$message.error("暂无模板文件");
  1030. }
  1031. window.open(
  1032. `${this.exportUrl}?${this.website.tokenHeader}=${getToken()}`
  1033. );
  1034. },
  1035. openExport() {
  1036. if (!this.form.id) {
  1037. return this.$message.error("请先保存数据");
  1038. }
  1039. window.open(
  1040. `/api/blade-school/salaryitem/export/teacher?${
  1041. this.website.tokenHeader
  1042. }=${getToken()}&pid=${this.form.id}`
  1043. );
  1044. },
  1045. importExcel() {
  1046. if (!this.form.id) {
  1047. return this.$message.error("请先保存数据");
  1048. }
  1049. this.excelOption.column.forEach(e => {
  1050. if (e.prop == "excelFile") {
  1051. e.data = {
  1052. id: this.form.id
  1053. };
  1054. }
  1055. });
  1056. this.excelBox = true;
  1057. },
  1058. //导出全部
  1059. exportAll() {
  1060. let opt = {
  1061. title: "工资条",
  1062. column: this.optionList.column,
  1063. data: this.dataList
  1064. };
  1065. this.$Export.excel({
  1066. title: opt.title,
  1067. columns: opt.column,
  1068. data: opt.data
  1069. });
  1070. },
  1071. salaryAdd(row) {
  1072. // 1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
  1073. row.basicsSalary =
  1074. numCal(row.schoolAgeSalary) +
  1075. numCal(row.capitalIncrease) +
  1076. numCal(row.educationSalary) +
  1077. numCal(row.rankSalary) +
  1078. numCal(row.salaryBase) +
  1079. numCal(row.performanceAward);
  1080. // 2. 工作量工资 = V51(工作量工资)+Y51(暑假pad课课时费)
  1081. row.workloadSalary =
  1082. numCal(row.momthWorkloadSalary) + numCal(row.vacationOvertimePay);
  1083. // 3. 奖励工资 = AD46(突出贡献奖) 无 +AE46(教学成绩优胜奖)+AF46(教学成绩进步奖) 无 +AG46(荣誉奖) 无 +AH46(领导干部奖励奖)+AI46(下学期教学成绩奖) 下学期绩效 +AJ46(中考奖励) 无
  1084. row.awardSalary =
  1085. numCal(row.winningPrize) +
  1086. numCal(row.leadingCadreSubsidy) +
  1087. numCal(row.yearDownPerformance);
  1088. // 4. 职务津贴 = AM46(备课组长)+AL46(领导干部补贴)+AN46(教研组长)
  1089. row.dutyAllowances =
  1090. numCal(row.prepareLessons) +
  1091. numCal(row.leadingCadreSubsidy) +
  1092. numCal(row.teachingResearch);
  1093. // 5. 班主任津贴 = AQ47(班额)+AP47(班主任费)
  1094. row.classTeacherSubsidy =
  1095. numCal(row.classes) + numCal(row.classTeacherFee);
  1096. // 6. 补贴项 = =BE49(预留补发)+BD49(餐车、周五测温、周五安全岗(预留补发))+BC49(9月副班费(预留补发))+BB49(级部长(预留发放))+BA49(期中期末考试学科优胜奖(预留发放))+AZ49(新岗岗前培训)+AY49(假期加班费)+AX49(干部补贴预留)+AW49(2020年下学期绩效)+AV49(2020年上学期绩效)+AU49(周末加班(提取))+AT49(产假工资)+AS49(微信)
  1097. row.subsidy =
  1098. numCal(row.reserveReplacement) +
  1099. numCal(row.safetyFees) +
  1100. numCal(row.monthViceClassFee) +
  1101. numCal(row.classMinister) +
  1102. numCal(row.winningPrize) +
  1103. numCal(row.newPostTrain) +
  1104. numCal(row.vacationOvertimePay) +
  1105. numCal(row.cadreAllowanceReservation) +
  1106. numCal(row.yearDownPerformance) +
  1107. numCal(row.yearUpPerformance) +
  1108. numCal(row.overtimeAtWeekend) +
  1109. numCal(row.maternityLeaveSalary) +
  1110. numCal(row.wx);
  1111. // 7. 扣除项 = =BL47(宿舍管理费)+BK47(学习强国)+BJ47(电话费)+BI47(督查罚款)+BH47(出勤)+BM47(生育津贴)+BN47(五险一金个人)
  1112. row.deductions =
  1113. numCal(row.dormitoryManagementFee) +
  1114. numCal(row.learningPower) +
  1115. numCal(row.telephoneBill) +
  1116. numCal(row.inspectorFines) +
  1117. numCal(row.attendance) +
  1118. numCal(row.childbirthAllowance) +
  1119. numCal(row.androidIt);
  1120. // 8. 应发工资 = S153(基础工资)+Z153(工作量工资)+AB153(日常考核工资)+AK153(奖励工资)+AO153(职务津贴)+AR153(班主任津贴)+BG153(补贴项)-BO153(扣除项)+BQ153(保险个人)+BS153(公积金个人)
  1121. row.salary =
  1122. numCal(row.basicsSalary) +
  1123. numCal(row.workloadSalary) +
  1124. numCal(row.dailyAssessmentSalary) +
  1125. numCal(row.awardSalary) +
  1126. numCal(row.dutyAllowances) +
  1127. numCal(row.classTeacherSubsidy) +
  1128. numCal(row.subsidy) -
  1129. numCal(row.deductions) +
  1130. numCal(row.insurancePersonage) +
  1131. numCal(row.reservedFundsPersonage);
  1132. // 9. 实发工资 = BT153(应发工资) - BU153(个税)-BQ153(保险个人)-BS153(公积金个人)
  1133. row.fsalary =
  1134. numCal(row.salary) -
  1135. numCal(row.personageTaxes) -
  1136. numCal(row.insurancePersonage) -
  1137. numCal(row.reservedFundsPersonage);
  1138. },
  1139. //导出工资条
  1140. exportSalary() {
  1141. let data = [];
  1142. for (let item in this.optionList.column) {
  1143. switch (this.optionList.column[item].prop) {
  1144. case "salaryBase":
  1145. data.push(this.optionList.column[item]);
  1146. break;
  1147. case "workloadSalary":
  1148. data.push(this.optionList.column[item]);
  1149. break;
  1150. case "dailyAssessmentSalary":
  1151. data.push(this.optionList.column[item]);
  1152. break;
  1153. case "awardSalary":
  1154. data.push(this.optionList.column[item]);
  1155. break;
  1156. case "dutyAllowances":
  1157. data.push(this.optionList.column[item]);
  1158. break;
  1159. case "classTeacherSubsidy":
  1160. data.push(this.optionList.column[item]);
  1161. break;
  1162. case "subsidy":
  1163. data.push(this.optionList.column[item]);
  1164. break;
  1165. case "deductions":
  1166. data.push(this.optionList.column[item]);
  1167. break;
  1168. case "insuranceUnit":
  1169. data.push(this.optionList.column[item]);
  1170. break;
  1171. case "insurancePersonage":
  1172. data.push(this.optionList.column[item]);
  1173. break;
  1174. case "reservedFundsUnit":
  1175. data.push(this.optionList.column[item]);
  1176. break;
  1177. case "reservedFundsPersonage":
  1178. data.push(this.optionList.column[item]);
  1179. break;
  1180. case "salary":
  1181. data.push(this.optionList.column[item]);
  1182. break;
  1183. case "personageTaxes":
  1184. data.push(this.optionList.column[item]);
  1185. break;
  1186. case "fsalary":
  1187. data.push(this.optionList.column[item]);
  1188. break;
  1189. }
  1190. }
  1191. let opt = {
  1192. title: "工资条",
  1193. column: data,
  1194. data: this.dataList
  1195. };
  1196. this.$Export.excel({
  1197. title: opt.title,
  1198. columns: opt.column,
  1199. data: opt.data
  1200. });
  1201. },
  1202. openEdit() {
  1203. const data = {
  1204. moduleName: "xxb",
  1205. tableName: "primary_school",
  1206. billId: this.form.id,
  1207. no: localStorage.getItem("browserID"),
  1208. billNo: this.form.annual + "-" + this.form.moon
  1209. };
  1210. this.inDetailsKey(this.$route.name, {
  1211. moduleName: "xxb",
  1212. tableName: "primary_school",
  1213. billId: this.form.id,
  1214. billNo: this.form.annual + "-" + this.form.moon
  1215. });
  1216. this.checkLock(data).then(res => {
  1217. if (res.data.code == 200) {
  1218. this.onLock(data);
  1219. this.detailData.status = 2;
  1220. this.option = this.$options.data().option;
  1221. }
  1222. });
  1223. },
  1224. //返回列表
  1225. backToList() {
  1226. if (this.form.id) {
  1227. this.unLock({
  1228. moduleName: "xxb",
  1229. tableName: "primary_school",
  1230. billId: this.form.id,
  1231. billNo: this.form.annual + "-" + this.form.moon
  1232. });
  1233. }
  1234. this.$emit("goBack");
  1235. this.leaveDetailsKey(this.$route.name);
  1236. }
  1237. },
  1238. watch: {
  1239. "excelForm.type": function(val) {
  1240. if (val) {
  1241. switch (val) {
  1242. case "1":
  1243. this.exportUrl = "/api/blade-school/salaryitem/export/template";
  1244. this.findObject(this.excelOption.column, "excelFile").action =
  1245. "/api/blade-school/salaryitem/import";
  1246. this.findObject(
  1247. this.excelOption.column,
  1248. "excelFile"
  1249. ).disabled = false;
  1250. break;
  1251. case "2":
  1252. this.exportUrl = "/api/blade-school/salaryitem/export/employ";
  1253. this.findObject(this.excelOption.column, "excelFile").action =
  1254. "/api/blade-school/salaryitem/import/employ";
  1255. this.findObject(
  1256. this.excelOption.column,
  1257. "excelFile"
  1258. ).disabled = false;
  1259. break;
  1260. case "3":
  1261. this.exportUrl =
  1262. "/api/blade-school/salaryitem/export/workloadExcel";
  1263. this.findObject(this.excelOption.column, "excelFile").action =
  1264. "/api/blade-school/salaryitem/import/workloadExcel";
  1265. this.findObject(
  1266. this.excelOption.column,
  1267. "excelFile"
  1268. ).disabled = false;
  1269. break;
  1270. case "4":
  1271. this.exportUrl =
  1272. "/api/blade-school/salaryitem/export/postAllowance";
  1273. this.findObject(this.excelOption.column, "excelFile").action =
  1274. "/api/blade-school/salaryitem/import/postAllowance";
  1275. this.findObject(
  1276. this.excelOption.column,
  1277. "excelFile"
  1278. ).disabled = false;
  1279. break;
  1280. case "5":
  1281. this.exportUrl =
  1282. "/api/blade-school/salaryitem/export/teacherSubsidy";
  1283. this.findObject(this.excelOption.column, "excelFile").action =
  1284. "/api/blade-school/salaryitem/import/teacherSubsidy";
  1285. this.findObject(
  1286. this.excelOption.column,
  1287. "excelFile"
  1288. ).disabled = false;
  1289. break;
  1290. case "6":
  1291. this.exportUrl = "/api/blade-school/salaryitem/export/position";
  1292. this.findObject(this.excelOption.column, "excelFile").action =
  1293. "/api/blade-school/salaryitem/import/position";
  1294. this.findObject(
  1295. this.excelOption.column,
  1296. "excelFile"
  1297. ).disabled = false;
  1298. break;
  1299. case "7":
  1300. this.exportUrl = "/api/blade-school/salaryitem/export/zhaPingExcel";
  1301. this.findObject(this.excelOption.column, "excelFile").action =
  1302. "/api/blade-school/salaryitem/import/zhaPingExcel";
  1303. this.findObject(
  1304. this.excelOption.column,
  1305. "excelFile"
  1306. ).disabled = false;
  1307. break;
  1308. case "9":
  1309. this.exportUrl = "/api/blade-school/salaryitem/export/overtime";
  1310. this.findObject(this.excelOption.column, "excelFile").action =
  1311. "/api/blade-school/salaryitem/import/overtime";
  1312. this.findObject(
  1313. this.excelOption.column,
  1314. "excelFile"
  1315. ).disabled = false;
  1316. break;
  1317. case "10":
  1318. this.exportUrl = "/api/blade-school/salaryitem/export/weChat";
  1319. this.findObject(this.excelOption.column, "excelFile").action =
  1320. "/api/blade-school/salaryitem/import/weChat";
  1321. this.findObject(
  1322. this.excelOption.column,
  1323. "excelFile"
  1324. ).disabled = false;
  1325. break;
  1326. case "11":
  1327. this.exportUrl = "/api/blade-school/salaryitem/export/power";
  1328. this.findObject(this.excelOption.column, "excelFile").action =
  1329. "/api/blade-school/salaryitem/import/power";
  1330. this.findObject(
  1331. this.excelOption.column,
  1332. "excelFile"
  1333. ).disabled = false;
  1334. break;
  1335. case "12":
  1336. this.exportUrl = "/api/blade-school/salaryitem/export/phoneFine";
  1337. this.findObject(this.excelOption.column, "excelFile").action =
  1338. "/api/blade-school/salaryitem/import/phoneFine";
  1339. this.findObject(
  1340. this.excelOption.column,
  1341. "excelFile"
  1342. ).disabled = false;
  1343. break;
  1344. case "13":
  1345. this.exportUrl =
  1346. "/api/blade-school/salaryitem/export/sanitationFee";
  1347. this.findObject(this.excelOption.column, "excelFile").action =
  1348. "/api/blade-school/salaryitem/import/sanitationFee";
  1349. this.findObject(
  1350. this.excelOption.column,
  1351. "excelFile"
  1352. ).disabled = false;
  1353. break;
  1354. case "14":
  1355. this.exportUrl =
  1356. "/api/blade-school/salaryitem/export/insuranceExcel";
  1357. this.findObject(this.excelOption.column, "excelFile").action =
  1358. "/api/blade-school/salaryitem/import/insuranceExcel";
  1359. this.findObject(
  1360. this.excelOption.column,
  1361. "excelFile"
  1362. ).disabled = false;
  1363. break;
  1364. case "15":
  1365. this.exportUrl =
  1366. "/api/blade-school/salaryitem/export/reservedFunds";
  1367. this.findObject(this.excelOption.column, "excelFile").action =
  1368. "/api/blade-school/salaryitem/import/reservedFunds";
  1369. this.findObject(
  1370. this.excelOption.column,
  1371. "excelFile"
  1372. ).disabled = false;
  1373. break;
  1374. case "16":
  1375. this.exportUrl =
  1376. "/api/blade-school/salaryitem/export/personalInsurance";
  1377. this.findObject(this.excelOption.column, "excelFile").action =
  1378. "/api/blade-school/salaryitem/import/personalInsurance";
  1379. this.findObject(
  1380. this.excelOption.column,
  1381. "excelFile"
  1382. ).disabled = false;
  1383. break;
  1384. case "17":
  1385. this.exportUrl =
  1386. "/api/blade-school/salaryitem/export/attendanceExcel";
  1387. this.findObject(this.excelOption.column, "excelFile").action =
  1388. "/api/blade-school/salaryitem/import/attendanceExcel";
  1389. this.findObject(
  1390. this.excelOption.column,
  1391. "excelFile"
  1392. ).disabled = false;
  1393. break;
  1394. case "19":
  1395. this.exportUrl = "/api/blade-school/salaryitem/export/payTaxes";
  1396. this.findObject(this.excelOption.column, "excelFile").action =
  1397. "/api/blade-school/salaryitem/import/payTaxes";
  1398. this.findObject(
  1399. this.excelOption.column,
  1400. "excelFile"
  1401. ).disabled = false;
  1402. break;
  1403. case "20":
  1404. this.exportUrl = "/api/blade-school/salaryitem/export/awardExcel";
  1405. this.findObject(this.excelOption.column, "excelFile").action =
  1406. "/api/blade-school/salaryitem/import/awardExcel";
  1407. this.findObject(
  1408. this.excelOption.column,
  1409. "excelFile"
  1410. ).disabled = false;
  1411. break;
  1412. case "21":
  1413. this.exportUrl =
  1414. "/api/blade-school/salaryitem/export/performanceExcel";
  1415. this.findObject(this.excelOption.column, "excelFile").action =
  1416. "/api/blade-school/salaryitem/import/performanceExcel";
  1417. this.findObject(
  1418. this.excelOption.column,
  1419. "excelFile"
  1420. ).disabled = false;
  1421. break;
  1422. case "22":
  1423. this.exportUrl =
  1424. "/api/blade-school/salaryitem/export/vacationExcel";
  1425. this.findObject(this.excelOption.column, "excelFile").action =
  1426. "/api/blade-school/salaryitem/import/vacationExcel";
  1427. this.findObject(
  1428. this.excelOption.column,
  1429. "excelFile"
  1430. ).disabled = false;
  1431. break;
  1432. case "23":
  1433. this.exportUrl =
  1434. "/api/blade-school/salaryitem/export/postTrainExcel";
  1435. this.findObject(this.excelOption.column, "excelFile").action =
  1436. "/api/blade-school/salaryitem/import/postTrainExcel";
  1437. this.findObject(
  1438. this.excelOption.column,
  1439. "excelFile"
  1440. ).disabled = false;
  1441. break;
  1442. default:
  1443. this.findObject(
  1444. this.excelOption.column,
  1445. "excelFile"
  1446. ).disabled = true;
  1447. this.exportUrl = "";
  1448. }
  1449. } else {
  1450. this.findObject(this.excelOption.column, "excelFile").disabled = true;
  1451. }
  1452. }
  1453. }
  1454. };
  1455. </script>
  1456. <style>
  1457. .headerCellClass {
  1458. color: #fff !important;
  1459. background: #a4cf57 !important;
  1460. }
  1461. </style>
  1462. <style lang="scss" scoped>
  1463. .trading-form ::v-deep .el-form-item {
  1464. margin-bottom: 0px !important;
  1465. }
  1466. ::v-deep .el-form-item__error {
  1467. display: none !important;
  1468. }
  1469. </style>