bf492ecf by 单帅旗

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	public/config.json
2 parents b21f285e 272383f1
Showing 60 changed files with 1429 additions and 539 deletions
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-02 09:47:57
* @LastEditTime: 2023-06-20 09:56:19
-->
<!DOCTYPE html>
<html>
......@@ -22,7 +22,7 @@
cloudEnable: false,
baseUrl: location.origin || location.protocol + '//' + location.host,
// 是否启用单点登录
casEnable: true,
casEnable: false,
// cas 基地址
casBaseURL: 'http://192.168.2.38/cas',
services: {
......
......@@ -71,12 +71,6 @@ export function leftMenubl (params) {
* @param {*} params
* @author: renchao
*/
// export function getQllxByBdcdyid (params) {
// return request({
// url: SERVER.SERVERAPI + '/rest/djbDetail/getQllxByBdcdyid?bdcdyid='+params,
// method: 'get',
// })
// }
export function getQllxByBdcdyid (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbDetail/getQllxByBdcdyid',
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-08 13:43:33
* @LastEditTime: 2023-06-16 16:06:39
*/
import request from '@/utils/request'
let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
const url = SERVER.SERVERAPI + '/rest/zhcx/lpcx/'
import request from "@/utils/request";
let SERVER = window.config
? window.config
: JSON.parse(localStorage.getItem("ApiUrl"));
const url = SERVER.SERVERAPI + "/rest/zhcx/lpcx/";
//
/**
* @description:楼盘查询- 根据条件进行列表查询
* @param {*} data
* @author: renchao
*/
export function getLpZrz (data) {
export function getLpZrz(data) {
return request({
url: 'service-lpb-zq/rest/zhcx/lpcx/getLpZrz',
method: 'post',
data: data
})
url: "service-lpb-zq/rest/zhcx/lpcx/getLpZrz",
method: "post",
data: data,
});
}
/**
......@@ -25,32 +27,47 @@ export function getLpZrz (data) {
* @param {*} zrzbsm
* @author: renchao
*/
export function getLpb (zrzbsm) {
export function getLpb(zrzbsm) {
return request({
url: 'service-lpb-zq/rest/zhcx/lpcx/getLpb?scyclx=1&zrzbsm=' + zrzbsm,
method: 'get'
})
url: "service-lpb-zq/rest/zhcx/lpcx/getLpb?scyclx=0&zrzbsm=" + zrzbsm,
method: "get",
});
}
/**
* @description: 获取楼盘表房屋用途,房屋性质右侧房屋用途统计数据
* @param {*} zrzbsm
* @author: renchao
*/
export function getLpbFwytAndQlxz (zrzbsm) {
export function getLpbFwytAndQlxz(zrzbsm) {
return request({
url: 'service-lpb-zq/rest/zhcx/lpcx/getLpbFwytAndQlxz?scyclx=1&zrzbsm=' + zrzbsm,
method: 'get'
})
url:
"service-lpb-zq/rest/zhcx/lpcx/getLpbFwytAndQlxz?scyclx=0&zrzbsm=" +
zrzbsm,
method: "get",
});
}
/**
* @description: 获取楼盘表缺失项统计
* @param {*} zrzbsm
* @author: renchao
*/
export function getLpbQsxtj (zrzbsm) {
export function getLpbQsxtj(zrzbsm) {
return request({
url: url + 'getLpbQsxtj?scyclx=1&zrzbsm=' + zrzbsm,
method: 'get'
})
url: "service-lpb-zq/rest/zhcx/lpcx/getLpbQsxtj?scyclx=0&zrzbsm=" + zrzbsm,
method: "get",
});
}
/**
* @description: 楼盘表 获取单元状态统计数据
* @param {*} data
* zrzbsm 自然幢标识码
* scyclx 实测预测类型 0预测,1实测
* @return {*}
*/
export function getLpbTj(zrzbsm) {
return request({
url: "service-lpb-zq/rest/zhcx/lpcx/getLpbTj?scyclx=0&zrzbsm=" + zrzbsm,
method: "get",
});
}
......
......@@ -73,7 +73,7 @@ export function choiceBdcdy (data) {
*/
export function selectRepairQlxx (data) {
return request({
url: 'ywbl/ywsq/selectRepairQlxx',
url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectRepairQlxx',
method: 'post',
data
})
......
......@@ -25,6 +25,7 @@
import { mapGetters } from 'vuex'
import NoticeBar from '@/components/NoticeBar/index'
import { getHomeNoticeList } from "@/api/home"
import {setToken} from "@/utils/util";
export default {
components: {
NoticeBar
......@@ -64,23 +65,11 @@
})
},
logout () {
axios.post(this.BASE_API.ip + "/management/logout").then(() => {
if (process.env.NODE_ENV === 'development') {
localStorage.removeItem('token')
} else {
Cookies.remove('ACCESS_TOKEN')
}
if (window._config.casEnable) {
axios.post(window._config.services.management + "/management/logout").then(() => {
setToken(undefined)
sessionStorage.removeItem('token')
localStorage.setItem('dj-location',window.location.href)
window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href);
} else {
this.$router.push({
path: '/login',
replace: true,
query: {
redirect: router.currentRoute.value.fullPath
}
})
}
})
},
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-30 15:28:52
* @LastEditTime: 2023-06-20 10:02:14
*/
import Vue from 'vue'
import App from './App'
......@@ -16,12 +16,10 @@ import Loading from '@/components/Loading/index.js';
import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading'
Vue.mixin(mixin);
Vue.use(Loading.directive);
import rules from './utils/rule.js'
// 引入xml
import x2js from 'x2js'
Vue.prototype.$x2js = new x2js()
// 全局方法挂载
Vue.prototype.$rules = rules
// 全局加载
Vue.prototype.$startLoading = startLoadingAddCount
Vue.prototype.$endLoading = endLoadingSubCount
......
/*
* @Description: 项目权限
* @Autor: renchao
* @LastEditTime: 2023-06-13 16:28:25
* @LastEditTime: 2023-06-20 10:07:56
*/
import Vue from 'vue'
import axios from 'axios'
......@@ -9,10 +9,10 @@ import router from './router'
import store from './store'
import Cookies from 'js-cookie'
import { getMenuInfo } from '@/api/user'
import { getUrlParam } from '@/utils/operation'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import getPageTitle from '@/utils/get-page-title'
import {getToken, getUrlParam, setToken} from "@/utils/util";
NProgress.configure({ showSpinner: false }) // NProgress Configuration
......@@ -23,44 +23,25 @@ router.beforeEach(async (to, from, next) => {
let hasAddDict = store.state.dict.addDict
let hasAddRoute = store.state.permission.addRoutes
// cas操作
const token = localStorage.getItem("token") || Cookies.get('ACCESS_TOKEN');
if (to.path === '/login') {
if (token) {
next('/')
} else {
next()
}
return
}
if (window._config.casEnable === true) {
let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
if (!token) {
let ticket = getUrlParam('ticket');
if (ticket) {
axios.get(Vue.prototype.BASE_API.ip + "/management/cas/validate", {
const token = getToken()
let locationUrl = window.location.origin + window.location.pathname;
function casValidate (ticket){
axios.get(window._config.services.management + "/management/cas/validate", {
params: {
'ticket': ticket,
'service': locationUrl
}
ticket: ticket,
service: locationUrl,
},
}).then(async (res) => {
if (process.env.NODE_ENV === 'development') {
localStorage.setItem('token', res.data.content.accessToken)
if (res.data.status === 1) {
setToken(res.data.content.accessToken)
window.location.href = localStorage.getItem('dj-location') + '#' + localStorage.getItem('hash')
} else {
Cookies.set('ACCESS_TOKEN', res.data.content.accessToken)
alert(res.data.message)
}
window.location.href = localStorage.getItem('location')
}).catch(e => {
console.log(e)
})
} else {
localStorage.setItem("location", window.location.href)
window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl);
}).catch((e) => {
console.log(e);
});
}
} else {
permission()
}
async function permission () {
if (!hasAddDict) {
store.dispatch('dict/generateDic')
......@@ -82,22 +63,55 @@ router.beforeEach(async (to, from, next) => {
}
}
}
if (window._config.casEnable === true) {
if (!token) {
let ticket = getUrlParam("ticket");
if (ticket) {
casValidate(ticket)
} else {
localStorage.setItem("location", window.location.href)
window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl);
}
} else {
permission()
}
} else {
// 使用自定义页面实现单点登录
if (!token) {
const redirectData = {
path: '/login',
replace: true,
let ticket = getUrlParam('ticket');
if (ticket) {
casValidate(ticket)
} else {
if (to.path === '/login') {
if (getUrlParam('_flag') === '1') {
next();
return
} else {
//todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写
localStorage.setItem('dj-location',locationUrl)
localStorage.setItem('hash',to.fullPath)
window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login&`
return
}
if (to.path) {
redirectData.query = {
...redirectData.query,
redirect: to.path,
};
}
next(redirectData)
localStorage.setItem('dj-location',locationUrl)
localStorage.setItem('hash',to.fullPath)
//todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写
window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login`
}
}else{
if (to.path === '/login') {
const redirectUrl = getUrlParam('redirectUrl');
if (redirectUrl && redirectUrl !== '') {
window.location.href = redirectUrl
return
} else {
next('/');
return
}
next()
}
permission()
}
}
NProgress.done()
})
......
......@@ -72,6 +72,14 @@ export const constantRoutes = [
}
]
},
// 登录页
{
path: '/login',
component: () => import('@/views/login/index'),
name: 'login',
hidden: true,
meta: { title: '登录' }
},
]
/**
* asyncRoutes
......
export function getSjlx (level) {
const resultMap = {
1: '系统数据',
2: '存量数据',
3: '补录数据',
}
return resultMap[level] || resultMap.default;
}
\ No newline at end of file
......@@ -114,27 +114,6 @@ export function down (index, data) {
}
}
export function getUrlParam (paraName) {
let url = document.location.toString();
let arrObj = url.split('?');
if (arrObj.length > 1) {
let arrPara = arrObj[1].split('&');
let arr;
for (let i = 0; i < arrPara.length; i++) {
arr = arrPara[i].split('=');
if (arr != null && arr[0] === paraName) {
const index = arr[1].indexOf("#");
return arr[1].substring(0, index);
}
}
return '';
} else {
return '';
}
}
/**
* @description: 身份证读卡器
* @author: renchao
......
......@@ -2,13 +2,13 @@
/*
* @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
* @Autor: renchao
* @LastEditTime: 2023-06-13 17:16:13
* @LastEditTime: 2023-06-20 10:12:53
*/
import axios from 'axios'
import Router from '@/router'
import Cookies from 'js-cookie'
import { Message } from 'element-ui'
import { endLoadingSubCount } from './requestLoading'
import {getToken, setToken} from "@/utils/util";
// create an axios instance
const service = axios.create({
......@@ -27,7 +27,7 @@ const service = axios.create({
service.interceptors.request.use(
config => {
if (process.env.NODE_ENV === 'development') {
const token = localStorage.getItem('token')
const token = getToken()
// 添加请求头
if (token) {
config.headers['Authorization'] = 'Bearer ' + token
......@@ -67,11 +67,8 @@ service.interceptors.response.use(
window.__isNeedLogin = false
Message.error('token失效,请重新登录');
let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
if (process.env.NODE_ENV === 'development') {
localStorage.removeItem('token')
} else {
Cookies.remove('ACCESS_TOKEN')
}
setToken(undefined)
sessionStorage.removeItem('token')
if (window._config.casEnable) {
window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl);
} else {
......
// 手机号码验证
const validatePhone = (rule, value, callback) => {
const patter = new RegExp('^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$')
if (!patter.test(value)) {
return callback(new Error('请输入正确格式的手机号!'))
} else {
callback() // 必须有此项回调,否则验证会一直不通过
}
}
export default {
common: {
phone: [{// 手机号
required: true,
message: '手机号不能为空'
}, {
validator: validatePhone,
trigger: 'blur'
}]
}
}
\ No newline at end of file
import Cookies from 'js-cookie'
const cookies = {}
/**
* @description 存储 cookie 值
* @param {String} name cookie name
* @param {String} value cookie value
* @param {Object} setting cookie setting
*/
cookies.set = function (name = 'default', value = '', cookieSetting = {}) {
let currentCookieSetting = {
expires: 1
}
Object.assign(currentCookieSetting, cookieSetting)
Cookies.set(`${name}`, value, currentCookieSetting)
}
/**
* @description 拿到 cookie 值
* @param {String} name cookie name
*/
cookies.get = function (name = 'default') {
return Cookies.get(`${name}`)
}
/**
* @description 拿到 cookie 全部的值
*/
cookies.getAll = function () {
return Cookies.get()
}
/**
* @description 删除 cookie
* @param {String} name cookie name
*/
cookies.remove = function (name = 'default') {
return Cookies.remove(`${name}`)
}
export default cookies
import cookies from './util.cookies'
export function getUrlParam(paraName) {
let url = document.location.toString();
let arrObj = url.split('?');
if (arrObj.length > 1) {
let arrPara = arrObj[1].split('&');
let arr;
for (let i = 0; i < arrPara.length; i++) {
arr = arrPara[i].split('=');
if (arr != null && arr[0] === paraName) {
// 截取#之前的内容
let result = arr[1].endsWith('#/') ? arr[1].substr(0, arr[1].indexOf('#')) : arr[1];
return result;
}
}
return '';
} else {
return '';
}
}
export function setToken(token) {
if (token === undefined) {
if (process.env.NODE_ENV === 'development') {
sessionStorage.removeItem('token')
} else {
cookies.remove('ACCESS_TOKEN')
}
} else {
if (process.env.NODE_ENV === 'development') {
sessionStorage.setItem('token', token);
} else {
cookies.set('ACCESS_TOKEN', token)
}
}
}
export function getToken() {
if (process.env.NODE_ENV === 'development') {
return sessionStorage.getItem('token')
}
return cookies.get('ACCESS_TOKEN')
}
......@@ -30,12 +30,13 @@
:key="index"
>
<div>
<p>{{ item.qllxmc }} <span class="tpcolor">({{ item.operate=="U"?"编辑":"新增" }})</span></p>
<p v-if="item.operate=='D'">{{ item.qllxmc }} <span class="tpcolor">(删除)</span></p>
<p v-else >{{ item.qllxmc }} <span class="tpcolor">({{ item.operate=="U"?"编辑":"新增" }})</span></p>
<!-- <p class="title-detail">{{ item.zl }}</p> -->
</div>
<i
class="el-icon-delete"
v-if="supplementarylist.length > 1"
@click.stop="handleDel(item)"
></i>
</el-menu-item>
......@@ -120,15 +121,17 @@ export default {
},
methods: {
//读取申请单元信息
loadBdcdylist() {
loadBdcdylist(add) {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
leftMenu(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.currentSelectProps = res.result[0];
console.log("this.currentSelectProps",this.currentSelectProps);
this.$emit("getCurrentSelectProps", this.currentSelectProps);
if(add){
this.$parent.getQllxByBdcdyid()
}
}
});
this.getleftMenubl();
......@@ -137,10 +140,11 @@ export default {
getleftMenubl(row) {
leftMenubl(this.bsmSlsq).then((res) => {
this.supplementarylist = res.result;
console.log("this.supplementarylist",this.supplementarylist);
if(row){
this.supplementarylist.forEach((item,index) => {
if(item.bsmRepair==row.bsmRepair){
this.activeIndex=index
this.activeIndex=index.toString()
this.unitClick(index)
}
})
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -244,22 +244,6 @@
</el-radio-group>
</el-form-item>
</el-col>
<!-- <el-col :span="6" v-show="ruleForm.qlxx.gyfs == '1'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.qlxx.sqfbcz">
<el-radio :label=1></el-radio>
<el-radio :label=0></el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6" v-show="ruleForm.qlxx.sqfbcz == '0'&&ruleForm.qlxx.gyfs == '1'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.czr" placeholder="持证人">
<el-option v-for="item in czrOptions" :key="item.zjh" :label="item.sqrmc" :value="item.zjh">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
</el-row>
<qlrCommonTable
:tableData="ruleForm.qlrList"
......@@ -316,7 +300,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......@@ -325,6 +308,7 @@ export default {
init(this.propsParam.bsmRepair).then((res) => {
if (res.code == 200) {
this.ruleForm = res.result;
console.log("this.ruleFormssssssssssssssssssssssssssssss",this.ruleForm);
this.isShow = true;
// this.tableData = res.result;
// if (this.tableData.length < datas.columns().emptycolNum) {
......
......@@ -227,6 +227,16 @@
</el-col>
</el-row>
<div class="slxx_title title-block">
土地用途
<div class="triangle"></div>
</div>
<tdytTable
:tableData="ruleForm.tdxxList"
@upDateQlrxxList="upDateQlrxxList"
:viewtype="$route.query.viewtype"
:gyfs="ruleForm.qlxx.gyfs"
/>
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
......@@ -244,22 +254,22 @@
</el-radio-group>
</el-form-item>
</el-col>
<!-- <el-col :span="6" v-show="ruleForm.qlxx.gyfs == '1'">
<el-col :span="6" v-show="ruleForm.qlxx.gyfs == '1'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.qlxx.sqfbcz">
<el-radio :label=1></el-radio>
<el-radio :label=0></el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6" v-show="ruleForm.qlxx.sqfbcz == '0'&&ruleForm.qlxx.gyfs == '1'">
</el-col>
<el-col :span="6" v-show="ruleForm.qlxx.sqfbcz == '0'&&ruleForm.qlxx.gyfs == '1'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.czr" placeholder="持证人">
<el-option v-for="item in czrOptions" :key="item.zjh" :label="item.sqrmc" :value="item.zjh">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
</el-col>
</el-row>
<qlrCommonTable
:tableData="ruleForm.qlrList"
......@@ -296,8 +306,9 @@ import { mapGetters } from "vuex";
import { Init, saveData } from "@/api/workflow/jsydsyqFlow.js";
import { init } from "@/api/djbbl.js";
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
export default {
components: { qlrCommonTable },
components: { qlrCommonTable,tdytTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
......@@ -316,7 +327,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......@@ -324,7 +334,9 @@ export default {
loadData() {
init(this.propsParam.bsmRepair).then((res) => {
if (res.code == 200) {
this.ruleForm = res.result;
console.log("this.ruleFormssssssssssssssssssssssssssssss",this.ruleForm);
this.isShow = true;
// this.tableData = res.result;
// if (this.tableData.length < datas.columns().emptycolNum) {
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -316,7 +316,6 @@ export default {
};
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
},
mounted() {},
......
......@@ -11,88 +11,77 @@
:visible.sync="dialogVisible"
custom-class="insetDialog"
append-to-body
width="20%"
width="60%"
>
<el-select v-model="qllxvalue" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<!-- <el-radio-group v-model="radio">
<el-radio :label="1">111</el-radio>
<el-radio :label="2">111</el-radio>
</el-radio-group> -->
<el-radio-group v-model="radio">
<el-radio-button
v-for="(value, key) in qllxlistdata"
:key="key"
:label="value"
></el-radio-button>
</el-radio-group>
<div class="btn">
<el-button type="primary" @click="handleSubmit">确定</el-button>
<el-button type="primary" @click="closeDialog">取消</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data () {
export default {
data() {
return {
dialogVisible:false,
options: [
{
value: "选项1",
label: "抵押权",
},
{
value: "选项2",
label: "地役权",
},
{
value: "选项3",
label: "预告登记",
},
{
value: "选项4",
label: "异议登记",
},
{
value: "选项5",
label: "查封登记",
},
],
qllxvalue: "",
radio:3,
qllxobj:{
qllx:"",
bsmQlxx
}
dialogVisible: false,
qllxlistdata: {},
radio: "",
qllx:""
};
},
methods: {
closeDialog () {
this.dialogVisible=false
closeDialog() {
this.dialogVisible = false;
},
handleSubmit () {
let qllxobj={
qllx:this.value,
bsmQlxx:this.value
handleSubmit() {
for (const key in this.qllxlistdata) {
if (this.qllxlistdata[key] === this.radio) {
this.qllx= key;
}
}
if(this.qllx){
let qllxobj = {
qllx:this.qllx,
bsmQlxx:""
};
this.$parent.addRepairRecord(qllxobj)
}else{
this.$message({
type: "warning",
message: "请选择权利类型!",
});
}
// this.$parent.addRepairRecord(qllxobj)
},
},
};
};
</script>
<style scoped lang="scss">
.qllxdialog{
.qllxdialog {
margin-top: 200px;
/deep/.el-dialog__body{
/deep/.el-dialog__body {
margin-top: 10px;
height: 100px;
// height: 100px;
padding: 30px;
}
.el-button{
.btn{
margin:30px;
text-align: center;
.el-button {
margin-top: 10px;
margin-left: 20px;
}
}
}
</style>
......
<!--
* @Description : 房地产权2
* @Autor : miaofang
* @LastEditTime : 2023-06-16 16:53:36
* @LastEditTime: 2023-06-20 09:59:18
-->
<template>
<div class="djxxTable">
......@@ -25,7 +25,7 @@
row.qszt == '0' ? 'linshi' : '',
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
]">
<div class="setbut" v-if="item.prop == 'cz'">
<div class="setbut" v-if="item.prop == 'cz'&&item.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
</div>
......@@ -47,9 +47,9 @@
</template>
<script>
import { getFdcq2List } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
export default {
import { getFdcq2List } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
export default {
data () {
return {
title: "房地产权登记信息(独幢、层、套、间房屋)",
......@@ -76,7 +76,6 @@ export default {
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
console.log("国有建设",res);
this.tableData = res.result;
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
......@@ -107,7 +106,7 @@ export default {
},
// 编辑
editDialog(row){
editDialog (row) {
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -134,7 +133,7 @@ export default {
},
// 删除
deleteDialog(row){
deleteDialog (row) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -164,9 +163,9 @@ export default {
}
},
};
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
@import "./qlxxCommon.scss";
</style>
......
......@@ -136,8 +136,10 @@ export default {
// break;
case "B5":
this.$refs.Menu.loadBdcdylist("add")
// this.$popupDialog("选择新增权力类型", "djbworkflow/djbBook/components/qllxcloseDailog", this.currentSelectProps, '50%', true)
this.$refs.qllxlist.dialogVisible=true
break;
case "B6":
//根据编号获取对应信息
......
......@@ -102,7 +102,7 @@
}
.animation-map-drawer {
width: 260px;
width: 290px;
height: calc(100% - 80px);
}
......
......@@ -63,7 +63,7 @@
</div>
</div>
<!-- 新增补录信息勾选权利类型 -->
<qllxDailog ref="qllxlist"/>
<qllxDailog ref="qllxlist" />
</div>
</template>
<style scoped lang="scss">
......@@ -109,8 +109,6 @@ export default {
tabName: "",
// 弹框显示
dialogVisible: true,
// 权利类型数组
qllxlist: [],
//表单集合
tabList: [],
//选择加载哪一个组件
......@@ -126,20 +124,23 @@ export default {
treedata: {},
tabdata: [],
defaultNode: {},
};
},
mounted() {},
methods: {
getQllxByBdcdyid() {
if(this.currentSelectProps.bdcdyid){
getQllxByBdcdyid({ bdcdyid: this.currentSelectProps.bdcdyid }).then(
(res) => {
if (res.code === 200) {
console.log("Qllxlist", res);
this.$refs.qllxlist.qllxlistdata = res.result;
this.$refs.qllxlist.dialogVisible = true;
}
}
);
}
},
// 获取右侧选项卡
getCurrentSelectProps(val) {
......@@ -180,7 +181,6 @@ export default {
arr[index].value = item.id;
});
this.tabList = this.tabdata;
this.getQllxByBdcdyid();
}, 200);
},
......@@ -215,6 +215,7 @@ export default {
},
//切换选项卡内容组件
getFromRouter(tabname) {
console.log("tabname",tabname);
for (let item of this.tabList) {
if (item.value === tabname) {
this.currentSelectTab = item;
......@@ -225,29 +226,45 @@ export default {
},
// 增加补录记录
addRepairRecord(row) {
addRepairRecord(row,del) {
let from = {
bsmQlxx: "",
bsmSlsq: this.bsmSlsq,
bsmSldy: this.currentSelectProps.bsmSldy,
operate: "C",
qllx: this.currentSelectProps.qllx,
qllx: "",
};
if (row) {
from.bsmQlxx = row.bsmQlxx;
from.operate = "U";
if(del){
from.operate = del;
}else{
from.operate = row.bsmQlxx ? "U" : "C";
}
from.qllx = row.qllx;
}
addRepairRecord(from).then((res) => {
if(res.code=='200'){
this.$refs.qllxlist.dialogVisible = false;
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
this.$message({
type: "success",
message: "补录成功!",
});
});
},
}else{
this.$alert(res.message, '提示', {
confirmButtonText: '确定',
type: 'warning'
});
}
}).catch((res) => {
console.log("错i了哦",res);
});;
},
},
};
</script>
<style scoped lang="scss">
</style>
<style scoped lang="scss"></style>
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 56.3 (81716) - https://sketch.com -->
<title>隐藏</title>
<desc>Created with Sketch.</desc>
<g id="隐藏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M6.03072945,10.4919039 L5.73253111,12.7244564 C5.69597191,12.998168 5.44444773,13.190418 5.17073614,13.1538588 C4.89702455,13.1172996 4.70477455,12.8657754 4.74133375,12.5920638 L5.06197696,10.1914709 C4.16952851,9.84883526 3.3412638,9.33963486 2.57840414,8.66573829 L1.54490653,10.84056 C1.42638298,11.0899729 1.12811158,11.1960797 0.878698712,11.0775561 C0.629285844,10.9590326 0.52317909,10.6607612 0.641702643,10.4113483 L1.82431508,7.92273947 C1.1849111,7.22355926 0.59765863,6.39438608 0.0634190527,5.43653783 C-0.0710917064,5.19537095 0.0153701679,4.89082404 0.256537054,4.75631328 C0.49770394,4.62180252 0.802250844,4.7082644 0.936761603,4.94943128 C2.7218512,8.14995221 5.0622906,9.71807475 8.00009033,9.71807475 C10.9378901,9.71807475 13.2783295,8.14995221 15.0634191,4.94943128 C15.1979298,4.7082644 15.5024767,4.62180252 15.7436436,4.75631328 C15.9848105,4.89082404 16.0712724,5.19537095 15.9367616,5.43653783 C15.4384416,6.32998517 14.8939977,7.11147869 14.304129,7.77994884 L15.554597,10.4113483 C15.6731206,10.6607612 15.5670138,10.9590326 15.3176009,11.0775561 C15.0681881,11.1960797 14.7699167,11.0899729 14.6513931,10.84056 L13.5590961,8.54200484 C12.6449311,9.38205401 11.6347609,9.98078996 10.5307537,10.3348952 L10.8296734,12.5728484 C10.8662326,12.84656 10.6739826,13.0980842 10.400271,13.1346434 C10.1265594,13.1712026 9.87503523,12.9789526 9.83847602,12.705241 L9.5545725,10.5797109 C9.05379094,10.671864 8.53557174,10.7180748 8.00009033,10.7180748 C7.31528214,10.7180748 6.6587062,10.6424973 6.03072945,10.4919039 Z" id="形状结合" fill="#B4B4B4" fill-rule="nonzero"></path>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 56.3 (81716) - https://sketch.com -->
<title>显示</title>
<desc>Created with Sketch.</desc>
<g id="显示" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M8,13.5944821 C5.08783139,13.5944821 2.47901047,11.8330303 0.184843129,8.37324049 L3.55271368e-15,8.09448212 L0.184843129,7.81572374 C2.47901047,4.35593396 5.08783139,2.59448212 8,2.59448212 C10.9121686,2.59448212 13.5209895,4.35593396 15.8151569,7.81572374 L16,8.09448212 L15.8151569,8.37324049 C13.5209895,11.8330303 10.9121686,13.5944821 8,13.5944821 Z M8,3.59448212 C5.53379057,3.59448212 3.26813906,5.07524663 1.19270822,8.09448212 C3.26813906,11.1137176 5.53379057,12.5944821 8,12.5944821 C10.4662094,12.5944821 12.7318609,11.1137176 14.8072918,8.09448212 C12.7318609,5.07524663 10.4662094,3.59448212 8,3.59448212 Z M9.12299335,5.45693297 C8.68456104,5.73514629 8.39327462,6.2269821 8.39327462,6.78731592 C8.39327462,7.65519196 9.09205701,8.3587445 9.95404878,8.3587445 C10.2357938,8.3587445 10.5001026,8.28358173 10.7282737,8.15208542 C10.6331828,9.58403639 9.44941475,10.7158874 8.00308108,10.7158874 C6.49459548,10.7158874 5.27172629,9.48467042 5.27172629,7.96588735 C5.27172629,6.44710429 6.49459548,5.21588735 8.00308108,5.21588735 C8.40216026,5.21588735 8.78124917,5.30206019 9.12299335,5.45693297 Z" id="形状结合" fill="#0091FF" fill-rule="nonzero"></path>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 56.3 (81716) - https://sketch.com -->
<title>password</title>
<desc>Created with Sketch.</desc>
<g id="password" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M4.0011827,6.56400569 L4.0011827,4.87032377 C4.0011827,2.74881464 5.72100565,1.02899168 7.84251478,1.02899168 C9.96402392,1.02899168 11.6838469,2.74881464 11.6838469,4.87032377 L11.6838469,5.7928261 L10.7661998,5.7928261 L10.7661998,4.87032377 C10.7661998,3.25561712 9.45722144,1.94663874 7.84251478,1.94663874 C6.22780813,1.94663874 4.91882975,3.25561712 4.91882975,4.87032377 L4.91882975,6.56400569 L12.6850296,6.56400569 C13.4907156,6.56400569 14.1438531,7.21714323 14.1438531,8.02282922 L14.1438531,13.4028479 C14.1438531,14.2085339 13.4907156,14.8616714 12.6850296,14.8616714 L3,14.8616714 C2.19431401,14.8616714 1.54117647,14.2085339 1.54117647,13.4028479 L1.54117647,8.02282922 C1.54117647,7.21714323 2.19431401,6.56400569 3,6.56400569 L4.0011827,6.56400569 Z M3,7.48165275 C2.70111649,7.48165275 2.45882353,7.72394571 2.45882353,8.02282922 L2.45882353,13.4028479 C2.45882353,13.7017314 2.70111649,13.9440244 3,13.9440244 L12.6850296,13.9440244 C12.9839131,13.9440244 13.226206,13.7017314 13.226206,13.4028479 L13.226206,8.02282922 C13.226206,7.72394571 12.9839131,7.48165275 12.6850296,7.48165275 L3,7.48165275 Z" id="形状结合" fill="#6D7278" fill-rule="nonzero"></path>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 56.3 (81716) - https://sketch.com -->
<title>user</title>
<desc>Created with Sketch.</desc>
<g id="user" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M5.70040727,8.36338619 C4.96173204,8.70409103 4.31101884,9.24156453 3.78444015,9.95202823 C2.94870333,11.0788243 2.46666667,12.5978855 2.46666667,14.1120529 C2.46666667,14.2335891 2.59610246,14.3514362 2.77548069,14.3514362 L13.1661579,14.3514362 C13.3455361,14.3514362 13.4749719,14.2335891 13.4749719,14.1120529 C13.4749719,12.0278862 12.5626821,10.0351425 11.1096588,8.92092682 L11.6776024,8.18028444 C13.3693466,9.47755739 14.4083053,11.7469879 14.4083053,14.1120529 C14.4083053,14.7696063 13.8424825,15.2847695 13.1661579,15.2847695 L2.77548069,15.2847695 C2.09915609,15.2847695 1.53333333,14.7696063 1.53333333,14.1120529 C1.53333333,12.4013641 2.07738878,10.6868606 3.0347023,9.39614673 C3.53516209,8.7209228 4.13710805,8.17384176 4.81664416,7.7738283 C3.93912572,7.01707839 3.38576579,5.91929918 3.38576579,4.69637232 C3.38576579,2.40902821 5.3212908,0.556854908 7.69195361,0.556854908 C10.063179,0.556854908 11.9981414,2.40606943 11.9981414,4.69289423 C11.9981414,6.98023832 10.0626164,8.83241167 7.69195361,8.83241167 C6.97429417,8.83241167 6.29659602,8.66302531 5.70040727,8.36338619 Z M4.31909912,4.69637232 C4.31909912,6.45803072 5.82696798,7.89907833 7.69195361,7.89907833 C9.55611742,7.89907833 11.0648081,6.4553581 11.0648081,4.69289423 C11.0648081,2.93123585 9.55693923,1.49018824 7.69195361,1.49018824 C5.82778977,1.49018824 4.31909912,2.93390843 4.31909912,4.69637232 Z" id="形状结合" fill="#6D7278" fill-rule="nonzero"></path>
</g>
</svg>
\ No newline at end of file
<template>
<div id="login">
<div class="login-logo"><img src="./images/logo-login.png" /></div>
<div class="login-con">
<!-- <div class="login-title">用户登录</div>-->
<div class="login-user" :class="{ 'select-border': change.user }">
<img class="user-icon" src="./images/user.svg" />
<!-- <div class="line-mid"></div>-->
<input
type="text"
class="user-input"
placeholder="请输入您的账号"
v-model="userInfo.username"
@focus="reduceBorder('user')"
@blur="addBorder('user')"
/>
<span class="warning" v-show="warning.user">账号不能为空</span>
</div>
<div class="login-user user-mt" :class="{ 'select-border': change.pass }">
<img class="user-icon" src="./images/password.svg" />
<!-- <div class="line-mid"></div>-->
<input
type="password"
class="user-input"
placeholder="请输入您的密码"
v-model="userInfo.password"
v-show="!selectEye"
@focus="reduceBorder('pass')"
@blur="addBorder('pass')"
/>
<input
type="text"
class="user-input"
placeholder="请输入您的密码"
v-model="userInfo.password"
v-show="selectEye"
@focus="reduceBorder('pass')"
@blur="addBorder('pass')"
/>
<img
class="password-eye"
src="./images/open.svg"
@click="selectEyes"
v-show="selectEye"
/>
<img
class="password-eye"
src="./images/close.svg"
@click="selectEyes"
v-show="!selectEye"
/>
<span class="warning" v-show="warning.pass">密码不能为空</span>
</div>
<!-- <div class="login-remake">
<i
class="icon iconfont iconfuxuan1 icon-style"
v-show="!selectIcon"
@click="selectRemeber"
></i>
<i
class="icon iconfont iconfuxuan-xuanzhong icon-select"
v-show="selectIcon"
@click="selectRemeber"
></i>
<span class="remake_txt" @click="selectRemeber">记住账号密码</span>
</div> -->
<div id="loginBtn" class="login-btn" @click="goHome">登录</div>
</div>
<div class="reserved-con">
<!-- <div class="reserved-words">版权所有:2020©某某市自然资源和规划</div> -->
<div class="reserved-words line-two">
技术支持:爬山虎科技股份有限公司
</div>
</div>
</div>
</template>
<script>
import {getUrlParam} from "@/utils/util";
import axios from "axios";
export default {
data() {
return {
selectIcon: true,
selectEye: false,
userInfo:{
username: 'admin',
password: '123',
redirectUrl: ''
},
change: {
//边框
user: false,
pass: false,
},
warning: {
user: false,
pass: false,
},
canDo: 1,
};
},
mounted() {
this.initPage();
this.userInfo.redirectUrl = localStorage.getItem('dj-location')
},
methods: {
initPage() {
let userInfo =
localStorage.getItem("userInfo") &&
JSON.parse(localStorage.getItem("userInfo"));
if (userInfo) {
this.userInfo.username = userInfo.username;
this.userInfo.password = userInfo.password;
}
},
selectRemeber() {
this.selectIcon = !this.selectIcon;
},
goHome() {
axios.post(window._config.services.management + "/management/cas/login", this.userInfo).then(response => {
if (response.data.status === 1) {
if (response.data.content.location) {
window.location.href = response.data.content.location
}
} else {
this.$message.error(response.data.message)
}
}).catch(error => {
console.log(error)
this.$message.error(error.message)
})
},
selectEyes() {
this.selectEye = !this.selectEye;
},
reduceBorder(type) {
//获取焦点
if (type == "user") {
this.change.user = true;
} else {
this.change.pass = true;
}
},
addBorder(type) {
//失去焦点
if (type == "user") {
this.change.user = false;
if (!this.userInfo.username) {
this.warning.user = true;
} else {
this.warning.user = false;
}
} else {
this.change.pass = false;
if (!this.userInfo.password) {
this.warning.pass = true;
} else {
this.warning.pass = false;
}
}
},
},
};
</script>
<style lang="scss" scoped>
#login {
width: 100vw;
height: 100vh;
background: url("./images/login-bg.png") no-repeat bottom center;
background-size: 100% 100%;
overflow: hidden;
.login-logo {
margin-top: 8%;
height: 38px;
width: 100%;
text-align: center;
}
.login-logo img {
height: 100%;
}
.login-con {
margin: 88px auto;
width: 380px;
}
.login-user {
width: 100%;
height: 46px;
border: 1px solid rgba(155, 155, 155, 1);
box-sizing: border-box;
margin: 38px auto auto auto;
border-radius: 2px;
position: relative;
.user-icon {
float: left;
margin: 13px auto auto 10px;
width: 28px;
height: 18px;
}
.user-input {
width: 80%;
float: left;
font-size: 16px;
outline: 0;
border: none;
color: #4a4a4a;
line-height: 260%;
background-color: transparent;
}
.password-eye {
float: right;
width: 16px;
height: 16px;
margin-right: 12px;
margin-top: 13px;
cursor: pointer;
}
.warning {
font-size: 12px;
color: red;
position: absolute;
left: 0;
bottom: -18px;
}
}
.user-mt {
margin-top: 26px;
}
.select-border {
border: 1px solid rgba(0, 113, 255, 1);
}
.login-remake {
width: 320px;
height: 14px;
margin: 0 auto;
margin-top: 26px;
.icon-style {
font-size: 12px;
color: #5b5b5b;
float: left;
line-height: 14px;
cursor: pointer;
}
.icon-select {
font-size: 12px;
color: rgba(0, 127, 255, 1);
float: left;
line-height: 14px;
cursor: pointer;
}
.remake_txt {
font-size: 12px;
line-height: 14px;
color: #5b5b5b;
margin-left: 6px;
float: left;
cursor: pointer;
}
}
.login-btn {
width: 100%;
height: 40px;
background: rgba(0, 127, 255, 1);
border-radius: 4px;
margin: 0 auto;
margin-top: 40px;
font-size: 16px;
line-height: 40px;
text-align: center;
color: #fff;
cursor: pointer;
}
.reserved-con {
margin: 38px auto;
}
.reserved-words {
font-size: 12px;
color: #b4b4b4;
text-align: center;
}
.line-two {
margin-top: 8px;
}
}
</style>
\ No newline at end of file
......@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-28 15:47:12
* @LastEditors: yangwei
* @LastEditTime: 2023-03-02 16:35:36
* @LastEditTime: 2023-06-16 16:14:51
* @FilePath: \bdcdj-web\src\views\lpb\lpbContent\ch.vue
* @Description:
*
......@@ -37,7 +37,7 @@
:data-qszt="hs.qszt"
ref="hBsm"
:key="hsIndex"
style="border-color: rgb(230, 230, 230)"
:style="{'border-color': borderColor}"
:class="hs.select ? 'tdSelect' : ''"
@click="handleClickH($event.target, hs.bsm, hs)"
@dblclick="dbclick(hs.bsm)"
......@@ -82,7 +82,12 @@
<script>
export default {
name: "BdcdjWebCh",
inject: ["openMenu", "selectAll"],
inject: {
openMenu:{value:'openMenu',default:null},
selectAll:{value:'selectAll',default:null},
changeChoosedObj:{value:'changeChoosedObj',default:null},
clearChangeChoosedObj:{value:'clearChangeChoosedObj',default:null}
},
props: {
ch: {
type: Array,
......@@ -101,6 +106,8 @@ export default {
hqsztList: [],
//区分单双击事件的定时器
time: null,
// 边框颜色
borderColor:'rgb(230, 230, 230)'
};
},
mounted() {},
......@@ -108,48 +115,32 @@ export default {
// 层选中事件
handleClickC(e, item) {
//判断点击的层是否选中
if (e.target.className.indexOf("tdSelect") == -1) {
//未选中→选中
e.target.className += " tdSelect"; //加边框
this.cbsmList.push(item.bsm);
} else {
//选中→未选中
e.target.className = "floor";
this.cbsmList = this.cbsmList.filter((i) => i != item.bsm);
}
// if (e.target.className.indexOf("tdSelect") == -1) {
// //未选中→选中
// e.target.className += " tdSelect"; //加边框
// this.cbsmList.push(item.bsm);
// } else {
// //选中→未选中
// e.target.className = "floor";
// this.cbsmList = this.cbsmList.filter((i) => i != item.bsm);
// }
// this.$parent.getCbsm(this.cbsmList);
},
//户单击事件
handleClickH(e, bsm, hs) {
let self = this;
// 开启延时器,200ms的间隔区分单击和双击,解决双击时执行两次单击事件
clearTimeout(self.time);
self.time = setTimeout(() => {
// this.closeMenu();
//判断点击的户是否选中
if (!hs.select) {
//未选中→选中
hs.select = true; //加边框
this.hbsmList.push(bsm); // 将户bsm放进hbsmList
this.hqsztList.push(hs.qszt); // 将户qszt放进hqsztList
} else {
//选中→未选中
hs.select = false;
this.hbsmList = this.hbsmList.filter((i) => i != bsm);
this.hqsztList = this.hqsztList.filter((i) => i != hs.qszt);
}
}, 200);
},
// 户单元状态点击事件
hDyztClick(e, bsm, hs) {
this.handleClickH(e.target.parentNode, bsm, hs);
// this.handleClickH(e.target.parentNode, bsm, hs);
},
//户双击事件
dbclick(bsm) {
clearTimeout(this.time);
// clearTimeout(this.time);
},
//幢单元全选/反选
zdySelectAll(val) {
zdySelectAll(val,flag) {
// 手动点击全部取消选中
!flag && this.clearChangeChoosedObj()
this.ch.forEach((c) => {
c.hs.forEach((h) => {
if (val) {
......@@ -158,10 +149,16 @@ export default {
this.hbsmList.push(h.bsm)
} else {
h.select = false;
this.borderColor = 'rgb(230, 230, 230)'
this.hbsmList = []
}
});
});
this.$refs.hBsm && this.$refs.hBsm.forEach((item) => {
// item.style.borderColor = this.borderColor
item.style.backgroundColor = '#fff';
// item.style.border = `1px solid ${this.borderColor}`
});
},
},
watch: {
......@@ -172,6 +169,34 @@ export default {
immediate: true,
deep: true,
},
changeChoosedObj: {
handler(val) {
debugger
//清除选中户
this.borderColor = 'rgb(230, 230, 230)';
this.zdySelectAll(false,true)
if (val.bsms.length) {
this.$refs.hBsm.forEach((item) => {
val.bsms.forEach((i,ind) => {
if (item.dataset.bsm == i) {
if (ind == 0) {
//定位到第一个户所在位置
window.lpbContent.$refs.lpbContent.scrollTop = item.offsetTop;
window.lpbContent.$refs.lpbContent.scrollLeft = item.offsetLeft;
}
item.style.border = '1px solid '+ val.color;
// item.style.backgroundColor = val.color;
}
});
});
}else{
this.borderColor = 'rgb(230, 230, 230)'
}
},
immediate: true,
deep: true,
},
},
};
</script>
......@@ -181,16 +206,26 @@ export default {
display: flex;
flex-direction: column-reverse;
.chTable {
margin-left: -1px;
// margin-left: -1px;
border-color: #e4ebf4 !important;
border-collapse: collapse;
border-spacing: 0;
// position: relative;
tr {
.floor {
min-width: 56px;
background: #e8f2ff;
border: 1px solid #acbae8;
}
&:first-child {
.floor {
border-radius: 4px 0px 0px 1px;
}
}
td {
min-width: 138px;
height: 72px;
line-height: 72px;
height: 64px;
line-height: 64px;
text-align: center;
cursor: pointer;
position: relative;
......@@ -204,7 +239,7 @@ export default {
left: 6px;
top: 6px;
border: 1px solid;
border-radius: 8px;
border-radius: 3px 0px 3px 0px;
}
.lin {
color: #f7b500;
......@@ -223,7 +258,7 @@ export default {
width: 138px;
height: 18px;
position: absolute;
bottom: 32px;
bottom: 28px;
box-sizing: border-box;
padding: 0 6px;
li {
......@@ -239,7 +274,8 @@ export default {
}
}
.tdSelect {
border: 1px solid #006cff !important;
border: 1px solid ;
border-color: #5A78DE !important;
background-image: url("./images/tdSelect.png");
background-repeat: no-repeat;
background-position: right top;
......
<template>
<div class="lpbContent-wrap" ref="lpbContentWrap">
<div class="lpbContent">
<div class="lpbContent" ref="lpbContent">
<!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 -->
<div class="ch-zdy-wrap">
<!-- 幢单元 -->
......@@ -13,9 +13,10 @@
</div>
<!-- 自然幢名称 -->
<p class="lpb-xmmc">
<el-checkbox @change="zdySelectAll($event)">{{
<!-- <el-checkbox @change="zdySelectAll($event)">{{
lpbData.xmmc
}}</el-checkbox>
}}</el-checkbox> -->
{{lpbData.xmmc}}
</p>
<!-- 右键菜单 -->
<ul
......@@ -38,6 +39,8 @@ export default {
return {
openMenu: this.openMenu,
selectAll: this.selectAllObj,
changeChoosedObj:this.changeChoosedObj,
clearChangeChoosedObj:this.clearChangeChoosedObj
};
},
name: "",
......@@ -72,20 +75,27 @@ export default {
//右键菜单定位位置
lpbChLeft: 100,
lpbChTop: 100,
// 改变户选中状态
changeChoosedObj:{
bsms:[],
color:''
}
};
},
mounted() {
this.getLpb("dfc08a0cc6a25188990ea53d1d2c500e");
// setTimeout(() => {
// //让滚动条滚动至最下面 -6是横向滚动条的高度
// this.$refs.lpbContent.scrollTop =
// this.$refs.lpbContent.scrollHeight -
// this.$refs.lpbContent.clientHeight -
// 6;
// }, 200);
// window.lpbContent = this;
this.getLpb(this.zrzbsm);
window.lpbContent = this;
},
methods: {
// 改变户选中状态
changeChoosed(bsms, color){
debugger
this.changeChoosedObj.bsms = bsms;
this.changeChoosedObj.color = color;
},
clearChangeChoosedObj(){
this.changeChoosedObj.bsms = [];
},
//全选户
zdySelectAll(val) {
this.selectAllObj.selectAll = val;
......@@ -113,7 +123,7 @@ export default {
openMenu(e, item, type) {
this.lpbChLeft = e.pageX - 96;
this.lpbChTop = e.pageY - 23;
this.lpbChVisible = true;
// this.lpbChVisible = true;
},
//关闭户右键菜单
closeMenu() {
......
......@@ -10,7 +10,7 @@
-->
<template>
<div class="ljzs-wrap">
<div v-for="ljzarr in ljzsCptd" :key="ljzarr[0].bsm">
<div v-for="ljzarr in ljzsCptd" :style="{'margin-bottom': ljzarr.length == 1 ? '34px':'80px'}" :key="ljzarr[0].bsm">
<!-- 多个同起始层逻辑幢 横向排列 -->
<div class="ch-zdy-wrap" v-if="ljzarr.length > 1">
<div v-for="ljz in ljzarr" :key="ljz.ljzmc" class="same-floor-ljz">
......@@ -94,7 +94,7 @@ export default {
display: flex;
flex-direction: column-reverse;
> div {
margin-bottom: 80px;
// margin-bottom: 80px;
margin-right: 20px;
display: flex;
flex-direction: column;
......@@ -110,8 +110,8 @@ export default {
}
.ljz-xmmc {
position: absolute;
width: calc(100% + 1px);
bottom: -60px;
width: calc(100% - 4px);
bottom: -34px;
}
}
.cs-none {
......
......@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-28 16:29:04
* @LastEditors: yangwei
* @LastEditTime: 2023-03-02 14:45:19
* @LastEditTime: 2023-06-08 13:58:58
* @FilePath: \bdcdj-web\src\views\lpb\lpbContent\zdys.vue
* @Description:
*
......@@ -13,9 +13,10 @@
<div v-for="zdy in realZdys" :key="zdy.bsm">
<!-- 幢单元名称 -->
<p class="lpb-xmmc">
<el-checkbox @change="zdySelectAll($event,zdy.bsm)">{{
<!-- <el-checkbox @change="zdySelectAll($event,zdy.bsm)">{{
zdy.zdymc
}}</el-checkbox>
}}</el-checkbox> -->
{{zdy.zdymc}}
</p>
<!-- 每个幢单元下的层户 -->
<ch-cpn :ref="zdy.bsm" :ch="zdy.cs" />
......
......@@ -8,8 +8,7 @@
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox>
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -24,11 +23,10 @@
row.qszt == '2' ? 'lishi' : '',
row.qszt == '0' ? 'linshi' : '',
item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))? 'linshiIcon' : '',
]"
>
<div class="setbut" v-if="item.prop == 'cz'">
]">
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))">正在办理</div>
<span v-if="item.prop == 'qszt'">{{ getQsztName(row[item.prop]) }}</span>
......@@ -44,10 +42,11 @@
</template>
<script>
import { getCfdjList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
export default {
data() {
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getCfdjList } from "@/api/registerBook.js";
export default {
data () {
return {
title: "查封登记信息",
qsztList: datas.columns().qsztList,
......@@ -62,15 +61,13 @@ export default {
columns: datas.columns().CFDJ,
};
},
created() {
created () {
this.loadData();
},
methods: {
loadData() {
if(this.$parent.addRepairRecord){
this.columns.unshift({prop:"cz",
label:"操作"
})
loadData () {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getCfdjList({
bdcdyid: this.propsParam.bdcdyid,
......@@ -79,6 +76,9 @@ export default {
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach(item => {
item.sjlx = getSjlx(item.sjlx)
})
this.tableData.forEach((item, index) => {
if (item.sfbxf == "1") {
item.zxywh = "";
......@@ -95,7 +95,7 @@ export default {
}
});
},
checkChange() {
checkChange () {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
......@@ -103,7 +103,7 @@ export default {
this.loadData();
}
},
getQsztName(code) {
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
......@@ -113,10 +113,32 @@ export default {
}
return name;
},
// 新增一条补录信息
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
},
},
};
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
@import "./qlxxCommon.scss";
</style>
......
......@@ -5,7 +5,12 @@
{{ 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
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</div>
</div>
......@@ -15,14 +20,28 @@
<td>
{{ item.label }}
</td>
<td v-for="(row, index) in tableData" :key="index" :class="[
<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="setbut" v-if="item.prop == 'cz'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
]"
>
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -42,10 +61,11 @@
</template>
<script>
import { getDiyaqList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getDiyaqList } from "@/api/registerBook.js";
export default {
data () {
data() {
return {
title: "抵押权登记信息",
qsztList: datas.columns().qsztList,
......@@ -60,15 +80,13 @@ export default {
columns: datas.columns().DYAQ,
};
},
created () {
created() {
this.loadData();
},
methods: {
loadData () {
if(this.$parent.addRepairRecord){
this.columns.unshift({prop:"cz",
label:"操作"
})
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getDiyaqList({
bdcdyid: this.propsParam.bdcdyid,
......@@ -77,6 +95,9 @@ export default {
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -86,7 +107,7 @@ export default {
}
});
},
checkChange () {
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
......@@ -94,7 +115,7 @@ export default {
this.loadData();
}
},
getQsztName (code) {
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
......@@ -104,6 +125,28 @@ export default {
}
return name;
},
// 新增一条补录信息
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
},
},
};
</script>
......
......@@ -5,7 +5,12 @@
{{ 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
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</div>
</div>
......@@ -15,14 +20,18 @@
<td>
{{ item.label }}
</td>
<td v-for="(row, index) in tableData" :key="index" :class="[
<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="setbut" v-if="item.prop == 'cz'">
]"
>
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -42,10 +51,11 @@
</template>
<script>
import { getDiyiqList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getDiyiqList } from "@/api/registerBook.js";
export default {
data () {
data() {
return {
title: "地役权登记信息",
qsztList: datas.columns().qsztList,
......@@ -60,15 +70,13 @@ export default {
columns: datas.columns().DYIQ,
};
},
created () {
created() {
this.loadData();
},
methods: {
loadData () {
if(this.$parent.addRepairRecord){
this.columns.unshift({prop:"cz",
label:"操作"
})
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getDiyiqList({
bdcdyid: this.propsParam.bdcdyid,
......@@ -77,6 +85,9 @@ export default {
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -86,7 +97,7 @@ export default {
}
});
},
checkChange () {
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
......@@ -94,7 +105,7 @@ export default {
this.loadData();
}
},
getQsztName (code) {
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
......@@ -104,6 +115,28 @@ export default {
}
return name;
},
// 新增一条补录信息
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
},
},
};
</script>
......
......@@ -22,9 +22,9 @@
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '',
]">
<div class="setbut" v-if="item.prop == 'cz'">
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -47,8 +47,9 @@
</template>
<script>
import { getJsydsyqList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getJsydsyqList } from "@/api/registerBook.js";
export default {
data () {
return {
......@@ -82,6 +83,9 @@
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach(item => {
item.sjlx = getSjlx(item.sjlx)
})
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -109,6 +113,27 @@
}
return name;
},
// 新增一条补录信息
editDialog(row,del){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row,del)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
},
},
};
</script>
......
......@@ -5,7 +5,12 @@
{{ 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
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</div>
</div>
......@@ -15,14 +20,28 @@
<td>
{{ item.label }}
</td>
<td v-for="(row, index) in tableData" :key="index" :class="[
<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="setbut" v-if="item.prop == 'cz'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
]"
>
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -42,10 +61,11 @@
</template>
<script>
import { getFdcq2List } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getFdcq2List } from "@/api/registerBook.js";
export default {
data () {
data() {
return {
title: "房地产权登记信息(独幢、层、套、间房屋)",
qsztList: datas.columns().qsztList,
......@@ -60,15 +80,13 @@ export default {
columns: datas.columns().FDCQ2,
};
},
created () {
created() {
this.loadData();
},
methods: {
loadData () {
if(this.$parent.addRepairRecord){
this.columns.unshift({prop:"cz",
label:"操作"
})
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getFdcq2List({
bdcdyid: this.propsParam.bdcdyid,
......@@ -77,6 +95,9 @@ export default {
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -86,7 +107,7 @@ export default {
}
});
},
checkChange () {
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
......@@ -94,7 +115,7 @@ export default {
this.loadData();
}
},
getQsztName (code) {
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
......@@ -104,62 +125,23 @@ export default {
}
return name;
},
// 编辑
editDialog(row){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
// 新增一条补录信息
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
})
.catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
type: "info",
message: "取消",
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
},
// 删除
deleteDialog(row){
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
// that.$emit('updateList', res.result)
// that.$message({
// message: '删除成功!',
// type: 'success'
// })
// }
// })
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
};
</script>
......
......@@ -22,9 +22,9 @@
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '',
]">
<div class="setbut" v-if="item.prop == 'cz'">
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -47,8 +47,9 @@
</template>
<script>
import { getJsydsyqList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getJsydsyqList } from "@/api/registerBook.js";
export default {
data () {
return {
......@@ -70,6 +71,7 @@
},
methods: {
loadData () {
if(this.$parent.addRepairRecord){
this.columns.unshift({prop:"cz",
label:"操作"
......@@ -82,6 +84,9 @@
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach(item => {
item.sjlx = getSjlx(item.sjlx)
})
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -109,6 +114,27 @@
}
return name;
},
// 新增一条补录信息
editDialog(row,del){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row,del)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
},
},
};
</script>
......
......@@ -22,9 +22,9 @@
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '',
]">
<div class="setbut" v-if="item.prop == 'cz'">
<div class="setbut" v-if="item.prop == 'cz'&&row.sjlx !='系统数据'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -70,8 +70,9 @@
</template>
<script>
import { getNydsyqList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getNydsyqList } from "@/api/registerBook.js";
export default {
data () {
return {
......@@ -111,6 +112,9 @@
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.tableData.forEach(item => {
item.sjlx = getSjlx(item.sjlx)
})
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
......@@ -138,6 +142,27 @@
}
return name;
},
// 新增一条补录信息
editDialog(row,del){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row,del)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
},
},
};
</script>
......
......@@ -4,7 +4,7 @@ class data extends filter {
constructor() {
super()
}
columns() {
columns () {
return {
//空列值个数
emptycolNum: 3,
......@@ -172,7 +172,7 @@ class data extends filter {
label: "坐落",
},
{
prop: "gyfs",
prop: "gyqk",
label: "共有情况",
},
{
......@@ -216,7 +216,7 @@ class data extends filter {
label: "房地产交易价格(万元)",
},
{
prop: "ytmc",
prop: "ghyt",
label: "规划用途",
},
{
......
......@@ -22,7 +22,7 @@
]">
<div class="setbut" v-if="item.prop == 'cz'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
......@@ -105,6 +105,27 @@ export default {
}
return name;
},
// 新增一条补录信息
editDialog(row,del){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row,del)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
},
},
};
</script>
......
......@@ -20,6 +20,10 @@
row.qszt == '0' ? 'linshi' : '',
item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
]">
<div class="setbut" v-if="item.prop == 'cz'">
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
<el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row,'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
正在办理
</div>
......@@ -100,14 +104,14 @@ export default {
}
return name;
},
// 编辑
editDialog(row){
// 新增一条补录信息
editDialog(row,del){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$parent.addRepairRecord(row,del)
this.$message({
type: 'success',
......@@ -120,42 +124,7 @@ export default {
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
},
// 删除
deleteDialog(row){
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
// that.$emit('updateList', res.result)
// that.$message({
// message: '删除成功!',
// type: 'success'
// })
// }
// })
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
};
</script>
......
......@@ -5,7 +5,6 @@
<el-row>
<el-col :span="24" class="btnColRight">
<el-form-item>
{{ isRefresh }}
<el-button type="primary" @click="fetchData">查询</el-button>
<el-button type="primary" @click="openAddDialog">新增</el-button>
</el-form-item>
......@@ -25,12 +24,12 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getLodop } from "@/utils/LodopFuncs"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./dymbgl"
import { selectPrintTemplateList, delPrintTemplate } from "@/api/system.js"
export default {
import { mapGetters } from 'vuex'
import { getLodop } from "@/utils/LodopFuncs"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./dymbgl"
import { selectPrintTemplateList, delPrintTemplate } from "@/api/system.js"
export default {
name: "dymbgl",
mixins: [table],
data () {
......@@ -167,8 +166,8 @@ export default {
LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
},
},
};
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "~@/styles/public.scss";
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-31 16:04:44
* @LastEditTime: 2023-06-20 16:09:31
-->
<template>
<div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px">
<div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px;text-align: center;">
<!-- 表单部分 -->
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz"
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bdcqzlx"
v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane>
</el-tabs>
<div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div>
<!-- <img :src="previewImage" class="imgClass"> -->
<canvas ref="canvas" :width="canvasWidth" :height="canvasHeight"></canvas>
<canvas ref="zs" width="1000" v-if="activeName==1" height="700"></canvas>
<canvas ref="zm" width="1180" v-else height="780"></canvas>
</div>
</template>
......@@ -30,9 +30,7 @@
data () {
return {
imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
canvasWidth: 1018,
canvasHeight: 720,
bdczmSrc: require('@/image/bdcqz/bdczm.jpg'),
loading: false,
//印刷序列号集合
ysxlh: [],
......@@ -79,10 +77,14 @@
getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
if (res.code == 200) {
if (res.result && res.result.length > 0) {
this.activeName = res.result[0].bsmBdcqz
this.activeName = res.result[0].bdcqzlx
this.bdcqz = res.result[0]
this.headTabBdcqz = res.result
this.drawTextOnImage();
if (this.activeName == 1) {
this.drawTextOnImage()
} else {
this.drawTextzmImage()
}
}
}
this.loading = false
......@@ -91,26 +93,21 @@
//tab表头切换方法
handleClick (e) {
this.bdcqz = this.headTabBdcqz[e.index - 0]
this.activeName = this.headTabBdcqz.bsmBdcqz
// this.getBdcqzPreview();
this.activeName = this.headTabBdcqz.bdcqzlx
if (this.activeName == 1) {
this.drawTextOnImage()
} else {
this.drawTextzmImage()
}
},
// getBdcqzPreview () {
// bdcqzPreview(this.bdcqz).then(res => {
// this.loading = false
// let blob = new Blob([res]);
// let url = window.URL.createObjectURL(blob);
// this.previewImage = url;
// this.drawTextOnImage()
// })
// },
// 不动产证书
drawTextOnImage () {
const canvas = this.$refs.canvas;
const canvas = this.$refs.zs;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
context.drawImage(image, 0, 0);
context.font = '15px 楷体';
context.font = '18px 楷体';
context.fillStyle = '#000000';
context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56);
context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56);
......@@ -125,10 +122,79 @@
context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 138, 346);
context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 138, 386);
context.fillText(this.bdcqz.syqx ? this.bdcqz.syqx : '', 138, 429);
context.fillText(this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk : '', 138, 469);
// qlqtzk
const maxWidth = 280; // 最大宽度限制
let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
lines.forEach((line, index) => {
const y = 469 + (index * 37); // 每行文本的垂直位置
let currentLine = '';
let arr = [];
for (let word of line) {
const testLine = currentLine + word;
const lineWidth = context.measureText(testLine).width;
if (lineWidth <= maxWidth) {
currentLine = testLine;
} else {
arr.push(currentLine);
currentLine = word;
}
}
arr.push(currentLine);
arr.forEach((line, index) => {
context.fillText(line, 138, y + (index * 20)); // 调整行高
})
})
context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 580, 100);
}
image.src = this.imgSrc;
image.src = this.imgSrc
},
// 不动产证明
drawTextzmImage () {
const canvas = this.$refs.zm;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
context.drawImage(image, 0, 0);
context.font = '18px 楷体';
context.fillStyle = '#000000';
context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125);
context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123);
context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180);
context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
// 义务人
context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
// bdcdyh
context.fillText(this.bdcqz.bdcdyh ? this.bdcqz.bdcdyh : '', 775, 373);
// qlqtzk
const maxWidth = 280; // 最大宽度限制
let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
lines.forEach((line, index) => {
const y = 415 + (index * 37); // 每行文本的垂直位置
let currentLine = '';
let arr = [];
for (let word of line) {
const testLine = currentLine + word;
const lineWidth = context.measureText(testLine).width;
if (lineWidth <= maxWidth) {
currentLine = testLine;
} else {
arr.push(currentLine);
currentLine = word;
}
}
arr.push(currentLine);
arr.forEach((line, index) => {
context.fillText(line, 775, y + (index * 20)); // 调整行高
});
});
// fj
context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 775, 650);
};
image.src = this.bdczmSrc;
}
}
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-16 10:38:23
-->
<template>
<div>
<lb-table :column="column" :pagination="false" :key="key" :heightNumSetting="true" :minHeight="150"
:data="tableDataList">
</lb-table>
<addQlr v-model="dialog" :details="details" :showButton="showButton" @updateDetail="handleupdateDetail" />
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getIdCardInfo } from '@/utils/operation.js'
import addQlr from './dialog/addQlr.vue'
export default {
components: {
addQlr
},
computed: {
...mapGetters(["dictData"]),
},
props: {
tableData: {
type: Array,
default: function () {
return []
}
},
gyfs: {
type: String,
default: '1'
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
isaddupdate: false,
showButton: this.$route.query.viewtype ? false : true,
details: {},
tableDataList: [],
InformationTable: [
{
width: '50',
renderHeader: (h, scope) => {
return <div> {
this.$route.query.viewtype == 1 ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.addClick() }}></i>
}
</div>
},
render: (h, scope) => {
return (
<div>
{
this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> :
<i class="el-icon-minus pointer" onClick={() => { this.deleClick(scope.$index, scope.row) }}></i>
}
</div>
)
}
},
{
label: '土地用途',
align: 'center',
render: (h, scope) => {
return <el-input v-model={scope.row.zjzl} ></el-input>
}
},
{
prop: "sqrmc",
label: "土地使用起始时间",
render: (h, scope) => {
return <el-input v-model={scope.row.zjzl} ></el-input>
}
},
{
prop: "zjzl",
label: "土地使用结束时间",
render: (h, scope) => {
return <el-input v-model={scope.row.zjzl} ></el-input>
}
},
{
prop: "zjh",
label: "土地使用期限",
render: (h, scope) => {
return <el-input v-model={scope.row.zjzl} ></el-input>
}
}
],
column: []
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this
this.$nextTick(() => {
if (val.length == 0 || !val) {
that.tableDataList = _.cloneDeep([{
sqrmc: '',
dlrzjlx: '',
dlrzjh: '',
fr: ''
}])
} else {
that.tableDataList = _.cloneDeep(val)
}
})
},
immediate: true,
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.InformationTable)
if (newVal == 0) {
// this.column = _.cloneDeep(dataList).slice(1, dataList.length)
this.column = _.cloneDeep(dataList)
} else if ((newVal == '1' || newVal == '3')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "fs",
label: "份数"
})
}
},
immediate: true
}
},
methods: {
handleupdateDetail (value) {
if (this.isaddupdate) {
if (!_.isEqual(value, this.tableData)) {
this.tableDataList[this.tableDataList.length] = _.cloneDeep(value);
this.$emit('upDateQlrxxList', this.tableDataList)
}
} else {
if (!_.isEqual(value, this.tableData)) {
this.tableDataList[this.dataIndex] = _.cloneDeep(value);
this.$emit('upDateQlrxxList', this.tableDataList)
}
}
this.key++
},
// 新增
addClick () {
if (this.gyfs == '0' && this.tableDataList.length > 0) {
this.$message.warning("当前共有方式为单独所有,无法添加多个权利人")
} else {
this.dialog = true
this.isaddupdate = true
}
},
// 删除
deleClick (index, row) {
this.$confirm('确定要删除吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableData.splice(index, 1)
}).catch(() => {
});
},
// 身份证读取
readClick (row) {
getIdCardInfo().then(res => {
if (res.data.code == 0) {
let data = res.data.IDCardInfo
row.sqrmc = data.name
row.zjzl = '1'
row.zjh = data.cardID
row.xb = data.sexCode
row.txdz = data.address
row.fzjg = data.issueOrgan
this.$message({
message: '读取成功!',
type: 'success'
})
} else {
this.$message({
message: res.data.message,
type: 'warning'
})
}
})
},
// 修改
editClick (index, row) {
// popupDialog("申请人信息", "workflow/components/addQlr", {
// showButton: this.$route.query.viewtype ? false : true,
// dataIndex :index,
// details :row,
// isaddupdate :false
// });
this.dataIndex = index
this.dialog = true
this.details = row
this.isaddupdate = false
},
queryViewClick (index, row) {
// popupDialog("申请人信息", "workflow/components/addQlr", {
// showButton: this.$route.query.viewtype ? false : true,
// details: row,
// });
this.dialog = true
this.details = row
}
}
}
</script>
<style scoped lang="scss">
.el-input {
border: none !important;
}
</style>
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-18 15:01:31
* @LastEditTime: 2023-06-20 11:28:09
*/
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js";
import { getPrintTemplateByCode } from "@/api/system";
......@@ -106,7 +106,7 @@ export default {
this.$popupDialog("证书预览", "workflow/components/dialog/zsyl", {
bsmSlsq: this.bsmSlsq,
entryType: '1'
}, '65%', true)
}, '1210px', true)
break;
case "B6":
//根据编号获取对应信息
......
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-05-25 08:41:40
* @LastEditTime: 2023-06-20 10:27:45
-->
<template>
<div class="slxx">
......@@ -224,7 +224,7 @@
...res.result.qlxxdatas,
}
//初始化发证方式,1:小证,2:大正
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs='1' : this.ruleForm.slsq.fzfs;
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs;
}
});
},
......
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-05-25 08:41:33
* @LastEditTime: 2023-06-20 10:27:49
-->
<template>
<div class="slxx">
......@@ -210,7 +210,7 @@
...res.result.jsydsyqdatas,
};
//初始化发证方式,1:小证,2:大正
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs='1' : this.ruleForm.slsq.fzfs;
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs;
}
});
},
......
......@@ -110,7 +110,7 @@
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="房屋用途:">
<el-input disabled v-model="ruleForm.fwyt"></el-input>
<el-input disabled v-model="ruleForm.ytmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
......
......@@ -5,8 +5,8 @@
-->
<template>
<!-- 受理信息 -->
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" class="loadingtext" ref="ruleForm" :label-position="flag ? 'top' : ''"
<div class="slxx loadingtext">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''"
:inline="flag" label-width="120px">
<div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
<div class="slxx_title title-block">
......@@ -202,8 +202,8 @@
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = res.result;
this.$endLoading();
}
this.$endLoading();
});
},
components: { qlrCommonTable },
......
......@@ -28,6 +28,19 @@ class data extends filter {
}
},
{
prop: "status",
label: "状态",
render: (h, scope) => {
return (
<div>
{/* <a v-on:click="doSomething"></a> */}
<a style='color:#3498db;' v-show={scope.row.djblzt == 1} >正在办理</a>
<span v-show={scope.row.sfbl == 1}>,正在补录</span>
</div>
)
}
},
{
label: "权属状态",
width: '80',
render: (h, scope) => {
......@@ -55,10 +68,7 @@ class data extends filter {
)
}
},
{
prop: "ywh",
label: "业务号",
},
{
prop: "qllxmc",
label: "权利类型",
......