应用层PC端前端服务

caseentryDialog.vue 57KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630
  1. <template>
  2. <div>
  3. <el-dialog :title="dialogtitle" :visible="visible" @close="cancel" width="1000px" append-to-body
  4. :destroy-on-close="true" center>
  5. <!-- tab页 -->
  6. <el-tabs v-model="activeName" @tab-click="handleClick" v-show="form.id != undefined && form.id != null">
  7. <el-tab-pane label="案件基本信息" name="first"></el-tab-pane>
  8. <el-tab-pane label="自定义抓取内容" name="second"></el-tab-pane>
  9. <el-tab-pane label="裁决书附件" name="third" v-if="flag == 0"></el-tab-pane>
  10. <el-tab-pane label="案件视频" name="five" v-if="flag == 0"></el-tab-pane>
  11. <el-tab-pane label="庭审笔录" name="six" v-if="flag == 0"></el-tab-pane>
  12. <el-tab-pane label="案件异议信息" name="seven" v-if="flag == 0"></el-tab-pane>
  13. </el-tabs>
  14. <div v-show="activeName == 'first'">
  15. <!-- 案件信息 -->
  16. <el-form ref="form" :model="formData" :rules="rules" label-width="150px" :disabled="flag == '0'">
  17. <div style="display: inline-flex">
  18. <div class="infoIcon"></div>
  19. <div class="caseInfo">案件信息:</div>
  20. </div>
  21. <el-divider></el-divider>
  22. <el-row>
  23. <el-col :span="12">
  24. <el-form-item label="案件编号:" prop="caseNum" v-if="flag !== '2'">
  25. <el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="flag == '1'" />
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="12">
  29. <!-- :disabled="flag == '1'" -->
  30. <el-form-item label="案件名称:" prop="caseName">
  31. <el-input v-model="formData.caseName" placeholder="请输入案件名称" />
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="12">
  35. <el-form-item label="案件标的:" prop="caseSubjectAmount">
  36. <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的"
  37. @input="numberFn('caseSubjectAmount')" />
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="12">
  41. <el-form-item label="借款开始日期:" prop="loanStartDate">
  42. <el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期">
  43. </el-date-picker>
  44. </el-form-item>
  45. </el-col>
  46. <el-col :span="12">
  47. <el-form-item label="借款结束日期:" prop="loanEndDate">
  48. <el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期"
  49. @change="setEndTime">
  50. </el-date-picker>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :span="12">
  54. <el-form-item label="合同编号:" prop="contractNumber">
  55. <el-input v-model="formData.contractNumber" placeholder="请输入" />
  56. </el-form-item>
  57. </el-col>
  58. <el-col :span="12">
  59. <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
  60. <el-input v-model="formData.claimPrinciOwed" placeholder="请输入" @input="numberFn('claimPrinciOwed')" />
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="12">
  64. <el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
  65. <el-input v-model="formData.claimInterestOwed" placeholder="请输入"
  66. @input="numberFn('claimInterestOwed')" />
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="12">
  70. <el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
  71. <el-input v-model="formData.claimLiquidDamag" placeholder="请输入" @input="numberFn('claimLiquidDamag')" />
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="24">
  75. <el-form-item label="申请人请求仲裁庭裁决:" prop="requestRule">
  76. <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
  77. :autosize="{ minRows: 4, maxRows: 8 }" />
  78. </el-form-item>
  79. </el-col>
  80. <el-col :span="24">
  81. <el-form-item label="是否财产保全申请:" prop="properPreser">
  82. <el-radio-group v-model="formData.properPreser">
  83. <el-radio :label="1">是</el-radio>
  84. <el-radio :label="0">否</el-radio>
  85. </el-radio-group>
  86. </el-form-item>
  87. </el-col>
  88. <el-col :span="24">
  89. <el-form-item label="是否书面审理" prop="applicantIsWrittenHear">
  90. <el-radio-group v-model="formData.applicantIsWrittenHear">
  91. <el-radio :label="1">是</el-radio>
  92. <el-radio :label="0">否</el-radio>
  93. </el-radio-group>
  94. </el-form-item>
  95. </el-col>
  96. <!-- 应缴费用 -->
  97. <el-col :span="12" v-if="flag == 0">
  98. <el-form-item label="应缴费用:" prop="feePayable">
  99. <el-input v-model="formData.feePayable" placeholder="请输入" />
  100. </el-form-item>
  101. </el-col>
  102. <!-- 申请人仲裁诉求 -->
  103. <el-col :span="24">
  104. <el-form-item label="申请人仲裁请求" prop="arbitratClaims">
  105. <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
  106. :autosize="{ minRows: 4, maxRows: 8 }" />
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="24">
  110. <el-form-item label="事实和理由" prop="facts">
  111. <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
  112. :autosize="{ minRows: 4, maxRows: 8 }" />
  113. </el-form-item>
  114. </el-col>
  115. <el-col :span="12">
  116. <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence" v-if="flag !== '0'">
  117. <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
  118. :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
  119. :before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
  120. :on-exceed="handleExceed" :file-list="fileList">
  121. <el-button size="small" type="primary">点击上传</el-button>
  122. <div slot="tip" class="el-upload__tip">
  123. 文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
  124. </div>
  125. </el-upload>
  126. </el-form-item>
  127. </el-col>
  128. <el-col :span="24" v-if="flag == '2'">
  129. <el-form-item label="裁决书模板" prop="templateId">
  130. <el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
  131. <el-option v-for="item in templateList" :label="item.temName" :key="item.id"
  132. :value="item.id"></el-option>
  133. </el-select>
  134. </el-form-item>
  135. </el-col>
  136. <el-col :span="12">
  137. <el-form-item label="申请人案件证据资料:" v-if="flag == '0' &&
  138. caseAttachList.length > 0 &&
  139. applicateArr.length > 0
  140. ">
  141. <div v-for="(item, index) in applicateArr" :key="index">
  142. <a href="#" @click="toFile(item, index)" style="color: blue">
  143. {{ item.annexName }}
  144. </a>
  145. </div>
  146. </el-form-item>
  147. </el-col>
  148. <!-- 仅详情展示 案件质证环节以后显示被申请人证据-->
  149. <el-col :span="12">
  150. <el-form-item label="被申请人案件证据资料:" prop="respondentEvidence" v-if="flag == '0' && caseAttachList.length > 0 && quiltArr.length > 0
  151. ">
  152. <div v-for="(item, index) in quiltArr" :key="index">
  153. <a href="#" @click="toFile1(item, index)" style="color: blue">
  154. {{ item.annexName }}
  155. </a>
  156. </div>
  157. </el-form-item>
  158. </el-col>
  159. </el-row>
  160. </el-form>
  161. <!-- 申请人主体信息 -->
  162. <el-form ref="form2" :model="form2" label-width="150px" :disabled="flag == '0'">
  163. <div class="applicant" v-for="(item, index) in form2.applicant" :key="item.key">
  164. <el-col :span="24">
  165. <div style="display: inline-flex">
  166. <div class="infoIcon"></div>
  167. <div class="caseInfo">申请人</div>
  168. </div>
  169. <el-divider></el-divider>
  170. </el-col>
  171. <el-col :span="24">
  172. <el-form-item label="选择机构或自然人">
  173. <el-radio-group v-model="item.applicant.organizeFlag" @change="clearValidate($event, index)">
  174. <el-radio :label="0">自然人</el-radio>
  175. <el-radio :label="1">机构</el-radio>
  176. </el-radio-group>
  177. </el-form-item>
  178. </el-col>
  179. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  180. <el-form-item label="机构名称" :prop="'applicant.' + index + '.applicant.name'" :rules="[
  181. {
  182. required: true,
  183. message: '申请机构名称不能为空',
  184. trigger: 'blur',
  185. },
  186. ]">
  187. <el-input v-model="item.applicant.name" placeholder="请输入申请机构名称" />
  188. </el-form-item>
  189. </el-col>
  190. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  191. <el-form-item label="申请人" :prop="'applicant.' + index + '.applicant.name'" :rules="[
  192. {
  193. required: true,
  194. message: '申请人名称不能为空',
  195. trigger: 'blur',
  196. },
  197. ]">
  198. <el-input v-model="item.applicant.name" placeholder="请输入申请人姓名" />
  199. </el-form-item>
  200. </el-col>
  201. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  202. <el-form-item label="是否为操作人" :prop="'applicant.' + index + '.applicant.operatorFlag'" :rules="[
  203. {
  204. required: true,
  205. message: '请选择是否为操作人',
  206. trigger: 'blur',
  207. },
  208. ]">
  209. <el-select v-model="item.applicant.operatorFlag" placeholder="请选择" auto-complete="off"
  210. style="width: 100%;" disabled>
  211. <el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
  212. </el-option>
  213. </el-select>
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  217. <el-form-item label-width="140px" label="统一社会信用代码" :prop="'applicant.' + index + '.applicant.code'"
  218. :rules="[
  219. {
  220. required: true,
  221. message: '统一社会信用代码不能为空',
  222. trigger: 'blur',
  223. },
  224. ]">
  225. <el-input v-model="item.applicant.code" placeholder="请输入统一社会信用代码" />
  226. </el-form-item>
  227. </el-col>
  228. <el-col :span="12">
  229. <el-form-item :prop="'applicant.' + index + '.applicant.nationality'" label="国籍" :rules="[
  230. {
  231. required: true,
  232. message: '国籍不能为空',
  233. trigger: 'blur',
  234. },
  235. ]">
  236. <el-select v-model="item.applicant.nationality" placeholder="请选择国籍" auto-complete="off"
  237. style="width: 100%;">
  238. <el-option v-for="item in nationalityList" :key="item.id" :label="item.value" :value="item.id">
  239. </el-option>
  240. </el-select>
  241. </el-form-item>
  242. </el-col>
  243. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  244. <el-form-item :prop="'applicant.' + index + '.applicant.idType'" label="证件类型" :rules="[
  245. {
  246. required: true,
  247. message: '证件类型不能为空',
  248. trigger: 'blur',
  249. },
  250. ]">
  251. <el-select v-model="item.applicant.idType" placeholder="证件类型" auto-complete="off" style="width: 100%;">
  252. <el-option v-for="(item, index) in idTypeList" :key="item.id" :label="item.value" :value="item.id">
  253. </el-option>
  254. </el-select>
  255. </el-form-item>
  256. </el-col>
  257. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  258. <el-form-item label="证件号码" :prop="'applicant.' + index + '.applicant.idCard'" :rules="[
  259. {
  260. required: true,
  261. message: '证件号码不能为空',
  262. trigger: 'blur',
  263. },
  264. ]">
  265. <el-input v-model="item.applicant.idCard" placeholder="请输入申请人的证件号码" />
  266. </el-form-item>
  267. </el-col>
  268. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  269. <el-form-item label-width="140px" label="出生年月:" :prop="'applicant.' + index + '.applicant.birth'">
  270. <el-date-picker disabled v-model="item.applicant.birth" type="date" placeholder="申请人出生年月日">
  271. </el-date-picker>
  272. </el-form-item>
  273. </el-col>
  274. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  275. <el-form-item label="性别:" :prop="'applicant.' + index + '.applicant.sex'" :rules="[
  276. {
  277. required: true,
  278. message: '请选择性别',
  279. },
  280. ]">
  281. <el-radio-group v-model="item.applicant.sex" disabled>
  282. <el-radio :label="'0'">男</el-radio>
  283. <el-radio :label="'1'">女</el-radio>
  284. </el-radio-group>
  285. </el-form-item>
  286. </el-col>
  287. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  288. <el-form-item label="邮箱" :prop="'applicant.' + index + '.applicant.email'" :rules="[
  289. {
  290. required: true,
  291. message: '申请人邮箱不能为空',
  292. trigger: 'blur',
  293. },
  294. {
  295. pattern:
  296. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  297. message: '请输入正确的邮箱地址',
  298. trigger: 'blur',
  299. },
  300. ]">
  301. <el-input v-model="item.applicant.email" placeholder="请输入申请人邮箱" />
  302. </el-form-item>
  303. </el-col>
  304. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  305. <el-form-item label="电话" :prop="'applicant.' + index + '.applicant.phone'" :rules="[
  306. {
  307. required: true,
  308. message: '申请人联系电话不能为空',
  309. trigger: 'blur',
  310. },
  311. {
  312. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  313. message: '请输入正确的手机号码',
  314. trigger: 'blur',
  315. },
  316. ]">
  317. <el-input v-model="item.applicant.phone" placeholder="请输入申请人联系电话" />
  318. </el-form-item>
  319. </el-col>
  320. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  321. <el-form-item label="法定代表人" :prop="'applicant.' + index + '.applicant.compLegalPerson'" :rules="[
  322. {
  323. required: true,
  324. message: '法定代表人不能为空',
  325. trigger: 'blur',
  326. },
  327. ]">
  328. <el-input v-model="item.applicant.compLegalPerson" placeholder="请输入法定代表人" />
  329. </el-form-item>
  330. </el-col>
  331. <el-col :span="12">
  332. <el-form-item label="住所" :prop="'applicant.' + index + '.applicant.home'" :rules="[
  333. {
  334. required: true,
  335. message: '申请人住所不能为空',
  336. trigger: 'blur',
  337. },
  338. ]">
  339. <el-input v-model="item.applicant.home" placeholder="请输入申请人住所" />
  340. </el-form-item>
  341. </el-col>
  342. <el-col :span="12">
  343. <el-form-item label="联系地址" :prop="'applicant.' + index + '.applicant.address'" :rules="[
  344. {
  345. required: true,
  346. message: '申请人联系地址不能为空',
  347. trigger: 'blur',
  348. },
  349. ]">
  350. <el-input v-model="item.applicant.address" placeholder="请输入申请人联系地址" />
  351. </el-form-item>
  352. </el-col>
  353. <el-col :span="24">
  354. <div style="display: inline-flex">
  355. <div class="infoIcon"></div>
  356. <div class="caseInfo">申请人代理人</div>
  357. </div>
  358. <el-divider></el-divider>
  359. </el-col>
  360. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  361. <el-form-item label="联系电话" :prop="'applicant.' + index + '.applicantAgent.phone'" :rules="[
  362. {
  363. required: true,
  364. message: '代理人联系电话不能为空',
  365. trigger: 'blur',
  366. },
  367. {
  368. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  369. message: '请输入正确的手机号码',
  370. trigger: 'blur',
  371. },
  372. ]">
  373. <el-input v-model="item.applicantAgent.phone" placeholder="请输入代理人联系电话" />
  374. </el-form-item>
  375. </el-col>
  376. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  377. <el-form-item label="联系电话" :prop="'applicant.' + index + '.applicantAgent.phone'">
  378. <el-input v-model="item.applicantAgent.phone" placeholder="请输入代理人联系电话" />
  379. </el-form-item>
  380. </el-col>
  381. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  382. <el-form-item label="姓名" :prop="'applicant.' + index + '.applicantAgent.name'" :rules="[
  383. {
  384. required: true,
  385. message: '代理人姓名不能为空',
  386. trigger: 'blur',
  387. },
  388. ]">
  389. <el-input v-model="item.applicantAgent.name" placeholder="请输入代理人姓名" />
  390. </el-form-item>
  391. </el-col>
  392. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  393. <el-form-item label="姓名" :prop="'applicant.' + index + '.applicantAgent.name'">
  394. <el-input v-model="item.applicantAgent.name" placeholder="请输入代理人姓名" />
  395. </el-form-item>
  396. </el-col>
  397. <el-col :span="12">
  398. <el-form-item label="是否为操作人" :prop="'applicant.' + index + '.applicant.operatorFlag'">
  399. <el-select v-model="item.applicantAgent.operatorFlag" placeholder="请选择" auto-complete="off"
  400. style="width: 100%;">
  401. <el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
  402. </el-option>
  403. </el-select>
  404. </el-form-item>
  405. </el-col>
  406. <el-col :span="12" v-if="item.applicant.organizeFlag == 1">
  407. <el-form-item label="邮箱" :prop="'applicant.' + index + '.applicantAgent.email'" :rules="[
  408. {
  409. required: true,
  410. message: '代理人邮箱不能为空',
  411. trigger: 'blur',
  412. },
  413. {
  414. pattern:
  415. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  416. message: '请输入正确的邮箱地址',
  417. trigger: 'blur',
  418. },
  419. ]">
  420. <el-input v-model="item.applicantAgent.email" placeholder="请输入代理人邮箱" />
  421. </el-form-item>
  422. </el-col>
  423. <el-col :span="12" v-if="item.applicant.organizeFlag == 0">
  424. <el-form-item label="邮箱" :prop="'applicant.' + index + '.applicantAgent.email'" :rules="[
  425. {
  426. pattern:
  427. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  428. message: '请输入正确的邮箱地址',
  429. trigger: 'blur',
  430. },
  431. ]">
  432. <el-input v-model="item.applicantAgent.email" placeholder="请输入代理人邮箱" />
  433. </el-form-item>
  434. </el-col>
  435. <el-col :span="12">
  436. <el-button type="danger" icon="el-icon-delete" @click="deleteData(index)"
  437. v-if="form2.applicant.length > 1"></el-button>
  438. </el-col>
  439. </div>
  440. </el-form>
  441. <el-button v-if="flag == 2" type="primary" icon="el-icon-circle-plus-outline"
  442. style="margin-top: 20px;margin-bottom: 20px;" @click="generateForm">新增申请人主体信息</el-button>
  443. <!-- 被申请人主体信息 -->
  444. <el-form ref="form3" label-width="150px" :disabled="flag == '0'" :model="form2">
  445. <div class="res" v-for="(item, index) in form2.res" :key="item.key">
  446. <el-col :span="24">
  447. <div style="display: inline-flex">
  448. <div class="infoIcon"></div>
  449. <div class="caseInfo">被申请人</div>
  450. </div>
  451. <el-divider></el-divider>
  452. </el-col>
  453. <el-col :span="24">
  454. <el-form-item label="选择机构或自然人">
  455. <el-radio-group v-model="item.res.organizeFlag" @change="clearValidate($event, index)">
  456. <el-radio :label="0">自然人</el-radio>
  457. <el-radio :label="1">机构</el-radio>
  458. </el-radio-group>
  459. </el-form-item>
  460. </el-col>
  461. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  462. <el-form-item label="机构名称" :prop="'res.' + index + '.res.name'" :rules="[
  463. {
  464. required: true,
  465. message: '被申请机构名称不能为空',
  466. trigger: 'blur',
  467. },
  468. ]">
  469. <el-input v-model="item.res.name" placeholder="请输入申请机构名称" />
  470. </el-form-item>
  471. </el-col>
  472. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  473. <el-form-item label="被申请人" :prop="'res.' + index + '.res.name'" :rules="[
  474. {
  475. required: true,
  476. message: '被申请人名称不能为空',
  477. trigger: 'blur',
  478. },
  479. ]">
  480. <el-input v-model="item.res.name" placeholder="请输入被申请人姓名" />
  481. </el-form-item>
  482. </el-col>
  483. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  484. <el-form-item label="是否为操作人" :prop="'res.' + index + '.res.operatorFlag'" :rules="[
  485. {
  486. required: true,
  487. message: '请选择是否为操作人',
  488. trigger: 'blur',
  489. },
  490. ]">
  491. <el-select v-model="item.res.operatorFlag" placeholder="请选择" auto-complete="off" style="width: 100%;"
  492. disabled>
  493. <el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
  494. </el-option>
  495. </el-select>
  496. </el-form-item>
  497. </el-col>
  498. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  499. <el-form-item label-width="140px" label="统一社会信用代码" :prop="'res.' + index + '.res.code'" :rules="[
  500. {
  501. required: true,
  502. message: '统一社会信用代码不能为空',
  503. trigger: 'blur',
  504. },
  505. ]">
  506. <el-input v-model="item.res.code" placeholder="请输入统一社会信用代码" />
  507. </el-form-item>
  508. </el-col>
  509. <el-col :span="12">
  510. <el-form-item :prop="'res.' + index + '.res.nationality'" label="国籍" :rules="[
  511. {
  512. required: true,
  513. message: '国籍不能为空',
  514. trigger: 'blur',
  515. },
  516. ]">
  517. <el-select v-model="item.res.nationality" placeholder="请选择国籍" auto-complete="off" style="width: 100%;">
  518. <el-option v-for="item in nationalityList" :key="item.id" :label="item.value" :value="item.id">
  519. </el-option>
  520. </el-select>
  521. </el-form-item>
  522. </el-col>
  523. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  524. <el-form-item :prop="'res.' + index + '.res.idType'" label="证件类型" :rules="[
  525. {
  526. required: true,
  527. message: '证件类型不能为空',
  528. trigger: 'blur',
  529. },
  530. ]">
  531. <el-select v-model="item.res.idType" placeholder="证件类型" auto-complete="off" style="width: 100%;">
  532. <el-option v-for="(item, index) in idTypeList" :key="item.id" :label="item.value" :value="item.id">
  533. </el-option>
  534. </el-select>
  535. </el-form-item>
  536. </el-col>
  537. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  538. <el-form-item label="证件号码" :prop="'res.' + index + '.res.idCard'" :rules="[
  539. {
  540. required: true,
  541. message: '证件号码不能为空',
  542. trigger: 'blur',
  543. },
  544. ]">
  545. <el-input v-model="item.res.idCard" placeholder="请输入被申请人的证件号码" />
  546. </el-form-item>
  547. </el-col>
  548. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  549. <el-form-item label-width="140px" label="出生年月:" :prop="'res.' + index + '.res.birth'">
  550. <el-date-picker disabled v-model="item.res.birth" type="date" placeholder="被申请人出生年月日">
  551. </el-date-picker>
  552. </el-form-item>
  553. </el-col>
  554. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  555. <el-form-item label="性别:" :prop="'res.' + index + '.res.sex'" :rules="[
  556. {
  557. required: true,
  558. message: '请选择性别',
  559. },
  560. ]">
  561. <el-radio-group v-model="item.res.sex" disabled>
  562. <el-radio :label="'0'">男</el-radio>
  563. <el-radio :label="'1'">女</el-radio>
  564. </el-radio-group>
  565. </el-form-item>
  566. </el-col>
  567. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  568. <el-form-item label="邮箱" :prop="'res.' + index + '.res.email'" :rules="[
  569. {
  570. required: true,
  571. message: '被申请人邮箱不能为空',
  572. trigger: 'blur',
  573. },
  574. {
  575. pattern:
  576. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  577. message: '请输入正确的邮箱地址',
  578. trigger: 'blur',
  579. },
  580. ]">
  581. <el-input v-model="item.res.email" placeholder="请输入被申请人邮箱" />
  582. </el-form-item>
  583. </el-col>
  584. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  585. <el-form-item label="电话" :prop="'res.' + index + '.res.phone'" :rules="[
  586. {
  587. required: true,
  588. message: '被申请人联系电话不能为空',
  589. trigger: 'blur',
  590. },
  591. {
  592. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  593. message: '请输入正确的手机号码',
  594. trigger: 'blur',
  595. },
  596. ]">
  597. <el-input v-model="item.res.phone" placeholder="请输入被申请人联系电话" />
  598. </el-form-item>
  599. </el-col>
  600. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  601. <el-form-item label="法定代表人" :prop="'res.' + index + '.res.compLegalPerson'" :rules="[
  602. {
  603. required: true,
  604. message: '法定代表人不能为空',
  605. trigger: 'blur',
  606. },
  607. ]">
  608. <el-input v-model="item.res.compLegalPerson" placeholder="请输入法定代表人" />
  609. </el-form-item>
  610. </el-col>
  611. <el-col :span="12">
  612. <el-form-item label="住所" :prop="'res.' + index + '.res.home'" :rules="[
  613. {
  614. required: true,
  615. message: '申请人住所不能为空',
  616. trigger: 'blur',
  617. },
  618. ]">
  619. <el-input v-model="item.res.home" placeholder="请输入被申请人住所" />
  620. </el-form-item>
  621. </el-col>
  622. <el-col :span="12">
  623. <el-form-item label="联系地址" :prop="'res.' + index + '.res.address'" :rules="[
  624. {
  625. required: true,
  626. message: '被申请人联系地址不能为空',
  627. trigger: 'blur',
  628. },
  629. ]">
  630. <el-input v-model="item.res.address" placeholder="请输入申请人联系地址" />
  631. </el-form-item>
  632. </el-col>
  633. <el-col :span="24">
  634. <div style="display: inline-flex">
  635. <div class="infoIcon"></div>
  636. <div class="caseInfo">被申请人代理人</div>
  637. </div>
  638. <el-divider></el-divider>
  639. </el-col>
  640. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  641. <el-form-item label="联系电话" :prop="'res.' + index + '.resAgent.phone'" :rules="[
  642. {
  643. required: true,
  644. message: '代理人联系电话不能为空',
  645. trigger: 'blur',
  646. },
  647. {
  648. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  649. message: '请输入正确的手机号码',
  650. trigger: 'blur',
  651. },
  652. ]">
  653. <el-input v-model="item.resAgent.phone" placeholder="请输入代理人联系电话" />
  654. </el-form-item>
  655. </el-col>
  656. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  657. <el-form-item label="联系电话" :prop="'res.' + index + '.resAgent.phone'">
  658. <el-input v-model="item.resAgent.phone" placeholder="请输入代理人联系电话" />
  659. </el-form-item>
  660. </el-col>
  661. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  662. <el-form-item label="姓名" :prop="'res.' + index + '.resAgent.name'" :rules="[
  663. {
  664. required: true,
  665. message: '代理人姓名不能为空',
  666. trigger: 'blur',
  667. },
  668. ]">
  669. <el-input v-model="item.resAgent.name" placeholder="请输入代理人姓名" />
  670. </el-form-item>
  671. </el-col>
  672. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  673. <el-form-item label="姓名" :prop="'res.' + index + '.resAgent.name'">
  674. <el-input v-model="item.resAgent.name" placeholder="请输入代理人姓名" />
  675. </el-form-item>
  676. </el-col>
  677. <el-col :span="12">
  678. <el-form-item label="是否为操作人" :prop="'res.' + index + '.resAgent.operatorFlag'">
  679. <el-select v-model="item.resAgent.operatorFlag" placeholder="请选择" auto-complete="off"
  680. style="width: 100%;">
  681. <el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
  682. </el-option>
  683. </el-select>
  684. </el-form-item>
  685. </el-col>
  686. <el-col :span="12" v-if="item.res.organizeFlag == 1">
  687. <el-form-item label="邮箱" :prop="'res.' + index + '.resAgent.email'" :rules="[
  688. {
  689. required: true,
  690. message: '代理人邮箱不能为空',
  691. trigger: 'blur',
  692. },
  693. {
  694. pattern:
  695. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  696. message: '请输入正确的邮箱地址',
  697. trigger: 'blur',
  698. },
  699. ]">
  700. <el-input v-model="item.resAgent.email" placeholder="请输入代理人邮箱" />
  701. </el-form-item>
  702. </el-col>
  703. <el-col :span="12" v-if="item.res.organizeFlag == 0">
  704. <el-form-item label="邮箱" :prop="'res.' + index + '.resAgent.email'" :rules="[
  705. {
  706. pattern:
  707. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  708. message: '请输入正确的邮箱地址',
  709. trigger: 'blur',
  710. },
  711. ]">
  712. <el-input v-model="item.resAgent.email" placeholder="请输入代理人邮箱" />
  713. </el-form-item>
  714. </el-col>
  715. <el-col :span="12">
  716. <el-button type="danger" icon="el-icon-delete" @click="deleteData(index)"
  717. v-if="form2.res.length > 1"></el-button>
  718. </el-col>
  719. </div>
  720. </el-form>
  721. <el-button v-if="flag == 2" type="primary" icon="el-icon-circle-plus-outline"
  722. style="margin-top: 20px;margin-bottom: 20px;" @click="generateForm1()">新增被申请人主体信息</el-button>
  723. <!-- <div v-if="flag == '0' || flag == '1'">
  724. <div style="display: inline-flex">
  725. <div class="infoIcon"></div>
  726. <div class="caseInfo2">仲裁申请书:</div>
  727. </div>
  728. <div v-for="item in caseAttachList" :key="item.annexId" v-if="item.annexType == 1"
  729. style="margin-top:25px;margin-left:100px;">
  730. <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
  731. </div>
  732. </div> -->
  733. <!-- <div style="margin-top:15px;" v-if="flag == '0'">
  734. <div style="display: inline-flex">
  735. <div class="infoIcon"></div>
  736. <div class="caseInfo2">案件异议信息:</div>
  737. </div>
  738. <div style="margin-left:100px;">
  739. {{ this.form.adjudicaCounterReason }}
  740. </div>
  741. </div> -->
  742. </div>
  743. <div v-show="activeName == 'second'" style="margin-top:20px;">
  744. <el-form :model="formGrab" label-width="120px" :disabled="flag == '0'">
  745. <el-form-item v-for="(item, index) in formGrab.list" :label="item.name" :key="item.id">
  746. <el-input type="textarea" v-model="item.value"></el-input>
  747. </el-form-item>
  748. </el-form>
  749. <!-- <el-col :span="24">
  750. <div style="text-align:center;margin-top:50px;">
  751. <el-button type="primary" @click="submitFormGrab" v-if="flag != 0" class="endbutton"><span>确 定</span></el-button>
  752. <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
  753. </div>
  754. </el-col> -->
  755. </div>
  756. <div v-show="activeName == 'third'">
  757. <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 3" style="margin-top:10px;">
  758. <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
  759. </div>
  760. <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 3) == 0" description="暂无数据"></el-empty>
  761. </div>
  762. <div v-show="activeName == 'fourth'">
  763. <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 1" style="margin-top:10px;">
  764. <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
  765. </div>
  766. <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 1) == 0" description="暂无数据"></el-empty>
  767. </div>
  768. <div v-show="activeName == 'five'">
  769. <video v-if="item.annexType == 9" style="background-color: #181717;width: 350px;height: 200px;margin: 10px;"
  770. :src="headPath + item.annexPath" v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index"
  771. controls="controls"></video>
  772. <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 9) == 0" description="暂无数据"></el-empty>
  773. </div>
  774. <div v-show="activeName == 'six'">
  775. <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 7" style="margin-top:10px;">
  776. <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
  777. </div>
  778. <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 7) == 0" description="暂无数据"></el-empty>
  779. </div>
  780. <div v-show="activeName == 'seven'">
  781. <div v-if="detailsAwardNum.adjudicaCounterReason">案件异议信息:{{ detailsAwardNum.adjudicaCounterReason }}</div>
  782. <el-empty v-if="!detailsAwardNum.adjudicaCounterReason" description="暂无数据"></el-empty>
  783. </div>
  784. <div slot="footer" class="dialog-footer" style="text-align:center;margin-top:20px;">
  785. <el-button type="primary" @click="submitForm" v-if="flag != 0" class="endbutton"
  786. :loading="loadingSubmit"><span>确 定</span></el-button>
  787. <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
  788. </div>
  789. </el-dialog>
  790. </div>
  791. </template>
  792. <script>
  793. import moment from "moment"; //导入文件
  794. import { getToken } from "@/utils/auth";
  795. import { addCaseApply, editCaseApply, editCaseApplicationDefineval, selectCaseApply } from "@/api/caseAccess/caseEntry";
  796. import {
  797. getTemplate,
  798. } from "@/api/officialSeal/officialSeal.js";
  799. export default {
  800. props: [
  801. "visible",
  802. "dialogtitle",
  803. "form",
  804. "getcaseApply",
  805. "flag",
  806. "initpaymentArr",
  807. "initpaymentArr1",
  808. "queryParams",
  809. "caseAttachList",
  810. "columnValues",
  811. "detailsAwardForm"
  812. ],
  813. data() {
  814. return {
  815. headPath: window.location.origin + "/API",
  816. detailsAwardNum: {},
  817. activeName: 'first',
  818. loadingSubmit: false,
  819. fileURL: window.location.origin + "/API",
  820. formData: {},
  821. templateList: [],
  822. filedata: {
  823. annexType: 2,
  824. },
  825. headers: {
  826. Authorization: "Bearer " + getToken(),
  827. },
  828. form2: {
  829. applicant: [
  830. {
  831. applicant: {
  832. roleType: 1,
  833. name: "",
  834. idCard: "",
  835. code: "",
  836. phone: "",
  837. compLegalPerson: "",
  838. email: "",
  839. home: "",
  840. address: "",
  841. idType: 0,
  842. nationality: 1,
  843. birth: "",
  844. sex: "1",
  845. operatorFlag: 1,
  846. organizeFlag: 0,
  847. },
  848. applicantAgent: {
  849. roleType: 2,
  850. name: "",
  851. idCard: "",
  852. code: "",
  853. phone: "",
  854. compLegalPerson: "",
  855. email: "",
  856. home: "",
  857. address: "",
  858. idType: 0,
  859. nationality: 1,
  860. birth: "",
  861. sex: "1",
  862. operatorFlag: 1,
  863. organizeFlag: 0,
  864. },
  865. },
  866. ],
  867. res: [
  868. {
  869. res: {
  870. roleType: 3,
  871. name: "",
  872. idCard: "",
  873. code: "",
  874. phone: "",
  875. compLegalPerson: "",
  876. email: "",
  877. home: "",
  878. address: "",
  879. idType: 0,
  880. nationality: 1,
  881. birth: "",
  882. sex: "0",
  883. operatorFlag: 1,
  884. organizeFlag: 0,
  885. },
  886. resAgent: {
  887. roleType: 4,
  888. name: "",
  889. idCard: "",
  890. code: "",
  891. phone: "",
  892. compLegalPerson: "",
  893. email: "",
  894. home: "",
  895. address: "",
  896. idType: 0,
  897. nationality: 1,
  898. birth: "",
  899. sex: "",
  900. operatorFlag: 1,
  901. organizeFlag: 0,
  902. }
  903. }
  904. ]
  905. },
  906. roleTypeList: [
  907. {
  908. value: '否',
  909. id: 0
  910. },
  911. {
  912. value: '是',
  913. id: 1
  914. }
  915. ],
  916. nationalityList: [
  917. {
  918. value: '境内',
  919. id: 0
  920. },
  921. {
  922. value: '境外',
  923. id: 1
  924. }
  925. ],
  926. idTypeList: [
  927. {
  928. value: '身份证',
  929. id: 0
  930. },
  931. {
  932. value: '护照',
  933. id: 1
  934. }
  935. ],
  936. //申请人主体信息
  937. form3: {
  938. paymentArr1: [
  939. {
  940. identityType: 2,
  941. name: "",
  942. identityNum: "",
  943. contactTelphone: "",
  944. email: "",
  945. workAddress: "",
  946. workTelphone: "",
  947. contactAddress: "",
  948. nameAgent: "",
  949. contactTelphoneAgent: "",
  950. contactAddressAgent: "",
  951. responSex: 1,
  952. responBirth: "",
  953. residenAffili: ""
  954. },
  955. ],
  956. }, //被申请人主体信息
  957. // 抓取内容
  958. formGrab: {
  959. list: []
  960. },
  961. formGrabList: [],
  962. // 表单校验
  963. rules: {
  964. caseSubjectAmount: [
  965. {
  966. required: true,
  967. message: "案件标的不能为空",
  968. trigger: "blur",
  969. },
  970. ],
  971. caseName: [
  972. {
  973. required: true,
  974. message: "案件名称不能为空",
  975. trigger: "blur",
  976. },
  977. ],
  978. loanStartDate: [
  979. {
  980. required: true,
  981. message: "借款开始日期不能为空",
  982. trigger: "blur",
  983. },
  984. ],
  985. loanEndDate: [
  986. {
  987. required: true,
  988. message: "借款结束日期不能为空",
  989. trigger: "blur",
  990. },
  991. ],
  992. name: [
  993. {
  994. required: true,
  995. message: "申请人姓名不能为空",
  996. trigger: "blur",
  997. },
  998. ],
  999. contractNumber: [
  1000. {
  1001. required: true,
  1002. message: "合同编号不能为空",
  1003. trigger: "blur",
  1004. },
  1005. ],
  1006. claimPrinciOwed: [
  1007. {
  1008. required: true,
  1009. message: "申请人主张欠本金不能为空",
  1010. trigger: "blur",
  1011. },
  1012. ],
  1013. claimInterestOwed: [
  1014. {
  1015. required: true,
  1016. message: "申请人主张欠利息不能为空",
  1017. trigger: "blur",
  1018. },
  1019. ],
  1020. Overduedays: [
  1021. {
  1022. required: true,
  1023. message: "逾期天数不能为空",
  1024. trigger: "blur",
  1025. },
  1026. ],
  1027. claimLiquidDamag: [
  1028. {
  1029. required: true,
  1030. message: "申请人主张违约金不能为空",
  1031. trigger: "blur",
  1032. },
  1033. ],
  1034. arbitratClaims: [
  1035. {
  1036. required: true,
  1037. message: "请输入申请人仲裁诉求",
  1038. trigger: "blur",
  1039. },
  1040. ],
  1041. facts: [
  1042. {
  1043. required: true,
  1044. message: "请输入事实和理由",
  1045. trigger: "blur",
  1046. }
  1047. ],
  1048. templateId: [
  1049. {
  1050. required: true,
  1051. message: '请输入裁决书模板',
  1052. trigger: 'change'
  1053. }
  1054. ],
  1055. feePayable: [
  1056. {
  1057. required: true,
  1058. },
  1059. ]
  1060. },
  1061. // annexId: '',
  1062. caseAttachListArr: [],
  1063. fileList: [],
  1064. applicateArr: [],
  1065. quiltArr: [],
  1066. pickerOptions: {
  1067. disabledDate(time) {
  1068. return time.getTime() > Date.now() - 8.64e6;
  1069. }
  1070. }
  1071. };
  1072. },
  1073. watch: {
  1074. formData: {
  1075. handler(val) {
  1076. this.activeName = "first"
  1077. this.formGrab.list = this.columnValues
  1078. this.caseAttachListArr = []
  1079. if (val) {
  1080. this.applicateArr = [];
  1081. this.quiltArr = [];
  1082. // this.formData = this.form;
  1083. this.fileList = [];
  1084. if (this.flag == "1" || this.flag == "0") {
  1085. // this.form2.paymentArr = this.initpaymentArr;
  1086. // this.form3.paymentArr1 = this.initpaymentArr1;
  1087. this.caseAttachList.forEach((item) => {
  1088. if (item.annexType == 2) {
  1089. this.applicateArr.push({
  1090. annexName: item.annexName,
  1091. annexPath: item.annexPath,
  1092. });
  1093. }
  1094. if (item.annexType == 6) {
  1095. this.quiltArr.push({
  1096. annexName: item.annexName,
  1097. annexPath: item.annexPath,
  1098. });
  1099. }
  1100. });
  1101. if (this.caseAttachList.length > 0) {
  1102. this.caseAttachListArr = this.caseAttachList
  1103. }
  1104. this.caseAttachList.forEach((item) => {
  1105. if (item.annexType == 2) {
  1106. this.fileList.push(item)
  1107. }
  1108. });
  1109. this.fileList.forEach((item) => {
  1110. item["name"] = item.annexName;
  1111. item["certificatePath"] = item.annexPath;
  1112. });
  1113. }
  1114. if (this.flag == "2") {
  1115. this.form2 = {
  1116. applicant: [
  1117. {
  1118. applicant: {
  1119. roleType: 1,
  1120. name: "",
  1121. idCard: "",
  1122. code: "",
  1123. phone: "",
  1124. compLegalPerson: "",
  1125. email: "",
  1126. home: "",
  1127. address: "",
  1128. idType: 0,
  1129. nationality: 1,
  1130. birth: "",
  1131. sex: "1",
  1132. operatorFlag: 1,
  1133. organizeFlag: 0,
  1134. },
  1135. applicantAgent: {
  1136. roleType: 2,
  1137. name: "",
  1138. idCard: "",
  1139. code: "",
  1140. phone: "",
  1141. compLegalPerson: "",
  1142. email: "",
  1143. home: "",
  1144. address: "",
  1145. idType: 0,
  1146. nationality: 1,
  1147. birth: "",
  1148. sex: "1",
  1149. operatorFlag: 1,
  1150. organizeFlag: 0,
  1151. },
  1152. },
  1153. ],
  1154. res: [
  1155. {
  1156. res: {
  1157. roleType: 3,
  1158. name: "",
  1159. idCard: "",
  1160. code: "",
  1161. phone: "",
  1162. compLegalPerson: "",
  1163. email: "",
  1164. home: "",
  1165. address: "",
  1166. idType: 0,
  1167. nationality: 1,
  1168. birth: "",
  1169. sex: "0",
  1170. operatorFlag: 1,
  1171. organizeFlag: 0,
  1172. },
  1173. resAgent: {
  1174. roleType: 4,
  1175. name: "",
  1176. idCard: "",
  1177. code: "",
  1178. phone: "",
  1179. compLegalPerson: "",
  1180. email: "",
  1181. home: "",
  1182. address: "",
  1183. idType: 0,
  1184. nationality: 1,
  1185. birth: "",
  1186. sex: "",
  1187. operatorFlag: 1,
  1188. organizeFlag: 0,
  1189. }
  1190. }
  1191. ]
  1192. }
  1193. this.form3.paymentArr1 = [
  1194. {
  1195. identityType: 2,
  1196. name: "",
  1197. identityNum: "",
  1198. contactTelphone: "",
  1199. email: "",
  1200. workAddress: "",
  1201. workTelphone: "",
  1202. contactAddress: "",
  1203. nameAgent: "",
  1204. contactTelphoneAgent: "",
  1205. contactAddressAgent: "",
  1206. },
  1207. ];
  1208. }
  1209. }
  1210. },
  1211. deep: true,
  1212. },
  1213. visible(val) {
  1214. if (val && (this.flag == "0" || this.flag == "1")) {
  1215. setTimeout(() => {
  1216. this.detailsAwardNum = this.detailsAwardForm;
  1217. }, 2000)
  1218. this.getTemplateFn({
  1219. pageNum: 1,
  1220. pageSize: 10000000,
  1221. })
  1222. let params = {
  1223. id: this.form.id,
  1224. version: this.form.version
  1225. }
  1226. selectCaseApply(params).then(res => {
  1227. let data = res.data;
  1228. data.affiliate.applicant.forEach(item => {
  1229. if (!item.applicant) {
  1230. item.applicant = {}
  1231. }
  1232. if (!item.applicantAgent) {
  1233. item.applicantAgent = {}
  1234. }
  1235. })
  1236. data.affiliate.res.forEach(item => {
  1237. if (!item.res) {
  1238. item.res = {}
  1239. }
  1240. if (!item.resAgent) {
  1241. item.resAgent = {}
  1242. }
  1243. })
  1244. this.formData = data;
  1245. this.form2 = data.affiliate;
  1246. })
  1247. // this.detailsAwardNum = this.detailsAwardForm;
  1248. // console.log(this.detailsAwardNum.caseAttachList,"PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP");
  1249. }
  1250. }
  1251. },
  1252. methods: {
  1253. clearValidate(val, index) {
  1254. this.$refs["form2"].clearValidate()
  1255. },
  1256. isNoData(data, type) {
  1257. let resNumber = 0
  1258. if (data) {
  1259. let list = data.filter(item => item.annexType == type)
  1260. if (list) {
  1261. resNumber = list.length
  1262. }
  1263. }
  1264. return resNumber
  1265. },
  1266. numberFn(p) {
  1267. this.formData[p] =
  1268. this.formData[p]
  1269. .replace(/[^\d^\.]+/g, "")
  1270. .replace(/^0+(\d)/, "$1")
  1271. .replace(/^\./, "0.")
  1272. .match(/^\d*(\.?\d{0,2})/g)[0] || "";
  1273. },
  1274. UploadUrl() {
  1275. return window.location.origin + "/API/evidence/upload";
  1276. },
  1277. handlePreview(file) {
  1278. if (this.flag == "2") {
  1279. window.open(
  1280. window.location.origin + "/API" + file.response.data.annexName,
  1281. "_blank"
  1282. );
  1283. } else if (this.flag == "1") {
  1284. window.open(
  1285. window.location.origin + "/API" + file.certificatePath,
  1286. "_blank"
  1287. );
  1288. }
  1289. },
  1290. // 文件上传成功
  1291. handlSuccess(res, file) {
  1292. this.caseAttachListArr.push(
  1293. res.data,
  1294. );
  1295. },
  1296. // 文件超出个数限制时的钩子
  1297. handleExceed(files, fileList) {
  1298. this.$message.warning(
  1299. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
  1300. } 个文件`
  1301. );
  1302. },
  1303. // 获取裁决书模板
  1304. getTemplateFn(data) {
  1305. getTemplate(data).then(res => {
  1306. console.log(res)
  1307. this.templateList = res.rows;
  1308. })
  1309. },
  1310. // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
  1311. beforeRemove(file, fileList) {
  1312. return this.$confirm(`确定移除 ${file.name}?`);
  1313. },
  1314. handleRemove(file, fileList) {
  1315. console.log(file)
  1316. console.log(fileList)
  1317. console.log(this.caseAttachListArr)
  1318. this.caseAttachListArr = this.caseAttachListArr.filter(item => item.annexId != file.annexId)
  1319. // (this.caseAttachListArr = []),
  1320. // fileList.forEach((item) => {
  1321. // this.caseAttachListArr.push( item.response.data );
  1322. // });
  1323. },
  1324. // 取消
  1325. cancel() {
  1326. this.$emit("cancel");
  1327. },
  1328. // 校验借款开始日期与结束日期
  1329. // setStartTime() {
  1330. // if (
  1331. // this.setTime(this.formData.loanStartDate) >=
  1332. // this.setTime(this.formData.loanEndDate)
  1333. // ) {
  1334. // this.$message.error("借款开始日期应早于借款结束日期");
  1335. // this.formData.loanStartDate = "";
  1336. // this.formData.loanEndDate = "";
  1337. // }
  1338. // },
  1339. setEndTime() {
  1340. if (
  1341. this.setTime(this.formData.loanEndDate) <=
  1342. this.setTime(this.formData.loanStartDate)
  1343. ) {
  1344. this.$message.error("借款结束日期应晚于借款开始日期");
  1345. this.formData.loanStartDate = "";
  1346. this.formData.loanEndDate = "";
  1347. }
  1348. },
  1349. setTime(val) {
  1350. const date = new Date(val);
  1351. const time = date.getTime();
  1352. return time;
  1353. },
  1354. // 新增申请人主体信息
  1355. generateForm() {
  1356. this.form2.applicant.push({
  1357. applicant: {
  1358. roleType: 1,
  1359. name: "",
  1360. idCard: "",
  1361. code: "",
  1362. phone: "",
  1363. compLegalPerson: "",
  1364. email: "",
  1365. home: "",
  1366. address: "",
  1367. idType: 0,
  1368. nationality: 1,
  1369. birth: "",
  1370. sex: "1",
  1371. operatorFlag: 1,
  1372. organizeFlag: 0,
  1373. },
  1374. applicantAgent: {
  1375. roleType: 2,
  1376. name: "",
  1377. idCard: "",
  1378. code: "",
  1379. phone: "",
  1380. compLegalPerson: "",
  1381. email: "",
  1382. home: "",
  1383. address: "",
  1384. idType: 0,
  1385. nationality: 1,
  1386. birth: "",
  1387. sex: "1",
  1388. operatorFlag: 1,
  1389. organizeFlag: 0,
  1390. },
  1391. },
  1392. );
  1393. },
  1394. // 新增被申请人主体信息
  1395. generateForm1() {
  1396. this.form2.res.push({
  1397. res: {
  1398. roleType: 3,
  1399. name: "",
  1400. idCard: "",
  1401. code: "",
  1402. phone: "",
  1403. compLegalPerson: "",
  1404. email: "",
  1405. home: "",
  1406. address: "",
  1407. idType: 0,
  1408. nationality: 1,
  1409. birth: "",
  1410. sex: "1",
  1411. operatorFlag: 1,
  1412. organizeFlag: 0,
  1413. },
  1414. resAgent: {
  1415. roleType: 4,
  1416. name: "",
  1417. idCard: "",
  1418. code: "",
  1419. phone: "",
  1420. compLegalPerson: "",
  1421. email: "",
  1422. home: "",
  1423. address: "",
  1424. idType: 0,
  1425. nationality: 1,
  1426. birth: "",
  1427. sex: "1",
  1428. operatorFlag: 1,
  1429. organizeFlag: 0,
  1430. },
  1431. },);
  1432. },
  1433. // 删除申请人主体信息
  1434. deleteData(index) {
  1435. this.form2.applicant.splice(index, 1);
  1436. },
  1437. // 删除被申请人主体信息
  1438. deleteData1(index) {
  1439. this.form3.res.splice(index, 1);
  1440. },
  1441. // 提交立案申请 addCaseApply
  1442. submitForm() {
  1443. this.$refs["form"].validate((valid) => {
  1444. this.formData.loanStartDate = moment(
  1445. this.formData.loanStartDate
  1446. ).format("YYYY-MM-DD HH:mm:ss");
  1447. this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
  1448. "YYYY-MM-DD HH:mm:ss"
  1449. );
  1450. if (valid) {
  1451. this.loadingSubmit = true;
  1452. this.$refs["form2"].validate((valid) => {
  1453. if (valid) {
  1454. this.$refs["form3"].validate((vail) => {
  1455. if (vail) {
  1456. this.$set(this.formData, "affiliate", { applicant: [], res: [] });
  1457. this.$set(this.formData.affiliate, "applicant", this.form2.applicant);
  1458. this.$set(this.formData.affiliate, "res", this.form2.res);
  1459. this.$set(this.formData.affiliate, "applicant", this.form2.applicant);
  1460. this.$set(this.formData.affiliate, "res", this.form2.res);
  1461. this.formData.caseAttachList = [...this.caseAttachListArr];
  1462. // this.formData.affiliate[1].responBirth = moment(this.formData.caseAffiliates[1].responBirth).format(
  1463. // "YYYY-MM-DD HH:mm:ss"
  1464. // );
  1465. if (this.formData.id) {
  1466. this.formData['columnValues'] = this.formGrab.list
  1467. addCaseApply({
  1468. ...this.formData,
  1469. affiliate: this.formData.affiliate,
  1470. }).then((res) => {
  1471. if (res.code == 200) {
  1472. this.$modal.msgSuccess("修改成功");
  1473. this.$emit("cancel");
  1474. this.getcaseApply(this.queryParams);
  1475. this.loadingSubmit = false;
  1476. }
  1477. }).catch((err) => {
  1478. this.loadingSubmit = false;
  1479. });
  1480. } else {
  1481. addCaseApply({
  1482. ...this.formData,
  1483. affiliate: this.formData.affiliate,
  1484. }).then((response) => {
  1485. if (response.code == 200) {
  1486. this.$modal.msgSuccess("新增成功");
  1487. this.$emit("cancel");
  1488. this.getcaseApply(this.queryParams);
  1489. this.loadingSubmit = false;
  1490. }
  1491. }).catch((err) => {
  1492. this.loadingSubmit = false;
  1493. });
  1494. }
  1495. }
  1496. });
  1497. }
  1498. });
  1499. }
  1500. });
  1501. },
  1502. // 提交抓取内容修改
  1503. // submitFormGrab(){
  1504. // this.$refs['formGrabRef'].validate((valid) => {
  1505. // if(valid){
  1506. // this.formGrabList['columnValues']= this.formGrab.list
  1507. // console.log(this.formGrabList)
  1508. // editCaseApplicationDefineval({columnValues:this.formGrab.list}).then(res=>{
  1509. // if (res.code == 200) {
  1510. // this.$modal.msgSuccess("修改成功");
  1511. // this.$emit("cancel");
  1512. // this.getcaseApply(this.queryParams);
  1513. // }
  1514. // })
  1515. // }
  1516. // });
  1517. // },
  1518. // 详情显示,展示申请人案件文件
  1519. toFile(item, index) {
  1520. window.open(
  1521. window.location.origin + "/API" + this.applicateArr[index].annexPath,
  1522. "_black"
  1523. );
  1524. },
  1525. // 被申请人文件
  1526. toFile1(item, index) {
  1527. window.open(
  1528. window.location.origin + "/API" + this.quiltArr[index].annexPath,
  1529. "_black"
  1530. );
  1531. },
  1532. // tabs页
  1533. handleClick(tab, event) {
  1534. // console.log(tab, event);
  1535. }
  1536. },
  1537. };
  1538. </script>
  1539. <style lang="scss" scoped>
  1540. ::v-deep .el-dialog__body {
  1541. height: 700px !important;
  1542. overflow: auto !important;
  1543. }
  1544. ::v-deep .el-dialog {
  1545. width: 800px;
  1546. background: #ffffff;
  1547. border-radius: 20px;
  1548. }
  1549. .caseInfo {
  1550. font-size: 17px;
  1551. font-weight: 600;
  1552. }
  1553. .caseInfo2 {
  1554. font-size: 15px;
  1555. font-weight: 550;
  1556. }
  1557. .infoIcon {
  1558. width: 4px;
  1559. // height: 17px;
  1560. background-color: #0072ff;
  1561. margin-right: 5px;
  1562. }
  1563. .el-date-editor {
  1564. width: 100%;
  1565. }
  1566. .endbutton {
  1567. width: 154px;
  1568. height: 37px;
  1569. background: #0072ff;
  1570. border-radius: 19px;
  1571. span {
  1572. width: 96px;
  1573. height: 15px;
  1574. font-size: 16px;
  1575. font-family: Microsoft YaHei;
  1576. font-weight: 400;
  1577. color: #ffffff;
  1578. }
  1579. }
  1580. .endbutton1 {
  1581. width: 154px;
  1582. height: 37px;
  1583. background: #ffffff;
  1584. border: 1px solid #d0d0d0;
  1585. border-radius: 19px;
  1586. span {
  1587. width: 31px;
  1588. height: 13px;
  1589. font-size: 16px;
  1590. font-family: Microsoft YaHei;
  1591. font-weight: 400;
  1592. color: #959595;
  1593. }
  1594. }
  1595. ::v-deep .el-input--medium .el-input__inner {
  1596. height: 40px;
  1597. line-height: 40px;
  1598. }
  1599. </style>