应用层PC端前端服务

caseentryDialog.vue 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="dialogtitle"
  5. :visible="visible"
  6. @close="cancel"
  7. width="1000px"
  8. append-to-body
  9. :destroy-on-close="true"
  10. center
  11. >
  12. <!-- 案件信息 -->
  13. <el-form
  14. ref="form"
  15. :model="formData"
  16. :rules="rules"
  17. label-width="150px"
  18. :disabled="flag == '0'"
  19. >
  20. <p>案件信息:</p>
  21. <el-divider></el-divider>
  22. <el-row>
  23. <el-col :span="12">
  24. <el-form-item label="案件编号:" prop="caseNum">
  25. <el-input
  26. v-model="formData.caseNum"
  27. placeholder="请输入案件编号"
  28. :disabled="flag == '1'"
  29. />
  30. </el-form-item>
  31. </el-col>
  32. <el-col :span="12">
  33. <el-form-item label="案件标的:" prop="caseSubjectAmount">
  34. <el-input
  35. v-model="formData.caseSubjectAmount"
  36. placeholder="请输入案件标的"
  37. />
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="12">
  41. <el-form-item label="借款开始日期:" prop="loanStartDate">
  42. <el-date-picker
  43. v-model="formData.loanStartDate"
  44. type="datetime"
  45. placeholder="借款开始日期"
  46. >
  47. </el-date-picker>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="12">
  51. <el-form-item label="借款结束日期:" prop="loanEndDate">
  52. <el-date-picker
  53. v-model="formData.loanEndDate"
  54. type="datetime"
  55. placeholder="借款结束日期"
  56. >
  57. </el-date-picker>
  58. </el-form-item>
  59. </el-col>
  60. <el-col :span="12">
  61. <el-form-item label="合同编号:" prop="contractNumber">
  62. <el-input
  63. v-model="formData.contractNumber"
  64. placeholder="请输入"
  65. />
  66. </el-form-item>
  67. </el-col>
  68. <el-col :span="12">
  69. <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
  70. <el-input
  71. v-model="formData.claimPrinciOwed"
  72. placeholder="请输入"
  73. />
  74. </el-form-item>
  75. </el-col>
  76. <el-col :span="12">
  77. <el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
  78. <el-input
  79. v-model="formData.claimInterestOwed"
  80. placeholder="请输入"
  81. />
  82. </el-form-item>
  83. </el-col>
  84. <el-col :span="12">
  85. <el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
  86. <el-input
  87. v-model="formData.claimLiquidDamag"
  88. placeholder="请输入"
  89. />
  90. </el-form-item>
  91. </el-col>
  92. <!-- 应缴费用 -->
  93. <el-col :span="12" v-if="flag == 0">
  94. <el-form-item label="应缴费用:" prop="feePayable">
  95. <el-input v-model="formData.feePayable" placeholder="请输入" />
  96. </el-form-item>
  97. </el-col>
  98. <!-- 申请人仲裁诉求 -->
  99. <el-col :span="24">
  100. <el-form-item label="申请人仲裁诉求" prop="arbitratClaims">
  101. <el-input
  102. v-model="formData.arbitratClaims"
  103. placeholder="请输入申请人仲裁诉求"
  104. type="textarea"
  105. :autosize="{ minRows: 4, maxRows: 8 }"
  106. />
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="12">
  110. <el-form-item
  111. label="申请人案件证据资料上传:"
  112. prop="applicantEvidence"
  113. >
  114. <el-upload
  115. class="upload-demo"
  116. action="https://jsonplaceholder.typicode.com/posts/"
  117. :on-preview="handlePreview"
  118. :on-remove="handleRemove"
  119. :before-remove="beforeRemove"
  120. multiple
  121. :limit="3"
  122. :on-exceed="handleExceed"
  123. :file-list="fileList"
  124. >
  125. <el-button size="small" type="primary">点击上传</el-button>
  126. <div slot="tip" class="el-upload__tip">
  127. 只能上传jpg/png文件,且不超过500kb
  128. </div>
  129. </el-upload>
  130. </el-form-item>
  131. </el-col>
  132. <!-- 仅详情展示 -->
  133. <!-- <el-col :span="12">
  134. <el-form-item
  135. label="被申请人案件证据资料上传:"
  136. prop="respondentEvidence"
  137. >
  138. <el-upload
  139. class="upload-demo"
  140. action="https://jsonplaceholder.typicode.com/posts/"
  141. :on-preview="handlePreview"
  142. :on-remove="handleRemove"
  143. :before-remove="beforeRemove"
  144. multiple
  145. :limit="3"
  146. :on-exceed="handleExceed"
  147. :file-list="fileList"
  148. >
  149. <el-button size="small" type="primary">点击上传</el-button>
  150. <div slot="tip" class="el-upload__tip">
  151. 只能上传jpg/png文件,且不超过500kb
  152. </div>
  153. </el-upload>
  154. </el-form-item>
  155. </el-col> -->
  156. </el-row>
  157. </el-form>
  158. <!-- 申请人主体信息 -->
  159. <el-form
  160. ref="form2"
  161. :model="form2"
  162. label-width="150px"
  163. :disabled="flag == '0'"
  164. >
  165. <div v-for="(item, index) in form2.paymentArr" :key="index">
  166. <div style="display: flex; justify-content: space-between">
  167. <p>申请人主体信息:</p>
  168. <el-button
  169. type="danger"
  170. icon="el-icon-delete"
  171. @click="deleteData(index)"
  172. v-if="form2.paymentArr.length > 1 && flag != '0'"
  173. ></el-button>
  174. </div>
  175. <el-divider></el-divider>
  176. <el-row>
  177. <el-col :span="12">
  178. <el-form-item
  179. label="申请人姓名"
  180. :prop="'paymentArr.' + index + '.name'"
  181. :rules="[
  182. {
  183. required: true,
  184. message: '申请人不能为空',
  185. trigger: 'blur',
  186. },
  187. ]"
  188. >
  189. <el-input v-model="item.name" placeholder="请输入" />
  190. </el-form-item>
  191. </el-col>
  192. <el-col :span="12">
  193. <el-form-item
  194. label="身份证号:"
  195. :prop="'paymentArr.' + index + '.identityNum'"
  196. :rules="[
  197. {
  198. required: true,
  199. message: '身份证号不能为空',
  200. trigger: 'blur',
  201. },
  202. {
  203. pattern:
  204. /^[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]$/,
  205. message: '请输入正确的身份证号码',
  206. trigger: 'blur',
  207. },
  208. ]"
  209. >
  210. <el-input v-model="item.identityNum" placeholder="请输入" />
  211. </el-form-item>
  212. </el-col>
  213. <el-col :span="12">
  214. <el-form-item
  215. label="联系电话:"
  216. :prop="'paymentArr.' + index + '.contactTelphone'"
  217. :rules="[
  218. {
  219. required: true,
  220. message: '联系电话不能为空',
  221. trigger: 'blur',
  222. },
  223. {
  224. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  225. message: '请输入正确的手机号码',
  226. trigger: 'blur',
  227. },
  228. ]"
  229. >
  230. <el-input v-model="item.contactTelphone" placeholder="请输入" />
  231. </el-form-item>
  232. </el-col>
  233. <el-col :span="12">
  234. <el-form-item
  235. label="单位地址:"
  236. :prop="'paymentArr.' + index + '.workAddress'"
  237. :rules="[
  238. {
  239. required: true,
  240. message: '单位地址不能为空',
  241. trigger: 'blur',
  242. },
  243. ]"
  244. >
  245. <el-input v-model="item.workAddress" placeholder="请输入" />
  246. </el-form-item>
  247. </el-col>
  248. <el-col :span="12">
  249. <el-form-item
  250. label="单位电话:"
  251. :prop="'paymentArr.' + index + '.workTelphone'"
  252. :rules="[
  253. {
  254. required: true,
  255. message: '单位电话不能为空',
  256. trigger: 'blur',
  257. },
  258. ]"
  259. >
  260. <el-input v-model="item.workTelphone" placeholder="请输入" />
  261. </el-form-item>
  262. </el-col>
  263. <el-col :span="12">
  264. <el-form-item
  265. label="联系地址:"
  266. :prop="'paymentArr.' + index + '.contactAddress'"
  267. :rules="[
  268. {
  269. required: true,
  270. message: '联系地址不能为空',
  271. trigger: 'blur',
  272. },
  273. ]"
  274. >
  275. <el-input v-model="item.contactAddress" placeholder="请输入" />
  276. </el-form-item>
  277. </el-col>
  278. </el-row>
  279. <p>代理人信息:</p>
  280. <el-row>
  281. <el-col :span="12">
  282. <el-form-item
  283. label="姓名:"
  284. :prop="'paymentArr.' + index + '.nameAgent'"
  285. :rules="[
  286. {
  287. required: true,
  288. message: '姓名不能为空',
  289. trigger: 'blur',
  290. },
  291. ]"
  292. >
  293. <el-input v-model="item.nameAgent" placeholder="请输入" />
  294. </el-form-item>
  295. </el-col>
  296. <el-col :span="12">
  297. <el-form-item
  298. label="身份证号:"
  299. :prop="'paymentArr.' + index + '.identityNumAgent'"
  300. :rules="[
  301. {
  302. required: true,
  303. message: '身份证号不能为空',
  304. trigger: 'blur',
  305. },
  306. {
  307. pattern:
  308. /^[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]$/,
  309. message: '请输入正确的身份证号码',
  310. trigger: 'blur',
  311. },
  312. ]"
  313. >
  314. <el-input
  315. v-model="item.identityNumAgent"
  316. placeholder="请输入"
  317. />
  318. </el-form-item>
  319. </el-col>
  320. <el-col :span="12">
  321. <el-form-item
  322. label="联系电话:"
  323. :prop="'paymentArr.' + index + '.contactTelphoneAgent'"
  324. :rules="[
  325. {
  326. required: true,
  327. message: '联系电话不能为空',
  328. trigger: 'blur',
  329. },
  330. {
  331. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  332. message: '请输入正确的手机号码',
  333. trigger: 'blur',
  334. },
  335. ]"
  336. >
  337. <el-input
  338. v-model="item.contactTelphoneAgent"
  339. placeholder="请输入"
  340. />
  341. </el-form-item>
  342. </el-col>
  343. <el-col :span="12">
  344. <el-form-item
  345. label="联系地址:"
  346. :prop="'paymentArr.' + index + '.contactAddressAgent'"
  347. :rules="[
  348. {
  349. required: true,
  350. message: '联系地址不能为空',
  351. trigger: 'blur',
  352. },
  353. ]"
  354. >
  355. <el-input
  356. v-model="item.contactAddressAgent"
  357. placeholder="请输入"
  358. />
  359. </el-form-item>
  360. </el-col>
  361. </el-row>
  362. </div>
  363. </el-form>
  364. <el-button
  365. v-if="flag == 1 || flag == 2"
  366. type="primary"
  367. plain
  368. @click="generateForm"
  369. >新增申请人主体信息</el-button
  370. >
  371. <!-- 被申请人主体信息 -->
  372. <el-form
  373. ref="form3"
  374. label-width="150px"
  375. :disabled="flag == '0'"
  376. :model="form3"
  377. >
  378. <div
  379. v-for="(itm, index) in form3.paymentArr1"
  380. :key="index + form2.paymentArr.length"
  381. >
  382. <div style="display: flex; justify-content: space-between">
  383. <p>被申请人主体信息:</p>
  384. <el-button
  385. type="danger"
  386. icon="el-icon-delete"
  387. @click="deleteData1(index)"
  388. v-if="form3.paymentArr1.length > 1 && flag != '0'"
  389. ></el-button>
  390. </div>
  391. <el-divider></el-divider>
  392. <el-row>
  393. <el-col :span="12">
  394. <el-form-item
  395. label="被申请人姓名"
  396. :prop="'paymentArr1.' + index + '.name'"
  397. :rules="[
  398. {
  399. required: true,
  400. message: '被申请人不能为空',
  401. trigger: 'blur',
  402. },
  403. ]"
  404. >
  405. <el-input v-model="itm.name" placeholder="请输入" />
  406. </el-form-item>
  407. </el-col>
  408. <el-col :span="12">
  409. <el-form-item
  410. label="身份证号:"
  411. :prop="'paymentArr1.' + index + '.identityNum'"
  412. :rules="[
  413. {
  414. required: true,
  415. message: '身份证号不能为空',
  416. trigger: 'blur',
  417. },
  418. {
  419. pattern:
  420. /^[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]$/,
  421. message: '请输入正确的身份证号码',
  422. trigger: 'blur',
  423. },
  424. ]"
  425. >
  426. <el-input v-model="itm.identityNum" placeholder="请输入" />
  427. </el-form-item>
  428. </el-col>
  429. <el-col :span="12">
  430. <el-form-item
  431. label="联系电话:"
  432. :prop="'paymentArr1.' + index + '.contactTelphone'"
  433. :rules="[
  434. {
  435. required: true,
  436. message: '联系电话不能为空',
  437. trigger: 'blur',
  438. },
  439. {
  440. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  441. message: '请输入正确的手机号码',
  442. trigger: 'blur',
  443. },
  444. ]"
  445. >
  446. <el-input v-model="itm.contactTelphone" placeholder="请输入" />
  447. </el-form-item>
  448. </el-col>
  449. <el-col :span="12">
  450. <el-form-item
  451. label="单位地址:"
  452. :prop="'paymentArr1.' + index + '.workAddress'"
  453. :rules="[
  454. {
  455. required: true,
  456. message: '单位地址不能为空',
  457. trigger: 'blur',
  458. },
  459. ]"
  460. >
  461. <el-input v-model="itm.workAddress" placeholder="请输入" />
  462. </el-form-item>
  463. </el-col>
  464. <el-col :span="12">
  465. <el-form-item
  466. label="单位电话:"
  467. :prop="'paymentArr1.' + index + '.workTelphone'"
  468. :rules="[
  469. {
  470. required: true,
  471. message: '单位电话不能为空',
  472. trigger: 'blur',
  473. },
  474. ]"
  475. >
  476. <el-input v-model="itm.workTelphone" placeholder="请输入" />
  477. </el-form-item>
  478. </el-col>
  479. <el-col :span="12">
  480. <el-form-item
  481. label="联系地址:"
  482. :prop="'paymentArr1.' + index + '.contactAddress'"
  483. :rules="[
  484. {
  485. required: true,
  486. message: '联系地址不能为空',
  487. trigger: 'blur',
  488. },
  489. ]"
  490. >
  491. <el-input v-model="itm.contactAddress" placeholder="请输入" />
  492. </el-form-item>
  493. </el-col>
  494. </el-row>
  495. <p>代理人信息:</p>
  496. <el-row>
  497. <el-col :span="12">
  498. <el-form-item
  499. label="姓名:"
  500. :prop="'paymentArr1.' + index + '.nameAgent'"
  501. :rules="[
  502. {
  503. required: true,
  504. message: '姓名不能为空',
  505. trigger: 'blur',
  506. },
  507. ]"
  508. >
  509. <el-input v-model="itm.nameAgent" placeholder="请输入" />
  510. </el-form-item>
  511. </el-col>
  512. <el-col :span="12">
  513. <!-- -->
  514. <el-form-item
  515. label="身份证号:"
  516. :prop="'paymentArr1.' + index + '.identityNumAgent'"
  517. :rules="[
  518. {
  519. required: true,
  520. message: '身份证号不能为空',
  521. trigger: 'blur',
  522. },
  523. {
  524. pattern:
  525. /^[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]$/,
  526. message: '请输入正确的身份证号码',
  527. trigger: 'blur',
  528. },
  529. ]"
  530. >
  531. <el-input v-model="itm.identityNumAgent" placeholder="请输入" />
  532. </el-form-item>
  533. </el-col>
  534. <el-col :span="12">
  535. <el-form-item
  536. label="联系电话:"
  537. :prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
  538. :rules="[
  539. {
  540. required: true,
  541. message: '联系电话不能为空',
  542. trigger: 'blur',
  543. },
  544. {
  545. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  546. message: '请输入正确的手机号码',
  547. trigger: 'blur',
  548. },
  549. ]"
  550. >
  551. <el-input
  552. v-model="itm.contactTelphoneAgent"
  553. placeholder="请输入"
  554. />
  555. </el-form-item>
  556. </el-col>
  557. <el-col :span="12">
  558. <el-form-item
  559. label="联系地址:"
  560. :prop="'paymentArr1.' + index + '.contactAddressAgent'"
  561. :rules="[
  562. {
  563. required: true,
  564. message: '联系地址不能为空',
  565. trigger: 'blur',
  566. },
  567. ]"
  568. >
  569. <el-input
  570. v-model="itm.contactAddressAgent"
  571. placeholder="请输入"
  572. />
  573. </el-form-item>
  574. </el-col>
  575. </el-row>
  576. </div>
  577. </el-form>
  578. <el-button
  579. v-if="flag == 1 || flag == 2"
  580. type="primary"
  581. plain
  582. @click="generateForm1()"
  583. >新增被申请人主体信息</el-button
  584. >
  585. <div slot="footer" class="dialog-footer">
  586. <el-button
  587. type="primary"
  588. @click="submitForm"
  589. v-if="flag != 0"
  590. class="endbutton"
  591. ><span>确 定</span></el-button
  592. >
  593. <el-button @click="cancel" class="endbutton1"
  594. ><span>取 消</span></el-button
  595. >
  596. </div>
  597. </el-dialog>
  598. </div>
  599. </template>
  600. <script>
  601. import moment from "moment"; //导入文件
  602. import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
  603. export default {
  604. props: [
  605. "visible",
  606. "dialogtitle",
  607. "form",
  608. "getcaseApply",
  609. "flag",
  610. "initpaymentArr",
  611. "initpaymentArr1",
  612. "queryParams",
  613. ],
  614. data() {
  615. return {
  616. formData: this.form,
  617. form2: {
  618. paymentArr: [
  619. {
  620. identityType: 1,
  621. name: "",
  622. identityNum: "",
  623. contactTelphone: "",
  624. workAddress: "",
  625. workTelphone: "",
  626. contactAddress: "",
  627. nameAgent: "",
  628. contactTelphoneAgent: "",
  629. contactAddressAgent: "",
  630. },
  631. ],
  632. }, //申请人主体信息
  633. form3: {
  634. paymentArr1: [
  635. {
  636. identityType: 2,
  637. name: "",
  638. identityNum: "",
  639. contactTelphone: "",
  640. workAddress: "",
  641. workTelphone: "",
  642. contactAddress: "",
  643. nameAgent: "",
  644. contactTelphoneAgent: "",
  645. contactAddressAgent: "",
  646. },
  647. ],
  648. }, //被申请人主体信息
  649. // 表单校验
  650. rules: {
  651. caseNum: [
  652. {
  653. required: true,
  654. message: "案件编号不能为空",
  655. trigger: "blur",
  656. },
  657. { max: 20, message: "长度应小于20个字符", trigger: "blur" },
  658. ],
  659. caseSubjectAmount: [
  660. {
  661. required: true,
  662. message: "案件标的不能为空",
  663. trigger: "blur",
  664. },
  665. ],
  666. loanStartDate: [
  667. {
  668. required: true,
  669. message: "借款开始日期不能为空",
  670. trigger: "blur",
  671. },
  672. ],
  673. loanEndDate: [
  674. {
  675. required: true,
  676. message: "借款结束日期不能为空",
  677. trigger: "blur",
  678. },
  679. ],
  680. name: [
  681. {
  682. required: true,
  683. message: "申请人姓名不能为空",
  684. trigger: "blur",
  685. },
  686. ],
  687. contractNumber: [
  688. {
  689. required: true,
  690. message: "合同编号不能为空",
  691. trigger: "blur",
  692. },
  693. ],
  694. claimPrinciOwed: [
  695. {
  696. required: true,
  697. message: "申请人主张欠本金不能为空",
  698. trigger: "blur",
  699. },
  700. // { type: 'number', message: '申请人主张欠本金必须为数字值'}
  701. ],
  702. claimInterestOwed: [
  703. {
  704. required: true,
  705. message: "申请人主张欠利息不能为空",
  706. trigger: "blur",
  707. },
  708. // { type: 'number', message: '申请人主张欠利息必须为数字值'}
  709. ],
  710. Overduedays: [
  711. {
  712. required: true,
  713. message: "逾期天数不能为空",
  714. trigger: "blur",
  715. },
  716. // { type: 'number', message: '逾期天数必须为数字值'}
  717. ],
  718. claimLiquidDamag: [
  719. {
  720. required: true,
  721. message: "申请人主张违约金不能为空",
  722. trigger: "blur",
  723. },
  724. // { type: 'number', message: '申请人主张违约金必须为数字值'}
  725. ],
  726. arbitratClaims: [
  727. {
  728. required: true,
  729. message: "请输入申请人仲裁诉求",
  730. trigger: "blur",
  731. },
  732. ],
  733. feePayable: [
  734. {
  735. required: true,
  736. },
  737. ],
  738. },
  739. fileList: [],
  740. };
  741. },
  742. watch: {
  743. visible: {
  744. handler(val) {
  745. if (val) {
  746. this.formData = this.form;
  747. if (this.flag == "1" || this.flag == "0") {
  748. setTimeout(() => {
  749. this.form2.paymentArr = this.initpaymentArr;
  750. this.form3.paymentArr1 = this.initpaymentArr1;
  751. }, 1000);
  752. }
  753. if (this.flag == "2") {
  754. this.form2.paymentArr = [
  755. {
  756. identityType: 1,
  757. name: "",
  758. identityNum: "",
  759. contactTelphone: "",
  760. workAddress: "",
  761. workTelphone: "",
  762. contactAddress: "",
  763. nameAgent: "",
  764. contactTelphoneAgent: "",
  765. contactAddressAgent: "",
  766. },
  767. ];
  768. this.form3.paymentArr1 = [
  769. {
  770. identityType: 2,
  771. name: "",
  772. identityNum: "",
  773. contactTelphone: "",
  774. workAddress: "",
  775. workTelphone: "",
  776. contactAddress: "",
  777. nameAgent: "",
  778. contactTelphoneAgent: "",
  779. contactAddressAgent: "",
  780. },
  781. ];
  782. }
  783. }
  784. },
  785. deep: true,
  786. },
  787. },
  788. methods: {
  789. handleRemove(file, fileList) {},
  790. handlePreview(file) {},
  791. handleExceed(files, fileList) {
  792. this.$message.warning(
  793. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
  794. files.length + fileList.length
  795. } 个文件`
  796. );
  797. },
  798. beforeRemove(file, fileList) {
  799. return this.$confirm(`确定移除 ${file.name}?`);
  800. },
  801. // 取消
  802. cancel() {
  803. this.$emit("cancel");
  804. },
  805. // 新增申请人主体信息
  806. generateForm() {
  807. this.form2.paymentArr.push({
  808. identityType: 1,
  809. name: "",
  810. identityNum: "",
  811. contactTelphone: "",
  812. workAddress: "",
  813. workTelphone: "",
  814. contactAddress: "",
  815. nameAgent: "",
  816. contactTelphoneAgent: "",
  817. contactAddressAgent: "",
  818. });
  819. },
  820. // 新增被申请人主体信息
  821. generateForm1() {
  822. this.form3.paymentArr1.push({
  823. identityType: 2,
  824. name: "",
  825. identityNum: "",
  826. contactTelphone: "",
  827. workAddress: "",
  828. workTelphone: "",
  829. contactAddress: "",
  830. nameAgent: "",
  831. contactTelphoneAgent: "",
  832. contactAddressAgent: "",
  833. });
  834. },
  835. // 删除申请人主体信息
  836. deleteData(index) {
  837. this.form2.paymentArr.splice(index, 1);
  838. },
  839. // 删除被申请人主体信息
  840. deleteData1(index) {
  841. this.form3.paymentArr1.splice(index, 1);
  842. },
  843. // 提交立案申请 addCaseApply
  844. submitForm() {
  845. this.$refs["form"].validate((valid) => {
  846. this.formData.loanStartDate = moment(
  847. this.formData.loanStartDate
  848. ).format("YYYY-MM-DD HH:mm:ss");
  849. this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
  850. "YYYY-MM-DD HH:mm:ss"
  851. );
  852. if (valid) {
  853. this.$refs["form2"].validate((valid) => {
  854. if (valid) {
  855. this.$refs["form3"].validate((vail) => {
  856. if (vail) {
  857. this.formData.caseAffiliates = [
  858. ...this.form2.paymentArr,
  859. ...this.form3.paymentArr1,
  860. ];
  861. if (this.formData.id) {
  862. editCaseApply({
  863. ...this.formData,
  864. caseAffiliates: this.formData.caseAffiliates,
  865. }).then((res) => {
  866. if (res.code == 200) {
  867. this.$modal.msgSuccess("修改成功");
  868. this.$emit("cancel");
  869. this.getcaseApply(this.queryParams);
  870. }
  871. });
  872. } else {
  873. addCaseApply({
  874. ...this.formData,
  875. caseAffiliates: this.formData.caseAffiliates,
  876. }).then((response) => {
  877. if (response.code == 200) {
  878. this.$modal.msgSuccess("新增成功");
  879. this.$emit("cancel");
  880. this.getcaseApply(this.queryParams);
  881. }
  882. });
  883. }
  884. }
  885. });
  886. }
  887. });
  888. }
  889. });
  890. },
  891. },
  892. };
  893. </script>
  894. <style lang="scss" scoped>
  895. ::v-deep .el-dialog__body {
  896. height: 700px !important;
  897. overflow: auto !important;
  898. }
  899. ::v-deep .el-dialog {
  900. width: 800px;
  901. background: #ffffff;
  902. border-radius: 20px;
  903. }
  904. .endbutton {
  905. width: 154px;
  906. height: 37px;
  907. background: #0072ff;
  908. border-radius: 19px;
  909. span {
  910. width: 96px;
  911. height: 15px;
  912. font-size: 16px;
  913. font-family: Microsoft YaHei;
  914. font-weight: 400;
  915. color: #ffffff;
  916. }
  917. }
  918. .endbutton1 {
  919. width: 154px;
  920. height: 37px;
  921. background: #ffffff;
  922. border: 1px solid #d0d0d0;
  923. border-radius: 19px;
  924. span {
  925. width: 31px;
  926. height: 13px;
  927. font-size: 16px;
  928. font-family: Microsoft YaHei;
  929. font-weight: 400;
  930. color: #959595;
  931. }
  932. }
  933. </style>