应用层PC端前端服务

caseentryExamine.vue 43KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="dialogtitle"
  5. :visible="caseentryExamineVisible"
  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
  19. class="formbox"
  20. >
  21. <div style="display: inline-flex">
  22. <div class="infoIcon"></div>
  23. <div class="caseInfo">案件信息:</div>
  24. </div>
  25. <el-divider></el-divider>
  26. <el-row>
  27. <el-col :span="12">
  28. <el-form-item label="案件编号:" prop="caseNum" v-if="flag !== '2'" :class="changeLableCode.includes('caseNum') ? 'red' : ''" >
  29. <el-input
  30. v-model="formData.caseNum"
  31. placeholder="请输入案件编号"
  32. />
  33. </el-form-item>
  34. </el-col>
  35. <el-col :span="12">
  36. <el-form-item label="案件名称:" prop="caseName" :class="changeLableCode.includes('caseName') ? 'red' : ''" >
  37. <el-input
  38. v-model="formData.caseName"
  39. placeholder="请输入案件名称"
  40. />
  41. </el-form-item>
  42. </el-col>
  43. <el-col :span="12">
  44. <el-form-item label="案件标的:" prop="caseSubjectAmount" :class="changeLableCode.includes('caseSubjectAmount') ? 'red' : ''" >
  45. <el-input
  46. v-model="formData.caseSubjectAmount"
  47. placeholder="请输入案件标的"
  48. @input="numberFn('caseSubjectAmount')"
  49. />
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="12">
  53. <el-form-item label="借款开始日期:" prop="loanStartDate" :class="changeLableCode.includes('loanStartDate') ? 'red' : ''" >
  54. <el-date-picker
  55. v-model="formData.loanStartDate"
  56. type="datetime"
  57. placeholder="借款开始日期"
  58. @change="setStartTime"
  59. >
  60. </el-date-picker>
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="12">
  64. <el-form-item label="借款结束日期:" prop="loanEndDate" :class="changeLableCode.includes('loanEndDate') ? 'red' : ''" >
  65. <el-date-picker
  66. v-model="formData.loanEndDate"
  67. type="datetime"
  68. placeholder="借款结束日期"
  69. @change="setEndTime"
  70. >
  71. </el-date-picker>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="12">
  75. <el-form-item label="合同编号:" prop="contractNumber" :class="changeLableCode.includes('contractNumber') ? 'red' : ''" >
  76. <el-input
  77. v-model="formData.contractNumber"
  78. placeholder="请输入"
  79. />
  80. </el-form-item>
  81. </el-col>
  82. <el-col :span="12">
  83. <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed" :class="changeLableCode.includes('claimPrinciOwed') ? 'red' : ''" >
  84. <el-input
  85. v-model="formData.claimPrinciOwed"
  86. placeholder="请输入"
  87. @input="numberFn('claimPrinciOwed')"
  88. />
  89. </el-form-item>
  90. </el-col>
  91. <el-col :span="12">
  92. <el-form-item label="申请人主张欠利息:" prop="claimInterestOwed" :class="changeLableCode.includes('claimInterestOwed') ? 'red' : ''" >
  93. <el-input
  94. v-model="formData.claimInterestOwed"
  95. placeholder="请输入"
  96. @input="numberFn('claimInterestOwed')"
  97. />
  98. </el-form-item>
  99. </el-col>
  100. <el-col :span="12">
  101. <el-form-item label="申请人主张违约金:" :class="changeLableCode.includes('claimLiquidDamag') ? 'red' : ''" prop="claimLiquidDamag">
  102. <el-input
  103. v-model="formData.claimLiquidDamag"
  104. placeholder="请输入"
  105. @input="numberFn('claimLiquidDamag')"
  106. />
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="24">
  110. <el-form-item label="申请人请求仲裁庭裁决:" :class="changeLableCode.includes('requestRule') ? 'red' : ''" prop="requestRule">
  111. <el-input
  112. v-model="formData.requestRule"
  113. placeholder="请输入申请人请求仲裁庭裁决"
  114. type="textarea"
  115. :autosize="{ minRows: 4, maxRows: 8 }"
  116. />
  117. </el-form-item>
  118. </el-col>
  119. <el-col :span="12">
  120. <el-form-item label="是否财产保全申请:" prop="properPreser" :class="changeLableCode.includes('properPreser') ? 'red' : ''">
  121. <el-radio-group v-model="formData.properPreser">
  122. <el-radio :label="1">是</el-radio>
  123. <el-radio :label="0">否</el-radio>
  124. </el-radio-group>
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="12" v-if="flag == 0">
  128. <el-form-item label="应缴费用:" prop="feePayable">
  129. <el-input v-model="formData.feePayable" placeholder="请输入" />
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="24">
  133. <el-form-item
  134. label="申请人仲裁请求及事实和理由"
  135. prop="arbitratClaims"
  136. :class="changeLableCode.includes('arbitratClaims') ? 'red' : ''"
  137. >
  138. <el-input
  139. v-model="formData.arbitratClaims"
  140. placeholder="请输入申请人仲裁诉求"
  141. type="textarea"
  142. :autosize="{ minRows: 4, maxRows: 8 }"
  143. />
  144. </el-form-item>
  145. </el-col>
  146. <!-- <el-col :span="12">
  147. <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence" v-if="flag !== '0'">
  148. <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
  149. :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
  150. :before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="3"
  151. :on-exceed="handleExceed" :file-list="fileList">
  152. <el-button size="small" type="primary">点击上传</el-button>
  153. <div slot="tip" class="el-upload__tip">
  154. 文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
  155. </div>
  156. </el-upload>
  157. </el-form-item>
  158. </el-col> -->
  159. <el-col :span="12">
  160. <el-form-item label="申请人案件证据资料:" :class="changeLableCode.includes('fileColumn') ? 'red' : ''">
  161. <div v-for="(item, index) in applicateArr" :key="index">
  162. <a href="#" @click="toFile(item, index)" style="color: blue">
  163. {{ item.annexName }}
  164. </a>
  165. </div>
  166. </el-form-item>
  167. </el-col>
  168. <el-col :span="12">
  169. <el-form-item
  170. label="被申请人案件证据资料:"
  171. prop="respondentEvidence"
  172. >
  173. <div v-for="(item, index) in quiltArr" :key="index">
  174. <a href="#" @click="toFile1(item, index)" style="color: blue">
  175. {{ item.annexName }}
  176. </a>
  177. </div>
  178. </el-form-item>
  179. </el-col>
  180. </el-row>
  181. </el-form>
  182. <!-- 申请人主体信息 -->
  183. <el-form ref="form2" :model="form2" label-width="150px" disabled class="formbox">
  184. <div v-for="(item, index) in form2.paymentArr" :key="index">
  185. <div style="display: flex; justify-content: space-between">
  186. <div style="display: inline-flex">
  187. <div class="infoIcon"></div>
  188. <div class="caseInfo">申请人主体信息:</div>
  189. </div>
  190. <el-button
  191. type="danger"
  192. icon="el-icon-delete"
  193. @click="deleteData(index)"
  194. v-if="form2.paymentArr.length > 1 && flag != '0'"
  195. ></el-button>
  196. </div>
  197. <el-divider></el-divider>
  198. <el-row>
  199. <el-col :span="12">
  200. <el-form-item
  201. label="申请人(机构):"
  202. :prop="'paymentArr.' + index + '.name'"
  203. :class="changeLableCode1.includes(`paymentArr.${index}.name`) ? 'red' : ''"
  204. :rules="[
  205. {
  206. required: true,
  207. message: '申请人不能为空',
  208. trigger: 'blur',
  209. },
  210. { max: 20, message: '长度应小于20个字符', trigger: 'blur' },
  211. ]"
  212. >
  213. <el-input v-model="item.name" placeholder="请输入" />
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="12">
  217. <el-form-item
  218. label="代码:"
  219. :prop="'paymentArr.' + index + '.identityNum'"
  220. :class="changeLableCode1.includes(`paymentArr.${index}.identityNum`) ? 'red' : ''"
  221. :rules="[
  222. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  223. ]"
  224. >
  225. <el-input v-model="item.identityNum" placeholder="请输入" />
  226. </el-form-item>
  227. </el-col>
  228. <el-col :span="12">
  229. <el-form-item
  230. label="联系电话:"
  231. :prop="'paymentArr.' + index + '.contactTelphone'"
  232. :class="changeLableCode1.includes(`paymentArr.${index}.contactTelphone`) ? 'red' : ''"
  233. :rules="[
  234. {
  235. required: true,
  236. message: '联系电话不能为空',
  237. trigger: 'blur',
  238. },
  239. {
  240. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  241. message: '请输入正确的手机号码',
  242. trigger: 'blur',
  243. },
  244. ]"
  245. >
  246. <el-input v-model="item.contactTelphone" placeholder="请输入" />
  247. </el-form-item>
  248. </el-col>
  249. <el-col :span="12">
  250. <el-form-item
  251. label="邮箱"
  252. :prop="'paymentArr.' + index + '.email'"
  253. :class="changeLableCode1.includes(`paymentArr.${index}.email`) ? 'red' : ''"
  254. :rules="[
  255. {
  256. required: true,
  257. message: '邮箱地址不能为空',
  258. trigger: 'blur',
  259. },
  260. {
  261. pattern:
  262. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  263. message: '请输入正确的邮箱地址',
  264. trigger: 'blur',
  265. },
  266. ]"
  267. >
  268. <el-input v-model="item.email" placeholder="请输入电子邮件" />
  269. </el-form-item>
  270. </el-col>
  271. <el-col :span="12">
  272. <el-form-item
  273. label="单位地址:"
  274. :prop="'paymentArr.' + index + '.workAddress'"
  275. :class="changeLableCode1.includes(`paymentArr.${index}.workAddress`) ? 'red' : ''"
  276. :rules="[
  277. {
  278. required: true,
  279. message: '单位地址不能为空',
  280. trigger: 'blur',
  281. },
  282. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  283. ]"
  284. >
  285. <el-input v-model="item.workAddress" placeholder="请输入" />
  286. </el-form-item>
  287. </el-col>
  288. <el-col :span="12">
  289. <el-form-item
  290. label="单位电话:"
  291. :prop="'paymentArr.' + index + '.workTelphone'"
  292. :class="changeLableCode1.includes(`paymentArr.${index}.workTelphone`) ? 'red' : ''"
  293. :rules="[
  294. {
  295. required: true,
  296. message: '单位电话不能为空',
  297. trigger: 'blur',
  298. },
  299. ]"
  300. >
  301. <el-input v-model="item.workTelphone" placeholder="请输入" />
  302. </el-form-item>
  303. </el-col>
  304. <el-col :span="12">
  305. <el-form-item
  306. label="联系地址:"
  307. :prop="'paymentArr.' + index + '.contactAddress'"
  308. :class="changeLableCode1.includes(`paymentArr.${index}.contactAddress`) ? 'red' : ''"
  309. :rules="[
  310. {
  311. required: true,
  312. message: '联系地址不能为空',
  313. trigger: 'blur',
  314. },
  315. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  316. ]"
  317. >
  318. <el-input v-model="item.contactAddress" placeholder="请输入" />
  319. </el-form-item>
  320. </el-col>
  321. <el-col :span="12">
  322. <el-form-item
  323. label="申请人住所:"
  324. :prop="'paymentArr.' + index + '.residenAffili'"
  325. :class="changeLableCode1.includes(`paymentArr.${index}.residenAffili`) ? 'red' : ''"
  326. :rules="[
  327. {
  328. required: true,
  329. message: '申请人住所不能为空',
  330. trigger: 'blur',
  331. },
  332. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  333. ]"
  334. >
  335. <el-input v-model="item.residenAffili" placeholder="请输入" />
  336. </el-form-item>
  337. </el-col>
  338. <el-col :span="12">
  339. <el-form-item
  340. label="法定代表人:"
  341. :prop="'paymentArr.' + index + '.compLegalPerson'"
  342. :class="changeLableCode1.includes(`paymentArr.${index}.compLegalPerson`) ? 'red' : ''"
  343. :rules="[
  344. {
  345. required: true,
  346. message: '法定代表人不能为空',
  347. trigger: 'blur',
  348. },
  349. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  350. ]"
  351. >
  352. <el-input v-model="item.compLegalPerson" placeholder="请输入" />
  353. </el-form-item>
  354. </el-col>
  355. <el-col :span="12">
  356. <el-form-item
  357. label="法定代表人职位:"
  358. :prop="'paymentArr.' + index + '.compLegalperPost'"
  359. :class="changeLableCode1.includes(`paymentArr.${index}.compLegalperPost`) ? 'red' : ''"
  360. :rules="[
  361. {
  362. required: true,
  363. message: '法定代表人职位不能为空',
  364. trigger: 'blur',
  365. },
  366. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  367. ]"
  368. >
  369. <el-input
  370. v-model="item.compLegalperPost"
  371. placeholder="请输入"
  372. />
  373. </el-form-item>
  374. </el-col>
  375. </el-row>
  376. <div style="display: inline-flex">
  377. <div class="infoIcon"></div>
  378. <div class="caseInfo2">代理人信息:</div>
  379. </div>
  380. <el-row>
  381. <el-col :span="12">
  382. <el-form-item
  383. label="姓名:"
  384. :prop="'paymentArr.' + index + '.nameAgent'"
  385. :class="changeLableCode1.includes(`paymentArr.${index}.nameAgent`) ? 'red' : ''"
  386. :rules="[
  387. {
  388. required: true,
  389. message: '姓名不能为空',
  390. trigger: 'blur',
  391. },
  392. { max: 20, message: '长度应小于20个字符', trigger: 'blur' },
  393. ]"
  394. >
  395. <el-input v-model="item.nameAgent" placeholder="请输入" />
  396. </el-form-item>
  397. </el-col>
  398. <el-col :span="12">
  399. <el-form-item
  400. label="身份证号:"
  401. :prop="'paymentArr.' + index + '.identityNumAgent'"
  402. :class="changeLableCode1.includes(`paymentArr.${index}.identityNumAgent`) ? 'red' : ''"
  403. :rules="[
  404. {
  405. required: true,
  406. message: '身份证号不能为空',
  407. trigger: 'blur',
  408. },
  409. {
  410. pattern:
  411. /^[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]$/,
  412. message: '请输入正确的身份证号码',
  413. trigger: 'blur',
  414. },
  415. ]"
  416. >
  417. <el-input
  418. v-model="item.identityNumAgent"
  419. placeholder="请输入"
  420. />
  421. </el-form-item>
  422. </el-col>
  423. <el-col :span="12">
  424. <el-form-item
  425. label="联系电话:"
  426. :prop="'paymentArr.' + index + '.contactTelphoneAgent'"
  427. :class="changeLableCode1.includes(`paymentArr.${index}.contactTelphoneAgent`) ? 'red' : ''"
  428. :rules="[
  429. {
  430. required: true,
  431. message: '联系电话不能为空',
  432. trigger: 'blur',
  433. },
  434. {
  435. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  436. message: '请输入正确的手机号码',
  437. trigger: 'blur',
  438. },
  439. ]"
  440. >
  441. <el-input
  442. v-model="item.contactTelphoneAgent"
  443. placeholder="请输入"
  444. />
  445. </el-form-item>
  446. </el-col>
  447. <el-col :span="12">
  448. <el-form-item
  449. label="联系地址:"
  450. :prop="'paymentArr.' + index + '.contactAddressAgent'"
  451. :class="changeLableCode1.includes(`paymentArr.${index}.contactAddressAgent`) ? 'red' : ''"
  452. :rules="[
  453. {
  454. required: true,
  455. message: '联系地址不能为空',
  456. trigger: 'blur',
  457. },
  458. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  459. ]"
  460. >
  461. <el-input
  462. v-model="item.contactAddressAgent"
  463. placeholder="请输入"
  464. />
  465. </el-form-item>
  466. </el-col>
  467. </el-row>
  468. </div>
  469. </el-form>
  470. <!-- 被申请人主体信息 -->
  471. <el-form ref="form3" label-width="150px" disabled :model="form3" class="formbox">
  472. <div
  473. v-for="(itm, index) in form3.paymentArr1"
  474. :key="index + form2.paymentArr.length"
  475. >
  476. <div style="display: flex; justify-content: space-between">
  477. <div style="display: inline-flex">
  478. <div class="infoIcon"></div>
  479. <div class="caseInfo">被申请人主体信息:</div>
  480. </div>
  481. <el-button
  482. type="danger"
  483. icon="el-icon-delete"
  484. @click="deleteData1(index)"
  485. v-if="form3.paymentArr1.length > 1 && flag != '0'"
  486. ></el-button>
  487. </div>
  488. <el-divider></el-divider>
  489. <el-row>
  490. <el-col :span="12">
  491. <el-form-item
  492. label="被申请人姓名"
  493. :prop="'paymentArr1.' + index + '.name'"
  494. :class="changeLableCode2.includes(`paymentArr1.${index}.name`) ? 'red' : ''"
  495. :rules="[
  496. {
  497. required: true,
  498. message: '被申请人不能为空',
  499. trigger: 'blur',
  500. },
  501. { max: 20, message: '长度应小于20个字符', trigger: 'blur' },
  502. ]"
  503. >
  504. <el-input v-model="itm.name" placeholder="请输入" />
  505. </el-form-item>
  506. </el-col>
  507. <el-col :span="12">
  508. <el-form-item
  509. label="身份证号:"
  510. :prop="'paymentArr1.' + index + '.identityNum'"
  511. :class="changeLableCode2.includes(`paymentArr1.${index}.identityNum`) ? 'red' : ''"
  512. :rules="[
  513. {
  514. required: true,
  515. message: '身份证号不能为空',
  516. trigger: 'blur',
  517. },
  518. {
  519. pattern:
  520. /^[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]$/,
  521. message: '请输入正确的身份证号码',
  522. trigger: 'blur',
  523. },
  524. ]"
  525. >
  526. <el-input v-model="itm.identityNum" placeholder="请输入" />
  527. </el-form-item>
  528. </el-col>
  529. <el-col :span="12">
  530. <el-form-item
  531. label="联系电话:"
  532. :prop="'paymentArr1.' + index + '.contactTelphone'"
  533. :class="changeLableCode2.includes(`paymentArr1.${index}.contactTelphone`) ? 'red' : ''"
  534. :rules="[
  535. {
  536. required: true,
  537. message: '联系电话不能为空',
  538. trigger: 'blur',
  539. },
  540. {
  541. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  542. message: '请输入正确的手机号码',
  543. trigger: 'blur',
  544. },
  545. ]"
  546. >
  547. <el-input v-model="itm.contactTelphone" placeholder="请输入" />
  548. </el-form-item>
  549. </el-col>
  550. <el-col :span="12">
  551. <el-form-item
  552. label="邮箱"
  553. :prop="'paymentArr1.' + index + '.email'"
  554. :class="changeLableCode2.includes(`paymentArr1.${index}.email`) ? 'red' : ''"
  555. :rules="[
  556. {
  557. required: true,
  558. message: '邮箱地址不能为空',
  559. trigger: 'blur',
  560. },
  561. {
  562. pattern:
  563. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  564. message: '请输入正确的邮箱地址',
  565. trigger: 'blur',
  566. },
  567. ]"
  568. >
  569. <el-input v-model="itm.email" placeholder="请输入电子邮件" />
  570. </el-form-item>
  571. </el-col>
  572. <el-col :span="12">
  573. <el-form-item
  574. label="单位地址:"
  575. :prop="'paymentArr1.' + index + '.workAddress'"
  576. :class="changeLableCode2.includes(`paymentArr1.${index}.workAddress`) ? 'red' : ''"
  577. :rules="[
  578. {
  579. required: true,
  580. message: '单位地址不能为空',
  581. trigger: 'blur',
  582. },
  583. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  584. ]"
  585. >
  586. <el-input v-model="itm.workAddress" placeholder="请输入" />
  587. </el-form-item>
  588. </el-col>
  589. <el-col :span="12">
  590. <el-form-item
  591. label="单位电话:"
  592. :prop="'paymentArr1.' + index + '.workTelphone'"
  593. :class="changeLableCode2.includes(`paymentArr1.${index}.workTelphone`) ? 'red' : ''"
  594. :rules="[
  595. {
  596. required: true,
  597. message: '单位电话不能为空',
  598. trigger: 'blur',
  599. },
  600. ]"
  601. >
  602. <el-input v-model="itm.workTelphone" placeholder="请输入" />
  603. </el-form-item>
  604. </el-col>
  605. <el-col :span="12">
  606. <el-form-item
  607. label="联系地址:"
  608. :prop="'paymentArr1.' + index + '.contactAddress'"
  609. :class="changeLableCode2.includes(`paymentArr1.${index}.contactAddress`) ? 'red' : ''"
  610. :rules="[
  611. {
  612. required: true,
  613. message: '联系地址不能为空',
  614. trigger: 'blur',
  615. },
  616. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  617. ]"
  618. >
  619. <el-input v-model="itm.contactAddress" placeholder="请输入" />
  620. </el-form-item>
  621. </el-col>
  622. <el-col :span="12">
  623. <el-form-item
  624. label="被申请人住所:"
  625. :prop="'paymentArr1.' + index + '.residenAffili'"
  626. :class="changeLableCode2.includes(`paymentArr1.${index}.residenAffili`) ? 'red' : ''"
  627. :rules="[
  628. {
  629. required: true,
  630. message: '被申请人住所不能为空',
  631. trigger: 'blur',
  632. },
  633. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  634. ]"
  635. >
  636. <el-input v-model="itm.residenAffili" placeholder="请输入" />
  637. </el-form-item>
  638. </el-col>
  639. <el-col :span="12">
  640. <el-form-item
  641. label="被申请人性别:"
  642. :prop="'paymentArr1.' + index + '.responSex'"
  643. :class="changeLableCode2.includes(`paymentArr1.${index}.responSex`) ? 'red' : ''"
  644. :rules="[
  645. {
  646. required: true,
  647. },
  648. ]"
  649. >
  650. <el-radio-group v-model="itm.responSex">
  651. <el-radio label="1">男</el-radio>
  652. <el-radio label="0">女</el-radio>
  653. </el-radio-group>
  654. </el-form-item>
  655. </el-col>
  656. <el-col :span="12">
  657. <el-form-item
  658. label="被申请人出生年月日:"
  659. :prop="'paymentArr1.' + index + '.responBirth'"
  660. :class="changeLableCode2.includes(`paymentArr1.${index}.responBirth`) ? 'red' : ''"
  661. :rules="[
  662. {
  663. required: true,
  664. message: '被申请人出生年月日不能为空',
  665. trigger: 'blur',
  666. },
  667. ]"
  668. >
  669. <el-date-picker
  670. v-model="itm.responBirth"
  671. :picker-options="pickerOptions"
  672. type="datetime"
  673. placeholder="被申请人出生年月日"
  674. >
  675. </el-date-picker>
  676. </el-form-item>
  677. </el-col>
  678. </el-row>
  679. <div style="display: inline-flex">
  680. <div class="infoIcon"></div>
  681. <div class="caseInfo2">代理人信息:</div>
  682. </div>
  683. <el-row>
  684. <el-col :span="12">
  685. <el-form-item
  686. label="姓名:"
  687. :prop="'paymentArr1.' + index + '.nameAgent'"
  688. :class="changeLableCode2.includes(`paymentArr1.${index}.nameAgent`) ? 'red' : ''"
  689. :rules="[
  690. {
  691. required: true,
  692. message: '姓名不能为空',
  693. trigger: 'blur',
  694. },
  695. { max: 20, message: '长度应小于20个字符', trigger: 'blur' },
  696. ]"
  697. >
  698. <el-input v-model="itm.nameAgent" placeholder="请输入" />
  699. </el-form-item>
  700. </el-col>
  701. <el-col :span="12">
  702. <el-form-item
  703. label="身份证号:"
  704. :prop="'paymentArr1.' + index + '.identityNumAgent'"
  705. :class="changeLableCode2.includes(`paymentArr1.${index}.identityNumAgent`) ? 'red' : ''"
  706. :rules="[
  707. {
  708. required: true,
  709. message: '身份证号不能为空',
  710. trigger: 'blur',
  711. },
  712. {
  713. pattern:
  714. /^[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]$/,
  715. message: '请输入正确的身份证号码',
  716. trigger: 'blur',
  717. },
  718. ]"
  719. >
  720. <el-input v-model="itm.identityNumAgent" placeholder="请输入" />
  721. </el-form-item>
  722. </el-col>
  723. <el-col :span="12">
  724. <el-form-item
  725. label="联系电话:"
  726. :prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
  727. :class="changeLableCode2.includes(`paymentArr1.${index}.contactTelphoneAgent`) ? 'red' : ''"
  728. :rules="[
  729. {
  730. required: true,
  731. message: '联系电话不能为空',
  732. trigger: 'blur',
  733. },
  734. {
  735. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  736. message: '请输入正确的手机号码',
  737. trigger: 'blur',
  738. },
  739. ]"
  740. >
  741. <el-input
  742. v-model="itm.contactTelphoneAgent"
  743. placeholder="请输入"
  744. />
  745. </el-form-item>
  746. </el-col>
  747. <el-col :span="12">
  748. <el-form-item
  749. label="联系地址:"
  750. :prop="'paymentArr1.' + index + '.contactAddressAgent'"
  751. :class="changeLableCode2.includes(`paymentArr1.${index}.contactAddressAgent`) ? 'red' : ''"
  752. :rules="[
  753. {
  754. required: true,
  755. message: '联系地址不能为空',
  756. trigger: 'blur',
  757. },
  758. { max: 50, message: '长度应小于50个字符', trigger: 'blur' },
  759. ]"
  760. >
  761. <el-input
  762. v-model="itm.contactAddressAgent"
  763. placeholder="请输入"
  764. />
  765. </el-form-item>
  766. </el-col>
  767. </el-row>
  768. </div>
  769. </el-form>
  770. <div slot="footer" class="dialog-footer">
  771. <el-button
  772. type="primary"
  773. @click="submitIsAgree(1)"
  774. v-if="
  775. formData.updateSubmitStatus == 1 || formData.updateSubmitStatus == 2
  776. "
  777. class="endbutton"
  778. ><span>同 意</span></el-button
  779. >
  780. <el-button
  781. type="warning"
  782. @click="submitIsAgree(0)"
  783. v-if="
  784. formData.updateSubmitStatus == 1 || formData.updateSubmitStatus == 2
  785. "
  786. class="endbutton2"
  787. ><span>拒 绝</span></el-button
  788. >
  789. </div>
  790. </el-dialog>
  791. </div>
  792. </template>
  793. <script>
  794. import moment from "moment"; //导入文件
  795. import { getToken } from "@/utils/auth";
  796. import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
  797. import { updateAudit } from "@/api/caseManagement/caseManagement";
  798. export default {
  799. props: [
  800. "dialogtitle",
  801. "form",
  802. "getcaseApply",
  803. "flag",
  804. "initpaymentArr",
  805. "initpaymentArr1",
  806. "queryParams",
  807. "caseAttachList",
  808. "caseentryExamineVisible",
  809. "caseentryExamineData",
  810. "caseentryExamineDataAll"
  811. ],
  812. data() {
  813. return {
  814. formData: {},
  815. changeLableCode: [],
  816. changeLableCode1: [],
  817. changeLableCode2: [],
  818. filedata: {
  819. annexType: 2,
  820. },
  821. headers: {
  822. Authorization: "Bearer " + getToken(),
  823. },
  824. form2: {
  825. paymentArr: [
  826. {
  827. identityType: 1,
  828. name: "",
  829. identityNum: "",
  830. contactTelphone: "",
  831. email: "",
  832. workAddress: "",
  833. workTelphone: "",
  834. contactAddress: "",
  835. nameAgent: "",
  836. contactTelphoneAgent: "",
  837. contactAddressAgent: "",
  838. residenAffili: "",
  839. },
  840. ],
  841. }, //申请人主体信息
  842. form3: {
  843. paymentArr1: [
  844. {
  845. identityType: 2,
  846. name: "",
  847. identityNum: "",
  848. contactTelphone: "",
  849. email: "",
  850. workAddress: "",
  851. workTelphone: "",
  852. contactAddress: "",
  853. nameAgent: "",
  854. contactTelphoneAgent: "",
  855. contactAddressAgent: "",
  856. responSex: 1,
  857. responBirth: "",
  858. residenAffili: "",
  859. },
  860. ],
  861. }, //被申请人主体信息
  862. // 表单校验
  863. rules: {
  864. caseSubjectAmount: [
  865. {
  866. required: true,
  867. message: "案件标的不能为空",
  868. trigger: "blur",
  869. },
  870. ],
  871. caseName: [
  872. {
  873. required: true,
  874. message: "案件名称不能为空",
  875. trigger: "blur",
  876. },
  877. ],
  878. loanStartDate: [
  879. {
  880. required: true,
  881. message: "借款开始日期不能为空",
  882. trigger: "blur",
  883. },
  884. ],
  885. loanEndDate: [
  886. {
  887. required: true,
  888. message: "借款结束日期不能为空",
  889. trigger: "blur",
  890. },
  891. ],
  892. name: [
  893. {
  894. required: true,
  895. message: "申请人姓名不能为空",
  896. trigger: "blur",
  897. },
  898. ],
  899. contractNumber: [
  900. {
  901. required: true,
  902. message: "合同编号不能为空",
  903. trigger: "blur",
  904. },
  905. ],
  906. claimPrinciOwed: [
  907. {
  908. required: true,
  909. message: "申请人主张欠本金不能为空",
  910. trigger: "blur",
  911. },
  912. ],
  913. claimInterestOwed: [
  914. {
  915. required: true,
  916. message: "申请人主张欠利息不能为空",
  917. trigger: "blur",
  918. },
  919. ],
  920. Overduedays: [
  921. {
  922. required: true,
  923. message: "逾期天数不能为空",
  924. trigger: "blur",
  925. },
  926. ],
  927. claimLiquidDamag: [
  928. {
  929. required: true,
  930. message: "申请人主张违约金不能为空",
  931. trigger: "blur",
  932. },
  933. ],
  934. arbitratClaims: [
  935. {
  936. required: true,
  937. message: "请输入申请人仲裁诉求",
  938. trigger: "blur",
  939. },
  940. ],
  941. feePayable: [
  942. {
  943. required: true,
  944. },
  945. ],
  946. },
  947. // annexId: '',
  948. caseAttachListArr: [],
  949. fileList: [],
  950. applicateArr: [],
  951. quiltArr: [],
  952. pickerOptions: {
  953. disabledDate(time) {
  954. return time.getTime() > Date.now() - 8.64e6;
  955. },
  956. },
  957. };
  958. },
  959. watch: {
  960. caseentryExamineVisible: {
  961. handler(val) {
  962. setTimeout(() => {
  963. if (val) {
  964. this.applicateArr = [];
  965. this.quiltArr = [];
  966. this.formData = this.caseentryExamineData;
  967. if (this.caseentryExamineDataAll.changeColumn) {
  968. this.changeLableCode = this.caseentryExamineDataAll.changeColumn.split(',')
  969. } else {
  970. this.changeLableCode = []
  971. }
  972. if (this.caseentryExamineDataAll.afterCase.caseAffiliates[0].changeColumn) {
  973. let changelable = this.caseentryExamineDataAll.afterCase.caseAffiliates[0].changeColumn.split(',')
  974. this.changeLableCode1 = changelable.map(item =>
  975. 'paymentArr.0.'+ item
  976. )
  977. } else {
  978. this.changeLableCode1 = []
  979. }
  980. if (this.caseentryExamineDataAll.afterCase.caseAffiliates[1].changeColumn) {
  981. let changelable1 = this.caseentryExamineDataAll.afterCase.caseAffiliates[1].changeColumn.split(',')
  982. this.changeLableCode2 = changelable1.map(item =>
  983. 'paymentArr1.0.'+ item
  984. )
  985. } else {
  986. this.changeLableCode2 = []
  987. }
  988. this.fileList = [];
  989. this.form2.paymentArr = [
  990. this.caseentryExamineData.caseAffiliates[0],
  991. ];
  992. this.form3.paymentArr1 = [
  993. this.caseentryExamineData.caseAffiliates[1],
  994. ];
  995. if (this.caseentryExamineData.caseAttachList !== null) {
  996. this.caseentryExamineData.caseAttachList.forEach((item) => {
  997. if (item.annexType == 2) {
  998. this.applicateArr.push({
  999. annexName: item.annexName,
  1000. annexPath: item.annexPath,
  1001. });
  1002. }
  1003. if (item.annexType == 6) {
  1004. this.quiltArr.push({
  1005. annexName: item.annexName,
  1006. annexPath: item.annexPath,
  1007. });
  1008. }
  1009. });
  1010. }
  1011. this.fileList = this.caseentryExamineData.caseAttachList;
  1012. if (this.caseentryExamineData.caseAttachList !== null) {
  1013. this.fileList.forEach((item) => {
  1014. item["name"] = item.annexName;
  1015. item["certificatePath"] = item.annexPath;
  1016. });
  1017. }
  1018. }
  1019. }, 2000);
  1020. },
  1021. deep: true,
  1022. },
  1023. },
  1024. methods: {
  1025. numberFn(p) {
  1026. this.formData[p] =
  1027. this.formData[p]
  1028. .replace(/[^\d^\.]+/g, "")
  1029. .replace(/^0+(\d)/, "$1")
  1030. .replace(/^\./, "0.")
  1031. .match(/^\d*(\.?\d{0,2})/g)[0] || "";
  1032. },
  1033. UploadUrl() {
  1034. return window.location.origin + "/API/evidence/upload";
  1035. },
  1036. handlePreview(file) {
  1037. if (this.flag == "2") {
  1038. window.open(
  1039. window.location.origin + "/API" + file.response.data.annexName,
  1040. "_blank"
  1041. );
  1042. } else if (this.flag == "1") {
  1043. window.open(
  1044. window.location.origin + "/API" + file.certificatePath,
  1045. "_blank"
  1046. );
  1047. }
  1048. },
  1049. // 文件上传成功
  1050. handlSuccess(res, file) {
  1051. this.caseAttachListArr.push({
  1052. annexId: res.data.annexId,
  1053. });
  1054. },
  1055. // 文件超出个数限制时的钩子
  1056. handleExceed(files, fileList) {
  1057. this.$message.warning(
  1058. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
  1059. files.length + fileList.length
  1060. } 个文件`
  1061. );
  1062. },
  1063. // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
  1064. beforeRemove(file, fileList) {
  1065. return this.$confirm(`确定移除 ${file.name}?`);
  1066. },
  1067. handleRemove(file, fileList) {
  1068. (this.caseAttachListArr = []),
  1069. fileList.forEach((item) => {
  1070. this.caseAttachListArr.push({ annexId: item.response.data.annexId });
  1071. });
  1072. },
  1073. // 取消
  1074. cancel() {
  1075. this.$emit("caseentryExamineCancel");
  1076. },
  1077. // 校验借款开始日期与结束日期
  1078. setStartTime() {
  1079. if (
  1080. this.setTime(this.formData.loanStartDate) >=
  1081. this.setTime(this.formData.loanEndDate)
  1082. ) {
  1083. this.$message.error("借款开始日期应早于借款结束日期");
  1084. this.formData.loanStartDate = "";
  1085. this.formData.loanEndDate = "";
  1086. }
  1087. },
  1088. setEndTime() {
  1089. if (
  1090. this.setTime(this.formData.loanEndDate) <=
  1091. this.setTime(this.formData.loanStartDate)
  1092. ) {
  1093. this.$message.error("借款结束日期应晚于借款开始日期");
  1094. this.formData.loanStartDate = "";
  1095. this.formData.loanEndDate = "";
  1096. }
  1097. },
  1098. setTime(val) {
  1099. const date = new Date(val);
  1100. const time = date.getTime();
  1101. return time;
  1102. },
  1103. // 新增申请人主体信息
  1104. generateForm() {
  1105. this.form2.paymentArr.push({
  1106. identityType: 1,
  1107. name: "",
  1108. identityNum: "",
  1109. contactTelphone: "",
  1110. email: "",
  1111. workAddress: "",
  1112. workTelphone: "",
  1113. contactAddress: "",
  1114. nameAgent: "",
  1115. contactTelphoneAgent: "",
  1116. contactAddressAgent: "",
  1117. });
  1118. },
  1119. // 新增被申请人主体信息
  1120. generateForm1() {
  1121. this.form3.paymentArr1.push({
  1122. identityType: 2,
  1123. name: "",
  1124. identityNum: "",
  1125. contactTelphone: "",
  1126. email: "",
  1127. workAddress: "",
  1128. workTelphone: "",
  1129. contactAddress: "",
  1130. nameAgent: "",
  1131. contactTelphoneAgent: "",
  1132. contactAddressAgent: "",
  1133. });
  1134. },
  1135. // 删除申请人主体信息
  1136. deleteData(index) {
  1137. this.form2.paymentArr.splice(index, 1);
  1138. },
  1139. // 删除被申请人主体信息
  1140. deleteData1(index) {
  1141. this.form3.paymentArr1.splice(index, 1);
  1142. },
  1143. // 顾问审核修改
  1144. submitIsAgree(row) {
  1145. let parms = {
  1146. caseId: this.formData.id,
  1147. updateSubmitStatus: this.formData.updateSubmitStatus,
  1148. isAgree: row,
  1149. version: this.formData.version,
  1150. };
  1151. updateAudit(parms).then((res) => {
  1152. this.$modal.msgSuccess("审核成功");
  1153. this.$emit("caseentryExamineCancel");
  1154. this.getcaseApply(this.queryParams);
  1155. });
  1156. },
  1157. // 详情显示,展示申请人案件文件
  1158. toFile(item, index) {
  1159. window.open(
  1160. window.location.origin + "/API" + this.applicateArr[index].annexPath,
  1161. "_black"
  1162. );
  1163. },
  1164. // 被申请人文件
  1165. toFile1(item, index) {
  1166. window.open(
  1167. window.location.origin + "/API" + this.quiltArr[index].annexPath,
  1168. "_black"
  1169. );
  1170. },
  1171. },
  1172. };
  1173. </script>
  1174. <style lang="scss" scoped>
  1175. ::v-deep .el-dialog__body {
  1176. height: 700px !important;
  1177. overflow: auto !important;
  1178. }
  1179. ::v-deep .el-dialog {
  1180. width: 800px;
  1181. background: #ffffff;
  1182. border-radius: 20px;
  1183. }
  1184. .caseInfo {
  1185. font-size: 17px;
  1186. font-weight: 600;
  1187. }
  1188. .caseInfo2 {
  1189. font-size: 15px;
  1190. font-weight: 550;
  1191. }
  1192. .infoIcon {
  1193. width: 4px;
  1194. // height: 17px;
  1195. background-color: #0072ff;
  1196. margin-right: 5px;
  1197. }
  1198. .el-date-editor {
  1199. width: 100%;
  1200. }
  1201. .endbutton {
  1202. width: 154px;
  1203. height: 37px;
  1204. background: #0072ff;
  1205. border-radius: 19px;
  1206. span {
  1207. width: 96px;
  1208. height: 15px;
  1209. font-size: 16px;
  1210. font-family: Microsoft YaHei;
  1211. font-weight: 400;
  1212. color: #ffffff;
  1213. }
  1214. }
  1215. .endbutton1 {
  1216. width: 154px;
  1217. height: 37px;
  1218. background: #ffffff;
  1219. border: 1px solid #d0d0d0;
  1220. border-radius: 19px;
  1221. span {
  1222. width: 31px;
  1223. height: 13px;
  1224. font-size: 16px;
  1225. font-family: Microsoft YaHei;
  1226. font-weight: 400;
  1227. color: #959595;
  1228. }
  1229. }
  1230. .endbutton2 {
  1231. width: 154px;
  1232. height: 37px;
  1233. background: #f40505;
  1234. border: 1px solid #f50a0a;
  1235. border-radius: 19px;
  1236. span {
  1237. width: 31px;
  1238. height: 13px;
  1239. font-size: 16px;
  1240. font-family: Microsoft YaHei;
  1241. font-weight: 400;
  1242. color: #ffffff;
  1243. }
  1244. }
  1245. ::v-deep .formbox {
  1246. .el-form-item {
  1247. &.red {
  1248. .el-form-item__label {
  1249. color: red;
  1250. }
  1251. }
  1252. }
  1253. }
  1254. </style>