index.vue 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501
  1. <template>
  2. <div class="app-container">
  3. <el-row :gutter="20">
  4. <el-col :span="4" :xs="24">
  5. <dept-tree-one :userId="user.userData.dept.parentId" :isFive="true" :isJl="true" :expandOnClickNode="false"
  6. :showCheckbox="false"
  7. @handleNodeClick="handleNodeClick">
  8. </dept-tree-one>
  9. </el-col>
  10. <el-col :span="20" :xs="24">
  11. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
  12. label-width="90px">
  13. <!--<el-form-item label="行政区划" prop="xzqh">-->
  14. <!--<RegionCascaderSelect v-model="xzqh" style="width: 100%" valueProp="code" :isDataRoot="true">-->
  15. <!--</RegionCascaderSelect>-->
  16. <!--</el-form-item>-->
  17. <el-form-item label="老人状态" prop="status">
  18. <el-select v-model="queryParams.status" placeholder="请选择老人状态" clearable>
  19. <el-option v-for="dict in dict.type.GL003" :key="dict.value" :label="dict.label" :value="dict.value">
  20. </el-option>
  21. </el-select>
  22. </el-form-item>
  23. <el-form-item label="姓名" prop="sqrXm">
  24. <el-input
  25. v-model="queryParams.sqrXm"
  26. placeholder="请输入申请人姓名"
  27. clearable
  28. @keyup.enter.native="handleQuery"
  29. />
  30. </el-form-item>
  31. <el-form-item label="身份证号" prop="sqrZjhm">
  32. <el-input
  33. v-model="queryParams.sqrZjhm"
  34. placeholder="请输入申请人身份证号"
  35. clearable
  36. @keyup.enter.native="handleQuery"
  37. />
  38. </el-form-item>
  39. <el-form-item label="联系电话" prop="sqrLxdh">
  40. <el-input
  41. v-model="queryParams.sqrLxdh"
  42. placeholder="请输入申请人联系电话"
  43. clearable
  44. @keyup.enter.native="handleQuery"
  45. />
  46. </el-form-item>
  47. <el-form-item label="健康状况" prop="state">
  48. <el-select v-model="queryParams.jkzkDjzt" placeholder="请选择健康状况" clearable>
  49. <el-option v-for="dict in dict.type.GL010" :key="dict.value" :label="dict.label" :value="dict.value">
  50. </el-option>
  51. </el-select>
  52. </el-form-item>
  53. <el-form-item label="年龄段" prop="nld">
  54. <el-select v-model="queryParams.nld" placeholder="请选择年龄段" clearable>
  55. <el-option v-for="item in options"
  56. :key="item.value"
  57. :label="item.label"
  58. :value="item.value"/>
  59. </el-select>
  60. </el-form-item>
  61. <el-form-item label="是否低保" prop="isdb">
  62. <el-select v-model="queryParams.isdb" placeholder="请选择是否低保" clearable>
  63. <el-option v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.label" :value="dict.value"/>
  64. </el-select>
  65. </el-form-item>
  66. <el-form-item label="补贴标准" prop="pc">
  67. <el-select v-model="queryParams.pc" placeholder="请选择补贴标准" clearable>
  68. <el-option
  69. v-for="dict in dict.type.GL013"
  70. :key="dict.value"
  71. :label="dict.label"
  72. :value="dict.value"
  73. />
  74. </el-select>
  75. </el-form-item>
  76. <el-form-item>
  77. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  78. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  79. </el-form-item>
  80. </el-form>
  81. <el-row :gutter="10" class="mb8">
  82. <el-col :span="1.5">
  83. <el-button
  84. type="primary"
  85. plain
  86. icon="el-icon-plus"
  87. size="mini"
  88. @click="handleAdd"
  89. >新增</el-button>
  90. </el-col>
  91. <el-col :span="1.5">
  92. <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleImport(true)" v-hasPermi="['gljt:temp:exprot']"
  93. >导入
  94. </el-button>
  95. </el-col>
  96. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  97. </el-row>
  98. <el-table v-loading="loading" :data="gljtLrList">
  99. <el-table-column label="序号" align="center" width="55">
  100. <template slot-scope="scope">
  101. {{(queryParams.pageNum-1)*queryParams.pageSize + scope.$index + 1}}
  102. </template>
  103. </el-table-column>
  104. <el-table-column label="姓名" align="center" prop="sqrXm"/>
  105. <el-table-column label="性别" align="center" prop="xb">
  106. <template slot-scope="scope">
  107. <dict-tag :options="dict.type.C0007" :value="scope.row.xb"/>
  108. </template>
  109. </el-table-column>
  110. <el-table-column label="补贴标准" align="center" prop="pc" width="100">
  111. <template slot-scope="scope">
  112. <dict-tag :options="dict.type.GL013" :value="scope.row.pc"/>
  113. </template>
  114. </el-table-column>
  115. <el-table-column label="身份证号" align="center" prop="sqrZjhm" width="180"/>
  116. <el-table-column label="行政区划" align="center" prop="xzqhName" width="350"/>
  117. <el-table-column label="联系电话" align="center" prop="sqrLxdh" width="160"/>
  118. <el-table-column label="数据状态" align="center" prop="isImport">
  119. <template slot-scope="scope">
  120. <dict-tag :options="dict.type.GL019" :value="scope.row.isImport"/>
  121. </template>
  122. </el-table-column>
  123. <el-table-column label="始发年月" align="center" prop="ffyf">
  124. <template slot-scope="scope">
  125. {{scope.row.ffyf&&scope.row.ffyf.length>=6?scope.row.ffyf.slice(0,4)+'-'+scope.row.ffyf.slice(-2):scope.row.ffyf}}
  126. </template>
  127. </el-table-column>
  128. <el-table-column label="健康状况" align="center" prop="jkzkDjzt" width="120">
  129. <template slot-scope="scope">
  130. <dict-tag :options="dict.type.GL010" :value="scope.row.jkzkDjzt"/>
  131. </template>
  132. </el-table-column>
  133. <el-table-column label="老人状态" align="center" prop="status">
  134. <template slot-scope="scope">
  135. <dict-tag :options="dict.type.GL003" :value="scope.row.status"/>
  136. </template>
  137. </el-table-column>
  138. <!--<el-table-column label="申请人头像" align="center" prop="tx" />-->
  139. <!--<el-table-column label="出生日期" align="center" prop="csrq" width="180">-->
  140. <!--<template slot-scope="scope">-->
  141. <!--<span>{{ special(scope.row.csrq) }}</span>-->
  142. <!--</template>-->
  143. <!--</el-table-column>-->
  144. <!--<el-table-column label="居住地址" align="center" prop="jzdz" />-->
  145. <!--<el-table-column label="创建人行政区划编码" align="center" prop="createAreaCode" />-->
  146. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="280">
  147. <template slot-scope="scope">
  148. <el-button
  149. size="mini"
  150. type="text"
  151. icon="el-icon-edit"
  152. @click="handleUpdate(scope.row)"
  153. >修改</el-button>
  154. <!--<el-button-->
  155. <!--size="mini"-->
  156. <!--type="text"-->
  157. <!--icon="el-icon-plus"-->
  158. <!--@click="handleAdd(scope.row)"-->
  159. <!--v-hasPermi="['gljt:jkzkDj:add']"-->
  160. <!--&gt;健康状况登记-->
  161. <!--</el-button>-->
  162. <el-button
  163. size="mini"
  164. type="text"
  165. icon="el-icon-edit"
  166. @click="handleXq(scope.row)"
  167. v-hasPermi="['gljt:gljtLr:edit']"
  168. >详情
  169. </el-button>
  170. <el-button
  171. size="mini"
  172. type="text"
  173. icon="el-icon-delete"
  174. @click="handleDelete(scope.row,scope.$index)"
  175. v-hasPermi="['gljt:temp:exprot']"
  176. >删除</el-button>
  177. </template>
  178. </el-table-column>
  179. </el-table>
  180. <pagination
  181. v-show="total>0"
  182. :total="total"
  183. :page.sync="queryParams.pageNum"
  184. :limit.sync="queryParams.pageSize"
  185. @pagination="getList"
  186. />
  187. </el-col>
  188. </el-row>
  189. <!-- 添加或修改高龄津贴申请老人信息对话框 -->
  190. <el-dialog v-dialog-drag :title="title" :visible.sync="open" width="1000px" append-to-body>
  191. <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  192. <h3>基本信息</h3>
  193. <div class="grid3">
  194. <el-form-item label="姓名" prop="sqrXm">
  195. <label slot="label"
  196. >姓<span style="opacity: 0">姓名</span>名</label
  197. >
  198. <el-input
  199. v-model="form.sqrXm"
  200. @change="changHm"
  201. placeholder="请输入申请人姓名"
  202. />
  203. </el-form-item>
  204. <el-form-item label="性别" prop="xb">
  205. <label slot="label"
  206. >性<span style="opacity: 0">性别</span>别</label
  207. >
  208. <el-select disabled v-model="form.xb" placeholder="请选择性别">
  209. <el-option
  210. v-for="dict in dict.type.C0007"
  211. :key="dict.value"
  212. :label="dict.label"
  213. :value="dict.value"
  214. >
  215. </el-option>
  216. </el-select>
  217. </el-form-item>
  218. <el-form-item label="出生日期" prop="csrq">
  219. <el-date-picker
  220. disabled
  221. clearable
  222. v-model="form.csrq"
  223. type="date"
  224. value-format="yyyyMMdd"
  225. placeholder="请选择出生日期"
  226. >
  227. </el-date-picker>
  228. </el-form-item>
  229. <el-form-item label="民族" prop="mz">
  230. <label slot="label"
  231. >民<span style="opacity: 0">民族</span>族</label
  232. >
  233. <el-select v-model="form.mz" placeholder="请选择民族">
  234. <el-option
  235. v-for="dict in dict.type.C0009"
  236. :key="dict.value"
  237. :label="dict.label"
  238. :value="dict.value"
  239. >
  240. </el-option>
  241. </el-select>
  242. </el-form-item>
  243. <el-form-item label="身份证号" prop="sqrZjhm">
  244. <el-input
  245. v-model="form.sqrZjhm"
  246. placeholder="请输入申请人身份证号"
  247. @change="changeZjhm"
  248. />
  249. </el-form-item>
  250. <el-form-item label="发证机关" prop="fzjg">
  251. <el-input
  252. v-model="form.fzjg"
  253. placeholder="请输入发证机关"
  254. />
  255. </el-form-item>
  256. <el-form-item label="户籍社区" prop="xzqh">
  257. <RegionCascaderSelect
  258. v-model="form.xzqh"
  259. style="width: 100%"
  260. valueProp="code"
  261. :isDataRoot="true"
  262. >
  263. </RegionCascaderSelect>
  264. </el-form-item>
  265. <el-form-item label="护理等级" prop="sndj">
  266. <el-select v-model="form.sndj" placeholder="请选择护理等级">
  267. <el-option
  268. v-for="dict in dict.type.GL021"
  269. :key="dict.value"
  270. :label="dict.label"
  271. :value="dict.value"
  272. >
  273. </el-option>
  274. </el-select>
  275. </el-form-item>
  276. <el-form-item label="联系电话" prop="sqrLxdh">
  277. <el-input
  278. v-model="form.sqrLxdh"
  279. placeholder="请输入申请人联系电话"
  280. />
  281. </el-form-item>
  282. <el-form-item label="联系电话2" prop="sqrLxdh2 ">
  283. <el-input
  284. v-model="form.sqrLxdh2"
  285. placeholder="请输入申请人联系电话"
  286. />
  287. </el-form-item>
  288. <el-form-item label="居住区划" prop="xjdxzqh">
  289. <RegionCascaderSelect
  290. v-model="form.xjdxzqh"
  291. style="width: 100%"
  292. valueProp="code"
  293. :isJl="false"
  294. :isDataRoot="false"
  295. >
  296. </RegionCascaderSelect>
  297. </el-form-item>
  298. <el-form-item
  299. label="户籍地址"
  300. prop="hjdz"
  301. style="grid-column: 1 / span 3"
  302. >
  303. <el-input
  304. v-model="form.hjdz"
  305. placeholder="请输入户籍地址"
  306. />
  307. </el-form-item>
  308. <el-form-item
  309. label="现居地址"
  310. prop="jzdz"
  311. style="grid-column: 1 / span 3"
  312. >
  313. <el-input
  314. v-model="form.jzdz"
  315. placeholder="请输入详情居住地址"
  316. />
  317. </el-form-item>
  318. <!--是否显示是否迁入配置-->
  319. <!--<el-form-item label="是否迁入" prop="isqr" v-if="user.qxpz&&user.qxpz.isqr&&user.qxpz.isqr=='1'">-->
  320. <!--<el-radio-group v-model="form.isqr" @change="chengeIsqr">-->
  321. <!--<el-radio-->
  322. <!--v-for="dict in dict.type.CZ035"-->
  323. <!--:key="dict.value"-->
  324. <!--:label="dict.value"-->
  325. <!--&gt;{{ dict.label }}-->
  326. <!--</el-radio>-->
  327. <!--</el-radio-group>-->
  328. <!--</el-form-item>-->
  329. <!--<el-form-item label="迁入日期" prop="qrsj" v-if="form.isqr=='1'&&user.qxpz.isqr&&user.qxpz.isqr=='1'">-->
  330. <!--<el-date-picker-->
  331. <!--clearable-->
  332. <!--v-model="form.qrsj"-->
  333. <!--@change="getQxBfPz"-->
  334. <!--type="date"-->
  335. <!--value-format="yyyyMMdd"-->
  336. <!--placeholder="请选择迁入日期"-->
  337. <!--&gt;-->
  338. <!--</el-date-picker>-->
  339. <!--</el-form-item>-->
  340. </div>
  341. <h3>银行卡信息</h3>
  342. <div style="display: flex">
  343. <div style="flex: 2" class="grid2">
  344. <el-form-item label="开户银行" prop="khyh">
  345. <el-cascader
  346. style="width: 100%;"
  347. :props="props"
  348. :options="dict.tree.C0044"
  349. v-model="form.khyh"
  350. placeholder="请选择开户银行"
  351. clearable
  352. />
  353. </el-form-item>
  354. <el-form-item label="银行网点" prop="khwd">
  355. <el-input v-model="form.khwd" placeholder="请输入银行网点" />
  356. </el-form-item>
  357. <el-form-item label="账号" prop="yhzh">
  358. <label slot="label"
  359. >账<span style="opacity: 0">账号</span>号</label
  360. >
  361. <el-input v-model="form.yhzh" placeholder="请输入银行账号" />
  362. </el-form-item>
  363. <el-form-item label="户名" prop="khmc">
  364. <label slot="label"
  365. >户<span style="opacity: 0">户名</span>名</label
  366. >
  367. <el-input
  368. disabled
  369. v-model="form.khmc"
  370. placeholder="请输入户名"
  371. />
  372. </el-form-item>
  373. </div>
  374. </div>
  375. <h3>监护人信息</h3>
  376. <div style="display: flex">
  377. <div style="flex: 2" class="grid2">
  378. <el-form-item label="姓名" prop="jhrXm">
  379. <label slot="label"
  380. >姓<span style="opacity: 0">姓名</span>名</label
  381. >
  382. <el-input
  383. v-model="form.jhrXm"
  384. placeholder="请输入监护人姓名"
  385. />
  386. </el-form-item>
  387. <el-form-item label="身份证号" prop="jhrZjhm">
  388. <el-input
  389. v-model="form.jhrZjhm"
  390. placeholder="请输入监护人身份证号"
  391. />
  392. </el-form-item>
  393. <el-form-item label="联系电话" prop="jhrLxdh">
  394. <el-input
  395. v-model="form.jhrLxdh"
  396. placeholder="请输入监护人联系电话"
  397. />
  398. </el-form-item>
  399. <el-form-item label="与老人关系" prop="jhrGx">
  400. <el-select
  401. v-model="form.jhrGx"
  402. placeholder="请选择监护人与申请人关系"
  403. clearable
  404. >
  405. <el-option
  406. v-for="dict in dict.type.C0032"
  407. :key="dict.value"
  408. :label="dict.label"
  409. :value="dict.value"
  410. >
  411. </el-option>
  412. </el-select>
  413. </el-form-item>
  414. <el-form-item
  415. label="居住地址"
  416. prop="jhrJzdz"
  417. style="grid-column: 1 / span 2"
  418. >
  419. <el-input
  420. v-model="form.jhrJzdz"
  421. maxlength="200"
  422. placeholder="请输入监护人居住地址"
  423. />
  424. </el-form-item>
  425. </div>
  426. </div>
  427. <h3>低保信息</h3>
  428. <div class="grid2">
  429. <el-form-item label="是否低保" prop="isdb">
  430. <el-radio-group v-model="form.isdb" @change="changeDb">
  431. <el-radio
  432. v-for="dict in dict.type.CZ035"
  433. :key="dict.value"
  434. :label="dict.value"
  435. >{{ dict.label }}
  436. </el-radio>
  437. </el-radio-group>
  438. </el-form-item>
  439. <el-form-item
  440. label="低保证号"
  441. prop="dbzh"
  442. v-if="form.isdb == '1'"
  443. >
  444. <el-input v-model="form.dbzh" placeholder="请输入低保证号" />
  445. </el-form-item>
  446. </div>
  447. <h3>津贴标准信息</h3>
  448. <div class="grid2">
  449. <el-form-item label="申请标准">
  450. <dict-tag :options="dict.type.GL013" :value="form.pc" />
  451. </el-form-item>
  452. <el-form-item label="始发年月" prop="ffyf">
  453. <el-date-picker
  454. clearable
  455. v-model="form.ffyf"
  456. type="month"
  457. value-format="yyyyMM"
  458. placeholder="请输入始发年月"
  459. :picker-options="ffyfPickerOptions"
  460. >
  461. </el-date-picker>
  462. </el-form-item>
  463. </div>
  464. </el-form>
  465. <div slot="footer" class="dialog-footer">
  466. <el-button type="primary" @click="submitForm" :loading="submitFormLoading">保 存</el-button>
  467. <el-button @click="cancel">取 消</el-button>
  468. </div>
  469. </el-dialog>
  470. <!-- 老人详情 -->
  471. <el-dialog v-dialog-drag :title="title" :visible.sync="openXq" width="1200px" append-to-body custom-class="custom">
  472. <el-scrollbar wrapClass="scrollbar-wrap1">
  473. <h3>基本信息</h3>
  474. <table class="table">
  475. <tr>
  476. <td>姓名</td>
  477. <td>{{ form.sqrXm }}</td>
  478. <td>身份证号</td>
  479. <td>{{ form.sqrZjhm }}</td>
  480. <td rowspan="5" colspan="2">
  481. <image-preview style="width: 100%;height: 300px;" :src="form.tx" v-if="form.tx"></image-preview>
  482. </td>
  483. </tr>
  484. <tr>
  485. <td>性别</td>
  486. <td>{{ form.xb }}</td>
  487. <td>出生日期</td>
  488. <td>{{ special(form.csrq) }}</td>
  489. </tr>
  490. <tr>
  491. <td>联系电话</td>
  492. <td>{{ form.sqrLxdh }}</td>
  493. <td>联系电话2</td>
  494. <td>{{form.sqrLxdh2}}</td>
  495. </tr>
  496. <tr>
  497. <td>户籍地址</td>
  498. <td colspan="3">{{ form.hjdz }}</td>
  499. </tr>
  500. <tr>
  501. <td>居住地址</td>
  502. <td colspan="3">{{ form.jzdz }}</td>
  503. </tr>
  504. <tr>
  505. <td>户籍区划</td>
  506. <td colspan="5">{{ form.xzqhName }}</td>
  507. </tr>
  508. <tr>
  509. <td>是否低保</td>
  510. <td>{{ form.isdb }}</td>
  511. <td>低保证号</td>
  512. <td colspan="2">{{ form.dbzh }}</td>
  513. </tr>
  514. <tr>
  515. <td>开户银行</td>
  516. <td>{{ form.khyh }}</td>
  517. <td>银行账号</td>
  518. <td colspan="2">{{ form.yhzh }}</td>
  519. </tr>
  520. <tr>
  521. <td>补贴标准</td>
  522. <td>{{ translateDict('GL013', form.pc) }}</td>
  523. <td>始发年月</td>
  524. <td colspan="2">{{form.ffyf&&form.ffyf.length>=6?form.ffyf.slice(0,4)+'-'+form.ffyf.slice(-2):form.ffyf}}
  525. </td>
  526. </tr>
  527. <tr>
  528. <td>开户名称</td>
  529. <td colspan="4">{{ form.khmc }}</td>
  530. </tr>
  531. <tr>
  532. <td>健康状况</td>
  533. <td>{{ translateDict('GL010', form.jkzkDjzt) }}</td>
  534. <td>健康状况检测时间</td>
  535. <td colspan="2">{{ special(form.lastJkzkTime,'time') }}</td>
  536. </tr>
  537. <tr>
  538. <td>数据状态</td>
  539. <td colspan="4">{{ translateDict('GL019', form.isImport) }}</td>
  540. </tr>
  541. </table>
  542. </el-scrollbar>
  543. </el-dialog>
  544. <el-dialog el-dialog v-dialog-drag title="老人变更历史" :visible.sync="openBgls" width="1400px" append-to-body>
  545. <el-table v-loading="loading2" :data="gljtLrHiList">
  546. <el-table-column label="序号" align="center">
  547. <template slot-scope="scope">
  548. {{(queryParams2.pageNum-1)*queryParams2.pageSize + scope.$index + 1}}
  549. </template>
  550. </el-table-column>
  551. <el-table-column label="姓名" align="center" prop="sqrXm"/>
  552. <el-table-column label="性别" align="center" prop="xb">
  553. <template slot-scope="scope">
  554. <dict-tag :options="dict.type.C0007" :value="scope.row.xb"/>
  555. </template>
  556. </el-table-column>
  557. <el-table-column label="身份证号" align="center" prop="sqrZjhm" width="180"/>
  558. <el-table-column label="行政区划" align="center" prop="xzqhName" width="320"/>
  559. <el-table-column label="联系电话" align="center" prop="sqrLxdh" width="150"/>
  560. <el-table-column label="补贴标准" align="center" prop="pc" >
  561. <template slot-scope="scope">
  562. <dict-tag :options="dict.type.GL013" :value="scope.row.pc"/>
  563. </template>
  564. </el-table-column>
  565. <el-table-column label="变动原因" align="center" prop="bdyy" width="120">
  566. <template slot-scope="scope">
  567. <span>{{ translateDict('GL005', scope.row.bdyy)}}</span>
  568. </template>
  569. </el-table-column>
  570. <el-table-column label="变动时间" align="center" prop="bdsj" width="180">
  571. <template slot-scope="scope">
  572. <span>{{ special(scope.row.bdsj,'time') }}</span>
  573. </template>
  574. </el-table-column>
  575. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="90">
  576. <template slot-scope="scope">
  577. <!-- <el-button v-if="scope.row.bdyy==='0' || scope.row.bdyy==='1'" size="mini" type="text" icon="el-icon-edit" @click="handleDy(scope.row)"-->
  578. <!-- v-hasPermi="['gljt:gljtSq:edit']">打印-->
  579. <!-- </el-button>-->
  580. <el-button v-if = "scope.row.bdyy === '0'"
  581. size="mini"
  582. type="text"
  583. icon="el-icon-edit"
  584. @click="handleDy1(scope.row)"
  585. >申请打印
  586. </el-button>
  587. <el-button v-if = "scope.row.bdyy === '1'"
  588. size="mini"
  589. type="text"
  590. icon="el-icon-edit"
  591. @click="handleDy2(scope.row)"
  592. >变更打印
  593. </el-button>
  594. <el-button v-if="['2','3','4','11'].includes(scope.row.bdyy)"
  595. size="mini"
  596. type="text"
  597. icon="el-icon-edit"
  598. @click="handleDy3(scope.row)"
  599. >变更打印
  600. </el-button>
  601. <el-button v-if="['5','6','7','9','10'].includes(scope.row.bdyy)"
  602. size="mini"
  603. type="text"
  604. icon="el-icon-edit"
  605. @click="handleDy4(scope.row)"
  606. >停发打印
  607. </el-button>
  608. <el-button v-if = "scope.row.bdyy === '8'"
  609. size="mini"
  610. type="text"
  611. icon="el-icon-edit"
  612. @click="handleDy5(scope.row)"
  613. >重新发放打印
  614. </el-button>
  615. </template>
  616. </el-table-column>
  617. </el-table>
  618. <pagination
  619. v-show="total2>0"
  620. :total="total2"
  621. :page.sync="queryParams2.pageNum"
  622. :limit.sync="queryParams2.pageSize"
  623. @pagination="getListBg"
  624. />
  625. </el-dialog>
  626. <!-- 用户导入对话框 -->
  627. <el-dialog v-dialog-drag title="导入老人信息" :visible.sync="upload.open" width="400px" append-to-body>
  628. <el-form ref="uploadForm" :model="upload.form" label-width="100px">
  629. <!-- <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url"-->
  630. <!-- :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess"-->
  631. <!-- :auto-upload="false" drag>-->
  632. <!-- <i class="el-icon-upload"></i>-->
  633. <!-- <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>-->
  634. <!-- <div class="el-upload__tip text-center" slot="tip">-->
  635. <!-- <span>仅允许导入xls、xlsx格式文件。</span>-->
  636. <!-- &lt;!&ndash; <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"&ndash;&gt;-->
  637. <!-- &lt;!&ndash; @click="importTemplate">下载模板&ndash;&gt;-->
  638. <!-- &lt;!&ndash; </el-link>&ndash;&gt;-->
  639. <!-- </div>-->
  640. <!-- </el-upload>-->
  641. <el-upload
  642. ref="upload"
  643. :limit="1"
  644. accept=".xlsx, .xls"
  645. :headers="upload.headers"
  646. :action="isUser? upload.url2:upload.url"
  647. :data="upload.form"
  648. :disabled="upload.isUploading"
  649. :on-progress="handleFileUploadProgress"
  650. :on-success="handleFileSuccess"
  651. :auto-upload="false"
  652. drag
  653. >
  654. <i class="el-icon-upload"></i>
  655. <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  656. <div class="el-upload__tip text-center" slot="tip" >
  657. <span>仅允许导入xls、xlsx格式文件。</span>
  658. <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"
  659. @click="importTemplate">下载模板
  660. </el-link>
  661. </div>
  662. </el-upload>
  663. <el-form-item label="行政区划" prop="xzqh" style="margin-top: 10px">
  664. <RegionCascaderSelect
  665. v-if="isUser"
  666. v-model="upload.form.xzqh"
  667. style="width: 100%"
  668. valueProp="code"
  669. :checkStrictly="false"
  670. :isDataRoot="true"
  671. >
  672. </RegionCascaderSelect>
  673. <el-input
  674. v-else
  675. v-model="upload.form.xzqh"
  676. placeholder="请输入行政区划编码"
  677. clearable
  678. />
  679. </el-form-item>
  680. </el-form>
  681. <div slot="footer" class="dialog-footer">
  682. <el-button type="primary" @click="submitFileForm" :loading="upload.submitLoading">确 定</el-button>
  683. <el-button @click="upload.open = false">取 消</el-button>
  684. </div>
  685. </el-dialog>
  686. </div>
  687. </template>
  688. <script>
  689. import {listGljtLrHi} from "@/api/gljt/gljtLrHi";
  690. import {getQxDfPz} from "@/api/gljt/gljtSq";
  691. import {addGljtLr, delGljtLr, getGljtLr, listGljtLr, updateGljtLr, adminRemove} from "@/api/gljt/gljtLr";
  692. import {chineseOne, idCard, Regular,Mobile} from '@/utils/regular'
  693. import {addJkzkDj} from "@/api/gljt/jkzkDj";
  694. import sqXq from "../gljtSq/sqXq"
  695. import {mapState} from 'vuex'
  696. import {decrypt_ECB, encrypt_ECB, encrypt_ECBdef} from "@/api/tool/sm4";
  697. import {Constant} from '@/utils/constant';
  698. import {delSwzm} from "@/api/gljt/swzm";
  699. import {getToken} from "@/utils/auth";
  700. const axios = require('axios');
  701. export default {
  702. name: "GljtLr",
  703. dicts: ["GL021","C0009",'GL005', 'GL007', 'GL010', 'C0007', 'C0032', 'C0044', 'GL002', 'GL003', 'CZ035', 'GL009', 'GL013', 'GL019'],
  704. components: {
  705. sqXq
  706. },
  707. computed: {
  708. ...mapState(['user']),
  709. },
  710. data() {
  711. return {
  712. isUser:false,
  713. pickerOptions: {
  714. shortcuts: [{
  715. text: '最近一周',
  716. onClick(picker) {
  717. const end = new Date();
  718. const start = new Date();
  719. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  720. picker.$emit('pick', [start, end]);
  721. }
  722. }, {
  723. text: '最近一个月',
  724. onClick(picker) {
  725. const end = new Date();
  726. const start = new Date();
  727. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  728. picker.$emit('pick', [start, end]);
  729. }
  730. }, {
  731. text: '最近三个月',
  732. onClick(picker) {
  733. const end = new Date();
  734. const start = new Date();
  735. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  736. picker.$emit('pick', [start, end]);
  737. }
  738. }]
  739. },
  740. ffyfPickerOptions: {
  741. disabledDate: (time) => {
  742. return false;
  743. },
  744. },
  745. props: {
  746. emitPath: false,
  747. checkStrictly: false,
  748. },
  749. btbzId: '',
  750. // 用户导入参数
  751. upload: {
  752. // 是否显示弹出层
  753. open: false,
  754. // 是否禁用上传
  755. isUploading: false,
  756. submitLoading: false,
  757. // 设置上传的请求头部
  758. headers: {Authorization: 'Bearer ' + getToken()},
  759. form: {
  760. xzqh: '', // 行政区划编码
  761. },
  762. // 上传的地址
  763. url: process.env.VUE_APP_BASE_API + '/gljt/gljtLr/importData',
  764. url2: process.env.VUE_APP_BASE_API + '/gljt/gljtLr/importData2'
  765. },
  766. // 补贴标准
  767. parmarBtbz: {
  768. dictType: 'btbz',
  769. },
  770. para1: "",
  771. options: [{value: '1', label: '80~89周岁'}, {value: '2', label: '90~99周岁'}, {value: '3', label: '100周岁以上'}],
  772. // 遮罩层
  773. loading: true,
  774. loading2: true,
  775. submitFormLoading: false,
  776. // 选中数组
  777. ids: [],
  778. // 非单个禁用
  779. single: true,
  780. // 非多个禁用
  781. multiple: true,
  782. // 显示搜索条件
  783. showSearch: true,
  784. // 总条数
  785. total2: 0,
  786. // 高龄津贴申请老人信息历史表格数据
  787. gljtLrHiList: [],
  788. // 总条数
  789. total: 0,
  790. // 高龄津贴申请老人信息表格数据
  791. gljtLrList: [],
  792. // 弹出层标题
  793. title: "",
  794. // 是否显示弹出层
  795. open: false,
  796. openXq: false,
  797. openBgls: false,
  798. // 查询参数
  799. queryParams: {
  800. pageNum: 1,
  801. pageSize: 10,
  802. isImport: 1,
  803. pc: null,
  804. // status: "1",
  805. sqrXm: null,
  806. sqrZjhm: null,
  807. jkzkDjzt: null,
  808. nld: null,
  809. isdb: null,
  810. btbzId: null,
  811. sqrLxdh: null,
  812. },
  813. queryParams2: {
  814. pageNum: 1,
  815. pageSize: 10,
  816. sqrZjhm: null,
  817. },
  818. // 表单参数
  819. form: {},
  820. formXq: {},
  821. // 表单校验
  822. rules: {
  823. xb: [
  824. { required: true, message: "申请人性别不能为空", trigger: "change" },
  825. ],
  826. csrq: [
  827. {
  828. required: true,
  829. message: "申请人出生日期不能为空",
  830. trigger: "blur",
  831. },
  832. ],
  833. sqrXm: [
  834. { required: true, message: "申请人姓名不能为空", trigger: "blur" },
  835. { max: 72, message: "申请人姓名不能超过72个字符", trigger: "blur" },
  836. { validator: chineseOne, trigger: "blur" },
  837. ],
  838. sqrZjhm: [
  839. {
  840. required: true,
  841. message: "申请人身份证号不能为空",
  842. trigger: "blur",
  843. },
  844. {
  845. max: 72,
  846. message: "申请人身份证号不能超过72个字符",
  847. trigger: "blur",
  848. },
  849. { validator: idCard, trigger: "blur" },
  850. ],
  851. sqrLxdh: [
  852. {
  853. required: true,
  854. message: "申请人联系电话不能为空",
  855. trigger: "blur",
  856. },
  857. { validator: Mobile, trigger: "blur" },
  858. {
  859. max: 64,
  860. message: "申请人联系电话不能超过64个字符",
  861. trigger: "blur",
  862. },
  863. ],
  864. mz: [{ required: true, message: "民族不能为空", trigger: "blur" }],
  865. sndj: [
  866. { required: true, message: "护理等级不能为空", trigger: "blur" },
  867. ],
  868. hjdz: [
  869. {required: true, message: "申请人户籍地址不能为空", trigger: "blur"},
  870. ],
  871. yhzh: [
  872. { required: true, message: "银行账号不能为空", trigger: "blur" },
  873. // {max: 72, message: '银行账号不能超过72个字符', trigger: 'blur'},
  874. ],
  875. khyh: [
  876. { required: true, message: "开户银行不能为空", trigger: "blur" },
  877. // {max: 4, message: '开户银行不能超过4个字符', trigger: 'blur'},
  878. ],
  879. fzjg: [
  880. { required: true, message: "发证机关不能为空", trigger: "blur" },
  881. ],
  882. jzdz: [
  883. {
  884. required: true,
  885. message: "申请人详情居住地址不能为空",
  886. trigger: "blur",
  887. },
  888. ],
  889. xzqh: [
  890. { required: true, message: "行政区划不能为空", trigger: "blur" },
  891. // {max: 12, message: '行政区划不能超过12个字符', trigger: 'blur'},
  892. ],
  893. ffyf: [
  894. { required: true, message: "始发年月不能为空", trigger: "blur" },
  895. { max: 8, message: "开始发放月份不能超过8个字符", trigger: "blur" },
  896. ],
  897. }
  898. };
  899. },
  900. created() {
  901. this.getList();
  902. },
  903. methods: {
  904. getGender() {
  905. return this.form.sqrZjhm.charAt(16) % 2 === 0 ? '2' : '1';
  906. },
  907. getBirthDate() {
  908. const year = this.form.sqrZjhm.substr(6, 4);
  909. const month = this.form.sqrZjhm.substr(10, 2);
  910. const day = this.form.sqrZjhm.substr(12, 2);
  911. return `${year}${month}${day}`;
  912. },
  913. changeZjhm(){
  914. if(this.form.sqrZjhm&&this.form.sqrZjhm.length===18){
  915. this.form.csrq=this.getBirthDate();
  916. this.form.xb=this.getGender();
  917. this.getQxDfPz();
  918. }else{
  919. this.form.csrq='';
  920. this.form.sqrXm='';
  921. }
  922. },
  923. changeDb() {
  924. this.form.dbzh = "";
  925. this.form.dbzm = "";
  926. this.getQxDfPz();
  927. },
  928. //获取默认的发放月份、标准、月份禁用的时间
  929. async getQxDfPz(is) {
  930. if (!this.form.csrq) {
  931. return;
  932. }
  933. let res = await getQxDfPz({ csrq: this.form.csrq, isdb: this.form.isdb});
  934. this.form.pc = res.data.pc;
  935. },
  936. changHm() {
  937. this.form.khmc = this.form.sqrXm;
  938. },
  939. handleImport(is) {
  940. this.isUser=is;
  941. this.upload.form.xzqh = '';
  942. this.upload.submitLoading = false;
  943. this.upload.open = true;
  944. },
  945. handleFileUploadProgress(event, file, fileList) {
  946. this.upload.isUploading = true;
  947. },
  948. // 文件上传成功处理
  949. handleFileSuccess(response, file, fileList) {
  950. this.upload.open = false;
  951. this.upload.isUploading = false;
  952. this.upload.submitLoading = false;
  953. this.$refs.upload.clearFiles();
  954. this.upload.form.xzqh = ''; // 重置表单
  955. this.$alert('<div style=\'overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;\'>' + response.msg + '</div>', '导入结果', {dangerouslyUseHTMLString: true});
  956. this.getList();
  957. },
  958. // 提交上传文件
  959. submitFileForm() {
  960. if (!this.upload.form.xzqh) {
  961. this.$message.warning('请输入行政区划编码');
  962. return;
  963. }
  964. console.log(this.upload.form.xzqh,'this.upload.form.xzqh');
  965. if(this.isUser){
  966. this.upload.form.xzqh=this.upload.form.xzqh[this.upload.form.xzqh.length-1]
  967. }
  968. this.upload.submitLoading = true;
  969. this.$refs.upload.submit();
  970. },
  971. // 节点单击事件
  972. handleNodeClick(data) {
  973. if (data && data.code) {
  974. this.queryParams.xzqh = data.code;
  975. } else {
  976. this.queryParams.xzqh = null;
  977. }
  978. this.handleQuery()
  979. },
  980. changeDataBtbzId(btbzData) {
  981. this.queryParams.btbzId = btbzData;
  982. },
  983. /** 查询高龄津贴申请老人信息列表 */
  984. getList() {
  985. this.btbzId = this.user.userData.dept.locationCode;
  986. this.loading = true;
  987. listGljtLr(this.queryParams).then(response => {
  988. this.gljtLrList = response.rows;
  989. this.total = response.total;
  990. this.loading = false;
  991. });
  992. },
  993. // 取消按钮
  994. cancel() {
  995. this.open = false;
  996. this.reset();
  997. },
  998. // 表单重置
  999. reset() {
  1000. this.submitFormLoading = false;
  1001. this.form = {
  1002. isdb: "0",
  1003. id: null,
  1004. isImport:"1",
  1005. status:"1",
  1006. xzqh: null,
  1007. sqrZjzm: null,
  1008. sqrZjbm: null,
  1009. sqrXm: null,
  1010. fzjg: null,
  1011. qfrq:null,
  1012. yb: null,
  1013. mz: null,
  1014. sndj: null,
  1015. sqrZjhm: null,
  1016. sqrLxdh: null,
  1017. sqrLxdh2: null,
  1018. tx: null,
  1019. xb: null,
  1020. csrq: null,
  1021. jzdz: null,
  1022. hjdz: null,
  1023. ffyf: null,
  1024. pc: null,
  1025. sqbfys: null,
  1026. sqbfje: null,
  1027. bfksyf:null,
  1028. dbrZjzm: null,
  1029. dbrZjbm: null,
  1030. dbrXm: null,
  1031. dbrZjhm: null,
  1032. dbrLxdh: null,
  1033. gx: null,
  1034. jhrGx: null,
  1035. dbrJzdz: null,
  1036. yhzjz: null,
  1037. hkbzm: null,
  1038. hkbbm: null,
  1039. khyh: null,
  1040. yhzh: null,
  1041. khmc: null,
  1042. fj: null,
  1043. tfdbrXm: null,
  1044. tfbdrLxdh: null,
  1045. tfsj: null,
  1046. tfyy: null,
  1047. tffj: null,
  1048. dbzh: null, //低保证号
  1049. sqms: null, //申请描述
  1050. sqbfj: null,
  1051. jhrXm: null, // 监护人姓名
  1052. jhrZjhm: null, // 监护人证件号码
  1053. jhrLxdh: null, // 监护人联系电话
  1054. jhrJzdz: null, // 监护人居住地址
  1055. jhrZjzm: null, // 监护人证件照正面
  1056. jhrZjbm: null, // 监护人证件照背面
  1057. xjdxzqh: null, // 现居地行政区划
  1058. khwd: null, // 开户网点
  1059. };
  1060. this.resetForm("form");
  1061. },
  1062. /** 搜索按钮操作 */
  1063. handleQuery() {
  1064. this.queryParams.pageNum = 1;
  1065. this.getList();
  1066. },
  1067. /** 重置按钮操作 */
  1068. resetQuery() {
  1069. this.resetForm("queryForm");
  1070. this.queryParams.jkzkDjzt = '';
  1071. this.queryParams.glsqsjRange = '';
  1072. this.handleQuery();
  1073. },
  1074. // 多选框选中数据
  1075. handleSelectionChange(selection) {
  1076. this.ids = selection.map(item => item.id)
  1077. this.single = selection.length !== 1
  1078. this.multiple = !selection.length
  1079. },
  1080. /** 新增按钮操作 */
  1081. handleAdd() {
  1082. this.reset();
  1083. this.open = true;
  1084. this.title = "新增存量老人信息";
  1085. },
  1086. getTime() {
  1087. // 获取当前年月日时分秒
  1088. // 获取当前日期和时间
  1089. const now = new Date();
  1090. // 获取年份
  1091. const year = now.getFullYear();
  1092. // 获取月份(注意:月份是从0开始的,1月是0,12月是11)
  1093. const month = String(now.getMonth() + 1).padStart(2, '0');
  1094. // 获取日期
  1095. const day = String(now.getDate()).padStart(2, '0');
  1096. // 获取小时
  1097. const hours = String(now.getHours()).padStart(2, '0');
  1098. // 获取分钟
  1099. const minutes = String(now.getMinutes()).padStart(2, '0');
  1100. // 获取秒数
  1101. const seconds = String(now.getSeconds()).padStart(2, '0');
  1102. return year + month + day + hours + minutes + seconds;
  1103. },
  1104. handleXq(row) {
  1105. this.reset();
  1106. const id = row.id || this.ids;
  1107. getGljtLr(id).then(response => {
  1108. // this.form = response.data;
  1109. this.form = {
  1110. ...response.data,
  1111. isdb: this.translateDict('CZ035', response.data.isdb),
  1112. iszc: this.translateDict('CZ035', response.data.iszc),
  1113. istk: this.translateDict('CZ035', response.data.istk),
  1114. gx: this.translateDict('C0032', response.data.gx),
  1115. khyh: this.translateDict('C0044', response.data.khyh),
  1116. xb: this.translateDict('C0007', response.data.xb),
  1117. // sqShjg: this.translateDict('GL007', response.data.sqShjg),
  1118. // jdShjg: this.translateDict('GL007', response.data.jdShjg),
  1119. // mzShjg: this.translateDict('GL007', response.data.mzShjg),
  1120. };
  1121. this.openXq = true;
  1122. this.title = "老人信息详情";
  1123. });
  1124. },
  1125. translateDict(type, value) {
  1126. return this.selectDictLabel(this.dict.type[type], value);
  1127. },
  1128. handleBgls(row) {
  1129. this.queryParams2.sqrZjhm = row.sqrZjhm;
  1130. this.openBgls = true;
  1131. this.getListBg();
  1132. },
  1133. /** 查询高龄津贴申请老人信息历史列表 */
  1134. getListBg() {
  1135. this.loading2 = true;
  1136. listGljtLrHi(this.queryParams2).then(response => {
  1137. this.gljtLrHiList = response.rows;
  1138. this.total2 = response.total;
  1139. this.loading2 = false;
  1140. });
  1141. },
  1142. /** 修改按钮操作 */
  1143. handleUpdate(row) {
  1144. this.reset();
  1145. const id = row.id || this.ids
  1146. getGljtLr(id).then(response => {
  1147. this.form = response.data;
  1148. this.form.xzqh = this.form.xzqhCode
  1149. ? JSON.stringify(this.form.xzqhCode.split(","))
  1150. : [];
  1151. /****** sks 需要改动的地方 start ******/
  1152. // this.copyForm=this.deepCopy(response.data)
  1153. /****** sks 需要改动的地方 end ******/
  1154. this.open = true;
  1155. this.title = "修改存量老人信息";
  1156. });
  1157. },
  1158. handleDy(row) {
  1159. this.reset();
  1160. console.log('scope.row: ',row)
  1161. const id = row.id;
  1162. let tj;
  1163. let sss1;
  1164. if(row.bdyy === '0'){
  1165. tj = JSON.parse(JSON.stringify({lrId: id,bdyyType:'0'}));
  1166. sss1 = {tab: {tab: 'jtsq', qh: this.user.userData.dept.locationCode.substring(0, 6)}, sys: {dpt: this.user.userData.dept.deptName + '高龄老年人生活津贴申请确认表', dt: Date.now()}, tj: tj}
  1167. } else if(row.bdyy === '1'){
  1168. tj = JSON.parse(JSON.stringify({lrId: id,bdyyType:'1'}));
  1169. sss1 = {tab: {tab: 'jtsq', qh: this.user.userData.dept.locationCode.substring(0, 6)}, sys: {dpt: this.user.userData.dept.deptName + '高龄老年人生活津贴申请确认表', dt: Date.now()}, tj: tj}
  1170. }else{
  1171. tj = JSON.parse(JSON.stringify({lrId: id}));
  1172. sss1 = {tab: {tab: 'jtsq', qh: this.user.userData.dept.locationCode.substring(0, 6)}, sys: {dpt: this.user.userData.dept.deptName + '高龄老年人生活津贴申请确认表', dt: Date.now()}, tj: tj}
  1173. }
  1174. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1175. let para = encodeURIComponent(ssss);
  1176. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1177. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1178. },
  1179. handleDy1(row) {
  1180. this.reset();
  1181. const id = row.id;
  1182. const tj = JSON.parse(JSON.stringify({ lrId: id,bdyyType:'0' }));
  1183. const sss1 = {tab: {tab: "jtsq", qh: this.user.userData.dept.locationCode.substring(0, 6),},
  1184. sys: {dpt: this.user.userData.dept.deptName + "高龄老年人生活津贴申请信息表", dt: Date.now(),}, tj: tj};
  1185. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1186. let para = encodeURIComponent(ssss);
  1187. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1188. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1189. },
  1190. handleDy2(row) {
  1191. this.reset();
  1192. const id = row.id;
  1193. const tj = JSON.parse(JSON.stringify({ lrId: id,bdyyType:'1' }));
  1194. const sss1 = {tab: {tab: "jtbg", qh: this.user.userData.dept.locationCode.substring(0, 6),},
  1195. sys: {dpt: this.user.userData.dept.deptName + "高龄老年人生活津贴变更信息表", dt: Date.now(),}, tj: tj};
  1196. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1197. let para = encodeURIComponent(ssss);
  1198. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1199. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1200. },
  1201. handleDy3(row) {
  1202. this.reset();
  1203. const id = row.id;
  1204. const tj = JSON.parse(JSON.stringify({ lrHiId: id }));
  1205. const sss1 = {tab: {tab: "jtbg", qh: this.user.userData.dept.locationCode.substring(0, 6),},
  1206. sys: {dpt: this.user.userData.dept.deptName + "高龄老年人生活津贴变更信息表", dt: Date.now(),}, tj: tj};
  1207. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1208. let para = encodeURIComponent(ssss);
  1209. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1210. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1211. },
  1212. handleDy4(row) {
  1213. this.reset();
  1214. const id = row.id;
  1215. const tj = JSON.parse(JSON.stringify({ lrHiId: id }));
  1216. const sss1 = {tab: {tab: "jttf", qh: this.user.userData.dept.locationCode.substring(0, 6),},
  1217. sys: {dpt: this.user.userData.dept.deptName + "高龄老年人生活津贴停发信息表", dt: Date.now(),}, tj: tj};
  1218. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1219. let para = encodeURIComponent(ssss);
  1220. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1221. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1222. },
  1223. handleDy5(row) {
  1224. this.reset();
  1225. const id = row.id;
  1226. const tj = JSON.parse(JSON.stringify({ lrHiId: id }));
  1227. const sss1 = {tab: {tab: "jtbf", qh: this.user.userData.dept.locationCode.substring(0, 6),},
  1228. sys: {dpt: this.user.userData.dept.deptName + "高龄老年人生活津贴补发信息表", dt: Date.now(),}, tj: tj};
  1229. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1230. let para = encodeURIComponent(ssss);
  1231. // window.open(Constant.DY_URL + "?tj=" + para, "_blank");
  1232. window.open(Constant.DY_URL+"/getprint?tj=" + para, "_blank");
  1233. },
  1234. /** 提交按钮 */
  1235. submitForm() {
  1236. this.$refs["form"].validate(valid => {
  1237. if (valid) {
  1238. this.submitFormLoading = true;
  1239. let xzqh = "";
  1240. if (this.form.xzqh !== null) {
  1241. if (Array.isArray(this.form.xzqh)) {
  1242. xzqh = this.form.xzqh[this.form.xzqh.length - 1];
  1243. } else {
  1244. let data = JSON.parse(this.form.xzqh);
  1245. xzqh = data[data.length - 1];
  1246. }
  1247. }
  1248. if (this.form.id != null) {
  1249. /****** sks 需要改动的地方 start ******/
  1250. updateGljtLr({...this.form,xzqh:xzqh}).then(response => {
  1251. this.$modal.msgSuccess("修改成功");
  1252. this.open = false;
  1253. this.getList();
  1254. }).finally(() => this.submitFormLoading = false);
  1255. } else {
  1256. addGljtLr({...this.form,xzqh:xzqh}).then(response => {
  1257. this.$modal.msgSuccess("新增成功");
  1258. this.open = false;
  1259. this.getList();
  1260. /****** sks 需要改动的地方 start ******/
  1261. // if (this.queryParams.pageSize===this.gljtLrList.length)
  1262. // {
  1263. // this.gljtLrList.pop();
  1264. // }
  1265. // this.gljtLrList.unshift({...this.form,id:response.data});
  1266. // this.total++;
  1267. /****** sks 需要改动的地方 end ******/
  1268. }).finally(() => this.submitFormLoading = false);
  1269. }
  1270. }
  1271. });
  1272. },
  1273. /** 删除按钮操作 */
  1274. handleDelete(row, index) {
  1275. const ids = row.id || this.ids;
  1276. const xh = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
  1277. this.$modal.confirm('确认删除' + this.changeDelData(row, 'sqrXm', '姓名', xh) + '的记录?').then(function () {
  1278. return delGljtLr(ids);
  1279. }).then(() => {
  1280. this.getList();
  1281. /****** sks 需要改动的地方 ind参数需要传进来 start ******/
  1282. // this.gljtLrList.splice(index,1);
  1283. // if(this.gljtLrList.length===0)
  1284. // {
  1285. // this.getList();
  1286. // }else {
  1287. // this.total--;
  1288. // }
  1289. this.$modal.msgSuccess("删除成功");
  1290. /****** sks 需要改动的地方 end ******/
  1291. }).catch(() => {
  1292. });
  1293. },
  1294. importTemplate() {
  1295. window.open('https://www.jlyanglao.com/uploadPath/2025/04/07/高龄津贴存量数据导入模版_20250407161108A743.xlsx', '_blank');
  1296. // this.download('organization/ygJbxx/importTemplate', {
  1297. // }, `员工基本信息_模板_${new Date().getTime()}.xlsx`)
  1298. },
  1299. /** 导出按钮操作 */
  1300. // handleExport() {
  1301. // this.download('gljt/gljtLr/export', {
  1302. // ...this.queryParams
  1303. // }, `gljtLr_${new Date().getTime()}.xlsx`)
  1304. // }
  1305. handleExport() {
  1306. // const sss = '{"tab": {"tab": "jtmd","qh": "220581"},"sys": {"dpt": "高龄津贴老人名册(梅河口市民政局)", "dt": 1737166588286},"tj": "pageNum": 1, "pageSize": 10, "sqrXm": "KHL4klREmfAfnRt6uc22aw==", "sqrZjhm": "U3yt5efh7IaPA0zf7j1aesXea/61g1ufXyzb4/gp52o=", "sqrLxdh": "oHo4Aadk/p2RBcF/dswCRA==", "jkzkDjzt": "0"}}';
  1307. let tj = JSON.parse(JSON.stringify(this.queryParams));
  1308. tj.sqrXm == null || tj.sqrXm == '' ? delete tj.sqrXm : tj.sqrXm = encrypt_ECBdef(tj.sqrXm);
  1309. tj.sqrLxdh == null || tj.sqrLxdh == '' ? delete tj.sqrLxdh : tj.sqrLxdh = encrypt_ECBdef(tj.sqrLxdh);
  1310. tj.sqrZjhm == null || tj.sqrZjhm == '' ? delete tj.sqrZjhm : tj.sqrZjhm = encrypt_ECBdef(tj.sqrZjhm);
  1311. tj.jkzkDjzt == null || tj.jkzkDjzt == '' ? delete tj.jkzkDjzt : tj.jkzkDjzt = tj.jkzkDjzt;
  1312. tj.nld == null || tj.nld == '' ? delete tj.nld : tj.nld = tj.nld;
  1313. tj.isdb == null || tj.isdb == '' ? delete tj.isdb : tj.isdb = tj.isdb;
  1314. tj.status == null || tj.status == '' ? delete tj.status : tj.btbzId = tj.status;
  1315. tj.pc == null || tj.pc == '' ? delete tj.pc : tj.btbzId = tj.pc;
  1316. let deptL;
  1317. if (this.queryParams.xzqh) {
  1318. deptL = this.queryParams.xzqh;
  1319. } else {
  1320. deptL = this.user.userData.dept.locationCode;
  1321. }
  1322. const sss1 = {
  1323. tab: {tab: 'jtmd', qh: deptL},
  1324. sys: {dpt: '高龄津贴老人名册(' + this.user.userData.dept.deptName + ')', dt: Date.now()},
  1325. tj: tj
  1326. }
  1327. let ssss = encrypt_ECBdef(JSON.stringify(sss1));
  1328. let para = encodeURIComponent(ssss);
  1329. window.open(Constant.DY_URL+"/getprintdata?tj=" + para, "_blank");
  1330. // window.open(Constant.DY_URL + "data?tj=" + para, "_blank");
  1331. },
  1332. /** 导出按钮操作 */
  1333. handleExport2() {
  1334. this.download('gljt/gljtLr/exportGljtLrExcel', {
  1335. ...this.queryParams
  1336. }, `享受高龄津贴老人台卡.xlsx`)
  1337. },
  1338. handleAdmin(row, index) {
  1339. const sfzh = row.sqrZjhm;
  1340. this.$modal.confirm('该操作会清空一切该老人在系统内的任何记录,务必确认后再操作').then(function () {
  1341. const param = {
  1342. sqrZjhm: sfzh
  1343. }
  1344. adminRemove(param).then(response => {
  1345. this.$modal.msgSuccess("清除成功");
  1346. this.getList();
  1347. }).finally(() => this.submitFormLoading = false);
  1348. }).then(() => {
  1349. this.$modal.msgSuccess("清除成功");
  1350. this.getList();
  1351. }).catch(() => {});
  1352. },
  1353. }
  1354. };
  1355. </script>
  1356. <style scoped lang="scss">
  1357. @import "@/assets/styles/common/common.scss";
  1358. .imgStyle {
  1359. width: 171.2px;
  1360. height: 108px;
  1361. }
  1362. .tableStyle {
  1363. width: 100%;
  1364. border: none;
  1365. tr {
  1366. td {
  1367. height: 70px;
  1368. width: auto;
  1369. border: none;
  1370. padding: 0;
  1371. vertical-align: initial;
  1372. }
  1373. td:nth-child(odd) {
  1374. text-align: left;
  1375. background: transparent;
  1376. }
  1377. }
  1378. ::v-deep .el-form-item {
  1379. /*margin-bottom: 0;*/
  1380. margin-right: 0;
  1381. .el-date-editor {
  1382. .el-input__suffix-inner {
  1383. width: 8px;
  1384. }
  1385. }
  1386. .tx-error {
  1387. color: #ff4949;
  1388. font-size: 12px;
  1389. line-height: 1;
  1390. padding-top: 2px;
  1391. position: absolute;
  1392. top: 100%;
  1393. left: 36%;
  1394. }
  1395. .el-cascader {
  1396. width: 100%;
  1397. }
  1398. }
  1399. ::v-deep .el-form-item2 {
  1400. .el-upload--picture-card {
  1401. height: 250px;
  1402. width: 250px;
  1403. line-height: 250px;
  1404. }
  1405. .component-upload-image {
  1406. width: 100%;
  1407. text-align: center;
  1408. }
  1409. .el-upload-list--picture-card {
  1410. height: 250px;
  1411. width: 250px;
  1412. .el-upload-list__item {
  1413. height: 250px;
  1414. width: 250px;
  1415. margin: 0;
  1416. }
  1417. }
  1418. }
  1419. ::v-deep .uploadStyle {
  1420. .el-upload--picture-card {
  1421. width: 171.2px;
  1422. height: 108px;
  1423. line-height: 108px;
  1424. }
  1425. .el-upload-list--picture-card {
  1426. width: 171.2px;
  1427. height: 108px;
  1428. .el-upload-list__item {
  1429. width: 171.2px;
  1430. height: 108px;
  1431. margin: 0;
  1432. }
  1433. }
  1434. }
  1435. }
  1436. .grid3 {
  1437. display: grid;
  1438. grid-template-columns: 1fr 1fr 1fr;
  1439. /*grid-template-rows: 50px 50px;*/
  1440. }
  1441. .grid2 {
  1442. display: grid;
  1443. grid-template-columns: 1fr 1fr;
  1444. /*grid-template-rows: 50px 50px;*/
  1445. }
  1446. </style>