应用层PC端前端服务

formateCourtDialog.vue 5.0KB

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