7107ff88 by yangwei

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 6b3af090 500581d5
1 /* 1 /*
2 * @Description: 企业银行接口 2 * @Description: 企业银行接口
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 09:18:45 4 * @LastEditTime: 2023-09-11 10:19:36
5 */ 5 */
6 import request from '@/utils/request' 6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
...@@ -63,4 +63,21 @@ export function uploadBatch (data) { ...@@ -63,4 +63,21 @@ export function uploadBatch (data) {
63 }, 63 },
64 data 64 data
65 }) 65 })
66 }
67
68
69
70 /**
71 * @description: 删除上传材料目录
72 * @param {*} bsmFile
73 * @author: renchao
74 */
75 export function deleteFile (bsmFile) {
76 return request({
77 url: SERVER.SERVERAPI + '/rest/sys/company/deleteFile',
78 method: 'get',
79 params: {
80 bsmFile: bsmFile
81 }
82 })
66 } 83 }
...\ No newline at end of file ...\ No newline at end of file
......
1 /* 1 /*
2 * @Description: 信息备案 2 * @Description: 信息备案
3 * @Autor: 3 * @Autor:
4 * @LastEditTime: 2023-09-08 09:27:58 4 * @LastEditTime: 2023-09-11 11:25:22
5 */ 5 */
6 6
7 import request from '@/utils/request' 7 import request from '@/utils/request'
...@@ -19,6 +19,19 @@ export function addYh (data) { ...@@ -19,6 +19,19 @@ export function addYh (data) {
19 data 19 data
20 }) 20 })
21 } 21 }
22
23 /**
24 * @description: 编辑银行
25 * @param {*} data
26 * @author:
27 */
28 export function update (data) {
29 return request({
30 url: SERVER.SERVERAPI + '/rest/sys/company/update',
31 method: 'post',
32 data
33 })
34 }
22 /** 35 /**
23 * @description: 添加企业 36 * @description: 添加企业
24 * @param {*} data 37 * @param {*} data
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:08:48 4 * @LastEditTime: 2023-09-11 10:01:32
5 --> 5 -->
6 <template> 6 <template>
7 <el-image-viewer :on-close="closeViewer" :url-list="urlList"> 7 <el-image-viewer :on-close="closeViewer" :url-list="urlList">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-15 10:01:26 4 * @LastEditTime: 2023-09-11 10:18:11
5 --> 5 -->
6 <template> 6 <template>
7 <transition name="msgbox-fade"> 7 <transition name="msgbox-fade">
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
158 } 158 }
159 159
160 .mask-content { 160 .mask-content {
161 padding: 5px 20px 50px 20px; 161 padding: 5px 20px 30px 20px;
162 width: 100%; 162 width: 100%;
163 min-height: 20%; 163 min-height: 20%;
164 max-height: 90vh; 164 max-height: 90vh;
......
...@@ -40,7 +40,6 @@ export default class filter { ...@@ -40,7 +40,6 @@ export default class filter {
40 let status = { 1: '正常申请', 2: '一并申请', 3: '补录申请' } 40 let status = { 1: '正常申请', 2: '一并申请', 3: '补录申请' }
41 return status[val] 41 return status[val]
42 } 42 }
43 // 字典
44 /** 43 /**
45 * @description: 字典 44 * @description: 字典
46 * @param {*} val 45 * @param {*} val
......
1 /* 1 /*
2 * @Description: 弹框组件的封装 2 * @Description: 弹框组件的封装
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-12 09:58:13 4 * @LastEditTime: 2023-09-11 10:38:44
5 */ 5 */
6 import ywPopup from '@/components/ywPopup/index' 6 import ywPopup from '@/components/ywPopup/index'
7 import Popup1 from '@/components/Popup1/index' 7 import Popup1 from '@/components/Popup1/index'
...@@ -49,7 +49,7 @@ export function popupDialog (title, url, params, width = '75%', isMain, height, ...@@ -49,7 +49,7 @@ export function popupDialog (title, url, params, width = '75%', isMain, height,
49 * @param {*} cancel 49 * @param {*} cancel
50 * @author: renchao 50 * @author: renchao
51 */ 51 */
52 export function ywPopupDialog (title, url, params, width = '75%', isMain, height, btnShow = true, callback, cancel) { 52 export function ywPopupDialog (title, url, params, width = '75%', isMain, btnShow = true, height, callback, cancel) {
53 // Popup.install 53 // Popup.install
54 ywPopup(title, url, { 54 ywPopup(title, url, {
55 height: height, 55 height: height,
...@@ -63,7 +63,7 @@ export function ywPopupDialog (title, url, params, width = '75%', isMain, height ...@@ -63,7 +63,7 @@ export function ywPopupDialog (title, url, params, width = '75%', isMain, height
63 confirm: () => { 63 confirm: () => {
64 callback() 64 callback()
65 }, 65 },
66 popupDialog: popupDialog // 将 popupDialog 方法传递给弹框组件 66 popupDialog: ywPopupDialog // 将 popupDialog 方法传递给弹框组件
67 }) 67 })
68 } 68 }
69 69
...@@ -80,5 +80,5 @@ export function popupCacel () { ...@@ -80,5 +80,5 @@ export function popupCacel () {
80 * @author: renchao 80 * @author: renchao
81 */ 81 */
82 export function ywPopupCacel () { 82 export function ywPopupCacel () {
83 ywPopupDialog().close() 83 ywPopup().close()
84 } 84 }
......
...@@ -49,6 +49,10 @@ export default { ...@@ -49,6 +49,10 @@ export default {
49 this.dealCheckedItem(); 49 this.dealCheckedItem();
50 }, 50 },
51 methods: { 51 methods: {
52 /**
53 * @description: submitForm
54 * @author: renchao
55 */
52 submitForm () { 56 submitForm () {
53 var checkedNodes = this.$refs.tree.getCheckedNodes(); 57 var checkedNodes = this.$refs.tree.getCheckedNodes();
54 if (checkedNodes.length > 6) { 58 if (checkedNodes.length > 6) {
...@@ -65,6 +69,10 @@ export default { ...@@ -65,6 +69,10 @@ export default {
65 } 69 }
66 }) 70 })
67 }, 71 },
72 /**
73 * @description: queryClick
74 * @author: renchao
75 */
68 queryClick () { 76 queryClick () {
69 let that = this 77 let that = this
70 getMenuInfo().then(res => { 78 getMenuInfo().then(res => {
...@@ -79,13 +87,28 @@ export default { ...@@ -79,13 +87,28 @@ export default {
79 } 87 }
80 this.defaultCheckeds = lookForAllId() 88 this.defaultCheckeds = lookForAllId()
81 }, 89 },
90 /**
91 * @description: dealCheckedItem
92 * @author: renchao
93 */
82 dealCheckedItem () { 94 dealCheckedItem () {
83 }, 95 },
84 //关闭窗口 96 //关闭窗口
97 /**
98 * @description: 关闭窗口
99 * @author: renchao
100 */
85 closeDialog () { 101 closeDialog () {
86 this.$emit("input", false); 102 this.$emit("input", false);
87 }, 103 },
88 //节点选择状态发生改变时 104 //节点选择状态发生改变时
105 /**
106 * @description: 节点选择状态发生改变时
107 * @param {*} data
108 * @param {*} checked
109 * @param {*} node
110 * @author: renchao
111 */
89 handleClick (data, checked, node) { 112 handleClick (data, checked, node) {
90 var checkedNodes = this.$refs.tree.getCheckedNodes(); 113 var checkedNodes = this.$refs.tree.getCheckedNodes();
91 if (checkedNodes.length > 6) { 114 if (checkedNodes.length > 6) {
......
...@@ -75,6 +75,10 @@ ...@@ -75,6 +75,10 @@
75 }, 75 },
76 methods: { 76 methods: {
77 // 初始化数据 77 // 初始化数据
78 /**
79 * @description: 初始化数据
80 * @author: renchao
81 */
78 queryClick () { 82 queryClick () {
79 this.$startLoading(); 83 this.$startLoading();
80 getSqcxPage({ ...this.queryForm, ...this.pageData }).then((res) => { 84 getSqcxPage({ ...this.queryForm, ...this.pageData }).then((res) => {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-01 14:09:02 4 * @LastEditTime: 2023-09-11 15:44:33
5 --> 5 -->
6 <template> 6 <template>
7 <dialogBox 7 <dialogBox
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
16 16
17 <el-tabs v-model="activeName" @tab-click="handleClick" class="from-clues-header"> 17 <el-tabs v-model="activeName" @tab-click="handleClick" class="from-clues-header">
18 <el-tab-pane label="基本信息" name="1"></el-tab-pane> 18 <el-tab-pane label="基本信息" name="1"></el-tab-pane>
19 <el-tab-pane label="银行机构" name="2"></el-tab-pane> 19 <el-tab-pane label="企业信息" name="2"></el-tab-pane>
20 <el-tab-pane label="企业信息" name="3"></el-tab-pane> 20 <el-tab-pane label="银行机构" name="3"></el-tab-pane>
21 </el-tabs> 21 </el-tabs>
22 22
23 <el-form 23 <el-form
...@@ -254,105 +254,93 @@ ...@@ -254,105 +254,93 @@
254 </el-row> 254 </el-row>
255 </el-form> 255 </el-form>
256 <div v-if="activeName==2" class="padding10"> 256 <div v-if="activeName==2" class="padding10">
257 <el-form :model="queryForm" label-width="80px"> 257 <el-form :model="queryFormQY" label-width="80px">
258 <el-row> 258 <el-row>
259 <el-col :span="8"> 259 <el-col :span="8">
260 <el-form-item label="证件号"> 260 <el-form-item label="姓名/名称">
261 <el-input placeholder="证件号" maxlength="28" v-model="queryForm.zjh" clearable class="width100"> 261 <el-input placeholder="姓名/名称" v-model="queryFormQY.qymc" clearable class="width100">
262 </el-input> 262 </el-input>
263 </el-form-item> 263 </el-form-item>
264 </el-col> 264 </el-col>
265 <el-col :span="8"> 265 <el-col :span="8">
266 <el-form-item label="姓名/名称"> 266 <el-form-item label="证件号">
267 <el-input placeholder="" v-model.trim="queryForm.sqrmc" clearable class="width100"> 267 <el-input placeholder="证件号" v-model="queryFormQY.zjh" clearable class="width100">
268 </el-input> 268 </el-input>
269 </el-form-item> 269 </el-form-item>
270 </el-col> 270 </el-col>
271 <el-col :span="8" class="btnColRight"> 271 <el-col :span="8" class="btnColRight">
272 <el-form-item> 272 <el-form-item>
273 <el-button type="primary" @click="handleSearch">查询</el-button> 273 <el-button type="primary" @click="handleSearchQY">查询</el-button>
274 </el-form-item> 274 </el-form-item>
275 </el-col> 275 </el-col>
276 </el-row> 276 </el-row>
277 </el-form> 277 </el-form>
278 <el-table :data="tableDataYh.data" border v-Loading="loading" :height="426.8"> 278 <el-table :data="tableDataQy.data" border v-Loading="loading" :height="426.8">
279 <el-table-column v-for="item in tableDataYh.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center"> 279 <el-table-column label="序号" type="index" width="50" align="center">
280 </el-table-column>
281 <el-table-column label="证件种类">
282 <template slot-scope="scope"> 280 <template slot-scope="scope">
283 <el-select v-model="scope.row.zjh" placeholder="请选择"> 281 {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}}
284 <el-option
285 v-for="item in dictData['A30']"
286 :key="item.dcode"
287 :label="item.dname"
288 :value="item.dcode">
289 </el-option>
290 </el-select>
291 </template> 282 </template>
292 </el-table-column> 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>
293 <el-table-column label="操作" width="50"> 286 <el-table-column label="操作" width="50">
294 <template slot-scope="scope"> 287 <template slot-scope="scope">
295 <el-button type="text" @click="handlesYhSelect(scope.row)">使用</el-button> 288 <el-button type="text" @click="handlesQYSelect(scope.row)">使用</el-button>
296 </template> 289 </template>
297 </el-table-column> 290 </el-table-column>
298 </el-table> 291 </el-table>
299 <el-pagination background layout="prev, pager, next,total" :total="tableDataYh.total" 292 <el-pagination background layout="prev, pager, next,total" :total="tableDataQy.total"
300 @current-change="handleCurrentChange"></el-pagination> 293 @current-change="handleQYCurrentChange"></el-pagination>
301 294
302 </div> 295 </div>
303 296
304 <div v-if="activeName==3" class="padding10"> 297 <div v-if="activeName==3" class="padding10">
305 <el-form :model="queryForm" label-width="80px"> 298 <el-form :model="queryFormYH" label-width="80px">
306 <el-row> 299 <el-row>
307 <el-col :span="8"> 300 <el-col :span="8">
308 <el-form-item label="证件号"> 301 <el-form-item label="姓名/名称">
309 <el-input placeholder="证件号" maxlength="28" v-model="queryForm.zjh" clearable class="width100"> 302 <el-input placeholder="姓名/名称" v-model="queryFormYH.qymc" clearable class="width100">
310 </el-input> 303 </el-input>
311 </el-form-item> 304 </el-form-item>
312 </el-col> 305 </el-col>
313 <el-col :span="8"> 306 <el-col :span="8">
314 <el-form-item label="姓名/名称"> 307 <el-form-item label="证件号">
315 <el-input placeholder="" v-model.trim="queryForm.sqrmc" clearable class="width100"> 308 <el-input placeholder="证件号" v-model="queryFormYH.zjh" clearable class="width100">
316 </el-input> 309 </el-input>
317 </el-form-item> 310 </el-form-item>
318 </el-col> 311 </el-col>
319 <el-col :span="8" class="btnColRight"> 312 <el-col :span="8" class="btnColRight">
320 <el-form-item> 313 <el-form-item>
321 <el-button type="primary" @click="handleSearch">查询</el-button> 314 <el-button type="primary" @click="handleSearchYH">查询</el-button>
322 </el-form-item> 315 </el-form-item>
323 </el-col> 316 </el-col>
324 </el-row> 317 </el-row>
325 </el-form> 318 </el-form>
326 <el-table :data="tableDataQy.data" border v-Loading="loading" :height="426.8"> 319 <el-table :data="tableDataYh.data" border v-Loading="loading" :height="426.8">
327 <el-table-column v-for="item in tableDataQy.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center"> 320 <el-table-column label="序号" type="index" width="50" align="center">
328 </el-table-column>
329 <el-table-column label="证件种类">
330 <template slot-scope="scope"> 321 <template slot-scope="scope">
331 <el-select v-model="scope.row.zjh" placeholder="请选择"> 322 {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}}
332 <el-option
333 v-for="item in dictData['A30']"
334 :key="item.dcode"
335 :label="item.dname"
336 :value="item.dcode">
337 </el-option>
338 </el-select>
339 </template> 323 </template>
340 </el-table-column> 324 </el-table-column>
325 <el-table-column v-for="item in tableDataYh.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center">
326 </el-table-column>
341 <el-table-column label="操作" width="50"> 327 <el-table-column label="操作" width="50">
342 <template slot-scope="scope"> 328 <template slot-scope="scope">
343 <el-button type="text" @click="handlesYhSelect(scope.row)">使用</el-button> 329 <el-button type="text" @click="handlesYHSelect(scope.row)">使用</el-button>
344 </template> 330 </template>
345 </el-table-column> 331 </el-table-column>
346 </el-table> 332 </el-table>
347 <el-pagination background layout="prev, pager, next,total" :total="tableDataQy.total" 333 <el-pagination background layout="prev, pager, next,total" :total="tableDataYh.total"
348 @current-change="handleCurrentChange"></el-pagination> 334 @current-change="handleYHCurrentChange"></el-pagination>
349 </div> 335 </div>
350 336
351 </dialogBox> 337 </dialogBox>
352 </template> 338 </template>
353 <script> 339 <script>
354 import { mapGetters } from "vuex"; 340 import { mapGetters } from "vuex";
341 import store from '@/store/index.js'
355 import { getIdCardInfo } from '@/utils/operation.js' 342 import { getIdCardInfo } from '@/utils/operation.js'
343 import { queryQyByPage, queryYhByPage } from "@/api/xxba.js";
356 import { dataYh, dataQy, sendThis } from "../../javascript/addQlrData"; 344 import { dataYh, dataQy, sendThis } from "../../javascript/addQlrData";
357 export default { 345 export default {
358 props: { 346 props: {
...@@ -398,28 +386,32 @@ ...@@ -398,28 +386,32 @@
398 zjzl: [{ required: true, message: "证件种类", trigger: "change" }], 386 zjzl: [{ required: true, message: "证件种类", trigger: "change" }],
399 zjh: [{ required: true, message: "证件号", trigger: "blur" }], 387 zjh: [{ required: true, message: "证件号", trigger: "blur" }],
400 }, 388 },
401 tableDataYh: { 389
402 total: 0, 390 pageData: {
403 columns: dataYh.columns(), 391 currentPage: 1,
404 data: [ 392 pageSize: 8
405 {
406 sqrmc: '李怡然',
407 zjh: '99999999999',
408 frmc: '李怡然同学',
409 txdz: '山东日照',
410 dh: '18802933269'
411 }
412 ],
413 }, 393 },
414 queryForm: { 394 // 企业
415 zjh: "", 395 queryFormQY: {
416 sqrmc: "" 396 qymc: "",
397 zjh: ""
417 }, 398 },
418 tableDataQy: { 399 tableDataQy: {
419 total: 0, 400 total: 0,
420 columns: dataQy.columns(), 401 columns: dataQy.columns(),
421 data: [], 402 data: [],
422 }, 403 },
404 // 银行
405 queryFormYH: {
406 qymc: "",
407 zjh: ""
408 },
409 tableDataYh: {
410 total: 0,
411 columns: dataYh.columns(),
412 data: [
413 ],
414 },
423 } 415 }
424 }, 416 },
425 mounted () { 417 mounted () {
...@@ -450,28 +442,75 @@ ...@@ -450,28 +442,75 @@
450 } else { 442 } else {
451 this.isShow = true 443 this.isShow = true
452 } 444 }
445 this.pageData.currentPage = 1
446 if (this.activeName == 2) {
447 this.handleSearchQY()
448 } else {
449 this.handleSearchYH()
450 }
453 }, 451 },
454 /** 452 /**
455 * @description: 身份证打卡器 453 * @description:企业查询
456 * @param {*} row
457 * @author: renchao 454 * @author: renchao
458 */ 455 */
459 handlesYhSelect (row) { 456 dicStatus (val, code) {
460 this.$emit("updateDetail", _.cloneDeep(row)); 457 let data = store.getters.dictData[code],
458 name = '暂无'
459 if (data) {
460 data.map((item) => {
461 if (item.dcode == val) {
462 name = item.dname
463 }
464 })
465 return name
466 }
467 },
468 handleSearchQY () {
469 let data = { ...this.queryFormQY, ...this.pageData }
470 this.tableDataQy.data = []
471 queryQyByPage(data).then((res) => {
472 if (res.code === 200) {
473 let { total, records } = res.result;
474 this.tableDataQy.total = total;
475 this.tableDataQy.data = records;
476 this.tableDataQy.data.forEach(item => {
477 item.zjzlMc = this.dicStatus(item.zjzl, 'A30')
478 item.sqrmc = item.qymc
479 })
480 }
481 })
482 },
483 handleQYCurrentChange (val) {
484 this.pageData.currentPage = val
485 this.handleSearchQY()
486 },
487 handlesQYSelect (val) {
488 this.$emit("updateDetail", _.cloneDeep(val));
461 this.$emit("input", false); 489 this.$emit("input", false);
462 }, 490 },
463 /** 491 // 银行
464 * @description: handleSearch 492 handleSearchYH () {
465 * @author: renchao 493 let data = { ...this.queryFormYH, ...this.pageData }
466 */ 494 this.tableDataYh.data = []
467 handleSearch () { }, 495 queryYhByPage(data).then((res) => {
468 /** 496 if (res.code === 200) {
469 * @description: handleCurrentChange 497 let { total, records } = res.result;
470 * @param {*} val 498 this.tableDataYh.total = total;
471 * @author: renchao 499 this.tableDataYh.data = records;
472 */ 500 this.tableDataYh.data.forEach(item => {
473 handleCurrentChange (val) { 501 item.zjzlMc = this.dicStatus(item.zjzl, 'A30')
474 console.log(val); 502 item.sqrmc = item.qymc
503 })
504 }
505 })
506 },
507 handleYHCurrentChange (val) {
508 this.pageData.currentPage = val
509 this.handleSearchQY()
510 },
511 handlesYHSelect (val) {
512 this.$emit("updateDetail", _.cloneDeep(val));
513 this.$emit("input", false);
475 }, 514 },
476 /** 515 /**
477 * @description: 身份证打卡器 516 * @description: 身份证打卡器
......
...@@ -195,6 +195,10 @@ ...@@ -195,6 +195,10 @@
195 } 195 }
196 }, 196 },
197 methods: { 197 methods: {
198 /**
199 * @description: handleSubmit
200 * @author: renchao
201 */
198 handleSubmit () { 202 handleSubmit () {
199 this.loading = true 203 this.loading = true
200 updateClml(this.tableData).then(res => { 204 updateClml(this.tableData).then(res => {
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-01 10:53:12 4 * @LastEditTime: 2023-09-11 15:32:32
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -19,7 +19,10 @@ class data1 extends filter { ...@@ -19,7 +19,10 @@ class data1 extends filter {
19 prop: "sqrmc", 19 prop: "sqrmc",
20 label: "姓名/名称", 20 label: "姓名/名称",
21 }, 21 },
22 22 {
23 prop: "zjzlMc",
24 label: "证件种类"
25 },
23 { 26 {
24 prop: "zjh", 27 prop: "zjh",
25 label: "证件号", 28 label: "证件号",
...@@ -29,7 +32,7 @@ class data1 extends filter { ...@@ -29,7 +32,7 @@ class data1 extends filter {
29 label: "法人名称", 32 label: "法人名称",
30 }, 33 },
31 { 34 {
32 prop: "txdz", 35 prop: "dwdz",
33 label: "地址", 36 label: "地址",
34 }, 37 },
35 { 38 {
...@@ -43,8 +46,8 @@ class data1 extends filter { ...@@ -43,8 +46,8 @@ class data1 extends filter {
43 class data2 extends filter { 46 class data2 extends filter {
44 constructor() { 47 constructor() {
45 super() 48 super()
46 }
47 49
50 }
48 columns () { 51 columns () {
49 return [ 52 return [
50 { 53 {
...@@ -52,6 +55,10 @@ class data2 extends filter { ...@@ -52,6 +55,10 @@ class data2 extends filter {
52 label: "姓名/名称", 55 label: "姓名/名称",
53 }, 56 },
54 { 57 {
58 prop: "zjzlMc",
59 label: "证件种类",
60 },
61 {
55 prop: "zjh", 62 prop: "zjh",
56 label: "证件号", 63 label: "证件号",
57 }, 64 },
...@@ -60,7 +67,7 @@ class data2 extends filter { ...@@ -60,7 +67,7 @@ class data2 extends filter {
60 label: "法人名称", 67 label: "法人名称",
61 }, 68 },
62 { 69 {
63 prop: "txdz", 70 prop: "dwdz",
64 label: "地址", 71 label: "地址",
65 }, 72 },
66 { 73 {
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
20 </el-row> 20 </el-row>
21 <el-row> 21 <el-row>
22 <el-col :span="12"> 22 <el-col :span="12">
23 <el-form-item label="证件种类" prop="zjzl"> 23 <el-form-item label="证件种类:" prop="zjzl">
24 <el-select 24 <el-select
25 clearable 25 clearable
26 v-model="ruleForm.zjzl" 26 v-model="ruleForm.zjzl"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
37 </el-col> 37 </el-col>
38 <el-col :span="12"> 38 <el-col :span="12">
39 <el-form-item label="证件号:" prop="zjh"> 39 <el-form-item label="证件号:" prop="zjh">
40 <el-input v-model="ruleForm.zjh"></el-input> 40 <el-input v-model="ruleForm.zjh" maxlength="18"></el-input>
41 </el-form-item> 41 </el-form-item>
42 </el-col> 42 </el-col>
43 </el-row> 43 </el-row>
...@@ -50,13 +50,13 @@ ...@@ -50,13 +50,13 @@
50 </el-col> 50 </el-col>
51 <el-col :span="12"> 51 <el-col :span="12">
52 <el-form-item label="法人电话:" prop="frdh"> 52 <el-form-item label="法人电话:" prop="frdh">
53 <el-input v-model="ruleForm.frdh"></el-input> 53 <el-input v-model="ruleForm.frdh" maxlength="11"></el-input>
54 </el-form-item> 54 </el-form-item>
55 </el-col> 55 </el-col>
56 </el-row> 56 </el-row>
57 <el-row> 57 <el-row>
58 <el-col :span="12"> 58 <el-col :span="12">
59 <el-form-item label="单位地址:"> 59 <el-form-item label="单位地址:" prop="dwdz">
60 <el-input v-model="ruleForm.dwdz"></el-input> 60 <el-input v-model="ruleForm.dwdz"></el-input>
61 </el-form-item> 61 </el-form-item>
62 </el-col> 62 </el-col>
...@@ -77,8 +77,29 @@ ...@@ -77,8 +77,29 @@
77 </template> 77 </template>
78 78
79 <script> 79 <script>
80 const checkPhone = (rule, value, callback) => {
81 let regPone = null
82 let mobile = /^(1[3456789]\d{9})$/ //手机号
83 let tel = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ // 座机
84 if (value && value[0] === '0') {// 检查 value 是否存在并且不是 null 或者 undefined
85 regPone = tel
86 } else if (value && value[0] !== '0') {
87 regPone = mobile
88 }
89 if (regPone === null) {
90 return callback(
91 new Error('请输入电话')
92 )
93 } else if (!regPone.test(value)) {
94 return callback(
95 new Error("请输入正确的电话格式,其中座机格式'区号-座机号码'")
96 )
97 } else {
98 callback()
99 }
100 };
80 import store from '@/store/index.js' 101 import store from '@/store/index.js'
81 import { addQy } from "@/api/xxba.js" 102 import { addQy, update } from "@/api/xxba.js"
82 import clxx from './clxx/index.vue' 103 import clxx from './clxx/index.vue'
83 export default { 104 export default {
84 props: { 105 props: {
...@@ -100,7 +121,6 @@ ...@@ -100,7 +121,6 @@
100 ruleForm: { 121 ruleForm: {
101 batchno: '', 122 batchno: '',
102 djjg: '', 123 djjg: '',
103 operator: '超级管理员',
104 operationtime: '', 124 operationtime: '',
105 bz: '', 125 bz: '',
106 zsstarno: '', 126 zsstarno: '',
...@@ -127,32 +147,41 @@ ...@@ -127,32 +147,41 @@
127 zslx: 2 147 zslx: 2
128 } 148 }
129 ], 149 ],
130 //证书入库业务号参数
131 ywhQueryForm: {
132 serialtype: 'zsrkbh',
133 serialname: '证书入库编号',
134 serialcode: 'zsrk',
135 digit: '5'
136 },
137 rules: { 150 rules: {
138 batchNo: [ 151 qymc: [
139 { required: true, message: '入库编号不能为空', trigger: 'blur' } 152 { required: true, message: '企业名称不能为空', trigger: 'blur' }
140 ], 153 ],
141 djjg: [ 154 dh: [
142 { required: true, message: '请选择登记机构', trigger: 'change' } 155 { required: true, validator: checkPhone, trigger: ["blur"] },
143 ], 156 ],
144 rksj: [ 157 zjzl: [
145 { required: true, message: '请选择入库时间', trigger: 'change' } 158 { required: true, message: '请选择证件种类', trigger: 'change' }
146 ], 159 ],
147 }, 160 zjh: [
161 { required: true, message: '请输入证件号', trigger: 'blur' }
162 ],
163 frmc: [
164 { required: true, message: '请输入法人名称', trigger: 'blur' }
165 ],
166 frdh: [
167 { required: true, validator: checkPhone, trigger: ["blur"] },
168 ],
169 dwdz: [
170 { required: true, message: '请输入单位地址', trigger: 'blur' }
171 ]
172 }
148 } 173 }
149 }, 174 },
150 mounted () { 175 mounted () {
151 if (this.formData.bsmBatch) { 176 if (this.formData.bsmBatch) {
152 this.tableForm[0].bs = null; 177 this.tableForm[0].bs = null;
153 this.tableForm[1].bs = null; 178 this.tableForm[1].bs = null;
154 this.getDetailInfo(this.formData.bsmBatch); 179 this.getDetailInfo(this.formData.bsmBatch)
155 } else { } 180 }
181 let list = Object.keys(this.formData).length
182 if (list > 0) {
183 this.ruleForm = this.formData
184 }
156 }, 185 },
157 methods: { 186 methods: {
158 handleClick () { }, 187 handleClick () { },
...@@ -161,24 +190,50 @@ ...@@ -161,24 +190,50 @@
161 * @author: renchao 190 * @author: renchao
162 */ 191 */
163 submitForm () { 192 submitForm () {
193 let that = this
164 this.tableForm.forEach((item, index) => { 194 this.tableForm.forEach((item, index) => {
165 if (item.bs < 0) { 195 if (item.bs < 0) {
166 return; 196 return;
167 } 197 }
168 }) 198 })
169 addQy(this.ruleForm).then(res => { 199 if (this.formData.isAdd != 1) {
170 if (res.code == 200) { 200 store.dispatch('user/reWorkFresh', false)
171 this.$message.success('保存成功') 201 update(this.ruleForm).then(res => {
172 this.$emit("input", false); 202 if (res.code == 200) {
173 this.$refs['ruleForm'].resetFields(); 203 this.$message.success('保存成功')
174 this.resetTableFields(); 204 this.$emit("input", false);
175 this.closeDialog(); 205 this.$refs['ruleForm'].resetFields();
176 //刷新列表 206 this.resetTableFields();
177 store.dispatch('user/reWorkFresh', true) 207 this.closeDialog();
178 } else { 208 //刷新列表
179 this.$message.error(res.message); 209 store.dispatch('user/reWorkFresh', true)
180 } 210 } else {
181 }) 211 this.$message.error(res.message);
212 }
213 })
214 } else {
215 that.$refs['ruleForm'].validate((valid) => {
216 if (valid) {
217 store.dispatch('user/reWorkFresh', false)
218 addQy(this.ruleForm).then(res => {
219 if (res.code == 200) {
220 that.$message.success('保存成功')
221 that.$emit("input", false);
222 that.$refs['ruleForm'].resetFields();
223 that.resetTableFields();
224 that.closeDialog();
225 //刷新列表
226 store.dispatch('user/reWorkFresh', true)
227 } else {
228 that.$message.error(res.message);
229 }
230 })
231 } else {
232 this.$message.error('请完善表单');
233 return false;
234 }
235 })
236 }
182 }, 237 },
183 /** 238 /**
184 * @description: 获取详情信息 239 * @description: 获取详情信息
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 16:13:07 4 * @LastEditTime: 2023-09-11 13:35:33
5 --> 5 -->
6 <template> 6 <template>
7 <div class="clmlmx-box"> 7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" :heightNumSetting="true" :calcHeight="600" :pagination="false" :data="tableData"> 8 <lb-table :column="column" :key="key" :heightNumSetting="true" :calcHeight="600" :pagination="false" :data="tableData">
9 </lb-table> 9 </lb-table>
10 <div class="text-center"> 10 <div class="text-center">
11 <el-button @click="$popupCacel">取消</el-button> 11 <el-button @click="handleCancel">取消</el-button>
12 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button> 12 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button>
13 </div> 13 </div>
14 </div> 14 </div>
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
16 <script> 16 <script>
17 import Vue from 'vue' 17 import Vue from 'vue'
18 import store from '@/store/index.js' 18 import store from '@/store/index.js'
19 import { ywPopupCacel } from "@/utils/popup.js";
19 import { InitClml, updateClml, deleteSjClml, moveClml } from "@/api/clxx.js"; 20 import { InitClml, updateClml, deleteSjClml, moveClml } from "@/api/clxx.js";
20 export default { 21 export default {
21 props: { 22 props: {
...@@ -123,10 +124,10 @@ ...@@ -123,10 +124,10 @@
123 label: "扫描页数", 124 label: "扫描页数",
124 width: "80", 125 width: "80",
125 render: (h, scope) => { 126 render: (h, scope) => {
126 if (scope.row.children && scope.row.children.length > 0) { 127 if (scope.row.count && scope.row.count > 0) {
127 return ( 128 return (
128 <div> 129 <div>
129 <span>{scope.row.children.length}</span> 130 <span>{scope.row.count}</span>
130 </div> 131 </div>
131 ); 132 );
132 } else { 133 } else {
...@@ -184,6 +185,9 @@ ...@@ -184,6 +185,9 @@
184 } 185 }
185 }, 186 },
186 methods: { 187 methods: {
188 handleCancel () {
189 ywPopupCacel()
190 },
187 handleSubmit () { 191 handleSubmit () {
188 this.loading = true 192 this.loading = true
189 updateClml(this.tableData).then(res => { 193 updateClml(this.tableData).then(res => {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 14:49:24 4 * @LastEditTime: 2023-09-11 14:01:06
5 --> 5 -->
6 <template> 6 <template>
7 <div class="rlPopup"> 7 <div class="rlPopup">
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 <div class="img-list-wrap"> 14 <div class="img-list-wrap">
15 <img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪"> 15 <img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪">
16 <div v-for="(img, i) in previewImg.imgList" :key="i" v-else> 16 <div v-for="(img, i) in previewImg.imgList" :key="i" v-else>
17 <photo-zoom :url="img.fjurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2" 17 <photo-zoom :url="img.fileurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
18 overlayStyle="width: 100%;height:100%"> 18 overlayStyle="width: 100%;height:100%">
19 </photo-zoom> 19 </photo-zoom>
20 </div> 20 </div>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
53 <script> 53 <script>
54 import PhotoZoom from '@/components/PhotoZoom' 54 import PhotoZoom from '@/components/PhotoZoom'
55 import { getAltimeterInfo, getUuid } from '@/utils/operation.js' 55 import { getAltimeterInfo, getUuid } from '@/utils/operation.js'
56 import { uploadBatch, deleteClmx } from "@/api/company.js" 56 import { uploadBatch, deleteFile } from "@/api/company.js"
57 import publicPicture from '@/components/publicPicture/index.vue' 57 import publicPicture from '@/components/publicPicture/index.vue'
58 export default { 58 export default {
59 name: 'PreviewImage', 59 name: 'PreviewImage',
...@@ -93,11 +93,8 @@ ...@@ -93,11 +93,8 @@
93 previewImg: { 93 previewImg: {
94 handler (newValue, oldValue) { 94 handler (newValue, oldValue) {
95 if (newValue.imgList && newValue.imgList.length > 0) { 95 if (newValue.imgList && newValue.imgList.length > 0) {
96 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fjurl) 96 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fileurl)
97 this.thumbnailImages = newValue.imgList 97 this.thumbnailImages = newValue.imgList
98 this.thumbnailImages.forEach(item => {
99 item.fjurl = item.fileurl
100 })
101 } else { 98 } else {
102 this.allLi = [] 99 this.allLi = []
103 this.thumbnailImages = [] 100 this.thumbnailImages = []
...@@ -111,9 +108,6 @@ ...@@ -111,9 +108,6 @@
111 this.maxLength = 0; 108 this.maxLength = 0;
112 this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl) 109 this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl)
113 this.thumbnailImages = this.previewImg.imgList 110 this.thumbnailImages = this.previewImg.imgList
114 this.thumbnailImages.forEach(item => {
115 item.fjurl = item.fileurl
116 })
117 }, 111 },
118 computed: { 112 computed: {
119 isFirst () { 113 isFirst () {
...@@ -275,9 +269,12 @@ ...@@ -275,9 +269,12 @@
275 return; 269 return;
276 } 270 }
277 formData.append("bsmMaterial", this.previewImg.bsmMaterial); 271 formData.append("bsmMaterial", this.previewImg.bsmMaterial);
272 if (this.previewImg.imgList.length > 0) {
273 formData.append("index", this.previewImg.index + 1);
274 }
278 uploadBatch(formData).then((res) => { 275 uploadBatch(formData).then((res) => {
279 if (res.code == 200) { 276 if (res.code == 200) {
280 this.$emit('updateList', res.result) 277 this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial })
281 this.$message({ 278 this.$message({
282 message: '上传成功!', 279 message: '上传成功!',
283 type: 'success' 280 type: 'success'
...@@ -299,10 +296,10 @@ ...@@ -299,10 +296,10 @@
299 cancelButtonText: '取消', 296 cancelButtonText: '取消',
300 type: 'warning' 297 type: 'warning'
301 }).then(async () => { 298 }).then(async () => {
302 let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx 299 let bsmFile = this.previewImg.imgList[this.previewImg.index].bsmFile
303 let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial 300 let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial
304 this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmClmx != bsmClmx) 301 this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmFile != bsmFile)
305 deleteClmx(bsmClmx).then(res => { 302 deleteFile(bsmFile).then(res => {
306 if (res.code == 200) { 303 if (res.code == 200) {
307 that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial }) 304 that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial })
308 that.$message({ 305 that.$message({
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 15:02:18 4 * @LastEditTime: 2023-09-11 13:52:42
5 --> 5 -->
6 <template> 6 <template>
7 <div class="clxx"> 7 <div class="clxx">
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
33 :class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']" 33 :class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']"
34 @click="treeClick(item, index)"> 34 @click="treeClick(item, index)">
35 {{ item.clmc }} 35 {{ item.clmc }}
36 <span class="cl_number" :key="key">({{ item.sxh }})</span> 36 <span class="cl_number" :key="key" v-if="item.count">({{ item.count }})</span>
37 <span class="cl_number" :key="key" v-else>(0)</span>
37 </div> 38 </div>
38 </div> 39 </div>
39 </div> 40 </div>
...@@ -57,6 +58,7 @@ ...@@ -57,6 +58,7 @@
57 </template> 58 </template>
58 <script> 59 <script>
59 import store from '@/store/index.js' 60 import store from '@/store/index.js'
61 import { ywPopupDialog, ywPopupCacel } from "@/utils/popup.js";
60 import clxxAddDialog from "./dialog/clxxAddDialog.vue"; 62 import clxxAddDialog from "./dialog/clxxAddDialog.vue";
61 import clxxDetailDialog from "./dialog/clxxDetailDialog.vue"; 63 import clxxDetailDialog from "./dialog/clxxDetailDialog.vue";
62 import imagePreview from "./dialog/imagePreview.vue"; 64 import imagePreview from "./dialog/imagePreview.vue";
...@@ -84,9 +86,9 @@ ...@@ -84,9 +86,9 @@
84 bsmMaterial: "", 86 bsmMaterial: "",
85 index: 0, 87 index: 0,
86 selectedIndex: 0, 88 selectedIndex: 0,
87 imgList: [], 89 imgList: []
88 }, 90 }
89 }; 91 }
90 }, 92 },
91 created () { 93 created () {
92 this.clmlInitList(); 94 this.clmlInitList();
...@@ -181,7 +183,7 @@ ...@@ -181,7 +183,7 @@
181 this.title = item.sjmc; 183 this.title = item.sjmc;
182 this.titleYs = 1; 184 this.titleYs = 1;
183 this.titleNum = item.children.length; 185 this.titleNum = item.children.length;
184 // this.previewImg.imgList = item.children; 186 this.previewImg.imgList = item.children;
185 this.previewImg.bsmMaterial = item.bsmMaterial; 187 this.previewImg.bsmMaterial = item.bsmMaterial;
186 }, 188 },
187 /** 189 /**
...@@ -191,14 +193,14 @@ ...@@ -191,14 +193,14 @@
191 */ 193 */
192 updateList (val) { 194 updateList (val) {
193 let that = this; 195 let that = this;
194 if (val.length != 0) { 196 if (val.children.length != 0) {
195 //删除最后一张图片时 val=null 197 //删除最后一张图片时 val=null
196 this.tableData.forEach((item) => { 198 this.tableData.forEach((item) => {
197 if (item.bsmMaterial === val.bsmMaterial) { 199 if (item.bsmMaterial == val.bsmMaterial) {
198 item.ys = val.length 200 item.count = val.children.length
199 } 201 }
200 }); 202 });
201 this.previewImg.imgList = _.cloneDeep(val); 203 this.previewImg.imgList = _.cloneDeep(val.children);
202 if (this.previewImg.index == this.previewImg.imgList.length) { 204 if (this.previewImg.index == this.previewImg.imgList.length) {
203 this.previewImg.index = this.previewImg.index - 1; 205 this.previewImg.index = this.previewImg.index - 1;
204 } 206 }
...@@ -207,7 +209,7 @@ ...@@ -207,7 +209,7 @@
207 this.previewImg.imgList = []; 209 this.previewImg.imgList = [];
208 this.tableData.forEach((item, index) => { 210 this.tableData.forEach((item, index) => {
209 if (this.treeCheckId == item.bsmMaterial) { 211 if (this.treeCheckId == item.bsmMaterial) {
210 item.ys = 0; 212 item.count = 0;
211 that.treeCheckIndex = index; 213 that.treeCheckIndex = index;
212 } 214 }
213 }) 215 })
...@@ -270,15 +272,9 @@ ...@@ -270,15 +272,9 @@
270 //查看明细 272 //查看明细
271 viewDetail () { 273 viewDetail () {
272 store.dispatch("user/reWorkFresh", false); 274 store.dispatch("user/reWorkFresh", false);
273 this.$popupDialog( 275 ywPopupDialog("申请材料目录", "xxba/components/clxx/dialog/clxxDetailDialog", {
274 "申请材料目录", 276 data: this.tableData,
275 "workflow/components/dialog/clxxDetailDialog", 277 }, "60%", true, false)
276 {
277 data: this.tableData,
278 },
279 "60%",
280 true
281 );
282 }, 278 },
283 //设置tableData 279 //设置tableData
284 setTableData (tableData) { 280 setTableData (tableData) {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 09:30:08 4 * @LastEditTime: 2023-09-11 11:23:49
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
......
...@@ -330,6 +330,10 @@ ...@@ -330,6 +330,10 @@
330 }; 330 };
331 }, 331 },
332 methods: { 332 methods: {
333 /**
334 * @description: updateFdcwxmList
335 * @author: renchao
336 */
333 updateFdcwxmList (val) { 337 updateFdcwxmList (val) {
334 this.ruleForm.fdcqxm && (this.ruleForm.fdcqxm = _.cloneDeep(val)); 338 this.ruleForm.fdcqxm && (this.ruleForm.fdcqxm = _.cloneDeep(val));
335 this.key++; 339 this.key++;
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-11 09:54:24 4 * @LastEditTime: 2023-09-11 09:55:52
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -134,9 +134,15 @@ ...@@ -134,9 +134,15 @@
134 </el-table-column> 134 </el-table-column>
135 135
136 <el-table-column 136 <el-table-column
137 property="fwjgmc" 137 width="100"
138 label="房屋结构"> 138 label="房屋结构">
139 <template slot-scope="scope">
140 <el-tooltip effect="dark" :content="scope.row.fwjgmc" placement="top" popper-class="tooltip-width">
141 <span class="ellipsis-table"> {{scope.row.fwjgmc}}</span>
142 </el-tooltip>
143 </template>
139 </el-table-column> 144 </el-table-column>
145
140 <el-table-column 146 <el-table-column
141 property="jzmj" 147 property="jzmj"
142 label="房屋面积(㎡)"> 148 label="房屋面积(㎡)">
......