detailsPage.vue 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112
  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. if (
  1263. column.property == "salaryWithdrawalStandard" ||
  1264. column.property == "rankWithdrawalStandard" ||
  1265. column.property == "dailyAssessmentSalary" ||
  1266. column.property == "rankStandard" ||
  1267. column.property == "salaryBaseName" ||
  1268. column.property == "workloadSalaryCritertion" ||
  1269. column.property == "virtualWorkloadSalary" ||
  1270. column.property == "doubleCease" ||
  1271. column.property == "dailyAssessmentCriteria" ||
  1272. column.property == "virtualDailyAssessmentCriteria" ||
  1273. column.property == "termPerformanceSalaryName"||
  1274. column.property == "salaryWithdrawalStandard"||
  1275. column.property == "rankWithdrawalStandard"||
  1276. column.property == "rankStandard"||
  1277. column.property == "salaryBaseName"||
  1278. column.property == "workloadSalaryCritertion"||
  1279. column.property == "virtualWorkloadSalary"||
  1280. column.property == "doubleCease"||
  1281. column.property == "dailyAssessmentCriteria"||
  1282. column.property == "virtualDailyAssessmentCriteria"||
  1283. column.property == "otherCriterion"
  1284. ) {
  1285. return "headerCellClass2";
  1286. }
  1287. },
  1288. copyDoc() {
  1289. this.$emit("copyOrder", this.form.id);
  1290. },
  1291. getDetail(id) {
  1292. if (this.detailData.status == "copy") {
  1293. this.allloading = true;
  1294. copyDetail(id)
  1295. .then(res => {
  1296. this.form = res.data.data;
  1297. this.getItemDetail();
  1298. })
  1299. .finally(() => {
  1300. this.allloading = false;
  1301. });
  1302. } else {
  1303. detail(id).then(res => {
  1304. this.form = res.data.data;
  1305. this.getItemDetail();
  1306. this.getitemAnnex();
  1307. });
  1308. }
  1309. },
  1310. getItemDetail() {
  1311. const data = {
  1312. pid: this.form.id,
  1313. ...this.search
  1314. };
  1315. this.loading = true;
  1316. itemDetail(this.page.currentPage, this.page.pageSize, data)
  1317. .then(res => {
  1318. this.dataList = res.data.data.records;
  1319. this.page.total = res.data.data.total;
  1320. })
  1321. .finally(() => {
  1322. this.loading = false;
  1323. });
  1324. },
  1325. getitemAnnex() {
  1326. const data = {
  1327. pid: this.form.id
  1328. };
  1329. this.annexLoading = true;
  1330. itemAnnex(this.annexPage.currentPage, this.annexPage.pageSize, data)
  1331. .then(res => {
  1332. this.annexData = res.data.data.records;
  1333. this.annexPage.total = res.data.data.total;
  1334. })
  1335. .finally(() => {
  1336. this.annexLoading = false;
  1337. });
  1338. },
  1339. rowSave(row, done, loading) {
  1340. if (!row.cname) {
  1341. loading();
  1342. return this.$message.error("请完善姓名");
  1343. }
  1344. if (!row.idNumber) {
  1345. loading();
  1346. return this.$message.error("请完善身份证号");
  1347. }
  1348. const arr = [];
  1349. arr.push(row);
  1350. submit({ ...this.form, salaryItemList: arr })
  1351. .then(res => {
  1352. this.$message.success("保存成功");
  1353. this.form = res.data.data;
  1354. this.getItemDetail();
  1355. done();
  1356. })
  1357. .finally(() => {
  1358. loading();
  1359. });
  1360. },
  1361. rowUpdate(row, index, done, loading) {
  1362. if (!row.cname) {
  1363. loading();
  1364. return this.$message.error("请完善姓名");
  1365. }
  1366. if (!row.idNumber) {
  1367. loading();
  1368. return this.$message.error("请完善身份证号");
  1369. }
  1370. const arr = [];
  1371. arr.push(row);
  1372. submit({ ...this.form, salaryType: "小学部", salaryItemList: arr })
  1373. .then(res => {
  1374. this.$message.success("修改成功");
  1375. this.form = res.data.data;
  1376. this.getItemDetail();
  1377. done();
  1378. })
  1379. .finally(() => {
  1380. loading();
  1381. });
  1382. },
  1383. rowCell(row, index) {
  1384. if (row.$cellEdit == true) {
  1385. if (!row.cname) {
  1386. return this.$message.error("请完善姓名");
  1387. }
  1388. if (!row.idNumber) {
  1389. return this.$message.error("请完善身份证号");
  1390. }
  1391. // if (!row.rankStandard) {
  1392. // return this.$message.error("请完善职级标准");
  1393. // }
  1394. const arr = [];
  1395. arr.push(row);
  1396. this.loading = true;
  1397. submit({ ...this.form, salaryItemList: arr })
  1398. .then(res => {
  1399. this.$message.success("保存成功");
  1400. this.form = res.data.data;
  1401. })
  1402. .finally(() => {
  1403. this.loading = false;
  1404. });
  1405. this.$set(row, "$cellEdit", false);
  1406. } else {
  1407. this.$set(row, "$cellEdit", true);
  1408. }
  1409. },
  1410. rowDel(row) {
  1411. this.$confirm("确定删除数据?", {
  1412. confirmButtonText: "确定",
  1413. cancelButtonText: "取消",
  1414. type: "warning"
  1415. }).then(() => {
  1416. if (row.id) {
  1417. delItem(row.id).then(res => {
  1418. this.$message({
  1419. type: "success",
  1420. message: "删除成功!"
  1421. });
  1422. this.getItemDetail();
  1423. });
  1424. } else {
  1425. this.$message({
  1426. type: "success",
  1427. message: "删除成功!"
  1428. });
  1429. this.dataList.splice(row.$index, 1);
  1430. }
  1431. });
  1432. },
  1433. rowDownload(row) {
  1434. window.open(`${row.url}?${this.website.tokenHeader}=${getToken()}`);
  1435. },
  1436. searchChange(params, done) {
  1437. if (!this.form.id) {
  1438. done();
  1439. return this.$message.error("请保存数据");
  1440. }
  1441. this.getItemDetail();
  1442. done();
  1443. },
  1444. currentChange(val) {
  1445. this.page.currentPage = val;
  1446. this.getItemDetail();
  1447. },
  1448. sizeChange(val) {
  1449. this.page.currentPage = 1;
  1450. this.page.pageSize = val;
  1451. this.getItemDetail();
  1452. },
  1453. refreshChange() {
  1454. this.getItemDetail();
  1455. },
  1456. currentannexChange(val) {
  1457. this.annexPage.currentPage = val;
  1458. this.getitemAnnex();
  1459. },
  1460. sizeannexChange(val) {
  1461. this.annexPage.currentPage = 1;
  1462. this.annexPage.pageSize = val;
  1463. this.getitemAnnex();
  1464. },
  1465. refreshannexChange() {
  1466. this.getitemAnnex();
  1467. },
  1468. uploadAfter(res, done, loading, column) {
  1469. this.excelBox = false;
  1470. // this.$message.success("导入成功!");
  1471. this.getItemDetail();
  1472. this.getitemAnnex();
  1473. done();
  1474. },
  1475. //修改提交触发
  1476. editCustomer() {
  1477. this.$refs["form"].validate((valid, done) => {
  1478. done();
  1479. if (valid) {
  1480. for (let i = 0; i < this.dataList.length; i++) {
  1481. if (!this.dataList[i].cname) {
  1482. return this.$message.error(
  1483. "请完善第" + Number(1 + i) + "行的姓名"
  1484. );
  1485. }
  1486. if (!this.dataList[i].idNumber) {
  1487. return this.$message.error(
  1488. "请完善第" + Number(1 + i) + "行的身份证号"
  1489. );
  1490. }
  1491. if (!this.dataList[i].rankStandard) {
  1492. return this.$message.error(
  1493. "请完善第" + Number(1 + i) + "行的职级标准"
  1494. );
  1495. }
  1496. }
  1497. this.loadingBtn = true;
  1498. submit({
  1499. ...this.form,
  1500. salaryType: "小学部",
  1501. salaryItemList: this.dataList
  1502. })
  1503. .then(res => {
  1504. this.$message.success("保存成功");
  1505. this.form = res.data.data;
  1506. this.getItemDetail();
  1507. })
  1508. .finally(() => {
  1509. this.loadingBtn = false;
  1510. });
  1511. } else {
  1512. return false;
  1513. }
  1514. });
  1515. },
  1516. derivation() {
  1517. if (!this.excelForm.type) {
  1518. return this.$message.error("请选择导入类型");
  1519. }
  1520. if (!this.exportUrl) {
  1521. return this.$message.error("暂无模板文件");
  1522. }
  1523. window.open(
  1524. `${this.exportUrl}?${this.website.tokenHeader}=${getToken()}`
  1525. );
  1526. },
  1527. openExport() {
  1528. if (!this.form.id) {
  1529. return this.$message.error("请先保存数据");
  1530. }
  1531. window.open(
  1532. `/api/blade-school/salaryitem/export/teacher?${
  1533. this.website.tokenHeader
  1534. }=${getToken()}&pid=${this.form.id}`
  1535. );
  1536. },
  1537. calculate() {
  1538. if (!this.form.id) {
  1539. return this.$message.error("请先保存数据");
  1540. }
  1541. this.loading = true;
  1542. calculate({ pid: this.form.id })
  1543. .then(res => {
  1544. if (res.data.code == "200") {
  1545. this.getItemDetail();
  1546. }
  1547. })
  1548. .finally(() => {
  1549. this.loading = false;
  1550. });
  1551. },
  1552. importExcel() {
  1553. if (!this.form.id) {
  1554. return this.$message.error("请先保存数据");
  1555. }
  1556. this.excelOption.column.forEach(e => {
  1557. if (e.prop == "excelFile") {
  1558. e.data = {
  1559. id: this.form.id
  1560. };
  1561. }
  1562. });
  1563. this.excelBox = true;
  1564. this.getTime();
  1565. },
  1566. //导出全部
  1567. exportAll() {
  1568. let opt = {
  1569. title: "工资条",
  1570. column: this.optionList.column,
  1571. data: this.dataList
  1572. };
  1573. this.$Export.excel({
  1574. title: opt.title,
  1575. columns: opt.column,
  1576. data: opt.data
  1577. });
  1578. },
  1579. salaryAdd(row) {
  1580. // 1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
  1581. row.basicsSalary =
  1582. numCal(row.schoolAgeSalary) +
  1583. numCal(row.capitalIncrease) +
  1584. numCal(row.educationSalary) +
  1585. numCal(row.rankSalary) +
  1586. numCal(row.salaryBase) +
  1587. numCal(row.performanceAward);
  1588. // 2. 工作量工资 = V51(工作量工资)+..自定义
  1589. row.workloadSalary =
  1590. numCal(row.monthHour) +
  1591. numCal(row.momthWorkloadSalary) +
  1592. numCal(row.customWorkloadSalary) +
  1593. numCal(row.custom) +
  1594. numCal(row.customOne) +
  1595. numCal(row.customTwo) +
  1596. numCal(row.customThree) +
  1597. numCal(row.customFour) +
  1598. numCal(row.customFive) +
  1599. numCal(row.customSix) +
  1600. numCal(row.customSeven) +
  1601. numCal(row.customEight) +
  1602. numCal(row.customNine);
  1603. // 3. 奖励工资 = 自定义+...+自定义
  1604. row.awardSalary =
  1605. numCal(row.customAward) +
  1606. numCal(row.customAwardOne) +
  1607. numCal(row.customAwardTwo) +
  1608. numCal(row.customAwardThree) +
  1609. numCal(row.customAwardFour) +
  1610. numCal(row.customAwardFive) +
  1611. numCal(row.customAwardSix) +
  1612. numCal(row.customAwardSeven) +
  1613. numCal(row.customAwardEight) +
  1614. numCal(row.customAwardNine);
  1615. // 4. 职务津贴 = AM46(备课组长)+AL46(领导干部补贴)+AN46(教研组长)
  1616. row.dutyAllowances =
  1617. numCal(row.prepareLessons) +
  1618. numCal(row.leadingCadreSubsidy) +
  1619. numCal(row.teachingResearch);
  1620. // 5. 班主任津贴 = AQ47(班额)+AP47(班主任费)
  1621. row.classTeacherSubsidy =
  1622. numCal(row.classes) + numCal(row.classTeacherFee);
  1623. // 6. 补贴项 = =BE49(预留补发)+BD49(餐车、周五测温、周五安全岗(预留补发))+BC49(9月副班费(预留补发))+BB49(级部长(预留发放))+BA49(期中期末考试学科优胜奖(预留发放))+AZ49(新岗岗前培训)+AY49(假期加班费)+AX49(干部补贴预留)+AW49(2020年下学期绩效)+AV49(2020年上学期绩效)+AU49(周末加班(提取))+AT49(产假工资)+AS49(微信)
  1624. row.subsidy =
  1625. numCal(row.reserveReplacement) +
  1626. numCal(row.safetyFees) +
  1627. numCal(row.monthViceClassFee) +
  1628. numCal(row.classMinister) +
  1629. numCal(row.monthViceClassFee) +
  1630. numCal(row.winningPrize) +
  1631. numCal(row.newPostTrain) +
  1632. numCal(row.vacationOvertimePay) +
  1633. numCal(row.cadreAllowanceReservation) +
  1634. numCal(row.yearDownPerformance) +
  1635. numCal(row.yearUpPerformance) +
  1636. numCal(row.overtimeAtWeekend) +
  1637. numCal(row.maternityLeaveSalary) +
  1638. numCal(row.wx);
  1639. // 7. 扣除项 = =BL47(宿舍管理费)+BK47(学习强国)+BJ47(电话费)+BI47(督查罚款)+BH47(出勤)+BM47(生育津贴)+BN47(五险一金个人)
  1640. row.deductions =
  1641. numCal(row.dormitoryManagementFee) +
  1642. numCal(row.learningPower) +
  1643. numCal(row.telephoneBill) +
  1644. numCal(row.inspectorFines) +
  1645. numCal(row.attendance) +
  1646. numCal(row.childbirthAllowance) +
  1647. numCal(row.androidIt);
  1648. // 8. 应发工资 = S153(基础工资)+Z153(工作量工资)+AB153(日常考核工资)+AK153(奖励工资)+AO153(职务津贴)+AR153(班主任津贴)+BG153(补贴项)-BO153(扣除项)+BQ153(保险个人)+BS153(公积金个人)
  1649. row.salary =
  1650. numCal(row.basicsSalary) +
  1651. numCal(row.workloadSalary) +
  1652. numCal(row.dailyAssessmentSalary) +
  1653. numCal(row.awardSalary) +
  1654. numCal(row.dutyAllowances) +
  1655. numCal(row.classTeacherSubsidy) +
  1656. numCal(row.subsidy) -
  1657. numCal(row.deductions) +
  1658. numCal(row.insurancePersonage) +
  1659. numCal(row.reservedFundsPersonage);
  1660. // 9. 实发工资 = BT153(应发工资) - BU153(个税)-BQ153(保险个人)-BS153(公积金个人)
  1661. row.fsalary =
  1662. numCal(row.salary) -
  1663. numCal(row.personageTaxes) -
  1664. numCal(row.insurancePersonage) -
  1665. numCal(row.reservedFundsPersonage);
  1666. },
  1667. //导出工资条
  1668. exportSalary() {
  1669. let data = [];
  1670. for (let item in this.optionList.column) {
  1671. switch (this.optionList.column[item].prop) {
  1672. case "salaryBase":
  1673. data.push(this.optionList.column[item]);
  1674. break;
  1675. case "workloadSalary":
  1676. data.push(this.optionList.column[item]);
  1677. break;
  1678. case "dailyAssessmentSalary":
  1679. data.push(this.optionList.column[item]);
  1680. break;
  1681. case "awardSalary":
  1682. data.push(this.optionList.column[item]);
  1683. break;
  1684. case "dutyAllowances":
  1685. data.push(this.optionList.column[item]);
  1686. break;
  1687. case "classTeacherSubsidy":
  1688. data.push(this.optionList.column[item]);
  1689. break;
  1690. case "subsidy":
  1691. data.push(this.optionList.column[item]);
  1692. break;
  1693. case "deductions":
  1694. data.push(this.optionList.column[item]);
  1695. break;
  1696. case "insuranceUnit":
  1697. data.push(this.optionList.column[item]);
  1698. break;
  1699. case "insurancePersonage":
  1700. data.push(this.optionList.column[item]);
  1701. break;
  1702. case "reservedFundsUnit":
  1703. data.push(this.optionList.column[item]);
  1704. break;
  1705. case "reservedFundsPersonage":
  1706. data.push(this.optionList.column[item]);
  1707. break;
  1708. case "salary":
  1709. data.push(this.optionList.column[item]);
  1710. break;
  1711. case "personageTaxes":
  1712. data.push(this.optionList.column[item]);
  1713. break;
  1714. case "fsalary":
  1715. data.push(this.optionList.column[item]);
  1716. break;
  1717. }
  1718. }
  1719. let opt = {
  1720. title: "工资条",
  1721. column: data,
  1722. data: this.dataList
  1723. };
  1724. this.$Export.excel({
  1725. title: opt.title,
  1726. columns: opt.column,
  1727. data: opt.data
  1728. });
  1729. },
  1730. openEdit() {
  1731. const data = {
  1732. moduleName: "xxb",
  1733. tableName: "primary_school",
  1734. billId: this.form.id,
  1735. no: localStorage.getItem("browserID"),
  1736. billNo: this.form.annual + "-" + this.form.moon
  1737. };
  1738. this.inDetailsKey(this.$route.name, {
  1739. moduleName: "xxb",
  1740. tableName: "primary_school",
  1741. billId: this.form.id,
  1742. billNo: this.form.annual + "-" + this.form.moon
  1743. });
  1744. this.checkLock(data).then(res => {
  1745. if (res.data.code == 200) {
  1746. this.onLock(data).then(res => {
  1747. if (res.data.code == 200) {
  1748. this.detailData.status = 2;
  1749. this.option = this.$options.data().option;
  1750. }
  1751. });
  1752. }
  1753. });
  1754. },
  1755. openReport() {
  1756. this.switchDialog = !this.switchDialog;
  1757. },
  1758. onClose(val) {
  1759. this.switchDialog = val;
  1760. },
  1761. // 请核
  1762. pleaseCheck() {
  1763. this.$confirm("您确定提交此次申请吗?", {
  1764. confirmButtonText: "确定",
  1765. cancelButtonText: "取消",
  1766. type: "warning"
  1767. }).then(() => {
  1768. const data = {
  1769. id: this.form.id,
  1770. checkType: "xsgz",
  1771. url: "/salaryManagement/primarySchool/index",
  1772. pageStatus: "this.$store.getters.domSaleStatus",
  1773. pageLabel: "小学部",
  1774. checkFlag: 2
  1775. };
  1776. pleaseCheck(data).then(res => {
  1777. if (res.data.msg == "请核失败") {
  1778. this.dialogVisible = true;
  1779. this.auditList = res.data.data;
  1780. } else {
  1781. this.$message.success("请核成功");
  1782. this.detailData.status = 1;
  1783. this.option.disabled = true;
  1784. this.getDetail(this.form.id);
  1785. }
  1786. });
  1787. });
  1788. },
  1789. handleClose() {
  1790. this.auditList = [];
  1791. this.dialogVisible = false;
  1792. },
  1793. exportAbnormal() {
  1794. window.open(
  1795. `/api//blade-school/salaryitem/export/exception?${
  1796. this.website.tokenHeader
  1797. }=${getToken()}&pid=${this.form.id}`
  1798. );
  1799. },
  1800. //返回列表
  1801. backToList() {
  1802. if (this.form.id) {
  1803. this.unLock({
  1804. moduleName: "xxb",
  1805. tableName: "primary_school",
  1806. billId: this.form.id,
  1807. billNo: this.form.annual + "-" + this.form.moon
  1808. });
  1809. }
  1810. this.$emit("goBack");
  1811. this.leaveDetailsKey(this.$route.name);
  1812. }
  1813. },
  1814. watch: {
  1815. "excelForm.type": function(val) {
  1816. if (val) {
  1817. switch (val) {
  1818. case "1":
  1819. this.exportUrl = "/api/blade-school/salaryitem/export/template";
  1820. this.findObject(this.excelOption.column, "excelFile").action =
  1821. "/api/blade-school/salaryitem/import";
  1822. this.findObject(
  1823. this.excelOption.column,
  1824. "excelFile"
  1825. ).disabled = false;
  1826. break;
  1827. case "2":
  1828. this.exportUrl = "/api/blade-school/salaryitem/export/employ";
  1829. this.findObject(this.excelOption.column, "excelFile").action =
  1830. "/api/blade-school/salaryitem/import/employ";
  1831. this.findObject(
  1832. this.excelOption.column,
  1833. "excelFile"
  1834. ).disabled = false;
  1835. break;
  1836. case "3":
  1837. this.exportUrl =
  1838. "/api/blade-school/salaryitem/export/workloadExcel";
  1839. this.findObject(this.excelOption.column, "excelFile").action =
  1840. "/api/blade-school/salaryitem/import/workloadExcel";
  1841. this.findObject(
  1842. this.excelOption.column,
  1843. "excelFile"
  1844. ).disabled = false;
  1845. break;
  1846. case "4":
  1847. this.exportUrl =
  1848. "/api/blade-school/salaryitem/export/postAllowance";
  1849. this.findObject(this.excelOption.column, "excelFile").action =
  1850. "/api/blade-school/salaryitem/import/postAllowance";
  1851. this.findObject(
  1852. this.excelOption.column,
  1853. "excelFile"
  1854. ).disabled = false;
  1855. break;
  1856. case "5":
  1857. this.exportUrl =
  1858. "/api/blade-school/salaryitem/export/teacherSubsidy";
  1859. this.findObject(this.excelOption.column, "excelFile").action =
  1860. "/api/blade-school/salaryitem/import/teacherSubsidy";
  1861. this.findObject(
  1862. this.excelOption.column,
  1863. "excelFile"
  1864. ).disabled = false;
  1865. break;
  1866. case "6":
  1867. this.exportUrl = "/api/blade-school/salaryitem/export/position";
  1868. this.findObject(this.excelOption.column, "excelFile").action =
  1869. "/api/blade-school/salaryitem/import/position";
  1870. this.findObject(
  1871. this.excelOption.column,
  1872. "excelFile"
  1873. ).disabled = false;
  1874. break;
  1875. case "7":
  1876. this.exportUrl = "/api/blade-school/salaryitem/export/zhaPingExcel";
  1877. this.findObject(this.excelOption.column, "excelFile").action =
  1878. "/api/blade-school/salaryitem/import/zhaPingExcel";
  1879. this.findObject(
  1880. this.excelOption.column,
  1881. "excelFile"
  1882. ).disabled = false;
  1883. break;
  1884. case "9":
  1885. this.exportUrl = "/api/blade-school/salaryitem/export/overtime";
  1886. this.findObject(this.excelOption.column, "excelFile").action =
  1887. "/api/blade-school/salaryitem/import/overtime";
  1888. this.findObject(
  1889. this.excelOption.column,
  1890. "excelFile"
  1891. ).disabled = false;
  1892. break;
  1893. case "10":
  1894. this.exportUrl = "/api/blade-school/salaryitem/export/weChat";
  1895. this.findObject(this.excelOption.column, "excelFile").action =
  1896. "/api/blade-school/salaryitem/import/weChat";
  1897. this.findObject(
  1898. this.excelOption.column,
  1899. "excelFile"
  1900. ).disabled = false;
  1901. break;
  1902. case "11":
  1903. this.exportUrl = "/api/blade-school/salaryitem/export/power";
  1904. this.findObject(this.excelOption.column, "excelFile").action =
  1905. "/api/blade-school/salaryitem/import/power";
  1906. this.findObject(
  1907. this.excelOption.column,
  1908. "excelFile"
  1909. ).disabled = false;
  1910. break;
  1911. case "12":
  1912. this.exportUrl = "/api/blade-school/salaryitem/export/phoneFine";
  1913. this.findObject(this.excelOption.column, "excelFile").action =
  1914. "/api/blade-school/salaryitem/import/phoneFine";
  1915. this.findObject(
  1916. this.excelOption.column,
  1917. "excelFile"
  1918. ).disabled = false;
  1919. break;
  1920. case "13":
  1921. this.exportUrl =
  1922. "/api/blade-school/salaryitem/export/sanitationFee";
  1923. this.findObject(this.excelOption.column, "excelFile").action =
  1924. "/api/blade-school/salaryitem/import/sanitationFee";
  1925. this.findObject(
  1926. this.excelOption.column,
  1927. "excelFile"
  1928. ).disabled = false;
  1929. break;
  1930. case "14":
  1931. this.exportUrl =
  1932. "/api/blade-school/salaryitem/export/insuranceExcel";
  1933. this.findObject(this.excelOption.column, "excelFile").action =
  1934. "/api/blade-school/salaryitem/import/insuranceExcel";
  1935. this.findObject(
  1936. this.excelOption.column,
  1937. "excelFile"
  1938. ).disabled = false;
  1939. break;
  1940. case "15":
  1941. this.exportUrl =
  1942. "/api/blade-school/salaryitem/export/reservedFunds";
  1943. this.findObject(this.excelOption.column, "excelFile").action =
  1944. "/api/blade-school/salaryitem/import/reservedFunds";
  1945. this.findObject(
  1946. this.excelOption.column,
  1947. "excelFile"
  1948. ).disabled = false;
  1949. break;
  1950. case "16":
  1951. this.exportUrl =
  1952. "/api/blade-school/salaryitem/export/personalInsurance";
  1953. this.findObject(this.excelOption.column, "excelFile").action =
  1954. "/api/blade-school/salaryitem/import/personalInsurance";
  1955. this.findObject(
  1956. this.excelOption.column,
  1957. "excelFile"
  1958. ).disabled = false;
  1959. break;
  1960. case "17":
  1961. this.exportUrl =
  1962. "/api/blade-school/salaryitem/export/attendanceExcel";
  1963. this.findObject(this.excelOption.column, "excelFile").action =
  1964. "/api/blade-school/salaryitem/import/attendanceExcel";
  1965. this.findObject(
  1966. this.excelOption.column,
  1967. "excelFile"
  1968. ).disabled = false;
  1969. break;
  1970. case "18":
  1971. this.exportUrl =
  1972. "/api/blade-school/salaryitem/export/eomNumberExcel";
  1973. this.findObject(this.excelOption.column, "excelFile").action =
  1974. "/api/blade-school/salaryitem/import/eomNumberExcel";
  1975. this.findObject(
  1976. this.excelOption.column,
  1977. "excelFile"
  1978. ).disabled = false;
  1979. break;
  1980. case "19":
  1981. this.exportUrl = "/api/blade-school/salaryitem/export/payTaxes";
  1982. this.findObject(this.excelOption.column, "excelFile").action =
  1983. "/api/blade-school/salaryitem/import/payTaxes";
  1984. this.findObject(
  1985. this.excelOption.column,
  1986. "excelFile"
  1987. ).disabled = false;
  1988. break;
  1989. case "20":
  1990. this.exportUrl = "/api/blade-school/salaryitem/export/awardExcel";
  1991. this.findObject(this.excelOption.column, "excelFile").action =
  1992. "/api/blade-school/salaryitem/import/awardExcel";
  1993. this.findObject(
  1994. this.excelOption.column,
  1995. "excelFile"
  1996. ).disabled = false;
  1997. break;
  1998. case "21":
  1999. this.exportUrl =
  2000. "/api/blade-school/salaryitem/export/performanceExcel";
  2001. this.findObject(this.excelOption.column, "excelFile").action =
  2002. "/api/blade-school/salaryitem/import/performanceExcel";
  2003. this.findObject(
  2004. this.excelOption.column,
  2005. "excelFile"
  2006. ).disabled = false;
  2007. break;
  2008. case "22":
  2009. this.exportUrl =
  2010. "/api/blade-school/salaryitem/export/vacationExcel";
  2011. this.findObject(this.excelOption.column, "excelFile").action =
  2012. "/api/blade-school/salaryitem/import/vacationExcel";
  2013. this.findObject(
  2014. this.excelOption.column,
  2015. "excelFile"
  2016. ).disabled = false;
  2017. break;
  2018. case "23":
  2019. this.exportUrl =
  2020. "/api/blade-school/salaryitem/export/postTrainExcel";
  2021. this.findObject(this.excelOption.column, "excelFile").action =
  2022. "/api/blade-school/salaryitem/import/postTrainExcel";
  2023. this.findObject(
  2024. this.excelOption.column,
  2025. "excelFile"
  2026. ).disabled = false;
  2027. break;
  2028. case "24":
  2029. this.exportUrl = "/api/blade-school/salaryitem/export/leadExcel";
  2030. this.findObject(this.excelOption.column, "excelFile").action =
  2031. "/api/blade-school/salaryitem/import/leadExcel";
  2032. this.findObject(
  2033. this.excelOption.column,
  2034. "excelFile"
  2035. ).disabled = false;
  2036. break;
  2037. case "25":
  2038. this.exportUrl =
  2039. "/api/blade-school/salaryitem/export/teamLeaderExcel";
  2040. this.findObject(this.excelOption.column, "excelFile").action =
  2041. "/api/blade-school/salaryitem/import/teamLeaderExcel";
  2042. this.findObject(
  2043. this.excelOption.column,
  2044. "excelFile"
  2045. ).disabled = false;
  2046. break;
  2047. case "26":
  2048. this.exportUrl =
  2049. "/api/blade-school/salaryitem/export/prepareLessonsExcel";
  2050. this.findObject(this.excelOption.column, "excelFile").action =
  2051. "/api/blade-school/salaryitem/import/prepareLessonsExcel";
  2052. this.findObject(
  2053. this.excelOption.column,
  2054. "excelFile"
  2055. ).disabled = false;
  2056. break;
  2057. case "28":
  2058. this.exportUrl =
  2059. "/api/blade-school/salaryitem/export/teachingExcel";
  2060. this.findObject(this.excelOption.column, "excelFile").action =
  2061. "/api/blade-school/salaryitem/import/teachingExcel";
  2062. this.findObject(
  2063. this.excelOption.column,
  2064. "excelFile"
  2065. ).disabled = false;
  2066. break;
  2067. default:
  2068. this.findObject(
  2069. this.excelOption.column,
  2070. "excelFile"
  2071. ).disabled = true;
  2072. this.exportUrl = "";
  2073. }
  2074. } else {
  2075. this.findObject(this.excelOption.column, "excelFile").disabled = true;
  2076. }
  2077. }
  2078. }
  2079. };
  2080. </script>
  2081. <style>
  2082. .headerCellClass {
  2083. color: #fff !important;
  2084. background: #a4cf57 !important;
  2085. }
  2086. .headerCellClass2 {
  2087. color: #fff !important;
  2088. background: #a0cfff !important;
  2089. }
  2090. </style>
  2091. <style lang="scss" scoped>
  2092. .trading-form ::v-deep .el-form-item {
  2093. margin-bottom: 4px !important;
  2094. }
  2095. ::v-deep .el-form-item__error {
  2096. display: none !important;
  2097. }
  2098. .schoolupload ::v-deep .el-upload-list {
  2099. display: none;
  2100. }
  2101. .abnormal ::v-deep .el-dialog__body {
  2102. padding: 10px 20px;
  2103. }
  2104. </style>