detailsPage.vue 76 KB

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