index.vue 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161
  1. <template>
  2. <div class="app-container">
  3. <el-row :gutter="20">
  4. <el-col :span="4" :xs="24">
  5. <div class="dadui">
  6. <img src="../../../images/星星.png" alt />
  7. 单位
  8. </div>
  9. <div class="tree">
  10. <el-tree
  11. class="userAgrees"
  12. style="height: 700px; overflow: auto"
  13. :data="deptOptions"
  14. :props="defaultProps"
  15. @node-click="handleNodeClick"
  16. default-expand-all
  17. highlight-current
  18. :expand-on-click-node="false"
  19. ></el-tree>
  20. </div>
  21. </el-col>
  22. <el-col :span="20" :xs="24">
  23. <el-form
  24. :model="queryParams"
  25. ref="queryForm"
  26. :inline="true"
  27. v-show="showSearch"
  28. label-width="68px"
  29. >
  30. <el-form-item prop="name">
  31. <el-input
  32. v-model="queryParams.name"
  33. placeholder="请输入姓名"
  34. clearable
  35. size="small"
  36. @input="handleQuery"
  37. />
  38. </el-form-item>
  39. <!-- <el-form-item label="年龄" prop="age">
  40. <el-input
  41. v-model="queryParams.age"
  42. placeholder="请输入年龄"
  43. clearable
  44. size="small"
  45. @keyup.enter.native="handleQuery"
  46. />
  47. </el-form-item>
  48. <el-form-item label="出生年月" prop="birthDate">
  49. <el-date-picker clearable size="small"
  50. v-model="queryParams.birthDate"
  51. type="date"
  52. value-format="yyyy-MM-dd"
  53. placeholder="选择出生年月">
  54. </el-date-picker>
  55. </el-form-item>
  56. <el-form-item label="命令号" prop="command">
  57. <el-input
  58. v-model="queryParams.command"
  59. placeholder="请输入命令号"
  60. clearable
  61. size="small"
  62. @keyup.enter.native="handleQuery"
  63. />
  64. </el-form-item>
  65. <el-form-item label="部职别" prop="duty">
  66. <el-input
  67. v-model="queryParams.duty"
  68. placeholder="请输入部职别"
  69. clearable
  70. size="small"
  71. @keyup.enter.native="handleQuery"
  72. />
  73. </el-form-item>
  74. <el-form-item label="职务" prop="postId">
  75. <el-input
  76. v-model="queryParams.postId"
  77. placeholder="请输入职务"
  78. clearable
  79. size="small"
  80. @keyup.enter.native="handleQuery"
  81. />
  82. </el-form-item>
  83. <el-form-item label="等级" prop="gradeId">
  84. <el-input
  85. v-model="queryParams.gradeId"
  86. placeholder="请输入等级"
  87. clearable
  88. size="small"
  89. @keyup.enter.native="handleQuery"
  90. />
  91. </el-form-item>
  92. <el-form-item label="职务等级时间" prop="postDate">
  93. <el-date-picker clearable size="small"
  94. v-model="queryParams.postDate"
  95. type="date"
  96. value-format="yyyy-MM-dd"
  97. placeholder="选择职务等级时间">
  98. </el-date-picker>
  99. </el-form-item>
  100. <el-form-item label="工作岗位" prop="job">
  101. <el-input
  102. v-model="queryParams.job"
  103. placeholder="请输入工作岗位"
  104. clearable
  105. size="small"
  106. @keyup.enter.native="handleQuery"
  107. />
  108. </el-form-item>
  109. <el-form-item label="技术职务" prop="skillId">
  110. <el-input
  111. v-model="queryParams.skillId"
  112. placeholder="请输入技术职务"
  113. clearable
  114. size="small"
  115. @keyup.enter.native="handleQuery"
  116. />
  117. </el-form-item>
  118. <el-form-item label="技术职务时间" prop="skillDate">
  119. <el-date-picker clearable size="small"
  120. v-model="queryParams.skillDate"
  121. type="date"
  122. value-format="yyyy-MM-dd"
  123. placeholder="选择技术职务时间">
  124. </el-date-picker>
  125. </el-form-item>
  126. <el-form-item label="技术等级" prop="levelId">
  127. <el-input
  128. v-model="queryParams.levelId"
  129. placeholder="请输入技术等级"
  130. clearable
  131. size="small"
  132. @keyup.enter.native="handleQuery"
  133. />
  134. </el-form-item>
  135. <el-form-item label="技术等级时间" prop="levelDate">
  136. <el-date-picker clearable size="small"
  137. v-model="queryParams.levelDate"
  138. type="date"
  139. value-format="yyyy-MM-dd"
  140. placeholder="选择技术等级时间">
  141. </el-date-picker>
  142. </el-form-item>
  143. <el-form-item label="军人证号" prop="military">
  144. <el-input
  145. v-model="queryParams.military"
  146. placeholder="请输入军人证号"
  147. clearable
  148. size="small"
  149. @keyup.enter.native="handleQuery"
  150. />
  151. </el-form-item>
  152. <el-form-item label="身份证号" prop="idcard">
  153. <el-input
  154. v-model="queryParams.idcard"
  155. placeholder="请输入身份证号"
  156. clearable
  157. size="small"
  158. @keyup.enter.native="handleQuery"
  159. />
  160. </el-form-item>
  161. <el-form-item label="入伍年月" prop="enlistDate">
  162. <el-date-picker clearable size="small"
  163. v-model="queryParams.enlistDate"
  164. type="date"
  165. value-format="yyyy-MM-dd"
  166. placeholder="选择入伍年月">
  167. </el-date-picker>
  168. </el-form-item>
  169. <el-form-item label="入伍地点" prop="enlistaddress">
  170. <el-input
  171. v-model="queryParams.enlistaddress"
  172. placeholder="请输入入伍地点"
  173. clearable
  174. size="small"
  175. @keyup.enter.native="handleQuery"
  176. />
  177. </el-form-item>
  178. <el-form-item label="军衔" prop="rankId">
  179. <el-input
  180. v-model="queryParams.rankId"
  181. placeholder="请输入军衔"
  182. clearable
  183. size="small"
  184. @keyup.enter.native="handleQuery"
  185. />
  186. </el-form-item>
  187. <el-form-item label="军衔时间" prop="rankDate">
  188. <el-date-picker clearable size="small"
  189. v-model="queryParams.rankDate"
  190. type="date"
  191. value-format="yyyy-MM-dd"
  192. placeholder="选择军衔时间">
  193. </el-date-picker>
  194. </el-form-item>
  195. <el-form-item label="民族" prop="nationId">
  196. <el-input
  197. v-model="queryParams.nationId"
  198. placeholder="请输入民族"
  199. clearable
  200. size="small"
  201. @keyup.enter.native="handleQuery"
  202. />
  203. </el-form-item>
  204. <el-form-item label="籍贯" prop="origin">
  205. <el-input
  206. v-model="queryParams.origin"
  207. placeholder="请输入籍贯"
  208. clearable
  209. size="small"
  210. @keyup.enter.native="handleQuery"
  211. />
  212. </el-form-item>
  213. <el-form-item label="人员类别" prop="classId">
  214. <el-input
  215. v-model="queryParams.classId"
  216. placeholder="请输入人员类别"
  217. clearable
  218. size="small"
  219. @keyup.enter.native="handleQuery"
  220. />
  221. </el-form-item>
  222. <el-form-item label="学历" prop="educationId">
  223. <el-input
  224. v-model="queryParams.educationId"
  225. placeholder="请输入学历"
  226. clearable
  227. size="small"
  228. @keyup.enter.native="handleQuery"
  229. />
  230. </el-form-item>
  231. <el-form-item label="学位" prop="degreeId">
  232. <el-input
  233. v-model="queryParams.degreeId"
  234. placeholder="请输入学位"
  235. clearable
  236. size="small"
  237. @keyup.enter.native="handleQuery"
  238. />
  239. </el-form-item>
  240. <el-form-item label="毕业时间" prop="graduationDate">
  241. <el-date-picker clearable size="small"
  242. v-model="queryParams.graduationDate"
  243. type="date"
  244. value-format="yyyy-MM-dd"
  245. placeholder="选择毕业时间">
  246. </el-date-picker>
  247. </el-form-item>
  248. <el-form-item label="毕业院校" prop="school">
  249. <el-input
  250. v-model="queryParams.school"
  251. placeholder="请输入毕业院校"
  252. clearable
  253. size="small"
  254. @keyup.enter.native="handleQuery"
  255. />
  256. </el-form-item>
  257. <el-form-item label="党团情况" prop="partyId">
  258. <el-input
  259. v-model="queryParams.partyId"
  260. placeholder="请输入党团情况"
  261. clearable
  262. size="small"
  263. @keyup.enter.native="handleQuery"
  264. />
  265. </el-form-item>
  266. <el-form-item label="党团时间" prop="partyDate">
  267. <el-date-picker clearable size="small"
  268. v-model="queryParams.partyDate"
  269. type="date"
  270. value-format="yyyy-MM-dd"
  271. placeholder="选择党团时间">
  272. </el-date-picker>
  273. </el-form-item>
  274. <el-form-item label="简历名称" prop="readmeFileName">
  275. <el-input
  276. v-model="queryParams.readmeFileName"
  277. placeholder="请输入简历名称"
  278. clearable
  279. size="small"
  280. @keyup.enter.native="handleQuery"
  281. />
  282. </el-form-item>
  283. <el-form-item label="部别" prop="unitId">
  284. <el-input
  285. v-model="queryParams.unitId"
  286. placeholder="请输入部别"
  287. clearable
  288. size="small"
  289. @keyup.enter.native="handleQuery"
  290. />
  291. </el-form-item>
  292. <el-form-item label="照片" prop="avatar">
  293. <el-input
  294. v-model="queryParams.avatar"
  295. placeholder="请输入照片"
  296. clearable
  297. size="small"
  298. @keyup.enter.native="handleQuery"
  299. />
  300. </el-form-item>
  301. <el-form-item label="出生地址" prop="address">
  302. <el-input
  303. v-model="queryParams.address"
  304. placeholder="请输入出生地址"
  305. clearable
  306. size="small"
  307. @keyup.enter.native="handleQuery"
  308. />
  309. </el-form-item>
  310. <el-form-item label="手机号码" prop="phone">
  311. <el-input
  312. v-model="queryParams.phone"
  313. placeholder="请输入手机号码"
  314. clearable
  315. size="small"
  316. @keyup.enter.native="handleQuery"
  317. />
  318. </el-form-item>
  319. <el-form-item label="0在位,1调出" prop="status">
  320. <el-select v-model="queryParams.status" placeholder="请选择0在位,1调出" clearable size="small">
  321. <el-option label="请选择字典生成" value="" />
  322. </el-select>
  323. </el-form-item>
  324. <el-form-item label="0在位,1调出" prop="createtimes">
  325. <el-date-picker clearable size="small"
  326. v-model="queryParams.createtimes"
  327. type="date"
  328. value-format="yyyy-MM-dd"
  329. placeholder="选择0在位,1调出">
  330. </el-date-picker>
  331. </el-form-item>
  332. <el-form-item label="0在位,1调出" prop="updatetimes">
  333. <el-date-picker clearable size="small"
  334. v-model="queryParams.updatetimes"
  335. type="date"
  336. value-format="yyyy-MM-dd"
  337. placeholder="选择0在位,1调出">
  338. </el-date-picker>
  339. </el-form-item>
  340. <el-form-item label="0在位,1休假,2出差,3借调,4学习,5执行任务,6外诊,7其他" prop="reign">
  341. <el-input
  342. v-model="queryParams.reign"
  343. placeholder="请输入0在位,1休假,2出差,3借调,4学习,5执行任务,6外诊,7其他"
  344. clearable
  345. size="small"
  346. @keyup.enter.native="handleQuery"
  347. />
  348. </el-form-item>
  349. <el-form-item label="工作时间" prop="jobTime">
  350. <el-date-picker clearable size="small"
  351. v-model="queryParams.jobTime"
  352. type="date"
  353. value-format="yyyy-MM-dd"
  354. placeholder="选择工作时间">
  355. </el-date-picker>
  356. </el-form-item>
  357. <el-form-item label="健康情况" prop="healthy">
  358. <el-input
  359. v-model="queryParams.healthy"
  360. placeholder="请输入健康情况"
  361. clearable
  362. size="small"
  363. @keyup.enter.native="handleQuery"
  364. />
  365. </el-form-item>
  366. <el-form-item label="血型" prop="bloodType">
  367. <el-select v-model="queryParams.bloodType" placeholder="请选择血型" clearable size="small">
  368. <el-option label="请选择字典生成" value="" />
  369. </el-select>
  370. </el-form-item>
  371. <el-form-item label="职务时间" prop="postTime">
  372. <el-date-picker clearable size="small"
  373. v-model="queryParams.postTime"
  374. type="date"
  375. value-format="yyyy-MM-dd"
  376. placeholder="选择职务时间">
  377. </el-date-picker>
  378. </el-form-item>
  379. <el-form-item label="专业" prop="major">
  380. <el-input
  381. v-model="queryParams.major"
  382. placeholder="请输入专业"
  383. clearable
  384. size="small"
  385. @keyup.enter.native="handleQuery"
  386. />
  387. </el-form-item>
  388. <el-form-item label="入学时间" prop="admissionTime">
  389. <el-date-picker clearable size="small"
  390. v-model="queryParams.admissionTime"
  391. type="date"
  392. value-format="yyyy-MM-dd"
  393. placeholder="选择入学时间">
  394. </el-date-picker>
  395. </el-form-item>
  396. <el-form-item label="手机型号" prop="mobilePhoneModel">
  397. <el-input
  398. v-model="queryParams.mobilePhoneModel"
  399. placeholder="请输入手机型号"
  400. clearable
  401. size="small"
  402. @keyup.enter.native="handleQuery"
  403. />
  404. </el-form-item>
  405. <el-form-item label="保障卡号" prop="guaranteeCardNo">
  406. <el-input
  407. v-model="queryParams.guaranteeCardNo"
  408. placeholder="请输入保障卡号"
  409. clearable
  410. size="small"
  411. @keyup.enter.native="handleQuery"
  412. />
  413. </el-form-item>
  414. <el-form-item label="工资卡号" prop="payrollCardNo">
  415. <el-input
  416. v-model="queryParams.payrollCardNo"
  417. placeholder="请输入工资卡号"
  418. clearable
  419. size="small"
  420. @keyup.enter.native="handleQuery"
  421. />
  422. </el-form-item>
  423. <el-form-item label="家庭住址" prop="live">
  424. <el-input
  425. v-model="queryParams.live"
  426. placeholder="请输入家庭住址"
  427. clearable
  428. size="small"
  429. @keyup.enter.native="handleQuery"
  430. />
  431. </el-form-item>
  432. <el-form-item label="部门ID" prop="deptId">
  433. <el-input
  434. v-model="queryParams.deptId"
  435. placeholder="请输入部门ID"
  436. clearable
  437. size="small"
  438. @keyup.enter.native="handleQuery"
  439. />
  440. </el-form-item>
  441. <el-form-item label="用户ID" prop="userId">
  442. <el-input
  443. v-model="queryParams.userId"
  444. placeholder="请输入用户ID"
  445. clearable
  446. size="small"
  447. @keyup.enter.native="handleQuery"
  448. />
  449. </el-form-item>
  450. <el-form-item label="现军衔" prop="nowMilitaryRank">
  451. <el-input
  452. v-model="queryParams.nowMilitaryRank"
  453. placeholder="请输入现军衔"
  454. clearable
  455. size="small"
  456. @keyup.enter.native="handleQuery"
  457. />
  458. </el-form-item>
  459. <el-form-item label="待遇级别" prop="treatmentLevel">
  460. <el-input
  461. v-model="queryParams.treatmentLevel"
  462. placeholder="请输入待遇级别"
  463. clearable
  464. size="small"
  465. @keyup.enter.native="handleQuery"
  466. />
  467. </el-form-item>
  468. <el-form-item label="现待遇级别时间" prop="rankUpgradeTime">
  469. <el-date-picker clearable size="small"
  470. v-model="queryParams.rankUpgradeTime"
  471. type="date"
  472. value-format="yyyy-MM-dd"
  473. placeholder="选择现待遇级别时间">
  474. </el-date-picker>
  475. </el-form-item>-->
  476. <el-form-item>
  477. <!-- <el-button type="primary" size="btn" @click="handleQuery"
  478. >搜索</el-button
  479. >-->
  480. <el-button size="btr" @click="resetQuery">重置</el-button>
  481. </el-form-item>
  482. </el-form>
  483. <el-row :gutter="10" class="mb8">
  484. <el-col :span="1.5">
  485. <el-button
  486. type="primary"
  487. plain
  488. icon="el-icon-plus"
  489. size="mini"
  490. @click="handleAdd"
  491. v-hasPermi="['peopleManage:people:add']"
  492. >新增</el-button
  493. >
  494. </el-col>
  495. <el-col :span="1.5">
  496. <el-button
  497. type="success"
  498. plain
  499. icon="el-icon-edit"
  500. size="mini"
  501. :disabled="single"
  502. @click="handleUpdate"
  503. v-hasPermi="['peopleManage:people:edit']"
  504. >修改</el-button
  505. >
  506. </el-col>
  507. <el-col :span="1.5">
  508. <el-button
  509. type="danger"
  510. plain
  511. icon="el-icon-delete"
  512. size="mini"
  513. :disabled="multiple"
  514. @click="handleDelete"
  515. v-hasPermi="['peopleManage:people:remove']"
  516. >删除</el-button
  517. >
  518. </el-col>
  519. <!-- <el-col :span="1.5">
  520. <el-button
  521. type="warning"
  522. plain
  523. icon="el-icon-download"
  524. size="mini"
  525. :loading="exportLoading"
  526. @click="handleExport"
  527. v-hasPermi="['peopleManage:people:export']"
  528. >导出</el-button>
  529. </el-col>-->
  530. <!-- <right-toolbar
  531. :showSearch.sync="showSearch"
  532. @queryTable="getList"
  533. ></right-toolbar>-->
  534. </el-row>
  535. <el-table
  536. v-loading="loading"
  537. :data="peopleList"
  538. :header-cell-style="{ background: '#003C69', color: 'white' }"
  539. @selection-change="handleSelectionChange"
  540. >
  541. <el-table-column type="selection" width="55" align="center" />
  542. <el-table-column label="序号" align="center" type="index" />
  543. <!-- <el-table-column label="备用手机号" align="center" prop="id" /> -->
  544. <el-table-column
  545. label="单位"
  546. align="center"
  547. prop="deptId"
  548. width="180"
  549. :formatter="deptIdformatter"
  550. />
  551. <el-table-column label="姓名" align="center" prop="name" />
  552. <el-table-column label="性别" align="center" prop="sex">
  553. <template slot-scope="scope">
  554. <dict-tag
  555. :options="dict.type.sys_user_sex"
  556. :value="scope.row.sex"
  557. />
  558. </template>
  559. </el-table-column>
  560. <el-table-column label="年龄" align="center" prop="age" />
  561. <el-table-column
  562. label="身份证号"
  563. align="center"
  564. prop="idcard"
  565. width="170"
  566. />
  567. <!-- <el-table-column label="出生年月" align="center" prop="birthDate" width="180">
  568. <template slot-scope="scope">
  569. <span>{{ parseTime(scope.row.birthDate, '{y}-{m}-{d}') }}</span>
  570. </template>
  571. </el-table-column>
  572. <el-table-column label="命令号" align="center" prop="command" />-->
  573. <el-table-column
  574. label="部职别"
  575. align="center"
  576. width="300"
  577. prop="duty"
  578. />
  579. <el-table-column
  580. label="职务"
  581. align="center"
  582. width="120"
  583. prop="postId"
  584. >
  585. <template slot-scope="scope">
  586. <dict-tag
  587. :options="dict.type.post_Level"
  588. :value="scope.row.postId"
  589. />
  590. </template>
  591. </el-table-column>
  592. <!-- <el-table-column label="等级" align="center" prop="gradeId" /> -->
  593. <el-table-column
  594. label="职务等级时间"
  595. align="center"
  596. prop="postDate"
  597. width="180"
  598. >
  599. <template slot-scope="scope">
  600. <span>{{ parseTime(scope.row.postDate, "{y}-{m}-{d}") }}</span>
  601. </template>
  602. </el-table-column>
  603. <!-- <el-table-column label="工作岗位" align="center" prop="job" /> -->
  604. <!-- <el-table-column label="技术职务" align="center" prop="skillId" />
  605. <el-table-column label="技术职务时间" align="center" prop="skillDate" width="180">
  606. <template slot-scope="scope">
  607. <span>{{ parseTime(scope.row.skillDate, '{y}-{m}-{d}') }}</span>
  608. </template>
  609. </el-table-column>
  610. <el-table-column label="技术等级" align="center" prop="levelId" />
  611. <el-table-column label="技术等级时间" align="center" prop="levelDate" width="180">
  612. <template slot-scope="scope">
  613. <span>{{ parseTime(scope.row.levelDate, '{y}-{m}-{d}') }}</span>
  614. </template>
  615. </el-table-column>-->
  616. <!-- <el-table-column label="军人证号" align="center" prop="military" /> -->
  617. <!-- <el-table-column label="入伍年月" align="center" prop="enlistDate" width="180">
  618. <template slot-scope="scope">
  619. <span>{{ parseTime(scope.row.enlistDate, '{y}-{m}-{d}') }}</span>
  620. </template>
  621. </el-table-column>
  622. <el-table-column label="入伍地点" align="center" prop="enlistaddress" />-->
  623. <!-- <el-table-column label="军衔" align="center" prop="rankId">
  624. <template slot-scope="scope">
  625. <dict-tag :options="dict.type.sys_user_rank" :value="scope.row.rankId" />
  626. </template>
  627. </el-table-column>-->
  628. <!-- <el-table-column label="军衔时间" align="center" prop="rankDate" width="180">
  629. <template slot-scope="scope">
  630. <span>{{ parseTime(scope.row.rankDate, '{y}-{m}-{d}') }}</span>
  631. </template>
  632. </el-table-column>
  633. <el-table-column label="民族" align="center" prop="nationId" />-->
  634. <el-table-column
  635. label="籍贯"
  636. align="center"
  637. prop="origin"
  638. width="150"
  639. />
  640. <!-- <el-table-column label="人员类别" align="center" prop="classId">
  641. <template slot-scope="scope">
  642. <dict-tag :options="dict.type.personnel_type" :value="scope.row.classId" />
  643. </template>
  644. </el-table-column>-->
  645. <!-- <el-table-column label="学历" align="center" prop="educationId" width="100">
  646. <template slot-scope="scope">
  647. <dict-tag :options="dict.type.Degree_level" :value="scope.row.educationId" />
  648. </template>
  649. </el-table-column>-->
  650. <!-- <el-table-column label="学位" align="center" prop="degreeId">
  651. <template slot-scope="scope">
  652. <dict-tag :options="dict.type.degree" :value="scope.row.degreeId" />
  653. </template>
  654. </el-table-column>-->
  655. <!-- <el-table-column label="毕业时间" align="center" prop="graduationDate" width="180">
  656. <template slot-scope="scope">
  657. <span>{{ parseTime(scope.row.graduationDate, '{y}-{m}-{d}') }}</span>
  658. </template>
  659. </el-table-column>-->
  660. <!-- <el-table-column label="毕业院校" align="center" prop="school" width="120" /> -->
  661. <el-table-column
  662. label="在位情况"
  663. align="center"
  664. prop="reign"
  665. width="90"
  666. >
  667. <template slot-scope="scope">
  668. <dict-tag
  669. :options="dict.type.people_state"
  670. :value="scope.row.reign"
  671. />
  672. </template>
  673. </el-table-column>
  674. <!-- <el-table-column label="党团情况" align="center" prop="partyId">
  675. <template slot-scope="scope">
  676. <dict-tag :options="dict.type.Caucus" :value="scope.row.partyId" />
  677. </template>
  678. </el-table-column>
  679. <el-table-column label="党团时间" align="center" prop="partyDate" width="180">
  680. <template slot-scope="scope">
  681. <span>{{ parseTime(scope.row.partyDate, '{y}-{m}-{d}') }}</span>
  682. </template>
  683. </el-table-column>
  684. <el-table-column label="培训经历" align="center" prop="training" />
  685. <el-table-column label="简历" align="center" prop="readmeFile" />
  686. <el-table-column label="简历名称" align="center" prop="readmeFileName" />
  687. <el-table-column label="奖惩情况" align="center" prop="prize" />
  688. <el-table-column label="婚姻情况" align="center" prop="marryList">
  689. <template slot-scope="scope">
  690. <dict-tag :options="dict.type.marryList" :value="scope.row.marryList" />
  691. </template>
  692. </el-table-column>
  693. <el-table-column label="子女情况" align="center" prop="childrenList">
  694. <template slot-scope="scope">
  695. <dict-tag :options="dict.type.sys_yw" :value="scope.row.childrenList" />
  696. </template>
  697. </el-table-column>
  698. <el-table-column label="部别" align="center" prop="unitId" />
  699. <el-table-column label="照片" align="center" prop="avatar" />
  700. <el-table-column label="出生地址" align="center" prop="address" />
  701. <el-table-column label="手机号码" align="center" prop="phone" />
  702. <el-table-column label="0在位,1调出" align="center" prop="status" />
  703. <el-table-column label="0在位,1调出" align="center" prop="createtimes" width="180">
  704. <template slot-scope="scope">
  705. <span>{{ parseTime(scope.row.createtimes, '{y}-{m}-{d}') }}</span>
  706. </template>
  707. </el-table-column>
  708. <el-table-column label="0在位,1休假,2出差,3借调,4学习,5执行任务,6外诊,7其他" align="center" prop="reign" />
  709. <el-table-column label="工作时间" align="center" prop="jobTime" width="180">
  710. <template slot-scope="scope">
  711. <span>{{ parseTime(scope.row.jobTime, '{y}-{m}-{d}') }}</span>
  712. </template>
  713. </el-table-column>
  714. <el-table-column label="健康情况" align="center" prop="healthy">
  715. <template slot-scope="scope">
  716. <dict-tag :options="dict.type.healthy" :value="scope.row.healthy" />
  717. </template>
  718. </el-table-column>
  719. <el-table-column label="血型" align="center" prop="bloodType">
  720. <template slot-scope="scope">
  721. <dict-tag :options="dict.type.bloodType" :value="scope.row.bloodType" />
  722. </template>
  723. </el-table-column>
  724. <el-table-column label="职务时间" align="center" prop="postTime" width="180">
  725. <template slot-scope="scope">
  726. <span>{{ parseTime(scope.row.postTime, '{y}-{m}-{d}') }}</span>
  727. </template>
  728. </el-table-column>
  729. <el-table-column label="专业" align="center" prop="major" />
  730. <el-table-column label="入学时间" align="center" prop="admissionTime" width="180">
  731. <template slot-scope="scope">
  732. <span>{{ parseTime(scope.row.admissionTime, '{y}-{m}-{d}') }}</span>
  733. </template>
  734. </el-table-column>
  735. <el-table-column label="手机型号" align="center" prop="mobilePhoneModel" />
  736. <el-table-column label="保障卡号" align="center" prop="guaranteeCardNo" />
  737. <el-table-column label="工资卡号" align="center" prop="payrollCardNo" />
  738. <el-table-column label="是否纳编" align="center" prop="authorizedStrength">
  739. <template slot-scope="scope">
  740. <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.authorizedStrength" />
  741. </template>
  742. </el-table-column>
  743. <el-table-column label="专业是否对口" align="center" prop="aboral" />
  744. <el-table-column label="家庭住址" align="center" prop="live" />
  745. <el-table-column label="部门ID" align="center" prop="deptId" />
  746. <el-table-column label="用户ID" align="center" prop="userId" />
  747. <el-table-column label="现军衔" align="center" prop="nowMilitaryRank">
  748. <template slot-scope="scope">
  749. <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.nowMilitaryRank" />
  750. </template>
  751. </el-table-column>
  752. <el-table-column label="待遇级别" align="center" prop="treatmentLevel" />
  753. <el-table-column label="现待遇级别时间" align="center" prop="rankUpgradeTime" width="180">
  754. <template slot-scope="scope">
  755. <span>{{ parseTime(scope.row.rankUpgradeTime, '{y}-{m}-{d}') }}</span>
  756. </template>
  757. </el-table-column>
  758. <el-table-column label="部门名称" align="center" prop="deptName" />
  759. <el-table-column label="备用手机号" align="center" prop="phoneStandby" />-->
  760. <el-table-column
  761. label="操作"
  762. align="center"
  763. width="200"
  764. fixed="right"
  765. >
  766. <template slot-scope="scope">
  767. <el-button
  768. size="btu"
  769. type="text"
  770. @click="handleUpdate(scope.row)"
  771. v-hasPermi="['peopleManage:people:edit']"
  772. >修改</el-button
  773. >
  774. <el-button
  775. size="btk"
  776. type="text"
  777. @click="handlesee(scope.row)"
  778. v-hasPermi="['peopleManage:people:query']"
  779. >查看</el-button
  780. >
  781. <el-button
  782. size="btd"
  783. type="text"
  784. @click="handleDelete(scope.row)"
  785. v-hasPermi="['peopleManage:people:remove']"
  786. >删除</el-button
  787. >
  788. </template>
  789. </el-table-column>
  790. </el-table>
  791. <pagination
  792. v-show="total > 0"
  793. :total="total"
  794. :page.sync="queryParams.pageNum"
  795. :limit.sync="queryParams.pageSize"
  796. @pagination="getList"
  797. />
  798. </el-col>
  799. </el-row>
  800. <!-- 添加或修改人员管理对话框 -->
  801. <el-dialog
  802. :title="title"
  803. :visible.sync="open"
  804. width="1400px"
  805. append-to-body
  806. :close-on-click-modal="false"
  807. >
  808. <div class="userAgree" style="overflow: -Scroll; overflow-x: hidden">
  809. <el-form
  810. ref="form"
  811. :model="form"
  812. :rules="rules"
  813. :inline="true"
  814. label-width="120px"
  815. >
  816. <div class="jiben">基本信息</div>
  817. <div class="div-box-title1">
  818. <span>个人信息</span>
  819. <img src="@/assets/images/虚线.png" alt />
  820. </div>
  821. <div style="width: 100%; display: flex; flex-direction: row">
  822. <div>
  823. <el-row>
  824. <el-form-item label="姓名" prop="name">
  825. <el-input v-model="form.name" placeholder />
  826. </el-form-item>
  827. <el-form-item label="身份证号" prop="idcard">
  828. <el-input
  829. v-model="form.idcard"
  830. placeholder
  831. @blur="idcardfun()"
  832. />
  833. </el-form-item>
  834. </el-row>
  835. <el-row>
  836. <el-form-item label="民族" prop="nationId">
  837. <el-select v-model="form.nationId" clearable placeholder>
  838. <el-option
  839. v-for="dict in nationIds"
  840. :key="dict.dictValue"
  841. :label="dict.dictLabel"
  842. :value="parseInt(dict.dictValue)"
  843. style="width: 200px; height: 36px"
  844. ></el-option>
  845. </el-select>
  846. </el-form-item>
  847. <el-form-item label="性别" prop="sex">
  848. <el-select v-model="form.sex" clearable placeholder>
  849. <el-option
  850. v-for="dict in sexList"
  851. :key="dict.dictValue"
  852. :label="dict.dictLabel"
  853. :value="dict.dictValue"
  854. style="width: 200px; height: 36px"
  855. ></el-option>
  856. </el-select>
  857. </el-form-item>
  858. </el-row>
  859. <el-row>
  860. <el-form-item label="年龄" prop="age">
  861. <el-input v-model="form.age" placeholder />
  862. </el-form-item>
  863. <el-form-item label="出生年月" prop="birthDate">
  864. <el-date-picker
  865. clearable
  866. size="small"
  867. v-model="form.birthDate"
  868. type="date"
  869. value-format="yyyy-MM-dd"
  870. placeholder
  871. style="width: 200px; height: 36px"
  872. ></el-date-picker>
  873. </el-form-item>
  874. </el-row>
  875. <el-row>
  876. <el-form-item label="籍贯" prop="origin">
  877. <el-input v-model="form.origin" placeholder />
  878. </el-form-item>
  879. <el-form-item label="家庭住址" prop="live">
  880. <el-input v-model="form.live" placeholder />
  881. </el-form-item>
  882. </el-row>
  883. </div>
  884. <div style="margin-left: 50px; display: flex">
  885. <div class="pictureUploading-img">
  886. <img src="@/assets/images/提示.png" alt />
  887. </div>
  888. <el-form-item prop="pictureUploading" class="personphoto">
  889. <imageUpload
  890. :limit="1"
  891. v-model="form.avatar"
  892. style="height: 200px"
  893. />
  894. </el-form-item>
  895. </div>
  896. </div>
  897. <el-row>
  898. <el-form-item label="血型" prop="bloodType">
  899. <el-select v-model="form.bloodType" clearable placeholder>
  900. <el-option
  901. v-for="dict in bloodType"
  902. :key="dict.dictValue"
  903. :label="dict.dictLabel"
  904. :value="dict.dictValue"
  905. ></el-option>
  906. </el-select>
  907. </el-form-item>
  908. <el-form-item label="政治面貌" prop="partyId">
  909. <el-select v-model="form.partyId" clearable placeholder>
  910. <el-option
  911. v-for="dict in partyIds"
  912. :key="dict.dictValue"
  913. :label="dict.dictLabel"
  914. :value="parseInt(dict.dictValue)"
  915. ></el-option>
  916. </el-select>
  917. </el-form-item>
  918. <el-form-item label="党团时间" prop="partyDate">
  919. <el-date-picker
  920. clearable
  921. size="small"
  922. v-model="form.partyDate"
  923. type="date"
  924. value-format="yyyy-MM-dd"
  925. placeholder
  926. ></el-date-picker>
  927. </el-form-item>
  928. </el-row>
  929. <el-row>
  930. <el-form-item label="健康情况" prop="healthy">
  931. <el-select v-model="form.healthy" clearable placeholder>
  932. <el-option
  933. v-for="dict in healthy"
  934. :key="dict.dictValue"
  935. :label="dict.dictLabel"
  936. :value="dict.dictValue"
  937. ></el-option>
  938. </el-select>
  939. </el-form-item>
  940. <el-form-item label="保障卡号" prop="guaranteeCardNo">
  941. <el-input v-model="form.guaranteeCardNo" placeholder />
  942. </el-form-item>
  943. <el-form-item label="工资卡号" prop="payrollCardNo">
  944. <el-input v-model="form.payrollCardNo" placeholder />
  945. </el-form-item>
  946. </el-row>
  947. <div class="div-box-title1">
  948. <span>婚姻信息</span>
  949. <img src="@/assets/images/虚线.png" alt />
  950. </div>
  951. <el-row>
  952. <el-form-item label="婚姻情况" prop="marryList">
  953. <el-select v-model="form.marryList" clearable placeholder>
  954. <el-option
  955. v-for="dict in marryList"
  956. :key="dict.dictValue"
  957. :label="dict.dictLabel"
  958. :value="dict.dictValue"
  959. ></el-option>
  960. </el-select>
  961. </el-form-item>
  962. <el-form-item label="子女情况" prop="childrenList">
  963. <el-select v-model="form.childrenList" clearable placeholder>
  964. <el-option
  965. v-for="dict in childrenList"
  966. :key="dict.dictValue"
  967. :label="dict.dictLabel"
  968. :value="dict.dictValue"
  969. ></el-option>
  970. </el-select>
  971. </el-form-item>
  972. </el-row>
  973. <div class="div-box-title1">
  974. <span>学历教育</span>
  975. <img src="@/assets/images/虚线.png" alt />
  976. </div>
  977. <el-form-item label="学历" prop="educationId">
  978. <el-select v-model="form.educationId" clearable placeholder>
  979. <el-option
  980. v-for="dict in educationId"
  981. :key="dict.dictValue"
  982. :label="dict.dictLabel"
  983. :value="parseInt(dict.dictValue)"
  984. ></el-option>
  985. </el-select>
  986. </el-form-item>
  987. <el-form-item label="学位" prop="degreeId">
  988. <el-select v-model="form.degreeId" clearable placeholder>
  989. <el-option
  990. v-for="dict in degree"
  991. :key="dict.dictValue"
  992. :label="dict.dictLabel"
  993. :value="parseInt(dict.dictValue)"
  994. ></el-option>
  995. </el-select>
  996. </el-form-item>
  997. <el-form-item label="入学时间" prop="admissionTime">
  998. <el-date-picker
  999. clearable
  1000. size="small"
  1001. v-model="form.admissionTime"
  1002. type="date"
  1003. value-format="yyyy-MM-dd"
  1004. placeholder
  1005. ></el-date-picker>
  1006. </el-form-item>
  1007. <el-form-item label=" 专业" prop="major">
  1008. <el-input v-model="form.major" placeholder />
  1009. </el-form-item>
  1010. <el-form-item label="毕业时间" prop="graduationDate">
  1011. <el-date-picker
  1012. clearable
  1013. size="small"
  1014. v-model="form.graduationDate"
  1015. type="date"
  1016. value-format="yyyy-MM-dd"
  1017. placeholder
  1018. ></el-date-picker>
  1019. </el-form-item>
  1020. <el-form-item label="毕业学校" prop="school">
  1021. <el-input v-model="form.school" placeholder />
  1022. </el-form-item>
  1023. <div class="div-box-title1">
  1024. <span>联系方式</span>
  1025. <img src="@/assets/images/虚线.png" alt />
  1026. </div>
  1027. <el-form-item label="手机型号" prop="mobilePhoneModel">
  1028. <el-input v-model="form.mobilePhoneModel" placeholder />
  1029. </el-form-item>
  1030. <el-form-item label="手机号码" prop="phone">
  1031. <el-input v-model="form.phone" placeholder />
  1032. </el-form-item>
  1033. <el-form-item label="手机号码2" prop="phoneStandby">
  1034. <el-input v-model="form.phoneStandby" placeholder />
  1035. </el-form-item>
  1036. <div class="jiben">职务信息</div>
  1037. <el-form-item label="军人证号" prop="military">
  1038. <el-input v-model="form.military" placeholder />
  1039. </el-form-item>
  1040. <el-form-item label="人员类别" prop="classId">
  1041. <el-select v-model="form.classId" clearable placeholder>
  1042. <el-option
  1043. v-for="dict in classId"
  1044. :key="dict.dictValue"
  1045. :label="dict.dictLabel"
  1046. :value="parseInt(dict.dictValue)"
  1047. ></el-option>
  1048. </el-select>
  1049. </el-form-item>
  1050. <el-form-item label="单位" prop="deptId">
  1051. <el-select v-model="form.deptId" ref="deptId" clearable placeholder>
  1052. <el-option
  1053. v-for="dict in unitId"
  1054. :key="dict.deptId"
  1055. :label="dict.deptName"
  1056. :value="dict.deptId"
  1057. ></el-option>
  1058. </el-select>
  1059. </el-form-item>
  1060. <el-form-item label="部职别" prop="duty">
  1061. <el-input v-model="form.duty" placeholder />
  1062. </el-form-item>
  1063. <el-form-item label="入伍时间" prop="enlistDate">
  1064. <el-date-picker
  1065. clearable
  1066. size="small"
  1067. v-model="form.enlistDate"
  1068. type="date"
  1069. value-format="yyyy-MM-dd"
  1070. placeholder
  1071. ></el-date-picker>
  1072. </el-form-item>
  1073. <el-form-item label="入伍地点" prop="enlistaddress">
  1074. <el-input v-model="form.enlistaddress" placeholder />
  1075. </el-form-item>
  1076. <el-form-item label="职务层级" prop="postId">
  1077. <el-select v-model="form.postId" clearable placeholder>
  1078. <el-option
  1079. v-for="dict in postIds"
  1080. :key="dict.dictValue"
  1081. :label="dict.dictLabel"
  1082. :value="parseInt(dict.dictValue)"
  1083. ></el-option>
  1084. </el-select>
  1085. </el-form-item>
  1086. <el-form-item label="现职务层级时间" prop="postDate">
  1087. <el-date-picker
  1088. clearable
  1089. size="small"
  1090. v-model="form.postDate"
  1091. type="date"
  1092. value-format="yyyy-MM-dd"
  1093. placeholder
  1094. ></el-date-picker>
  1095. </el-form-item>
  1096. <el-form-item label="军衔" prop="rankId">
  1097. <el-select v-model="form.rankId" clearable placeholder>
  1098. <el-option
  1099. v-for="dict in rankIds"
  1100. :key="dict.dictValue"
  1101. :label="dict.dictLabel"
  1102. :value="parseInt(dict.dictValue)"
  1103. ></el-option>
  1104. </el-select>
  1105. </el-form-item>
  1106. <el-form-item label="现军衔" prop="nowMilitaryRank">
  1107. <el-select v-model="form.nowMilitaryRank" clearable placeholder>
  1108. <el-option
  1109. v-for="dict in rankIds"
  1110. :key="dict.dictValue"
  1111. :label="dict.dictLabel"
  1112. :value="dict.dictValue"
  1113. ></el-option>
  1114. </el-select>
  1115. </el-form-item>
  1116. <el-form-item label="现军衔时间" prop="rankDate">
  1117. <el-date-picker
  1118. clearable
  1119. size="small"
  1120. v-model="form.rankDate"
  1121. type="date"
  1122. value-format="yyyy-MM-dd"
  1123. placeholder
  1124. ></el-date-picker>
  1125. </el-form-item>
  1126. <el-form-item label="是否编制" prop="authorizedStrength">
  1127. <el-select v-model="form.authorizedStrength" clearable placeholder>
  1128. <el-option
  1129. v-for="dict in authorizedStrength"
  1130. :key="dict.dictValue"
  1131. :label="dict.dictLabel"
  1132. :value="dict.dictValue"
  1133. ></el-option>
  1134. </el-select>
  1135. </el-form-item>
  1136. <el-form-item label="命令号" prop="command">
  1137. <el-input v-model="form.command" placeholder />
  1138. </el-form-item>
  1139. <el-form-item label="待遇级别" prop="treatmentLevel">
  1140. <el-input v-model="form.treatmentLevel" placeholder />
  1141. </el-form-item>
  1142. <el-form-item label="现待遇级别时间" prop="rankUpgradeTime">
  1143. <el-date-picker
  1144. clearable
  1145. size="small"
  1146. v-model="form.rankUpgradeTime"
  1147. type="date"
  1148. value-format="yyyy-MM-dd"
  1149. placeholder
  1150. ></el-date-picker>
  1151. </el-form-item>
  1152. <el-form-item label="专业是否对口" prop="isBianzhi">
  1153. <el-select v-model="form.isBianzhi" clearable placeholder>
  1154. <el-option
  1155. v-for="dict in authorizedStrength"
  1156. :key="dict.dictValue"
  1157. :label="dict.dictLabel"
  1158. :value="dict.dictValue"
  1159. ></el-option>
  1160. </el-select>
  1161. </el-form-item>
  1162. <el-form-item label="工作时间" prop="jobTime">
  1163. <el-date-picker
  1164. clearable
  1165. size="small"
  1166. v-model="form.jobTime"
  1167. type="date"
  1168. value-format="yyyy-MM-dd"
  1169. placeholder
  1170. ></el-date-picker>
  1171. </el-form-item>
  1172. <div class="jiben">家庭信息</div>
  1173. <!-- <span @click="tiaddfun" class="zengJia">+</span> -->
  1174. <el-row
  1175. style="padding-top: 20px; margin-top: 10px; margin-bottom: 20px"
  1176. v-for="(item, index) in jtlist"
  1177. :key="index"
  1178. >
  1179. <el-form-item label="姓名" prop="">
  1180. <el-input v-model="item.name" placeholder />
  1181. </el-form-item>
  1182. <el-form-item label="与本人关系" prop="characterRelationship">
  1183. <el-input v-model="item.characterRelationship" placeholder />
  1184. </el-form-item>
  1185. <el-form-item label="联系电话" prop="phoneNumber">
  1186. <el-input v-model="item.phoneNumber" placeholder />
  1187. </el-form-item>
  1188. <el-form-item label="单位" prop="unitName">
  1189. <!-- <el-input v-model="item.unitName" placeholder /> -->
  1190. <input type="text" v-model="item.unitName" class="input" />
  1191. </el-form-item>
  1192. <el-form-item>
  1193. <el-button
  1194. type="primary"
  1195. icon="el-icon-plus"
  1196. size="mini"
  1197. @click="tiaddfun"
  1198. v-if="index == jtlist.length - 1"
  1199. ></el-button>
  1200. <el-button
  1201. type="danger"
  1202. icon="el-icon-delete"
  1203. size="mini"
  1204. v-if="index > 0"
  1205. @click="jtDelete(index)"
  1206. ></el-button>
  1207. </el-form-item>
  1208. <!-- <el-button
  1209. type="danger"
  1210. icon="el-icon-delete"
  1211. size="mini"
  1212. @click="jtDelete(index)"
  1213. style="height: 36px; margin-left: 575px"
  1214. v-if="index != 0"
  1215. >删除</el-button
  1216. >-->
  1217. </el-row>
  1218. <div class="jiben">培训经历</div>
  1219. <el-form-item label prop="training">
  1220. <el-input v-model="form.training" type="textarea" placeholder />
  1221. </el-form-item>
  1222. <div class="jiben">奖惩情况</div>
  1223. <el-form-item label prop="prize">
  1224. <el-input v-model="form.prize" type="textarea" placeholder />
  1225. </el-form-item>
  1226. <div class="jiben">简历</div>
  1227. <el-form-item
  1228. label
  1229. label-width="0px"
  1230. class="laborcontractuploading"
  1231. prop="readmeFile"
  1232. >
  1233. <fileUpload v-model="form.readmeFile" class="m-l-20" />
  1234. </el-form-item>
  1235. <!-- <el-form-item label prop="readmeFile">
  1236. <el-input v-model="form.readmeFile" type="textarea" placeholder />
  1237. </el-form-item>-->
  1238. </el-form>
  1239. </div>
  1240. <div slot="footer" class="dialog-footer">
  1241. <el-button type="primary" @click="submitForm" v-if="btnflg"
  1242. >确 定</el-button
  1243. >
  1244. <el-button @click="cancel" size="btn">取 消</el-button>
  1245. </div>
  1246. </el-dialog>
  1247. </div>
  1248. </template>
  1249. <script>
  1250. import {
  1251. listPeople,
  1252. getPeople,
  1253. delPeople,
  1254. addPeople,
  1255. updatePeople,
  1256. exportPeople,
  1257. getDept,
  1258. listDept,
  1259. treeselect,
  1260. } from "@/api/peopleManage/people";
  1261. import Cookies from "js-cookie";
  1262. export default {
  1263. name: "People",
  1264. dicts: [
  1265. "sys_user_sex",
  1266. "post_Level",
  1267. "sys_user_rank",
  1268. "personnel_type",
  1269. "Degree_level",
  1270. "degree",
  1271. "Caucus",
  1272. "marryList",
  1273. "sys_yw",
  1274. "healthy",
  1275. "bloodType",
  1276. "sys_yes_no",
  1277. "sys_yes_no",
  1278. "people_state",
  1279. ],
  1280. data() {
  1281. return {
  1282. // 遮罩层
  1283. loading: true,
  1284. // 导出遮罩层
  1285. exportLoading: false,
  1286. // 选中数组
  1287. ids: [],
  1288. // 子表选中数据
  1289. checkedBdglPeople: [],
  1290. // 非单个禁用
  1291. single: true,
  1292. // 非多个禁用
  1293. multiple: true,
  1294. // 显示搜索条件
  1295. showSearch: true,
  1296. // 总条数
  1297. total: 0,
  1298. // 人员管理表格数据
  1299. peopleList: [],
  1300. // 人员管理表格数据
  1301. bdglPeopleList: [],
  1302. // 弹出层标题
  1303. title: "",
  1304. // 是否显示弹出层
  1305. open: false,
  1306. // 查询参数
  1307. queryParams: {
  1308. pageNum: 1,
  1309. pageSize: 10,
  1310. name: null,
  1311. sex: null,
  1312. age: null,
  1313. birthDate: null,
  1314. command: null,
  1315. duty: null,
  1316. postId: null,
  1317. gradeId: null,
  1318. postDate: null,
  1319. job: null,
  1320. skillId: null,
  1321. skillDate: null,
  1322. levelId: null,
  1323. levelDate: null,
  1324. military: null,
  1325. idcard: null,
  1326. enlistDate: null,
  1327. enlistaddress: null,
  1328. rankId: null,
  1329. rankDate: null,
  1330. nationId: null,
  1331. origin: null,
  1332. classId: null,
  1333. educationId: null,
  1334. degreeId: null,
  1335. graduationDate: null,
  1336. school: null,
  1337. partyId: null,
  1338. partyDate: null,
  1339. training: null,
  1340. readmeFile: null,
  1341. readmeFileName: null,
  1342. prize: null,
  1343. marryList: null,
  1344. childrenList: null,
  1345. unitId: null,
  1346. avatar: null,
  1347. address: null,
  1348. phone: null,
  1349. status: null,
  1350. createtimes: null,
  1351. updatetimes: null,
  1352. reign: null,
  1353. jobTime: null,
  1354. healthy: null,
  1355. bloodType: null,
  1356. postTime: null,
  1357. major: null,
  1358. admissionTime: null,
  1359. mobilePhoneModel: null,
  1360. guaranteeCardNo: null,
  1361. payrollCardNo: null,
  1362. authorizedStrength: null,
  1363. aboral: null,
  1364. live: null,
  1365. deptId: null,
  1366. userId: null,
  1367. nowMilitaryRank: null,
  1368. treatmentLevel: null,
  1369. rankUpgradeTime: null,
  1370. },
  1371. // 表单参数
  1372. form: {},
  1373. // 表单校验
  1374. rules: {
  1375. name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
  1376. idcard: [
  1377. { required: true, message: "身份证号不能为空", trigger: "blur" },
  1378. {
  1379. pattern:
  1380. /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
  1381. message: "请输入正确的身份证号",
  1382. trigger: "blur",
  1383. },
  1384. ],
  1385. nationId: [
  1386. { required: true, message: "民族不能为空", trigger: "blur" },
  1387. ],
  1388. sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
  1389. age: [{ required: true, message: "年龄不能为空", trigger: "blur" }],
  1390. birthDate: [
  1391. { required: true, message: "出生年月不能为空", trigger: "blur" },
  1392. ],
  1393. origin: [{ required: true, message: "籍贯不能为空", trigger: "blur" }],
  1394. live: [
  1395. { required: true, message: "家庭住址不能为空", trigger: "blur" },
  1396. ],
  1397. partyId: [
  1398. { required: true, message: "政治面貌不能为空", trigger: "change" },
  1399. ],
  1400. healthy: [
  1401. { required: true, message: "健康情况不能为空", trigger: "change" },
  1402. ],
  1403. marryList: [
  1404. { required: true, message: "婚姻情况不能为空", trigger: "change" },
  1405. ],
  1406. educationId: [
  1407. { required: true, message: "学历不能为空", trigger: "change" },
  1408. ],
  1409. admissionTime: [
  1410. { required: true, message: "入学时间不能为空", trigger: "change" },
  1411. ],
  1412. graduationDate: [
  1413. { required: true, message: "毕业时间不能为空", trigger: "change" },
  1414. ],
  1415. school: [
  1416. { required: true, message: "毕业学校不能为空", trigger: "blur" },
  1417. ],
  1418. phone: [
  1419. { required: true, message: "手机号码不能为空", trigger: "blur" },
  1420. {
  1421. pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
  1422. message: "请输入正确的手机号码",
  1423. trigger: "blur",
  1424. },
  1425. ],
  1426. phoneStandby: [
  1427. {
  1428. pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
  1429. message: "请输入正确的手机号码",
  1430. trigger: "blur",
  1431. },
  1432. ],
  1433. enlistDate: [
  1434. { required: true, message: "入伍时间不能为空", trigger: "change" },
  1435. ],
  1436. authorizedStrength: [
  1437. { required: true, message: "是否编制不能为空", trigger: "change" },
  1438. ],
  1439. deptId: [
  1440. { required: true, message: "单位不能为空", trigger: "change" },
  1441. ],
  1442. // name: [{ required: true, message: "亲属姓名不能为空", trigger: "blur" }]
  1443. // jtname:[{ validator: jtnameblur, trigger: "blur" }],
  1444. // characterRelationship: [
  1445. // { required: true, message: "与本人关系必填一个", trigger: "blur" }
  1446. // ],
  1447. // phoneNumber: [
  1448. // { required: true, message: "联系电话不能为空", trigger: "blur" },
  1449. // {
  1450. // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
  1451. // message: "请输入正确的手机号码",
  1452. // trigger: "blur"
  1453. // }
  1454. // ],
  1455. // unitName: [{ required: true, message: "单位不能为空", trigger: "blur" }]
  1456. },
  1457. //性别数组
  1458. sexList: [],
  1459. //血型数组
  1460. bloodType: [],
  1461. //政治面貌
  1462. partyIds: [],
  1463. //健康状况
  1464. healthy: [],
  1465. //婚姻情况
  1466. marryList: [],
  1467. //学历
  1468. educationId: [],
  1469. //学位
  1470. degree: [],
  1471. //是否编制
  1472. authorizedStrength: [],
  1473. //子女情况
  1474. childrenList: [],
  1475. //人员类别
  1476. classId: [],
  1477. //职务层级
  1478. postIds: [],
  1479. //军衔
  1480. rankIds: [],
  1481. //单位
  1482. deptId: [],
  1483. //民族
  1484. nationIds: [],
  1485. unitId: [],
  1486. jtlist: [
  1487. {
  1488. name: null,
  1489. characterRelationship: null,
  1490. phoneNumber: null,
  1491. unitName: null,
  1492. },
  1493. ],
  1494. defaultProps: {
  1495. children: "children",
  1496. label: "label",
  1497. },
  1498. deptOptions: [],
  1499. value: null,
  1500. btnflg: false,
  1501. };
  1502. },
  1503. created() {
  1504. // if (Cookies.get("shuaxin") != "true") {
  1505. // window.location.reload();
  1506. // }
  1507. // Cookies.set("shuaxin", "true");
  1508. this.getList();
  1509. //性别
  1510. this.getDicts("sys_user_sex").then((response) => {
  1511. this.sexList = response.data;
  1512. });
  1513. //血型
  1514. this.getDicts("bloodType").then((response) => {
  1515. this.bloodType = response.data;
  1516. });
  1517. //政治面貌
  1518. this.getDicts("Caucus").then((response) => {
  1519. this.partyIds = response.data;
  1520. });
  1521. //健康情况
  1522. this.getDicts("healthy").then((response) => {
  1523. this.healthy = response.data;
  1524. });
  1525. //婚姻情况
  1526. this.getDicts("marryList").then((response) => {
  1527. this.marryList = response.data;
  1528. });
  1529. //学历
  1530. this.getDicts("Degree_level").then((response) => {
  1531. this.educationId = response.data;
  1532. });
  1533. //婚姻情况
  1534. this.getDicts("degree").then((response) => {
  1535. this.degree = response.data;
  1536. });
  1537. //是否编制
  1538. this.getDicts("sys_yes_no").then((response) => {
  1539. this.authorizedStrength = response.data;
  1540. });
  1541. //子女情况
  1542. this.getDicts("sys_yw").then((response) => {
  1543. this.childrenList = response.data;
  1544. });
  1545. //人员类别
  1546. this.getDicts("personnel_type").then((response) => {
  1547. this.classId = response.data;
  1548. });
  1549. //职务层级
  1550. this.getDicts("post_Level").then((response) => {
  1551. this.postIds = response.data;
  1552. });
  1553. //军衔
  1554. this.getDicts("sys_user_rank").then((response) => {
  1555. this.rankIds = response.data;
  1556. });
  1557. //民族
  1558. this.getDicts("sys_familyName").then((response) => {
  1559. this.nationIds = response.data;
  1560. });
  1561. //部门数据
  1562. getDept().then((res) => {
  1563. if (res.code == 200) {
  1564. this.unitId = res.data;
  1565. }
  1566. });
  1567. treeselect().then((res) => {
  1568. console.log(res);
  1569. if (res.code == 200) {
  1570. this.deptOptions = res.data;
  1571. }
  1572. });
  1573. },
  1574. methods: {
  1575. //单位翻译
  1576. deptIdformatter(row, column) {
  1577. var deptName = "";
  1578. this.unitId.map((item) => {
  1579. if (item.deptId == row.deptId) {
  1580. deptName = item.deptName;
  1581. }
  1582. });
  1583. return deptName;
  1584. },
  1585. /** 查询人员管理列表 */
  1586. getList() {
  1587. this.loading = true;
  1588. listPeople(this.queryParams).then((response) => {
  1589. this.peopleList = response.rows;
  1590. this.total = response.total;
  1591. this.loading = false;
  1592. });
  1593. },
  1594. // 取消按钮
  1595. cancel() {
  1596. this.open = false;
  1597. this.reset();
  1598. },
  1599. // 表单重置
  1600. reset() {
  1601. this.form = {
  1602. id: null,
  1603. name: null,
  1604. sex: null,
  1605. age: null,
  1606. birthDate: null,
  1607. command: null,
  1608. duty: null,
  1609. postId: null,
  1610. gradeId: null,
  1611. postDate: null,
  1612. job: null,
  1613. skillId: null,
  1614. skillDate: null,
  1615. levelId: null,
  1616. levelDate: null,
  1617. military: null,
  1618. idcard: null,
  1619. enlistDate: null,
  1620. enlistaddress: null,
  1621. rankId: null,
  1622. rankDate: null,
  1623. nationId: null,
  1624. origin: null,
  1625. classId: null,
  1626. educationId: null,
  1627. degreeId: null,
  1628. graduationDate: null,
  1629. school: null,
  1630. partyId: null,
  1631. partyDate: null,
  1632. training: null,
  1633. readmeFile: null,
  1634. readmeFileName: null,
  1635. prize: null,
  1636. marryList: null,
  1637. childrenList: null,
  1638. unitId: null,
  1639. avatar: null,
  1640. address: null,
  1641. phone: null,
  1642. status: 0,
  1643. createtimes: null,
  1644. updatetimes: null,
  1645. reign: null,
  1646. jobTime: null,
  1647. healthy: null,
  1648. bloodType: null,
  1649. postTime: null,
  1650. major: null,
  1651. admissionTime: null,
  1652. mobilePhoneModel: null,
  1653. guaranteeCardNo: null,
  1654. payrollCardNo: null,
  1655. authorizedStrength: null,
  1656. aboral: null,
  1657. live: null,
  1658. deptId: null,
  1659. userId: null,
  1660. nowMilitaryRank: null,
  1661. treatmentLevel: null,
  1662. rankUpgradeTime: null,
  1663. phoneStandby: null,
  1664. deptName: null,
  1665. isBianzhi: null,
  1666. };
  1667. this.bdglPeopleList = [];
  1668. this.resetForm("form");
  1669. },
  1670. /** 搜索按钮操作 */
  1671. handleQuery() {
  1672. this.queryParams.pageNum = 1;
  1673. this.getList();
  1674. },
  1675. /** 重置按钮操作 */
  1676. resetQuery() {
  1677. this.resetForm("queryForm");
  1678. this.handleQuery();
  1679. },
  1680. // 多选框选中数据
  1681. handleSelectionChange(selection) {
  1682. this.ids = selection.map((item) => item.id);
  1683. this.single = selection.length !== 1;
  1684. this.multiple = !selection.length;
  1685. },
  1686. /** 新增按钮操作 */
  1687. handleAdd() {
  1688. this.reset();
  1689. this.open = true;
  1690. this.title = "添加人员管理";
  1691. this.btnflg = true;
  1692. this.jtlist = [
  1693. {
  1694. name: null,
  1695. characterRelationship: null,
  1696. phoneNumber: null,
  1697. unitName: null,
  1698. },
  1699. ];
  1700. },
  1701. /** 查看按钮操作 */
  1702. handlesee(row) {
  1703. this.reset();
  1704. const id = row.id || this.ids;
  1705. getPeople(id).then((response) => {
  1706. this.form = response.data;
  1707. this.jtlist = response.data.familyInformation;
  1708. //家庭人员判空处理
  1709. if (this.form.familyInformation.length > 0) {
  1710. this.jtlist = response.data.familyInformation;
  1711. } else {
  1712. this.jtlist = [
  1713. {
  1714. name: null,
  1715. characterRelationship: null,
  1716. phoneNumber: null,
  1717. unitName: null,
  1718. },
  1719. ];
  1720. }
  1721. this.bdglPeopleList = response.data.bdglPeopleList;
  1722. this.open = true;
  1723. this.title = "查看人员管理";
  1724. this.btnflg = false;
  1725. });
  1726. },
  1727. /** 修改按钮操作 */
  1728. handleUpdate(row) {
  1729. this.reset();
  1730. const id = row.id || this.ids;
  1731. getPeople(id).then((response) => {
  1732. this.form = response.data;
  1733. //家庭人员判空处理
  1734. if (this.form.familyInformation.length > 0) {
  1735. this.jtlist = response.data.familyInformation;
  1736. } else {
  1737. this.jtlist = [
  1738. {
  1739. name: null,
  1740. characterRelationship: null,
  1741. phoneNumber: null,
  1742. unitName: null,
  1743. },
  1744. ];
  1745. }
  1746. this.bdglPeopleList = response.data.bdglPeopleList;
  1747. this.open = true;
  1748. this.title = "修改人员管理";
  1749. this.btnflg = true;
  1750. });
  1751. },
  1752. /** 提交按钮 */
  1753. submitForm() {
  1754. // console.log(this.form.laborContractUploading)
  1755. this.$refs["form"].validate((valid) => {
  1756. if (valid) {
  1757. if (this.form.readmeFile) {
  1758. this.form.readmeFile = this.form.readmeFile[0].name;
  1759. }
  1760. this.form.deptName = this.$refs["deptId"].selectedLabel;
  1761. this.form.bdglPeopleList = this.bdglPeopleList;
  1762. this.form.familyInformation = this.jtlist;
  1763. if (this.form.id != null) {
  1764. updatePeople(this.form).then((response) => {
  1765. this.$modal.msgSuccess("修改成功");
  1766. this.open = false;
  1767. this.getList();
  1768. });
  1769. } else {
  1770. this.form.familyInformation = this.jtlist;
  1771. this.form.deptName = this.$refs["deptId"].selectedLabel;
  1772. addPeople(this.form).then((response) => {
  1773. this.$modal.msgSuccess("新增成功");
  1774. this.open = false;
  1775. this.getList();
  1776. });
  1777. }
  1778. }
  1779. });
  1780. },
  1781. /** 删除按钮操作 */
  1782. handleDelete(row) {
  1783. const ids = row.id || this.ids;
  1784. this.$modal
  1785. .confirm("是否确认删除人员管理的数据项?")
  1786. .then(function () {
  1787. return delPeople(ids);
  1788. })
  1789. .then(() => {
  1790. this.getList();
  1791. this.$modal.msgSuccess("删除成功");
  1792. })
  1793. .catch(() => {});
  1794. },
  1795. /** 人员管理序号 */
  1796. rowBdglPeopleIndex({ row, rowIndex }) {
  1797. row.index = rowIndex + 1;
  1798. },
  1799. /** 人员管理添加按钮操作 */
  1800. handleAddBdglPeople() {
  1801. let obj = {};
  1802. obj.name = "";
  1803. obj.sex = "";
  1804. obj.age = "";
  1805. obj.birthDate = "";
  1806. obj.command = "";
  1807. obj.duty = "";
  1808. obj.postId = "";
  1809. obj.gradeId = "";
  1810. obj.postDate = "";
  1811. obj.job = "";
  1812. obj.skillId = "";
  1813. obj.skillDate = "";
  1814. obj.levelId = "";
  1815. obj.levelDate = "";
  1816. obj.military = "";
  1817. obj.idcard = "";
  1818. obj.enlistDate = "";
  1819. obj.enlistaddress = "";
  1820. obj.rankId = "";
  1821. obj.rankDate = "";
  1822. obj.nationId = "";
  1823. obj.origin = "";
  1824. obj.classId = "";
  1825. obj.educationId = "";
  1826. obj.degreeId = "";
  1827. obj.graduationDate = "";
  1828. obj.school = "";
  1829. obj.partyId = "";
  1830. obj.partyDate = "";
  1831. obj.training = "";
  1832. obj.readmeFile = "";
  1833. obj.readmeFileName = "";
  1834. obj.prize = "";
  1835. obj.marryList = "";
  1836. obj.childrenList = "";
  1837. obj.unitId = "";
  1838. obj.avatar = "";
  1839. obj.address = "";
  1840. obj.phone = "";
  1841. obj.status = "";
  1842. obj.createtimes = "";
  1843. obj.updatetimes = "";
  1844. obj.reign = "";
  1845. obj.jobTime = "";
  1846. obj.healthy = "";
  1847. obj.bloodType = "";
  1848. obj.postTime = "";
  1849. obj.major = "";
  1850. obj.admissionTime = "";
  1851. obj.mobilePhoneModel = "";
  1852. obj.guaranteeCardNo = "";
  1853. obj.payrollCardNo = "";
  1854. obj.authorizedStrength = "";
  1855. obj.aboral = "";
  1856. obj.live = "";
  1857. obj.userId = "";
  1858. obj.nowMilitaryRank = "";
  1859. obj.treatmentLevel = "";
  1860. obj.rankUpgradeTime = "";
  1861. this.bdglPeopleList.push(obj);
  1862. },
  1863. /** 人员管理删除按钮操作 */
  1864. handleDeleteBdglPeople() {
  1865. if (this.checkedBdglPeople.length == 0) {
  1866. this.$modal.msgError("请先选择要删除的人员管理数据");
  1867. } else {
  1868. const bdglPeopleList = this.bdglPeopleList;
  1869. const checkedBdglPeople = this.checkedBdglPeople;
  1870. this.bdglPeopleList = bdglPeopleList.filter(function (item) {
  1871. return checkedBdglPeople.indexOf(item.index) == -1;
  1872. });
  1873. }
  1874. },
  1875. /** 复选框选中数据 */
  1876. handleBdglPeopleSelectionChange(selection) {
  1877. this.checkedBdglPeople = selection.map((item) => item.index);
  1878. },
  1879. /** 导出按钮操作 */
  1880. handleExport() {
  1881. const queryParams = this.queryParams;
  1882. this.$modal
  1883. .confirm("是否确认导出所有人员管理数据项?")
  1884. .then(() => {
  1885. this.exportLoading = true;
  1886. return exportPeople(queryParams);
  1887. })
  1888. .then((response) => {
  1889. this.$download.name(response.msg);
  1890. this.exportLoading = false;
  1891. })
  1892. .catch(() => {});
  1893. },
  1894. //新增家庭成员
  1895. tiaddfun() {
  1896. this.jtlist.push({
  1897. name: null,
  1898. characterRelationship: null,
  1899. phoneNumber: null,
  1900. unitName: null,
  1901. });
  1902. },
  1903. //删除家庭成员
  1904. jtDelete(i) {
  1905. this.jtlist.splice(i, 1);
  1906. },
  1907. //身份证号
  1908. idcardfun() {
  1909. this.form.sex =
  1910. this.form.idcard.substr(this.form.idcard.length - 2, 1) % 2 == 1
  1911. ? "0"
  1912. : "1";
  1913. this.form.birthDate =
  1914. this.form.idcard.substr(6, 4) +
  1915. "-" +
  1916. this.form.idcard.substr(10, 2) +
  1917. "-" +
  1918. this.form.idcard.substr(12, 2);
  1919. var myDate = new Date();
  1920. this.form.age = myDate.getFullYear() - this.form.idcard.substr(6, 4);
  1921. listPeople({ idcard: this.form.idcard }).then((response) => {
  1922. console.log();
  1923. if (response.rows.length > 0) {
  1924. this.form.idcard = null;
  1925. this.form.age = null;
  1926. this.form.birthDate = null;
  1927. this.form.sex = null;
  1928. this.$modal.msgError("该人员已存在,无需重复添加");
  1929. }
  1930. });
  1931. },
  1932. // 筛选节点
  1933. filterNode(value, data) {
  1934. if (!value) return true;
  1935. return data.label.indexOf(value) !== -1;
  1936. },
  1937. // 节点单击事件
  1938. handleNodeClick(data) {
  1939. this.queryParams.deptId = data.id;
  1940. this.getList();
  1941. },
  1942. },
  1943. };
  1944. </script>
  1945. <style scoped>
  1946. ::v-deep .el-dialog {
  1947. width: 1100px !important;
  1948. background-color: #004d86;
  1949. }
  1950. ::v-deep .el-dialog__header {
  1951. border-bottom: 1px solid #718a9d;
  1952. }
  1953. ::v-deep .el-dialog__title {
  1954. color: #fff;
  1955. font: 18px;
  1956. }
  1957. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  1958. color: #fff;
  1959. }
  1960. .el-form-item ::v-deep .el-input__inner {
  1961. width: 200px;
  1962. height: 36px;
  1963. background: transparent !important;
  1964. color: #fff;
  1965. border: 1px solid #fff !important;
  1966. }
  1967. ::v-deep .el-date-editor.el-input {
  1968. width: 200px;
  1969. height: 36px;
  1970. }
  1971. .pictureUploading-img img {
  1972. width: 60px;
  1973. height: 210px;
  1974. margin-right: 10px;
  1975. }
  1976. ::v-deep .el-upload--picture-card {
  1977. height: 210px;
  1978. width: 170px;
  1979. line-height: 210px;
  1980. background-image: url("../../../assets/images/头像.png");
  1981. background-repeat: no-repeat;
  1982. background-size: 100% 100%;
  1983. }
  1984. ::v-deep .el-upload--picture-card .el-icon-plus {
  1985. display: none;
  1986. }
  1987. .el-upload--picture-card /deep/ .el-upload--picture-card i {
  1988. font-size: 48px;
  1989. }
  1990. ::v-deep .el-upload__tip {
  1991. display: none;
  1992. }
  1993. ::v-deep .el-textarea__inner {
  1994. width: 990px;
  1995. height: 104px;
  1996. }
  1997. .jiben span {
  1998. width: 25px;
  1999. height: 25px;
  2000. display: inline-block;
  2001. background-color: #1c86e1;
  2002. line-height: 25px;
  2003. text-align: center;
  2004. font-size: 16px;
  2005. cursor: pointer;
  2006. /* margin-left: 851px; */
  2007. position: absolute;
  2008. right: 20px;
  2009. }
  2010. .el-select-dropdown__item:hover {
  2011. color: #1c86e1;
  2012. }
  2013. .el-select-dropdown__item {
  2014. color: #000 !important;
  2015. }
  2016. .el-tree {
  2017. background-color: #00365f;
  2018. color: #fff;
  2019. }
  2020. ::v-deep .el-tree-node__content:hover {
  2021. color: #fff;
  2022. background-color: #003156;
  2023. background-image: url("../../../assets/images/选中.png");
  2024. background-size: 100% 100%;
  2025. background-repeat: no-repeat;
  2026. }
  2027. ::v-deep
  2028. .el-tree--highlight-current
  2029. .el-tree-node.is-current
  2030. > .el-tree-node__content {
  2031. color: #fff !important;
  2032. background-color: #003156;
  2033. background-image: url("../../../assets/images/选中.png");
  2034. background-size: 100% 100%;
  2035. background-repeat: no-repeat;
  2036. }
  2037. ::v-deep .el-tree-node__label {
  2038. color: #fff !important;
  2039. }
  2040. ::v-deep .el-upload-list--picture-card .el-upload-list__item {
  2041. height: 210px;
  2042. width: 170px;
  2043. }
  2044. .dadui {
  2045. height: 40px;
  2046. background: #003156;
  2047. /* border-bottom: 1px solid #718A9D ; */
  2048. background-image: url("../../../assets/images/矩形 1386 拷贝.png");
  2049. background-repeat: no-repeat;
  2050. background-position: 0px 39px;
  2051. font-size: 16px;
  2052. color: #1d96ff;
  2053. }
  2054. .dadui img {
  2055. margin: 10px 10px 0px 10px;
  2056. }
  2057. .data {
  2058. height: 40px;
  2059. background: #003156;
  2060. margin-bottom: 12px;
  2061. color: #fff;
  2062. display: flex;
  2063. font-size: 13px;
  2064. line-height: 25px;
  2065. position: relative;
  2066. }
  2067. .el-tree {
  2068. padding: 10px;
  2069. background: #003156;
  2070. color: #fff;
  2071. }
  2072. .data p {
  2073. position: absolute;
  2074. top: -5px;
  2075. left: 15px;
  2076. }
  2077. .data .a1 {
  2078. width: 128px;
  2079. height: 26px;
  2080. background: rgba(23, 74, 112, 0.4);
  2081. border-radius: 13px;
  2082. position: absolute;
  2083. top: 7px;
  2084. left: 60px;
  2085. }
  2086. ::v-deep .data .el-date-editor.el-input {
  2087. width: 100%;
  2088. border: none;
  2089. }
  2090. ::v-deep .data .el-input__inner {
  2091. width: 100% !important;
  2092. border: none;
  2093. }
  2094. ::v-deep .data .el-input--medium .el-input__icon {
  2095. line-height: 36px;
  2096. position: absolute;
  2097. right: -223px;
  2098. top: 2px;
  2099. }
  2100. ::v-deep .data .el-input__inner {
  2101. background-color: transparent;
  2102. color: #fff;
  2103. text-align: center;
  2104. margin-top: 2px;
  2105. }
  2106. ::v-deep .data .el-input__suffix {
  2107. position: absolute;
  2108. right: 281px;
  2109. }
  2110. ::v-deep
  2111. .el-tree--highlight-current
  2112. .el-tree-node.is-current
  2113. > .el-tree-node__content {
  2114. color: #00365f !important;
  2115. /* background-color: #003156 !important; */
  2116. }
  2117. ::v-deep .tree .el-tree {
  2118. min-height: 740px;
  2119. }
  2120. ::v-deep .el-tree-node__content {
  2121. height: 32px;
  2122. }
  2123. ::v-deep .el-dialog__body {
  2124. padding: 0px 0px;
  2125. padding-top: 30px;
  2126. padding-bottom: 30px;
  2127. padding-left: 50px;
  2128. }
  2129. ::v-deep .el-dialog__footer {
  2130. padding-right: 60px;
  2131. }
  2132. /* 家庭信息单位输入框 */
  2133. .input {
  2134. outline: none;
  2135. color: #fff;
  2136. background-color: transparent;
  2137. border: 1px solid #fff;
  2138. height: 36px;
  2139. width: 521px;
  2140. border-radius: 4px;
  2141. padding: 0px 18px;
  2142. margin-right: 230px;
  2143. }
  2144. ::v-deep img {
  2145. object-fit: cover;
  2146. }
  2147. </style>