2e4dc723 by 蔡俊立

证书预览,审批意见

1 parent bbf83756
...@@ -73,6 +73,7 @@ export function bdcqzPreview (data) { ...@@ -73,6 +73,7 @@ export function bdcqzPreview (data) {
73 return request({ 73 return request({
74 url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/bdcqzPreview', 74 url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/bdcqzPreview',
75 method: 'post', 75 method: 'post',
76 data 76 data,
77 responseType: 'blob'
77 }) 78 })
78 } 79 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -119,6 +119,25 @@ export function saveSpyjBySlsq (data) { ...@@ -119,6 +119,25 @@ export function saveSpyjBySlsq (data) {
119 data 119 data
120 }) 120 })
121 } 121 }
122
123 // 获取用户常用意见
124 export function getUserCommonOpinion (data) {
125 return request({
126 url: SERVER.SERVERAPI + '/rest/ywbl/opinion/getUserCommonOpinion',
127 method: 'post',
128 data
129 })
130 }
131
132 // 新增用户常用意见
133 export function addUserCommonOpinion (params) {
134 return request({
135 url: SERVER.SERVERAPI + '/rest/ywbl/opinion/addUserCommonOpinion',
136 method: 'get',
137 params
138 })
139 }
140
122 // 登簿接口 141 // 登簿接口
123 export function record (data) { 142 export function record (data) {
124 return request({ 143 return request({
......
1 <template>
2 <dialogBox title="常用意见" width="60%" isMain v-model="value" @closeDialog="closeDialog" :isButton="false">
3 <div>
4 <el-button type="primary" native-type="submit" @click="openDialog()">新增常用</el-button>
5 <lb-table :page-size="pageData.size" border :current-page.sync="pageData.current" :total="tableData.total"
6 @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="columns"
7 :data="tableData.data">
8 </lb-table>
9 <el-dialog title="新增意见" :visible.sync="addDialog" width="50%" :modal="false" top="30vh">
10 <div class="invalid-reson">常用意见:</div>
11 <el-input v-model="commonOpinion" placeholder="请输入常用意见" type="textarea" :rows="4"></el-input>
12 <div class="dialog-footer">
13 <el-button @click="closeaddDiglog()">取 消</el-button>
14 <el-button type="primary" @click="addOpinion()">确 定</el-button>
15 </div>
16 </el-dialog>
17 </div>
18 </dialogBox>
19 </template>
20 <script>
21 import table from "@/utils/mixin/table";
22 import { getUserCommonOpinion,addUserCommonOpinion } from "@/api/fqsq.js"
23 export default {
24 components: {},
25 mixins: [table],
26 props: {
27 value: { type: Boolean, default: false },
28 },
29 data () {
30 return {
31 columns: [
32 {
33 label: '序号',
34 type: 'index',
35 width: '50',
36 },
37 {
38 prop: "opinion",
39 label: "意见描述",
40 },
41 {
42 label: '操作',
43 width: '100',
44 render: (h, scope) => {
45 return (
46 <div>
47 <el-button type="text" onClick={() => { this.useCommonOpinion(scope.row) }}>使用</el-button>
48 </div>
49 )
50 }
51 }
52 ],
53 tableData: {
54 total: 0,
55 data: [],
56 },
57 addDialog: false,
58 commonOpinion: ''
59 }
60 },
61 mounted() {
62 this.queryList()
63 },
64 methods: {
65 queryList(){
66 getUserCommonOpinion(this.pageData).then(res => {
67 let { total, records } = res.result
68 this.tableData.total = total;
69 this.tableData.data = records ? records : []
70 })
71 },
72 //新增常用意见
73 addOpinion(){
74 addUserCommonOpinion({commonOpinion: this.commonOpinion}).then(res => {
75 if(res.code == 200){
76 this.closeaddDiglog();
77 this.queryList()
78 }else{
79 this.$message.error(res.message)
80 }
81 })
82 },
83 //打开新增弹窗
84 openDialog() {
85 this.addDialog = true
86 },
87 //关闭新增弹窗
88 closeaddDiglog() {
89 this.addDialog = false;
90 this.commonOpinion = "";
91 },
92 //使用常用意见
93 useCommonOpinion(item){
94 this.$parent.useOpinion(item.opinion);
95 this.$emit("input", false);
96 },
97 //关闭列表弹窗
98 closeDialog () {
99 this.$emit("input", false);
100 this.commonOpinion = "";
101 }
102 }
103 }
104 </script>
105 <style scoped lang='scss'>
106 .invalid-reson {
107 margin-bottom: 10px;
108 }
109 .dialog-footer {
110 margin-top: 10px;
111 display: flex;
112 justify-content: flex-end;
113 }
114 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -14,17 +14,11 @@ ...@@ -14,17 +14,11 @@
14 <el-row> 14 <el-row>
15 <el-col :span="24"> 15 <el-col :span="24">
16 <el-form-item label-width="0" class="opinion_item" prop="shyj"> 16 <el-form-item label-width="0" class="opinion_item" prop="shyj">
17 <el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" v-if="item.stepShjy == '1'" 17 <el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" v-if="item.stepShjy == '1' && ableOperation"
18 v-model="ruleForm.shyj"></el-input> 18 v-model="ruleForm.shyj"></el-input>
19 <el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true"> 19 <el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true">
20 </el-input> 20 </el-input>
21 <el-popover placement="right" width="50" trigger="hover" v-if="item.stepShjy == '1'"> 21 <el-button class="opinion_btn" @click="commonOpinion" v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button>
22 <ul class="pointer">
23 <li @click="handleClick">复审</li>
24 <li>初审意见</li>
25 </ul>
26 <el-button class="opinion_btn" slot="reference">常用意见</el-button>
27 </el-popover>
28 </el-form-item> 22 </el-form-item>
29 </el-col> 23 </el-col>
30 </el-row> 24 </el-row>
...@@ -42,32 +36,35 @@ ...@@ -42,32 +36,35 @@
42 </el-row> 36 </el-row>
43 </div> 37 </div>
44 </div> 38 </div>
45 <div class="submit_button" v-if="!$route.query.viewtype"> 39 <div class="submit_button" v-if="ableOperation">
46 <el-button type="primary" v-if="tableData.length>0" @click="onSubmit">保存</el-button> 40 <el-button type="primary" @click="onSubmit">保存</el-button>
47 </div> 41 </div>
48 </el-form> 42 </el-form>
49 <el-empty v-if="tableData.length==0" description="暂无数据"></el-empty> 43 <el-empty v-if="tableData.length==0" description="暂无数据"></el-empty>
44 <commonDialog v-model="commonDialog" />
50 </div> 45 </div>
51 </template> 46 </template>
52 <script> 47 <script>
53 import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js"; 48 import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js";
49 import { popupDialog } from "@/utils/popup.js";
50 import commonDialog from "./commonOpinion.vue";
51 import { mapGetters } from 'vuex'
54 export default { 52 export default {
55 components: {}, 53 components: {commonDialog},
56 props: { 54 props: {
57 }, 55 },
56 computed: {
57 ...mapGetters([ 'userData'])
58 },
58 data () { 59 data () {
59 return { 60 return {
60 bsmSlsq: '', 61 bsmSlsq: '',
61 //刷新值 62 //刷新值
62 refresh : 10, 63 refresh : 10,
63 bestepid: '', 64 ableOperation: true,
64 ruleForm: {
65 shyj: '',
66 bsmSlsq: this.$route.query.bsmSlsq, 65 bsmSlsq: this.$route.query.bsmSlsq,
67 stepid: this.$route.query.bestepid, 66 bestepid: this.$route.query.bestepid,
68 shryxm: '', 67 ruleForm: {},
69 shjssj: '',
70 },
71 rules: { 68 rules: {
72 shyj: [ 69 shyj: [
73 { required: true, message: '请输入审批意见', trigger: 'blur' } 70 { required: true, message: '请输入审批意见', trigger: 'blur' }
...@@ -75,10 +72,14 @@ export default { ...@@ -75,10 +72,14 @@ export default {
75 }, 72 },
76 tableData: [], 73 tableData: [],
77 propsParam: {}, 74 propsParam: {},
75 commonDialog: false
78 } 76 }
79 }, 77 },
80 created () { 78 created () {
81 this.propsParam = this.$attrs; 79 this.propsParam = this.$attrs;
80 if(this.$route.query.viewtype){
81 this.ableOperation = false
82 }
82 this.list(); 83 this.list();
83 }, 84 },
84 methods: { 85 methods: {
...@@ -90,24 +91,33 @@ export default { ...@@ -90,24 +91,33 @@ export default {
90 var formdata = new FormData(); 91 var formdata = new FormData();
91 formdata.append("bsmBusiness", this.propsParam.bsmBusiness); 92 formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
92 formdata.append("bestepid", this.$route.query.bestepid); 93 formdata.append("bestepid", this.$route.query.bestepid);
94 formdata.append("ableOperation",this.ableOperation)
93 getSpyjList(formdata).then((res) => { 95 getSpyjList(formdata).then((res) => {
94 if (res.code === 200 && res.result) { 96 if (res.code === 200 && res.result) {
95 this.tableData = res.result 97 this.tableData = res.result
96 this.ruleForm.shyj = res.result[res.result.length - 1].shyj 98 this.ruleForm = res.result[res.result.length - 1]
97 } 99 }
98 }) 100 })
99 }, 101 },
100 onSubmit () { 102 onSubmit () {
103 this.ruleForm.bsmSlsq = this.bsmSlsq
104 this.ruleForm.bestepid = this.bestepid
101 saveSpyjBySlsq(this.ruleForm).then(res => { 105 saveSpyjBySlsq(this.ruleForm).then(res => {
102 if (res.code === 200) { 106 if (res.code === 200) {
103 this.$message.success("保存成功") 107 this.$message.success("保存成功")
104 this.refresh += 1 108 this.refresh += 1
105 this.tableData[this.tableData.length - 1].shryxm = res.result.shryxm
106 this.tableData[this.tableData.length - 1].shjssj = res.result.shjssj
107 } else { 109 } else {
108 this.$message.error(res.message) 110 this.$message.error(res.message)
109 } 111 }
110 }) 112 })
113 },
114 //打开常用意见列表弹窗
115 commonOpinion(){
116 this.commonDialog = true
117 },
118 //使用常用意见
119 useOpinion(opinion){
120 this.ruleForm.shyj = opinion
111 } 121 }
112 } 122 }
113 } 123 }
......
...@@ -4,37 +4,14 @@ ...@@ -4,37 +4,14 @@
4 <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1"> 4 <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1">
5 <el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz" v-for="(item,index) in headTabBdcqz" :key="index"></el-tab-pane> 5 <el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz" v-for="(item,index) in headTabBdcqz" :key="index"></el-tab-pane>
6 </el-tabs> 6 </el-tabs>
7 <div class="aaaa">{{bdcqz.bdcqzlx == '1' ? '不动产权证书' : '不动产权证明'}}</div> 7 <div class="zsyl-title">{{bdcqz.bdcqzlx == '1' ? '不动产权证书' : '不动产权证明'}}</div>
8 <div class="zsyl-box"> 8 <img :src="previewImage">
9 <div class="zsyl-left">
10 <div class="zsyl-title">
11 <span v-if="bdcqz.bdcqzh">{{bdcqz.bdcqzh}}</span>
12 <span v-else>____( )________不动产权第 号</span>
13 </div>
14 <table class="table-column">
15 <tr v-for="(item, colindex) in columns" :key="colindex">
16 <td>
17 <span>{{ item.label }}</span>
18 </td>
19 <td>
20 <span>
21 {{ getRowValue(item.prop) }}
22 </span>
23 </td>
24 </tr>
25 </table>
26 </div>
27 <div class="zsyl-right">
28 <div class="zsyl-title">附记</div>
29 <div class="zsyl-text">{{bdcqz.fj}}</div>
30 </div>
31 </div>
32 </div> 9 </div>
33 </template> 10 </template>
34 11
35 <script> 12 <script>
36 import { datas } from "../javascript/zsyl.js"; 13 import { datas } from "../javascript/zsyl.js";
37 import { getSlsqBdcqzList} from "@/api/bdcqz.js" 14 import { getSlsqBdcqzList,bdcqzPreview} from "@/api/bdcqz.js"
38 export default { 15 export default {
39 components: { 16 components: {
40 }, 17 },
...@@ -58,6 +35,8 @@ export default { ...@@ -58,6 +35,8 @@ export default {
58 headTabBdcqz: [], 35 headTabBdcqz: [],
59 //tab选择绑定值 36 //tab选择绑定值
60 activeName: '', 37 activeName: '',
38 //证书图片预览
39 previewImage: '',
61 ruleForm: { 40 ruleForm: {
62 bsmBdcqz: '', 41 bsmBdcqz: '',
63 szmc: '不动产权证书', 42 szmc: '不动产权证书',
...@@ -89,11 +68,12 @@ export default { ...@@ -89,11 +68,12 @@ export default {
89 getHeadTabBdcqz(){ 68 getHeadTabBdcqz(){
90 getSlsqBdcqzList({bsmSlsq: this.formData.bsmSlsq}).then(res => { 69 getSlsqBdcqzList({bsmSlsq: this.formData.bsmSlsq}).then(res => {
91 if(res.code == 200){ 70 if(res.code == 200){
92 if(res.result){ 71 if(res.result && res.result.length > 0){
93 this.activeName = res.result[0].bsmBdcqz 72 this.activeName = res.result[0].bsmBdcqz
94 this.bdcqz = res.result[0] 73 this.bdcqz = res.result[0]
95 }
96 this.headTabBdcqz = res.result 74 this.headTabBdcqz = res.result
75 this.getBdcqzPreview();
76 }
97 } 77 }
98 78
99 }) 79 })
...@@ -102,43 +82,20 @@ export default { ...@@ -102,43 +82,20 @@ export default {
102 handleClick(e){ 82 handleClick(e){
103 this.bdcqz = this.headTabBdcqz[e.index - 0] 83 this.bdcqz = this.headTabBdcqz[e.index - 0]
104 this.activeName = this.headTabBdcqz.bsmBdcqz 84 this.activeName = this.headTabBdcqz.bsmBdcqz
105 } 85 this.getBdcqzPreview();
86 },
87 getBdcqzPreview(){
88 bdcqzPreview(this.bdcqz).then(res => {
89 let blob = new Blob([res]);
90 let url = window.URL.createObjectURL(blob);
91 this.previewImage = url;
92 })
93 },
106 } 94 }
107 } 95 }
108 </script> 96 </script>
109 <style scoped lang="scss"> 97 <style scoped lang="scss">
110 @import "~@/styles/mixin.scss"; 98 @import "~@/styles/mixin.scss";
111 .zsyl-box{
112 display: flex;
113 justify-content: space-between;
114 padding: 20px;
115 background: #FAFBE5;
116 .zsyl-left{
117 width: 330px;
118 .zsyl-title{
119 font-size: 18px;
120 text-align: center;
121 }
122 }
123 .zsyl-right{
124 width: 330px;
125 .zsyl-title{
126 letter-spacing: 50px;
127 text-align: center;
128 text-indent: 50px;
129 }
130 .zsyl-text{
131 border: 1px solid #ccc;
132 height: 90%;
133 }
134 }
135 .zsyl-title{
136 margin-bottom: 12px;
137 }
138 /deep/.el-table__row{
139 background: #FAFBE5!important;
140 }
141 }
142 .middle_padding { 99 .middle_padding {
143 padding-bottom: 10px; 100 padding-bottom: 10px;
144 } 101 }
...@@ -166,10 +123,10 @@ export default { ...@@ -166,10 +123,10 @@ export default {
166 background: rgb(251,249,229); 123 background: rgb(251,249,229);
167 } 124 }
168 } 125 }
169 .aaaa{ 126 .zsyl-title{
170 background: #FAFBE5; 127 background: #FAFBE5;
171 text-align: center; 128 text-align: center;
172 padding-top: 10px; 129 padding: 5px 0px;
173 font-size: 20px; 130 font-size: 20px;
174 } 131 }
175 </style> 132 </style>
......
...@@ -127,7 +127,7 @@ export default { ...@@ -127,7 +127,7 @@ export default {
127 popupDialog("证书预览", "workflow/components/zsyl", { 127 popupDialog("证书预览", "workflow/components/zsyl", {
128 bsmSlsq: this.bsmSlsq, 128 bsmSlsq: this.bsmSlsq,
129 entryType: '1' 129 entryType: '1'
130 }, '800px') 130 }, '1070px')
131 break; 131 break;
132 case "B7": 132 case "B7":
133 this.$popup("证书领取", "workflow/components/zslq", { 133 this.$popup("证书领取", "workflow/components/zslq", {
......
...@@ -289,8 +289,8 @@ export default { ...@@ -289,8 +289,8 @@ export default {
289 break; 289 break;
290 case "B5": 290 case "B5":
291 this.$popup("证书预览", "workflow/components/zsyl", { 291 this.$popup("证书预览", "workflow/components/zsyl", {
292 height: "600px", 292 height: "850px",
293 width: "800px", 293 width: "1070px",
294 formData: { 294 formData: {
295 bsmSlsq: this.bsmSlsq, 295 bsmSlsq: this.bsmSlsq,
296 entryType: '1' 296 entryType: '1'
......