应用层PC端前端服务

caseentryDialog.vue 57KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620
  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 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">
  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 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">
  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. visible(val) {
  1075. this.activeName = "first"
  1076. this.formGrab.list = this.columnValues
  1077. this.caseAttachListArr = []
  1078. if (val) {
  1079. this.applicateArr = [];
  1080. this.quiltArr = [];
  1081. this.fileList = [];
  1082. if (this.flag == "2") {
  1083. this.form2 = {
  1084. applicant: [
  1085. {
  1086. applicant: {
  1087. roleType: 1,
  1088. name: "",
  1089. idCard: "",
  1090. code: "",
  1091. phone: "",
  1092. compLegalPerson: "",
  1093. email: "",
  1094. home: "",
  1095. address: "",
  1096. idType: 0,
  1097. nationality: 1,
  1098. birth: "",
  1099. sex: "1",
  1100. operatorFlag: 1,
  1101. organizeFlag: 0,
  1102. },
  1103. applicantAgent: {
  1104. roleType: 2,
  1105. name: "",
  1106. idCard: "",
  1107. code: "",
  1108. phone: "",
  1109. compLegalPerson: "",
  1110. email: "",
  1111. home: "",
  1112. address: "",
  1113. idType: 0,
  1114. nationality: 1,
  1115. birth: "",
  1116. sex: "1",
  1117. operatorFlag: 1,
  1118. organizeFlag: 0,
  1119. },
  1120. },
  1121. ],
  1122. res: [
  1123. {
  1124. res: {
  1125. roleType: 3,
  1126. name: "",
  1127. idCard: "",
  1128. code: "",
  1129. phone: "",
  1130. compLegalPerson: "",
  1131. email: "",
  1132. home: "",
  1133. address: "",
  1134. idType: 0,
  1135. nationality: 1,
  1136. birth: "",
  1137. sex: "0",
  1138. operatorFlag: 1,
  1139. organizeFlag: 0,
  1140. },
  1141. resAgent: {
  1142. roleType: 4,
  1143. name: "",
  1144. idCard: "",
  1145. code: "",
  1146. phone: "",
  1147. compLegalPerson: "",
  1148. email: "",
  1149. home: "",
  1150. address: "",
  1151. idType: 0,
  1152. nationality: 1,
  1153. birth: "",
  1154. sex: "",
  1155. operatorFlag: 1,
  1156. organizeFlag: 0,
  1157. }
  1158. }
  1159. ]
  1160. }
  1161. this.form3.paymentArr1 = [
  1162. {
  1163. identityType: 2,
  1164. name: "",
  1165. identityNum: "",
  1166. contactTelphone: "",
  1167. email: "",
  1168. workAddress: "",
  1169. workTelphone: "",
  1170. contactAddress: "",
  1171. nameAgent: "",
  1172. contactTelphoneAgent: "",
  1173. contactAddressAgent: "",
  1174. },
  1175. ];
  1176. }
  1177. }
  1178. if (val && (this.flag == "0" || this.flag == "1")) {
  1179. setTimeout(() => {
  1180. this.detailsAwardNum = this.detailsAwardForm;
  1181. }, 2000)
  1182. this.getTemplateFn({
  1183. pageNum: 1,
  1184. pageSize: 10000000,
  1185. })
  1186. let params = {
  1187. id: this.form.id,
  1188. version: this.form.version
  1189. }
  1190. selectCaseApply(params).then(res => {
  1191. let data = res.data;
  1192. data.affiliate.applicant.forEach(item => {
  1193. if (!item.applicant) {
  1194. item.applicant = {}
  1195. }
  1196. if (!item.applicantAgent) {
  1197. item.applicantAgent = {}
  1198. }
  1199. })
  1200. data.affiliate.res.forEach(item => {
  1201. if (!item.res) {
  1202. item.res = {}
  1203. }
  1204. if (!item.resAgent) {
  1205. item.resAgent = {}
  1206. }
  1207. })
  1208. this.caseAttachList = data.caseAttachList;
  1209. this.caseAttachList.forEach((item) => {
  1210. if (item.annexType == 2) {
  1211. this.applicateArr.push({
  1212. annexName: item.annexName,
  1213. annexPath: item.annexPath,
  1214. });
  1215. }
  1216. if (item.annexType == 6) {
  1217. this.quiltArr.push({
  1218. annexName: item.annexName,
  1219. annexPath: item.annexPath,
  1220. });
  1221. }
  1222. });
  1223. if (this.caseAttachList.length > 0) {
  1224. this.caseAttachListArr = this.caseAttachList
  1225. }
  1226. this.caseAttachList.forEach((item) => {
  1227. if (item.annexType == 2) {
  1228. this.fileList.push(item)
  1229. }
  1230. });
  1231. this.fileList.forEach((item) => {
  1232. item["name"] = item.annexName;
  1233. item["certificatePath"] = item.annexPath;
  1234. });
  1235. this.formData = data;
  1236. this.form2 = data.affiliate;
  1237. })
  1238. // this.detailsAwardNum = this.detailsAwardForm;
  1239. // console.log(this.detailsAwardNum.caseAttachList,"PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP");
  1240. }
  1241. }
  1242. },
  1243. methods: {
  1244. clearValidate(val, index) {
  1245. this.$refs["form2"].clearValidate()
  1246. },
  1247. isNoData(data, type) {
  1248. let resNumber = 0
  1249. if (data) {
  1250. let list = data.filter(item => item.annexType == type)
  1251. if (list) {
  1252. resNumber = list.length
  1253. }
  1254. }
  1255. return resNumber
  1256. },
  1257. numberFn(p) {
  1258. this.formData[p] =
  1259. this.formData[p]
  1260. .replace(/[^\d^\.]+/g, "")
  1261. .replace(/^0+(\d)/, "$1")
  1262. .replace(/^\./, "0.")
  1263. .match(/^\d*(\.?\d{0,2})/g)[0] || "";
  1264. },
  1265. UploadUrl() {
  1266. return window.location.origin + "/API/evidence/upload";
  1267. },
  1268. handlePreview(file) {
  1269. if (this.flag == "2") {
  1270. window.open(
  1271. window.location.origin + "/API" + file.response.data.annexName,
  1272. "_blank"
  1273. );
  1274. } else if (this.flag == "1") {
  1275. window.open(
  1276. window.location.origin + "/API" + file.certificatePath,
  1277. "_blank"
  1278. );
  1279. }
  1280. },
  1281. // 文件上传成功
  1282. handlSuccess(res, file) {
  1283. this.caseAttachListArr.push(
  1284. res
  1285. );
  1286. },
  1287. // 文件超出个数限制时的钩子
  1288. handleExceed(files, fileList) {
  1289. this.$message.warning(
  1290. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
  1291. } 个文件`
  1292. );
  1293. },
  1294. // 获取裁决书模板
  1295. getTemplateFn(data) {
  1296. getTemplate(data).then(res => {
  1297. console.log(res)
  1298. this.templateList = res.rows;
  1299. })
  1300. },
  1301. // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
  1302. beforeRemove(file, fileList) {
  1303. return this.$confirm(`确定移除 ${file.name}?`);
  1304. },
  1305. handleRemove(file, fileList) {
  1306. console.log(this.caseAttachListArr)
  1307. this.caseAttachListArr = this.caseAttachListArr.filter(item => item.annexId != file.annexId)
  1308. // (this.caseAttachListArr = []),
  1309. // fileList.forEach((item) => {
  1310. // this.caseAttachListArr.push( item.response.data );
  1311. // });
  1312. },
  1313. // 取消
  1314. cancel() {
  1315. this.$emit("cancel");
  1316. },
  1317. // 校验借款开始日期与结束日期
  1318. // setStartTime() {
  1319. // if (
  1320. // this.setTime(this.formData.loanStartDate) >=
  1321. // this.setTime(this.formData.loanEndDate)
  1322. // ) {
  1323. // this.$message.error("借款开始日期应早于借款结束日期");
  1324. // this.formData.loanStartDate = "";
  1325. // this.formData.loanEndDate = "";
  1326. // }
  1327. // },
  1328. setEndTime() {
  1329. if (
  1330. this.setTime(this.formData.loanEndDate) <=
  1331. this.setTime(this.formData.loanStartDate)
  1332. ) {
  1333. this.$message.error("借款结束日期应晚于借款开始日期");
  1334. this.formData.loanStartDate = "";
  1335. this.formData.loanEndDate = "";
  1336. }
  1337. },
  1338. setTime(val) {
  1339. const date = new Date(val);
  1340. const time = date.getTime();
  1341. return time;
  1342. },
  1343. // 新增申请人主体信息
  1344. generateForm() {
  1345. this.form2.applicant.push({
  1346. applicant: {
  1347. roleType: 1,
  1348. name: "",
  1349. idCard: "",
  1350. code: "",
  1351. phone: "",
  1352. compLegalPerson: "",
  1353. email: "",
  1354. home: "",
  1355. address: "",
  1356. idType: 0,
  1357. nationality: 1,
  1358. birth: "",
  1359. sex: "1",
  1360. operatorFlag: 1,
  1361. organizeFlag: 0,
  1362. },
  1363. applicantAgent: {
  1364. roleType: 2,
  1365. name: "",
  1366. idCard: "",
  1367. code: "",
  1368. phone: "",
  1369. compLegalPerson: "",
  1370. email: "",
  1371. home: "",
  1372. address: "",
  1373. idType: 0,
  1374. nationality: 1,
  1375. birth: "",
  1376. sex: "1",
  1377. operatorFlag: 1,
  1378. organizeFlag: 0,
  1379. },
  1380. },
  1381. );
  1382. },
  1383. // 新增被申请人主体信息
  1384. generateForm1() {
  1385. this.form2.res.push({
  1386. res: {
  1387. roleType: 3,
  1388. name: "",
  1389. idCard: "",
  1390. code: "",
  1391. phone: "",
  1392. compLegalPerson: "",
  1393. email: "",
  1394. home: "",
  1395. address: "",
  1396. idType: 0,
  1397. nationality: 1,
  1398. birth: "",
  1399. sex: "1",
  1400. operatorFlag: 1,
  1401. organizeFlag: 0,
  1402. },
  1403. resAgent: {
  1404. roleType: 4,
  1405. name: "",
  1406. idCard: "",
  1407. code: "",
  1408. phone: "",
  1409. compLegalPerson: "",
  1410. email: "",
  1411. home: "",
  1412. address: "",
  1413. idType: 0,
  1414. nationality: 1,
  1415. birth: "",
  1416. sex: "1",
  1417. operatorFlag: 1,
  1418. organizeFlag: 0,
  1419. },
  1420. },);
  1421. },
  1422. // 删除申请人主体信息
  1423. deleteData(index) {
  1424. this.form2.applicant.splice(index, 1);
  1425. },
  1426. // 删除被申请人主体信息
  1427. deleteData1(index) {
  1428. this.form3.res.splice(index, 1);
  1429. },
  1430. // 提交立案申请 addCaseApply
  1431. submitForm() {
  1432. this.$refs["form"].validate((valid) => {
  1433. this.formData.loanStartDate = moment(
  1434. this.formData.loanStartDate
  1435. ).format("YYYY-MM-DD HH:mm:ss");
  1436. this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
  1437. "YYYY-MM-DD HH:mm:ss"
  1438. );
  1439. if (valid) {
  1440. this.loadingSubmit = true;
  1441. this.$refs["form2"].validate((valid) => {
  1442. if (valid) {
  1443. this.$refs["form3"].validate((vail) => {
  1444. if (vail) {
  1445. this.$set(this.formData, "affiliate", { applicant: [], res: [] });
  1446. this.$set(this.formData.affiliate, "applicant", this.form2.applicant);
  1447. this.$set(this.formData.affiliate, "res", this.form2.res);
  1448. this.$set(this.formData.affiliate, "applicant", this.form2.applicant);
  1449. this.$set(this.formData.affiliate, "res", this.form2.res);
  1450. this.formData.caseAttachList = [...this.caseAttachListArr];
  1451. // this.formData.affiliate[1].responBirth = moment(this.formData.caseAffiliates[1].responBirth).format(
  1452. // "YYYY-MM-DD HH:mm:ss"
  1453. // );
  1454. if (this.formData.id) {
  1455. this.formData['columnValues'] = this.formGrab.list
  1456. addCaseApply({
  1457. ...this.formData,
  1458. affiliate: this.formData.affiliate,
  1459. }).then((res) => {
  1460. if (res.code == 200) {
  1461. this.$modal.msgSuccess("修改成功");
  1462. this.$emit("cancel");
  1463. this.getcaseApply(this.queryParams);
  1464. this.loadingSubmit = false;
  1465. }
  1466. }).catch((err) => {
  1467. this.loadingSubmit = false;
  1468. });
  1469. } else {
  1470. addCaseApply({
  1471. ...this.formData,
  1472. affiliate: this.formData.affiliate,
  1473. }).then((response) => {
  1474. if (response.code == 200) {
  1475. this.$modal.msgSuccess("新增成功");
  1476. this.$emit("cancel");
  1477. this.getcaseApply(this.queryParams);
  1478. this.loadingSubmit = false;
  1479. }
  1480. }).catch((err) => {
  1481. this.loadingSubmit = false;
  1482. });
  1483. }
  1484. }
  1485. });
  1486. }
  1487. });
  1488. }
  1489. });
  1490. },
  1491. // 提交抓取内容修改
  1492. // submitFormGrab(){
  1493. // this.$refs['formGrabRef'].validate((valid) => {
  1494. // if(valid){
  1495. // this.formGrabList['columnValues']= this.formGrab.list
  1496. // console.log(this.formGrabList)
  1497. // editCaseApplicationDefineval({columnValues:this.formGrab.list}).then(res=>{
  1498. // if (res.code == 200) {
  1499. // this.$modal.msgSuccess("修改成功");
  1500. // this.$emit("cancel");
  1501. // this.getcaseApply(this.queryParams);
  1502. // }
  1503. // })
  1504. // }
  1505. // });
  1506. // },
  1507. // 详情显示,展示申请人案件文件
  1508. toFile(item, index) {
  1509. window.open(
  1510. window.location.origin + "/API" + this.applicateArr[index].annexPath,
  1511. "_black"
  1512. );
  1513. },
  1514. // 被申请人文件
  1515. toFile1(item, index) {
  1516. window.open(
  1517. window.location.origin + "/API" + this.quiltArr[index].annexPath,
  1518. "_black"
  1519. );
  1520. },
  1521. // tabs页
  1522. handleClick(tab, event) {
  1523. // console.log(tab, event);
  1524. }
  1525. },
  1526. };
  1527. </script>
  1528. <style lang="scss" scoped>
  1529. ::v-deep .el-dialog__body {
  1530. height: 700px !important;
  1531. overflow: auto !important;
  1532. }
  1533. ::v-deep .el-dialog {
  1534. width: 800px;
  1535. background: #ffffff;
  1536. border-radius: 20px;
  1537. }
  1538. .caseInfo {
  1539. font-size: 17px;
  1540. font-weight: 600;
  1541. }
  1542. .caseInfo2 {
  1543. font-size: 15px;
  1544. font-weight: 550;
  1545. }
  1546. .infoIcon {
  1547. width: 4px;
  1548. // height: 17px;
  1549. background-color: #0072ff;
  1550. margin-right: 5px;
  1551. }
  1552. .el-date-editor {
  1553. width: 100%;
  1554. }
  1555. .endbutton {
  1556. width: 154px;
  1557. height: 37px;
  1558. background: #0072ff;
  1559. border-radius: 19px;
  1560. span {
  1561. width: 96px;
  1562. height: 15px;
  1563. font-size: 16px;
  1564. font-family: Microsoft YaHei;
  1565. font-weight: 400;
  1566. color: #ffffff;
  1567. }
  1568. }
  1569. .endbutton1 {
  1570. width: 154px;
  1571. height: 37px;
  1572. background: #ffffff;
  1573. border: 1px solid #d0d0d0;
  1574. border-radius: 19px;
  1575. span {
  1576. width: 31px;
  1577. height: 13px;
  1578. font-size: 16px;
  1579. font-family: Microsoft YaHei;
  1580. font-weight: 400;
  1581. color: #959595;
  1582. }
  1583. }
  1584. ::v-deep .el-input--medium .el-input__inner {
  1585. height: 40px;
  1586. line-height: 40px;
  1587. }
  1588. </style>