调解系统PC端服务

mediation.vue 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="title"
  5. :visible="mediationVisable"
  6. @close="cancel"
  7. center
  8. :distroy-on-close="true"
  9. width="1000px"
  10. >
  11. <el-form ref="form" :model="formData" label-width="180px">
  12. <div class="caseInfo">案件信息:</div>
  13. <el-divider></el-divider>
  14. <el-row>
  15. <el-col :span="12">
  16. <el-form-item label="案件编号:" prop="caseNum">
  17. <el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="12">
  21. <el-form-item label="申请人:" prop="affiliate.applicationOrganName">
  22. <el-input v-model="formData.affiliate.applicationOrganName" :disabled="true" />
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="12">
  26. <el-form-item label="被申请人:" prop="respondentName">
  27. <el-input v-model="mediationData.respondentName" :disabled="true" />
  28. </el-form-item>
  29. </el-col>
  30. <el-col :span="12">
  31. <el-form-item label="案件标的:" prop="caseSubjectAmount">
  32. <el-input
  33. v-model="formData.caseSubjectAmount"
  34. placeholder="请输入案件标的"
  35. :disabled="true"
  36. />
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="12">
  40. <el-form-item label="调解费用:" prop="feePayable">
  41. <el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="12">
  45. <el-form-item label="调解员:" prop="mediatorName">
  46. <el-input v-model="formData.mediatorName" placeholder="请输入" :disabled="true" />
  47. </el-form-item>
  48. </el-col>
  49. </el-row>
  50. <el-col :span="24">
  51. <el-form-item label="申请人案件证据:">
  52. <div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
  53. <div v-else v-for="(item, index) in applicateArr" :key="index">
  54. <a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a>
  55. </div>
  56. </el-form-item>
  57. </el-col>
  58. <el-col :span="24">
  59. <el-form-item label="被申请人案件证据:">
  60. <div v-if="quiltArr.length == 0">被申请人暂未提供证据!</div>
  61. <div v-for="(item, index) in quiltArr" :key="index">
  62. <a href="#" @click="toFile1(item, index)" style="color: blue">{{ item.annexName }}</a>
  63. </div>
  64. </el-form-item>
  65. </el-col>
  66. <el-col :span="24" v-if="recordArr.length > 0">
  67. <el-form-item label="庭审笔录:">
  68. <div v-for="(item, index) in recordArr" :key="index" style="color: blue">
  69. <a href="#" @click="toFile2(item.annexPath)">{{ item.annexName }}</a>
  70. </div>
  71. </el-form-item>
  72. </el-col>
  73. <el-col :span="24" v-if="mediationType">
  74. <el-form-item label="预约会议房间号:">
  75. <div>{{ formData.roomId }}</div>
  76. </el-form-item>
  77. </el-col>
  78. <el-col :span="24" v-if="mediationType">
  79. <el-form-item label="开庭时间:">
  80. <div>{{ formData.hearDate }}</div>
  81. </el-form-item>
  82. </el-col>
  83. <!-- </el-form> -->
  84. </el-form>
  85. <el-button @click="openmeeting" type="primary" v-if="mediationType">发起会议</el-button>
  86. <el-button
  87. @click="openArbitrationresults"
  88. type="primary"
  89. v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
  90. >确认会议结果</el-button>
  91. <div slot="footer" class="dialog-footer">
  92. <el-button @click="cancel" class="endbutton1">
  93. <span>取 消</span>
  94. </el-button>
  95. <el-button
  96. @click="submitMediation"
  97. :disabled="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
  98. class="endbutton1"
  99. >
  100. <span>提 交</span>
  101. </el-button>
  102. </div>
  103. </el-dialog>
  104. </div>
  105. </template>
  106. <!-- hearDate -->
  107. <script>
  108. import {
  109. caseApplicationSelectById,
  110. mediation
  111. } from "@/api/caseManagement/caseManagement.js";
  112. import { getUserProfile } from "@/api/system/user";
  113. import { reserveConferenceList } from "@/api/metting/metting.js";
  114. export default {
  115. props: ["mediationVisable", "mediationData", "queryParams"],
  116. data() {
  117. return {
  118. loanStartDate: "",
  119. title: "开庭调解",
  120. applicateArr: [],
  121. quiltArr: [],
  122. recordArr: [],
  123. roomId: null,
  124. startTime: null,
  125. formData: {
  126. affiliate: {}
  127. },
  128. user: "",
  129. userId: null,
  130. flieList: [],
  131. mediationType: true
  132. };
  133. },
  134. watch: {
  135. mediationVisable(val) {
  136. this.recordArr = [];
  137. if (this.mediationData.mediationMethod == "1") {
  138. this.title = "开庭调解";
  139. this.mediationType = true;
  140. } else if (this.mediationData.mediationMethod == "2") {
  141. this.title = "书面调解";
  142. this.mediationType = false;
  143. }
  144. if (val) {
  145. this.caseApplicationSelectByIdFn({
  146. id: this.mediationData.id
  147. });
  148. this.getUser();
  149. }
  150. }
  151. },
  152. created() {},
  153. methods: {
  154. /** 获取案件详情信息 */
  155. caseApplicationSelectByIdFn(data) {
  156. caseApplicationSelectById(data).then(res => {
  157. this.formData = res.data;
  158. res.data.caseAttachList.forEach(item => {
  159. if (item.annexType == 6) {
  160. this.recordArr.push(item);
  161. }
  162. });
  163. });
  164. },
  165. /** 获取用户信息 */
  166. getUser() {
  167. getUserProfile().then(response => {
  168. this.user = response.data.userName;
  169. this.userId = response.data.userId;
  170. });
  171. },
  172. /** 发起会议 */
  173. openmeeting() {
  174. window.open(
  175. `http://localhost:8080/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}`
  176. // `https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.roomId}`
  177. );
  178. },
  179. /**提交仲裁结果 */
  180. openArbitrationresults() {
  181. caseApplicationSelectById({
  182. id: this.mediationData.id
  183. }).then(res => {
  184. res.data.caseAttachList.forEach(item => {
  185. if (item.annexType == 6) {
  186. this.recordArr.push(item);
  187. }
  188. });
  189. });
  190. },
  191. /** 庭审笔录附件 */
  192. toFile2(annexPath) {
  193. window.open(window.location.origin + "/API" + annexPath, "_black");
  194. },
  195. /** 生成调解书 */
  196. mediationFn(data) {
  197. mediation(data).then(res => {
  198. this.$modal.msgSuccess("成功");
  199. this.$emit("cancelMediation");
  200. this.$emit("getList", this.queryParams);
  201. });
  202. },
  203. cancel() {
  204. this.$emit("cancelMediation");
  205. },
  206. submitMediation() {
  207. this.mediationFn({
  208. id: this.mediationData.id,
  209. caseFlowId: this.mediationData.caseFlowId
  210. });
  211. }
  212. }
  213. };
  214. </script>
  215. <style lang="scss" scoped>
  216. .steps {
  217. display: flex;
  218. flex-wrap: wrap;
  219. }
  220. </style>