调解系统PC端服务

addCase.vue 25KB

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