Browse Source

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb

fz 2 years ago
parent
commit
ee097bd71f

+ 1
- 0
package.json View File

@@ -48,6 +48,7 @@
48 48
     "js-beautify": "1.13.0",
49 49
     "js-cookie": "3.0.1",
50 50
     "jsencrypt": "3.0.0-rc.1",
51
+    "moment": "^2.29.4",
51 52
     "nprogress": "0.2.0",
52 53
     "qrcodejs2": "0.0.2",
53 54
     "quill": "1.3.7",

+ 54
- 4
src/api/caseAccess/caseEntry.js View File

@@ -1,10 +1,60 @@
1 1
 import request from '@/utils/request'
2 2
 
3
-// 查询在线用户列表
4
-export function list(query) {
3
+// 查询案件录入列表
4
+export function caseApply(data) {
5 5
   return request({
6
-    url: '/monitor/online/list',
6
+    url: '/caseApplication/list',
7 7
     method: 'get',
8
-    params: query
8
+    params: data
9
+  })
10
+}
11
+
12
+// 立案申请
13
+export function addCaseApply(data) {
14
+  return request({
15
+    url: '/caseApplication/addCaseApplication',
16
+    method: 'post',
17
+    data: data
18
+  })
19
+}
20
+// 点击修改获取主体信息
21
+export function selectCaseApply(data) {
22
+  return request({
23
+    url: '/caseApplication/selectCaseApplication',
24
+    method: 'post',
25
+    data: data
26
+  })
27
+}
28
+// 修改案件信息
29
+export function editCaseApply(data) {
30
+  return request({
31
+    url: '/caseApplication/editCaseApplication',
32
+    method: 'post',
33
+    data: data
34
+  })
35
+}
36
+// 删除案件信息 
37
+export function removeCaseApply(data) {
38
+  return request({
39
+    url: '/caseApplication/removeCaseApplication',
40
+    method: 'post',
41
+    data: data
42
+  })
43
+}
44
+// 提交 
45
+export function submitCaseApply(data) {
46
+  return request({
47
+    url: '/caseApplication/submitCaseApplication',
48
+    method: 'post',
49
+    data: data
50
+  })
51
+}
52
+
53
+// 下载模板
54
+export function importTemplate(data) {
55
+  return request({
56
+    url: '/caseApplication/importTemplate',
57
+    method: 'post',
58
+    data: data
9 59
   })
10 60
 }

+ 44
- 24
src/views/caseAccessAll/batchFiling.vue View File

@@ -49,11 +49,7 @@
49 49
         >
50 50
       </el-col>
51 51
     </el-row>
52
-    <el-table
53
-      v-loading="loading"
54
-      :data="list.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
55
-      style="width: 100%"
56
-    >
52
+    <el-table v-loading="loading" :data="batchList" style="width: 100%">
57 53
       <el-table-column label="序号" type="index" align="center">
58 54
         <template slot-scope="scope">
59 55
           <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
@@ -78,7 +74,7 @@
78 74
         prop="filingDate"
79 75
         :show-overflow-tooltip="true"
80 76
       />
81
-      <el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" />
77
+      <!-- <el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" /> -->
82 78
       <el-table-column label="案件状态" align="center" prop="caseStatus" />
83 79
       <el-table-column
84 80
         label="操作"
@@ -102,6 +98,14 @@
102 98
             v-hasPermi="['monitor:online:forceLogout']"
103 99
             >详情</el-button
104 100
           >
101
+          <el-button
102
+            size="mini"
103
+            type="text"
104
+            icon="el-icon-delete"
105
+            @click="deleteRow(scope.row)"
106
+            v-hasPermi="['monitor:online:forceLogout']"
107
+            >删除</el-button
108
+          >
105 109
         </template>
106 110
       </el-table-column>
107 111
     </el-table>
@@ -127,7 +131,9 @@
127 131
             </el-form-item>
128 132
           </el-col>
129 133
           <el-col :span="8">
130
-            <el-button type="primary" @click="downloadTemplate">下载模板</el-button>
134
+            <el-button type="primary" @click="downloadTemplate"
135
+              >下载模板</el-button
136
+            >
131 137
           </el-col>
132 138
           <!-- <el-col :span="12">
133 139
             <el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
@@ -174,7 +180,7 @@ export default {
174 180
       // 总条数
175 181
       total: 0,
176 182
       // 表格数据
177
-      list: [],
183
+      batchList: [],
178 184
       pageNum: 1,
179 185
       pageSize: 10,
180 186
       // 查询参数
@@ -207,16 +213,7 @@ export default {
207 213
       },
208 214
       starttime: "", //开始时间
209 215
       endtime: "", //结束时间
210
-      fileList: [
211
-        // {
212
-        //   name: "food.jpeg",
213
-        //   url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
214
-        // },
215
-        // {
216
-        //   name: "food2.jpeg",
217
-        //   url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
218
-        // },
219
-      ],
216
+      fileList: [],
220 217
     };
221 218
   },
222 219
   created() {
@@ -226,11 +223,22 @@ export default {
226 223
     /** 查询登录日志列表 */
227 224
     getList() {
228 225
       this.loading = true;
229
-      list(this.queryParams).then((response) => {
230
-        this.list = response.rows;
231
-        this.total = response.total;
232
-        this.loading = false;
233
-      });
226
+      this.batchList = [
227
+        {
228
+          id: 1,
229
+          caseNumber: "5644456",
230
+          applicant: "韩某某",
231
+          matterofCase: "5000",
232
+          filingDate: "2023-9-3",
233
+          // ArbitrateMethod: '线上',
234
+          caseStatus: "未开庭",
235
+        },
236
+      ];
237
+      // list(this.queryParams).then((response) => {
238
+      //   this.list = response.rows;
239
+      //   this.total = response.total;
240
+      this.loading = false;
241
+      // });
234 242
     },
235 243
     /** 搜索按钮操作 */
236 244
     handleQuery() {
@@ -257,9 +265,21 @@ export default {
257 265
     editRow() {},
258 266
     // 详情
259 267
     detailRow() {},
268
+    // 删除
269
+    deleteRow(row) {
270
+      // const id = row.id;
271
+      this.$modal
272
+        .confirm("是否确认删除?")
273
+        .then()
274
+        .then(() => {
275
+          // this.getList();
276
+          this.$modal.msgSuccess("删除成功");
277
+        })
278
+        .catch(() => {});
279
+    },
260 280
     // 下载模板
261 281
     downloadTemplate() {
262
-        console.log('下载模板');
282
+      console.log("下载模板");
263 283
     },
264 284
     handleRemove(file, fileList) {
265 285
       console.log(file, fileList);

+ 198
- 338
src/views/caseAccessAll/caseEntry.vue View File

@@ -7,22 +7,22 @@
7 7
       :inline="true"
8 8
       label-width="68px"
9 9
     >
10
-      <el-form-item label="案件编号" prop="caseNumber">
10
+      <el-form-item label="案件编号" prop="caseNum">
11 11
         <el-input
12
-          v-model="queryParams.caseNumber"
12
+          v-model="queryParams.caseNum"
13 13
           placeholder="请输入案件编号"
14 14
           clearable
15 15
           @keyup.enter.native="handleQuery"
16 16
         />
17 17
       </el-form-item>
18
-      <el-form-item label="申请人" prop="applicant">
18
+      <!-- <el-form-item label="申请人" prop="applicant">
19 19
         <el-input
20 20
           v-model="queryParams.applicant"
21 21
           placeholder="请输入申请人"
22 22
           clearable
23 23
           @keyup.enter.native="handleQuery"
24 24
         />
25
-      </el-form-item>
25
+      </el-form-item> -->
26 26
       <el-form-item>
27 27
         <el-button
28 28
           type="primary"
@@ -31,9 +31,9 @@
31 31
           @click="handleQuery"
32 32
           >搜索</el-button
33 33
         >
34
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
34
+        <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
35 35
           >重置</el-button
36
-        >
36
+        > -->
37 37
       </el-form-item>
38 38
     </el-form>
39 39
     <el-row :gutter="10" class="mb8">
@@ -47,38 +47,49 @@
47 47
           v-hasPermi="['monitor:job:add']"
48 48
           >立案申请</el-button
49 49
         >
50
+        <el-button
51
+          type="primary"
52
+          plain
53
+          icon="el-icon-plus"
54
+          size="mini"
55
+          @click="batchApplication"
56
+          v-hasPermi="['monitor:job:add']"
57
+          >批量立案</el-button
58
+        >
50 59
       </el-col>
51 60
     </el-row>
52
-    <el-table
53
-      v-loading="loading"
54
-      :data="list.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
55
-      style="width: 100%"
56
-    >
61
+    <el-table v-loading="loading" :data="dataList" style="width: 100%">
57 62
       <el-table-column label="序号" type="index" align="center">
58 63
         <template slot-scope="scope">
59
-          <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
64
+          <span>{{
65
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
66
+          }}</span>
60 67
         </template>
61 68
       </el-table-column>
62 69
       <el-table-column
63 70
         label="案件编号"
64 71
         align="center"
65
-        prop="caseNumber"
72
+        prop="caseNum"
66 73
         :show-overflow-tooltip="true"
67 74
       />
68
-      <el-table-column
75
+      <!-- <el-table-column
69 76
         label="申请人"
70 77
         align="center"
71
-        prop="applicant"
78
+        prop="caseAffiliates[0].name"
72 79
         :show-overflow-tooltip="true"
80
+      /> -->
81
+      <el-table-column
82
+        label="案件标的"
83
+        align="center"
84
+        prop="caseSubjectAmount"
73 85
       />
74
-      <el-table-column label="案件标的" align="center" prop="matterofCase" />
75 86
       <el-table-column
76 87
         label="立案日期"
77 88
         align="center"
78
-        prop="filingDate"
89
+        prop="registerDate"
79 90
         :show-overflow-tooltip="true"
80 91
       />
81
-      <el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" />
92
+      <!-- <el-table-column label="仲裁方式" align="center" prop="arbitratMethod" /> -->
82 93
       <el-table-column label="案件状态" align="center" prop="caseStatus" />
83 94
       <el-table-column
84 95
         label="操作"
@@ -86,6 +97,14 @@
86 97
         class-name="small-padding fixed-width"
87 98
       >
88 99
         <template slot-scope="scope">
100
+          <el-button
101
+            size="mini"
102
+            type="text"
103
+            icon="el-icon-check"
104
+            @click="onsubmitRow(scope.row)"
105
+            v-hasPermi="['monitor:online:forceLogout']"
106
+            >提交</el-button
107
+          >
89 108
           <el-button
90 109
             size="mini"
91 110
             type="text"
@@ -102,339 +121,117 @@
102 121
             v-hasPermi="['monitor:online:forceLogout']"
103 122
             >详情</el-button
104 123
           >
124
+          <el-button
125
+            size="mini"
126
+            type="text"
127
+            icon="el-icon-delete"
128
+            @click="deleteRow(scope.row)"
129
+            v-hasPermi="['monitor:online:forceLogout']"
130
+            >删除</el-button
131
+          >
105 132
         </template>
106 133
       </el-table-column>
107 134
     </el-table>
108 135
     <pagination
109 136
       v-show="total > 0"
110 137
       :total="total"
111
-      :page.sync="pageNum"
112
-      :limit.sync="pageSize"
138
+      :page.sync="queryParams.pageNum"
139
+      :limit.sync="queryParams.pageSize"
140
+      @pagination="getcaseApply"
113 141
     />
114 142
 
115 143
     <!-- 立案申请弹框 -->
116
-    <el-dialog
117
-      :title="dialogtitle"
118
-      :visible.sync="openapply"
119
-      width="1000px"
120
-      append-to-body
121
-    >
122
-      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
123
-        <p>案件信息:</p>
124
-        <hr />
125
-        <el-row>
126
-          <el-col :span="12">
127
-            <el-form-item label="案件编号:" prop="caseNumber">
128
-              <el-input
129
-                v-model="form.caseNumber"
130
-                placeholder="请输入案件编号"
131
-              />
132
-            </el-form-item>
133
-          </el-col>
134
-          <el-col :span="12">
135
-            <el-form-item label="案件标的:" prop="matterofCase">
136
-              <el-input
137
-                v-model="form.matterofCase"
138
-                placeholder="请输入案件标的"
139
-              />
140
-            </el-form-item>
141
-          </el-col>
142
-          <el-col :span="12">
143
-            <el-form-item label="借款开始日期:" prop="startTime">
144
-              <el-date-picker
145
-                v-model="starttime"
146
-                type="date"
147
-                placeholder="开始日期"
148
-              >
149
-              </el-date-picker>
150
-            </el-form-item>
151
-          </el-col>
152
-          <el-col :span="12">
153
-            <el-form-item label="借款开始日期:" prop="endTime">
154
-              <el-date-picker
155
-                v-model="endtime"
156
-                type="date"
157
-                placeholder="结束日期"
158
-              >
159
-              </el-date-picker>
160
-            </el-form-item>
161
-          </el-col>
162
-          <el-col :span="12">
163
-            <el-form-item label="申请人姓名:" prop="applyname">
164
-              <el-input v-model="form.jobGroup" placeholder="请输入姓名" />
165
-            </el-form-item>
166
-          </el-col>
167
-          <!-- <el-col :span="24">
168
-            <el-form-item label="立案申请书:" prop="applybook">
169
-              <el-upload
170
-                class="upload-demo"
171
-                action="https://jsonplaceholder.typicode.com/posts/"
172
-                :on-preview="handlePreview"
173
-                :on-remove="handleRemove"
174
-                :before-remove="beforeRemove"
175
-                multiple
176
-                :limit="3"
177
-                :on-exceed="handleExceed"
178
-                :file-list="fileList"
179
-              >
180
-                <el-button size="small" type="primary">点击上传</el-button>
181
-                <div slot="tip" class="el-upload__tip">
182
-                  只能上传jpg/png文件,且不超过500kb
183
-                </div>
184
-              </el-upload>
185
-            </el-form-item>
186
-          </el-col> -->
187
-          <el-col :span="12">
188
-            <el-form-item label="合同编号:" prop="contractnum">
189
-              <el-input v-model="form.contractnum" placeholder="请输入" />
190
-            </el-form-item>
191
-          </el-col>
192
-          <el-col :span="12">
193
-            <el-form-item label="申请人主张欠本金:" prop="principal">
194
-              <el-input v-model="form.principal" placeholder="请输入" />
195
-            </el-form-item>
196
-          </el-col>
197
-          <el-col :span="12">
198
-            <el-form-item label="申请人主张欠利息:" prop="interest">
199
-              <el-input v-model="form.interest" placeholder="请输入" />
200
-            </el-form-item>
201
-          </el-col>
202
-          <!-- <el-col :span="12">
203
-            <el-form-item label="还款方式:" prop="repayment">
204
-              <el-input v-model="form.repayment" placeholder="请输入" />
205
-            </el-form-item>
206
-          </el-col> -->
207
-          <el-col :span="12">
208
-            <el-form-item label="逾期天数:" prop="Overduedays">
209
-              <el-input v-model="form.Overduedays" placeholder="请输入" />
210
-            </el-form-item>
211
-          </el-col>
212
-          <el-col :span="12">
213
-            <el-form-item label="申请人主张违约金:" prop="Penalty">
214
-              <el-input v-model="form.Penalty" placeholder="请输入" />
215
-            </el-form-item>
216
-          </el-col>
217
-          <el-col :span="12">
218
-            <el-form-item
219
-              label="申请人案件证据资料上传:"
220
-              prop="applicantEvidence"
221
-            >
222
-              <el-upload
223
-                class="upload-demo"
224
-                action="https://jsonplaceholder.typicode.com/posts/"
225
-                :on-preview="handlePreview"
226
-                :on-remove="handleRemove"
227
-                :before-remove="beforeRemove"
228
-                multiple
229
-                :limit="3"
230
-                :on-exceed="handleExceed"
231
-                :file-list="fileList"
232
-              >
233
-                <el-button size="small" type="primary">点击上传</el-button>
234
-                <div slot="tip" class="el-upload__tip">
235
-                  只能上传jpg/png文件,且不超过500kb
236
-                </div>
237
-              </el-upload>
238
-            </el-form-item>
239
-          </el-col>
240
-          <!-- 仅详情展示 -->
241
-          <el-col :span="12">
242
-            <el-form-item
243
-              label="被申请人案件证据资料上传:"
244
-              prop="respondentEvidence"
245
-            >
246
-              <el-upload
247
-                class="upload-demo"
248
-                action="https://jsonplaceholder.typicode.com/posts/"
249
-                :on-preview="handlePreview"
250
-                :on-remove="handleRemove"
251
-                :before-remove="beforeRemove"
252
-                multiple
253
-                :limit="3"
254
-                :on-exceed="handleExceed"
255
-                :file-list="fileList"
256
-              >
257
-                <el-button size="small" type="primary">点击上传</el-button>
258
-                <div slot="tip" class="el-upload__tip">
259
-                  只能上传jpg/png文件,且不超过500kb
260
-                </div>
261
-              </el-upload>
262
-            </el-form-item>
263
-          </el-col>
264
-          <!-- <el-col :span="12">
265
-            <el-form-item label="缴费通知单:" prop="PaymentNotice">
266
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
267
-            </el-form-item>
268
-          </el-col> -->
269
-        </el-row>
270
-      </el-form>
271
-      <el-form ref="form2" :model="form2" :rules="rules" label-width="150px">
272
-        <p>主体信息:</p>
273
-        <hr />
274
-        <el-row>
275
-          <el-col :span="12">
276
-            <el-form-item label="主体身份类型:" prop="PaymentNotice">
277
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
278
-            </el-form-item>
279
-          </el-col>
280
-          <el-col :span="12">
281
-            <el-form-item label="申请人:" prop="PaymentNotice">
282
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
283
-            </el-form-item>
284
-          </el-col>
285
-          <el-col :span="12">
286
-            <el-form-item label="身份证号:" prop="PaymentNotice">
287
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
288
-            </el-form-item>
289
-          </el-col>
290
-          <el-col :span="12">
291
-            <el-form-item label="联系电话:" prop="PaymentNotice">
292
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
293
-            </el-form-item>
294
-          </el-col>
295
-          <el-col :span="12">
296
-            <el-form-item label="单位地址:" prop="PaymentNotice">
297
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
298
-            </el-form-item>
299
-          </el-col>
300
-          <el-col :span="12">
301
-            <el-form-item label="单位电话:" prop="PaymentNotice">
302
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
303
-            </el-form-item>
304
-          </el-col>
305
-          <el-col :span="12">
306
-            <el-form-item label="联系地址:" prop="PaymentNotice">
307
-              <el-input v-model="form.PaymentNotice" placeholder="请输入" />
308
-            </el-form-item>
309
-          </el-col>
310
-        </el-row>
311
-        <p>代理人信息:</p>
312
-        <el-row>
313
-          <el-col :span="12">
314
-            <el-form-item label="姓名:" prop="name">
315
-              <el-input v-model="form.name" placeholder="请输入" />
316
-            </el-form-item>
317
-          </el-col>
318
-          <el-col :span="12">
319
-            <el-form-item label="身份证号:" prop="name">
320
-              <el-input v-model="form.name" placeholder="请输入" />
321
-            </el-form-item>
322
-          </el-col>
323
-          <el-col :span="12">
324
-            <el-form-item label="联系电话:" prop="name">
325
-              <el-input v-model="form.name" placeholder="请输入" />
326
-            </el-form-item>
327
-          </el-col>
328
-          <el-col :span="12">
329
-            <el-form-item label="联系地址:" prop="name">
330
-              <el-input v-model="form.name" placeholder="请输入" />
331
-            </el-form-item>
332
-          </el-col>
333
-        </el-row>
334
-        <el-button @click="generateForm()">新增主体信息</el-button>
335
-
336
-        <div id="formContainer"></div>
337
-      </el-form>
338
-      <div slot="footer" class="dialog-footer">
339
-        <el-button type="primary" @click="submitForm">确 定</el-button>
340
-        <el-button @click="cancel">取 消</el-button>
341
-      </div>
342
-    </el-dialog>
144
+    <caseentryDialog
145
+      :visible="visible"
146
+      @cancel="cancel"
147
+      :form="form"
148
+      :dialogtitle="dialogtitle"
149
+      :getcaseApply="getcaseApply"
150
+      :flag="flag"
151
+      :initpaymentArr="initpaymentArr"
152
+      :initpaymentArr1="initpaymentArr1"
153
+    ></caseentryDialog>
154
+    <!-- 批量申请弹框 openbatch-->
155
+    <batchDialog
156
+    :openbatch="openbatch"
157
+    @cancelBatch="cancelBatch"
158
+    :getcaseApply="getcaseApply"
159
+    ></batchDialog>
343 160
   </div>
344 161
 </template>
345 162
 
346 163
 <script>
347
-import { list } from "@/api/caseAccess/caseEntry";
164
+import caseentryDialog from "./components/caseentryDialog";
165
+import batchDialog from "./components/batchDialog";
166
+import {
167
+  caseApply,
168
+  removeCaseApply,
169
+  submitCaseApply,
170
+  selectCaseApply
171
+} from "@/api/caseAccess/caseEntry";
348 172
 export default {
349 173
   name: "caseEntry",
174
+  dicts: ["sys_identity_type"],
175
+  components: {
176
+    caseentryDialog,
177
+    batchDialog
178
+  },
350 179
   data() {
351 180
     return {
352 181
       // 遮罩层
353 182
       loading: true,
354 183
       // 总条数
355 184
       total: 0,
185
+      isapply: "申请人:",
356 186
       // 表格数据
357
-      list: [],
358
-      pageNum: 1,
359
-      pageSize: 10,
187
+      dataList: [],
360 188
       // 查询参数
361 189
       queryParams: {
362
-        caseNumber: undefined,
363
-        applicant: undefined,
190
+        caseNum: undefined,
191
+        // applicant: undefined,
192
+        caseStatus: 0,
193
+        pageNum: 1,
194
+        pageSize: 10,
364 195
       },
365 196
       dialogtitle: "", //弹框标题
366
-      openapply: false, //申请弹框控制
367
-      form: {}, // 表单参数
368
-      form2: {}, //主体信息
369
-      // 表单校验
370
-      rules: {
371
-        caseNumber: [
372
-          { required: true, message: "案件编号不能为空", trigger: "blur" },
373
-        ],
374
-        invokeTarget: [
375
-          {
376
-            required: true,
377
-            message: "调用目标字符串不能为空",
378
-            trigger: "blur",
379
-          },
380
-        ],
381
-        cronExpression: [
382
-          {
383
-            required: true,
384
-            message: "cron执行表达式不能为空",
385
-            trigger: "blur",
386
-          },
387
-        ],
388
-      },
197
+      visible: false, //申请弹框控制
198
+      form: {},
389 199
       starttime: "", //开始时间
390 200
       endtime: "", //结束时间
391
-      fileList: [],
392
-      paymentArr: [],
201
+      formData: {},
202
+      flag:"-1",
203
+      initpaymentArr:[],
204
+      initpaymentArr1:[],
205
+      // 批量申请弹框
206
+      openbatch: false,
393 207
     };
394 208
   },
395 209
   created() {
396
-    this.getList();
210
+    this.getcaseApply();
397 211
   },
398 212
   methods: {
399
-    generateForm() {
400
-      // var formContainer = document.getElementById("formContainer");
401
-      // var form = document.createElement("form2");
402
-      // form.setAttribute("method", "post");
403
-      // form.setAttribute("action", "#");
404
-
405
-      // var inputField = document.createElement("input");
406
-      // inputField.setAttribute("type", "text");
407
-      // inputField.setAttribute("name", "username");
408
-      // inputField.setAttribute("placeholder", "用户名");
409
-
410
-      // var passwordField = document.createElement("input");
411
-      // passwordField.setAttribute("type", "password");
412
-      // passwordField.setAttribute("name", "password");
413
-      // passwordField.setAttribute("placeholder", "密码");
414
-
415
-      // var submitButton = document.createElement("input");
416
-      // submitButton.setAttribute("type", "submit");
417
-      // submitButton.setAttribute("value", "提交");
418
-
419
-      // form.appendChild(inputField);
420
-      // form.appendChild(passwordField);
421
-      // form.appendChild(submitButton);
422
-
423
-      // formContainer.appendChild(form);
213
+    cancel() {
214
+      this.visible = false;
215
+    },
216
+    cancelBatch() {
217
+      this.openbatch = false
424 218
     },
425 219
     /** 查询登录日志列表 */
426
-    getList() {
220
+    getcaseApply() {
427 221
       this.loading = true;
428
-      list(this.queryParams).then((response) => {
429
-        this.list = response.rows;
222
+      caseApply(this.queryParams).then((response) => {
223
+        this.dataList = response.rows;
224
+        this.dataList.forEach((item) => {
225
+          item.caseStatus = item.caseStatus == 0 ? "立案申请" : "待缴费";
226
+        });
430 227
         this.total = response.total;
431 228
         this.loading = false;
432 229
       });
433 230
     },
434 231
     /** 搜索按钮操作 */
435 232
     handleQuery() {
436
-      this.pageNum = 1;
437
-      this.getList();
233
+      this.queryParams.pageNum = 1;
234
+      this.getcaseApply();
438 235
     },
439 236
     /** 重置按钮操作 */
440 237
     resetQuery() {
@@ -443,47 +240,110 @@ export default {
443 240
     },
444 241
     // 立案申请
445 242
     filingApplication() {
446
-      this.openapply = true;
243
+      this.form = {};
244
+        this.paymentArr = [
245
+        {
246
+          identityType: 1,
247
+          name: "",
248
+          identityNum: "",
249
+          contactTelphone: "",
250
+          workAddress: "",
251
+          workTelphone: "",
252
+          contactAddress: "",
253
+          nameAgent: "",
254
+          contactTelphoneAgent: "",
255
+          contactAddressAgent: "",
256
+        },
257
+      ];
258
+        this.paymentArr1 = [
259
+        {
260
+          identityType: 2,
261
+          name: "",
262
+          identityNum: "",
263
+          contactTelphone: "",
264
+          workAddress: "",
265
+          workTelphone: "",
266
+          contactAddress: "",
267
+          nameAgent: "",
268
+          contactTelphoneAgent: "",
269
+          contactAddressAgent: "",
270
+        },
271
+      ]
272
+
273
+      this.visible = true;
447 274
       this.dialogtitle = "立案申请";
275
+      this.flag = "2"
448 276
     },
449
-    // 提交立案申请
450
-    submitForm() {},
451
-    // 取消
452
-    cancel() {
453
-      this.openapply = false;
277
+    // 批量立案
278
+    batchApplication() {
279
+      this.openbatch = true
280
+    },
281
+    // 列表提交立案
282
+    onsubmitRow(row) {
283
+      this.$modal
284
+        .confirm("是否提交立案?")
285
+        .then(function () {
286
+          return submitCaseApply({ id: row.id });
287
+        })
288
+        .then(() => {
289
+          this.getcaseApply();
290
+          this.$modal.msgSuccess("立案成功");
291
+        })
292
+        .catch(() => {});
454 293
     },
294
+
455 295
     // 修改
456
-    editRow() {},
457
-    // 详情
458
-    detailRow() {},
459
-    handleRemove(file, fileList) {
460
-      console.log(file, fileList);
296
+    editRow(row) {
297
+      this.flag = "1"
298
+      this.form = row;
299
+      this.visible = true;
300
+      this.dialogtitle = "立案修改";
301
+      this.getInfo(row);
461 302
     },
462
-    handlePreview(file) {
463
-      console.log(file);
303
+    // 详情
304
+    detailRow(row) {
305
+      this.flag = "0"
306
+      this.form = row;
307
+      this.visible = true;
308
+      this.dialogtitle = "立案详情";
309
+      this.getInfo(row);
464 310
     },
465
-    handleExceed(files, fileList) {
466
-      this.$message.warning(
467
-        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
468
-          files.length + fileList.length
469
-        } 个文件`
470
-      );
311
+    // 查找主体信息数据
312
+    getInfo(row) {
313
+      const id = row.id;
314
+      selectCaseApply({ id }).then((res) => {
315
+        this.visible = true;
316
+        this.formData = res.data;
317
+        this.initpaymentArr = [];
318
+        this.initpaymentArr1 = [];
319
+        res.data.caseAffiliates.forEach((item) => {
320
+          if (item.identityType == 1) {
321
+            this.initpaymentArr.push(item);
322
+          } else {
323
+            this.initpaymentArr1.push(item);
324
+          }
325
+        });
326
+      });
471 327
     },
472
-    beforeRemove(file, fileList) {
473
-      return this.$confirm(`确定移除 ${file.name}?`);
328
+    // 删除
329
+    deleteRow(row) {
330
+      // const id = row.id;
331
+      this.$modal
332
+        .confirm("是否确认删除?")
333
+        .then(function () {
334
+          return removeCaseApply({ id: row.id });
335
+        })
336
+        .then((res) => {
337
+          this.getcaseApply();
338
+          this.$modal.msgSuccess("删除成功");
339
+        })
340
+        .catch(() => {});
474 341
     },
475
-
476
-
477 342
   },
478 343
 };
479 344
 </script>
480 345
 
481 346
 <style lang="scss" scoped>
482
-::v-deep .el-dialog__body {
483
-  height: 700px !important;
484
-  overflow: auto !important;
485
-}
486
-#formContainer{
487
-
347
+#formContainer {
488 348
 }
489 349
 </style>

+ 159
- 0
src/views/caseAccessAll/components/batchDialog.vue View File

@@ -0,0 +1,159 @@
1
+<template>
2
+  <div>
3
+    <!-- 立案申请弹框 -->
4
+    <el-dialog
5
+      title="批量立案"
6
+      :visible="openbatch"
7
+      width="600px"
8
+      append-to-body
9
+      @close="cancel"
10
+    >
11
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
12
+        <el-row>
13
+          <!-- <el-col :span="16">
14
+            <el-form-item label="申请人姓名:" prop="applyName">
15
+              <el-input v-model="form.jobName" placeholder="请输入姓名" />
16
+            </el-form-item>
17
+          </el-col>-->
18
+          <el-col :span="8">
19
+            <div class="download" style="margin-bottom: 20px">
20
+              <span> 下载: </span>
21
+              <a href="#">
22
+                <el-button class="uploadlink" @click="downloadTemplate">批量导入模板</el-button>
23
+              </a>
24
+            </div>
25
+          </el-col>
26
+          <!-- <el-col :span="12">
27
+            <el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
28
+          </el-col>
29
+          <el-col :span="12"> </el-col> -->
30
+        </el-row>
31
+        <el-row>
32
+          <el-form-item :span="24" label="批量立案信息上传:" prop="upload">
33
+            <el-upload
34
+              class="upload-demo"
35
+              ref="uploadbatch"
36
+              :limit="1"
37
+              accept=".xlsx, .xls"
38
+              :headers="upload.headers"
39
+              :action="upload.url + '?updateSupport=' + upload.updateSupport"
40
+              :disabled="upload.isUploading"
41
+              :on-progress="handleFileUploadProgress"
42
+              :on-success="handleFileSuccess"
43
+              :auto-upload="false"
44
+              drag
45
+            >
46
+            <i class="el-icon-upload"></i>
47
+            <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
48
+              <!-- <el-button size="small" type="primary">点击上传</el-button> -->
49
+              <div slot="tip" class="el-upload__tip">
50
+                只接收.xlsx, .xls格式文件
51
+              </div>
52
+            </el-upload>
53
+          </el-form-item>
54
+        </el-row>
55
+      </el-form>
56
+      <div slot="footer" class="dialog-footer">
57
+        <el-button type="primary" @click="submitForm">确 定</el-button>
58
+        <el-button @click="cancel">取 消</el-button>
59
+      </div>
60
+    </el-dialog>
61
+  </div>
62
+</template>
63
+
64
+<script>
65
+import { importTemplate } from "@/api/caseAccess/caseEntry";
66
+import { getToken } from "@/utils/auth";
67
+export default {
68
+  props: ["openbatch","getcaseApply"],
69
+  data() {
70
+    return {
71
+      //   key: value,
72
+      form: {},
73
+      fileList: [],
74
+      rules: {
75
+        upload: [
76
+          { required: true, message: "批量立案文件不能为空", trigger: "blur" },
77
+        ],
78
+      },
79
+      // 案件批量导入
80
+      upload: {
81
+        // 是否显示弹出层(用户导入)
82
+        open: false,
83
+        // 弹出层标题(用户导入)
84
+        title: "",
85
+        // 是否禁用上传
86
+        isUploading: false,
87
+        // 是否更新已经存在的用户数据
88
+        updateSupport: 0,
89
+        // 设置上传的请求头部
90
+        headers: { Authorization: "Bearer " + getToken() },
91
+        // 上传的地址
92
+        url: process.env.VUE_APP_BASE_API + "/caseApplication/importData",
93
+      },
94
+    };
95
+  },
96
+  methods: {
97
+    // 批量提交立案申请
98
+    submitForm() {
99
+        this.$refs.uploadbatch.submit();
100
+    },
101
+    // 取消
102
+    cancel() {
103
+      //   this.openbatch = false;
104
+      this.$emit("cancelBatch");
105
+    },
106
+    handleRemove(file, fileList) {},
107
+    handlePreview(file) {},
108
+    handleExceed(files, fileList) {
109
+      this.$message.warning(
110
+        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
111
+          files.length + fileList.length
112
+        } 个文件`
113
+      );
114
+    },
115
+    beforeRemove(file, fileList) {
116
+      return this.$confirm(`确定移除 ${file.name}?`);
117
+    },
118
+    // 下载模板 importTemplate
119
+    downloadTemplate() {
120
+    //   console.log("下载模板");
121
+      this.download(
122
+        "caseApplication/importTemplate",
123
+        {},
124
+        `case_batch_${new Date().getTime()}.xlsx`
125
+      );
126
+    },
127
+    // 文件上传中处理
128
+    handleFileUploadProgress(event, file, fileList) {
129
+      this.upload.isUploading = true;
130
+    },
131
+    // 文件上传成功处理
132
+    handleFileSuccess(response, file, fileList) {
133
+    //   this.upload.open = false;
134
+      this.$emit("cancelBatch");
135
+      this.upload.isUploading = false;
136
+      this.$refs.uploadbatch.clearFiles();
137
+      this.$alert(
138
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
139
+          response.msg +
140
+          "</div>",
141
+        "导入结果",
142
+        { dangerouslyUseHTMLString: true }
143
+      );
144
+      this.getcaseApply();
145
+    },
146
+  },
147
+};
148
+</script>
149
+
150
+<style lang="scss" scoped>
151
+.download {
152
+  a {
153
+    .uploadlink{
154
+        border: none;
155
+        color: #2092c7;
156
+    }
157
+  }
158
+}
159
+</style>

+ 788
- 0
src/views/caseAccessAll/components/caseentryDialog.vue View File

@@ -0,0 +1,788 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :title="dialogtitle"
5
+      :visible="visible"
6
+      @close="cancel"
7
+      width="1000px"
8
+      append-to-body
9
+      :destroy-on-close="true"
10
+    >
11
+      <!-- 案件信息 -->
12
+      <el-form
13
+        ref="form"
14
+        :model="formData"
15
+        :rules="rules"
16
+        label-width="150px"
17
+        :disabled="flag == '0'"
18
+      >
19
+        <p>案件信息:</p>
20
+        <el-divider></el-divider>
21
+        <el-row>
22
+          <el-col :span="12">
23
+            <el-form-item label="案件编号:" prop="caseNum">
24
+              <el-input
25
+                v-model="formData.caseNum"
26
+                placeholder="请输入案件编号"
27
+              />
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
+              />
36
+            </el-form-item>
37
+          </el-col>
38
+          <el-col :span="12">
39
+            <el-form-item label="借款开始日期:" prop="loanStartDate">
40
+              <el-date-picker
41
+                v-model="formData.loanStartDate"
42
+                type="datetime"
43
+                placeholder="借款开始日期"
44
+              >
45
+              </el-date-picker>
46
+            </el-form-item>
47
+          </el-col>
48
+          <el-col :span="12">
49
+            <el-form-item label="借款结束日期:" prop="loanEndDate">
50
+              <el-date-picker
51
+                v-model="formData.loanEndDate"
52
+                type="datetime"
53
+                placeholder="借款结束日期"
54
+              >
55
+              </el-date-picker>
56
+            </el-form-item>
57
+          </el-col>
58
+          <el-col :span="12">
59
+            <el-form-item label="合同编号:" prop="contractNumber">
60
+              <el-input
61
+                v-model="formData.contractNumber"
62
+                placeholder="请输入"
63
+              />
64
+            </el-form-item>
65
+          </el-col>
66
+          <el-col :span="12">
67
+            <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
68
+              <el-input
69
+                v-model="formData.claimPrinciOwed"
70
+                placeholder="请输入"
71
+              />
72
+            </el-form-item>
73
+          </el-col>
74
+          <el-col :span="12">
75
+            <el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
76
+              <el-input
77
+                v-model="formData.claimInterestOwed"
78
+                placeholder="请输入"
79
+              />
80
+            </el-form-item>
81
+          </el-col>
82
+          <el-col :span="12">
83
+            <el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
84
+              <el-input
85
+                v-model="formData.claimLiquidDamag"
86
+                placeholder="请输入"
87
+              />
88
+            </el-form-item>
89
+          </el-col>
90
+          <el-col :span="12">
91
+            <el-form-item
92
+              label="申请人案件证据资料上传:"
93
+              prop="applicantEvidence"
94
+            >
95
+              <el-upload
96
+                class="upload-demo"
97
+                action="https://jsonplaceholder.typicode.com/posts/"
98
+                :on-preview="handlePreview"
99
+                :on-remove="handleRemove"
100
+                :before-remove="beforeRemove"
101
+                multiple
102
+                :limit="3"
103
+                :on-exceed="handleExceed"
104
+                :file-list="fileList"
105
+              >
106
+                <el-button size="small" type="primary">点击上传</el-button>
107
+                <div slot="tip" class="el-upload__tip">
108
+                  只能上传jpg/png文件,且不超过500kb
109
+                </div>
110
+              </el-upload>
111
+            </el-form-item>
112
+          </el-col>
113
+          <!-- 仅详情展示 -->
114
+          <el-col :span="12">
115
+            <el-form-item
116
+              label="被申请人案件证据资料上传:"
117
+              prop="respondentEvidence"
118
+            >
119
+              <el-upload
120
+                class="upload-demo"
121
+                action="https://jsonplaceholder.typicode.com/posts/"
122
+                :on-preview="handlePreview"
123
+                :on-remove="handleRemove"
124
+                :before-remove="beforeRemove"
125
+                multiple
126
+                :limit="3"
127
+                :on-exceed="handleExceed"
128
+                :file-list="fileList"
129
+              >
130
+                <el-button size="small" type="primary">点击上传</el-button>
131
+                <div slot="tip" class="el-upload__tip">
132
+                  只能上传jpg/png文件,且不超过500kb
133
+                </div>
134
+              </el-upload>
135
+            </el-form-item>
136
+          </el-col>
137
+        </el-row>
138
+      </el-form>
139
+      <!-- 申请人主体信息 -->
140
+      <el-form
141
+        ref="form2"
142
+        :model="form2"
143
+        label-width="150px"
144
+        :disabled="flag == '0'"
145
+      >
146
+        <div v-for="(item, index) in form2.paymentArr" :key="index">
147
+          <div style="display: flex; justify-content: space-between">
148
+            <p>申请人主体信息:</p>
149
+            <el-button
150
+              type="danger"
151
+              icon="el-icon-delete"
152
+              @click="deleteData(index)"
153
+              v-if="form2.paymentArr.length > 1 && flag != '0'"
154
+            ></el-button>
155
+          </div>
156
+          <el-divider></el-divider>
157
+          <el-row>
158
+            <el-col :span="12">
159
+              <el-form-item
160
+                label="申请人姓名"
161
+                :prop="'paymentArr.' + index + '.name'"
162
+                :rules="[
163
+                  {
164
+                    required: true,
165
+                    message: '申请人不能为空',
166
+                    trigger: 'blur',
167
+                  },
168
+                ]"
169
+              >
170
+                <el-input v-model="item.name" placeholder="请输入" />
171
+              </el-form-item>
172
+            </el-col>
173
+            <el-col :span="12">
174
+              <el-form-item
175
+                label="身份证号:"
176
+                :prop="'paymentArr.' + index + '.identityNum'"
177
+                :rules="[
178
+                  {
179
+                    required: true,
180
+                    message: '身份证号不能为空',
181
+                    trigger: 'blur',
182
+                  },
183
+                ]"
184
+              >
185
+                <el-input v-model="item.identityNum" placeholder="请输入" />
186
+              </el-form-item>
187
+            </el-col>
188
+            <el-col :span="12">
189
+              <el-form-item
190
+                label="联系电话:"
191
+                :prop="'paymentArr.' + index + '.contactTelphone'"
192
+                :rules="[
193
+                  {
194
+                    required: true,
195
+                    message: '联系电话不能为空',
196
+                    trigger: 'blur',
197
+                  },
198
+                ]"
199
+              >
200
+                <el-input v-model="item.contactTelphone" placeholder="请输入" />
201
+              </el-form-item>
202
+            </el-col>
203
+            <el-col :span="12">
204
+              <el-form-item
205
+                label="单位地址:"
206
+                :prop="'paymentArr.' + index + '.workAddress'"
207
+                :rules="[
208
+                  {
209
+                    required: true,
210
+                    message: '单位地址不能为空',
211
+                    trigger: 'blur',
212
+                  },
213
+                ]"
214
+              >
215
+                <el-input v-model="item.workAddress" placeholder="请输入" />
216
+              </el-form-item>
217
+            </el-col>
218
+            <el-col :span="12">
219
+              <el-form-item
220
+                label="单位电话:"
221
+                :prop="'paymentArr.' + index + '.workTelphone'"
222
+                :rules="[
223
+                  {
224
+                    required: true,
225
+                    message: '单位电话不能为空',
226
+                    trigger: 'blur',
227
+                  },
228
+                ]"
229
+              >
230
+                <el-input v-model="item.workTelphone" placeholder="请输入" />
231
+              </el-form-item>
232
+            </el-col>
233
+            <el-col :span="12">
234
+              <el-form-item
235
+                label="联系地址:"
236
+                :prop="'paymentArr.' + index + '.contactAddress'"
237
+                :rules="[
238
+                  {
239
+                    required: true,
240
+                    message: '联系地址不能为空',
241
+                    trigger: 'blur',
242
+                  },
243
+                ]"
244
+              >
245
+                <el-input v-model="item.contactAddress" placeholder="请输入" />
246
+              </el-form-item>
247
+            </el-col>
248
+          </el-row>
249
+          <p>代理人信息:</p>
250
+          <el-row>
251
+            <el-col :span="12">
252
+              <el-form-item
253
+                label="姓名:"
254
+                :prop="'paymentArr.' + index + '.nameAgent'"
255
+                :rules="[
256
+                  {
257
+                    required: true,
258
+                    message: '姓名不能为空',
259
+                    trigger: 'blur',
260
+                  },
261
+                ]"
262
+              >
263
+                <el-input v-model="item.nameAgent" placeholder="请输入" />
264
+              </el-form-item>
265
+            </el-col>
266
+            <el-col :span="12">
267
+              <el-form-item
268
+                label="身份证号:"
269
+                :prop="'paymentArr.' + index + '.identityNumAgent'"
270
+                :rules="[
271
+                  {
272
+                    required: true,
273
+                    message: '身份证号不能为空',
274
+                    trigger: 'blur',
275
+                  },
276
+                ]"
277
+              >
278
+                <el-input
279
+                  v-model="item.identityNumAgent"
280
+                  placeholder="请输入"
281
+                />
282
+              </el-form-item>
283
+            </el-col>
284
+            <el-col :span="12">
285
+              <el-form-item
286
+                label="联系电话:"
287
+                :prop="'paymentArr.' + index + '.contactTelphoneAgent'"
288
+                :rules="[
289
+                  {
290
+                    required: true,
291
+                    message: '联系电话不能为空',
292
+                    trigger: 'blur',
293
+                  },
294
+                ]"
295
+              >
296
+                <el-input
297
+                  v-model="item.contactTelphoneAgent"
298
+                  placeholder="请输入"
299
+                />
300
+              </el-form-item>
301
+            </el-col>
302
+            <el-col :span="12">
303
+              <el-form-item
304
+                label="联系地址:"
305
+                :prop="'paymentArr.' + index + '.contactAddressAgent'"
306
+                :rules="[
307
+                  {
308
+                    required: true,
309
+                    message: '联系地址不能为空',
310
+                    trigger: 'blur',
311
+                  },
312
+                ]"
313
+              >
314
+                <el-input
315
+                  v-model="item.contactAddressAgent"
316
+                  placeholder="请输入"
317
+                />
318
+              </el-form-item>
319
+            </el-col>
320
+          </el-row>
321
+        </div>
322
+      </el-form>
323
+      <el-button
324
+        v-if="flag == 1 || flag == 2"
325
+        type="primary"
326
+        plain
327
+        @click="generateForm"
328
+        >新增申请人主体信息</el-button
329
+      >
330
+      <!-- 被申请人主体信息 -->
331
+      <el-form
332
+        ref="form3"
333
+        label-width="150px"
334
+        :disabled="flag == '0'"
335
+        :model="form3"
336
+      >
337
+        <div
338
+          v-for="(itm, index) in form3.paymentArr1"
339
+          :key="index + form2.paymentArr.length"
340
+        >
341
+          <div style="display: flex; justify-content: space-between">
342
+            <p>被申请人主体信息:</p>
343
+            <el-button
344
+              type="danger"
345
+              icon="el-icon-delete"
346
+              @click="deleteData1(index)"
347
+              v-if="form3.paymentArr1.length > 1 && flag != '0'"
348
+            ></el-button>
349
+          </div>
350
+          <el-divider></el-divider>
351
+          <el-row>
352
+            <el-col :span="12">
353
+              <el-form-item
354
+                label="被申请人姓名"
355
+                :prop="'paymentArr1.' + index + '.name'"
356
+                :rules="[
357
+                  {
358
+                    required: true,
359
+                    message: '被申请人不能为空',
360
+                    trigger: 'blur',
361
+                  },
362
+                ]"
363
+              >
364
+                <el-input v-model="itm.name" placeholder="请输入" />
365
+              </el-form-item>
366
+            </el-col>
367
+            <el-col :span="12">
368
+              <el-form-item
369
+                label="身份证号:"
370
+                :prop="'paymentArr1.' + index + '.identityNum'"
371
+                :rules="[
372
+                  {
373
+                    required: true,
374
+                    message: '身份证号不能为空',
375
+                    trigger: 'blur',
376
+                  },
377
+                ]"
378
+              >
379
+                <el-input v-model="itm.identityNum" placeholder="请输入" />
380
+              </el-form-item>
381
+            </el-col>
382
+            <el-col :span="12">
383
+              <el-form-item
384
+                label="联系电话:"
385
+                :prop="'paymentArr1.' + index + '.contactTelphone'"
386
+                :rules="[
387
+                  {
388
+                    required: true,
389
+                    message: '联系电话不能为空',
390
+                    trigger: 'blur',
391
+                  },
392
+                ]"
393
+              >
394
+                <el-input v-model="itm.contactTelphone" placeholder="请输入" />
395
+              </el-form-item>
396
+            </el-col>
397
+            <el-col :span="12">
398
+              <el-form-item
399
+                label="单位地址:"
400
+                :prop="'paymentArr1.' + index + '.workAddress'"
401
+                :rules="[
402
+                  {
403
+                    required: true,
404
+                    message: '单位地址不能为空',
405
+                    trigger: 'blur',
406
+                  },
407
+                ]"
408
+              >
409
+                <el-input v-model="itm.workAddress" placeholder="请输入" />
410
+              </el-form-item>
411
+            </el-col>
412
+            <el-col :span="12">
413
+              <el-form-item
414
+                label="单位电话:"
415
+                :prop="'paymentArr1.' + index + '.workTelphone'"
416
+                :rules="[
417
+                  {
418
+                    required: true,
419
+                    message: '单位电话不能为空',
420
+                    trigger: 'blur',
421
+                  },
422
+                ]"
423
+              >
424
+                <el-input v-model="itm.workTelphone" placeholder="请输入" />
425
+              </el-form-item>
426
+            </el-col>
427
+            <el-col :span="12">
428
+              <el-form-item
429
+                label="联系地址:"
430
+                :prop="'paymentArr1.' + index + '.contactAddress'"
431
+                :rules="[
432
+                  {
433
+                    required: true,
434
+                    message: '联系地址不能为空',
435
+                    trigger: 'blur',
436
+                  },
437
+                ]"
438
+              >
439
+                <el-input v-model="itm.contactAddress" placeholder="请输入" />
440
+              </el-form-item>
441
+            </el-col>
442
+          </el-row>
443
+          <p>代理人信息:</p>
444
+          <el-row>
445
+            <el-col :span="12">
446
+              <el-form-item
447
+                label="姓名:"
448
+                :prop="'paymentArr1.' + index + '.nameAgent'"
449
+                :rules="[
450
+                  {
451
+                    required: true,
452
+                    message: '姓名不能为空',
453
+                    trigger: 'blur',
454
+                  },
455
+                ]"
456
+              >
457
+                <el-input v-model="itm.nameAgent" placeholder="请输入" />
458
+              </el-form-item>
459
+            </el-col>
460
+            <el-col :span="12">
461
+              <el-form-item
462
+                label="身份证号:"
463
+                :prop="'paymentArr1.' + index + '.identityNumAgent'"
464
+                :rules="[
465
+                  {
466
+                    required: true,
467
+                    message: '身份证号不能为空',
468
+                    trigger: 'blur',
469
+                  },
470
+                ]"
471
+              >
472
+                <el-input v-model="itm.identityNumAgent" placeholder="请输入" />
473
+              </el-form-item>
474
+            </el-col>
475
+            <el-col :span="12">
476
+              <el-form-item
477
+                label="联系电话:"
478
+                :prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
479
+                :rules="[
480
+                  {
481
+                    required: true,
482
+                    message: '联系电话不能为空',
483
+                    trigger: 'blur',
484
+                  },
485
+                ]"
486
+              >
487
+                <el-input
488
+                  v-model="itm.contactTelphoneAgent"
489
+                  placeholder="请输入"
490
+                />
491
+              </el-form-item>
492
+            </el-col>
493
+            <el-col :span="12">
494
+              <el-form-item
495
+                label="联系地址:"
496
+                :prop="'paymentArr1.' + index + '.contactAddressAgent'"
497
+                :rules="[
498
+                  {
499
+                    required: true,
500
+                    message: '联系地址不能为空',
501
+                    trigger: 'blur',
502
+                  },
503
+                ]"
504
+              >
505
+                <el-input
506
+                  v-model="itm.contactAddressAgent"
507
+                  placeholder="请输入"
508
+                />
509
+              </el-form-item>
510
+            </el-col>
511
+          </el-row>
512
+        </div>
513
+      </el-form>
514
+      <el-button
515
+        v-if="flag == 1 || flag == 2"
516
+        type="primary"
517
+        plain
518
+        @click="generateForm1()"
519
+        >新增被申请人主体信息</el-button
520
+      >
521
+      <div slot="footer" class="dialog-footer">
522
+        <el-button type="primary" @click="submitForm" v-if="flag != 0"
523
+          >确 定</el-button
524
+        >
525
+        <el-button @click="cancel">取 消</el-button>
526
+      </div>
527
+    </el-dialog>
528
+  </div>
529
+</template>
530
+
531
+<script>
532
+import moment from "moment"; //导入文件
533
+import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
534
+export default {
535
+  props: [
536
+    "visible",
537
+    "dialogtitle",
538
+    "form",
539
+    "getcaseApply",
540
+    "flag",
541
+    "initpaymentArr",
542
+    "initpaymentArr1",
543
+  ],
544
+  data() {
545
+    return {
546
+      formData: this.form,
547
+      form2: {
548
+        paymentArr: [
549
+          {
550
+            identityType: 1,
551
+            name: "",
552
+            identityNum: "",
553
+            contactTelphone: "",
554
+            workAddress: "",
555
+            workTelphone: "",
556
+            contactAddress: "",
557
+            nameAgent: "",
558
+            contactTelphoneAgent: "",
559
+            contactAddressAgent: "",
560
+          },
561
+        ],
562
+      }, //申请人主体信息
563
+      form3: {
564
+        paymentArr1: [
565
+          {
566
+            identityType: 2,
567
+            name: "",
568
+            identityNum: "",
569
+            contactTelphone: "",
570
+            workAddress: "",
571
+            workTelphone: "",
572
+            contactAddress: "",
573
+            nameAgent: "",
574
+            contactTelphoneAgent: "",
575
+            contactAddressAgent: "",
576
+          },
577
+        ],
578
+      }, //被申请人主体信息
579
+      // 表单校验
580
+      rules: {
581
+        caseNum: [
582
+          {
583
+            required: true,
584
+            message: "案件编号不能为空",
585
+            trigger: ["change", "blur"],
586
+          },
587
+          { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
588
+        ],
589
+        caseSubjectAmount: [
590
+          {
591
+            required: true,
592
+            message: "案件标的不能为空",
593
+            trigger: ["change", "blur"],
594
+          },
595
+          // { type: "Number", message: "案件标的必须为数字值" },
596
+        ],
597
+        loanStartDate: [
598
+          {
599
+            required: true,
600
+            message: "借款开始日期不能为空",
601
+            trigger: "blur",
602
+          },
603
+        ],
604
+        loanEndDate: [
605
+          {
606
+            required: true,
607
+            message: "借款结束日期不能为空",
608
+            trigger: "blur",
609
+          },
610
+        ],
611
+        name: [
612
+          {
613
+            required: true,
614
+            message: "申请人姓名不能为空",
615
+            trigger: "blur",
616
+          },
617
+        ],
618
+        contractNumber: [
619
+          {
620
+            required: true,
621
+            message: "合同编号不能为空",
622
+            trigger: "blur",
623
+          },
624
+        ],
625
+        claimPrinciOwed: [
626
+          {
627
+            required: true,
628
+            message: "申请人主张欠本金不能为空",
629
+            trigger: "blur",
630
+          },
631
+          // { type: 'number', message: '申请人主张欠本金必须为数字值'}
632
+        ],
633
+        claimInterestOwed: [
634
+          {
635
+            required: true,
636
+            message: "申请人主张欠利息不能为空",
637
+            trigger: "blur",
638
+          },
639
+          // { type: 'number', message: '申请人主张欠利息必须为数字值'}
640
+        ],
641
+        Overduedays: [
642
+          {
643
+            required: true,
644
+            message: "逾期天数不能为空",
645
+            trigger: "blur",
646
+          },
647
+          // { type: 'number', message: '逾期天数必须为数字值'}
648
+        ],
649
+        claimLiquidDamag: [
650
+          {
651
+            required: true,
652
+            message: "申请人主张违约金不能为空",
653
+            trigger: "blur",
654
+          },
655
+          // { type: 'number', message: '申请人主张违约金必须为数字值'}
656
+        ],
657
+      },
658
+      fileList: [],
659
+    };
660
+  },
661
+  watch: {
662
+    visible: {
663
+      handler(val) {
664
+        if (val) {
665
+          this.formData = this.form;
666
+          if (this.flag == "1" || this.flag == "0") {
667
+            setTimeout(() => {
668
+              this.form2.paymentArr = this.initpaymentArr;
669
+              this.form3.paymentArr1 = this.initpaymentArr1;
670
+            }, 1000);
671
+          }
672
+        }
673
+      },
674
+      deep: true,
675
+    },
676
+  },
677
+  methods: {
678
+    handleRemove(file, fileList) {},
679
+    handlePreview(file) {},
680
+    handleExceed(files, fileList) {
681
+      this.$message.warning(
682
+        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
683
+          files.length + fileList.length
684
+        } 个文件`
685
+      );
686
+    },
687
+    beforeRemove(file, fileList) {
688
+      return this.$confirm(`确定移除 ${file.name}?`);
689
+    },
690
+    // 取消
691
+    cancel() {
692
+      this.$emit("cancel");
693
+    },
694
+
695
+    // 新增申请人主体信息
696
+    generateForm() {
697
+      this.form2.paymentArr.push({
698
+        identityType: 1,
699
+        name: "",
700
+        identityNum: "",
701
+        contactTelphone: "",
702
+        workAddress: "",
703
+        workTelphone: "",
704
+        contactAddress: "",
705
+        nameAgent: "",
706
+        contactTelphoneAgent: "",
707
+        contactAddressAgent: "",
708
+      });
709
+    },
710
+    // 新增被申请人主体信息
711
+    generateForm1() {
712
+      this.form3.paymentArr1.push({
713
+        identityType: 2,
714
+        name: "",
715
+        identityNum: "",
716
+        contactTelphone: "",
717
+        workAddress: "",
718
+        workTelphone: "",
719
+        contactAddress: "",
720
+        nameAgent: "",
721
+        contactTelphoneAgent: "",
722
+        contactAddressAgent: "",
723
+      });
724
+    },
725
+    // 删除申请人主体信息
726
+    deleteData(index) {
727
+      this.form2.paymentArr.splice(index, 1);
728
+    },
729
+    // 删除被申请人主体信息
730
+    deleteData1(index) {
731
+      this.form3.paymentArr1.splice(index, 1);
732
+    },
733
+    // 提交立案申请 addCaseApply
734
+    submitForm() {
735
+      this.$refs["form"].validate((valid) => {
736
+        this.formData.loanStartDate = moment(
737
+          this.formData.loanStartDate
738
+        ).format("YYYY-MM-DD HH:mm:ss");
739
+        this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
740
+          "YYYY-MM-DD HH:mm:ss"
741
+        );
742
+        if (valid) {
743
+          this.$refs["form2"].validate((valid) => {
744
+            if (valid) {
745
+              this.$refs["form3"].validate((vail) => {
746
+                if (vail) {
747
+                  this.formData.caseAffiliates = [
748
+                    ...this.form2.paymentArr,
749
+                    ...this.form3.paymentArr1,
750
+                  ];
751
+                  if (this.formData.id) {
752
+                    editCaseApply({
753
+                      ...this.formData,
754
+                      caseAffiliates: this.formData.caseAffiliates,
755
+                    }).then((res) => {
756
+                      this.$modal.msgSuccess("修改成功");
757
+                      this.$emit("cancel");
758
+                      this.getcaseApply();
759
+                    });
760
+                  } else {
761
+                    addCaseApply({
762
+                      ...this.formData,
763
+                      caseAffiliates: this.formData.caseAffiliates,
764
+                    }).then((response) => {
765
+                      this.$modal.msgSuccess("新增成功");
766
+                      this.$emit("cancel");
767
+                      this.getcaseApply();
768
+                    });
769
+                  }
770
+                  // this.$emit("cancel");
771
+                  // this.getcaseApply();
772
+                }
773
+              });
774
+            }
775
+          });
776
+        }
777
+      });
778
+    },
779
+  },
780
+};
781
+</script>
782
+
783
+<style lang="scss" scoped>
784
+::v-deep .el-dialog__body {
785
+  height: 700px !important;
786
+  overflow: auto !important;
787
+}
788
+</style>