1ccc8fd6 by 蔡俊立

缮证、发证页面

1 parent abe24335
...@@ -138,3 +138,27 @@ export function readYsxlh (params) { ...@@ -138,3 +138,27 @@ export function readYsxlh (params) {
138 params: params 138 params: params
139 }) 139 })
140 } 140 }
141 // 缮证
142 export function certificate (data) {
143 return request({
144 url: '/business/workFlow/certificate',
145 method: 'post',
146 data
147 })
148 }
149 // 作废缮证信息
150 export function invalidCertificate (data) {
151 return request({
152 url: '/business/workFlow/invalidCertificate',
153 method: 'post',
154 data
155 })
156 }
157 // 缮证列表
158 export function getCertificateList (data) {
159 return request({
160 url: '/business/workFlow/getCertificateList',
161 method: 'post',
162 data
163 })
164 }
......
1 <template>
2 <div class="from-clues">
3 <!-- 表单部分 -->
4 <div class="from-clues-header">
5 <el-form :model="ruleForm">
6 <el-row :gutter="20">
7 <el-col :span="6">
8 <el-form-item label="印刷序列号">
9 <el-input v-model="ruleForm.ysxlh" placeholder="请输入印刷序列号"></el-input>
10 </el-form-item>
11 </el-col>
12 <el-col :span="6">
13 <el-form-item label="证书号">
14 <el-input v-model="ruleForm.zsh" placeholder="请输入证书号"></el-input>
15 </el-form-item>
16 </el-col>
17 <el-col :span="6">
18 <el-form-item label="权利人">
19 <el-input v-model="ruleForm.qlr" placeholder="请输入权利人"></el-input>
20 </el-form-item>
21 </el-col>
22 <el-col :span="6" class="btnCol">
23 <el-form-item>
24 <el-button type="primary" icon="el-icon-search">查询</el-button>
25 </el-form-item>
26 </el-col>
27 </el-row>
28 </el-form>
29 </div>
30 <div class="from-clues-content">
31 <lb-table :page-size="pageData.size" border :current-page.sync="pageData.currentPage" :total="tableData.total"
32 @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
33 :data="tableData.data">
34 </lb-table>
35 </div>
36 </div>
37 </template>
38 <script>
39 import table from "@/utils/mixin/table";
40 import { getCertificateList } from "@/api/fqsq.js";
41 import { datas } from "./fzxxdata";
42 export default {
43 mixins: [table],
44 components: { },
45 props: {
46
47 },
48
49 data() {
50 return {
51 ruleForm: {
52 ysxlh: '',
53 zsh: '',
54 qlr: '',
55 bsmSldy: '',
56 },
57 tableData: {
58 total: 0,
59 columns: datas.columns(),
60 data: [],
61 },
62 };
63 },
64 async created() {
65 },
66 methods: {
67 // 列表渲染接口
68 fetchData () {
69 this.ruleForm.bsmSldy = this.$parent._data.unitData[0].bsmSldy
70 getCertificateList(this.ruleForm).then(res => {
71 if (res.code === 200) {
72 let { total, records } = res.result
73 this.tableData.total = total;
74 this.tableData.data = records ? records : []
75
76 }
77 })
78 },
79 }
80 };
81 </script>
82 <style scoped lang='scss'>
83 @import "~@/styles/public.scss";
84
85 </style>
...\ No newline at end of file ...\ No newline at end of file
1 import filter from '@/utils/filter.js'
2 let vm = null
3
4 const sendThis = (_this) => {
5 vm = _this
6 }
7 class data extends filter {
8 constructor() {
9 super()
10 }
11 columns () {
12 return [
13 {
14 label: '序号',
15 type: 'index',
16 width: '50'
17 },
18 {
19 prop: "qllxmc",
20 label: "权利类型"
21 },
22 {
23 prop: "ysxlh",
24 label: "印刷序列号"
25 },
26 {
27 prop: "bdcqzh",
28 label: "不动产权证号"
29 },
30 {
31 prop: "qlrmc",
32 label: "权利人"
33 },
34 {
35 prop: "ywrmc",
36 label: "义务人"
37 },
38 {
39 prop: "mj",
40 label: "面积(㎡)"
41 },
42 {
43 prop: "zl",
44 label: "坐落"
45 },
46 {
47 prop: "lzrxm",
48 label: "领取人"
49 },
50 {
51 label: '操作',
52 width: '200',
53 align: 'center',
54 fixed: 'right',
55 render: (h, scope) => {
56 return <el-button type="text" icon="el-icon-delete" onClick={() => { vm.del(scope.row) }}>添加领取材料</el-button>
57 }
58 }
59 ]
60 }
61
62
63 }
64 let datas = new data()
65 export {
66 datas,
67 sendThis
68 }
...@@ -36,18 +36,35 @@ ...@@ -36,18 +36,35 @@
36 </div> 36 </div>
37 <div class="card_padding"> 37 <div class="card_padding">
38 <div class="top_line middle_margin"></div> 38 <div class="top_line middle_margin"></div>
39 <div class="text"> 39 <div class="text" v-if="item.bsmSz">
40 <el-button class="operation_button" type="text" @click="openZsylDialog(item)">证书预览</el-button> 40 <el-button class="operation_button" type="text" @click="openZsylDialog(item)">证书预览</el-button>
41 <el-button class="operation_button" type="text">证书打印(1)</el-button> 41 <el-button class="operation_button" type="text" @click="openInvalidDiglog(item)">再次打印(1)</el-button>
42 </div>
43 <div class="text" v-else>
44 <el-button class="operation_button" type="text" @click="openZsylDialog(item)">证书打印(0)</el-button>
42 </div> 45 </div>
43 </div> 46 </div>
44 </el-card> 47 </el-card>
48 <el-dialog title="证书打印" :visible.sync="invalidDiglog" width="30%" :modal-append-to-body='false' top='30vh'>
49 <div class="invalid-diglog">
50 <div class="invalid-title">
51 <i class="el-icon-question invalid-icon"></i>
52 <div class="invalid-body">您确定作废证书并再次打印?</div>
53 </div>
54 <div class="invalid-reson">作废原因:</div>
55 <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input>
56 <div class="dialog-footer">
57 <el-button @click="closeInvalidDiglog()">取 消</el-button>
58 <el-button type="primary" @click="confirmInvalid()">确 定</el-button>
59 </div>
60 </div>
61 </el-dialog>
45 <zsylDialog ref="zsylDialog" v-model="zsylFlag" :value='zsylFlag'/> 62 <zsylDialog ref="zsylDialog" v-model="zsylFlag" :value='zsylFlag'/>
46 </div> 63 </div>
47 </template> 64 </template>
48 <script> 65 <script>
49 import zsylDialog from "./zsyl"; 66 import zsylDialog from "./zsyl";
50 import { getBdcqzList } from "@/api/fqsq.js"; 67 import { getBdcqzList,invalidCertificate } from "@/api/fqsq.js";
51 68
52 export default { 69 export default {
53 components: { zsylDialog }, 70 components: { zsylDialog },
...@@ -60,29 +77,60 @@ export default { ...@@ -60,29 +77,60 @@ export default {
60 tableData: [], 77 tableData: [],
61 zsylFlag: false, 78 zsylFlag: false,
62 bdcqzlx: 1, 79 bdcqzlx: 1,
63 bdcqz: {} 80 bdcqz: {},
81 zfyy: '',
82 invalidDiglog: false,
83 bsmSz: '',
64 }; 84 };
65 }, 85 },
66 async created() { 86 async created() {
67 var bsmSldy = this.$parent._data.unitData[0].bsmSldy; 87 this.list();
68 this.list(bsmSldy);
69 }, 88 },
70 methods: { 89 methods: {
71 list(bsmSldy){ 90 //初始化列表
91 list(){
92 var bsmSldy = this.$parent._data.unitData[0].bsmSldy
72 getBdcqzList({bsmSldy:bsmSldy}).then(res => { 93 getBdcqzList({bsmSldy:bsmSldy}).then(res => {
73 if (res.code === 200) { 94 if (res.code === 200) {
74 this.tableData = res.result 95 this.tableData = res.result
96 if(res.result){
97 this.bdcqz = res.result[0]
98 }
75 } 99 }
76 }) 100 })
77 }, 101 },
102 //打开证书预览弹窗
78 openZsylDialog(item){ 103 openZsylDialog(item){
79 this.zsylFlag = true; 104 this.zsylFlag = true;
80 this.bdcqz = item; 105 this.bdcqz = item;
81 this.$nextTick(() => { 106 this.$nextTick(() => {
82 this.$refs.zsylDialog.ysxlhList(); 107 this.$refs.zsylDialog.ysxlhList();
83 }); 108 });
84 }
85 }, 109 },
110 //再次打印
111 openInvalidDiglog(item){
112 this.bsmSz = item.bsmSz;
113 this.invalidDiglog = true
114 },
115 closeInvalidDiglog(){
116 this.invalidDiglog = false
117 this.bsmSz = '';
118 this.zfyy = '';
119 },
120 //作废缮证信息
121 confirmInvalid(){
122 invalidCertificate({"bsmSz":this.bsmSz,"zfyy": this.zfyy}).then(res => {
123 if (res.code === 200) {
124 this.list();
125 this.$message.success('作废成功');
126 this.invalidDiglog = false;
127 this.openZsylDialog(this.bdcqz);
128 }else{
129 this.$message.error(res.message);
130 }
131 })
132 }
133 }
86 }; 134 };
87 </script> 135 </script>
88 <style scoped lang='scss'> 136 <style scoped lang='scss'>
...@@ -138,7 +186,7 @@ export default { ...@@ -138,7 +186,7 @@ export default {
138 margin-bottom: 10px; 186 margin-bottom: 10px;
139 } 187 }
140 .operation_button { 188 .operation_button {
141 border: 1px solid rgb(0,121,254); 189 border: 1px solid rgb(0, 121, 254);
142 padding: 15px 10px; 190 padding: 15px 10px;
143 text-align: center; 191 text-align: center;
144 width: 100px; 192 width: 100px;
...@@ -146,6 +194,33 @@ export default { ...@@ -146,6 +194,33 @@ export default {
146 .card_padding { 194 .card_padding {
147 padding-top:20px 195 padding-top:20px
148 } 196 }
197 .invalid-diglog {
198 padding-bottom: 20px;
199 font-size: 16px;
200 font-weight: bold;
201 color: rgb(99, 99, 99);
202 .invalid-title {
203 display: flex;
204 align-content: center;
205 .invalid-icon{
206 color:rgb(254,148,0);
207 font-size: 34px;
208 margin-right: 10px;
209 }
210 .invalid-body{
211 line-height: 40px;
212 margin-bottom: 10px;
213 }
214 }
215 .invalid-reson {
216 margin-bottom: 10px;
217 }
218 .dialog-footer{
219 margin-top: 10px;
220 display: flex;
221 justify-content: end;
222 }
223 }
149 224
150 /deep/.el-card__header{ 225 /deep/.el-card__header{
151 background-color: rgb(198,67,83); 226 background-color: rgb(198,67,83);
......
...@@ -4,15 +4,18 @@ ...@@ -4,15 +4,18 @@
4 <div class="from-clues"> 4 <div class="from-clues">
5 <!-- 表单部分 --> 5 <!-- 表单部分 -->
6 <div class="middle_padding" v-if="zslx"> 6 <div class="middle_padding" v-if="zslx">
7 <span>印刷序列号:</span> 7 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
8 <el-select v-model="selectYsxlh" placeholder="请选择"> 8 <el-form-item label="印刷序列号:" prop="ysxlh">
9 <el-select v-model="ruleForm.ysxlh" placeholder="请选择">
9 <el-option 10 <el-option
10 v-for="item in ysxlh" 11 v-for="item in ysxlh"
11 :key="item.bsmZswj" 12 :key="item.ysxlh"
12 :label="item.ysxlh" 13 :label="item.ysxlh"
13 :value="item.bsmZswj"> 14 :value="item.ysxlh">
14 </el-option> 15 </el-option>
15 </el-select> 16 </el-select>
17 </el-form-item>
18 </el-form>
16 </div> 19 </div>
17 <div class="zsyl-box"> 20 <div class="zsyl-box">
18 <div class="zsyl-left"> 21 <div class="zsyl-left">
...@@ -34,7 +37,7 @@ ...@@ -34,7 +37,7 @@
34 </div> 37 </div>
35 </div> 38 </div>
36 <div class="zsyl-button" v-if="zslx"> 39 <div class="zsyl-button" v-if="zslx">
37 <el-button class="operation_button dy-button" type="text">打印证书</el-button> 40 <el-button class="operation_button dy-button" type="text" @click="printCertificate()">打印证书</el-button>
38 <el-button class="operation_button gb-button" type="text" @click="closeDialog()">关闭</el-button> 41 <el-button class="operation_button gb-button" type="text" @click="closeDialog()">关闭</el-button>
39 </div> 42 </div>
40 </div> 43 </div>
...@@ -42,7 +45,7 @@ ...@@ -42,7 +45,7 @@
42 </template> 45 </template>
43 46
44 <script> 47 <script>
45 import { readYsxlh } from "@/api/fqsq.js" 48 import { readYsxlh,certificate } from "@/api/fqsq.js"
46 export default { 49 export default {
47 components: { 50 components: {
48 }, 51 },
...@@ -72,9 +75,20 @@ export default { ...@@ -72,9 +75,20 @@ export default {
72 ]; 75 ];
73 return { 76 return {
74 ysxlh: [], 77 ysxlh: [],
75 selectYsxlh: '',
76 zslx: '', 78 zslx: '',
77 columns, 79 columns,
80 ruleForm: {
81 bsmBdcqz: '',
82 szmc: '不动产权证书',
83 bdcqzlx: '',
84 szzh: '',
85 ysxlh: '',
86 },
87 rules: {
88 ysxlh: [
89 { required: true, message: '请选择印刷序列号', trigger: 'change' }
90 ],
91 },
78 tableData:[{ 92 tableData:[{
79 activityName:'权利人', 93 activityName:'权利人',
80 assignee:'张三' 94 assignee:'张三'
...@@ -111,6 +125,7 @@ export default { ...@@ -111,6 +125,7 @@ export default {
111 mounted(){ 125 mounted(){
112 }, 126 },
113 methods: { 127 methods: {
128 //获取印刷序列号列表
114 ysxlhList() { 129 ysxlhList() {
115 this.zslx = this.$parent.bdcqzlx 130 this.zslx = this.$parent.bdcqzlx
116 readYsxlh({zslx:this.$parent.bdcqzlx}).then(res => { 131 readYsxlh({zslx:this.$parent.bdcqzlx}).then(res => {
...@@ -123,6 +138,21 @@ export default { ...@@ -123,6 +138,21 @@ export default {
123 closeDialog () { 138 closeDialog () {
124 this.$emit("input", false); 139 this.$emit("input", false);
125 }, 140 },
141 //打印证书
142 printCertificate() {
143 this.ruleForm.bsmBdcqz = this.$parent.bdcqz.bsmBdcqz
144 this.ruleForm.bdcqzlx = this.$parent.bdcqz.bdcqzlx
145 this.ruleForm.szzh = this.$parent.bdcqz.bdcqzh
146 certificate(this.ruleForm).then(res => {
147 if (res.code === 200) {
148 this.$message.success('打印成功');
149 this.$emit("input", false);
150 this.$parent.list();
151 }else{
152 this.$message.error(res.message);
153 }
154 })
155 }
126 156
127 } 157 }
128 } 158 }
......
...@@ -351,7 +351,7 @@ export default { ...@@ -351,7 +351,7 @@ export default {
351 position: absolute; 351 position: absolute;
352 right: 0%; 352 right: 0%;
353 top: 30%; 353 top: 30%;
354 z-index: 999; 354 z-index: 99;
355 cursor: pointer; 355 cursor: pointer;
356 } 356 }
357 357
......