1289181c by renchao@pashanhoo.com

style:补录权利人信息模块功能的完善

1 parent c0867727
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:39:47 4 * @LastEditTime: 2023-09-21 16:03:36
5 --> 5 -->
6 <template> 6 <template>
7 <dialogBox 7 <dialogBox
8 title="权利人信息" 8 title="权利人信息"
9 width="60%" 9 width="75%"
10 isMain 10 isMain
11 v-model="myValue" 11 v-model="myValue"
12 :isFullscreen="false" 12 :isFullscreen="false"
13 @submitForm="submitForm" 13 @submitForm="submitForm"
14 @closeDialog="closeDialog" 14 @closeDialog="closeDialog"
15 :isButton="showButton" 15 :isButton="isShow">
16 > 16 <el-tabs v-model="activeName" @tab-click="handleClick" class="from-clues-header">
17 <el-tab-pane label="基本信息" name="1"></el-tab-pane>
18 <el-tab-pane label="企业信息" v-if="showButton" name="2"></el-tab-pane>
19 <el-tab-pane label="银行机构" v-if="showButton" name="3"></el-tab-pane>
20 </el-tabs>
21
17 <el-form 22 <el-form
18 :model="ruleForm" 23 :model="ruleForm"
24 v-if="activeName==1"
19 :rules="rules" 25 :rules="rules"
20 ref="ruleForm" 26 ref="ruleForm"
21 label-width="120px" 27 label-width="120px">
22 > 28 <el-form-item label="身份证读卡器">
29 <el-button type="text" icon="el-icon-tickets" :disabled="!showButton" @click="readClick">读取</el-button>
30 <el-button type="primary" v-if="isBz" @click="handleFilings">信息备案</el-button>
31 </el-form-item>
23 <el-row> 32 <el-row>
24 <el-col :span="8"> 33 <el-col :span="8">
25 <el-form-item label="权利人类型" prop="qlrlx"> 34 <el-form-item label="权利人类型" prop="qlrlx">
...@@ -28,56 +37,51 @@ ...@@ -28,56 +37,51 @@
28 v-model="ruleForm.qlrlx" 37 v-model="ruleForm.qlrlx"
29 class="width100" 38 class="width100"
30 :disabled="!showButton" 39 :disabled="!showButton"
31 placeholder="请选择" 40 placeholder="请选择">
32 >
33 <el-option 41 <el-option
34 v-for="item in dictData['A36']" 42 v-for="item in dictData['A36']"
35 :key="item.dcode" 43 :key="item.dcode"
36 :label="item.dname" 44 :label="item.dname"
37 :value="item.dcode" 45 :value="item.dcode">
38 >
39 </el-option> 46 </el-option>
40 </el-select> 47 </el-select>
41 </el-form-item> 48 </el-form-item>
42 </el-col> 49 </el-col>
43 <el-col :span="8"> 50 <el-col :span="8">
44 <el-form-item label="姓名/名称" prop="qlrmc"> 51 <el-form-item label="姓名/名称" prop="qlrmc">
45 <el-input 52 <el-input
46 v-model="ruleForm.qlrmc" 53 v-model="ruleForm.qlrmc"
47 maxlegth="15" 54 maxlegth="15"
48 :disabled="!showButton" 55 :disabled="!showButton"></el-input>
49 ></el-input>
50 </el-form-item> 56 </el-form-item>
51 </el-col> 57 </el-col>
52 <el-col :span="8"> 58 <el-col :span="8">
53 <el-form-item label="证件种类" prop="zjzl"> 59 <el-form-item label="证件种类" prop="zjzl">
54 <el-select 60 <el-select
55 clearable 61 clearable
56 v-model="ruleForm.zjzl" 62 v-model="ruleForm.zjzl"
57 :disabled="!showButton" 63 :disabled="!showButton"
58 class="width100" 64 class="width100"
59 placeholder="请选择" 65 @change="handleZjzl"
60 > 66 placeholder="请选择">
61 <el-option 67 <el-option
62 v-for="item in dictData['A30']" 68 v-for="item in dictData['A30']"
63 :key="item.dcode" 69 :key="item.dcode"
64 :label="item.dname" 70 :label="item.dname"
65 :value="item.dcode" 71 :value="item.dcode">
66 >
67 </el-option> 72 </el-option>
68 </el-select> 73 </el-select>
69 </el-form-item> 74 </el-form-item>
70 </el-col> 75 </el-col>
71 </el-row> 76 </el-row>
72 <el-row> 77 <el-row>
73 <el-col :span="8"> 78 <el-col :span="8">
74 <el-form-item label="证件号" prop="zjh"> 79 <el-form-item label="证件号" prop="zjh">
75 <el-input 80 <el-input
76 v-model="ruleForm.zjh" 81 v-model="ruleForm.zjh"
77 :disabled="!showButton" 82 :disabled="!showButton"
78 maxlength="18" 83 maxlength="18"
79 oninput="this.value=this.value.replace(/[^\X0-9]/g,'')" 84 oninput="this.value=this.value.replace(/[^\X0-9]/g,'')"></el-input>
80 ></el-input>
81 </el-form-item> 85 </el-form-item>
82 </el-col> 86 </el-col>
83 <el-col :span="8"> 87 <el-col :span="8">
...@@ -86,8 +90,7 @@ ...@@ -86,8 +90,7 @@
86 v-model="ruleForm.dh" 90 v-model="ruleForm.dh"
87 :disabled="!showButton" 91 :disabled="!showButton"
88 maxlength="11" 92 maxlength="11"
89 oninput="value=value.replace(/[^\d]/g,'')" 93 oninput="value=value.replace(/[^\d]/g,'')"></el-input>
90 ></el-input>
91 </el-form-item> 94 </el-form-item>
92 </el-col> 95 </el-col>
93 96
...@@ -96,8 +99,7 @@ ...@@ -96,8 +99,7 @@
96 <el-input 99 <el-input
97 v-model="ruleForm.qlbl" 100 v-model="ruleForm.qlbl"
98 maxlength="32" 101 maxlength="32"
99 :disabled="!showButton || this.ruleForm.gyfs == 1" 102 :disabled="!showButton || this.ruleForm.gyfs == 1"></el-input>
100 ></el-input>
101 </el-form-item> 103 </el-form-item>
102 </el-col> 104 </el-col>
103 </el-row> 105 </el-row>
...@@ -107,8 +109,7 @@ ...@@ -107,8 +109,7 @@
107 <el-input 109 <el-input
108 v-model="ruleForm.frmc" 110 v-model="ruleForm.frmc"
109 maxlength="32" 111 maxlength="32"
110 :disabled="!showButton" 112 :disabled="!showButton"></el-input>
111 ></el-input>
112 </el-form-item> 113 </el-form-item>
113 </el-col> 114 </el-col>
114 <el-col :span="8"> 115 <el-col :span="8">
...@@ -116,8 +117,7 @@ ...@@ -116,8 +117,7 @@
116 <el-input 117 <el-input
117 v-model="ruleForm.gj" 118 v-model="ruleForm.gj"
118 maxlength="3" 119 maxlength="3"
119 :disabled="!showButton" 120 :disabled="!showButton"></el-input>
120 ></el-input>
121 </el-form-item> 121 </el-form-item>
122 </el-col> 122 </el-col>
123 <el-col :span="8"> 123 <el-col :span="8">
...@@ -125,8 +125,7 @@ ...@@ -125,8 +125,7 @@
125 <el-input 125 <el-input
126 v-model="ruleForm.hjszss" 126 v-model="ruleForm.hjszss"
127 maxlength="3" 127 maxlength="3"
128 :disabled="!showButton" 128 :disabled="!showButton"></el-input>
129 ></el-input>
130 </el-form-item> 129 </el-form-item>
131 </el-col> 130 </el-col>
132 </el-row> 131 </el-row>
...@@ -137,8 +136,7 @@ ...@@ -137,8 +136,7 @@
137 <el-input 136 <el-input
138 v-model="ruleForm.dz" 137 v-model="ruleForm.dz"
139 maxlength="100" 138 maxlength="100"
140 :disabled="!showButton" 139 :disabled="!showButton"></el-input>
141 ></el-input>
142 </el-form-item> 140 </el-form-item>
143 </el-col> 141 </el-col>
144 </el-row> 142 </el-row>
...@@ -149,8 +147,7 @@ ...@@ -149,8 +147,7 @@
149 <el-input 147 <el-input
150 v-model="ruleForm.fzjg" 148 v-model="ruleForm.fzjg"
151 maxlength="10" 149 maxlength="10"
152 :disabled="!showButton" 150 :disabled="!showButton"></el-input>
153 ></el-input>
154 </el-form-item> 151 </el-form-item>
155 </el-col> 152 </el-col>
156 <el-col :span="8"> 153 <el-col :span="8">
...@@ -158,8 +155,7 @@ ...@@ -158,8 +155,7 @@
158 <el-input 155 <el-input
159 v-model="ruleForm.dzyj" 156 v-model="ruleForm.dzyj"
160 :disabled="!showButton" 157 :disabled="!showButton"
161 maxlength="25" 158 maxlength="25"></el-input>
162 ></el-input>
163 </el-form-item> 159 </el-form-item>
164 </el-col> 160 </el-col>
165 <el-col :span="8"> 161 <el-col :span="8">
...@@ -168,8 +164,7 @@ ...@@ -168,8 +164,7 @@
168 v-model.number="ruleForm.yb" 164 v-model.number="ruleForm.yb"
169 :disabled="!showButton" 165 :disabled="!showButton"
170 maxlength="6" 166 maxlength="6"
171 oninput="value=value.replace(/[^\d]/g,'')" 167 oninput="value=value.replace(/[^\d]/g,'')"></el-input>
172 ></el-input>
173 </el-form-item> 168 </el-form-item>
174 </el-col> 169 </el-col>
175 </el-row> 170 </el-row>
...@@ -180,8 +175,7 @@ ...@@ -180,8 +175,7 @@
180 <el-input 175 <el-input
181 v-model="ruleForm.gzdw" 176 v-model="ruleForm.gzdw"
182 maxlength="32" 177 maxlength="32"
183 :disabled="!showButton" 178 :disabled="!showButton"></el-input>
184 ></el-input>
185 </el-form-item> 179 </el-form-item>
186 </el-col> 180 </el-col>
187 <el-col :span="16"> 181 <el-col :span="16">
...@@ -189,8 +183,7 @@ ...@@ -189,8 +183,7 @@
189 <el-input 183 <el-input
190 v-model="ruleForm.dlrjgmc" 184 v-model="ruleForm.dlrjgmc"
191 maxlength="32" 185 maxlength="32"
192 :disabled="!showButton" 186 :disabled="!showButton"></el-input>
193 ></el-input>
194 </el-form-item> 187 </el-form-item>
195 </el-col> 188 </el-col>
196 </el-row> 189 </el-row>
...@@ -202,8 +195,7 @@ ...@@ -202,8 +195,7 @@
202 v-model="ruleForm.dlrdhhm" 195 v-model="ruleForm.dlrdhhm"
203 :disabled="!showButton" 196 :disabled="!showButton"
204 maxlength="11" 197 maxlength="11"
205 oninput="value=value.replace(/[^\d]/g,'')" 198 oninput="value=value.replace(/[^\d]/g,'')"></el-input>
206 ></el-input>
207 </el-form-item> 199 </el-form-item>
208 </el-col> 200 </el-col>
209 <el-col :span="8"> 201 <el-col :span="8">
...@@ -211,8 +203,7 @@ ...@@ -211,8 +203,7 @@
211 <el-input 203 <el-input
212 v-model="ruleForm.dlrxm" 204 v-model="ruleForm.dlrxm"
213 maxlength="15" 205 maxlength="15"
214 :disabled="!showButton" 206 :disabled="!showButton"></el-input>
215 ></el-input>
216 </el-form-item> 207 </el-form-item>
217 </el-col> 208 </el-col>
218 <el-col :span="8"> 209 <el-col :span="8">
...@@ -222,14 +213,12 @@ ...@@ -222,14 +213,12 @@
222 v-model="ruleForm.dlrzjlx" 213 v-model="ruleForm.dlrzjlx"
223 :disabled="!showButton" 214 :disabled="!showButton"
224 class="width100" 215 class="width100"
225 placeholder="请选择" 216 placeholder="请选择">
226 >
227 <el-option 217 <el-option
228 v-for="item in dictData['A30']" 218 v-for="item in dictData['A30']"
229 :key="item.dcode" 219 :key="item.dcode"
230 :label="item.dname" 220 :label="item.dname"
231 :value="item.dcode" 221 :value="item.dcode">
232 >
233 </el-option> 222 </el-option>
234 </el-select> 223 </el-select>
235 </el-form-item> 224 </el-form-item>
...@@ -243,14 +232,12 @@ ...@@ -243,14 +232,12 @@
243 v-model="ruleForm.xb" 232 v-model="ruleForm.xb"
244 :disabled="!showButton" 233 :disabled="!showButton"
245 class="width100" 234 class="width100"
246 placeholder="请选择" 235 placeholder="请选择">
247 >
248 <el-option 236 <el-option
249 v-for="item in dictData['A43']" 237 v-for="item in dictData['A43']"
250 :key="item.dcode" 238 :key="item.dcode"
251 :label="item.dname" 239 :label="item.dname"
252 :value="item.dcode" 240 :value="item.dcode">
253 >
254 </el-option> 241 </el-option>
255 </el-select> 242 </el-select>
256 </el-form-item> 243 </el-form-item>
...@@ -260,111 +247,408 @@ ...@@ -260,111 +247,408 @@
260 <el-input 247 <el-input
261 v-model="ruleForm.dlrzjh" 248 v-model="ruleForm.dlrzjh"
262 :disabled="!showButton" 249 :disabled="!showButton"
263 maxlength="18" 250 maxlength="18"></el-input>
264 ></el-input>
265 </el-form-item> 251 </el-form-item>
266 </el-col> 252 </el-col>
267 </el-row> 253 </el-row>
268 </el-form> 254 </el-form>
255
256 <div v-if="activeName==2" class="padding10">
257 <el-form :model="queryFormQY" label-width="80px">
258 <el-row>
259 <el-col :span="8">
260 <el-form-item label="姓名/名称">
261 <el-input placeholder="姓名/名称" v-model="queryFormQY.qymc" clearable class="width100">
262 </el-input>
263 </el-form-item>
264 </el-col>
265 <el-col :span="8">
266 <el-form-item label="证件号">
267 <el-input placeholder="证件号" v-model="queryFormQY.zjh" clearable class="width100">
268 </el-input>
269 </el-form-item>
270 </el-col>
271 <el-col :span="8" class="btnColRight">
272 <el-form-item>
273 <el-button type="primary" @click="handleSearchQY">查询</el-button>
274 </el-form-item>
275 </el-col>
276 </el-row>
277 </el-form>
278 <el-table :data="tableDataQy.data" border v-Loading="loading" :height="426.8">
279 <el-table-column label="序号" type="index" width="50" align="center">
280 <template slot-scope="scope">
281 {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}}
282 </template>
283 </el-table-column>
284 <el-table-column v-for="item in tableDataQy.columns" :key="item.index" :width="item.width" :prop="item.prop" :label="item.label" align="center">
285 </el-table-column>
286 <el-table-column label="操作" width="50">
287 <template slot-scope="scope">
288 <el-button type="text" @click="handleSelect(scope.row)">使用</el-button>
289 </template>
290 </el-table-column>
291 </el-table>
292 <el-pagination background layout="prev, pager, next,total" :total="tableDataQy.total"
293 @current-change="handleQYCurrentChange"></el-pagination>
294 </div>
295 <div v-if="activeName==3" class="padding10">
296 <el-form :model="queryFormYH" label-width="80px">
297 <el-row>
298 <el-col :span="8">
299 <el-form-item label="姓名/名称">
300 <el-input placeholder="姓名/名称" v-model="queryFormYH.qymc" clearable class="width100">
301 </el-input>
302 </el-form-item>
303 </el-col>
304 <el-col :span="8">
305 <el-form-item label="证件号">
306 <el-input placeholder="证件号" v-model="queryFormYH.zjh" clearable class="width100">
307 </el-input>
308 </el-form-item>
309 </el-col>
310 <el-col :span="8" class="btnColRight">
311 <el-form-item>
312 <el-button type="primary" @click="handleSearchYH">查询</el-button>
313 </el-form-item>
314 </el-col>
315 </el-row>
316 </el-form>
317 <el-table :data="tableDataYh.data" border v-Loading="loading" :height="426.8">
318 <el-table-column label="序号" type="index" width="50" align="center">
319 <template slot-scope="scope">
320 {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}}
321 </template>
322 </el-table-column>
323 <el-table-column v-for="item in tableDataYh.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center">
324 </el-table-column>
325 <el-table-column label="操作" width="50">
326 <template slot-scope="scope">
327 <el-button type="text" @click="handleSelect(scope.row)">使用</el-button>
328 </template>
329 </el-table-column>
330 </el-table>
331 <el-pagination background layout="prev, pager, next,total" :total="tableDataYh.total"
332 @current-change="handleYHCurrentChange"></el-pagination>
333 </div>
269 </dialogBox> 334 </dialogBox>
270 </template> 335 </template>
271 <script> 336 <script>
272 import { mapGetters } from "vuex"; 337 import { mapGetters } from "vuex";
273 export default { 338 import store from '@/store/index.js'
274 props: { 339 import { replace } from "@/api/company.js"
275 value: { type: Boolean, default: false }, 340 import { getUuid } from "@/utils/operation.js"
276 details: { type: Object, default: {} }, 341 import { getIdCardInfo } from '@/utils/operation.js'
277 showButton: { type: Boolean, default: false }, 342 import { queryQyByPage, queryYhByPage, addQy } from "@/api/xxba.js";
278 }, 343 import { dataYh, dataQy, sendThis } from "./addQlrData";
279 computed: { 344 export default {
280 ...mapGetters(["dictData"]), 345 props: {
281 }, 346 value: { type: Boolean, default: false },
282 data() { 347 details: { type: Object, default: {} },
283 return { 348 showButton: { type: Boolean, default: false },
284 myValue: this.value,
285 ruleForm: {
286 bsmBdcqz: "",
287 bsmQlr: "",
288 bsmQlxx: "",
289 bz: "",
290 cbfbm: "",
291 dh: "",
292 dlrdhhm: "",
293 dlrjgmc: "",
294 dlrxm: "",
295 dlrzjh: "",
296 dlrzjlx: "",
297 dz: "",
298 dzyj: "",
299 fbfbm: "",
300 frdh: "",
301 frmc: "",
302 fzjg: "",
303 gj: "",
304 gzdw: "",
305 hjszss: "",
306 qlrlx: "",
307 qlrmc: "",
308 qlrtz: "",
309 sfczr: "",
310 sshy: "",
311 sxh: 0,
312 xb: "",
313 yb: "",
314 zjh: "",
315 zjzl: "",
316 },
317 rules: {
318 qlrlx: [{ required: true, message: "权利人类型", trigger: "change" }],
319 qlrmc: [{ required: true, message: "姓名/名称", trigger: "blur" }],
320 zjzl: [{ required: true, message: "证件种类", trigger: "change" }],
321 zjh: [{ required: true, message: "证件号", trigger: "blur" }],
322 },
323 };
324 },
325 watch: {
326 value(val) {
327 this.myValue = _.cloneDeep(val);
328 }, 349 },
329 details: { 350 computed: {
330 handler: function (val, oldVal) { 351 ...mapGetters(["dictData"]),
331 this.ruleForm = val; 352 },
332 }, 353 mounted () {
333 deep: true, 354 sendThis(this);
355 },
356 data () {
357 return {
358 isShow: false,
359 isBz: false,
360 activeName: '1',
361 loading: false,
362 myValue: this.value,
363 ruleForm: {
364 bsmBdcqz: "",
365 bsmQlr: "",
366 bsmQlxx: "",
367 bz: "",
368 cbfbm: "",
369 dh: "",
370 dlrdhhm: "",
371 dlrjgmc: "",
372 dlrxm: "",
373 dlrzjh: "",
374 dlrzjlx: "",
375 dz: "",
376 dzyj: "",
377 fbfbm: "",
378 frdh: "",
379 frmc: "",
380 fzjg: "",
381 gj: "",
382 gzdw: "",
383 hjszss: "",
384 qlrlx: "",
385 qlrmc: "",
386 qlrtz: "",
387 sfczr: "",
388 sshy: "",
389 sxh: 0,
390 xb: "",
391 yb: "",
392 zjh: "",
393 zjzl: "",
394 },
395 rules: {
396 qlrlx: [{ required: true, message: "权利人类型", trigger: "change" }],
397 qlrmc: [{ required: true, message: "姓名/名称", trigger: "blur" }],
398 zjzl: [{ required: true, message: "证件种类", trigger: "change" }],
399 zjh: [{ required: true, message: "证件号", trigger: "blur" }],
400 },
401 pageData: {
402 currentPage: 1,
403 pageSize: 8
404 },
405 // 企业
406 queryFormQY: {
407 qymc: "",
408 zjh: ""
409 },
410 tableDataQy: {
411 total: 0,
412 columns: dataQy.columns(),
413 data: [],
414 },
415 // 银行
416 queryFormYH: {
417 qymc: "",
418 zjh: ""
419 },
420 tableDataYh: {
421 total: 0,
422 columns: dataYh.columns(),
423 data: [
424 ]
425 }
426 }
334 }, 427 },
335 }, 428 watch: {
336 methods: { 429 value (val) {
337 /** 430 this.myValue = _.cloneDeep(val)
338 * @description: closeDialog 431 if (val && Object.keys(this.details).length > 0) {
339 * @author: renchao 432 this.activeName = '1'
340 */ 433 }
341 closeDialog() { 434 this.isShow = this.showButton
342 this.$emit("input", false); 435 },
343 this.$refs["ruleForm"].resetFields(); 436 details: {
437 handler: function (val, oldVal) {
438 this.ruleForm = val;
439 },
440 deep: true
441 }
344 }, 442 },
345 /** 443 methods: {
346 * @description: submitForm 444 handleZjzl (val) {
347 * @author: renchao 445 if (['6', '7', '8'].includes(val)) {
348 */ 446 this.isBz = true
349 submitForm() { 447 } else {
350 this.$refs.ruleForm.validate((valid) => { 448 this.isBz = false
351 if (valid) { 449 }
352 this.$emit("input", false); 450 },
353 this.$emit("updateDetail", _.cloneDeep(this.ruleForm)); 451 /**
452 * @description: 信息备案
453 * @author: renchao
454 */
455 handleFilings () {
456 this.ruleForm.qymc = this.ruleForm.qlrmc
457 this.ruleForm.dwdz = this.ruleForm.dz
458 addQy(this.ruleForm).then(res => {
459 if (res.code == 200) {
460 this.$message.success('备案成功')
461 } else {
462 this.$message.error(res.message);
463 }
464 })
465 },
466 /**
467 * @description: handleClick
468 * @author: renchao
469 */
470 handleClick (event, tab) {
471 if (this.activeName != 1) {
472 this.isShow = false
354 } else { 473 } else {
355 return false; 474 this.isShow = true
475 }
476 this.pageData.currentPage = 1
477 if (this.activeName == 2) {
478 this.handleSearchQY()
479 } else {
480 this.handleSearchYH()
481 }
482 },
483 /**
484 * @description:企业查询
485 * @param {*} val
486 * @param {*} code
487 * @author: renchao
488 */
489 dicStatus (val, code) {
490 let data = store.getters.dictData[code],
491 name = '暂无'
492 if (data) {
493 data.map((item) => {
494 if (item.dcode == val) {
495 name = item.dname
496 }
497 })
498 return name
356 } 499 }
357 }); 500 },
501 /**
502 * @description: 企业信息搜索
503 * @author: renchao
504 */
505 handleSearchQY () {
506 let data = { ...this.queryFormQY, ...this.pageData }
507 this.tableDataQy.data = []
508 queryQyByPage(data).then((res) => {
509 if (res.code === 200) {
510 let { total, records } = res.result;
511 this.tableDataQy.total = total;
512 this.tableDataQy.data = records;
513 this.tableDataQy.data.forEach(item => {
514 item.zjzlMc = this.dicStatus(item.zjzl, 'A30')
515 item.qlrmc = item.qymc
516 item.dz = item.dwdz
517 item.id = getUuid(16)
518 })
519 }
520 })
521 },
522 /**
523 * @description: handleQYCurrentChange
524 * @param {*} val
525 * @author: renchao
526 */
527 handleQYCurrentChange (val) {
528 this.pageData.currentPage = val
529 this.handleSearchQY()
530 },
531 /**
532 * @description: handlesQYSelect
533 * @param {*} val
534 * @author: renchao
535 */
536 handleSelect (val) {
537 let that = this
538 let bsmSldy = window.currentSelect.bsmSldy ? window.currentSelect.bsmSldy : ''
539 this.$confirm('是否同步材料信息?', '提示', {
540 confirmButtonText: '确定',
541 cancelButtonText: '取消',
542 }).then(() => {
543 replace(val.bsmCompany, this.$route.query.bsmSlsq, bsmSldy).then(res => {
544 that.$emit("updateDetail", _.cloneDeep(val));
545 that.$emit("input", false);
546 if (res.code == 200) {
547 that.$message({
548 type: 'success',
549 message: '同步成功!'
550 })
551 } else {
552 this.$message.error(res.message);
553 }
554 })
555 }).catch(() => {
556 this.$message({
557 type: 'info',
558 message: '已取消'
559 })
560 })
561 },
562 /**
563 * @description: 银行信息搜索
564 * @author: renchao
565 */
566 handleSearchYH () {
567 let data = { ...this.queryFormYH, ...this.pageData }
568 this.tableDataYh.data = []
569 queryYhByPage(data).then((res) => {
570 if (res.code === 200) {
571 let { total, records } = res.result;
572 this.tableDataYh.total = total;
573 this.tableDataYh.data = records;
574 this.tableDataYh.data.forEach(item => {
575 item.zjzlMc = this.dicStatus(item.zjzl, 'A30')
576 item.qlrmc = item.qymc
577 item.dz = item.dwdz
578 item.id = getUuid(16)
579 })
580 }
581 })
582 },
583 /**
584 * @description: handleYHCurrentChange
585 * @param {*} val
586 * @author: renchao
587 */
588 handleYHCurrentChange (val) {
589 this.pageData.currentPage = val
590 this.handleSearchQY()
591 },
592 /**
593 * @description: 身份证打卡器
594 * @author: renchao
595 */
596 readClick () {
597 getIdCardInfo().then(res => {
598 if (res.data.code == 0) {
599 let data = res.data.IDCardInfo
600 this.ruleForm.qlrmc = data.name
601 this.ruleForm.zjzl = '1'
602 this.ruleForm.zjh = data.cardID
603 this.ruleForm.xb = data.sexCode
604 this.ruleForm.dz = data.address
605 this.ruleForm.fzjg = data.issueOrgan
606 this.$message({
607 message: '读取成功!',
608 type: 'success'
609 })
610 } else {
611 this.$message({
612 message: res.data.message,
613 type: 'warning'
614 })
615 }
616 })
617 },
618 /**
619 * @description: closeDialog
620 * @author: renchao
621 */
622 closeDialog () {
623 this.$emit("input", false);
624 this.$refs["ruleForm"].resetFields();
625 },
626 /**
627 * @description: submitForm
628 * @author: renchao
629 */
630 submitForm () {
631 this.$refs.ruleForm.validate((valid) => {
632 if (valid) {
633 this.$emit("input", false);
634 this.$emit("updateDetail", _.cloneDeep(this.ruleForm));
635 } else {
636 return false;
637 }
638 });
639 },
358 }, 640 },
359 }, 641 };
360 };
361 </script> 642 </script>
362 <style scoped lang="scss"> 643 <style scoped lang="scss">
363 @import "~@/styles/dialogBoxheader.scss"; 644 @import "~@/styles/dialogBoxheader.scss";
364 .submit-button { 645 .submit-button {
365 text-align: center; 646 text-align: center;
366 height: 52px; 647 height: 52px;
367 padding-top: 10px; 648 padding-top: 10px;
368 background-color: #fff; 649 background-color: #fff;
369 } 650 }
651 .padding10 {
652 padding-bottom: 10px;
653 }
370 </style> 654 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-21 15:45:27
5 */
6 import filter from '@/utils/filter.js'
7 let vm = null
8
9 const sendThis = (_this) => {
10 vm = _this
11 }
12 class data1 extends filter {
13 constructor() {
14 super()
15 }
16 columns () {
17 return [
18 {
19 prop: "qlrmc",
20 label: "姓名/名称",
21 },
22 {
23 prop: "zjzlMc",
24 label: "证件种类"
25 },
26 {
27 prop: "zjh",
28 label: "证件号",
29 },
30 {
31 prop: "frmc",
32 label: "法人名称",
33 },
34 {
35 prop: "dwdz",
36 label: "地址",
37 },
38 {
39 prop: "dh",
40 label: "联系电话",
41 }
42 ]
43 }
44
45 }
46 class data2 extends filter {
47 constructor() {
48 super()
49
50 }
51 columns () {
52 return [
53 {
54 prop: "qlrmc",
55 label: "姓名/名称",
56 },
57 {
58 prop: "zjzlMc",
59 label: "证件种类",
60 },
61 {
62 prop: "zjh",
63 label: "证件号",
64 },
65 {
66 prop: "frmc",
67 label: "法人名称",
68 },
69 {
70 prop: "dwdz",
71 label: "地址",
72 },
73 {
74 prop: "dh",
75 label: "联系电话",
76 },
77 ]
78 }
79
80 }
81 let dataYh = new data1()
82 let dataQy = new data2()
83 export {
84 dataYh,
85 dataQy,
86 sendThis
87 }
1 <!-- 1 <!--
2 * @Description: workFrame左侧菜单列表-普通 2 * @Description: workFrame左侧菜单列表-普通
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 16:16:13 4 * @LastEditTime: 2023-09-21 16:02:05
5 --> 5 -->
6 <template> 6 <template>
7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> 7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
...@@ -171,7 +171,6 @@ ...@@ -171,7 +171,6 @@
171 this.$parent.loadComponent(this.currentSelectProps, data); 171 this.$parent.loadComponent(this.currentSelectProps, data);
172 this.$parent.tabset(); 172 this.$parent.tabset();
173 }, 173 },
174 //申请单元点击事件
175 /** 174 /**
176 * @description: 申请单元点击事件 175 * @description: 申请单元点击事件
177 * @param {*} index 176 * @param {*} index
...@@ -180,6 +179,7 @@ ...@@ -180,6 +179,7 @@
180 unitClick (index) { 179 unitClick (index) {
181 this.clickindex = index 180 this.clickindex = index
182 this.currentSelectProps = this.supplementarylist[index]; 181 this.currentSelectProps = this.supplementarylist[index];
182 window.currentSelect = this.supplementarylist[index]
183 this.$emit("getCurrentSelectProps", this.currentSelectProps); 183 this.$emit("getCurrentSelectProps", this.currentSelectProps);
184 }, 184 },
185 /** 185 /**
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-01 13:30:54 4 * @LastEditTime: 2023-09-21 16:02:53
5 --> 5 -->
6 <template> 6 <template>
7 <div> 7 <div>
...@@ -21,8 +21,9 @@ ...@@ -21,8 +21,9 @@
21 </div> 21 </div>
22 </template> 22 </template>
23 <script> 23 <script>
24 import addQlr from "./dialog/addQlr.vue";
25 import { mapGetters } from "vuex"; 24 import { mapGetters } from "vuex";
25 import addQlr from "./dialog/addQlr.vue";
26 import { getIdCardInfo } from '@/utils/operation.js'
26 export default { 27 export default {
27 components: { 28 components: {
28 addQlr, 29 addQlr,
...@@ -102,7 +103,7 @@ ...@@ -102,7 +103,7 @@
102 icon="el-icon-tickets" 103 icon="el-icon-tickets"
103 disabled={!this.ableOperation} 104 disabled={!this.ableOperation}
104 onClick={() => { 105 onClick={() => {
105 this.readClick(scope); 106 this.readClick(scope.row)
106 }} 107 }}
107 > 108 >
108 读取 109 读取
...@@ -178,12 +179,12 @@ ...@@ -178,12 +179,12 @@
178 this.$nextTick(() => { 179 this.$nextTick(() => {
179 if (val.length == 0 || !val) { 180 if (val.length == 0 || !val) {
180 that.tableDataList = _.cloneDeep([ 181 that.tableDataList = _.cloneDeep([
181 { 182 // {
182 qlrmc: "", 183 // qlrmc: "",
183 dlrzjlx: "", 184 // dlrzjlx: "",
184 dlrzjh: "", 185 // dlrzjh: "",
185 fr: "", 186 // fr: "",
186 }, 187 // },
187 ]); 188 ]);
188 } else { 189 } else {
189 that.tableDataList = _.cloneDeep(val); 190 that.tableDataList = _.cloneDeep(val);
...@@ -255,15 +256,32 @@ ...@@ -255,15 +256,32 @@
255 this.tableDataList.splice(index, 1); 256 this.tableDataList.splice(index, 1);
256 this.$emit("upDateQlrxxList", this.tableDataList); 257 this.$emit("upDateQlrxxList", this.tableDataList);
257 }, 258 },
258
259 // 身份证读取
260 /** 259 /**
261 * @description: 身份证读取 260 * @description: 身份证读取
262 * @author: renchao 261 * @author: renchao
263 */ 262 */
264 readClick () { }, 263 readClick (row) {
265 264 getIdCardInfo().then(res => {
266 // 身份证读取按钮禁用 265 if (res.data.code == 0) {
266 let data = res.data.IDCardInfo
267 row.qlrmc = data.name
268 row.zjzl = '1'
269 row.zjh = data.cardID
270 row.xb = data.sexCode
271 row.dz = data.address
272 row.fzjg = data.issueOrgan
273 this.$message({
274 message: '读取成功!',
275 type: 'success'
276 })
277 } else {
278 this.$message({
279 message: res.data.message,
280 type: 'warning'
281 })
282 }
283 })
284 },
267 /** 285 /**
268 * @description: 身份证读取按钮禁用 286 * @description: 身份证读取按钮禁用
269 * @author: renchao 287 * @author: renchao
......