detailsPage.vue 67 KB

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