7a915772 by 蔡俊立
2 parents 6e8368d8 88713cb8
Showing 56 changed files with 1916 additions and 770 deletions
......@@ -5,4 +5,4 @@ NODE_ENV=development
VUE_APP_BASE_API = '/bdcdj'
# 开发环境
VUE_APP_API_BASE_URL = 'http://192.168.2.95:8018'
VUE_APP_API_BASE_URL = 'http://192.168.2.88:8018'
......
......@@ -56,4 +56,19 @@ export function getWorkFlowImage (bsmSlsq) {
bsmSlsq: bsmSlsq
}
})
}
// 上传单个文件
export function sjClmxUpload (data) {
return request({
url: 'zhcx/sjClmx/upload',
method: 'post',
data
})
}
// 删除上传文件
export function sjClmxDelete (bsmClmx) {
return request({
url: 'zhcx/sjClmx/delete?bsmClmx=' + bsmClmx,
method: 'delete'
})
}
\ No newline at end of file
......
......@@ -3,7 +3,6 @@ import Popup from './index.vue'
const PopupBox = Vue.extend(Popup)
Popup.install = function (data) {
console.log(data)
let instance = new PopupBox({
data
}).$mount()
......
<template>
<transition name="fade" mode="out-in" v-if="isShow">
<div class="ls-mask" v-loading="loading">
<div class="ls-mask-window" :style="{'width':width,'height':height}">
<div :style="{'text-align':titleStyle}"><b >{{title}}</b></div>
<i class="el-icon-close" @click="onCancel" ></i>
<div class="ls-mask-content">
<component :is="editItem" ref='childRef' @loading='loadingFn' :formData='formData' />
</div>
<div class="ls-mask-footer">
<el-button type="primary" @click="onConfirm">{{confirmText}}</el-button>
<el-button @click="onCancel">{{cancelText}}</el-button>
</div>
<transition name="fade" mode="out-in" v-if="isShow">
<div class="ls-mask" v-loading="loading">
<div class="ls-mask-window" :style="{'width':width,'height':height}">
<div :style="{'text-align':titleStyle}"><b>{{title}}</b></div>
<i class="el-icon-close" @click="onCancel"></i>
<div class="ls-mask-content">
<component :is="editItem" ref='childRef' @loading='loadingFn' :formData='formData' />
</div>
<div class="ls-mask-footer">
<el-button type="primary" @click="onConfirm">{{confirmText}}</el-button>
<el-button @click="onCancel">{{cancelText}}</el-button>
</div>
</div>
</transition>
</template>
<script>
export default {
name: 'index',
data () {
return {
title: '提示',
cancelText: '取消',
confirmText: '确认',
isSync: false,
isShow: false,
cancel: function () {},
confirm: function () {},
editItem:"",
titleStyle:'',
width:"75%",
height:"500px",
formData:"",//父组件传递的参数 负责传给子组件
}
},
props:{
loading: { type: Boolean, default: false },
},
watch:{
isShow(a,b){
this.editItem = this.loadViewFn(this.editItem)
},
},
methods: {
onCancel () {
this.isShow = false
this.cancel()
},
onConfirm () {
this.loading = true
let isOk = this.$refs.childRef.childFn() //子组件方法 必须命名一致
if(isOk || isOk==undefined){ //如果子组件没有 return false 就代表子组件方法一切正常
this.isShow = false
this.confirm()
}else{ //否则
console.log('弹窗不关闭')
}
},
loadingFn(e){ //加载状态
this.loading = e
},
loadViewFn (view) {
return (r) =>
require.ensure([], () =>
</div>
</transition>
</template>
<script>
export default {
name: 'index',
data () {
return {
title: '提示',
cancelText: '取消',
confirmText: '确认',
isSync: false,
isShow: false,
cancel: function () { },
confirm: function () { },
editItem: "",
titleStyle: 'center',
width: "75%",
height: "500px",
formData: "",//父组件传递的参数 负责传给子组件
}
},
props: {
loading: { type: Boolean, default: false },
},
watch: {
isShow (a, b) {
this.editItem = this.loadViewFn(this.editItem)
},
},
methods: {
onCancel () {
this.isShow = false
this.cancel()
},
onConfirm () {
this.loading = true
let isOk = this.$refs.childRef.childFn() //子组件方法 必须命名一致
if (isOk || isOk == undefined) { //如果子组件没有 return false 就代表子组件方法一切正常
this.isShow = false
this.confirm()
} else { //否则
console.log('弹窗不关闭')
}
},
loadingFn (e) { //加载状态
this.loading = e
},
loadViewFn (view) {
return (r) =>
require.ensure([], () =>
r(require(`@/views/${view}.vue`))
);
},
}
}
</script>
<style scoped>
#app{
overflow: hidden;
}
.ls-mask{
width: 100%;
height: 100%;
z-index: 2001;
position: fixed;
left: 0;
top: 0;
background: rgba(0,0,0,0.3);
}
.ls-mask-window{
padding-top: 20px;
background: white;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
.ls-mask-window b{
padding-left: 12px;
}
.ls-mask-content{
padding: 20px;
text-align: center;
}
.ls-mask-footer{
height: 45px;
border-top: 1px solid #f0f0f0;
display: flex;
justify-content: end;
padding: 2px;
position: absolute;
width: 98%;
bottom: 10px;
right: 12px;
}
/deep/.el-icon-close{
position: absolute;
top: 20px;
right: 12px;
font-size: 20px;
cursor: pointer;
}
/deep/.el-loading-mask{
background: none;
}
</style>
}
</script>
<style scoped>
#app {
overflow: hidden;
}
.ls-mask {
width: 100%;
height: 100%;
z-index: 2001;
position: fixed;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.3);
}
.ls-mask-window {
padding-top: 20px;
background: white;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.ls-mask-window b {
padding-left: 12px;
}
.ls-mask-content {
padding: 20px;
text-align: center;
}
.ls-mask-footer {
height: 45px;
border-top: 1px solid #f0f0f0;
display: flex;
justify-content: flex-end;
padding: 2px;
position: absolute;
width: 98%;
bottom: 10px;
right: 12px;
}
/deep/.el-icon-close {
position: absolute;
top: 20px;
right: 12px;
font-size: 20px;
cursor: pointer;
}
/deep/.el-loading-mask {
background: none;
}
</style>
\ No newline at end of file
......
......@@ -29,7 +29,7 @@ export const constantRoutes = [
// 业务流程框架
{
path: '/workFrame',
component: () => import('@/views/ywbl/fqsq/workFrame.vue'),
component: () => import('@/views/workflow/workFrame.vue'),
name: 'workFrame',
hidden: true,
meta: { title: '发起申请' }
......
......@@ -218,7 +218,7 @@ aside {
}
.width100 {
width: 100%!important;
width: 100% !important;
}
.sub-navbar {
......@@ -327,10 +327,17 @@ aside {
.allow,
.prohibit {
position: relative;
width: 60px;
margin: 0 auto;
}
.allow {
color: $green;
}
.prohibit {
color: $pink;
}
.allow::before {
content: '';
position: absolute;
......
......@@ -18,6 +18,7 @@
display: flex;
font-size: 12px;
flex-wrap: wrap;
line-height: 36px;
span {
display: flex;
......@@ -39,6 +40,7 @@
border: 1px solid $light-blue;
border-radius: 10px;
padding: 2px 8px;
line-height: 16px;
}
}
......
......@@ -11,7 +11,7 @@ const service = axios.create({
withCredentials: true, //是否允许跨域
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Authorization':'bearer AT-16-oqkOHiUSsDdFA-eAZ49k2rJQDTzQpClO'
'Authorization': 'bearer AT-16-oqkOHiUSsDdFA-eAZ49k2rJQDTzQpClO'
},
timeout: 15000
})
......@@ -85,6 +85,9 @@ function handleErrorData (errMes) {
case 504:
Message.error("网络超时!");
break;
case 2002:
Message.error(errMes.message);
break;
default:
Message.error("服务正在联调中,请稍后!");
break;
......
......@@ -8,7 +8,7 @@
</div>
<div class="img-list-wrap">
<div v-for="(img, i) in previewImg.imgList" :key="i">
<photo-zoom :url="img.url" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
<photo-zoom :url="img.fjurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
overlayStyle="width: 100%;height: 563px;">
</photo-zoom>
</div>
......@@ -17,7 +17,7 @@
<div class="thumb-wrap">
<div class="thumb-wrap-button">
<el-button type="primary" @click="clickImage">(放大) 显示(缩小)</el-button>
<el-upload class="fileUpdate" action="" :show-file-list="false" multiple :limit="5" :auto-upload="false"
<el-upload class="fileUpdate" action="" :show-file-list="false" multiple :auto-upload="false"
:on-change="handleChange" accept=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg" :before-upload="beforeUpload">
<el-button icon="el-icon-upload" type="primary">上传</el-button>
</el-upload>
......@@ -26,7 +26,7 @@
<ul>
<li v-for="(img, index) in thumbnailImages" :key="index" :class="{ active:previewImg.index === index}"
@click="showCurrent(index)">
<img :src="img.url">
<img :src="img.fjurl">
</li>
</ul>
</div>
......@@ -37,6 +37,7 @@
</template>
<script>
import PhotoZoom from '@/components/photo-zoom'
import { sjClmxUpload, sjClmxDelete } from '@/api/jsydsyqFlow'
import publicPicture from '@/components/publicPicture/index.vue'
export default {
name: 'PreviewImage',
......@@ -57,7 +58,7 @@ export default {
degree: 0
},
// 缩略图
thumbnailImages: this.previewImg.imgList,
thumbnailImages: [],
showViewer: false,
initialIndex: undefined,
allLi: [],
......@@ -66,11 +67,16 @@ export default {
watch: {
previewImg: {
handler (newValue, oldValue) {
this.allLi = _.cloneDeep(newValue.imgList).map(item => item.url)
this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fjurl)
this.thumbnailImages = newValue.imgList
},
deep: true
}
},
created () {
this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl)
this.thumbnailImages = this.previewImg.imgList
},
computed: {
isSingle () {
return this.previewImg.imgList.length <= 1
......@@ -140,22 +146,43 @@ export default {
},
async handleChange (file) {
let data = _.cloneDeep(this.previewImg.imgList[this.previewImg.index])
var formdata = new FormData();
formdata.append("file", file.raw);
formdata.append("bsmSj", this.previewImg.bsmSj);
formdata.append("bsmSlsq", this.previewImg.bsmSlsq);
sjClmxUpload(formdata).then((res) => {
if (res.code == 200) {
this.$emit('updateList', res.result)
this.$message({
message: '上传成功!',
type: 'success'
})
}
})
},
handleDelete () {
let _this = this
this.$confirm('此操作将永久该附件, 是否继续?', '提示', {
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
let bsmFileList = []
bsmFileList[0] = this.previewImg.imgList[this.previewImg.index].bsmFile
let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
sjClmxDelete(bsmClmx).then(res => {
if (res.code == 200) {
that.$emit('updateList', res.result)
that.$message({
message: '删除成功!',
type: 'success'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
})
})
}
}
}
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qszt",
label: "权属状态",
},
{
prop: "qllxmc",
label: "权利类型",
},
{
prop: "djlxmc",
label: "登记类型",
},
{
prop: "ssywh",
label: "上手业务号",
},
{
prop: "dah",
label: "档案号",
},
{
prop: "ywh",
label: "业务号",
},
{
prop: "bdcdyh",
label: "不动产单元号",
},
{
prop: "zl",
label: "坐落",
},
{
prop: "qlrlx",
label: "权利人类型",
},
{
prop: "qlrmc",
label: "权利人",
},
{
prop: "qlrzjzl",
label: "证件种类",
},
{
prop: "qlrzjhm",
label: "证件号",
},
{
prop: "gyfs",
label: "共有情况",
},
{
prop: "mj",
label: "使用权面积(m²)",
},
{
prop: "qlxz",
label: "权利性质",
},
{
prop: "ytmc",
label: "土地用途",
},
{
prop: "syqqzsj",
label: "使用权起止时间",
},
{
prop: "tdsyqx",
label: "土地使用期限",
},
{
prop: "qdjg",
label: "取得价格(万元)",
},
{
prop: "djyy",
label: "登记原因",
},
{
prop: "bdcqzh",
label: "不动产权证号",
},
{
prop: "djsj",
label: "登记时间",
},
{
prop: "dbr",
label: "登簿人",
},
{
prop: "fj",
label: "附记",
},
]
}
}
let datas = new data()
export {
datas
}
\ No newline at end of file
<template>
<div class="djxxTable">
<div class="tableBox">
<div class="title">
{{ title }}
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="xxTableBox">
<table class="xxTable">
<tr v-for="(item, colindex) in columns" :key="colindex">
<td>
{{ item.label }}
</td>
<td v-for="(row, index) in tableData" :key="index" :class="[
row.qszt == '2' ? 'lishi' : '',
row.qszt == '0' ? 'linshi' : '',
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
]">
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
</div>
<span v-if="item.prop == 'qszt'">
{{ getQsztName(row[item.prop]) }}
</span>
<span v-else> {{ row[item.prop] }}</span>
</td>
<td v-for="count in emptycolNum" :key="~count"></td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
import { datas } from "./jsydsyq.js";
import { getJsydsyqList } from "@/api/zhcx.js";
export default {
data () {
return {
qsztList: [
{
value: "0",
label: "临时",
},
{
value: "1",
label: "现势",
},
{
value: "2",
label: "历史",
},
],
checkList: ["0", "1", "2"],
//传递参数
propsParam: {},
//列表数据
tableData: [],
//空列值个数
emptycolNum: 0,
//列名称对象
columns: [],
title: "建设用地使用权、宅基地使用权登记信息",
};
},
created () {
this.propsParam = this.$attrs;
console.log(this.$attrs, 'this.$attrs;');
this.columns = datas.columns();
this.loadData();
// this.$alert(datas.columns());
},
methods: {
loadData () {
//this.$alert(this.propsParam.bdcdyh);
getJsydsyqList({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.emptycolNum = 3 - this.tableData.length;
}
});
},
checkChange () {
this.loadData();
},
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
return name;
},
},
};
</script>
<style lang="scss" scoped>
// @import "./qlxxCommon.scss";
</style>
......@@ -42,6 +42,7 @@ class data extends filter {
},
{
label: "是否启用",
width: '72',
render: (h, scope) => {
return (
<div>
......
......@@ -29,7 +29,7 @@
</el-collapse-transition>
</div>
</div>
<image-preview :previewImg="previewImg" />
<image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
......@@ -40,7 +40,6 @@ import { mapGetters } from "vuex";
import clxxAddDialog from "./clxxAddDialog.vue";
import imagePreview from '@/views/components/imagePreview.vue'
import { clmlInit, move, save, clmlDelete } from "@/api/fqsq.js";
import { async } from "q";
export default {
components: { clxxAddDialog, imagePreview },
data () {
......@@ -191,11 +190,14 @@ export default {
key: 0,
tableData: [],
previewImg: {
// 收件标识码
bsmSj: '',
bsmSlsq: this.$parent.bsmSlsq,
index: 0,
selectedIndex: 0,
imgList: [
{
url: 'https://img2.baidu.com/it/u=2955521104,3257476296&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=1111'
fjurl: 'https://img2.baidu.com/it/u=2955521104,3257476296&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=1111'
}
]
}
......@@ -213,21 +215,44 @@ export default {
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0].bsmSldy);
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
clmlInit(formdata).then((res) => {
resolve(res.code)
if (res.result.result) {
if (res.result.result && res.result.result.length > 0) {
this.tableData = res.result.result;
this.treeCheckId = this.tableData[0].bsmSj;
this.title = this.tableData[0].sjmc;
this.titleYs = 1;
this.titleNum = this.tableData[0].children.length;
this.previewImg.imgList = this.tableData[0]?.children;
this.previewImg.bsmSj = this.tableData[0]?.bsmSj;
}
console.log(this.tableData);
})
})
},
updateList (val) {
if(val!=null){ //删除最后一张图片时 val=null
this.tableData.forEach(item => {
if (item.bsmSj === val.bsmSj) {
item.children = val.children
}
})
this.previewImg.imgList = _.cloneDeep(val.children)
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1
}
}else{
this.previewImg.imgList = []
this.tableData.forEach(item => {
if(this.treeCheckId == item.bsmSj){
item.children = []
}
})
}
},
// 左侧菜单点击
menuClick (item) {
this.checkedId = item.id
......@@ -278,15 +303,8 @@ export default {
},
// 新增弹窗保存
addSave (data) {
let maxXh = 0;
this.tableData && this.tableData.forEach((item) => {
if (item.xh > maxXh) {
maxXh = item.xh;
}
});
let obj = {
bsmSlsq: this.id,
xh: maxXh + 1,
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
......@@ -295,31 +313,39 @@ export default {
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
};
save(obj).then((res) => {
console.log(res);
save(obj).then(async (res) => {
if (res.code == 200) {
this.$message({
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: "新增成功",
type: "success",
});
this.tableData = res.result ? res.result : [];
// 加载表格
this.clmlmxInit();
})
}
});
},
// 材料目录删除
handleDelete (index, row) {
clmlDelete({ sjBsm: row.bsmSj }).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
// 加载表格
this.clmlmxInit();
}
});
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
clmlDelete({ sjBsm: row.bsmSj }).then(async (res) => {
if (res.code == 200) {
let res = await that.clmlInitList()
if (res == 200) that.$message({
message: "删除成功",
type: "success",
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 材料目录关闭收起
iconClick () {
......@@ -333,9 +359,8 @@ export default {
// 材料目录点击选中
treeClick (item) {
this.treeCheckId = item.bsmSj;
this.title = item.sjmc;
this.titleYs = 1;
this.titleNum = item.children.length;
this.previewImg.imgList = item?.children;
this.previewImg.bsmSj = item?.bsmSj;
},
// 小图片点击
imgClick (item, index) {
......
<template>
<div class="from-clues">
<!-- 表单部分 -->
<!-- 发证信息 -->
<div class="from-clues-header">
<el-form :model="ruleForm">
<el-row :gutter="20">
......@@ -36,14 +36,12 @@
<script>
import table from "@/utils/mixin/table";
import { getCertificateList } from "@/api/fqsq.js";
import { datas } from "./fzxxdata";
import { datas } from "../javascript/fzxxdata";
export default {
mixins: [table],
components: {},
props: {
},
data () {
return {
ruleForm: {
......@@ -56,8 +54,8 @@ export default {
total: 0,
columns: datas.columns(),
data: [],
},
};
}
}
},
methods: {
// 列表渲染接口
......@@ -68,9 +66,9 @@ export default {
this.tableData.data = res.result
}
})
},
}
}
};
}
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
......
......@@ -101,15 +101,12 @@ export default {
this.$message.error(res.message)
}
})
},
},
}
}
}
</script>
<style scoped lang='scss'>
@import '~@/styles/mixin.scss';
.spyj {
margin-left: 5px;
......
<template>
<dialogBox title="退回" @submitForm="submitForm" saveButton="确认退回" width="80%"
@closeDialog="closeDialog" v-model="value">
<dialogBox title="退回" @submitForm="submitForm" saveButton="确认退回" width="80%" @closeDialog="closeDialog"
v-model="value">
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form ref="queryForm" label-width="120px">
<div>
<!-- <el-form-item label="不动产单元号:">
<p>{{item.bdcdyh}}</p>
</el-form-item> -->
<lb-table :column="columns" border :heightNum="390" :pagination="false" heightNumSetting
:data="tableData">
</lb-table>
<el-form-item label="退回意见:">
<el-input class="textArea" type="textarea" v-model="outstepopinion"></el-input>
</el-form-item>
</div>
<div>
<lb-table :column="columns" border :heightNum="390" :pagination="false" heightNumSetting :data="tableData">
</lb-table>
<el-form-item label="退回意见:">
<el-input class="textArea" type="textarea" v-model="outstepopinion"></el-input>
</el-form-item>
</div>
</el-form>
</div>
</div>
......@@ -23,33 +19,27 @@
</template>
<script>
import { getTaskBackNode,sendBackTask } from "@/api/fqsq.js"
import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js"
export default {
components: {
},
props: {
value: { type: Boolean, default: false },
queryForm:{type:Object},
taskId:{type:String},
bsmBusiness:{type:String}
queryForm: { type: Object },
taskId: { type: String },
bsmBusiness: { type: String }
},
data () {
const columns=[
// {
// label: '',
// align: 'center',
// render: (h, scope) => {
// return <el-radio label={scope.row.taskid} v-model={this.radioVal} >{''}</el-radio>
// }
// },
const columns = [
{
label: "",
width: "36px",
render: (h, scope) => {
return (
<div class="orgColumn">
<el-radio v-model={this.radioVal} label={scope.row.taskid} onChange={() => {this.radioClick(scope.row);
}}>
<el-radio v-model={this.radioVal} label={scope.row.taskid} onChange={() => {
this.radioClick(scope.row);
}}>
{" "}
&ensp;
</el-radio>
......@@ -65,62 +55,61 @@ export default {
prop: "assignee",
label: "办理人",
},
];
return {
columns,
radioVal:"",
outstepopinion:"",
tableData:[],
list:{
bsmSlsq:"",
backNodeList:[],
},
sumbitList:{},
activityId:"",
columns,
radioVal: "",
outstepopinion: "",
tableData: [],
list: {
bsmSlsq: "",
backNodeList: [],
},
sumbitList: {},
activityId: "",
}
},
mounted(){
if(this.$route.query.bsmSlsq){
this.list.bsmSlsq = this.$route.query.bsmSlsq
mounted () {
if (this.$route.query.bsmSlsq) {
this.list.bsmSlsq = this.$route.query.bsmSlsq
}
},
methods: {
tablelistFn(){
getTaskBackNode({bsmBusiness:this.bsmBusiness}).then(res => {
tablelistFn () {
getTaskBackNode({ bsmBusiness: this.bsmBusiness }).then(res => {
if (res.code === 200) {
this.tableData = res.result
this.tableData = res.result
}
})
},
radioClick(scope){
radioClick (scope) {
this.activityId = scope.activityId
this.sumbitList = scope
},
submitForm () {
if(this.activityId==undefined){
if (this.activityId == undefined) {
this.$message.error('请至少选择一条数据');
return
}
this.list.backNodeList.push({
id:this.taskId,
taskid:this.activityId,
processInstanceId:this.sumbitList.processInstanceId,
bsmBusiness:this.bsmBusiness,
outstepopinion:this.outstepopinion
})
id: this.taskId,
taskid: this.activityId,
processInstanceId: this.sumbitList.processInstanceId,
bsmBusiness: this.bsmBusiness,
outstepopinion: this.outstepopinion
})
sendBackTask(this.list).then(res => {
if (res.code === 200) {
this.$message.success('退回成功')
setTimeout(() => {
window.opener = null;
window.open("about:blank", "_self");
window.close();
this.$emit('input', false)
window.open("about:blank", "_self");
window.close();
this.$emit('input', false)
}, 1000);
}else{
} else {
this.$message.error(res.message)
}
})
......@@ -128,12 +117,13 @@ export default {
closeDialog () {
this.$emit("input", false);
},
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.textArea {
/deep/.el-textarea__inner {
min-height: 90px !important;
......
......@@ -28,7 +28,7 @@
<script>
import table from "@/utils/mixin/table";
import { getCertificateList, issueCertificate } from "@/api/fqsq.js";
import { datas } from "./fzxxdata";
import { datas } from "../javascript/fzxxdata";
import { mapGetters } from 'vuex'
export default {
mixins: [table],
......
......@@ -49,7 +49,7 @@
</template>
<script>
import { datas } from "./zsyl.js";
import { datas } from "../javascript/zsyl.js";
import { readYsxlh,certificate } from "@/api/fqsq.js"
export default {
components: {
......
//流程环节操作按钮
export function getForm(tabName) {
export function getForm (tabName) {
let form;
switch (tabName) {
case "slxx":
form = require("@/views/ywbl/fqsq/components/slxx.vue");
form = require("@/views/ywbl/jsydsyq/slxx.vue");
break;
case "slxxCfdj":
form = require("@/views/ywbl/fqsq/components/slxxCfdj.vue");
form = require("@/views/ywbl/cfdj/slxx.vue");
break;
case "clxx":
form = require("@/views/ywbl/fqsq/components/clxx.vue");
form = require("@/views/workflow/components/clxx.vue");
break;
case "spyj":
form = require("@/views/ywbl/fqsq/components/spyj.vue");
form = require("@/views/workflow/components/spyj.vue");
break;
case "zdjbxx":
form = require("@/views/zhcx/djbcx/components/zdxx.vue");
......@@ -21,10 +21,10 @@ export function getForm(tabName) {
form = require("@/views/zhcx/djbcx/components/jsydsyq.vue");
break;
case "szxx":
form = require("@/views/ywbl/fqsq/components/szxx.vue");
form = require("@/views/workflow/components/szxx.vue");
break;
case "fzxx":
form = require("@/views/ywbl/fqsq/components/fzxx.vue");
form = require("@/views/workflow/components/fzxx.vue");
break;
}
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
......
......@@ -122,13 +122,13 @@
}
.map-drawer-expand {
background: url("../../../image/right.png");
background: url("../../image/right.png");
background-size: cover;
right: 0%;
}
.map-drawer-click {
background: url("../../../image/left.png");
background: url("../../image/left.png");
background-size: cover;
left: 0%;
}
......
......@@ -74,9 +74,9 @@ import {
record,
getNextLinkInfo,
completeTask,
} from "@/api/fqsq.js";
} from "@/api/fqsq.js"
import { getWorkFlowImage } from "@/api/jsydsyqFlow.js"
import { getForm } from "./flowform.js";
import { getForm } from "./flowform.js"
export default {
data () {
return {
......@@ -115,7 +115,7 @@ export default {
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
};
}
},
mounted () {
this.loadBdcdylist();
......@@ -145,7 +145,7 @@ export default {
//默认加载第一个选项卡的组件内容
this.getFromRouter(res.result.form[0].value);
}
});
})
},
//流程环节操作按钮
operation (index, item) {
......@@ -187,7 +187,6 @@ export default {
this.send(res.result);
}
});
// this.$alert(res.result);
break;
case "signout":
window.close();
......@@ -196,7 +195,6 @@ export default {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
// comMsg;
this.$confirm("请确认是否登簿", "提示", {
iconClass: "el-icon-question", //自定义图标样式
confirmButtonText: "确认", //确认按钮文字更换
......
......@@ -129,7 +129,7 @@
</div>
</template>
<script>
import InformationTable from "./InformationTable";
import InformationTable from "@/views/workflow/components/InformationTable";
import { Init, fristReg } from "@/api/cfdjFlow.js";
import { mapGetters } from "vuex";
export default {
......
<template>
<div class="clxx">
<div class="left">
<div v-for="item in menuList" :key="item.id" :class="['item', checkedId == item.id ? 'active' : '']"
@click="menuClick(item)">
{{ item.label }}
</div>
</div>
<div class="right">
<!-- 材料目录明细 -->
<div class="clmlmx-box" v-if="checkedId == '1'">
<div class="title">申请材料目录</div>
<lb-table :column="column" :key="key" :heightNum="150" :pagination="false" :data="tableData">
</lb-table>
</div>
<!-- 材料预览 -->
<div class="clyl-box" v-else>
<div class="menu-tree">
<div class="item">
材料目录
<i :class="iclass" @click="iconClick()"></i>
<el-collapse-transition>
<div v-show="menuOpen">
<div v-for="item in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item)">
{{ item.sjmc }}
</div>
</div>
</el-collapse-transition>
</div>
</div>
<image-preview :previewImg="previewImg" @updateList="updateList" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
</div>
</template>
<script>
import { mapGetters } from "vuex";
import clxxAddDialog from "./clxxAddDialog.vue";
import imagePreview from '@/views/components/imagePreview.vue'
import { clmlInit, move, save, clmlDelete } from "@/api/fqsq.js";
export default {
components: { clxxAddDialog, imagePreview },
data () {
return {
isDialog: false,
menuList: [
{
id: "1",
label: "材料目录明细",
},
{
id: "2",
label: "材料预览",
},
],
menuOpen: true,
iclass: "itemIcon el-icon-caret-bottom",
treeCheckId: "",
checkedId: "1",
column: [
{
width: "35",
renderHeader: (h, scope) => {
return (
<i
class="el-icon-plus pointer"
onClick={() => {
this.handleAdd()
}}
></i>
);
},
render: (h, scope) => {
// 新建的材料,可删除
if (scope.row.sfxjcl === "1") {
return (
<i
class="el-icon-minus pointer"
onClick={() => {
this.handleDelete(scope.$index, scope.row);
}}
></i>
);
}
},
},
{
width: "35",
label: "序号",
type: "index",
},
{
prop: "isrequired",
label: "是否必选",
width: "50",
render: (h, scope) => {
if (scope.row.sfxjcl === "1") {
return (
<div>
<span>可选</span>
</div>
);
}
else {
return (
<div>
<span>必选</span>
</div>
);
}
},
},
{
prop: "sjmc",
label: "材料名称",
},
{
prop: "sjlx",
label: "材料类型",
width: "80",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
</div>
);
},
},
{
prop: "sjsl",
label: "份数",
width: "50"
},
{
prop: "smzt",
label: "扫描状态",
width: "80",
render: (h, scope) => {
if (scope.row.children.length > 0) {
return (
<div>
<span>已扫描</span>
</div>
);
} else {
return (
<div>
<span>未扫描</span>
</div>
);
}
},
},
{
prop: "ys",
label: "扫描页数",
width: "50"
},
{
label: "操作",
width: "80",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.$index == 0}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.$index + 1 == this.tableData.length}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
],
key: 0,
tableData: [],
previewImg: {
// 收件标识码
bsmSj: '',
bsmSlsq: this.$parent.bsmSlsq,
index: 0,
selectedIndex: 0,
imgList: [
{
fjurl: 'https://img2.baidu.com/it/u=2955521104,3257476296&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=1111'
}
]
}
}
},
computed: {
...mapGetters(["dictData"]),
},
created () {
this.clmlInitList()
},
methods: {
// 材料目录明细初始化
clmlInitList () {
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
clmlInit(formdata).then((res) => {
resolve(res.code)
if (res.result.result && res.result.result.length > 0) {
this.tableData = res.result.result;
this.treeCheckId = this.tableData[0].bsmSj;
this.title = this.tableData[0].sjmc;
this.titleYs = 1;
this.titleNum = this.tableData[0].children.length;
this.previewImg.imgList = this.tableData[0]?.children;
this.previewImg.bsmSj = this.tableData[0]?.bsmSj;
}
})
})
},
updateList (val) {
this.tableData.forEach(item => {
if (item.bsmSj === val.bsmSj) {
item.children = val.children
}
})
this.previewImg.imgList = _.cloneDeep(val.children)
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1
}
},
// 左侧菜单点击
menuClick (item) {
this.checkedId = item.id
},
// 添加材料目录
handleAdd () {
this.isDialog = true;
},
// 上移
moveUpward (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "UP",
};
// 接口待调
move(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '上移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 下移
moveDown (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "DOWN",
}
// 接口待调
move(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '下移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 新增弹窗保存
addSave (data) {
let obj = {
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
smzt: '',
ys: 0,
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
};
save(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: "新增成功",
type: "success",
})
}
});
},
// 材料目录删除
handleDelete (index, row) {
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
clmlDelete({ sjBsm: row.bsmSj }).then(async (res) => {
if (res.code == 200) {
let res = await that.clmlInitList()
if (res == 200) that.$message({
message: "删除成功",
type: "success",
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 材料目录关闭收起
iconClick () {
this.menuOpen = !this.menuOpen;
if (this.menuOpen) {
this.iclass = "itemIcon el-icon-caret-bottom close";
} else {
this.iclass = "itemIcon el-icon-caret-bottom open";
}
},
// 材料目录点击选中
treeClick (item) {
this.treeCheckId = item.bsmSj;
this.previewImg.imgList = item?.children;
this.previewImg.bsmSj = item?.bsmSj;
},
// 小图片点击
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
// 字典
dicStatus (val, code) {
let data = this.$store.getters.dictData[code],
name = "暂无";
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname;
}
});
return name;
}
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.active {
background: $light-blue !important;
color: #fff;
}
.clxx {
width: 100%;
display: flex;
padding-left: 5px;
height: calc(100vh - 125px);
.left {
display: flex;
flex-direction: column;
justify-content: space-between;
.item {
width: 28px;
height: 49%;
@include flex-center;
background-color: #E4E7ED;
border-bottom-right-radius: 10px;
padding: 5px;
cursor: pointer;
transition: all 0.3s;
&:hover {
@extend .active;
}
}
}
.right {
width: 100%;
height: 100%;
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
.clyl-box {
width: 100%;
height: 100%;
display: flex;
.menu-tree {
width: 20%;
min-width: 160px;
height: 100%;
margin-right: 10px;
border-right: 1px dotted #d9d9d9;
padding: 0 15px;
.item {
height: 60px;
line-height: 60px;
border-bottom: 1px solid #e8e8e8;
font-size: 16px;
color: #4a4a4a;
.itemIcon {
float: right;
line-height: 60px;
cursor: pointer;
}
@keyframes open {
100% {
transform: rotate(180deg);
}
}
@keyframes close {
0% {
transform: rotate(180deg);
}
100% {
transform: rotate(-0deg);
}
}
.open {
animation: open 0.5s;
animation-fill-mode: both;
}
.close {
animation: close 0.5s;
animation-fill-mode: both;
}
.child {
line-height: 36px;
border-bottom: 1px solid #e8e8e8;
padding-left: 10px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
}
.checked {
border-radius: 6px;
border: 1px solid #4083f9;
}
}
}
.clyl-img {
width: 75%;
height: 100%;
background: #f3f4f7;
margin: 0 auto;
position: relative;
}
}
}
}
</style>
\ No newline at end of file
<template>
<dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
:isFullscreen="false">
<el-form :model="ruleForm" ref="ruleForm" label-width="70px">
<el-row>
<el-col :span="24">
<el-form-item label="材料类型">
<el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="材料名称">
<el-input v-model="ruleForm.clmc"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import { mapGetters } from "vuex";
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
ruleForm: {
cllx: "",
clmc: "",
},
};
},
computed: {
...mapGetters(["dictData"]),
},
watch: {
value (val) {
this.myValue = val;
},
},
methods: {
closeDialog () {
this.$emit("input", false);
},
handleSubmit () {
this.$parent.addSave(this.ruleForm);
this.$emit("input", false);
},
},
};
</script>
<style scoped lang="scss">
.submit-button {
text-align: center;
height: 52px;
padding-top: 10px;
background-color: #fff;
}
</style>
export default {
data () {
return {
isSearch: false,
searchList: []
}
},
methods: {
moreQueryClick () {
this.isSearch = true
},
getSearch (val) {
let obj = { ywlymc: '业务来源', sqywmc: '申请业务名称', qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间' }
this.searchList = Object.entries(val).map((item) => {
const [name, value] = item
if (value) return { name: obj[name], value }
}).filter(Boolean)
},
hanldeCleanAll () {
this.searchList = []
}
}
}
<!--
功能:高级搜索
作者:calliope
-->
<template>
<dialogBox :isButton="false" :isFullscreen="false" width="50%" @closeDialog="closeDialog" v-model="myValue"
title="高级搜索">
<el-form :model="ruleForm" ref="ruleForm" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="业务来源" prop="ywlymc">
<el-input v-model="ruleForm.ywlymc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申请业务名称" prop="sqywmc">
<el-input v-model="ruleForm.sqywmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利人" prop="qlrmc">
<el-input v-model="ruleForm.qlrmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="义务人" prop="ywrmc">
<el-input v-model="ruleForm.ywrmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理时间" prop="slsj">
<el-date-picker v-model="ruleForm.slsj" value-format="yyyy-MM-dd" class="width100" type="date"
placeholder="请选择日期" clearable>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row class="search-btn">
<el-button type="text" @click.native="closeDialog">收起搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="submitForm('ruleForm')">查询</el-button>
<el-button icon="el-icon-refresh-left" @click="resetForm('ruleForm')">重置</el-button>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
ruleForm: {
ywlymc: '',
sqywmc: '',
qlrmc: '',
ywrmc: '',
slsj: ''
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
resetForm () {
this.$refs['ruleForm'].resetFields()
},
submitForm () {
this.$emit('getSearch', this.ruleForm)
this.$refs['ruleForm'].resetFields()
this.$emit('input', false)
}
}
}
</script>
<style scoped lang='scss'>
@import '~@/styles/public.scss';
.search-btn {
padding: 0 20px 20px 20px;
text-align: right;
}
/deep/.el-icon-date {
display: none;
}
</style>
\ No newline at end of file
......@@ -45,9 +45,13 @@
<el-row class="advanced-search">
<span>高级搜索条件:</span>
<ul>
<li>不动产单元号:201252222<i class="el-icon-circle-close"></i></li>
<li v-for="(item,index) in searchList" :key="index">
{{item.name}}:{{item.value}}
<i class="el-icon-circle-close" @click="handelItem(index)"></i>
</li>
</ul>
<el-button class="clean-btn" type="text">清除全部</el-button>
<el-button class="clean-btn" type="text" v-if="searchList.length>0" @click.native="hanldeCleanAll">清除全部
</el-button>
</el-row>
</el-form>
</div>
......@@ -57,17 +61,20 @@
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<searchBox v-model="isSearch" @getSearch="getSearch" />
</div>
</template>
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./dbxdata";
import { searchTaskToDo, deleteFlow } from "@/api/ywbl.js"
import { mapGetters } from 'vuex'
import searchBox from '../components/search.vue'
import table from "@/utils/mixin/table"
import searchMin from "../components/mixin/index"
import { datas, sendThis } from "./dbxdata"
import { searchTaskToDo, deleteFlow } from "@/api/ywbl.js"
export default {
name: "dbx",
components: {},
mixins: [table],
components: { searchBox },
mixins: [table, searchMin],
computed: {
...mapGetters(['dictData']),
},
......@@ -83,12 +90,11 @@ export default {
total: 0,
columns: datas.columns(),
data: [],
},
};
}
}
},
mounted () {
sendThis(this);
let that = this
window.addEventListener('visibilitychange', this.init, true)
},
destroyed () {
......@@ -111,7 +117,6 @@ export default {
searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => {
if (res.code === 200) {
let { total, records } = res.result
let str = ''
records.forEach(item => {
item.qlrmc = item.qlrmc.join(',')
item.ywh = item.ywh.join(',')
......@@ -120,7 +125,6 @@ export default {
item.qlrmcStr = item.qlrmc ? String(item.qlrmc) : ''
item.ywrmcStr = item.ywrmc ? String(item.ywrmc) : ''
})
console.log(records);
this.tableData.total = total;
this.tableData.data = records ? records : []
}
......@@ -129,6 +133,11 @@ export default {
queryClick () {
this.fetchData()
},
handelItem (index) {
console.log(index);
this.searchList.splice(index, 1)
},
handleSort (val) {
this.queryForm.sortField = val.prop
this.queryForm.sortOrder = val.order == "ascending" ? 'asc' : 'desc'
......@@ -158,8 +167,8 @@ export default {
this.$message({
type: 'info',
message: '已取消删除'
});
});
})
})
},
ywhClick (item) {
const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1');
......
......@@ -33,9 +33,9 @@ class data extends filter {
render: (h, scope) => {
switch (scope.row.lczt) {
case '1':
return <span>进行中</span>
return <div class='allow'>进行中</div>
case '2':
return <span>已结束</span>
return <div class='prohibit'>已结束</div>
case '3':
return <span>进行中</span>
}
......
<template>
<div class="fqsq">
<div class="fqsq-header">
<ul>
<li @click="operation(index, item)" v-for="(item, index) in headerleftList" :key="index">
<svg-icon :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<ul>
<li @click="operation(index, item)" v-for="(item, index) in headerRightList" :key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
</div>
<div class="tabsList">
<div class="tabsList-left">
<div class="map-drawer-click" v-if="!isShowdrawer" @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div class="map-drawer-expand" v-else @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<ul v-if="this.isShowdrawer">
<p class="title">申请单元列表({{ unitData.length }})</p>
<div v-for="(item, index) in unitData" :key="index">
<li @click="unitClick(item)">
<p>{{ item.bdcdyh }}</p>
<p>{{ item.zl }}</p>
</li>
<div class="xian"></div>
</div>
</ul>
</div>
<div class="tabsList-right">
<div class="fenpin" v-show="issplitScreen">
<p class="splitScreen tabsList-title">材料信息</p>
<div class="splitScreen"></div>
</div>
<div style="width: 100%">
<el-tabs v-model="activeName" @tab-click="activeClick">
<el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index">
</el-tab-pane>
</el-tabs>
<div class="splitScreen-con">
<component ref="slxx" v-if="activeName == 'slsq'" :is="editItem" :flag="flag" :fetch='fetch' :key="key" />
<component :is="editItem" v-else :key="key" />
</div>
</div>
</div>
</div>
<zc ref="zcDialogRef" v-model="zcDialog" :queryForm="queryForm" />
<thDialog ref="thdialogRef" v-model="thflag" :bsmBusiness="bsmBusiness" :queryForm="queryForm" />
<zslqDialog ref="zslqDialog" v-model="zslqDialog" />
<zsylDialog v-model="zsylFlag" />
</div>
</template>
<script>
import { leftMenu, stepExpandInfo, record } from "@/api/fqsq.js";
import comMsg from "@/views/components/comMsg.vue";
import zc from "./components/zc.vue";
import thDialog from "./components/th.vue";
import zsylDialog from "./components/zsyl";
import zslqDialog from "./components/zslq";
export default {
/**注册组件*/
components: { zc, thDialog, zsylDialog, comMsg, zslqDialog },
data () {
return {
activeIndex: '0',
zsylFlag: false,
zcDialog: false,
thflag: false,
zslqDialog: false,
queryForm: {
bsmSlsq: "",
bestepid: "",
bsmBusiness: ""
},
isShowdrawer: true,
key: 0,
flag: false,
headerleftList: [],
headerRightList: [],
activeName: "slxx",
tabList1: [],
tabList: [],
editItem: "",
issplitScreen: false,
unitData: [],
bsmBusiness: "",
fetch: false
};
},
watch: {
activeName: {
handler (newName, oldName) {
if (newName === "qlxx") {
this.editItem = this.loadViewSlsq();
} else {
console.log(newName, 'newNamenewNamenewName');
this.editItem = this.loadView(newName);
}
},
immediate: true,
},
},
mounted () {
if (this.$route.query.bsmSlsq) {
this.expandInfo(this.$route.query.bsmSlsq, this.$route.query.bestepid);
this.queryForm.bsmSlsq = this.$route.query.bsmSlsq;
this.queryForm.bestepid = this.$route.query.bestepid;
this.queryForm.bsmBusiness = this.$route.query.bsmBusiness;
this.list();
}
},
methods: {
// 获取左侧列表
list () {
let that = this;
var formdata = new FormData();
formdata.append("bsmSlsq", that.queryForm.bsmSlsq);
formdata.append("bestepid", that.queryForm.bestepid);
formdata.append("bsmBusiness", that.queryForm.bsmBusiness);
leftMenu(formdata).then((res) => {
if (res.code === 200) {
this.unitData = res.result ? res.result : [];
setTimeout(() => {
that.$refs.slxx?.[0].list(that.unitData?.[0]?.bsmSldy);
this.bsmBusiness = that.unitData?.[0]?.bsmBusiness;
}, 300);
}
});
},
//获取环节扩展信息
expandInfo (bsmSlsq, bestepid) {
let that = this;
var formdata = new FormData();
formdata.append("bsmSlsq", bsmSlsq);
formdata.append("bestepid", bestepid);
stepExpandInfo(formdata).then((res) => {
if (res.code === 200) {
this.tabList1 = [...res.result.form];
this.tabList = res.result.form;
this.activeName = res.result.form[0].value;
this.headerleftList = res.result.button;
this.headerRightList = res.result.operation;
}
});
},
activeClick (tab, event) {
if (tab.name == "slxx") {
this.list();
}
},
// 左侧列表点击调用接口
unitClick (item) {
console.log(item, 'unitClickunitClickunitClick');
this.bsmBusiness = item.bsmBusiness
var activeTabName = this.activeName
if (activeTabName == 'slxx') {
//受理信息页面接口调取
this.$nextTick(() => {
this.$refs.slxx[0].list(item.bsmSldy)
})
} else if (activeTabName == 'spyj') {
//审批页面接口调取
this.$nextTick(() => {
this.$refs.spyj[0].list(this.bsmBusiness, this.queryForm.bestepid)
})
}
},
operation (index, item) {
let that = this;
switch (item.value) {
case "zsyl":
this.zsylFlag = true;
break;
case "clfp":
this.key++;
this.issplitScreen = !this.issplitScreen;
this.flag = !this.flag;
if (this.issplitScreen) {
this.tabList.splice(1, 1);
} else {
this.tabList = [...this.tabList1];
}
break;
case "th":
this.thflag = true;
this.$nextTick(() => {
this.$refs.thdialogRef.tablelistFn();
});
break;
case "zc":
this.zcDialog = true;
this.$refs.zcDialogRef.tablelistFn();
break;
case "tc":
window.close();
break;
case "zslq":
this.zslqDialog = true;
this.$refs.zslqDialog.tablelistFn();
break;
case "db":
var formdata = new FormData();
formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
formdata.append("bestepid", this.$route.query.bestepid);
// comMsg;
this.$confirm("请确认是否登簿", "提示", {
iconClass: "el-icon-question", //自定义图标样式
confirmButtonText: "确认", //确认按钮文字更换
cancelButtonText: "取消", //取消按钮文字更换
showClose: true, //是否显示右上角关闭按钮
type: "warning", //提示类型 success/info/warning/error
})
.then(function () {
record(formdata).then((res) => {
if (res.code === 200 || res.code === 2002) {
that.$alert(res.message);
}
});
});
break;
}
},
loadView (view) {
return (r) =>
require.ensure([], () => r(require(`./components/${view}.vue`)));
},
loadViewSlsq () {
return (r) =>
require.ensure([], () =>
r(require("@/views/zhcx/djbcx/components/jsydsyq.vue"))
);
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
/deep/.svg-icon {
width: 2.5em;
height: 2.5em;
}
/deep/.el-tabs__nav-wrap {
padding: 5px 0 0 15px;
}
/deep/.el-tabs__nav-wrap::after {
height: 1px;
}
.iconName {
line-height: 24px;
font-size: 12px;
}
/deep/.el-tabs__header {
margin: 0 !important;
}
.splitScreen-con {
padding: 0 15px;
box-sizing: border-box;
height: calc(100% - 350px);
}
.fqsq {
width: 100%;
height: 100%;
padding: 0;
box-sizing: border-box;
background-color: #ffffff;
overflow: hidden;
.splitScreen {
min-width: 50%;
}
&-header {
@include flex;
width: 100%;
height: 80px;
background-color: #3498db;
color: #ffffff;
justify-content: space-between;
padding-left: 15px;
position: sticky;
top: 0;
z-index: 100;
ul {
@include flex;
li {
@include flex-center;
cursor: pointer;
flex-direction: column;
margin-right: 15px;
box-sizing: border-box;
width: 70px;
margin: 0 5px;
}
li:hover {
border: 1px solid #ffffff;
border-radius: 5px;
.svg-icon {
//color: $light-blue ;
}
}
}
}
/deep/.el-menu-item.is-active {
background-color: #e7f4fe;
}
.map-drawer-expand {
width: 20px;
height: 77px;
background: url("../../../image/right.png");
background-size: cover;
position: absolute;
right: 0%;
top: 30%;
z-index: 99;
cursor: pointer;
}
.map-drawer-click {
width: 20px;
height: 77px;
background: url("../../../image/left.png");
background-size: cover;
position: absolute;
left: 0%;
top: 30%;
z-index: 999;
cursor: pointer;
}
.hide {
display: none;
}
.tabsList {
width: 100%;
position: sticky;
top: 80px;
background-color: #ffffff;
z-index: 100;
@include flex;
.tabsList-left {
border-right: 1px solid #ebeef5;
position: relative;
box-sizing: border-box;
ul {
position: relative;
.xian {
background: #f2f2f2;
padding: 2px;
}
.title {
padding: 20px;
text-align: center;
}
li {
padding: 10px;
font-size: 14px;
color: #606266;
line-height: 20px;
}
li:hover {
color: #0f93f6;
cursor: pointer;
}
}
}
.tabsList-right {
.fenpin {
min-width: 50%;
border-right: 1px solid #ebeef5;
}
background-color: #ffffff;
width: 100%;
height: 100%;
z-index: 100;
@include flex;
}
}
.tabsList-title {
display: block;
line-height: 59px;
}
/deep/.el-tabs {
width: 100%;
}
}
</style>
\ No newline at end of file
<template>
<!-- 受理信息 -->
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
label-width="120px">
<div class="slxx_con">
<div class="slxx_title">受理信息</div>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:" prop="ywh">
<el-input disabled v-model="ruleForm.ywh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:" prop="slry">
<el-input disabled v-model="ruleForm.slry"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:" prop="slsj">
<el-input disabled v-model="ruleForm.slsj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:" prop="qllx">
<el-select disabled v-model="ruleForm.qllx" filterable clearable placeholder="请选择权利类型">
<el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:" prop="djlx">
<el-select disabled v-model="ruleForm.djlx" filterable clearable placeholder="请选择登记类型">
<el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:" prop="djqx">
<el-input disabled v-model="ruleForm.djqxmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title">不动产单元情况</div>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="宗地代码:" prop="zddm">
<el-input disabled v-model="ruleForm.zddm"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="不动产单元号:" prop="bdcdyh">
<el-input disabled v-model="ruleForm.bdcdyh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="权利性质:" prop="qlxzmc">
<el-input disabled v-model="ruleForm.qlxzmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="自然幢号:" prop="zrzh">
<el-input disabled v-model="ruleForm.zdmj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="户不动产单元号:" prop="hbdcdyh">
<el-input disabled v-model="ruleForm.ghytmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="登记状态:" prop="djzt">
<el-select disabled v-model="ruleForm.djzt" filterable clearable>
<el-option v-for="item in djztList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="图幅丘幢号:" prop="tfqzh">
<el-input disabled v-model="ruleForm.tfqzh"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:" prop="zl">
<el-input disabled v-model="ruleForm.zl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="房屋用途:">
<el-input disabled v-model="ruleForm.fwyt"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="房屋性质:">
<el-input disabled v-model="ruleForm.fwxz"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="房屋结构:">
<el-input disabled v-model="ruleForm.fwjg"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title">权利人信息</div>
<el-row :gutter="10">
<el-col :span="14">
<el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:">
<el-radio-group v-model="ruleForm.gyfs">
<el-radio label="1">单独所有</el-radio>
<el-radio label="2">共同共有</el-radio>
<el-radio label="3">按份所有</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.gyfs == '2'">
<el-form-item :class="flag ? 'marginBot0' : ''" label="是否分别持证:">
<el-radio-group v-model="ruleForm.sffbcz">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.gyfs == '2'">
<el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:">
<el-select v-model="ruleForm.czr" placeholder="持证人">
<el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<InformationTable :tableData="ruleForm.qlrxx" :gyfs="ruleForm.gyfs" />
<div class="slxx_title">登记原因{{flag}}</div>
<el-row :gutter="10">
<el-col>
<el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" v-model="ruleForm.djyy"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn">
<el-form-item :class="flag ? 'marginBot0' : ''">
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import InformationTable from "@/views/workflow/components/InformationTable";
import { Init, fristReg } from "@/api/jsydsyqFlow.js";
import { mapGetters } from "vuex";
export default {
async created () {
this.propsParam = this.$attrs;
var formdata = new FormData();
formdata.append("bsmSldy", this.propsParam.bsmSldy);
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = {
...res.result,
...res.result.zdjbxxdatas,
...res.result.qlxxdatas,
...res.result.jsydsyqdatas,
};
}
});
},
components: { InformationTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data () {
return {
disabled: true,
tdytOption: [],
czrOptions: [],
ruleForm: {
ywh: "",
slry: "",
slsj: "",
qllx: "",
djlx: "",
djqx: "",
// 宗地代码
zddm: "",
bdcdyh: "",
qlxzmc: "",
qlrxx: [],
// 自然幢号
zrzh: "",
// 户不动产单元号
hbdcdyh: '',
djzt: '',
// 图幅丘幢号
tfqzh: '',
zl: '',
// 房屋用途
fwyt: '',
fwxz: '',
fwjg: '',
// 权利人信息
gyfs: "1",
// 是否分别持证
sffbcz: "",
// 持证人
czr: "",
djyy: ''
},
//传递参数
propsParam: {},
rules: {},
};
},
methods: {
list (bsmSldy) {
var formdata = new FormData();
formdata.append("bsmSldy", bsmSldy);
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = {
...res.result,
...res.result.zdjbxxdatas,
...res.result.qlxxdatas,
...res.result.jsydsyqdatas,
};
}
});
},
onSubmit () {
fristReg(this.ruleForm).then((res) => {
if (res.code === 200 && res.result) {
console.log(res);
//this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas }
}
});
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
/deep/.el-form {
display: flex;
flex-direction: column;
height: calc(100vh - 130px);
background-color: aqua;
}
/deep/.el-form-item__label {
padding: 0;
}
/deep/.el-radio {
margin-right: 10px;
}
/deep/.el-select {
width: 100%;
}
/deep/.el-form-item {
margin-bottom: 8px;
}
.marginBot0 {
margin-bottom: 0 !important;
}
.slxx {
box-sizing: border-box;
}
.slxx_con {
flex: 1;
height: 100%;
background-color: #ffffff;
overflow-y: auto;
padding-right: 3px;
overflow-x: hidden;
}
.submit_btn {
height: 50px;
}
.slxx_title {
border-bottom: 1px solid $borderColor;
padding-left: 10px;
padding-bottom: 5px;
margin-bottom: 10px;
margin-top: 5px;
font-size: 16px;
font-weight: 500;
color: #4a4a4a;
}
.btn {
text-align: center;
padding-top: 10px;
height: 36px;
background-color: #ffffff;
padding: 5px 0;
}
.textArea {
/deep/.el-textarea__inner {
min-height: 90px !important;
}
}
/deep/.el-form-item__label {
padding-bottom: 0px;
}
</style>
\ No newline at end of file
<template>
<!-- 受理信息 -->
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
label-width="120px">
......@@ -162,12 +163,11 @@
</div>
</template>
<script>
import InformationTable from "./InformationTable";
import InformationTable from "@/views/workflow/components/InformationTable";
import { Init, fristReg } from "@/api/jsydsyqFlow.js";
import { mapGetters } from "vuex";
export default {
async created () {
//var bsmSldy = this.$parent._data.unitData[0].bsmSldy;
this.propsParam = this.$attrs;
var formdata = new FormData();
formdata.append("bsmSldy", this.propsParam.bsmSldy);
......
......@@ -42,26 +42,39 @@
</el-form-item>
</el-col>
</el-row>
<el-row class="advanced-search">
<span>高级搜索条件:</span>
<ul>
<li v-for="(item,index) in searchList" :key="index">
{{item.name}}:{{item.value}}
<i class="el-icon-circle-close" @click="handelItem(index)"></i>
</li>
</ul>
<el-button class="clean-btn" type="text" v-if="searchList.length>0" @click.native="hanldeCleanAll">清除全部</el-button>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-table :page-size="pageData.size" @sort-change="handleSort" border :current-page.sync="pageData.current"
:total="pageData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
<lb-table :page-size="pageData.size" :heightNum="300" @sort-change="handleSort" border
:current-page.sync="pageData.current" :total="pageData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<searchBox v-model="isSearch" @getSearch="getSearch" />
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./ybxdata";
import searchMin from "../components/mixin/index"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./ybxdata"
import { searchTaskDone } from "@/api/ywbl.js"
import searchBox from '../components/search.vue'
export default {
name: "ybx",
components: {},
mixins: [table],
components: { searchBox },
mixins: [table, searchMin],
mounted () {
sendThis(this);
},
......@@ -70,6 +83,7 @@ export default {
},
data () {
return {
queryForm: {
ywly: "",
qllx: "",
......
......@@ -54,6 +54,7 @@
<script>
//查封登记
import { datas, sendThis } from "../javascript/bdcql.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectQlxx, startBusinessFlow } from "@/api/ywbl.js";
......@@ -65,13 +66,7 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm,
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -96,6 +91,7 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm=this.djywbm;
selectQlxx({ ...this.queryForm, ...this.pageData })
.then((res) => {
if (res.code === 200) {
......
......@@ -54,6 +54,7 @@
</template>
<script>
import { datas, sendThis } from "../javascript/bdcqlMain.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectQlxx, startBusinessFlow } from "@/api/ywbl.js";
......@@ -65,13 +66,7 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm,
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -96,6 +91,7 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm=this.djywbm;
selectQlxx({ ...this.queryForm, ...this.pageData })
.then((res) => {
if (res.code === 200) {
......
......@@ -54,6 +54,7 @@
<script>
//查封登记
import { datas, sendThis } from "../javascript/cfdj.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectCfdj, startBusinessFlow } from "@/api/ywbl.js";
......@@ -65,13 +66,7 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm,
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -96,6 +91,7 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm=this.djywbm;
selectCfdj({ ...this.queryForm, ...this.pageData })
.then((res) => {
if (res.code === 200) {
......
......@@ -56,6 +56,7 @@
<script>
//抵押权首次登记
import { datas, sendThis } from "../javascript/diyaq.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectDiyaq, startBusinessFlow } from "@/api/ywbl.js";
......@@ -68,13 +69,7 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -99,6 +94,7 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm=this.djywbm;
selectDiyaq({ ...this.queryForm, ...this.pageData }).then((res) => {
if (res.code === 200) {
let { total, records } = res.result;
......@@ -131,11 +127,9 @@ export default {
handleSelectionChange (val) {
this.bdcdysz = val;
},
queryClick () {
this.fetchData();
},
},
};
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
......
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-tabs v-model="activeName">
<el-tab-pane label="自然幢" name="first"></el-tab-pane>
<el-tab-pane label="户" name="second"></el-tab-pane>
</el-tabs>
<el-form :model="queryForm" ref="queryForm" label-width="100px">
<el-row>
<el-col :span="5">
<el-form-item label="权利类型" label-width="70px">
<el-select v-model="queryForm.qllx" filterable class="width100" clearable placeholder="请选择权利类型">
<el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="不动产单元号">
<el-input placeholder="不动产单元号" v-model="queryForm.bdcdyh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="业务号" label-width="70px">
<el-input placeholder="业务号" v-model="queryForm.ywh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="不动产权证号">
<el-input placeholder="不动产权证号" v-model="queryForm.bdcqzh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnCol">
<el-form-item>
<el-button type="primary" @click="queryClick()">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-table border :page-size="pageData.pageSize" :heightNum="400" :current-page.sync="pageData.currentPage"
:total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
@selection-change="handleSelectionChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<div class="submit_button">
<el-button @click="closeDialog">取消</el-button>
<el-button type="primary" plain @click="submitForm" :loading="saveloding">发起申请</el-button>
</div>
</div>
</template>
<script>
//国有建设用地使用权/房屋使用权
import { mapGetters } from 'vuex'
import { datas, sendThis } from "../javascript/houseOwnership.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectScBdcdy, startBusinessFlow } from "@/api/ywbl.js";
export default {
props: {
bsmSqyw: { type: String, default: "" },
djqxObj: { type: Object, default: "" },
djywbm: { type: String, default: "" }
},
mixins: [table, jump],
data () {
return {
activeName: 'first',
queryForm: {
qllx: '',
bdcdyh: '',
ywh: '',
bdcqzh: ''
},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
bdcdysz: [],
saveloding: false,
};
},
watch: {
bsmSqyw (val) {
this.fetchData();
},
},
mounted () {
sendThis(this);
},
computed: {
...mapGetters(['dictData']),
},
methods: {
closeDialog () {
this.$emit("closeDialog");
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm = this.djywbm;
selectScBdcdy({ ...this.queryForm, ...this.pageData }).then((res) => {
if (res.code === 200) {
let { total, records } = res.result;
this.tableData.total = total;
this.tableData.data = records;
}
});
}
},
submitForm () {
if (this.bdcdysz.length == 0) {
this.$message.error("请至少选择一条数据");
return;
}
this.saveloding = true;
startBusinessFlow({
bsmSqyw: this.bsmSqyw,
bdcdysz: this.bdcdysz,
djqxbm: this.djqxObj.djqxbm,
djqxmc: this.djqxObj.djqxmc,
}).then((res) => {
this.saveloding = false;
if (res.code == 200) {
this.jump(res.result)
} else {
this.$message.error(res.message);
}
});
},
handleSelectionChange (val) {
this.bdcdysz = val;
}
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
</style>
<template>
<div class="from-clues">
<!-- 表单部分 -->
<!-- 表单部分 国有建设用地使用权 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm" label-width="120px">
<el-row>
......@@ -11,8 +11,8 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="不动产权证号">
<el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width300px">
<el-form-item label="坐落">
<el-input placeholder="请输入坐落" v-model="queryForm.zl" clearable class="width300px">
</el-input>
</el-form-item>
</el-col>
......@@ -40,6 +40,7 @@
<script>
//首次登记
import { datas, sendThis } from "../javascript/jsydsyq100.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectScBdcdy, startBusinessFlow } from "@/api/ywbl.js";
......@@ -52,13 +53,8 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm,
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -83,6 +79,8 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm = this.djywbm;
selectScBdcdy({ ...this.queryForm, ...this.pageData }).then((res) => {
if (res.code === 200) {
let { total, records } = res.result;
......@@ -115,11 +113,8 @@ export default {
handleSelectionChange (val) {
this.bdcdysz = val;
},
queryClick () {
this.fetchData();
},
},
};
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
......
......@@ -56,6 +56,7 @@
<script>
//首次登记
import { datas, sendThis } from "../javascript/jsydsyq200.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import table from "@/utils/mixin/table";
import jump from "../components/mixin/jump";
import { selectQlxx, startBusinessFlow } from "@/api/ywbl.js";
......@@ -68,13 +69,7 @@ export default {
mixins: [table, jump],
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
sqywbm: this.djywbm,
},
queryForm: defaultParameters.defaultParameters(),
qllxs: [],
tableData: {
total: 0,
......@@ -99,6 +94,8 @@ export default {
},
fetchData () {
if (this.bsmSqyw) {
this.queryForm.sqywbm = this.djywbm;
selectQlxx({ ...this.queryForm, ...this.pageData }).then((res) => {
if (res.code === 200) {
let { total, records } = res.result;
......@@ -134,13 +131,9 @@ export default {
item.ybdcqzsh = item.bdcqzh
})
this.bdcdysz = val;
},
queryClick () {
this.fetchData();
},
},
};
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
......
......@@ -9,6 +9,10 @@ export default {
data.bestepid + '&bsmBusiness='
);
window.open(href, "_blank");
},
queryClick () {
this.pageData.currentPage = 1
this.fetchData();
}
}
}
......
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
type: 'selection',
label: '全选'
},
{
label: '序号',
type: 'index',
width: '50',
render: (h, scope) => {
return (
<div>
{(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1}
</div>
)
}
},
{
prop: "status",
label: "状态",
},
{
prop: "qllxmc",
label: "权利类型",
},
{
prop: "zrzh",
label: "自然幢号",
},
{
prop: "bdcdyh",
label: "不动产单元号",
},
{
prop: "showQlxz",
label: "权利性质",
},
{
prop: "zdmj",
label: "宗地面积",
},
{
prop: "qlsdfsmc",
label: "权利设定方式",
},
{
prop: "showFwyt",
label: "房屋用途",
},
{
prop: "zl",
label: "坐落",
},
]
}
}
let datas = new data()
export {
datas,
sendThis
}
......@@ -26,10 +26,10 @@ class data extends filter {
)
}
},
{
prop: "status",
label: "状态",
},
// {
// prop: "status",
// label: "状态",
// },
{
prop: "qllxmc",
label: "权利类型",
......@@ -48,7 +48,7 @@ class data extends filter {
},
{
prop: "zdmj",
label: "宗地面积",
label: "宗地面积(㎡)",
},
{
prop: "qlsdfsmc",
......
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
//选择单元通用默认查询条件
class data extends filter {
constructor() {
super()
}
defaultParameters () {
return {
qllx: "",
bdcdyh: "",
ywh: "",
bdcqzh: "",
fwfl: "",
zl: "",
}
}
}
let defaultParameters = new data()
export {
defaultParameters,
sendThis
}
......@@ -23,6 +23,7 @@ export default {
this.myValue = val
},
djywbm (val) {
console.log(val);
let dd = queueDjywmc(val);
this.editItem = this.loadView(dd);
},
......
export function queueDjywmc(djywbm) {
export function queueDjywmc (djywbm) {
let vm = null;
switch (djywbm) {
case "A03100"://建设用地使用权(首次登记)
......@@ -9,6 +9,9 @@ export function queueDjywmc(djywbm) {
case "A03200":
case "A03300":
case "A03400":
case "A04100":
vm = "houseOwnership";
break;
case "A05200":
case "A05300":
case "A05400":
......