应用层PC端前端服务

courtReviewDialog.vue 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <template>
  2. <div>
  3. <!-- 组庭确认页面 -->
  4. <el-dialog
  5. title="组庭确认"
  6. :visible="showcourtReview"
  7. @close="cancel"
  8. :destroy-on-close="true"
  9. center
  10. >
  11. <el-form ref="courtReviewform" :model="courtReviewform">
  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. <div style="display: inline-flex; margin: 1% 9%">
  23. <div v-if="isAgreePendTral == 0">请选择仲裁员</div>
  24. <div v-if="isAgreePendTral == 1 && form.arbitratorName">
  25. 当前案件仲裁员
  26. </div>
  27. </div>
  28. <div v-if="isAgreePendTral == 1" class="nowarbitrator">
  29. <el-tag size="medium">
  30. {{ form.arbitratorName }}
  31. </el-tag>
  32. </div>
  33. <!-- <div v-if="noArbitrator || isAgreePendTral == 0"> -->
  34. <el-form-item
  35. label="仲裁员:"
  36. prop="Arbitor"
  37. v-if="noArbitrator || isAgreePendTral == 0"
  38. :rules="[
  39. {
  40. required: true,
  41. message: '仲裁员不能为空',
  42. trigger: 'blur',
  43. },
  44. ]"
  45. >
  46. <el-select
  47. placeholder="请选择仲裁员"
  48. @change="changeArbitor"
  49. v-model="courtReviewform.Arbitor"
  50. clearable
  51. >
  52. <el-option
  53. v-for="item in dataList"
  54. :key="item.value"
  55. :label="item.nickNameAndNum"
  56. :value="item.userId"
  57. ></el-option>
  58. </el-select>
  59. </el-form-item>
  60. <!-- </div> -->
  61. </el-form>
  62. <div slot="footer" class="dialog-footer">
  63. <el-button type="primary" :loading="loadingSubmit" @click="submitForm" class="endbutton"
  64. ><span>确 定</span>
  65. </el-button>
  66. <el-button @click="cancel" class="endbutton1"
  67. ><span> 取 消</span></el-button
  68. >
  69. </div>
  70. </el-dialog>
  71. </div>
  72. </template>
  73. <script>
  74. import { pendTralSure } from "@/api/caseManagement/caseManagement.js";
  75. import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
  76. import moment from "moment";
  77. export default {
  78. name: "courtReviewDialog",
  79. props: ["showcourtReview", "form", "queryParams"],
  80. data() {
  81. return {
  82. dataList: [],
  83. hearDate: "",
  84. courtReviewform: {
  85. hearDate: null,
  86. },
  87. noArbitrator: false,
  88. loadingSubmit: false,
  89. isAgreePendTral: 1,
  90. total: 0,
  91. queryParams1: {
  92. pageNum: 1,
  93. pageSize: 10,
  94. },
  95. paramsdata: {},
  96. pickerOptions: {
  97. disabledDate(time) {
  98. return time.getTime() < Date.now() - 8.64e7;
  99. },
  100. },
  101. Arbitor: "",
  102. };
  103. },
  104. created() {
  105. // this.getarbitrAtor();
  106. },
  107. watch: {
  108. showcourtReview(val) {
  109. if (val) {
  110. this.isAgreePendTral = 1;
  111. this.courtReviewform.hearDate = null;
  112. this.getarbitrAtor({caseId:this.form.id});
  113. }
  114. },
  115. form: {
  116. handler(val) {
  117. if (val.arbitratorName == null) {
  118. this.noArbitrator = true;
  119. } else {
  120. this.noArbitrator = false;
  121. }
  122. },
  123. },
  124. },
  125. methods: {
  126. // 获取仲裁员信息
  127. getarbitrAtor(val) {
  128. arbitrAtor(val).then((res) => {
  129. this.dataList = res.rows;
  130. this.total = res.total;
  131. });
  132. },
  133. changeArbitor(val) {
  134. this.arbitrators = [];
  135. this.dataList.forEach((item) => {
  136. if (item.userId == val) {
  137. this.arbitrators.push({
  138. id: item.userId,
  139. arbitratorName: item.nickName,
  140. });
  141. }
  142. });
  143. },
  144. submitForm() {
  145. if (this.noArbitrator) {
  146. this.paramsdata = {
  147. id: this.form.id,
  148. arbitrators: this.arbitrators,
  149. };
  150. } else {
  151. if (this.isAgreePendTral == 0) {
  152. this.paramsdata = {
  153. isAgreePendTral: 0,
  154. id: this.form.id,
  155. arbitrators: this.arbitrators,
  156. };
  157. } else {
  158. this.paramsdata = {
  159. isAgreePendTral: 1,
  160. id: this.form.id,
  161. };
  162. }
  163. }
  164. this.$refs["courtReviewform"].validate((valid) => {
  165. if (valid) {
  166. this.loadingSubmit = true;
  167. pendTralSure(this.paramsdata)
  168. .then((res) => {
  169. this.$modal.msgSuccess("确认成功");
  170. this.cancel();
  171. this.$emit("getcaseApply", this.queryParams);
  172. this.loadingSubmit = false;
  173. })
  174. .catch((err) => {
  175. this.loadingSubmit = false;
  176. });
  177. }
  178. });
  179. },
  180. cancel() {
  181. this.$emit("cancelcourtReview");
  182. },
  183. },
  184. };
  185. </script>
  186. <style lang="scss" scoped>
  187. ::v-deep .el-dialog {
  188. background: #ffffff;
  189. border-radius: 20px;
  190. }
  191. .el-form-item {
  192. margin-left: 10%;
  193. }
  194. .endbutton {
  195. width: 124px;
  196. height: 37px;
  197. background: #0072ff;
  198. border-radius: 19px;
  199. span {
  200. width: 32px;
  201. height: 15px;
  202. font-size: 16px;
  203. font-family: Microsoft YaHei;
  204. font-weight: 400;
  205. color: #ffffff;
  206. // line-height: 48px;
  207. }
  208. }
  209. .endbutton1 {
  210. width: 124px;
  211. height: 37px;
  212. background: #ffffff;
  213. border: 1px solid #d0d0d0;
  214. border-radius: 19px;
  215. span {
  216. width: 31px;
  217. height: 13px;
  218. font-size: 16px;
  219. font-family: Microsoft YaHei;
  220. font-weight: 400;
  221. color: #959595;
  222. // line-height: 48px;
  223. }
  224. }
  225. .nowarbitrator {
  226. margin-left: 10%;
  227. }
  228. ::v-deep .el-form-item__error {
  229. left: 90px;
  230. }
  231. </style>