gyj 2 лет назад
Родитель
Сommit
6cd4f2843c

+ 18
- 0
src/api/batchManagement/batchManagement.js Просмотреть файл

@@ -0,0 +1,18 @@
1
+import request from '@/utils/request'
2
+
3
+// 批量案件查询
4
+export function listBatch(data) {
5
+    return request({
6
+      url: '/caseApplication/listBatch',
7
+      method: 'get',
8
+      params: data
9
+    })
10
+  }
11
+  // 批量提交
12
+export function submitCaseApplicationBatch(data) {
13
+    return request({
14
+        url: '/caseApplication/submitCaseApplicationBatch',
15
+        method: 'post',
16
+        data: data
17
+    })
18
+}

+ 96
- 26
src/views/batchManagement/batchManagList.vue Просмотреть файл

@@ -20,13 +20,13 @@
20 20
                     }}</span>
21 21
                 </template>
22 22
             </el-table-column>
23
-            <el-table-column label="批号" align="center" prop="ruleType" :show-overflow-tooltip="true" />
24
-            <el-table-column label="申请人" align="center" prop="prefixstr" :show-overflow-tooltip="true" />
25
-            <el-table-column label="仲裁方式" align="center" prop="prefixstr" :show-overflow-tooltip="true" />
26
-            <el-table-column label="仲裁员" align="center" prop="prefixstr" :show-overflow-tooltip="true" />
27
-            <el-table-column label="案件状态" align="center" prop="prefixstr">
23
+            <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" />
24
+            <el-table-column label="申请人" align="center" prop="name" :show-overflow-tooltip="true" />
25
+            <el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" />
26
+            <el-table-column label="仲裁员" align="center" prop="arbitratorName" :show-overflow-tooltip="true" />
27
+            <el-table-column label="案件状态" align="center" prop="caseStatusName">
28 28
             <template slot-scope="scope">
29
-            <el-tag type="success">{{ scope.row.prefixstr }}</el-tag>
29
+            <el-tag type="success">{{ scope.row.caseStatusName}}</el-tag>
30 30
             </template>
31 31
             </el-table-column>  
32 32
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="350">
@@ -37,16 +37,16 @@
37 37
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="batchPayments(scope.row)">缴费</el-button>
38 38
                     <el-button size="mini" type="text" @click="paymentConfir(scope.row)">缴费确认</el-button>
39 39
                     <el-button size="mini" type="text" @click="courtReviews(scope.row)">组庭审核</el-button>
40
-                    <el-button size="mini" type="text">组庭确认</el-button>
41
-                    <el-button size="mini" type="text">审核仲裁方式</el-button>
42
-                    <el-button size="mini" type="text">书面审理</el-button>
40
+                    <el-button size="mini" type="text" @click="courtConfirmations(scope.row)">组庭确认</el-button>
41
+                    <el-button size="mini" type="text" @click="reviewArbitrations(scope.row)">审核仲裁方式</el-button>
42
+                    <el-button size="mini" type="text" @click="batchWrittenReview(scope.row)">书面审理</el-button>
43 43
                     <el-button size="mini" type="text">仲裁员审核仲裁文书</el-button>
44 44
                     <el-button size="mini" type="text">核验仲裁文书</el-button>
45 45
                     <el-button size="mini" type="text">部门长审核仲裁文书</el-button>
46
-                    <el-button size="mini" type="text">签名</el-button>
47
-                    <el-button size="mini" type="text">用印</el-button>
46
+                    <el-button size="mini" type="text" @click="batchSignatures(scope.row)">签名</el-button>
47
+                    <el-button size="mini" type="text" @click="batchPrintings(scope.row)">用印</el-button>
48 48
                     <el-button size="mini" type="text">生成裁决书</el-button>
49
-                    <el-button size="mini" type="text">归档</el-button>
49
+                    <el-button size="mini" type="text" @click="archive(scope.row)">归档</el-button>
50 50
                     <el-button size="mini" type="text">仲裁文书送达</el-button>
51 51
                 </template>
52 52
             </el-table-column>
@@ -61,28 +61,49 @@
61 61
         <!-- 组庭审核 -->
62 62
         <courtReview :caseVisableReview="caseVisableReview" @cancelCaseReview="cancelCaseReview"></courtReview>
63 63
         <!-- 查看案件列表 -->
64
-        <viewingCases :caseVisableViewing="caseVisableViewing" @cancelCaseViewing="cancelCaseViewing"></viewingCases>
64
+        <!-- <viewingCases :caseVisableViewing="caseVisableViewing" @cancelCaseViewing="cancelCaseViewing"></viewingCases> -->
65
+        <!-- 组庭确认 -->
66
+        <courtConfirmation :showcourtReview="showcourtReview" @cancelcourtReview="cancelcourtReview"></courtConfirmation>
67
+        <!-- 审核仲裁方式 -->
68
+        <reviewArbitrationMethod :caseVisableReviewl="caseVisableReviewl" @cancelCaseReviewl="cancelCaseReviewl"></reviewArbitrationMethod>
69
+        <!-- 签名 -->
70
+        <batchSignature :caseVisableSignature="caseVisableSignature" @cancelCaseSignature="cancelCaseSignature"></batchSignature>
71
+        <!-- 用印 -->
72
+        <batchPrinting :caseVisablePrinting="caseVisablePrinting" @cancelCasePrinting="cancelCasePrinting"></batchPrinting>
73
+        
74
+        
75
+        
65 76
     </div>    
66 77
 </template>
67 78
   
68 79
 <script>
69 80
 import {caseNumRuleList,deleteCaseNumRule} from '@/api/officialSeal/officialSeal.js'
81
+import {listBatch,submitCaseApplicationBatch} from '@/api/batchManagement/batchManagement.js'
70 82
 import batchPayment from './components/batchPayment.vue'
71 83
 import paymentConfirmation from './components/paymentConfirmation.vue'
72 84
 import courtReview from './components/courtReview.vue'
73 85
 import viewingCases from './components/viewingCases.vue'
86
+import courtConfirmation from './components/courtConfirmation.vue'
87
+import reviewArbitrationMethod from './components/reviewArbitrationMethod.vue'
88
+import batchSignature from './components/batchSignature.vue'
89
+import batchPrinting from './components/batchPrinting.vue'
74 90
 export default {
75 91
     components: {
76 92
         batchPayment,
77 93
         paymentConfirmation,
78 94
         courtReview,
79
-        viewingCases
95
+        viewingCases,
96
+        courtConfirmation,
97
+        reviewArbitrationMethod,
98
+        batchSignature,
99
+        batchPrinting
100
+        
80 101
     },
81 102
     data() {
82 103
         return {
83 104
             queryParams: {
84 105
                 pageNum: 1,
85
-                pageSize: 10,
106
+                pageSize: 10
86 107
             },
87 108
             // 遮罩层
88 109
             loading: false,
@@ -92,6 +113,10 @@ export default {
92 113
             caseVisablePayment:false,//批量缴费确认
93 114
             caseVisableReview:false,//批量组庭审核
94 115
             caseVisableViewing:false,//查看案件列表
116
+            showcourtReview:false,//批量组庭确认
117
+            caseVisableReviewl:false,//批量审核仲裁方式
118
+            caseVisableSignature:false,//批量签名
119
+            caseVisablePrinting:false,//批量用印
95 120
             dataList: [],
96 121
             editData:{}
97 122
         };
@@ -113,7 +138,8 @@ export default {
113 138
         // 查询列表
114 139
         getList(parm){
115 140
             this.loading = true;
116
-            caseNumRuleList(parm).then(res=>{           
141
+            listBatch(parm).then(res=>{   
142
+                console.log(res)        
117 143
                 this.dataList = res.rows;
118 144
                 this.total = res.total
119 145
                 this.loading = false;
@@ -122,17 +148,17 @@ export default {
122 148
         // 批量提交
123 149
         confirmSubmission(row){
124 150
             this.$modal.confirm("您确定要批量提交吗?").then((res) => {
125
-                    // this.deleteSealFn({ id: row.id })
151
+                    this.submitCaseApplicationBatchs({ batchNumber: row.batchNumber })
126 152
                 }).catch(() =>{
127 153
                     
128 154
                 })
129 155
         },
130 156
         // 批量提交接口
131
-        confirmSubmissionFn(data) {
132
-            // deleteCaseNumRule(data).then(res => {
133
-            //     this.$modal.msgSuccess("删除成功!");
134
-            //     this.getList(this.queryParams);
135
-            // })
157
+        submitCaseApplicationBatchs(data) {
158
+            submitCaseApplicationBatch(data).then(res => {
159
+                this.$modal.msgSuccess("提交成功!");
160
+                this.getList(this.queryParams);
161
+            })
136 162
         },
137 163
         // 批量立案审查
138 164
         filingFeview(){
@@ -164,11 +190,55 @@ export default {
164 190
            this.caseVisableReview = false 
165 191
         },
166 192
         // 查看案件列表
167
-        viewingCasesBtn(){
168
-            this.caseVisableViewing = true
193
+        viewingCasesBtn(row){
194
+            let batchNumber = row.batchNumber
195
+           if(batchNumber){
196
+               this.$router.push({ name: 'CaseManagement/caseList', params: { batchNumber: batchNumber + '' } })
197
+           }
198
+        },
199
+        // 批量组庭确认
200
+        courtConfirmations(){
201
+            this.showcourtReview = true
202
+        },
203
+        cancelcourtReview(){
204
+            this.showcourtReview = false
205
+        },
206
+        // 批量审核仲裁方式
207
+        reviewArbitrations(){
208
+            this.caseVisableReviewl = true
209
+        },
210
+        cancelCaseReviewl(){
211
+            this.caseVisableReviewl = false
212
+        },
213
+        // 批量书面审理
214
+        batchWrittenReview(){
215
+           this.$modal.confirm("你确定要批量书面审理吗?").then((res) => {
216
+                    // this.deleteSealFn({ id: row.id })
217
+                }).catch(() =>{
218
+                    
219
+            }) 
220
+        },
221
+        // 批量归档
222
+        archive(){
223
+            this.$modal.confirm("你确定要批量归档吗?").then((res) => {
224
+                    // this.deleteSealFn({ id: row.id })
225
+                }).catch(() =>{
226
+                    
227
+            }) 
228
+        },
229
+        // 批量签名
230
+        batchSignatures(){
231
+            this.caseVisableSignature = true
232
+        },
233
+        cancelCaseSignature(){
234
+            this.caseVisableSignature = false
235
+        },
236
+        // 批量签名
237
+        batchPrintings(){
238
+            this.caseVisablePrinting = true
169 239
         },
170
-        cancelCaseViewing(){
171
-            this.caseVisableViewing = false
240
+        cancelCasePrinting(){
241
+            this.caseVisablePrinting = false
172 242
         }
173 243
     },
174 244
 };

+ 224
- 39
src/views/batchManagement/components/batchPayment.vue Просмотреть файл

@@ -1,49 +1,234 @@
1 1
 <template>
2
-    <div>
3
-        <!-- 批量缴费 -->
4
-        <el-dialog title="批量缴费" :visible="caseVisablePay" @close="cancel" width="600px" center>
5
-           <el-descriptions>
6
-                <el-descriptions-item label="案件总金额">1000</el-descriptions-item>
7
-                </el-descriptions-item>
8
-            </el-descriptions>
9
-            <div slot="footer" class="dialog-footer"> 
10
-                <el-button type="primary"  class="endbutton"><span>确认</span></el-button>
11
-                <el-button  class="endbutton" @click="cancel"><span>取 消</span></el-button>
12
-            </div>
13
-        </el-dialog>
14
-    </div>
2
+  <div>
3
+    <el-dialog title="批量确认缴费" :visible="caseVisablePay" @close="payCancel" width="800px" append-to-body
4
+      :destroy-on-close="true" center>
5
+      <el-descriptions>
6
+        <el-descriptions-item label="案件总金额">1000</el-descriptions-item>
7
+        <el-descriptions-item label="申请人">xx</el-descriptions-item>
8
+      </el-descriptions>
9
+      <div class="paySelectType">
10
+        <el-radio-group v-model="paySelect" @input="changPayType">
11
+          <el-radio :label="0">线上支付</el-radio>
12
+          <el-radio :label="1">线下支付</el-radio>
13
+        </el-radio-group>
14
+      </div>
15
+      <div class="payupload">
16
+        <span>上传支付凭证:</span>
17
+        <div class="uploadBtn">
18
+          <el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
19
+            :on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload"  :on-success="handlSuccess" :file-list="fileList"
20
+           >
21
+            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
22
+            <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
23
+            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
24
+          </el-upload>
25
+        </div>
26
+      </div>
27
+      <div class="payType" v-if="paySelect == 0">
28
+        <span>请选择支付方式:</span>
29
+        <i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
30
+        <i class="iconfont icon-zhifubao" @click="pay(1)"></i>
31
+      </div>
32
+      <div class="payImg">
33
+        <div id="qrcodeImg"></div>
34
+      </div>
35
+      <div class="payTitle">{{ payMain }}</div>
36
+      <div slot="footer" class="dialog-footer">
37
+        <el-button @click="payCancel" class="endbutton"><span style="color:black">取 消</span></el-button>
38
+        <el-button @click="submitUpload" type="primary" class="endbutton"><span>确认缴费</span></el-button>
39
+      </div>
40
+    </el-dialog>
41
+  </div>
15 42
 </template>
43
+
16 44
 <script>
17
-export default { 
18
-    props: ["caseVisablePay","queryParams"],
19
-    dicts: ["manager_type"],
20
-    data() {
21
-        return {
22
-           
23
-           
24
-        };
25
-    },
26
-    watch: {
27
-        caseVisablePay(val) {
28
-            if (val) {
29
-                this.ruleForm = {};
30
-            }
31
-        }
32
-    },
33
-    created() {
34
-
35
-    },
36
-    methods: {
37
-        cancel() {
38
-            this.$emit("cancelCasePay");
39
-        },
40
-        // 新增模板 
45
+import { casePay, confirmPayDig } from "@/api/pay/pay";
46
+import QRCode from "qrcodejs2";
47
+import { getToken } from "@/utils/auth";
48
+export default {
49
+  props: ["caseVisablePay", "payTitle", "form", "payForm", "queryParams","payId"],
50
+  data() {
51
+    return {
52
+      // key: value
53
+      // 支付文字
54
+      payMain: "",
55
+      timer: null,
56
+      paySelect: 1,//支付线上/线下
57
+      fileList: [],
58
+      headers: {
59
+        Authorization: "Bearer " + getToken(),
60
+      },
61
+      filedata: {
62
+        annexType: 8,
63
+      },
64
+      submitForm:{
65
+        payType:1,
66
+        payOrderList:[],
67
+        caseId:null
68
+      }
69
+    };
70
+  },
71
+  methods: {
72
+    UploadUrl() {
73
+      return window.location.origin + "/API/evidence/upload";
74
+    },
75
+    //选择支付方式(线上,线下)
76
+    changPayType(data) {
77
+      if(data == 1){
78
+        document.getElementById("qrcodeImg").innerHTML = "";
79
+        this.payMain = ""
80
+      }
81
+      this.submitForm.payType = data;
82
+    },
83
+    beforeUpload(flie, fileList) {
84
+      this.fileList = fileList;
85
+    },
86
+    // 文件上传成功
87
+    handlSuccess(res, file) {
88
+      this.submitForm.payOrderList.push({
89
+        annexId: res.data.annexId,
90
+        annexName:res.data.annexName
91
+      });
92
+    },
93
+    submitUpload() {
94
+      if (this.fileList.length < 1) {
95
+        this.$modal.msgError("请上传缴费凭证");
96
+        return
97
+      }
98
+      confirmPayDig(this.submitForm).then(res=>{
99
+        this.$modal.msgSuccess("成功");
100
+        this.payCancel()
101
+        this.$emit("getcaseApply", this.queryParams);
102
+      })
103
+    },
104
+    handleRemove(file, fileList) {
105
+      (this.submitForm.payOrderList = []),
106
+      fileList.forEach((item) => {
107
+        console.log(item.response.data,"item");
108
+          this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
109
+        });
41 110
     },
111
+    handlePreview(file) {
112
+      console.log(file);
113
+    },
114
+    // 生成二维码
115
+    qrcode(url) {
116
+      // 前端根据 URL 生成微信支付二维码
117
+      document.getElementById("qrcodeImg").innerHTML = "";
118
+      return new QRCode("qrcodeImg", {
119
+        width: 200,
120
+        height: 200,
121
+        text: url,
122
+        colorDark: "#000",
123
+        colorLight: "#fff",
124
+      });
125
+    },
126
+    // 支付
127
+    pay(val) {
128
+      if (this.payForm.feePayable == 0 || !this.payForm.feePayable) {
129
+        this.$message({
130
+          message: "此案件无需缴费",
131
+          type: "error",
132
+        });
133
+        return;
134
+      }
135
+      let payType = "";
136
+      if (val == 0) {
137
+        payType = "wxpay";
138
+        this.payMain = "请使用微信扫二维码支付";
139
+      } else if (val == 1) {
140
+        payType = "alipay";
141
+        this.payMain = "请使用支付宝扫二维码支付";
142
+      }
143
+      casePay({
144
+        totalFee: this.payForm.feePayable * 100,
145
+        caseIds: [this.payForm.caseId],
146
+        tradeType: "native",
147
+        platform: payType,
148
+      }).then((res) => {
149
+        this.paySrc = res.data.code_url;
150
+        this.qrcode(this.paySrc);
151
+      });
152
+    },
153
+    payCancel() {
154
+      this.$emit("cancelCasePay");
155
+      this.payMain = "";
156
+    },
157
+  },
158
+  watch:{
159
+    openPay(val){
160
+      if(val){
161
+      this.submitForm.payOrderList = []
162
+      this.paySelect = 1;
163
+      this.fileList = [];
164
+      this.filedata.id = this.payId;
165
+      this.submitForm.caseIds = [this.payId];
166
+      }
167
+    }
168
+  }
42 169
 };
43 170
 </script>
44
-  
171
+
45 172
 <style lang="scss" scoped>
173
+.payType {
174
+  height: 80px;
175
+  line-height: 80px;
176
+  display: flex;
177
+
178
+  .icon-weixinzhifu {
179
+    font-size: 24px;
180
+    color: #27a56f;
181
+    margin-right: 15px;
182
+  }
183
+
184
+  .icon-zhifubao {
185
+    font-size: 24px;
186
+    color: #1d76cc;
187
+  }
188
+}
189
+
190
+.paySelectType {
191
+  margin-top: 20px;
192
+  margin-bottom: 20px;
193
+}
194
+
195
+.payupload {
196
+  display: flex;
197
+
198
+  .uploadBtn {}
199
+}
200
+
201
+.payImg {
202
+  width: 100%;
203
+  display: flex;
204
+  justify-content: center;
205
+}
206
+
207
+.payTitle {
208
+  margin-top: 20px;
209
+  width: 100%;
210
+  text-align: center;
211
+}
212
+
46 213
 ::v-deep .el-dialog {
214
+  width: 800px;
47 215
   background: #ffffff;
48 216
   border-radius: 20px;
49
-}</style>
217
+}
218
+
219
+.endbutton {
220
+  width: 154px;
221
+  height: 37px;
222
+  border: 1px solid #d0d0d0;
223
+  border-radius: 19px;
224
+
225
+  span {
226
+    width: 31px;
227
+    height: 13px;
228
+    font-size: 16px;
229
+    font-family: Microsoft YaHei;
230
+    font-weight: 400;
231
+    color: #ffffff;
232
+  }
233
+}
234
+</style>

+ 44
- 0
src/views/batchManagement/components/batchPrinting.vue Просмотреть файл

@@ -0,0 +1,44 @@
1
+<template>
2
+    <div>
3
+        <!-- 批量用印 -->
4
+        <el-dialog title="批量用印" :visible="caseVisablePrinting" destroy-on-close width="30%"  @close="cancel" center>
5
+            <div slot="footer" class="dialog-footer">
6
+                <el-button type="primary"  class="endbutton"><span>确认</span></el-button>
7
+                <el-button  class="endbutton" @click="cancel"><span>取 消</span></el-button>
8
+            </div>
9
+        </el-dialog>
10
+    </div>
11
+</template>
12
+<script>
13
+export default {
14
+    props: ["caseVisablePrinting","queryParams"],
15
+    dicts: ["manager_type"],
16
+    data() {
17
+        return {
18
+           
19
+           
20
+        };
21
+    },
22
+    watch: {
23
+        caseVisablePayment(val) {
24
+            if (val) {
25
+                this.ruleForm = {};
26
+            }
27
+        }
28
+    },
29
+    created() {
30
+
31
+    },
32
+    methods: {
33
+        cancel() {
34
+            this.$emit("cancelCasePrinting");
35
+        },
36
+    },
37
+}
38
+</script>
39
+<style lang="scss" scoped>
40
+::v-deep .el-dialog {
41
+  background: #ffffff;
42
+  border-radius: 20px;
43
+}
44
+</style>

+ 44
- 0
src/views/batchManagement/components/batchSignature.vue Просмотреть файл

@@ -0,0 +1,44 @@
1
+<template>
2
+    <div>
3
+        <!-- 批量签名 -->
4
+        <el-dialog title="批量签名" :visible="caseVisableSignature" destroy-on-close width="30%"  @close="cancel" center>
5
+            <div slot="footer" class="dialog-footer">
6
+                <el-button type="primary"  class="endbutton"><span>确认</span></el-button>
7
+                <el-button  class="endbutton" @click="cancel"><span>取 消</span></el-button>
8
+            </div>
9
+        </el-dialog>
10
+    </div>
11
+</template>
12
+<script>
13
+export default {
14
+    props: ["caseVisableSignature","queryParams"],
15
+    dicts: ["manager_type"],
16
+    data() {
17
+        return {
18
+           
19
+           
20
+        };
21
+    },
22
+    watch: {
23
+        caseVisablePayment(val) {
24
+            if (val) {
25
+                this.ruleForm = {};
26
+            }
27
+        }
28
+    },
29
+    created() {
30
+
31
+    },
32
+    methods: {
33
+        cancel() {
34
+            this.$emit("cancelCaseSignature");
35
+        },
36
+    },
37
+}
38
+</script>
39
+<style lang="scss" scoped>
40
+::v-deep .el-dialog {
41
+  background: #ffffff;
42
+  border-radius: 20px;
43
+}
44
+</style>

+ 223
- 0
src/views/batchManagement/components/courtConfirmation.vue Просмотреть файл

@@ -0,0 +1,223 @@
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">
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" @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
+
74
+<script>
75
+import { pendTralSure } from "@/api/caseManagement/caseManagement.js";
76
+import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
77
+import moment from "moment";
78
+export default {
79
+  name: "courtReviewDialog",
80
+  props: ["showcourtReview", "form", "queryParams"],
81
+  data() {
82
+    return {
83
+      dataList: [],
84
+      hearDate: "",
85
+      courtReviewform: {
86
+        hearDate: null,
87
+      },
88
+      noArbitrator: false,
89
+      isAgreePendTral: 1,
90
+      paramsdata: {},
91
+      Arbitor: "",
92
+    };
93
+  },
94
+  created() {
95
+    this.getarbitrAtor();
96
+  },
97
+  watch: {
98
+    showcourtReview(val) {
99
+      if (val) {
100
+        this.isAgreePendTral = 1;
101
+        this.courtReviewform.hearDate = null;
102
+      }
103
+    },
104
+    // form: {
105
+    //   handler(val) {
106
+    //     if (val.arbitratorName == null) {
107
+    //       this.noArbitrator = true;
108
+    //     } else {
109
+    //       this.noArbitrator = false;
110
+    //     }
111
+    //   },
112
+    // },
113
+  },
114
+  methods: {
115
+    // 获取仲裁员信息
116
+    getarbitrAtor() {
117
+      arbitrAtor({}).then((res) => {
118
+        this.dataList = res.rows;
119
+        this.total = res.total;
120
+      });
121
+    },
122
+    changeArbitor(val) {
123
+      this.arbitrators = [];
124
+      this.dataList.forEach((item) => {
125
+        if (item.userId == val) {
126
+          this.arbitrators.push({
127
+            id: item.userId,
128
+            arbitratorName: item.nickName,
129
+          });
130
+        }
131
+      });
132
+    },
133
+    submitForm() {
134
+      if (this.noArbitrator) {
135
+        this.paramsdata = {
136
+          id: this.form.id,
137
+          arbitrators: this.arbitrators,
138
+        };
139
+      } else {
140
+        if (this.isAgreePendTral == 0) {
141
+          this.paramsdata = {
142
+            isAgreePendTral: 0,
143
+            id: this.form.id,
144
+            arbitrators: this.arbitrators,
145
+          };
146
+        } else {
147
+          this.paramsdata = {
148
+            isAgreePendTral: 1,
149
+            id: this.form.id,
150
+          };
151
+        }
152
+      }
153
+      this.$refs["courtReviewform"].validate((valid) => {
154
+        if (valid) {
155
+          pendTralSure(this.paramsdata)
156
+            .then((res) => {
157
+              this.$modal.msgSuccess("确认成功");
158
+              this.cancel();
159
+              this.$emit("getcaseApply", this.queryParams);
160
+            })
161
+            .catch((err) => {});
162
+        }
163
+      });
164
+    },
165
+    cancel() {
166
+      this.$emit("cancelcourtReview");
167
+    },
168
+  },
169
+};
170
+</script>
171
+
172
+<style lang="scss" scoped>
173
+::v-deep .el-dialog {
174
+  background: #ffffff;
175
+  border-radius: 20px;
176
+}
177
+
178
+.el-form-item {
179
+  margin-left: 10%;
180
+}
181
+
182
+.endbutton {
183
+  width: 124px;
184
+  height: 37px;
185
+  background: #0072ff;
186
+  border-radius: 19px;
187
+
188
+  span {
189
+    width: 32px;
190
+    height: 15px;
191
+    font-size: 16px;
192
+    font-family: Microsoft YaHei;
193
+    font-weight: 400;
194
+    color: #ffffff;
195
+    // line-height: 48px;
196
+  }
197
+}
198
+
199
+.endbutton1 {
200
+  width: 124px;
201
+  height: 37px;
202
+  background: #ffffff;
203
+  border: 1px solid #d0d0d0;
204
+  border-radius: 19px;
205
+
206
+  span {
207
+    width: 31px;
208
+    height: 13px;
209
+    font-size: 16px;
210
+    font-family: Microsoft YaHei;
211
+    font-weight: 400;
212
+    color: #959595;
213
+    // line-height: 48px;
214
+  }
215
+}
216
+.nowarbitrator {
217
+  margin-left: 10%;
218
+}
219
+
220
+::v-deep .el-form-item__error {
221
+  left: 90px;
222
+}
223
+</style>

+ 213
- 28
src/views/batchManagement/components/courtReview.vue Просмотреть файл

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

+ 1
- 1
src/views/batchManagement/components/paymentConfirmation.vue Просмотреть файл

@@ -4,7 +4,7 @@
4 4
         <el-dialog title="批量缴费确认" :visible="caseVisablePayment" destroy-on-close @close="cancel" width="600px" center>
5 5
             <el-descriptions>
6 6
                 <el-descriptions-item label="案件总金额">1000</el-descriptions-item>
7
-                </el-descriptions-item>
7
+                <el-descriptions-item label="申请人">xx</el-descriptions-item>
8 8
             </el-descriptions>
9 9
             <div slot="footer" class="dialog-footer">
10 10
                 <el-button type="primary"  class="endbutton"><span>确认</span></el-button>

+ 43
- 0
src/views/batchManagement/components/reviewArbitrationMethod.vue Просмотреть файл

@@ -0,0 +1,43 @@
1
+<template>
2
+    <div>
3
+        <!-- 批量审核仲裁方式 -->
4
+        <el-dialog title="批量审核仲裁方式" :visible="caseVisableReviewl" @close="cancel" width="600px" center>
5
+            <div slot="footer" class="dialog-footer"> 
6
+                <el-button type="primary"  class="endbutton"><span>确认</span></el-button>
7
+                <el-button  class="endbutton" @click="cancel"><span>取 消</span></el-button>
8
+            </div>
9
+        </el-dialog>
10
+    </div>
11
+</template>
12
+<script>
13
+export default { 
14
+    props: ["caseVisableReviewl","queryParams"],
15
+    data() {
16
+        return {
17
+           
18
+           
19
+        };
20
+    },
21
+    watch: {
22
+        caseVisableReviewl(val) {
23
+            if (val) {
24
+                
25
+            }
26
+        }
27
+    },
28
+    created() {
29
+
30
+    },
31
+    methods: {
32
+        cancel() {
33
+            this.$emit("cancelCaseReviewl");
34
+        },
35
+    },
36
+};
37
+</script>
38
+  
39
+<style lang="scss" scoped>
40
+::v-deep .el-dialog {
41
+  background: #ffffff;
42
+  border-radius: 20px;
43
+}</style>

+ 1
- 1
src/views/caseManagement/components/formateCourtDialog.vue Просмотреть файл

@@ -103,7 +103,7 @@ export default {
103 103
   },
104 104
   watch: {
105 105
     showformateCourt(val){
106
-      console.log(this.dataList)
106
+      console.log(this.formateCourtData)
107 107
       this.Arbitor = ""
108 108
       if(val){
109 109
         this.isAgreePendTral = 1;