应用层PC端前端服务

formateCourtDialog.vue 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <template>
  2. <div>
  3. <!-- 组庭界面 -->
  4. <el-dialog
  5. title="组庭审核"
  6. :visible="showformateCourt"
  7. @close="cancel"
  8. :destroy-on-close="true"
  9. center
  10. >
  11. <el-form label-width="150px" v-if="!noArbitrator">
  12. <el-form-item label="是否同意组庭:">
  13. <el-radio-group v-model="isAgreePendTral">
  14. <el-radio :label="1">是</el-radio>
  15. <el-radio :label="0">否</el-radio>
  16. </el-radio-group>
  17. </el-form-item>
  18. </el-form>
  19. <el-tag type="warning" v-if="noArbitrator"
  20. >当前案件未指定仲裁员,请先指定仲裁员!</el-tag
  21. >
  22. <p></p>
  23. <!-- <el-form ref="form"> -->
  24. <!-- v-if="isAgreePendTral == 0 || noArbitrator" -->
  25. <div style="display: inline-flex; margin-bottom: 8px">
  26. <div class="infoIcon"></div>
  27. <div>
  28. <span v-if="isAgreePendTral == 1">当前案件</span>仲裁员<span
  29. v-if="isAgreePendTral !== 1"
  30. >信息列表</span
  31. >
  32. </div>
  33. </div>
  34. <div v-if="isAgreePendTral == 1" class="nowarbitrator">
  35. <el-tag size="medium">
  36. {{ formateCourtData.arbitratorName }}
  37. </el-tag>
  38. </div>
  39. <div v-if="isAgreePendTral !== 1">
  40. <el-table
  41. :data="dataList"
  42. style="width: 100%"
  43. @selection-change="handleSelectionChange"
  44. >
  45. <!-- v-if="isAgreePendTral == 0 || noArbitrator" -->
  46. <el-table-column
  47. type="selection"
  48. width="55"
  49. v-if="isAgreePendTral == 0"
  50. >
  51. </el-table-column>
  52. <el-table-column
  53. label="仲裁员姓名"
  54. align="center"
  55. prop="nickName"
  56. :show-overflow-tooltip="true"
  57. />
  58. <el-table-column
  59. label="介绍"
  60. align="center"
  61. prop="remark"
  62. :show-overflow-tooltip="true"
  63. />
  64. <!-- <el-table-column
  65. label="当前案件数量"
  66. align="center"
  67. prop="currentCaseNum"
  68. :show-overflow-tooltip="true"
  69. />
  70. <el-table-column
  71. label="已结案数量"
  72. align="center"
  73. prop="closedCaseNum"
  74. :show-overflow-tooltip="true"
  75. /> -->
  76. </el-table>
  77. <pagination
  78. v-show="total > 0"
  79. :total="total"
  80. :page.sync="queryParams1.pageNum"
  81. :limit.sync="queryParams1.pageSize"
  82. @pagination="getarbitrAtor"
  83. v-if="isAgreePendTral == 0"
  84. />
  85. </div>
  86. <!-- </el-form> -->
  87. <div slot="footer" class="dialog-footer">
  88. <el-button
  89. type="primary"
  90. @click="submitForm"
  91. :disabled="!this.arbitrators.length > 0 && isAgreePendTral == 0"
  92. class="endbutton"
  93. ><span>确 定</span></el-button
  94. >
  95. <el-button @click="cancel" class="endbutton1"
  96. ><span>取 消</span></el-button
  97. >
  98. </div>
  99. </el-dialog>
  100. </div>
  101. </template>
  102. <script>
  103. import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
  104. export default {
  105. props: ["showformateCourt", "formateCourtData", "queryParams"],
  106. data() {
  107. return {
  108. dataList: [],
  109. total: 0,
  110. queryParams1: {
  111. pageNum: 1,
  112. pageSize: 10,
  113. },
  114. arbitrators: [],
  115. isAgreePendTral: 1,
  116. paramsdata: {},
  117. noArbitrator: false,
  118. };
  119. },
  120. created() {
  121. this.getarbitrAtor();
  122. },
  123. watch: {
  124. formateCourtData: {
  125. handler(val) {
  126. if (val.arbitratorName == null) {
  127. this.noArbitrator = true;
  128. } else {
  129. this.noArbitrator = false;
  130. }
  131. },
  132. },
  133. },
  134. methods: {
  135. // 获取仲裁员信息
  136. getarbitrAtor() {
  137. arbitrAtor({}).then((res) => {
  138. this.dataList = res.rows;
  139. this.total = res.total;
  140. });
  141. },
  142. // 勾选仲裁员
  143. handleSelectionChange(val) {
  144. this.arbitrators = [];
  145. val.forEach((item) => {
  146. this.arbitrators.push({
  147. id: item.userId,
  148. arbitratorName: item.nickName,
  149. });
  150. });
  151. },
  152. // 确认
  153. submitForm() {
  154. if (this.noArbitrator) {
  155. this.paramsdata = {
  156. id: this.formateCourtData.id,
  157. arbitrators: this.arbitrators,
  158. };
  159. } else {
  160. if (this.isAgreePendTral == 0) {
  161. this.paramsdata = {
  162. isAgreePendTral: 0,
  163. id: this.formateCourtData.id,
  164. arbitrators: this.arbitrators,
  165. };
  166. } else {
  167. this.paramsdata = {
  168. isAgreePendTral: 1,
  169. id: this.formateCourtData.id,
  170. };
  171. }
  172. }
  173. pendTralCheck(this.paramsdata).then((res) => {
  174. this.cancel();
  175. this.$modal.msgSuccess("组庭成功");
  176. this.$emit("getcaseApply", this.queryParams);
  177. });
  178. // }
  179. },
  180. // 取消
  181. cancel() {
  182. this.$emit("cancelcourtDialog");
  183. this.arbitrators = [];
  184. },
  185. },
  186. };
  187. </script>
  188. <style lang="scss" scoped>
  189. ::v-deep .el-dialog {
  190. background: #ffffff;
  191. border-radius: 20px;
  192. }
  193. .endbutton {
  194. width: 124px;
  195. height: 37px;
  196. background: #0072ff;
  197. border-radius: 19px;
  198. span {
  199. width: 32px;
  200. height: 15px;
  201. font-size: 16px;
  202. font-family: Microsoft YaHei;
  203. font-weight: 400;
  204. color: #ffffff;
  205. }
  206. }
  207. .endbutton1 {
  208. width: 124px;
  209. height: 37px;
  210. background: #ffffff;
  211. border: 1px solid #d0d0d0;
  212. border-radius: 19px;
  213. span {
  214. width: 31px;
  215. height: 13px;
  216. font-size: 16px;
  217. font-family: Microsoft YaHei;
  218. font-weight: 400;
  219. color: #959595;
  220. }
  221. }
  222. .infoIcon {
  223. width: 4px;
  224. // height: 17px;
  225. background-color: #0072ff;
  226. margin-right: 5px;
  227. }
  228. .nowarbitrator {
  229. margin-left: 4%;
  230. }
  231. </style>