调解系统PC端服务

caseList.vue 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
  4. <el-form-item label="案件状态" prop="caseFlowId">
  5. <el-select v-model="queryParams.caseFlowId" placeholder="请选择" clearable>
  6. <el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName" :value="dict.id"
  7. @keyup.enter.native="handleQuery"></el-option>
  8. </el-select>
  9. </el-form-item>
  10. <!-- <el-form-item label="申请机构" prop="applicationOrganId">
  11. <el-select v-model="queryParams.applicationOrganId" placeholder="请选择" clearable>
  12. <el-option v-for="dict in deptList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId"
  13. @keyup.enter.native="handleQuery"></el-option>
  14. </el-select>
  15. </el-form-item> -->
  16. <!-- <el-form-item label="批号" prop="batchNumber">
  17. <el-input v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable style="width: 240px"
  18. @keyup.enter.native="handleQuery" />
  19. </el-form-item> -->
  20. <el-form-item label="案件编号" prop="caseNum">
  21. <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" :disabled='queryDisable' clearable
  22. style="width: 240px" @keyup.enter.native="handleQuery" />
  23. </el-form-item>
  24. <el-form-item label="创建时间" prop="caseTime">
  25. <el-date-picker v-model="caseTime" type="daterange" align="right" unlink-panels range-separator="至"
  26. start-placeholder="开始日期" end-placeholder="结束日期" clearable style="width: 240px"
  27. @change="caseTimeChange">
  28. </el-date-picker>
  29. </el-form-item>
  30. <el-form-item>
  31. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  32. <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
  33. </el-form-item>
  34. </el-form>
  35. <el-row :gutter="10" class="mb8">
  36. <el-col :span="1.5">
  37. <el-button type="primary" plain icon="el-icon-plus" v-hasPermi="['caseManagement:list:add']" size="mini"
  38. @click="addCase()">新增案件</el-button>
  39. </el-col>
  40. <!-- TODO 后期可能加上-->
  41. <!-- <el-col :span="1.5">
  42. <el-button type="primary" plain icon="el-icon-plus" size="mini"
  43. @click="compressedPackages">案件压缩包上传</el-button>
  44. </el-col> -->
  45. </el-row>
  46. <el-table v-loading="loading" :data="dataList" style="width: 100%">
  47. <el-table-column label="序号" type="index" align="center">
  48. <template slot-scope="scope">
  49. <span>{{
  50. (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
  51. }}</span>
  52. </template>
  53. </el-table-column>
  54. <!-- <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" /> -->
  55. <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
  56. <el-table-column label="申请人" align="center" prop="applicationName" :show-overflow-tooltip="true" />
  57. <el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" />
  58. <!-- <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> -->
  59. <el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />
  60. <el-table-column label="调解方式" align="center" prop="mediationMethodName" :show-overflow-tooltip="true" />
  61. <el-table-column label="调解时间" align="center" prop="hearDate" :show-overflow-tooltip="true" />
  62. <el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
  63. <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
  64. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  65. <template slot-scope="scope">
  66. <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
  67. v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
  68. <el-button size="mini" @click="checkDetail(scope.row)" type="text"
  69. icon="el-icon-view">查看详情</el-button>
  70. <el-button size="mini" @click="caseFlow(scope.row)" type="text"
  71. icon="el-icon-zoom-in">查看流程</el-button>
  72. <el-button size="mini" @click="caseLog(scope.row)" type="text"
  73. icon="el-icon-edit-outline">案件日志</el-button>
  74. <el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text" icon="el-icon-edit"
  75. v-if="scope.row.caseFlowId > 2">查看缴费单</el-button>
  76. <el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
  77. v-hasPermi="['caseManagement:list:evidenceEdit']"
  78. v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
  79. <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 ||
  80. scope.row.caseFlowId == 16 ||
  81. scope.row.caseFlowId == 17
  82. " @click="caseFilingDetails(scope.row)">归档详情</el-button>
  83. <div class="btnList" v-for="item in buttonList" :key="item.id">
  84. <el-button size="mini" type="text" icon="el-icon-tickets" @click="caseClick(scope.row, item.id)"
  85. v-if="(item.id == scope.row.caseFlowId &&
  86. checkPermi([item.buttonAuthFlag]) &&
  87. scope.row.signButtonFlag != 1) && (scope.row.appOperatorFlag == 1 || scope.row.resOperatorFlag == 1 || scope.row.otherFlag == 1)
  88. ">{{ item.nodeName }}</el-button>
  89. </div>
  90. </template>
  91. </el-table-column>
  92. </el-table>
  93. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
  94. :limit.sync="queryParams.pageSize" @pagination="getList(queryParams)" />
  95. <!-- 新增编辑详情 -->
  96. <addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
  97. :caseData="caseData" :caseDisabled="caseDisabled" :tabFlag="tabFlag" :addModifyData="addModifyData">
  98. </addCase>
  99. <!-- 压缩包导入 -->
  100. <caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
  101. @cancelCompreess="cancelCompreess" :getList="getList">
  102. </caseCompressionPackage>
  103. <!-- 案件详情 -->
  104. <mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess"
  105. :caseFlowNumber="caseFlowNumber">
  106. </mediationCaseDetails>
  107. <!-- 案件日志 -->
  108. <mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr"
  109. :flagLoading="flagLoading"></mediationCaseLog>
  110. <!-- 证据修改 -->
  111. <evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence"
  112. :evidenceData="evidenceData">
  113. </evidenceDialog>
  114. <!-- 缴费 -->
  115. <payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId"
  116. :payForm="payForm" :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"
  117. :formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
  118. <!-- 缴费确认查看详情 -->
  119. <paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
  120. :detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma"
  121. :isapplicant="isapplicant" @getList="getList">
  122. </paymentdetailsDialog>
  123. <!-- 案件受理 -->
  124. <caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
  125. :caseAcceptanceData="caseAcceptanceData" @getList="getList" :queryParams="queryParams"></caseAcceptance>
  126. <!-- 被申请人缴费 -->
  127. <respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail"
  128. :resPayId="resPayId" :resPayForm="resPayForm" :queryParams="queryParams" @getList="getList"
  129. @paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
  130. <!-- 调解员弹窗 -->
  131. <selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData"
  132. @getList="getList" :queryParams="queryParams"></selectMediator>
  133. <!-- 秘书确认 -->
  134. <confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData"
  135. @getList="getList" :queryParams="queryParams"></confirmMediator>
  136. <!-- 部门长确认 -->
  137. <departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable"
  138. :departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
  139. <!-- 秘书确认时间 -->
  140. <timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable"
  141. :timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
  142. <!-- 待调解 -->
  143. <mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable"
  144. :mediationData="mediationData" @getList="getList" :queryParams="queryParams" :applicant="applicant"></mediation>
  145. <confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
  146. :confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
  147. <!-- 归档详情 -->
  148. <caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
  149. @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
  150. </caseFilingDetailsPage>
  151. </div>
  152. </template>
  153. <script>
  154. import {
  155. caseApplicationList,
  156. caseApplicationSelectById,
  157. submitCaseApply,
  158. selectPaymentDetail,
  159. sealApply,
  160. selectSealUrl,
  161. listCaseLogRecord,
  162. msCaseFile,
  163. msCaseSign,
  164. listDeptApplied,
  165. msCaseSignUrlApplyPC,
  166. } from "@/api/caseManagement/caseManagement.js";
  167. import { listDept } from "@/api/system/dept.js";
  168. import { queryCaseFlowInfo } from "@/api/caseprocessManagement/caseprocessManagement.js";
  169. import moment from "moment";
  170. import addCase from "./components/addCase.vue";
  171. import evidenceDialog from "./components/evidenceDialog.vue";
  172. import caseCompressionPackage from "./components/caseCompressionPackage.vue";
  173. import mediationCaseDetails from "./components/mediationCaseDetails.vue";
  174. import mediationCaseLog from "./components/mediationCaseLog.vue";
  175. import payDialog from "./components/payDialog.vue";
  176. import respondentPay from "./components/respondentPay.vue";
  177. import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
  178. import caseAcceptance from "./components/caseAcceptance.vue";
  179. import selectMediator from "./components/selectMediator.vue";
  180. import confirmMediator from "./components/confirmMediator.vue";
  181. import departmentMediator from "./components/departmentMediator.vue";
  182. import timeConfirm from "./components/timeConfirm.vue";
  183. import mediation from "./components/mediation.vue";
  184. import confirmMediation from "./components/confirmMediation.vue";
  185. import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
  186. export default {
  187. name: "caseList",
  188. dicts: ["case_flow_node"],
  189. components: {
  190. addCase,
  191. caseCompressionPackage,
  192. mediationCaseDetails,
  193. mediationCaseLog,
  194. evidenceDialog,
  195. payDialog,
  196. paymentdetailsDialog,
  197. caseAcceptance,
  198. selectMediator, //调解员弹窗
  199. confirmMediator,
  200. departmentMediator,
  201. timeConfirm,
  202. mediation,
  203. confirmMediation,
  204. caseFilingDetailsPage,
  205. respondentPay,
  206. },
  207. data() {
  208. return {
  209. queryParams: {
  210. pageNum: 1,
  211. pageSize: 10,
  212. },
  213. queryDisable: false,
  214. // 遮罩层
  215. loading: false,
  216. // 总条数
  217. total: 0,
  218. // 表格数据
  219. form: {},
  220. // 校验表单
  221. rules: {},
  222. dataList: [],
  223. addVisable: false, //新增弹窗
  224. openPay: false, //缴费弹框
  225. openResPay: false, //被申请人缴费弹窗
  226. formPayDetail: {},
  227. formResPayDetail: {},
  228. payId: null,
  229. resPayId: null,
  230. payForm: {},
  231. resPayForm: {},
  232. openCompressedPackages: false, //压缩包导入弹窗
  233. processVisable: false, //案件详情
  234. showcaseLog: false, //案件日志
  235. openDialog: false, //确认缴费和缴费详情
  236. detailform: {}, //缴费详情数据
  237. evidenceVisable: false, //证据修改弹窗
  238. mediationVisable: false, //待调解弹窗
  239. mediationData: {},
  240. payTitle: "", //缴费标题
  241. resPayTitle: "", //被申请人缴费标题
  242. paymentConfirma: {}, //缴费确认
  243. showAcceptance: false, //案件受理弹框
  244. caseAcceptanceData: {}, //案件受理数据
  245. mediatorVisable: false, //选择调解员弹窗
  246. timeVisable: false, //预约时间弹窗
  247. confirmVisable: false, //确认时间/调解员
  248. caseFlowNumber: {}, //案件流程数据
  249. caselogDataArr: [], //案件日志数据
  250. flagLoading: true, //案件日志弹框loading
  251. confirmTionVisable: false, //确认调解书弹窗
  252. addModifyData: null, //新增修改传的参数
  253. showarchiveDetails: false, //归档详情弹窗
  254. detailsAwardNum: {},
  255. flagLoadingS: true,
  256. formPayDetailAffiliate: {},
  257. formResPay: {},
  258. mediatorData: {},
  259. flag: null,
  260. caseData: {},
  261. evidenceData: {},
  262. caseDisabled: false,
  263. caseTime: "",
  264. deptList: [],
  265. payTitle: "",
  266. tabFlag: false,
  267. confirmData: {},
  268. departmentVisable: false,
  269. departmentData: {},
  270. timeConfirmVisable: false,
  271. timeConfirmData: {},
  272. confirmTionData: {},
  273. buttonList: [],
  274. caseStausArr: [], //案件状态
  275. isapplicant: true, //判断角色申请人或非申请人
  276. caseFilingData: {},
  277. applicant:""
  278. };
  279. },
  280. created() {
  281. this.queryParams.caseNum = this.$route.query.caseNum;
  282. if (this.$route.query.token) {
  283. this.queryDisable = true;
  284. } else {
  285. this.queryDisable = false;
  286. }
  287. // this.getList(this.queryParams);
  288. this.listDeptFn();
  289. // this.getButtonList()
  290. queryCaseFlowInfo({
  291. pageNum: 1,
  292. pageSize: 100000,
  293. }).then((res) => {
  294. res.rows.forEach((item) => {
  295. if (item.id != 17) {
  296. this.buttonList.push(item);
  297. }
  298. this.caseStausArr.push(item);
  299. });
  300. // if (this.$route.query.caseFlowId) {
  301. // let querydata = Number(this.$route.query.caseFlowId);
  302. // if (querydata > 0) {
  303. // this.$set(this.queryParams, 'caseFlowId', querydata)
  304. // }
  305. // }
  306. // this.getList(this.queryParams);
  307. });
  308. if (this.$route.query.caseFlowId) {
  309. let querydata = Number(this.$route.query.caseFlowId);
  310. if (querydata > 0) {
  311. this.$set(this.queryParams, 'caseFlowId', querydata)
  312. }
  313. }
  314. this.getList(this.queryParams);
  315. },
  316. methods: {
  317. /**所有按钮事件 */
  318. caseClick(val, type) {
  319. if (type == 1) {
  320. // 提交案件
  321. this.onsubmitRow(val);
  322. } else if (type == 2) {
  323. // 缴费
  324. this.payStatus(val);
  325. } else if (type == 3 || type == 45) {
  326. // 确认缴费
  327. this.paymentconfirmationRow(val, type);
  328. } else if (type == 4) {
  329. // 受理分配
  330. this.caseAccep(val);
  331. } else if (type == 5) {
  332. // 选择调解员
  333. this.selectMediator(val);
  334. } else if (type == 6) {
  335. // 核实调解员
  336. this.secretaryConfirm(val);
  337. } else if (type == 7) {
  338. // 确认调解员
  339. this.department(val);
  340. } else if (type == 8) {
  341. // 确定调解时间
  342. this.timeConfirm(val);
  343. } else if (type == 9) {
  344. // 调解
  345. this.mediationClick(val);
  346. } else if (type == 10) {
  347. // 确认调解书
  348. this.confirmMediation(val);
  349. } else if (type == 11) {
  350. // 签名
  351. this.msCaseSignUrlApplyPCFn(val);
  352. } else if (type == 12) {
  353. // 用印申请
  354. this.consultantApplica(val);
  355. } else if (type == 13) {
  356. // 用印
  357. this.departmentApplica(val);
  358. } else if (type == 14) {
  359. // 归档
  360. this.caseFiling(val);
  361. } else if (type == 15) {
  362. // 申请人签收
  363. this.signMediation(val);
  364. } else if (type == 16) {
  365. // 被申请人签收
  366. this.receivedMediation(val);
  367. } else if (type == 17) {
  368. //结束
  369. } else if (type == 44) {
  370. // 被申请人缴费
  371. this.resPayStatus(val);
  372. }
  373. },
  374. /**查询按钮列表 */
  375. getButtonList() { },
  376. /** 新增案件 */
  377. addCase() {
  378. this.addModifyData = 1;
  379. this.addVisable = true;
  380. this.caseData = {};
  381. this.caseDisabled = false;
  382. this.tabFlag = false;
  383. },
  384. /** 查看详情 */
  385. checkDetail(val) {
  386. this.addModifyData = 2;
  387. this.addVisable = true;
  388. this.caseData = val;
  389. this.caseDisabled = true;
  390. this.tabFlag = true;
  391. },
  392. /** 修改案件 */
  393. eidtNodeprocess(row) {
  394. this.addModifyData = 3;
  395. this.addVisable = true;
  396. this.caseData = row;
  397. this.$set(this.caseData, "flag", 2);
  398. this.caseDisabled = false;
  399. this.tabFlag = false;
  400. },
  401. /** 案件导入压缩包 */
  402. compressedPackages() {
  403. this.openCompressedPackages = true;
  404. },
  405. /** 缴费 */
  406. payStatus(val) {
  407. this.getDetail({ id: val.id });
  408. this.payTitle = "申请人缴费";
  409. this.payId = val.id;
  410. this.openPay = true;
  411. },
  412. /** 被申请人缴费 */
  413. resPayStatus(val) {
  414. this.getResDetail({ id: val.id });
  415. this.resPayTitle = "被申请人缴费";
  416. this.resPayId = val.id;
  417. this.openResPay = true;
  418. },
  419. /** 列表提交立案 */
  420. onsubmitRow(row) {
  421. this.$modal
  422. .confirm("是否提交调解申请?")
  423. .then(function () {
  424. return submitCaseApply({ id: row.id, caseFlowId: row.caseFlowId });
  425. })
  426. .then(() => {
  427. this.getList(this.queryParams);
  428. this.$modal.msgSuccess("调解申请成功");
  429. })
  430. .catch(() => { });
  431. },
  432. /** 签名 */
  433. msCaseSignUrlApplyPCFn(row) {
  434. // this.$modal
  435. // .confirm("是否")
  436. // .then(function () {
  437. // return msCaseSignUrlApplyPC({ caseId: row.id });
  438. // })
  439. // .then(() => {
  440. // this.getList(this.queryParams);
  441. // this.$modal.msgSuccess("立案申请成功");
  442. // })
  443. // .catch(() => { });
  444. msCaseSignUrlApplyPC({ caseId: row.id }).then((res) => {
  445. window.open(res.data.sealUrl);
  446. });
  447. },
  448. /** 选择调解员 */
  449. selectMediator(val) {
  450. this.mediatorVisable = true;
  451. this.mediatorData = val;
  452. },
  453. /** 预约时间 */
  454. selectTime(val) {
  455. this.timeVisable = true;
  456. },
  457. /** 调解 */
  458. mediationClick(val) {
  459. this.mediationVisable = true;
  460. this.mediationData = val;
  461. this.applicant = val.applicationName;
  462. },
  463. /** 确认调解书 */
  464. confirmMediation(val) {
  465. this.confirmTionVisable = true;
  466. this.confirmTionData = val;
  467. },
  468. getDetail(parms) {
  469. caseApplicationSelectById(parms).then((res) => {
  470. this.formPayDetail = res.data;
  471. this.formPayDetailAffiliate = res.data.affiliate;
  472. let applicantStr = '';
  473. let resStr = '';
  474. applicantStr = this.formPayDetailAffiliate.applicant.map(item => item.applicant.name).join(',');
  475. resStr = this.formPayDetailAffiliate.res.map(item => item.res.name).join(',');
  476. this.formPayDetailAffiliate.applicationName = applicantStr;
  477. this.formPayDetailAffiliate.respondentName = resStr;
  478. this.payForm.feePayable = res.data.feePayable;
  479. this.payForm.caseId = res.data.id;
  480. });
  481. },
  482. getResDetail(parms) {
  483. caseApplicationSelectById(parms).then((res) => {
  484. this.formResPayDetail = res.data;
  485. this.formResPay = res.data.affiliate;
  486. let applicantStr = '';
  487. let resStr = '';
  488. applicantStr = this.formResPay.applicant.map(item => item.applicant.name).join(',');
  489. resStr = this.formResPay.res.map(item => item.res.name).join(',');
  490. this.formResPay.applicationName = applicantStr;
  491. this.formResPay.respondentName = resStr;
  492. this.resPayForm.feePayable = res.data.feePayable;
  493. this.resPayForm.caseId = res.data.id;
  494. });
  495. },
  496. /** 确认调解员 */
  497. secretaryConfirm(val) {
  498. this.confirmVisable = true;
  499. this.confirmData = val;
  500. },
  501. /** 部门长确认调解员 */
  502. department(val) {
  503. this.departmentVisable = true;
  504. this.departmentData = val;
  505. },
  506. /**确认时间 */
  507. timeConfirm(val) {
  508. this.timeConfirmVisable = true;
  509. this.timeConfirmData = val;
  510. },
  511. /** 时间改变处理 */
  512. caseTimeChange() {
  513. if (this.caseTime) {
  514. this.queryParams.startTime = moment(this.caseTime[0]).format(
  515. "YYYY-MM-DD HH:mm:ss"
  516. );
  517. this.queryParams.endTime = moment(this.caseTime[1]).format(
  518. "YYYY-MM-DD HH:mm:ss"
  519. );
  520. } else {
  521. this.queryParams.startTime = "";
  522. this.queryParams.endTime = "";
  523. }
  524. },
  525. /** 获取所有部门 */
  526. listDeptFn() {
  527. listDeptApplied().then((res) => {
  528. this.deptList = res.data;
  529. });
  530. },
  531. /** 修改证据 */
  532. evidenceUpload(row) {
  533. this.evidenceData = row;
  534. this.evidenceVisable = true;
  535. },
  536. /** 取消弹窗(证据弹窗) */
  537. cancelEvidence() {
  538. this.evidenceVisable = false;
  539. },
  540. /** 关闭新增弹窗 */
  541. cancelCaseAdd() {
  542. this.addVisable = false;
  543. },
  544. /** 关闭压缩包导入弹窗 */
  545. cancelCompreess() {
  546. this.openCompressedPackages = false;
  547. },
  548. /**取消缴费*/
  549. paycancelRow(row) {
  550. this.openPay = false;
  551. },
  552. /**被申请人取消缴费*/
  553. paycancelRes(row) {
  554. this.openResPay = false;
  555. },
  556. /** 取消调解员弹窗 */
  557. cancelMediator() {
  558. this.mediatorVisable = false;
  559. },
  560. /** 取消预约时间弹窗 */
  561. cancelTime() {
  562. this.timeVisable = false;
  563. },
  564. /**取消调解 */
  565. cancelMediation() {
  566. this.timeConfirmVisable = false;
  567. },
  568. /** 取消确认调解弹窗 */
  569. cancelConfirmTion() {
  570. this.confirmTionVisable = false;
  571. },
  572. cancelMediation() {
  573. this.mediationVisable = false;
  574. },
  575. cancelConfirm() {
  576. this.confirmVisable = false;
  577. },
  578. cancelDepartment() {
  579. this.departmentVisable = false;
  580. },
  581. cancelTimeConfirm() {
  582. this.timeConfirmVisable = false;
  583. },
  584. /** 搜索按钮操作 */
  585. handleQuery() {
  586. this.queryParams.pageNum = 1;
  587. this.getList(this.queryParams);
  588. },
  589. /** 重置按钮操作 */
  590. // resetQuery() {
  591. // this.resetForm("queryForm");
  592. // this.handleQuery();
  593. // },
  594. // 查询列表数据
  595. getList(parms) {
  596. this.loading = true;
  597. caseApplicationList(parms).then((response) => {
  598. this.dataList = response.rows;
  599. this.total = response.total;
  600. this.loading = false;
  601. });
  602. },
  603. // 法律顾问用印申请
  604. consultantApplica(row) {
  605. let paramsValue = {
  606. caseId: row.id,
  607. batchNumber: "",
  608. caseFlowId: row.caseFlowId,
  609. };
  610. this.$modal
  611. .confirm("你确定要用印申请吗?")
  612. .then((res) => {
  613. sealApply(paramsValue).then((res) => {
  614. this.getList(this.queryParams);
  615. this.$modal.msgSuccess("用印申请成功");
  616. });
  617. })
  618. .catch(() => { });
  619. },
  620. // 部门长用印申请
  621. departmentApplica(row) {
  622. this.$modal
  623. .confirm("你确定要用印确认吗?")
  624. .then((res) => {
  625. let paramsValue = {
  626. caseId: row.id,
  627. };
  628. selectSealUrl(paramsValue).then((res) => {
  629. window.open(res.data.sealUrl);
  630. this.$modal
  631. .confirm("你确认用印了吗?")
  632. .then((res) => {
  633. this.getList(this.queryParams);
  634. })
  635. .catch(() => { });
  636. });
  637. })
  638. .catch(() => { });
  639. },
  640. // 案件受理
  641. caseAccep(row) {
  642. this.caseAcceptanceData = row;
  643. this.showAcceptance = true;
  644. },
  645. cancelAcceptance() {
  646. this.showAcceptance = false;
  647. },
  648. // 缴费确认
  649. paymentconfirmationRow(row, type) {
  650. this.paymentConfirma = row;
  651. console.log(this.paymentConfirma);
  652. this.paymentDetails({
  653. id: row.id,
  654. });
  655. this.openDialog = true;
  656. this.payTitle = "缴费确认";
  657. this.flag = 0;
  658. this.detailform = {};
  659. if (type == 3) {
  660. // 申请人
  661. this.isapplicant = true;
  662. } else {
  663. this.isapplicant = false;
  664. }
  665. },
  666. cancelpaymentdetails() {
  667. this.openDialog = false;
  668. },
  669. // 查看缴费确认
  670. viewpaymentformRow(row) {
  671. this.paymentDetails({
  672. id: row.id,
  673. });
  674. this.payTitle = "缴费单详情";
  675. this.flag = 1;
  676. this.detailform = {};
  677. this.openDialog = true;
  678. },
  679. // 缴费详情
  680. paymentDetails(val) {
  681. selectPaymentDetail(val).then((res) => {
  682. this.detailform = res.data;
  683. });
  684. },
  685. //案件流程
  686. caseFlow(row) {
  687. this.caseFlowNumber = row;
  688. this.processVisable = true;
  689. },
  690. cancelViewProcess() {
  691. this.processVisable = false;
  692. },
  693. //案件日志
  694. caseLog(row) {
  695. this.caseLogNumber = row;
  696. this.showcaseLog = true;
  697. this.flagLoading = true;
  698. listCaseLogRecord({ caseId: row.id }).then((res) => {
  699. this.caselogDataArr = res.data;
  700. this.flagLoading = false;
  701. });
  702. },
  703. cancelcaseLog() {
  704. this.showcaseLog = false;
  705. },
  706. // 案件送达
  707. caseFiling(row) {
  708. console.log(row.id);
  709. let paramValues = {
  710. ids: [row.id],
  711. };
  712. this.$confirm("你确定要案件送达吗?", "提示", {
  713. confirmButtonText: '确定',
  714. cancelButtonText: '取消',
  715. type: 'warning',
  716. callback: () => { },
  717. beforeClose: (action, ctx, close) => {
  718. if (action !== 'confirm') {
  719. close();
  720. return;
  721. }
  722. ctx.confirmButtonLoading = true;
  723. msCaseFile(paramValues).then((res) => {
  724. this.$modal.msgSuccess("案件送达成功");
  725. close();
  726. this.getList(this.queryParams);
  727. }).finally(() => {
  728. ctx.confirmButtonLoading = false;
  729. })
  730. }
  731. }).finally(() => { })
  732. // .then((res) => {
  733. // msCaseFile(paramValues).then((res) => {
  734. // this.$modal.msgSuccess("案件送达成功");
  735. // this.getList(this.queryParams);
  736. // });
  737. // })
  738. // .catch(() => { });
  739. },
  740. //申请人签收调解书
  741. signMediation(row) {
  742. this.$modal
  743. .confirm("你确定要签收调解书吗?")
  744. .then((res) => {
  745. this.signingMediationAgreement({ caseId: row.id, isSignApply: 1 });
  746. })
  747. .catch(() => { });
  748. },
  749. //被申请人签收调解书
  750. receivedMediation(row) {
  751. this.$modal
  752. .confirm("你确定要签收调解书吗?")
  753. .then((res) => {
  754. this.signingMediationAgreement({ caseId: row.id, isSignRespon: 1 });
  755. })
  756. .catch(() => { });
  757. },
  758. // 申请人和被申请人签收调解书接口
  759. signingMediationAgreement(val) {
  760. console.log(val);
  761. msCaseSign(val).then((res) => {
  762. this.$modal.msgSuccess("签收成功");
  763. this.getList(this.queryParams);
  764. });
  765. },
  766. //归档详情
  767. caseFilingDetails(val) {
  768. this.showarchiveDetails = true;
  769. this.caseFilingData = val;
  770. let vals = { id: val.id };
  771. caseApplicationSelectById(vals).then((res) => {
  772. res.data.affiliate.applicant.forEach(item => {
  773. if (!item.applicant) {
  774. item.applicant = {}
  775. }
  776. if (!item.applicantAgent) {
  777. item.applicantAgent = {}
  778. }
  779. })
  780. res.data.affiliate.res.forEach(item => {
  781. if (!item.res) {
  782. item.res = {}
  783. }
  784. if (!item.resAgent) {
  785. item.resAgent = {}
  786. }
  787. })
  788. this.detailsAwardNum = res.data;
  789. console.log(this.detailsAwardNum);
  790. this.flagLoadingS = false;
  791. });
  792. },
  793. cancelDetail() {
  794. this.showarchiveDetails = false;
  795. },
  796. },
  797. };
  798. </script>
  799. <style lang="scss" scoped></style>