detailsPage.vue 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142
  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, index) {
  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. if (!this.form.id) {
  1570. return this.$message.error("请先保存数据");
  1571. }
  1572. this.loading = true;
  1573. calculate2({ pid: this.form.id })
  1574. .then(res => {
  1575. if (res.data.code == "200") {
  1576. this.getItemDetail();
  1577. }
  1578. })
  1579. .finally(() => {
  1580. this.loading = false;
  1581. });
  1582. },
  1583. importExcel() {
  1584. if (!this.form.id) {
  1585. return this.$message.error("请先保存数据");
  1586. }
  1587. this.excelOption.column.forEach(e => {
  1588. if (e.prop == "excelFile") {
  1589. e.data = {
  1590. id: this.form.id
  1591. };
  1592. }
  1593. });
  1594. this.excelBox = true;
  1595. this.getTime();
  1596. },
  1597. //导出全部
  1598. exportAll() {
  1599. let opt = {
  1600. title: "工资条",
  1601. column: this.optionList.column,
  1602. data: this.dataList
  1603. };
  1604. this.$Export.excel({
  1605. title: opt.title,
  1606. columns: opt.column,
  1607. data: opt.data
  1608. });
  1609. },
  1610. salaryAdd(row) {
  1611. // 1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
  1612. row.basicsSalary =
  1613. numCal(row.schoolAgeSalary) +
  1614. numCal(row.capitalIncrease) +
  1615. numCal(row.educationSalary) +
  1616. numCal(row.rankSalary) +
  1617. numCal(row.salaryBase) +
  1618. numCal(row.performanceAward);
  1619. // 2. 工作量工资 = V51(工作量工资)+..自定义
  1620. row.workloadSalary =
  1621. numCal(row.monthHour) +
  1622. numCal(row.momthWorkloadSalary) +
  1623. numCal(row.customWorkloadSalary) +
  1624. numCal(row.custom) +
  1625. numCal(row.customOne) +
  1626. numCal(row.customTwo) +
  1627. numCal(row.customThree) +
  1628. numCal(row.customFour) +
  1629. numCal(row.customFive) +
  1630. numCal(row.customSix) +
  1631. numCal(row.customSeven) +
  1632. numCal(row.customEight) +
  1633. numCal(row.customNine);
  1634. // 3. 奖励工资 = 自定义+...+自定义
  1635. row.awardSalary =
  1636. numCal(row.customAward) +
  1637. numCal(row.customAwardOne) +
  1638. numCal(row.customAwardTwo) +
  1639. numCal(row.customAwardThree) +
  1640. numCal(row.customAwardFour) +
  1641. numCal(row.customAwardFive) +
  1642. numCal(row.customAwardSix) +
  1643. numCal(row.customAwardSeven) +
  1644. numCal(row.customAwardEight) +
  1645. numCal(row.customAwardNine);
  1646. // 4. 职务津贴 = AM46(备课组长)+AL46(领导干部补贴)+AN46(教研组长)
  1647. row.dutyAllowances =
  1648. numCal(row.prepareLessons) +
  1649. numCal(row.leadingCadreSubsidy) +
  1650. numCal(row.teachingResearch);
  1651. // 5. 班主任津贴 = AQ47(班额)+AP47(班主任费)
  1652. row.classTeacherSubsidy =
  1653. numCal(row.classes) + numCal(row.classTeacherFee);
  1654. // 6. 补贴项 = =BE49(预留补发)+BD49(餐车、周五测温、周五安全岗(预留补发))+BC49(9月副班费(预留补发))+BB49(级部长(预留发放))+BA49(期中期末考试学科优胜奖(预留发放))+AZ49(新岗岗前培训)+AY49(假期加班费)+AX49(干部补贴预留)+AW49(2020年下学期绩效)+AV49(2020年上学期绩效)+AU49(周末加班(提取))+AT49(产假工资)+AS49(微信)
  1655. row.subsidy =
  1656. numCal(row.reserveReplacement) +
  1657. numCal(row.safetyFees) +
  1658. numCal(row.monthViceClassFee) +
  1659. numCal(row.classMinister) +
  1660. numCal(row.monthViceClassFee) +
  1661. numCal(row.winningPrize) +
  1662. numCal(row.newPostTrain) +
  1663. numCal(row.vacationOvertimePay) +
  1664. numCal(row.cadreAllowanceReservation) +
  1665. numCal(row.yearDownPerformance) +
  1666. numCal(row.yearUpPerformance) +
  1667. numCal(row.overtimeAtWeekend) +
  1668. numCal(row.maternityLeaveSalary) +
  1669. numCal(row.wx);
  1670. // 7. 扣除项 = =BL47(宿舍管理费)+BK47(学习强国)+BJ47(电话费)+BI47(督查罚款)+BH47(出勤)+BM47(生育津贴)+BN47(五险一金个人)
  1671. row.deductions =
  1672. numCal(row.dormitoryManagementFee) +
  1673. numCal(row.learningPower) +
  1674. numCal(row.telephoneBill) +
  1675. numCal(row.inspectorFines) +
  1676. numCal(row.attendance) +
  1677. numCal(row.childbirthAllowance) +
  1678. numCal(row.androidIt);
  1679. // 8. 应发工资 = S153(基础工资)+Z153(工作量工资)+AB153(日常考核工资)+AK153(奖励工资)+AO153(职务津贴)+AR153(班主任津贴)+BG153(补贴项)-BO153(扣除项)+BQ153(保险个人)+BS153(公积金个人)
  1680. row.salary =
  1681. numCal(row.basicsSalary) +
  1682. numCal(row.workloadSalary) +
  1683. numCal(row.dailyAssessmentSalary) +
  1684. numCal(row.awardSalary) +
  1685. numCal(row.dutyAllowances) +
  1686. numCal(row.classTeacherSubsidy) +
  1687. numCal(row.subsidy) -
  1688. numCal(row.deductions) +
  1689. numCal(row.insurancePersonage) +
  1690. numCal(row.reservedFundsPersonage);
  1691. // 9. 实发工资 = BT153(应发工资) - BU153(个税)-BQ153(保险个人)-BS153(公积金个人)
  1692. row.fsalary =
  1693. numCal(row.salary) -
  1694. numCal(row.personageTaxes) -
  1695. numCal(row.insurancePersonage) -
  1696. numCal(row.reservedFundsPersonage);
  1697. },
  1698. //导出工资条
  1699. exportSalary() {
  1700. let data = [];
  1701. for (let item in this.optionList.column) {
  1702. switch (this.optionList.column[item].prop) {
  1703. case "salaryBase":
  1704. data.push(this.optionList.column[item]);
  1705. break;
  1706. case "workloadSalary":
  1707. data.push(this.optionList.column[item]);
  1708. break;
  1709. case "dailyAssessmentSalary":
  1710. data.push(this.optionList.column[item]);
  1711. break;
  1712. case "awardSalary":
  1713. data.push(this.optionList.column[item]);
  1714. break;
  1715. case "dutyAllowances":
  1716. data.push(this.optionList.column[item]);
  1717. break;
  1718. case "classTeacherSubsidy":
  1719. data.push(this.optionList.column[item]);
  1720. break;
  1721. case "subsidy":
  1722. data.push(this.optionList.column[item]);
  1723. break;
  1724. case "deductions":
  1725. data.push(this.optionList.column[item]);
  1726. break;
  1727. case "insuranceUnit":
  1728. data.push(this.optionList.column[item]);
  1729. break;
  1730. case "insurancePersonage":
  1731. data.push(this.optionList.column[item]);
  1732. break;
  1733. case "reservedFundsUnit":
  1734. data.push(this.optionList.column[item]);
  1735. break;
  1736. case "reservedFundsPersonage":
  1737. data.push(this.optionList.column[item]);
  1738. break;
  1739. case "salary":
  1740. data.push(this.optionList.column[item]);
  1741. break;
  1742. case "personageTaxes":
  1743. data.push(this.optionList.column[item]);
  1744. break;
  1745. case "fsalary":
  1746. data.push(this.optionList.column[item]);
  1747. break;
  1748. }
  1749. }
  1750. let opt = {
  1751. title: "工资条",
  1752. column: data,
  1753. data: this.dataList
  1754. };
  1755. this.$Export.excel({
  1756. title: opt.title,
  1757. columns: opt.column,
  1758. data: opt.data
  1759. });
  1760. },
  1761. openEdit() {
  1762. const data = {
  1763. moduleName: "czb",
  1764. tableName: "primary_school",
  1765. billId: this.form.id,
  1766. no: localStorage.getItem("browserID"),
  1767. billNo: this.form.annual + "-" + this.form.moon
  1768. };
  1769. this.inDetailsKey(this.$route.name, {
  1770. moduleName: "czb",
  1771. tableName: "primary_school",
  1772. billId: this.form.id,
  1773. billNo: this.form.annual + "-" + this.form.moon
  1774. });
  1775. this.checkLock(data).then(res => {
  1776. if (res.data.code == 200) {
  1777. this.onLock(data).then(res => {
  1778. if (res.data.code == 200) {
  1779. this.detailData.status = 2;
  1780. this.option = this.$options.data().option;
  1781. }
  1782. });
  1783. }
  1784. });
  1785. },
  1786. openReport() {
  1787. this.switchDialog = !this.switchDialog;
  1788. },
  1789. onClose(val) {
  1790. this.switchDialog = val;
  1791. },
  1792. // 请核
  1793. pleaseCheck() {
  1794. this.$confirm("您确定提交此次申请吗?", {
  1795. confirmButtonText: "确定",
  1796. cancelButtonText: "取消",
  1797. type: "warning"
  1798. }).then(() => {
  1799. const data = {
  1800. id: this.form.id,
  1801. checkType: "czgz",
  1802. url: "/salaryManagement/juniorhighSchool/index",
  1803. pageStatus: "this.$store.getters.domSaleStatus",
  1804. pageLabel: "初中部",
  1805. checkFlag: 2
  1806. };
  1807. pleaseCheck(data).then(res => {
  1808. if (res.data.msg == "请核失败") {
  1809. this.dialogVisible = true;
  1810. this.auditList = res.data.data;
  1811. } else {
  1812. this.$message.success("请核成功");
  1813. this.detailData.status = 1;
  1814. this.option.disabled = true;
  1815. this.getDetail(this.form.id);
  1816. }
  1817. });
  1818. });
  1819. },
  1820. handleClose() {
  1821. this.auditList = [];
  1822. this.dialogVisible = false;
  1823. },
  1824. exportAbnormal() {
  1825. window.open(
  1826. `/api//blade-school/salaryitem/export/exception?${
  1827. this.website.tokenHeader
  1828. }=${getToken()}&pid=${this.form.id}`
  1829. );
  1830. },
  1831. //返回列表
  1832. backToList() {
  1833. if (this.form.id) {
  1834. this.unLock({
  1835. moduleName: "czb",
  1836. tableName: "primary_school",
  1837. billId: this.form.id,
  1838. billNo: this.form.annual + "-" + this.form.moon
  1839. });
  1840. }
  1841. this.$emit("goBack");
  1842. this.leaveDetailsKey(this.$route.name);
  1843. }
  1844. },
  1845. watch: {
  1846. "excelForm.type": function(val) {
  1847. if (val) {
  1848. switch (val) {
  1849. case "1":
  1850. this.exportUrl = "/api/blade-school/salaryitem/export/template";
  1851. this.findObject(this.excelOption.column, "excelFile").action =
  1852. "/api/blade-school/salaryitem/import";
  1853. this.findObject(
  1854. this.excelOption.column,
  1855. "excelFile"
  1856. ).disabled = false;
  1857. break;
  1858. case "2":
  1859. this.exportUrl = "/api/blade-school/salaryitem/export/employ";
  1860. this.findObject(this.excelOption.column, "excelFile").action =
  1861. "/api/blade-school/salaryitem/import/employ";
  1862. this.findObject(
  1863. this.excelOption.column,
  1864. "excelFile"
  1865. ).disabled = false;
  1866. break;
  1867. case "3":
  1868. this.exportUrl =
  1869. "/api/blade-school/salaryitem/export/workloadExcel";
  1870. this.findObject(this.excelOption.column, "excelFile").action =
  1871. "/api/blade-school/salaryitem/import/workloadExcel";
  1872. this.findObject(
  1873. this.excelOption.column,
  1874. "excelFile"
  1875. ).disabled = false;
  1876. break;
  1877. case "4":
  1878. this.exportUrl =
  1879. "/api/blade-school/salaryitem/export/postAllowance";
  1880. this.findObject(this.excelOption.column, "excelFile").action =
  1881. "/api/blade-school/salaryitem/import/postAllowance";
  1882. this.findObject(
  1883. this.excelOption.column,
  1884. "excelFile"
  1885. ).disabled = false;
  1886. break;
  1887. case "5":
  1888. this.exportUrl =
  1889. "/api/blade-school/salaryitem/export/teacherSubsidy";
  1890. this.findObject(this.excelOption.column, "excelFile").action =
  1891. "/api/blade-school/salaryitem/import/teacherSubsidy";
  1892. this.findObject(
  1893. this.excelOption.column,
  1894. "excelFile"
  1895. ).disabled = false;
  1896. break;
  1897. case "6":
  1898. this.exportUrl = "/api/blade-school/salaryitem/export/position";
  1899. this.findObject(this.excelOption.column, "excelFile").action =
  1900. "/api/blade-school/salaryitem/import/position";
  1901. this.findObject(
  1902. this.excelOption.column,
  1903. "excelFile"
  1904. ).disabled = false;
  1905. break;
  1906. case "7":
  1907. this.exportUrl = "/api/blade-school/salaryitem/export/zhaPingExcel";
  1908. this.findObject(this.excelOption.column, "excelFile").action =
  1909. "/api/blade-school/salaryitem/import/zhaPingExcel";
  1910. this.findObject(
  1911. this.excelOption.column,
  1912. "excelFile"
  1913. ).disabled = false;
  1914. break;
  1915. case "9":
  1916. this.exportUrl = "/api/blade-school/salaryitem/export/overtime";
  1917. this.findObject(this.excelOption.column, "excelFile").action =
  1918. "/api/blade-school/salaryitem/import/overtime";
  1919. this.findObject(
  1920. this.excelOption.column,
  1921. "excelFile"
  1922. ).disabled = false;
  1923. break;
  1924. case "10":
  1925. this.exportUrl = "/api/blade-school/salaryitem/export/weChat";
  1926. this.findObject(this.excelOption.column, "excelFile").action =
  1927. "/api/blade-school/salaryitem/import/weChat";
  1928. this.findObject(
  1929. this.excelOption.column,
  1930. "excelFile"
  1931. ).disabled = false;
  1932. break;
  1933. case "11":
  1934. this.exportUrl = "/api/blade-school/salaryitem/export/power";
  1935. this.findObject(this.excelOption.column, "excelFile").action =
  1936. "/api/blade-school/salaryitem/import/power";
  1937. this.findObject(
  1938. this.excelOption.column,
  1939. "excelFile"
  1940. ).disabled = false;
  1941. break;
  1942. case "12":
  1943. this.exportUrl = "/api/blade-school/salaryitem/export/phoneFine";
  1944. this.findObject(this.excelOption.column, "excelFile").action =
  1945. "/api/blade-school/salaryitem/import/phoneFine";
  1946. this.findObject(
  1947. this.excelOption.column,
  1948. "excelFile"
  1949. ).disabled = false;
  1950. break;
  1951. case "13":
  1952. this.exportUrl =
  1953. "/api/blade-school/salaryitem/export/sanitationFee";
  1954. this.findObject(this.excelOption.column, "excelFile").action =
  1955. "/api/blade-school/salaryitem/import/sanitationFee";
  1956. this.findObject(
  1957. this.excelOption.column,
  1958. "excelFile"
  1959. ).disabled = false;
  1960. break;
  1961. case "14":
  1962. this.exportUrl =
  1963. "/api/blade-school/salaryitem/export/insuranceExcel";
  1964. this.findObject(this.excelOption.column, "excelFile").action =
  1965. "/api/blade-school/salaryitem/import/insuranceExcel";
  1966. this.findObject(
  1967. this.excelOption.column,
  1968. "excelFile"
  1969. ).disabled = false;
  1970. break;
  1971. case "15":
  1972. this.exportUrl =
  1973. "/api/blade-school/salaryitem/export/reservedFunds";
  1974. this.findObject(this.excelOption.column, "excelFile").action =
  1975. "/api/blade-school/salaryitem/import/reservedFunds";
  1976. this.findObject(
  1977. this.excelOption.column,
  1978. "excelFile"
  1979. ).disabled = false;
  1980. break;
  1981. case "16":
  1982. this.exportUrl =
  1983. "/api/blade-school/salaryitem/export/personalInsurance";
  1984. this.findObject(this.excelOption.column, "excelFile").action =
  1985. "/api/blade-school/salaryitem/import/personalInsurance";
  1986. this.findObject(
  1987. this.excelOption.column,
  1988. "excelFile"
  1989. ).disabled = false;
  1990. break;
  1991. case "17":
  1992. this.exportUrl =
  1993. "/api/blade-school/salaryitem/export/attendanceExcel";
  1994. this.findObject(this.excelOption.column, "excelFile").action =
  1995. "/api/blade-school/salaryitem/import/attendanceExcel";
  1996. this.findObject(
  1997. this.excelOption.column,
  1998. "excelFile"
  1999. ).disabled = false;
  2000. break;
  2001. case "18":
  2002. this.exportUrl =
  2003. "/api/blade-school/salaryitem/export/eomNumberExcel";
  2004. this.findObject(this.excelOption.column, "excelFile").action =
  2005. "/api/blade-school/salaryitem/import/eomNumberExcel";
  2006. this.findObject(
  2007. this.excelOption.column,
  2008. "excelFile"
  2009. ).disabled = false;
  2010. break;
  2011. case "19":
  2012. this.exportUrl = "/api/blade-school/salaryitem/export/payTaxes";
  2013. this.findObject(this.excelOption.column, "excelFile").action =
  2014. "/api/blade-school/salaryitem/import/payTaxes";
  2015. this.findObject(
  2016. this.excelOption.column,
  2017. "excelFile"
  2018. ).disabled = false;
  2019. break;
  2020. case "20":
  2021. this.exportUrl = "/api/blade-school/salaryitem/export/awardExcel";
  2022. this.findObject(this.excelOption.column, "excelFile").action =
  2023. "/api/blade-school/salaryitem/import/awardExcel";
  2024. this.findObject(
  2025. this.excelOption.column,
  2026. "excelFile"
  2027. ).disabled = false;
  2028. break;
  2029. case "21":
  2030. this.exportUrl =
  2031. "/api/blade-school/salaryitem/export/performanceExcel";
  2032. this.findObject(this.excelOption.column, "excelFile").action =
  2033. "/api/blade-school/salaryitem/import/performanceExcel";
  2034. this.findObject(
  2035. this.excelOption.column,
  2036. "excelFile"
  2037. ).disabled = false;
  2038. break;
  2039. case "22":
  2040. this.exportUrl =
  2041. "/api/blade-school/salaryitem/export/vacationExcel";
  2042. this.findObject(this.excelOption.column, "excelFile").action =
  2043. "/api/blade-school/salaryitem/import/vacationExcel";
  2044. this.findObject(
  2045. this.excelOption.column,
  2046. "excelFile"
  2047. ).disabled = false;
  2048. break;
  2049. case "23":
  2050. this.exportUrl =
  2051. "/api/blade-school/salaryitem/export/postTrainExcel";
  2052. this.findObject(this.excelOption.column, "excelFile").action =
  2053. "/api/blade-school/salaryitem/import/postTrainExcel";
  2054. this.findObject(
  2055. this.excelOption.column,
  2056. "excelFile"
  2057. ).disabled = false;
  2058. break;
  2059. case "24":
  2060. this.exportUrl = "/api/blade-school/salaryitem/export/leadExcel";
  2061. this.findObject(this.excelOption.column, "excelFile").action =
  2062. "/api/blade-school/salaryitem/import/leadExcel";
  2063. this.findObject(
  2064. this.excelOption.column,
  2065. "excelFile"
  2066. ).disabled = false;
  2067. break;
  2068. case "25":
  2069. this.exportUrl =
  2070. "/api/blade-school/salaryitem/export/teamLeaderExcel";
  2071. this.findObject(this.excelOption.column, "excelFile").action =
  2072. "/api/blade-school/salaryitem/import/teamLeaderExcel";
  2073. this.findObject(
  2074. this.excelOption.column,
  2075. "excelFile"
  2076. ).disabled = false;
  2077. break;
  2078. case "26":
  2079. this.exportUrl =
  2080. "/api/blade-school/salaryitem/export/prepareLessonsExcel";
  2081. this.findObject(this.excelOption.column, "excelFile").action =
  2082. "/api/blade-school/salaryitem/import/prepareLessonsExcel";
  2083. this.findObject(
  2084. this.excelOption.column,
  2085. "excelFile"
  2086. ).disabled = false;
  2087. break;
  2088. case "28":
  2089. this.exportUrl =
  2090. "/api/blade-school/salaryitem/export/teachingExcel";
  2091. this.findObject(this.excelOption.column, "excelFile").action =
  2092. "/api/blade-school/salaryitem/import/teachingExcel";
  2093. this.findObject(
  2094. this.excelOption.column,
  2095. "excelFile"
  2096. ).disabled = false;
  2097. break;
  2098. default:
  2099. this.findObject(
  2100. this.excelOption.column,
  2101. "excelFile"
  2102. ).disabled = true;
  2103. this.exportUrl = "";
  2104. }
  2105. } else {
  2106. this.findObject(this.excelOption.column, "excelFile").disabled = true;
  2107. }
  2108. }
  2109. }
  2110. };
  2111. </script>
  2112. <style>
  2113. .headerCellClass {
  2114. color: #fff !important;
  2115. background: #a4cf57 !important;
  2116. }
  2117. .headerCellClass2 {
  2118. color: #fff !important;
  2119. background: #a0cfff !important;
  2120. }
  2121. </style>
  2122. <style lang="scss" scoped>
  2123. .trading-form ::v-deep .el-form-item {
  2124. margin-bottom: 4px !important;
  2125. }
  2126. ::v-deep .el-form-item__error {
  2127. display: none !important;
  2128. }
  2129. .schoolupload ::v-deep .el-upload-list {
  2130. display: none;
  2131. }
  2132. .abnormal ::v-deep .el-dialog__body {
  2133. padding: 10px 20px;
  2134. }
  2135. </style>