detailsPage.vue 70 KB

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