调解系统PC端服务

addCase.vue 49KB

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