detailsPage.vue 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080
  1. <template>
  2. <div class="borderless" v-loading="allloading">
  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. :disabled="form.status > 0"
  20. @click.stop="openEdit"
  21. >编辑
  22. </el-button>
  23. <el-dropdown style="margin-right: 8px;margin-left: 8px;">
  24. <el-button type="primary" size="small">
  25. 审核处理<i class="el-icon-arrow-down el-icon--right"></i>
  26. </el-button>
  27. <el-dropdown-menu slot="dropdown">
  28. <el-dropdown-item
  29. disabled
  30. @click.native="pleaseCheck"
  31. >请核数据</el-dropdown-item
  32. >
  33. <el-dropdown-item disabled>审核进度</el-dropdown-item>
  34. <el-dropdown-item disabled>撤销请核</el-dropdown-item>
  35. </el-dropdown-menu>
  36. </el-dropdown>
  37. <el-button
  38. type="success"
  39. :disabled="!form.id"
  40. size="small"
  41. @click="copyDoc"
  42. >
  43. 复制新单
  44. </el-button>
  45. <el-button
  46. class="el-button--small-yh"
  47. type="primary"
  48. :disabled="loadingBtn || detailData.status == 1"
  49. size="small"
  50. @click="editCustomer"
  51. >保存数据
  52. </el-button>
  53. </div>
  54. </div>
  55. <div class="customer-main">
  56. <containerTitle title="基础资料"></containerTitle>
  57. <basic-container>
  58. <avue-form
  59. class="trading-form"
  60. ref="form"
  61. v-model="form"
  62. :option="option"
  63. />
  64. </basic-container>
  65. <containerTitle title="基础明细"></containerTitle>
  66. <basic-container>
  67. <avue-crud
  68. ref="crud"
  69. v-model="crudForm"
  70. :option="optionList"
  71. :data="dataList"
  72. :page.sync="page"
  73. :search.sync="search"
  74. :table-loading="loading"
  75. @current-change="currentChange"
  76. @size-change="sizeChange"
  77. @search-change="searchChange"
  78. @saveColumn="saveColumn"
  79. @refresh-change="refreshChange"
  80. @row-save="rowSave"
  81. @row-update="rowUpdate"
  82. :cell-style="cellStyle"
  83. :header-cell-class-name="headerCellClassName"
  84. >
  85. <template slot="menuLeft">
  86. <el-button
  87. type="primary"
  88. @click.stop="$refs.crud.rowAdd()"
  89. size="small"
  90. :disabled="detailData.status == 1"
  91. >新增</el-button
  92. >
  93. <el-button
  94. type="primary"
  95. size="small"
  96. @click="importExcel()"
  97. :disabled="detailData.status == 1"
  98. >导入
  99. </el-button>
  100. <el-button
  101. type="primary"
  102. size="small"
  103. @click.stop="openExport()"
  104. :disabled="detailData.status == 1"
  105. >导出
  106. </el-button>
  107. <el-button
  108. type="primary"
  109. size="small"
  110. @click.stop="calculate()"
  111. :disabled="detailData.status == 1"
  112. >重新计算
  113. </el-button>
  114. <el-button
  115. type="info"
  116. icon="el-icon-printer"
  117. size="small"
  118. :disabled="!form.id"
  119. @click.stop="openReport()"
  120. >报 表</el-button
  121. >
  122. </template>
  123. <template slot="basicsSalaryLabel">
  124. <el-tag>基础工资:</el-tag>
  125. </template>
  126. <template slot="workloadSalaryLabel">
  127. <el-tag>工作量工资:</el-tag>
  128. </template>
  129. <template slot="awardSalaryLabel">
  130. <el-tag>奖励工资:</el-tag>
  131. </template>
  132. <template slot="dutyAllowancesLabel">
  133. <el-tag>职务津贴:</el-tag>
  134. </template>
  135. <template slot="classTeacherSubsidyLabel">
  136. <el-tag>班主任津贴:</el-tag>
  137. </template>
  138. <template slot="subsidyLabel">
  139. <el-tag>补贴项:</el-tag>
  140. </template>
  141. <template slot="deductionsLabel">
  142. <el-tag>扣除项:</el-tag>
  143. </template>
  144. <template slot="salaryLabel">
  145. <el-tag>应发工资:</el-tag>
  146. </template>
  147. <template slot="fsalaryLabel">
  148. <el-tag>实发工资:</el-tag>
  149. </template>
  150. <template
  151. slot="schoolAgeSalaryForm"
  152. slot-scope="{ column, disabled }"
  153. >
  154. <el-input
  155. :disabled="disabled"
  156. :placeholder="'请输入 ' + column.label"
  157. v-model="crudForm.schoolAgeSalary"
  158. @change="salaryAdd(crudForm)"
  159. />
  160. </template>
  161. <template
  162. slot="capitalIncreaseForm"
  163. slot-scope="{ column, disabled }"
  164. >
  165. <el-input
  166. :disabled="disabled"
  167. :placeholder="'请输入 ' + column.label"
  168. v-model="crudForm.capitalIncrease"
  169. @change="salaryAdd(crudForm)"
  170. />
  171. </template>
  172. <template
  173. slot="educationSalaryForm"
  174. slot-scope="{ column, disabled }"
  175. >
  176. <el-input
  177. :disabled="disabled"
  178. :placeholder="'请输入 ' + column.label"
  179. v-model="crudForm.educationSalary"
  180. @change="salaryAdd(crudForm)"
  181. />
  182. </template>
  183. <template slot="rankSalaryForm" slot-scope="{ column, disabled }">
  184. <el-input
  185. :disabled="disabled"
  186. :placeholder="'请输入 ' + column.label"
  187. v-model="crudForm.rankSalary"
  188. @change="salaryAdd(crudForm)"
  189. />
  190. </template>
  191. <template slot="salaryBaseForm" slot-scope="{ column, disabled }">
  192. <el-input
  193. :disabled="disabled"
  194. :placeholder="'请输入 ' + column.label"
  195. v-model="crudForm.salaryBase"
  196. @change="salaryAdd(crudForm)"
  197. />
  198. </template>
  199. <template slot="salaryBaseForm" slot-scope="{ column, disabled }">
  200. <el-input
  201. :disabled="disabled"
  202. :placeholder="'请输入 ' + column.label"
  203. v-model="crudForm.salaryBase"
  204. @change="salaryAdd(crudForm)"
  205. />
  206. </template>
  207. <template
  208. slot="performanceAwardForm"
  209. slot-scope="{ column, disabled }"
  210. >
  211. <el-input
  212. :disabled="disabled"
  213. :placeholder="'请输入 ' + column.label"
  214. v-model="crudForm.performanceAward"
  215. @change="salaryAdd(crudForm)"
  216. />
  217. </template>
  218. <template slot="monthHourForm" slot-scope="{ column, disabled }">
  219. <el-input
  220. :disabled="disabled"
  221. :placeholder="'请输入 ' + column.label"
  222. v-model="crudForm.monthHour"
  223. @change="salaryAdd(crudForm)"
  224. />
  225. </template>
  226. <template
  227. slot="momthWorkloadSalaryForm"
  228. slot-scope="{ column, disabled }"
  229. >
  230. <el-input
  231. :disabled="disabled"
  232. :placeholder="'请输入 ' + column.label"
  233. v-model="crudForm.momthWorkloadSalary"
  234. @change="salaryAdd(crudForm)"
  235. />
  236. </template>
  237. <template slot="customForm" slot-scope="{ column, disabled }">
  238. <el-input
  239. :disabled="disabled"
  240. :placeholder="'请输入 ' + column.label"
  241. v-model="crudForm.custom"
  242. @change="salaryAdd(crudForm)"
  243. />
  244. </template>
  245. <template slot="customOneForm" slot-scope="{ column, disabled }">
  246. <el-input
  247. :disabled="disabled"
  248. :placeholder="'请输入 ' + column.label"
  249. v-model="crudForm.customOne"
  250. @change="salaryAdd(crudForm)"
  251. />
  252. </template>
  253. <template slot="customTwoForm" slot-scope="{ column, disabled }">
  254. <el-input
  255. :disabled="disabled"
  256. :placeholder="'请输入 ' + column.label"
  257. v-model="crudForm.customTwo"
  258. @change="salaryAdd(crudForm)"
  259. />
  260. </template>
  261. <template slot="customThreeForm" slot-scope="{ column, disabled }">
  262. <el-input
  263. :disabled="disabled"
  264. :placeholder="'请输入 ' + column.label"
  265. v-model="crudForm.customThree"
  266. @change="salaryAdd(crudForm)"
  267. />
  268. </template>
  269. <template slot="customFourForm" slot-scope="{ column, disabled }">
  270. <el-input
  271. :disabled="disabled"
  272. :placeholder="'请输入 ' + column.label"
  273. v-model="crudForm.customFour"
  274. @change="salaryAdd(crudForm)"
  275. />
  276. </template>
  277. <template slot="customFiveForm" slot-scope="{ column, disabled }">
  278. <el-input
  279. :disabled="disabled"
  280. :placeholder="'请输入 ' + column.label"
  281. v-model="crudForm.customFive"
  282. @change="salaryAdd(crudForm)"
  283. />
  284. </template>
  285. <template slot="customSixForm" slot-scope="{ column, disabled }">
  286. <el-input
  287. :disabled="disabled"
  288. :placeholder="'请输入 ' + column.label"
  289. v-model="crudForm.customSix"
  290. @change="salaryAdd(crudForm)"
  291. />
  292. </template>
  293. <template slot="customSevenForm" slot-scope="{ column, disabled }">
  294. <el-input
  295. :disabled="disabled"
  296. :placeholder="'请输入 ' + column.label"
  297. v-model="crudForm.customSeven"
  298. @change="salaryAdd(crudForm)"
  299. />
  300. </template>
  301. <template slot="customEightForm" slot-scope="{ column, disabled }">
  302. <el-input
  303. :disabled="disabled"
  304. :placeholder="'请输入 ' + column.label"
  305. v-model="crudForm.customEight"
  306. @change="salaryAdd(crudForm)"
  307. />
  308. </template>
  309. <template slot="customNineForm" slot-scope="{ column, disabled }">
  310. <el-input
  311. :disabled="disabled"
  312. :placeholder="'请输入 ' + column.label"
  313. v-model="crudForm.customNine"
  314. @change="salaryAdd(crudForm)"
  315. />
  316. </template>
  317. <!-- <template
  318. slot="vacationOvertimePayForm"
  319. slot-scope="{ column, disabled }"
  320. >
  321. <el-input
  322. :disabled="disabled"
  323. :placeholder="'请输入 ' + column.label"
  324. v-model="crudForm.vacationOvertimePay"
  325. @change="salaryAdd(crudForm)"
  326. />
  327. </template> -->
  328. <!-- <template slot="winningPrizeForm" slot-scope="{ column, disabled }">
  329. <el-input
  330. :disabled="disabled"
  331. :placeholder="'请输入 ' + column.label"
  332. v-model="crudForm.winningPrize"
  333. @change="salaryAdd(crudForm)"
  334. />
  335. </template> -->
  336. <!-- <template
  337. slot="leadingCadreSubsidyForm"
  338. slot-scope="{ column, disabled }"
  339. >
  340. <el-input
  341. :disabled="disabled"
  342. :placeholder="'请输入 ' + column.label"
  343. v-model="crudForm.leadingCadreSubsidy"
  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 slot="prepareLessonsForm" slot-scope="{ column, disabled }">
  359. <el-input
  360. :disabled="disabled"
  361. :placeholder="'请输入 ' + column.label"
  362. v-model="crudForm.prepareLessons"
  363. @change="salaryAdd(crudForm)"
  364. />
  365. </template>
  366. <template
  367. slot="leadingCadreSubsidyForm"
  368. slot-scope="{ column, disabled }"
  369. >
  370. <el-input
  371. :disabled="disabled"
  372. :placeholder="'请输入 ' + column.label"
  373. v-model="crudForm.leadingCadreSubsidy"
  374. @change="salaryAdd(crudForm)"
  375. />
  376. </template>
  377. <template
  378. slot="teachingResearchForm"
  379. slot-scope="{ column, disabled }"
  380. >
  381. <el-input
  382. :disabled="disabled"
  383. :placeholder="'请输入 ' + column.label"
  384. v-model="crudForm.teachingResearch"
  385. @change="salaryAdd(crudForm)"
  386. />
  387. </template>
  388. <template slot="classesForm" slot-scope="{ column, disabled }">
  389. <el-input
  390. :disabled="disabled"
  391. :placeholder="'请输入 ' + column.label"
  392. v-model="crudForm.classes"
  393. @change="salaryAdd(crudForm)"
  394. />
  395. </template>
  396. <template
  397. slot="classTeacherFeeForm"
  398. slot-scope="{ column, disabled }"
  399. >
  400. <el-input
  401. :disabled="disabled"
  402. :placeholder="'请输入 ' + column.label"
  403. v-model="crudForm.classTeacherFee"
  404. @change="salaryAdd(crudForm)"
  405. />
  406. </template>
  407. <template
  408. slot="reserveReplacementForm"
  409. slot-scope="{ column, disabled }"
  410. >
  411. <el-input
  412. :disabled="disabled"
  413. :placeholder="'请输入 ' + column.label"
  414. v-model="crudForm.reserveReplacement"
  415. @change="salaryAdd(crudForm)"
  416. />
  417. </template>
  418. <template slot="safetyFeesForm" slot-scope="{ column, disabled }">
  419. <el-input
  420. :disabled="disabled"
  421. :placeholder="'请输入 ' + column.label"
  422. v-model="crudForm.safetyFees"
  423. @change="salaryAdd(crudForm)"
  424. />
  425. </template>
  426. <template slot="classMinisterForm" slot-scope="{ column, disabled }">
  427. <el-input
  428. :disabled="disabled"
  429. :placeholder="'请输入 ' + column.label"
  430. v-model="crudForm.classMinister"
  431. @change="salaryAdd(crudForm)"
  432. />
  433. </template>
  434. <template
  435. slot="monthViceClassFeeForm"
  436. slot-scope="{ column, disabled }"
  437. >
  438. <el-input
  439. :disabled="disabled"
  440. :placeholder="'请输入 ' + column.label"
  441. v-model="crudForm.monthViceClassFee"
  442. @change="salaryAdd(crudForm)"
  443. />
  444. </template>
  445. <template slot="winningPrizeForm" slot-scope="{ column, disabled }">
  446. <el-input
  447. :disabled="disabled"
  448. :placeholder="'请输入 ' + column.label"
  449. v-model="crudForm.winningPrize"
  450. @change="salaryAdd(crudForm)"
  451. />
  452. </template>
  453. <template slot="newPostTrainForm" slot-scope="{ column, disabled }">
  454. <el-input
  455. :disabled="disabled"
  456. :placeholder="'请输入 ' + column.label"
  457. v-model="crudForm.newPostTrain"
  458. @change="salaryAdd(crudForm)"
  459. />
  460. </template>
  461. <template
  462. slot="vacationOvertimePayForm"
  463. slot-scope="{ column, disabled }"
  464. >
  465. <el-input
  466. :disabled="disabled"
  467. :placeholder="'请输入 ' + column.label"
  468. v-model="crudForm.vacationOvertimePay"
  469. @change="salaryAdd(crudForm)"
  470. />
  471. </template>
  472. <template
  473. slot="cadreAllowanceReservationForm"
  474. slot-scope="{ column, disabled }"
  475. >
  476. <el-input
  477. :disabled="disabled"
  478. :placeholder="'请输入 ' + column.label"
  479. v-model="crudForm.cadreAllowanceReservation"
  480. @change="salaryAdd(crudForm)"
  481. />
  482. </template>
  483. <template
  484. slot="yearDownPerformanceForm"
  485. slot-scope="{ column, disabled }"
  486. >
  487. <el-input
  488. :disabled="disabled"
  489. :placeholder="'请输入 ' + column.label"
  490. v-model="crudForm.yearDownPerformance"
  491. @change="salaryAdd(crudForm)"
  492. />
  493. </template>
  494. <template
  495. slot="yearUpPerformanceForm"
  496. slot-scope="{ column, disabled }"
  497. >
  498. <el-input
  499. :disabled="disabled"
  500. :placeholder="'请输入 ' + column.label"
  501. v-model="crudForm.yearUpPerformance"
  502. @change="salaryAdd(crudForm)"
  503. />
  504. </template>
  505. <template
  506. slot="overtimeAtWeekendForm"
  507. slot-scope="{ column, disabled }"
  508. >
  509. <el-input
  510. :disabled="disabled"
  511. :placeholder="'请输入 ' + column.label"
  512. v-model="crudForm.overtimeAtWeekend"
  513. @change="salaryAdd(crudForm)"
  514. />
  515. </template>
  516. <template
  517. slot="maternityLeaveSalaryForm"
  518. slot-scope="{ column, disabled }"
  519. >
  520. <el-input
  521. :disabled="disabled"
  522. :placeholder="'请输入 ' + column.label"
  523. v-model="crudForm.maternityLeaveSalary"
  524. @change="salaryAdd(crudForm)"
  525. />
  526. </template>
  527. <template slot="wxForm" slot-scope="{ column, disabled }">
  528. <el-input
  529. :disabled="disabled"
  530. :placeholder="'请输入 ' + column.label"
  531. v-model="crudForm.wx"
  532. @change="salaryAdd(crudForm)"
  533. />
  534. </template>
  535. <template
  536. slot="dormitoryManagementFeeForm"
  537. slot-scope="{ column, disabled }"
  538. >
  539. <el-input
  540. :disabled="disabled"
  541. :placeholder="'请输入 ' + column.label"
  542. v-model="crudForm.dormitoryManagementFee"
  543. @change="salaryAdd(crudForm)"
  544. />
  545. </template>
  546. <template slot="learningPowerForm" slot-scope="{ column, disabled }">
  547. <el-input
  548. :disabled="disabled"
  549. :placeholder="'请输入 ' + column.label"
  550. v-model="crudForm.learningPower"
  551. @change="salaryAdd(crudForm)"
  552. />
  553. </template>
  554. <template slot="telephoneBillForm" slot-scope="{ column, disabled }">
  555. <el-input
  556. :disabled="disabled"
  557. :placeholder="'请输入 ' + column.label"
  558. v-model="crudForm.telephoneBill"
  559. @change="salaryAdd(crudForm)"
  560. />
  561. </template>
  562. <template slot="inspectorFinesForm" slot-scope="{ column, disabled }">
  563. <el-input
  564. :disabled="disabled"
  565. :placeholder="'请输入 ' + column.label"
  566. v-model="crudForm.inspectorFines"
  567. @change="salaryAdd(crudForm)"
  568. />
  569. </template>
  570. <template slot="attendanceForm" slot-scope="{ column, disabled }">
  571. <el-input
  572. :disabled="disabled"
  573. :placeholder="'请输入 ' + column.label"
  574. v-model="crudForm.attendance"
  575. @change="salaryAdd(crudForm)"
  576. />
  577. </template>
  578. <template
  579. slot="childbirthAllowanceForm"
  580. slot-scope="{ column, disabled }"
  581. >
  582. <el-input
  583. :disabled="disabled"
  584. :placeholder="'请输入 ' + column.label"
  585. v-model="crudForm.childbirthAllowance"
  586. @change="salaryAdd(crudForm)"
  587. />
  588. </template>
  589. <template slot="androidItForm" slot-scope="{ column, disabled }">
  590. <el-input
  591. :disabled="disabled"
  592. :placeholder="'请输入 ' + column.label"
  593. v-model="crudForm.androidIt"
  594. @change="salaryAdd(crudForm)"
  595. />
  596. </template>
  597. <template slot="basicsSalaryForm" slot-scope="{ column, disabled }">
  598. <el-input
  599. :disabled="disabled"
  600. :placeholder="'请输入 ' + column.label"
  601. v-model="crudForm.basicsSalary"
  602. @change="salaryAdd(crudForm)"
  603. />
  604. </template>
  605. <template
  606. slot="customWorkloadSalaryForm"
  607. slot-scope="{ column, disabled }"
  608. >
  609. <el-input
  610. :disabled="disabled"
  611. :placeholder="'请输入 ' + column.label"
  612. v-model="crudForm.customWorkloadSalary"
  613. @change="salaryAdd(crudForm)"
  614. />
  615. </template>
  616. <template slot="workloadSalaryForm" slot-scope="{ column, disabled }">
  617. <el-input
  618. :disabled="disabled"
  619. :placeholder="'请输入 ' + column.label"
  620. v-model="crudForm.workloadSalary"
  621. @change="salaryAdd(crudForm)"
  622. />
  623. </template>
  624. <template
  625. slot="dailyAssessmentSalaryForm"
  626. slot-scope="{ column, disabled }"
  627. >
  628. <el-input
  629. :disabled="disabled"
  630. :placeholder="'请输入 ' + column.label"
  631. v-model="crudForm.dailyAssessmentSalary"
  632. @change="salaryAdd(crudForm)"
  633. />
  634. </template>
  635. <template slot="customAwardForm" slot-scope="{ column, disabled }">
  636. <el-input
  637. :disabled="disabled"
  638. :placeholder="'请输入 ' + column.label"
  639. v-model="crudForm.customAward"
  640. @change="salaryAdd(crudForm)"
  641. />
  642. </template>
  643. <template slot="customAwardOneForm" slot-scope="{ column, disabled }">
  644. <el-input
  645. :disabled="disabled"
  646. :placeholder="'请输入 ' + column.label"
  647. v-model="crudForm.customAwardOne"
  648. @change="salaryAdd(crudForm)"
  649. />
  650. </template>
  651. <template slot="customAwardTwoForm" slot-scope="{ column, disabled }">
  652. <el-input
  653. :disabled="disabled"
  654. :placeholder="'请输入 ' + column.label"
  655. v-model="crudForm.customAwardTwo"
  656. @change="salaryAdd(crudForm)"
  657. />
  658. </template>
  659. <template
  660. slot="customAwardThreeForm"
  661. slot-scope="{ column, disabled }"
  662. >
  663. <el-input
  664. :disabled="disabled"
  665. :placeholder="'请输入 ' + column.label"
  666. v-model="crudForm.customAwardThree"
  667. @change="salaryAdd(crudForm)"
  668. />
  669. </template>
  670. <template
  671. slot="customAwardFourForm"
  672. slot-scope="{ column, disabled }"
  673. >
  674. <el-input
  675. :disabled="disabled"
  676. :placeholder="'请输入 ' + column.label"
  677. v-model="crudForm.customAwardFour"
  678. @change="salaryAdd(crudForm)"
  679. />
  680. </template>
  681. <template
  682. slot="customAwardFiveForm"
  683. slot-scope="{ column, disabled }"
  684. >
  685. <el-input
  686. :disabled="disabled"
  687. :placeholder="'请输入 ' + column.label"
  688. v-model="crudForm.customAwardFive"
  689. @change="salaryAdd(crudForm)"
  690. />
  691. </template>
  692. <template slot="customAwardSixForm" slot-scope="{ column, disabled }">
  693. <el-input
  694. :disabled="disabled"
  695. :placeholder="'请输入 ' + column.label"
  696. v-model="crudForm.customAwardSix"
  697. @change="salaryAdd(crudForm)"
  698. />
  699. </template>
  700. <template
  701. slot="customAwardSevenForm"
  702. slot-scope="{ column, disabled }"
  703. >
  704. <el-input
  705. :disabled="disabled"
  706. :placeholder="'请输入 ' + column.label"
  707. v-model="crudForm.customAwardSeven"
  708. @change="salaryAdd(crudForm)"
  709. />
  710. </template>
  711. <template
  712. slot="customAwardEightForm"
  713. slot-scope="{ column, disabled }"
  714. >
  715. <el-input
  716. :disabled="disabled"
  717. :placeholder="'请输入 ' + column.label"
  718. v-model="crudForm.customAwardEight"
  719. @change="salaryAdd(crudForm)"
  720. />
  721. </template>
  722. <template
  723. slot="customAwardNineForm"
  724. slot-scope="{ column, disabled }"
  725. >
  726. <el-input
  727. :disabled="disabled"
  728. :placeholder="'请输入 ' + column.label"
  729. v-model="crudForm.customAwardNine"
  730. @change="salaryAdd(crudForm)"
  731. />
  732. </template>
  733. <template slot="awardSalaryForm" slot-scope="{ column, disabled }">
  734. <el-input
  735. :disabled="disabled"
  736. :placeholder="'请输入 ' + column.label"
  737. v-model="crudForm.awardSalary"
  738. @change="salaryAdd(crudForm)"
  739. />
  740. </template>
  741. <template slot="dutyAllowancesForm" slot-scope="{ column, disabled }">
  742. <el-input
  743. :disabled="disabled"
  744. :placeholder="'请输入 ' + column.label"
  745. v-model="crudForm.dutyAllowances"
  746. @change="salaryAdd(crudForm)"
  747. />
  748. </template>
  749. <template
  750. slot="classTeacherSubsidyForm"
  751. slot-scope="{ column, disabled }"
  752. >
  753. <el-input
  754. :disabled="disabled"
  755. :placeholder="'请输入 ' + column.label"
  756. v-model="crudForm.classTeacherSubsidy"
  757. @change="salaryAdd(crudForm)"
  758. />
  759. </template>
  760. <template slot="subsidyForm" slot-scope="{ column, disabled }">
  761. <el-input
  762. :disabled="disabled"
  763. :placeholder="'请输入 ' + column.label"
  764. v-model="crudForm.subsidy"
  765. @change="salaryAdd(crudForm)"
  766. />
  767. </template>
  768. <template slot="deductionsForm" slot-scope="{ column, disabled }">
  769. <el-input
  770. :disabled="disabled"
  771. :placeholder="'请输入 ' + column.label"
  772. v-model="crudForm.deductions"
  773. @change="salaryAdd(crudForm)"
  774. />
  775. </template>
  776. <template
  777. slot="insurancePersonageForm"
  778. slot-scope="{ column, disabled }"
  779. >
  780. <el-input
  781. :disabled="disabled"
  782. :placeholder="'请输入 ' + column.label"
  783. v-model="crudForm.insurancePersonage"
  784. @change="salaryAdd(crudForm)"
  785. />
  786. </template>
  787. <template
  788. slot="reservedFundsPersonageForm"
  789. slot-scope="{ column, disabled }"
  790. >
  791. <el-input
  792. :disabled="disabled"
  793. :placeholder="'请输入 ' + column.label"
  794. v-model="crudForm.reservedFundsPersonage"
  795. @change="salaryAdd(crudForm)"
  796. />
  797. </template>
  798. <template slot="salaryForm" slot-scope="{ column, disabled }">
  799. <el-input
  800. :disabled="disabled"
  801. :placeholder="'请输入 ' + column.label"
  802. v-model="crudForm.salary"
  803. @change="salaryAdd(crudForm)"
  804. />
  805. </template>
  806. <template slot="personageTaxesForm" slot-scope="{ column, disabled }">
  807. <el-input
  808. :disabled="disabled"
  809. :placeholder="'请输入 ' + column.label"
  810. v-model="crudForm.personageTaxes"
  811. @change="salaryAdd(crudForm)"
  812. />
  813. </template>
  814. <template
  815. slot="insurancePersonageForm"
  816. slot-scope="{ column, disabled }"
  817. >
  818. <el-input
  819. :disabled="disabled"
  820. :placeholder="'请输入 ' + column.label"
  821. v-model="crudForm.insurancePersonage"
  822. @change="salaryAdd(crudForm)"
  823. />
  824. </template>
  825. <template
  826. slot="reservedFundsPersonageForm"
  827. slot-scope="{ column, disabled }"
  828. >
  829. <el-input
  830. :disabled="disabled"
  831. :placeholder="'请输入 ' + column.label"
  832. v-model="crudForm.reservedFundsPersonage"
  833. @change="salaryAdd(crudForm)"
  834. />
  835. </template>
  836. <template slot-scope="{ row, index }" slot="menu">
  837. <el-button
  838. type="text"
  839. size="small"
  840. @click.stop="$refs.crud.rowEdit(row, index)"
  841. :disabled="detailData.status == 1"
  842. >
  843. {{ row.$cellEdit ? "保存" : "编辑" }}
  844. </el-button>
  845. <el-button
  846. type="text"
  847. size="small"
  848. @click.stop="rowDel(row, index)"
  849. :disabled="detailData.status == 1"
  850. >
  851. 删除
  852. </el-button>
  853. </template>
  854. </avue-crud>
  855. <el-dialog
  856. title="导入数据"
  857. append-to-body
  858. :visible.sync="excelBox"
  859. width="555px"
  860. v-dialog-drag
  861. >
  862. <avue-form
  863. :option="excelOption"
  864. v-model="excelForm"
  865. table-loading="excelLoading"
  866. :upload-after="uploadAfter"
  867. class="schoolupload"
  868. >
  869. <template slot="excelTemplate">
  870. <el-button type="primary" @click="derivation">
  871. 点击下载<i class="el-icon-download el-icon--right"></i>
  872. </el-button>
  873. </template>
  874. <template slot="date">
  875. <span>
  876. {{ time }}
  877. </span>
  878. </template>
  879. </avue-form>
  880. <p style="text-align: center;color: #DC0505">
  881. 温馨提示 第一次导入时请先下载模板
  882. </p>
  883. </el-dialog>
  884. </basic-container>
  885. <containerTitle title="导入附件记录"></containerTitle>
  886. <basic-container>
  887. <avue-crud
  888. :data="annexData"
  889. :option="annexOption"
  890. :page.sync="annexPage"
  891. :table-loading="annexLoading"
  892. @current-change="currentannexChange"
  893. @size-change="sizeannexChange"
  894. @saveColumn="saveannexColumn"
  895. @refresh-change="refreshannexChange"
  896. :cell-style="cellStyle"
  897. >
  898. <template slot-scope="{ row, index }" slot="menu">
  899. <el-button
  900. type="text"
  901. size="small"
  902. @click.stop="rowDownload(row, index)"
  903. >
  904. 下载
  905. </el-button>
  906. </template>
  907. </avue-crud>
  908. </basic-container>
  909. <report-dialog
  910. :switchDialog="switchDialog"
  911. :reportId="form.id"
  912. reportName="高中部"
  913. @onClose="onClose()"
  914. ></report-dialog>
  915. <el-dialog
  916. title="温馨提示"
  917. :visible.sync="dialogVisible"
  918. width="70%"
  919. :before-close="handleClose"
  920. append-to-body
  921. class='abnormal'
  922. >
  923. <span>
  924. <avue-crud :data="auditList" :option="auditOption">
  925. <template slot="menuLeft">
  926. <el-button type="info" size="small" @click.stop="exportAbnormal()"
  927. >导出
  928. </el-button>
  929. </template>
  930. </avue-crud></span
  931. >
  932. <span slot="footer" class="dialog-footer">
  933. <el-button @click="dialogVisible = false">关闭</el-button>
  934. </span>
  935. </el-dialog>
  936. </div>
  937. </div>
  938. </template>
  939. <script>
  940. import { getToken } from "@/util/auth";
  941. import { dateFormat } from "@/util/date";
  942. import {
  943. detail,
  944. copyDetail,
  945. submit,
  946. delItem,
  947. itemAnnex,
  948. itemDetail,
  949. pleaseCheck,
  950. calculate
  951. } from "@/api/salaryManagement/primarySchool";
  952. import { numCal } from "@/util/calculate";
  953. import { optionList, auditOption } from "./js/optionList";
  954. import reportDialog from "@/components/report-dialog/main";
  955. export default {
  956. name: "detailsPage",
  957. data() {
  958. return {
  959. time: "",
  960. dialogVisible: false,
  961. switchDialog: false,
  962. annexLoading: false,
  963. crudForm: {},
  964. excelBox: false,
  965. loading: false,
  966. allloading: false,
  967. xcelLoading: false,
  968. loadingBtn: false,
  969. excelForm: {
  970. type: "1"
  971. },
  972. excelOption: {
  973. submitBtn: false,
  974. emptyBtn: false,
  975. column: [
  976. {
  977. label: "导入类型",
  978. prop: "type",
  979. type: "select",
  980. dicUrl: "/api/blade-system/dict-biz/dictionary?code=import_type",
  981. props: {
  982. label: "dictValue",
  983. value: "dictKey"
  984. },
  985. row: true,
  986. span: 12
  987. },
  988. {
  989. label: "模板下载",
  990. prop: "excelTemplate",
  991. formslot: true,
  992. span: 10
  993. },
  994. {
  995. label: "当前时间",
  996. prop: "date",
  997. span: 13
  998. },
  999. {
  1000. label: "模板上传",
  1001. prop: "excelFile",
  1002. type: "upload",
  1003. drag: true,
  1004. loadText: "模板上传中,请稍等",
  1005. span: 24,
  1006. propsHttp: {
  1007. res: "data"
  1008. },
  1009. tip: "请上传 .xls,.xlsx 标准格式文件",
  1010. action: "/api/blade-school/salaryitem/import",
  1011. disabled: false
  1012. }
  1013. ]
  1014. },
  1015. form: {},
  1016. dataList: [],
  1017. page: {
  1018. pageSize: 20,
  1019. currentPage: 1,
  1020. total: 0,
  1021. pageSizes: [
  1022. 10,
  1023. 20,
  1024. 30,
  1025. 40,
  1026. 50,
  1027. 100,
  1028. 150,
  1029. 200,
  1030. 250,
  1031. 300,
  1032. 350,
  1033. 400,
  1034. 450,
  1035. 500
  1036. ]
  1037. },
  1038. drawer: false,
  1039. tableHeight: 0,
  1040. option: {
  1041. menuBtn: false,
  1042. labelWidth: 40,
  1043. column: [
  1044. {
  1045. label: "年",
  1046. prop: "annual",
  1047. type: "year",
  1048. valueFormat: "yyyy",
  1049. rules: [
  1050. {
  1051. required: true,
  1052. message: "",
  1053. trigger: "blur"
  1054. }
  1055. ],
  1056. span: 6,
  1057. change: ({ value }) => {
  1058. if (value) {
  1059. this.optionList.column.forEach(e => {
  1060. if (e.prop == "yearUpPerformance") {
  1061. e.label = value + "年上学期绩效";
  1062. }
  1063. if (e.prop == "yearDownPerformance") {
  1064. e.label = value + "年下学期绩效";
  1065. }
  1066. });
  1067. }
  1068. }
  1069. },
  1070. {
  1071. label: "月",
  1072. prop: "moon",
  1073. type: "select",
  1074. filterable: true,
  1075. dicUrl: "/api/blade-system/dict-biz/dictionary?code=month",
  1076. props: {
  1077. label: "dictValue",
  1078. value: "dictKey"
  1079. },
  1080. span: 6,
  1081. rules: [
  1082. {
  1083. required: true,
  1084. message: "",
  1085. trigger: "blur"
  1086. }
  1087. ],
  1088. change: ({ value }) => {
  1089. if (value) {
  1090. this.optionList.column.forEach(e => {
  1091. if (e.prop == "monthHour") {
  1092. e.label = value + "月份课时";
  1093. }
  1094. if (e.prop == "momthWorkloadSalary") {
  1095. e.label = value + "月工作量工资";
  1096. }
  1097. if (e.prop == "monthViceClassFee") {
  1098. e.label = value + "月副班费(预留补发)";
  1099. }
  1100. });
  1101. }
  1102. }
  1103. },
  1104. {
  1105. label: "人数",
  1106. prop: "personNumber",
  1107. span: 6,
  1108. disabled: true
  1109. },
  1110. {
  1111. label: "状态",
  1112. prop: "status",
  1113. type: "select",
  1114. span: 6,
  1115. props: {
  1116. label: "name",
  1117. value: "code"
  1118. },
  1119. dicData: [
  1120. {
  1121. name: "录入",
  1122. code: 0
  1123. },
  1124. {
  1125. name: "申请审批",
  1126. code: 1
  1127. },
  1128. {
  1129. name: "审批中",
  1130. code: 2
  1131. },
  1132. {
  1133. name: "审批通过",
  1134. code: 3
  1135. }
  1136. ],
  1137. disabled: true
  1138. },
  1139. {
  1140. label: "备注",
  1141. prop: "remarks",
  1142. type: "textarea",
  1143. span: 24,
  1144. minRows: 2
  1145. }
  1146. ]
  1147. },
  1148. optionList: optionList,
  1149. exportUrl: "/api/blade-school/salaryitem/export/template",
  1150. annexData: [],
  1151. annexOption: {
  1152. align: "center",
  1153. menuAlign: "center",
  1154. addBtn: false,
  1155. border: true,
  1156. index: true,
  1157. viewBtn: false,
  1158. editBtn: false,
  1159. delBtn: false,
  1160. stripe: true,
  1161. menuWidth: 100,
  1162. column: [
  1163. {
  1164. label: "文件类型",
  1165. prop: "fileType",
  1166. overHidden: true
  1167. },
  1168. {
  1169. label: "文件名",
  1170. prop: "cname",
  1171. overHidden: true
  1172. },
  1173. {
  1174. label: "创建时间",
  1175. prop: "createTime",
  1176. overHidden: true
  1177. },
  1178. {
  1179. label: "创建人",
  1180. prop: "createName",
  1181. overHidden: true
  1182. },
  1183. {
  1184. label: "备注",
  1185. prop: "remarks",
  1186. overHidden: true
  1187. }
  1188. ]
  1189. },
  1190. annexPage: {
  1191. pageSize: 10,
  1192. currentPage: 1,
  1193. total: 0,
  1194. pageSizes: [
  1195. 10,
  1196. 20,
  1197. 30,
  1198. 40,
  1199. 50,
  1200. 100,
  1201. 150,
  1202. 200,
  1203. 250,
  1204. 300,
  1205. 350,
  1206. 400,
  1207. 450,
  1208. 500
  1209. ]
  1210. },
  1211. auditList: [],
  1212. auditOption: auditOption
  1213. };
  1214. },
  1215. props: {
  1216. detailData: {
  1217. type: Object
  1218. }
  1219. },
  1220. components: {
  1221. reportDialog
  1222. },
  1223. created() {
  1224. if (this.detailData.id) {
  1225. this.getDetail(this.detailData.id);
  1226. }
  1227. if (this.detailData.status == 1) {
  1228. this.option.disabled = true;
  1229. }
  1230. this.optionList.height = 450;
  1231. this.annexOption.height = 450;
  1232. this.auditOption.height = 600;
  1233. },
  1234. methods: {
  1235. getTime() {
  1236. setInterval(() => {
  1237. this.time = dateFormat(new Date());
  1238. }, 1000);
  1239. },
  1240. cellStyle() {
  1241. return "padding:0;height:40px;";
  1242. },
  1243. headerCellClassName({ row, column, rowIndex, columnIndex }) {
  1244. if (
  1245. column.property == "salaryBase" ||
  1246. column.property == "workloadSalary" ||
  1247. column.property == "dailyAssessmentSalary" ||
  1248. column.property == "awardSalary" ||
  1249. column.property == "dutyAllowances" ||
  1250. column.property == "classTeacherSubsidy" ||
  1251. column.property == "subsidy" ||
  1252. column.property == "deductions" ||
  1253. column.property == "insuranceUnit" ||
  1254. column.property == "insurancePersonage" ||
  1255. column.property == "reservedFundsUnit" ||
  1256. column.property == "reservedFundsPersonage" ||
  1257. column.property == "salary" ||
  1258. column.property == "personageTaxes" ||
  1259. column.property == "fsalary"
  1260. ) {
  1261. return "headerCellClass";
  1262. }
  1263. },
  1264. copyDoc() {
  1265. this.$emit("copyOrder", this.form.id);
  1266. },
  1267. getDetail(id) {
  1268. if (this.detailData.status == "copy") {
  1269. this.allloading = true;
  1270. copyDetail(id)
  1271. .then(res => {
  1272. this.form = res.data.data;
  1273. this.getItemDetail();
  1274. })
  1275. .finally(() => {
  1276. this.allloading = false;
  1277. });
  1278. } else {
  1279. detail(id).then(res => {
  1280. this.form = res.data.data;
  1281. this.getItemDetail();
  1282. this.getitemAnnex();
  1283. });
  1284. }
  1285. },
  1286. getItemDetail() {
  1287. const data = {
  1288. pid: this.form.id,
  1289. ...this.search
  1290. };
  1291. this.loading = true;
  1292. itemDetail(this.page.currentPage, this.page.pageSize, data)
  1293. .then(res => {
  1294. this.dataList = res.data.data.records;
  1295. this.page.total = res.data.data.total;
  1296. })
  1297. .finally(() => {
  1298. this.loading = false;
  1299. });
  1300. },
  1301. getitemAnnex() {
  1302. const data = {
  1303. pid: this.form.id
  1304. };
  1305. this.annexLoading = true;
  1306. itemAnnex(this.annexPage.currentPage, this.annexPage.pageSize, data)
  1307. .then(res => {
  1308. this.annexData = res.data.data.records;
  1309. this.annexPage.total = res.data.data.total;
  1310. })
  1311. .finally(() => {
  1312. this.annexLoading = false;
  1313. });
  1314. },
  1315. rowSave(row, done, loading) {
  1316. if (!row.cname) {
  1317. loading();
  1318. return this.$message.error("请完善姓名");
  1319. }
  1320. if (!row.idNumber) {
  1321. loading();
  1322. return this.$message.error("请完善身份证号");
  1323. }
  1324. const arr = [];
  1325. arr.push(row);
  1326. submit({ ...this.form, salaryItemList: arr })
  1327. .then(res => {
  1328. this.$message.success("保存成功");
  1329. this.form = res.data.data;
  1330. this.getItemDetail();
  1331. done();
  1332. })
  1333. .finally(() => {
  1334. loading();
  1335. });
  1336. },
  1337. rowUpdate(row, index, done, loading) {
  1338. if (!row.cname) {
  1339. loading();
  1340. return this.$message.error("请完善姓名");
  1341. }
  1342. if (!row.idNumber) {
  1343. loading();
  1344. return this.$message.error("请完善身份证号");
  1345. }
  1346. const arr = [];
  1347. arr.push(row);
  1348. submit({ ...this.form, salaryType: "高中部", salaryItemList: arr })
  1349. .then(res => {
  1350. this.$message.success("修改成功");
  1351. this.form = res.data.data;
  1352. this.getItemDetail();
  1353. done();
  1354. })
  1355. .finally(() => {
  1356. loading();
  1357. });
  1358. },
  1359. rowCell(row, index) {
  1360. if (row.$cellEdit == true) {
  1361. if (!row.cname) {
  1362. return this.$message.error("请完善姓名");
  1363. }
  1364. if (!row.idNumber) {
  1365. return this.$message.error("请完善身份证号");
  1366. }
  1367. // if (!row.rankStandard) {
  1368. // return this.$message.error("请完善职级标准");
  1369. // }
  1370. const arr = [];
  1371. arr.push(row);
  1372. this.loading = true;
  1373. submit({ ...this.form, salaryItemList: arr })
  1374. .then(res => {
  1375. this.$message.success("保存成功");
  1376. this.form = res.data.data;
  1377. })
  1378. .finally(() => {
  1379. this.loading = false;
  1380. });
  1381. this.$set(row, "$cellEdit", false);
  1382. } else {
  1383. this.$set(row, "$cellEdit", true);
  1384. }
  1385. },
  1386. rowDel(row, index) {
  1387. this.$confirm("确定删除数据?", {
  1388. confirmButtonText: "确定",
  1389. cancelButtonText: "取消",
  1390. type: "warning"
  1391. }).then(() => {
  1392. if (row.id) {
  1393. delItem(row.id).then(res => {
  1394. this.$message({
  1395. type: "success",
  1396. message: "删除成功!"
  1397. });
  1398. this.getItemDetail();
  1399. });
  1400. } else {
  1401. this.$message({
  1402. type: "success",
  1403. message: "删除成功!"
  1404. });
  1405. this.dataList.splice(index, 1);
  1406. }
  1407. });
  1408. },
  1409. rowDownload(row) {
  1410. window.open(`${row.url}?${this.website.tokenHeader}=${getToken()}`);
  1411. },
  1412. searchChange(params, done) {
  1413. if (!this.form.id) {
  1414. done();
  1415. return this.$message.error("请保存数据");
  1416. }
  1417. this.getItemDetail();
  1418. done();
  1419. },
  1420. currentChange(val) {
  1421. this.page.currentPage = val;
  1422. this.getItemDetail();
  1423. },
  1424. sizeChange(val) {
  1425. this.page.currentPage = 1;
  1426. this.page.pageSize = val;
  1427. this.getItemDetail();
  1428. },
  1429. refreshChange() {
  1430. this.getItemDetail();
  1431. },
  1432. currentannexChange(val) {
  1433. this.annexPage.currentPage = val;
  1434. this.getitemAnnex();
  1435. },
  1436. sizeannexChange(val) {
  1437. this.annexPage.currentPage = 1;
  1438. this.annexPage.pageSize = val;
  1439. this.getitemAnnex();
  1440. },
  1441. refreshannexChange() {
  1442. this.getitemAnnex();
  1443. },
  1444. uploadAfter(res, done, loading, column) {
  1445. this.excelBox = false;
  1446. // this.$message.success("导入成功!");
  1447. this.getItemDetail();
  1448. this.getitemAnnex();
  1449. done();
  1450. },
  1451. //修改提交触发
  1452. editCustomer() {
  1453. this.$refs["form"].validate((valid, done) => {
  1454. done();
  1455. if (valid) {
  1456. for (let i = 0; i < this.dataList.length; i++) {
  1457. if (!this.dataList[i].cname) {
  1458. return this.$message.error(
  1459. "请完善第" + Number(1 + i) + "行的姓名"
  1460. );
  1461. }
  1462. if (!this.dataList[i].idNumber) {
  1463. return this.$message.error(
  1464. "请完善第" + Number(1 + i) + "行的身份证号"
  1465. );
  1466. }
  1467. if (!this.dataList[i].rankStandard) {
  1468. return this.$message.error(
  1469. "请完善第" + Number(1 + i) + "行的职级标准"
  1470. );
  1471. }
  1472. }
  1473. this.loadingBtn = true;
  1474. submit({
  1475. ...this.form,
  1476. salaryType: "高中部",
  1477. salaryItemList: this.dataList
  1478. })
  1479. .then(res => {
  1480. this.$message.success("保存成功");
  1481. this.form = res.data.data;
  1482. this.getItemDetail();
  1483. })
  1484. .finally(() => {
  1485. this.loadingBtn = false;
  1486. });
  1487. } else {
  1488. return false;
  1489. }
  1490. });
  1491. },
  1492. derivation() {
  1493. if (!this.excelForm.type) {
  1494. return this.$message.error("请选择导入类型");
  1495. }
  1496. if (!this.exportUrl) {
  1497. return this.$message.error("暂无模板文件");
  1498. }
  1499. window.open(
  1500. `${this.exportUrl}?${this.website.tokenHeader}=${getToken()}`
  1501. );
  1502. },
  1503. openExport() {
  1504. if (!this.form.id) {
  1505. return this.$message.error("请先保存数据");
  1506. }
  1507. window.open(
  1508. `/api/blade-school/salaryitem/export/teacher?${
  1509. this.website.tokenHeader
  1510. }=${getToken()}&pid=${this.form.id}`
  1511. );
  1512. },
  1513. calculate() {
  1514. if (!this.form.id) {
  1515. return this.$message.error("请先保存数据");
  1516. }
  1517. this.loading = true;
  1518. calculate({ pid: this.form.id })
  1519. .then(res => {
  1520. if (res.data.code == "200") {
  1521. this.getItemDetail();
  1522. }
  1523. })
  1524. .finally(() => {
  1525. this.loading = false;
  1526. });
  1527. },
  1528. importExcel() {
  1529. if (!this.form.id) {
  1530. return this.$message.error("请先保存数据");
  1531. }
  1532. this.excelOption.column.forEach(e => {
  1533. if (e.prop == "excelFile") {
  1534. e.data = {
  1535. id: this.form.id
  1536. };
  1537. }
  1538. });
  1539. this.excelBox = true;
  1540. this.getTime();
  1541. },
  1542. //导出全部
  1543. exportAll() {
  1544. let opt = {
  1545. title: "工资条",
  1546. column: this.optionList.column,
  1547. data: this.dataList
  1548. };
  1549. this.$Export.excel({
  1550. title: opt.title,
  1551. columns: opt.column,
  1552. data: opt.data
  1553. });
  1554. },
  1555. salaryAdd(row) {
  1556. // 1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
  1557. row.basicsSalary =
  1558. numCal(row.schoolAgeSalary) +
  1559. numCal(row.capitalIncrease) +
  1560. numCal(row.educationSalary) +
  1561. numCal(row.rankSalary) +
  1562. numCal(row.salaryBase) +
  1563. numCal(row.performanceAward);
  1564. // 2. 工作量工资 = V51(工作量工资)+..自定义
  1565. row.workloadSalary =
  1566. numCal(row.monthHour) +
  1567. numCal(row.momthWorkloadSalary) +
  1568. numCal(row.customWorkloadSalary) +
  1569. numCal(row.custom) +
  1570. numCal(row.customOne) +
  1571. numCal(row.customTwo) +
  1572. numCal(row.customThree) +
  1573. numCal(row.customFour) +
  1574. numCal(row.customFive) +
  1575. numCal(row.customSix) +
  1576. numCal(row.customSeven) +
  1577. numCal(row.customEight) +
  1578. numCal(row.customNine);
  1579. // 3. 奖励工资 = 自定义+...+自定义
  1580. row.awardSalary =
  1581. numCal(row.customAward) +
  1582. numCal(row.customAwardOne) +
  1583. numCal(row.customAwardTwo) +
  1584. numCal(row.customAwardThree) +
  1585. numCal(row.customAwardFour) +
  1586. numCal(row.customAwardFive) +
  1587. numCal(row.customAwardSix) +
  1588. numCal(row.customAwardSeven) +
  1589. numCal(row.customAwardEight) +
  1590. numCal(row.customAwardNine);
  1591. // 4. 职务津贴 = AM46(备课组长)+AL46(领导干部补贴)+AN46(教研组长)
  1592. row.dutyAllowances =
  1593. numCal(row.prepareLessons) +
  1594. numCal(row.leadingCadreSubsidy) +
  1595. numCal(row.teachingResearch);
  1596. // 5. 班主任津贴 = AQ47(班额)+AP47(班主任费)
  1597. row.classTeacherSubsidy =
  1598. numCal(row.classes) + numCal(row.classTeacherFee);
  1599. // 6. 补贴项 = =BE49(预留补发)+BD49(餐车、周五测温、周五安全岗(预留补发))+BC49(9月副班费(预留补发))+BB49(级部长(预留发放))+BA49(期中期末考试学科优胜奖(预留发放))+AZ49(新岗岗前培训)+AY49(假期加班费)+AX49(干部补贴预留)+AW49(2020年下学期绩效)+AV49(2020年上学期绩效)+AU49(周末加班(提取))+AT49(产假工资)+AS49(微信)
  1600. row.subsidy =
  1601. numCal(row.reserveReplacement) +
  1602. numCal(row.safetyFees) +
  1603. numCal(row.monthViceClassFee) +
  1604. numCal(row.classMinister) +
  1605. numCal(row.monthViceClassFee) +
  1606. numCal(row.winningPrize) +
  1607. numCal(row.newPostTrain) +
  1608. numCal(row.vacationOvertimePay) +
  1609. numCal(row.cadreAllowanceReservation) +
  1610. numCal(row.yearDownPerformance) +
  1611. numCal(row.yearUpPerformance) +
  1612. numCal(row.overtimeAtWeekend) +
  1613. numCal(row.maternityLeaveSalary) +
  1614. numCal(row.wx);
  1615. // 7. 扣除项 = =BL47(宿舍管理费)+BK47(学习强国)+BJ47(电话费)+BI47(督查罚款)+BH47(出勤)+BM47(生育津贴)+BN47(五险一金个人)
  1616. row.deductions =
  1617. numCal(row.dormitoryManagementFee) +
  1618. numCal(row.learningPower) +
  1619. numCal(row.telephoneBill) +
  1620. numCal(row.inspectorFines) +
  1621. numCal(row.attendance) +
  1622. numCal(row.childbirthAllowance) +
  1623. numCal(row.androidIt);
  1624. // 8. 应发工资 = S153(基础工资)+Z153(工作量工资)+AB153(日常考核工资)+AK153(奖励工资)+AO153(职务津贴)+AR153(班主任津贴)+BG153(补贴项)-BO153(扣除项)+BQ153(保险个人)+BS153(公积金个人)
  1625. row.salary =
  1626. numCal(row.basicsSalary) +
  1627. numCal(row.workloadSalary) +
  1628. numCal(row.dailyAssessmentSalary) +
  1629. numCal(row.awardSalary) +
  1630. numCal(row.dutyAllowances) +
  1631. numCal(row.classTeacherSubsidy) +
  1632. numCal(row.subsidy) -
  1633. numCal(row.deductions) +
  1634. numCal(row.insurancePersonage) +
  1635. numCal(row.reservedFundsPersonage);
  1636. // 9. 实发工资 = BT153(应发工资) - BU153(个税)-BQ153(保险个人)-BS153(公积金个人)
  1637. row.fsalary =
  1638. numCal(row.salary) -
  1639. numCal(row.personageTaxes) -
  1640. numCal(row.insurancePersonage) -
  1641. numCal(row.reservedFundsPersonage);
  1642. },
  1643. //导出工资条
  1644. exportSalary() {
  1645. let data = [];
  1646. for (let item in this.optionList.column) {
  1647. switch (this.optionList.column[item].prop) {
  1648. case "salaryBase":
  1649. data.push(this.optionList.column[item]);
  1650. break;
  1651. case "workloadSalary":
  1652. data.push(this.optionList.column[item]);
  1653. break;
  1654. case "dailyAssessmentSalary":
  1655. data.push(this.optionList.column[item]);
  1656. break;
  1657. case "awardSalary":
  1658. data.push(this.optionList.column[item]);
  1659. break;
  1660. case "dutyAllowances":
  1661. data.push(this.optionList.column[item]);
  1662. break;
  1663. case "classTeacherSubsidy":
  1664. data.push(this.optionList.column[item]);
  1665. break;
  1666. case "subsidy":
  1667. data.push(this.optionList.column[item]);
  1668. break;
  1669. case "deductions":
  1670. data.push(this.optionList.column[item]);
  1671. break;
  1672. case "insuranceUnit":
  1673. data.push(this.optionList.column[item]);
  1674. break;
  1675. case "insurancePersonage":
  1676. data.push(this.optionList.column[item]);
  1677. break;
  1678. case "reservedFundsUnit":
  1679. data.push(this.optionList.column[item]);
  1680. break;
  1681. case "reservedFundsPersonage":
  1682. data.push(this.optionList.column[item]);
  1683. break;
  1684. case "salary":
  1685. data.push(this.optionList.column[item]);
  1686. break;
  1687. case "personageTaxes":
  1688. data.push(this.optionList.column[item]);
  1689. break;
  1690. case "fsalary":
  1691. data.push(this.optionList.column[item]);
  1692. break;
  1693. }
  1694. }
  1695. let opt = {
  1696. title: "工资条",
  1697. column: data,
  1698. data: this.dataList
  1699. };
  1700. this.$Export.excel({
  1701. title: opt.title,
  1702. columns: opt.column,
  1703. data: opt.data
  1704. });
  1705. },
  1706. openEdit() {
  1707. const data = {
  1708. moduleName: "gzb",
  1709. tableName: "primary_school",
  1710. billId: this.form.id,
  1711. no: localStorage.getItem("browserID"),
  1712. billNo: this.form.annual + "-" + this.form.moon
  1713. };
  1714. this.inDetailsKey(this.$route.name, {
  1715. moduleName: "gzb",
  1716. tableName: "primary_school",
  1717. billId: this.form.id,
  1718. billNo: this.form.annual + "-" + this.form.moon
  1719. });
  1720. this.checkLock(data).then(res => {
  1721. if (res.data.code == 200) {
  1722. this.onLock(data);
  1723. this.detailData.status = 2;
  1724. this.option = this.$options.data().option;
  1725. }
  1726. });
  1727. },
  1728. openReport() {
  1729. this.switchDialog = !this.switchDialog;
  1730. },
  1731. onClose(val) {
  1732. this.switchDialog = val;
  1733. },
  1734. // 请核
  1735. pleaseCheck() {
  1736. this.$confirm("您确定提交此次申请吗?", {
  1737. confirmButtonText: "确定",
  1738. cancelButtonText: "取消",
  1739. type: "warning"
  1740. }).then(() => {
  1741. const data = {
  1742. id: this.form.id,
  1743. checkType: "xsgz",
  1744. url: "/salaryManagement/primarySchool/index",
  1745. pageStatus: "this.$store.getters.domSaleStatus",
  1746. pageLabel: "高中部",
  1747. checkFlag: 2
  1748. };
  1749. pleaseCheck(data).then(res => {
  1750. if (res.data.msg == "请核失败") {
  1751. this.dialogVisible = true;
  1752. this.auditList = res.data.data;
  1753. } else {
  1754. this.$message.success("请核成功");
  1755. this.detailData.status = 1;
  1756. this.option.disabled = true;
  1757. this.getDetail(this.form.id);
  1758. }
  1759. });
  1760. });
  1761. },
  1762. handleClose() {
  1763. this.auditList = [];
  1764. this.dialogVisible = false
  1765. },
  1766. exportAbnormal() {
  1767. window.open(
  1768. `/api//blade-school/salaryitem/export/exception?${
  1769. this.website.tokenHeader
  1770. }=${getToken()}&pid=${this.form.id}`
  1771. );
  1772. },
  1773. //返回列表
  1774. backToList() {
  1775. if (this.form.id) {
  1776. this.unLock({
  1777. moduleName: "gzb",
  1778. tableName: "primary_school",
  1779. billId: this.form.id,
  1780. billNo: this.form.annual + "-" + this.form.moon
  1781. });
  1782. }
  1783. this.$emit("goBack");
  1784. this.leaveDetailsKey(this.$route.name);
  1785. }
  1786. },
  1787. watch: {
  1788. "excelForm.type": function(val) {
  1789. if (val) {
  1790. switch (val) {
  1791. case "1":
  1792. this.exportUrl = "/api/blade-school/salaryitem/export/template";
  1793. this.findObject(this.excelOption.column, "excelFile").action =
  1794. "/api/blade-school/salaryitem/import";
  1795. this.findObject(
  1796. this.excelOption.column,
  1797. "excelFile"
  1798. ).disabled = false;
  1799. break;
  1800. case "2":
  1801. this.exportUrl = "/api/blade-school/salaryitem/export/employ";
  1802. this.findObject(this.excelOption.column, "excelFile").action =
  1803. "/api/blade-school/salaryitem/import/employ";
  1804. this.findObject(
  1805. this.excelOption.column,
  1806. "excelFile"
  1807. ).disabled = false;
  1808. break;
  1809. case "3":
  1810. this.exportUrl =
  1811. "/api/blade-school/salaryitem/export/workloadExcel";
  1812. this.findObject(this.excelOption.column, "excelFile").action =
  1813. "/api/blade-school/salaryitem/import/workloadExcel";
  1814. this.findObject(
  1815. this.excelOption.column,
  1816. "excelFile"
  1817. ).disabled = false;
  1818. break;
  1819. case "4":
  1820. this.exportUrl =
  1821. "/api/blade-school/salaryitem/export/postAllowance";
  1822. this.findObject(this.excelOption.column, "excelFile").action =
  1823. "/api/blade-school/salaryitem/import/postAllowance";
  1824. this.findObject(
  1825. this.excelOption.column,
  1826. "excelFile"
  1827. ).disabled = false;
  1828. break;
  1829. case "5":
  1830. this.exportUrl =
  1831. "/api/blade-school/salaryitem/export/teacherSubsidy";
  1832. this.findObject(this.excelOption.column, "excelFile").action =
  1833. "/api/blade-school/salaryitem/import/teacherSubsidy";
  1834. this.findObject(
  1835. this.excelOption.column,
  1836. "excelFile"
  1837. ).disabled = false;
  1838. break;
  1839. case "6":
  1840. this.exportUrl = "/api/blade-school/salaryitem/export/position";
  1841. this.findObject(this.excelOption.column, "excelFile").action =
  1842. "/api/blade-school/salaryitem/import/position";
  1843. this.findObject(
  1844. this.excelOption.column,
  1845. "excelFile"
  1846. ).disabled = false;
  1847. break;
  1848. case "7":
  1849. this.exportUrl = "/api/blade-school/salaryitem/export/zhaPingExcel";
  1850. this.findObject(this.excelOption.column, "excelFile").action =
  1851. "/api/blade-school/salaryitem/import/zhaPingExcel";
  1852. this.findObject(
  1853. this.excelOption.column,
  1854. "excelFile"
  1855. ).disabled = false;
  1856. break;
  1857. case "9":
  1858. this.exportUrl = "/api/blade-school/salaryitem/export/overtime";
  1859. this.findObject(this.excelOption.column, "excelFile").action =
  1860. "/api/blade-school/salaryitem/import/overtime";
  1861. this.findObject(
  1862. this.excelOption.column,
  1863. "excelFile"
  1864. ).disabled = false;
  1865. break;
  1866. case "10":
  1867. this.exportUrl = "/api/blade-school/salaryitem/export/weChat";
  1868. this.findObject(this.excelOption.column, "excelFile").action =
  1869. "/api/blade-school/salaryitem/import/weChat";
  1870. this.findObject(
  1871. this.excelOption.column,
  1872. "excelFile"
  1873. ).disabled = false;
  1874. break;
  1875. case "11":
  1876. this.exportUrl = "/api/blade-school/salaryitem/export/power";
  1877. this.findObject(this.excelOption.column, "excelFile").action =
  1878. "/api/blade-school/salaryitem/import/power";
  1879. this.findObject(
  1880. this.excelOption.column,
  1881. "excelFile"
  1882. ).disabled = false;
  1883. break;
  1884. case "12":
  1885. this.exportUrl = "/api/blade-school/salaryitem/export/phoneFine";
  1886. this.findObject(this.excelOption.column, "excelFile").action =
  1887. "/api/blade-school/salaryitem/import/phoneFine";
  1888. this.findObject(
  1889. this.excelOption.column,
  1890. "excelFile"
  1891. ).disabled = false;
  1892. break;
  1893. case "13":
  1894. this.exportUrl =
  1895. "/api/blade-school/salaryitem/export/sanitationFee";
  1896. this.findObject(this.excelOption.column, "excelFile").action =
  1897. "/api/blade-school/salaryitem/import/sanitationFee";
  1898. this.findObject(
  1899. this.excelOption.column,
  1900. "excelFile"
  1901. ).disabled = false;
  1902. break;
  1903. case "14":
  1904. this.exportUrl =
  1905. "/api/blade-school/salaryitem/export/insuranceExcel";
  1906. this.findObject(this.excelOption.column, "excelFile").action =
  1907. "/api/blade-school/salaryitem/import/insuranceExcel";
  1908. this.findObject(
  1909. this.excelOption.column,
  1910. "excelFile"
  1911. ).disabled = false;
  1912. break;
  1913. case "15":
  1914. this.exportUrl =
  1915. "/api/blade-school/salaryitem/export/reservedFunds";
  1916. this.findObject(this.excelOption.column, "excelFile").action =
  1917. "/api/blade-school/salaryitem/import/reservedFunds";
  1918. this.findObject(
  1919. this.excelOption.column,
  1920. "excelFile"
  1921. ).disabled = false;
  1922. break;
  1923. case "16":
  1924. this.exportUrl =
  1925. "/api/blade-school/salaryitem/export/personalInsurance";
  1926. this.findObject(this.excelOption.column, "excelFile").action =
  1927. "/api/blade-school/salaryitem/import/personalInsurance";
  1928. this.findObject(
  1929. this.excelOption.column,
  1930. "excelFile"
  1931. ).disabled = false;
  1932. break;
  1933. case "17":
  1934. this.exportUrl =
  1935. "/api/blade-school/salaryitem/export/attendanceExcel";
  1936. this.findObject(this.excelOption.column, "excelFile").action =
  1937. "/api/blade-school/salaryitem/import/attendanceExcel";
  1938. this.findObject(
  1939. this.excelOption.column,
  1940. "excelFile"
  1941. ).disabled = false;
  1942. break;
  1943. case "18":
  1944. this.exportUrl =
  1945. "/api/blade-school/salaryitem/export/eomNumberExcel";
  1946. this.findObject(this.excelOption.column, "excelFile").action =
  1947. "/api/blade-school/salaryitem/import/eomNumberExcel";
  1948. this.findObject(
  1949. this.excelOption.column,
  1950. "excelFile"
  1951. ).disabled = false;
  1952. break;
  1953. case "19":
  1954. this.exportUrl = "/api/blade-school/salaryitem/export/payTaxes";
  1955. this.findObject(this.excelOption.column, "excelFile").action =
  1956. "/api/blade-school/salaryitem/import/payTaxes";
  1957. this.findObject(
  1958. this.excelOption.column,
  1959. "excelFile"
  1960. ).disabled = false;
  1961. break;
  1962. case "20":
  1963. this.exportUrl = "/api/blade-school/salaryitem/export/awardExcel";
  1964. this.findObject(this.excelOption.column, "excelFile").action =
  1965. "/api/blade-school/salaryitem/import/awardExcel";
  1966. this.findObject(
  1967. this.excelOption.column,
  1968. "excelFile"
  1969. ).disabled = false;
  1970. break;
  1971. case "21":
  1972. this.exportUrl =
  1973. "/api/blade-school/salaryitem/export/performanceExcel";
  1974. this.findObject(this.excelOption.column, "excelFile").action =
  1975. "/api/blade-school/salaryitem/import/performanceExcel";
  1976. this.findObject(
  1977. this.excelOption.column,
  1978. "excelFile"
  1979. ).disabled = false;
  1980. break;
  1981. case "22":
  1982. this.exportUrl =
  1983. "/api/blade-school/salaryitem/export/vacationExcel";
  1984. this.findObject(this.excelOption.column, "excelFile").action =
  1985. "/api/blade-school/salaryitem/import/vacationExcel";
  1986. this.findObject(
  1987. this.excelOption.column,
  1988. "excelFile"
  1989. ).disabled = false;
  1990. break;
  1991. case "23":
  1992. this.exportUrl =
  1993. "/api/blade-school/salaryitem/export/postTrainExcel";
  1994. this.findObject(this.excelOption.column, "excelFile").action =
  1995. "/api/blade-school/salaryitem/import/postTrainExcel";
  1996. this.findObject(
  1997. this.excelOption.column,
  1998. "excelFile"
  1999. ).disabled = false;
  2000. break;
  2001. case "24":
  2002. this.exportUrl = "/api/blade-school/salaryitem/export/leadExcel";
  2003. this.findObject(this.excelOption.column, "excelFile").action =
  2004. "/api/blade-school/salaryitem/import/leadExcel";
  2005. this.findObject(
  2006. this.excelOption.column,
  2007. "excelFile"
  2008. ).disabled = false;
  2009. break;
  2010. case "25":
  2011. this.exportUrl =
  2012. "/api/blade-school/salaryitem/export/teamLeaderExcel";
  2013. this.findObject(this.excelOption.column, "excelFile").action =
  2014. "/api/blade-school/salaryitem/import/teamLeaderExcel";
  2015. this.findObject(
  2016. this.excelOption.column,
  2017. "excelFile"
  2018. ).disabled = false;
  2019. break;
  2020. case "26":
  2021. this.exportUrl =
  2022. "/api/blade-school/salaryitem/export/prepareLessonsExcel";
  2023. this.findObject(this.excelOption.column, "excelFile").action =
  2024. "/api/blade-school/salaryitem/import/prepareLessonsExcel";
  2025. this.findObject(
  2026. this.excelOption.column,
  2027. "excelFile"
  2028. ).disabled = false;
  2029. break;
  2030. case "28":
  2031. this.exportUrl =
  2032. "/api/blade-school/salaryitem/export/teachingExcel";
  2033. this.findObject(this.excelOption.column, "excelFile").action =
  2034. "/api/blade-school/salaryitem/import/teachingExcel";
  2035. this.findObject(
  2036. this.excelOption.column,
  2037. "excelFile"
  2038. ).disabled = false;
  2039. break;
  2040. default:
  2041. this.findObject(
  2042. this.excelOption.column,
  2043. "excelFile"
  2044. ).disabled = true;
  2045. this.exportUrl = "";
  2046. }
  2047. } else {
  2048. this.findObject(this.excelOption.column, "excelFile").disabled = true;
  2049. }
  2050. }
  2051. }
  2052. };
  2053. </script>
  2054. <style>
  2055. .headerCellClass {
  2056. color: #fff !important;
  2057. background: #a4cf57 !important;
  2058. }
  2059. </style>
  2060. <style lang="scss" scoped>
  2061. .trading-form ::v-deep .el-form-item {
  2062. margin-bottom: 4px !important;
  2063. }
  2064. ::v-deep .el-form-item__error {
  2065. display: none !important;
  2066. }
  2067. .schoolupload ::v-deep .el-upload-list {
  2068. display: none;
  2069. }
  2070. .abnormal ::v-deep .el-dialog__body {
  2071. padding: 10px 20px;
  2072. }
  2073. </style>