2e4dc723 by 蔡俊立

证书预览,审批意见

1 parent bbf83756
......@@ -73,6 +73,7 @@ export function bdcqzPreview (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/bdcqzPreview',
method: 'post',
data
data,
responseType: 'blob'
})
}
\ No newline at end of file
......
......@@ -119,6 +119,25 @@ export function saveSpyjBySlsq (data) {
data
})
}
// 获取用户常用意见
export function getUserCommonOpinion (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/opinion/getUserCommonOpinion',
method: 'post',
data
})
}
// 新增用户常用意见
export function addUserCommonOpinion (params) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/opinion/addUserCommonOpinion',
method: 'get',
params
})
}
// 登簿接口
export function record (data) {
return request({
......
<template>
<dialogBox title="常用意见" width="60%" isMain v-model="value" @closeDialog="closeDialog" :isButton="false">
<div>
<el-button type="primary" native-type="submit" @click="openDialog()">新增常用</el-button>
<lb-table :page-size="pageData.size" border :current-page.sync="pageData.current" :total="tableData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="columns"
:data="tableData.data">
</lb-table>
<el-dialog title="新增意见" :visible.sync="addDialog" width="50%" :modal="false" top="30vh">
<div class="invalid-reson">常用意见:</div>
<el-input v-model="commonOpinion" placeholder="请输入常用意见" type="textarea" :rows="4"></el-input>
<div class="dialog-footer">
<el-button @click="closeaddDiglog()">取 消</el-button>
<el-button type="primary" @click="addOpinion()">确 定</el-button>
</div>
</el-dialog>
</div>
</dialogBox>
</template>
<script>
import table from "@/utils/mixin/table";
import { getUserCommonOpinion,addUserCommonOpinion } from "@/api/fqsq.js"
export default {
components: {},
mixins: [table],
props: {
value: { type: Boolean, default: false },
},
data () {
return {
columns: [
{
label: '序号',
type: 'index',
width: '50',
},
{
prop: "opinion",
label: "意见描述",
},
{
label: '操作',
width: '100',
render: (h, scope) => {
return (
<div>
<el-button type="text" onClick={() => { this.useCommonOpinion(scope.row) }}>使用</el-button>
</div>
)
}
}
],
tableData: {
total: 0,
data: [],
},
addDialog: false,
commonOpinion: ''
}
},
mounted() {
this.queryList()
},
methods: {
queryList(){
getUserCommonOpinion(this.pageData).then(res => {
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records ? records : []
})
},
//新增常用意见
addOpinion(){
addUserCommonOpinion({commonOpinion: this.commonOpinion}).then(res => {
if(res.code == 200){
this.closeaddDiglog();
this.queryList()
}else{
this.$message.error(res.message)
}
})
},
//打开新增弹窗
openDialog() {
this.addDialog = true
},
//关闭新增弹窗
closeaddDiglog() {
this.addDialog = false;
this.commonOpinion = "";
},
//使用常用意见
useCommonOpinion(item){
this.$parent.useOpinion(item.opinion);
this.$emit("input", false);
},
//关闭列表弹窗
closeDialog () {
this.$emit("input", false);
this.commonOpinion = "";
}
}
}
</script>
<style scoped lang='scss'>
.invalid-reson {
margin-bottom: 10px;
}
.dialog-footer {
margin-top: 10px;
display: flex;
justify-content: flex-end;
}
</style>
\ No newline at end of file
......@@ -14,17 +14,11 @@
<el-row>
<el-col :span="24">
<el-form-item label-width="0" class="opinion_item" prop="shyj">
<el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" v-if="item.stepShjy == '1'"
<el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" v-if="item.stepShjy == '1' && ableOperation"
v-model="ruleForm.shyj"></el-input>
<el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true">
</el-input>
<el-popover placement="right" width="50" trigger="hover" v-if="item.stepShjy == '1'">
<ul class="pointer">
<li @click="handleClick">复审</li>
<li>初审意见</li>
</ul>
<el-button class="opinion_btn" slot="reference">常用意见</el-button>
</el-popover>
<el-button class="opinion_btn" @click="commonOpinion" v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button>
</el-form-item>
</el-col>
</el-row>
......@@ -42,32 +36,35 @@
</el-row>
</div>
</div>
<div class="submit_button" v-if="!$route.query.viewtype">
<el-button type="primary" v-if="tableData.length>0" @click="onSubmit">保存</el-button>
<div class="submit_button" v-if="ableOperation">
<el-button type="primary" @click="onSubmit">保存</el-button>
</div>
</el-form>
<el-empty v-if="tableData.length==0" description="暂无数据"></el-empty>
<commonDialog v-model="commonDialog" />
</div>
</template>
<script>
import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js";
import { popupDialog } from "@/utils/popup.js";
import commonDialog from "./commonOpinion.vue";
import { mapGetters } from 'vuex'
export default {
components: {},
components: {commonDialog},
props: {
},
computed: {
...mapGetters([ 'userData'])
},
data () {
return {
bsmSlsq: '',
//刷新值
refresh : 10,
bestepid: '',
ruleForm: {
shyj: '',
ableOperation: true,
bsmSlsq: this.$route.query.bsmSlsq,
stepid: this.$route.query.bestepid,
shryxm: '',
shjssj: '',
},
bestepid: this.$route.query.bestepid,
ruleForm: {},
rules: {
shyj: [
{ required: true, message: '请输入审批意见', trigger: 'blur' }
......@@ -75,10 +72,14 @@ export default {
},
tableData: [],
propsParam: {},
commonDialog: false
}
},
created () {
this.propsParam = this.$attrs;
if(this.$route.query.viewtype){
this.ableOperation = false
}
this.list();
},
methods: {
......@@ -90,24 +91,33 @@ export default {
var formdata = new FormData();
formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
formdata.append("bestepid", this.$route.query.bestepid);
formdata.append("ableOperation",this.ableOperation)
getSpyjList(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.tableData = res.result
this.ruleForm.shyj = res.result[res.result.length - 1].shyj
this.ruleForm = res.result[res.result.length - 1]
}
})
},
onSubmit () {
this.ruleForm.bsmSlsq = this.bsmSlsq
this.ruleForm.bestepid = this.bestepid
saveSpyjBySlsq(this.ruleForm).then(res => {
if (res.code === 200) {
this.$message.success("保存成功")
this.refresh += 1
this.tableData[this.tableData.length - 1].shryxm = res.result.shryxm
this.tableData[this.tableData.length - 1].shjssj = res.result.shjssj
} else {
this.$message.error(res.message)
}
})
},
//打开常用意见列表弹窗
commonOpinion(){
this.commonDialog = true
},
//使用常用意见
useOpinion(opinion){
this.ruleForm.shyj = opinion
}
}
}
......
......@@ -4,37 +4,14 @@
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz" v-for="(item,index) in headTabBdcqz" :key="index"></el-tab-pane>
</el-tabs>
<div class="aaaa">{{bdcqz.bdcqzlx == '1' ? '不动产权证书' : '不动产权证明'}}</div>
<div class="zsyl-box">
<div class="zsyl-left">
<div class="zsyl-title">
<span v-if="bdcqz.bdcqzh">{{bdcqz.bdcqzh}}</span>
<span v-else>____( )________不动产权第 号</span>
</div>
<table class="table-column">
<tr v-for="(item, colindex) in columns" :key="colindex">
<td>
<span>{{ item.label }}</span>
</td>
<td>
<span>
{{ getRowValue(item.prop) }}
</span>
</td>
</tr>
</table>
</div>
<div class="zsyl-right">
<div class="zsyl-title">附记</div>
<div class="zsyl-text">{{bdcqz.fj}}</div>
</div>
</div>
<div class="zsyl-title">{{bdcqz.bdcqzlx == '1' ? '不动产权证书' : '不动产权证明'}}</div>
<img :src="previewImage">
</div>
</template>
<script>
import { datas } from "../javascript/zsyl.js";
import { getSlsqBdcqzList} from "@/api/bdcqz.js"
import { getSlsqBdcqzList,bdcqzPreview} from "@/api/bdcqz.js"
export default {
components: {
},
......@@ -58,6 +35,8 @@ export default {
headTabBdcqz: [],
//tab选择绑定值
activeName: '',
//证书图片预览
previewImage: '',
ruleForm: {
bsmBdcqz: '',
szmc: '不动产权证书',
......@@ -89,11 +68,12 @@ export default {
getHeadTabBdcqz(){
getSlsqBdcqzList({bsmSlsq: this.formData.bsmSlsq}).then(res => {
if(res.code == 200){
if(res.result){
if(res.result && res.result.length > 0){
this.activeName = res.result[0].bsmBdcqz
this.bdcqz = res.result[0]
}
this.headTabBdcqz = res.result
this.getBdcqzPreview();
}
}
})
......@@ -102,43 +82,20 @@ export default {
handleClick(e){
this.bdcqz = this.headTabBdcqz[e.index - 0]
this.activeName = this.headTabBdcqz.bsmBdcqz
}
this.getBdcqzPreview();
},
getBdcqzPreview(){
bdcqzPreview(this.bdcqz).then(res => {
let blob = new Blob([res]);
let url = window.URL.createObjectURL(blob);
this.previewImage = url;
})
},
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.zsyl-box{
display: flex;
justify-content: space-between;
padding: 20px;
background: #FAFBE5;
.zsyl-left{
width: 330px;
.zsyl-title{
font-size: 18px;
text-align: center;
}
}
.zsyl-right{
width: 330px;
.zsyl-title{
letter-spacing: 50px;
text-align: center;
text-indent: 50px;
}
.zsyl-text{
border: 1px solid #ccc;
height: 90%;
}
}
.zsyl-title{
margin-bottom: 12px;
}
/deep/.el-table__row{
background: #FAFBE5!important;
}
}
.middle_padding {
padding-bottom: 10px;
}
......@@ -166,10 +123,10 @@ export default {
background: rgb(251,249,229);
}
}
.aaaa{
.zsyl-title{
background: #FAFBE5;
text-align: center;
padding-top: 10px;
padding: 5px 0px;
font-size: 20px;
}
</style>
......
......@@ -127,7 +127,7 @@ export default {
popupDialog("证书预览", "workflow/components/zsyl", {
bsmSlsq: this.bsmSlsq,
entryType: '1'
}, '800px')
}, '1070px')
break;
case "B7":
this.$popup("证书领取", "workflow/components/zslq", {
......
......@@ -289,8 +289,8 @@ export default {
break;
case "B5":
this.$popup("证书预览", "workflow/components/zsyl", {
height: "600px",
width: "800px",
height: "850px",
width: "1070px",
formData: {
bsmSlsq: this.bsmSlsq,
entryType: '1'
......