调解系统PC端服务

caseList.vue 34KB

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