调解系统PC端服务

addCase.vue 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  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" label-width="130px"
  11. 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="申请人调解请求" prop="arbitratClaims" :rules="[
  20. {
  21. required: true,
  22. message: '申请人调解请求不能为空',
  23. trigger: 'blur',
  24. },
  25. ]">
  26. <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
  27. :autosize="{ minRows: 4, maxRows: 8 }" />
  28. </el-form-item>
  29. </el-col>
  30. <el-col :span="24">
  31. <el-form-item label="事实和理由" prop="facts" :rules="[
  32. {
  33. required: true,
  34. message: '事实和理由不能为空',
  35. trigger: 'blur',
  36. },
  37. ]">
  38. <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
  39. :autosize="{ minRows: 4, maxRows: 8 }" />
  40. </el-form-item>
  41. </el-col>
  42. <!-- <el-col :span="24">
  43. <el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
  44. <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
  45. :autosize="{ minRows: 4, maxRows: 8 }" />
  46. </el-form-item>
  47. </el-col> -->
  48. <!-- <el-col :span="24">
  49. <el-form-item label="案件描述" prop="caseDescribe">
  50. <el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
  51. :autosize="{ minRows: 4, maxRows: 8 }" />
  52. </el-form-item>
  53. </el-col> -->
  54. <!-- <el-col :span="12">
  55. <el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
  56. {
  57. required: true,
  58. message: '案件标的不能为空',
  59. trigger: 'blur',
  60. },
  61. ]">
  62. <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
  63. </el-form-item>
  64. </el-col> -->
  65. <!-- <el-col :span="24">
  66. <el-form-item label="调解模板" prop="templateId" :rules="[
  67. {
  68. required: true,
  69. message: '调解模板',
  70. trigger: 'blur',
  71. },
  72. ]">
  73. <el-select placeholder="请选择调解模板" v-model="formData.templateId">
  74. <el-option v-for="item in templateList" :label="item.temName" :key="item.id" :value="item.id"></el-option>
  75. </el-select>
  76. </el-form-item>
  77. </el-col> -->
  78. <el-col :span="12">
  79. <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
  80. <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
  81. :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
  82. :before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
  83. :on-exceed="handleExceed" :file-list="fileList">
  84. <el-button size="small" type="primary">点击上传</el-button>
  85. <div slot="tip" class="el-upload__tip">
  86. 文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
  87. </div>
  88. </el-upload>
  89. </el-form-item>
  90. </el-col>
  91. <el-col :span="24" v-if="modelFlag">
  92. <el-form-item label="证据:">
  93. <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 2">
  94. <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
  95. {{ item.annexName }}
  96. </div>
  97. </div>
  98. </el-form-item>
  99. </el-col>
  100. <el-col :span="24" v-if="modelFlag">
  101. <el-form-item label="调解申请书:">
  102. <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 3">
  103. <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
  104. {{ item.annexName }}
  105. </div>
  106. </div>
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="24" v-if="modelFlag">
  110. <el-form-item label="调解书:">
  111. <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 7">
  112. <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
  113. {{ item.annexName }}
  114. </div>
  115. </div>
  116. </el-form-item>
  117. </el-col>
  118. <el-col :span="24">
  119. <div style="display: inline-flex">
  120. <div class="infoIcon"></div>
  121. <div class="caseInfo">双方信息:</div>
  122. </div>
  123. <el-divider></el-divider>
  124. </el-col>
  125. <el-col :span="24">
  126. <el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
  127. <el-radio-group v-model="formData.affiliate.organizeFlag" :disabled="modelFlag" @change="clearValidate">
  128. <el-radio :label="0">自然人</el-radio>
  129. <el-radio :label="1">机构</el-radio>
  130. </el-radio-group>
  131. </el-form-item>
  132. </el-col>
  133. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  134. <el-form-item label="申请机构名称" prop="affiliate.applicationName" :rules="[
  135. {
  136. required: true,
  137. message: '申请机构名称不能为空',
  138. trigger: 'blur',
  139. },
  140. ]">
  141. <el-input v-model="formData.affiliate.applicationName" placeholder="请输入申请机构名称" />
  142. </el-form-item>
  143. </el-col>
  144. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  145. <el-form-item label="申请人" prop="affiliate.applicationName" :rules="[
  146. {
  147. required: true,
  148. message: '申请人名称不能为空',
  149. trigger: 'blur',
  150. },
  151. ]">
  152. <el-input v-model="formData.affiliate.applicationName" disabled placeholder="请输入申请人姓名" />
  153. </el-form-item>
  154. </el-col>
  155. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  156. <el-form-item label="统一社会信用代码" prop="affiliate.code" :rules="[
  157. {
  158. required: true,
  159. message: '统一社会信用代码不能为空',
  160. trigger: 'blur',
  161. },
  162. ]">
  163. <el-input v-model="formData.affiliate.code" placeholder="请输入统一社会信用代码" />
  164. </el-form-item>
  165. </el-col>
  166. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  167. <el-form-item label="申请人身份证号码" prop="affiliate.code" :rules="[
  168. {
  169. required: true,
  170. message: '申请人身份证号不能为空',
  171. trigger: 'blur',
  172. },
  173. {
  174. pattern:
  175. /^[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]$/,
  176. message: '请输入正确的身份证号码',
  177. trigger: 'blur',
  178. },
  179. ]">
  180. <el-input v-model="formData.affiliate.code" disabled placeholder="请输入申请人的身份证号" />
  181. </el-form-item>
  182. </el-col>
  183. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  184. <el-form-item label="申请人邮箱" prop="affiliate.applicationEmail" :rules="[
  185. {
  186. required: true,
  187. message: '申请人邮箱不能为空',
  188. trigger: 'blur',
  189. },
  190. {
  191. pattern:
  192. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  193. message: '请输入正确的邮箱地址',
  194. trigger: 'blur',
  195. },
  196. ]">
  197. <el-input v-model="formData.affiliate.applicationEmail" disabled placeholder="请输入申请人邮箱" />
  198. </el-form-item>
  199. </el-col>
  200. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  201. <el-form-item label="申请人电话" prop="affiliate.applicationPhone" :rules="[
  202. {
  203. required: true,
  204. message: '申请人联系电话不能为空',
  205. trigger: 'blur',
  206. },
  207. {
  208. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  209. message: '请输入正确的手机号码',
  210. trigger: 'blur',
  211. },
  212. ]">
  213. <el-input v-model="formData.affiliate.applicationPhone" disabled placeholder="请输入申请人联系电话" />
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  217. <el-form-item label="申请人电话" prop="affiliate.applicationPhone" :rules="[
  218. {
  219. required: true,
  220. message: '申请人联系电话不能为空',
  221. trigger: 'blur',
  222. },
  223. {
  224. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  225. message: '请输入正确的手机号码',
  226. trigger: 'blur',
  227. },
  228. ]">
  229. <el-input v-model="formData.affiliate.applicationPhone" placeholder="请输入申请人联系电话" />
  230. </el-form-item>
  231. </el-col>
  232. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  233. <el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
  234. {
  235. required: true,
  236. message: '法定代表人不能为空',
  237. trigger: 'blur',
  238. },
  239. ]">
  240. <el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
  241. </el-form-item>
  242. </el-col>
  243. <el-col :span="12">
  244. <el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
  245. {
  246. required: true,
  247. message: '申请人住所不能为空',
  248. trigger: 'blur',
  249. },
  250. ]">
  251. <el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
  252. </el-form-item>
  253. </el-col>
  254. <el-col :span="12">
  255. <el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
  256. {
  257. required: true,
  258. message: '申请人联系地址不能为空',
  259. trigger: 'blur',
  260. },
  261. ]">
  262. <el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
  263. </el-form-item>
  264. </el-col>
  265. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  266. <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
  267. {
  268. required: true,
  269. message: '代理人联系电话不能为空',
  270. trigger: 'blur',
  271. },
  272. {
  273. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  274. message: '请输入正确的手机号码',
  275. trigger: 'blur',
  276. },
  277. ]">
  278. <el-input v-model="formData.affiliate.contactTelphoneAgent" disabled placeholder="请输入代理人联系电话" />
  279. </el-form-item>
  280. </el-col>
  281. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  282. <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
  283. <el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
  284. </el-form-item>
  285. </el-col>
  286. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  287. <el-form-item label="代理人姓名" prop="affiliate.nameAgent" :rules="[
  288. {
  289. required: true,
  290. message: '代理人姓名不能为空',
  291. trigger: 'blur',
  292. },
  293. ]">
  294. <el-input v-model="formData.affiliate.nameAgent" disabled placeholder="请输入代理人姓名" />
  295. </el-form-item>
  296. </el-col>
  297. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  298. <el-form-item label="代理人姓名" prop="affiliate.nameAgent">
  299. <el-input v-model="formData.affiliate.nameAgent" placeholder="请输入代理人姓名" />
  300. </el-form-item>
  301. </el-col>
  302. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
  303. <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
  304. {
  305. required: true,
  306. message: '代理人邮箱不能为空',
  307. trigger: 'blur',
  308. },
  309. {
  310. pattern:
  311. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  312. message: '请输入正确的邮箱地址',
  313. trigger: 'blur',
  314. },
  315. ]">
  316. <el-input v-model="formData.affiliate.agentEmail" disabled placeholder="请输入代理人邮箱" />
  317. </el-form-item>
  318. </el-col>
  319. <el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
  320. <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
  321. {
  322. pattern:
  323. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  324. message: '请输入正确的邮箱地址',
  325. trigger: 'blur',
  326. },
  327. ]">
  328. <el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
  329. </el-form-item>
  330. </el-col>
  331. <el-col :span="12">
  332. <el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
  333. {
  334. required: true,
  335. message: '被申请人姓名不能为空',
  336. trigger: 'blur',
  337. },
  338. ]">
  339. <el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
  340. </el-form-item>
  341. </el-col>
  342. <el-col :span="12">
  343. <el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
  344. {
  345. required: true,
  346. message: '被申请人联系电话不能为空',
  347. trigger: 'blur',
  348. },
  349. {
  350. pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
  351. message: '请输入正确的手机号码',
  352. trigger: 'blur',
  353. },
  354. ]">
  355. <el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
  356. </el-form-item>
  357. </el-col>
  358. <el-col :span="12">
  359. <el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
  360. {
  361. required: true,
  362. message: '被申请人身份证号不能为空',
  363. trigger: 'blur',
  364. },
  365. {
  366. pattern:
  367. /^[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]$/,
  368. message: '请输入正确的身份证号码',
  369. trigger: 'blur',
  370. },
  371. ]">
  372. <el-input v-model="formData.affiliate.respondentIdentityNum" @blur="handleBlur" placeholder="请输入被申请人身份证号" />
  373. </el-form-item>
  374. </el-col>
  375. <el-col :span="12">
  376. <el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
  377. {
  378. required: true,
  379. message: '请选择性别',
  380. },
  381. ]">
  382. <el-radio-group v-model="formData.affiliate.respondentSex" disabled>
  383. <el-radio :label="0">男</el-radio>
  384. <el-radio :label="1">女</el-radio>
  385. </el-radio-group>
  386. </el-form-item>
  387. </el-col>
  388. <el-col :span="12">
  389. <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
  390. <el-date-picker disabled v-model="formData.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
  391. </el-date-picker>
  392. </el-form-item>
  393. </el-col>
  394. <el-col :span="12">
  395. <el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
  396. {
  397. required: true,
  398. message: '被申请人申请人住所不能为空',
  399. trigger: 'blur',
  400. },
  401. ]">
  402. <el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
  403. </el-form-item>
  404. </el-col>
  405. <el-col :span="12">
  406. <el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
  407. {
  408. required: true,
  409. message: '代理人邮箱不能为空',
  410. trigger: 'blur',
  411. },
  412. {
  413. pattern:
  414. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  415. message: '请输入正确的邮箱地址',
  416. trigger: 'blur',
  417. },
  418. ]">
  419. <el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
  420. </el-form-item>
  421. </el-col>
  422. </el-row>
  423. <el-col :span="24" v-if="modelFlag">
  424. <el-form-item v-for="item in formData.columnValueList" :label="item.name" :key="item.id">
  425. <el-input type="textarea" v-model="item.value"></el-input>
  426. </el-form-item>
  427. </el-col>
  428. </el-form>
  429. <div v-if="activeName == 'second'">
  430. <el-card class="box-card" style="margin-bottom: 30px" v-if="applicantEvidence.length">
  431. <div slot="header" class="clearfix">
  432. <span>申请人证据清单</span>
  433. </div>
  434. <div v-for="(item, index) in applicantEvidence" :key="index" class="text item"
  435. style="color: blue; cursor: pointer" @click="toPreview(item.annexPath)">
  436. {{ item.annexName }}
  437. </div>
  438. </el-card>
  439. <el-card class="box-card" v-if="respondentEvidence.length">
  440. <div slot="header" class="clearfix">
  441. <span>被申请人证据清单</span>
  442. </div>
  443. <div v-for="(item, index) in respondentEvidence" :key="index" class="text item"
  444. style="color: blue; cursor: pointer" @click="toPreview(item.annexPath)">
  445. {{ item.annexName }}
  446. </div>
  447. </el-card>
  448. </div>
  449. <div slot="footer" class="dialog-footer" v-if="buttonFlag">
  450. <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
  451. <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
  452. </div>
  453. </el-dialog>
  454. </div>
  455. </template>
  456. <script>
  457. import {
  458. caseApplicationInsert,
  459. caseApplicationSelectById,
  460. updateComfire,
  461. getInfoByIdCard,
  462. getUserInfo
  463. } from "@/api/caseManagement/caseManagement.js";
  464. import { getTemplate } from "@/api/officialSeal/officialSeal.js";
  465. import { getToken } from "@/utils/auth";
  466. export default {
  467. props: [
  468. "addVisable",
  469. "queryParams",
  470. "caseData",
  471. "caseDisabled",
  472. "tabFlag",
  473. "addModifyData",
  474. ],
  475. dicts: ["case_built_type"],
  476. data() {
  477. return {
  478. activeName: "first",
  479. title: "新增案件",
  480. // organizeFlag:0,//选择机构和自然人
  481. formData: {
  482. affiliate: {
  483. organizeFlag: 0,
  484. respondentSex: 0,
  485. },
  486. columnValueList: [],
  487. caseAttachList: [],
  488. },
  489. templateList: [],
  490. modelFlag: false,
  491. fileURL: window.location.origin + "/API",
  492. fileList: [],
  493. filedata: {
  494. annexType: 2,
  495. },
  496. headers: {
  497. Authorization: "Bearer " + getToken(),
  498. },
  499. applicantEvidence: [], //申请人证据
  500. respondentEvidence: [], //被申请人证据
  501. buttonFlag: true,
  502. getUserInfoList: {},
  503. applicationFlag: null
  504. };
  505. },
  506. watch: {
  507. addModifyData(val) {
  508. if (val == 1) {
  509. this.title = "新增案件";
  510. this.getUserInfoFn();
  511. this.modelFlag = false;
  512. this.buttonFlag = true;
  513. this.formData = {
  514. affiliate: {
  515. organizeFlag: 0,
  516. respondentSex: 0,
  517. },
  518. columnValueList: [],
  519. caseAttachList: [],
  520. };
  521. } else if (val == 3) {
  522. this.title = "修改案件";
  523. this.modelFlag = true;
  524. this.buttonFlag = true;
  525. } else if (val == 2) {
  526. this.title = "案件详情";
  527. this.modelFlag = true;
  528. this.buttonFlag = false;
  529. }
  530. },
  531. addVisable(val) {
  532. if (val) {
  533. this.activeName = "first";
  534. this.getTemplateFn();
  535. if (this.addModifyData != 1) {
  536. this.caseApplicationSelectByIdFn(this.caseData.id);
  537. }
  538. }
  539. },
  540. },
  541. created() {
  542. console.log(this.formData, "000000000000000000")
  543. // this.getUserInfoFn();
  544. },
  545. methods: {
  546. /** 切换申请类型 */
  547. changeApplyType(val) {
  548. console.log(val, "变化");
  549. // this.$refs["ruleForm"].resetFields();
  550. },
  551. /**获取申请人信息 */
  552. getUserInfoFn() {
  553. getUserInfo().then(res => {
  554. this.getUserInfoList = res.data;
  555. this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
  556. this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
  557. this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
  558. this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
  559. })
  560. },
  561. /** 根据案件id获取对应信息 */
  562. caseApplicationSelectByIdFn(data) {
  563. this.applicantEvidence = [];
  564. this.respondentEvidence = [];
  565. caseApplicationSelectById({ id: data }).then((res) => {
  566. res.data.affiliate.respondentSex = Number(res.data.affiliate.respondentSex)
  567. this.formData = res.data;
  568. this.formData.caseAttachList.forEach((item) => {
  569. if (item.annexType == 2) {
  570. this.applicantEvidence.push(item);
  571. } else if (item.annexType == 6) {
  572. this.respondentEvidence.push(item);
  573. }
  574. });
  575. });
  576. },
  577. // 新增案件
  578. insertFn(data) {
  579. caseApplicationInsert(data).then((res) => {
  580. this.$modal.msgSuccess("新增成功!");
  581. this.$emit("cancelCaseAdd");
  582. this.$emit("getList", this.queryParams);
  583. });
  584. },
  585. // 修改确定
  586. modifyData(data) {
  587. updateComfire(data).then((res) => {
  588. this.$modal.msgSuccess("修改成功!");
  589. this.$emit("cancelCaseAdd");
  590. this.$emit("getList", this.queryParams);
  591. });
  592. },
  593. /** 获取裁决书模板 */
  594. getTemplateFn(data) {
  595. getTemplate(data).then((res) => {
  596. this.templateList = res.rows;
  597. });
  598. },
  599. /** 查看证据 */
  600. fileDetil(val) {
  601. window.open(this.fileURL + val);
  602. },
  603. /** 查看证据 */
  604. toPreview(val) {
  605. window.open(this.fileURL + val);
  606. },
  607. /** 文件上传地址 */
  608. UploadUrl() {
  609. return window.location.origin + "/API/common/upload";
  610. },
  611. /**文件上传成功*/
  612. handlSuccess(res, file) {
  613. this.formData.caseAttachList.push({
  614. annexId: res.annexId,
  615. });
  616. },
  617. /**文件超出个数限制时的钩子*/
  618. handleExceed(files, fileList) {
  619. this.$message.warning(
  620. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
  621. } 个文件`
  622. );
  623. },
  624. // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
  625. beforeRemove(file, fileList) {
  626. return this.$confirm(`确定移除 ${file.name}?`);
  627. },
  628. handleRemove(file, fileList) {
  629. this.caseAttachListArr = this.caseAttachListArr.filter(
  630. (item) => item.annexId != file.annexId
  631. );
  632. },
  633. handlePreview(file) {
  634. window.open(
  635. window.location.origin + "/API" + file.certificatePath,
  636. "_blank"
  637. );
  638. },
  639. // 提交form表单
  640. submitForm() {
  641. this.$refs["ruleForm"].validate((valid) => {
  642. if (valid) {
  643. if (this.addModifyData == 3) {
  644. this.modifyData(this.formData);
  645. } else if (this.addModifyData == 1) {
  646. this.insertFn(this.formData);
  647. }
  648. }
  649. });
  650. },
  651. clearValidate(val) {
  652. if (val == 0) {
  653. this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
  654. this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
  655. this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
  656. this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
  657. this.formData.affiliate.nameAgent = null;
  658. this.formData.affiliate.agentEmail = null;
  659. this.formData.affiliate.contactTelphoneAgent = null;
  660. } else if (val == 1) {
  661. this.$set(this.formData.affiliate, "nameAgent", this.getUserInfoList.nickName);
  662. this.$set(this.formData.affiliate, "agentEmail", this.getUserInfoList.email);
  663. this.$set(this.formData.affiliate, "contactTelphoneAgent", this.getUserInfoList.phonenumber);
  664. this.formData.affiliate.applicationName = null;
  665. this.formData.affiliate.code = null;
  666. this.formData.affiliate.applicationEmail = null;
  667. this.formData.affiliate.applicationPhone = null;
  668. }
  669. this.$refs["ruleForm"].clearValidate()
  670. },
  671. cancel() {
  672. this.$emit("cancelCaseAdd");
  673. },
  674. institutionalNatural() {
  675. console.log(this.formData.affiliate.organizeFlag);
  676. },
  677. handleBlur() {
  678. console.log(this.formData.affiliate.respondentIdentityNum);
  679. let idCards = {
  680. idCard: this.formData.affiliate.respondentIdentityNum,
  681. };
  682. getInfoByIdCard(idCards).then((res) => {
  683. this.formData.affiliate.respondentSex = Number(res.respondentSex);
  684. console.log(res.respondentBirth);
  685. this.formData.affiliate.respondentBirth = res.respondentBirth;
  686. });
  687. },
  688. },
  689. };
  690. </script>
  691. <style lang="scss" scoped>
  692. .infoIcon {
  693. width: 4px;
  694. // height: 17px;
  695. background-color: #0072ff;
  696. margin-right: 5px;
  697. }
  698. .caseInfo {
  699. font-size: 17px;
  700. font-weight: 600;
  701. }
  702. ::v-deep .el-dialog__body {
  703. height: 700px !important;
  704. overflow: auto !important;
  705. }
  706. </style>