From 335642b3d8a4cdda3d43ea5a784087bdccdd2f73 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 05 Jan 2024 17:51:17 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web
---
src/views/userHouse/houseList.vue | 20
src/views/article/components/discussionManageChild.vue | 4
src/views/article/components/deitDiscussion.vue | 6
src/util/util.js | 249 ++-
src/views/gzll/components/ownersMemberManager.vue | 3
src/views/gzll/owners.vue | 4
src/views/property/propertyCompanyDistrict.vue | 9
src/views/place/components/baseAllInfo.vue | 87
src/views/cGovernance/taskECall.vue | 10
src/views/article/components/publicSignUpChild.vue | 750 +++++-----
src/views/userHouse/hireInfoList.vue | 1461 ++++++++++----------
src/views/community/index.vue | 28
src/views/property/propertyCapitalApply.vue | 9
src/views/article/rotation.vue | 17
src/views/grid/gridman.vue | 9
src/views/userHouse/components/householdManager.vue | 770 ++++++----
src/views/grid/index.vue | 8
src/views/place/index.vue | 56
src/views/task/reportForRepairs.vue | 193 +-
src/views/userHouse/houseHoldList.vue | 512 ++++--
src/views/district/index.vue | 24
src/views/owners_committee/index.vue | 4
22 files changed, 2,359 insertions(+), 1,874 deletions(-)
diff --git a/src/util/util.js b/src/util/util.js
index dd8d384..83cd2f7 100644
--- a/src/util/util.js
+++ b/src/util/util.js
@@ -1,53 +1,55 @@
-import {validatenull} from './validate'
+import { validatenull } from "./validate";
//表单序列化
-export const serialize = data => {
+export const serialize = (data) => {
let list = [];
- Object.keys(data).forEach(ele => {
- list.push(`${ele}=${data[ele]}`)
- })
- return list.join('&');
+ Object.keys(data).forEach((ele) => {
+ list.push(`${ele}=${data[ele]}`);
+ });
+ return list.join("&");
};
-export const getObjType = obj => {
+export const getObjType = (obj) => {
var toString = Object.prototype.toString;
var map = {
- '[object Boolean]': 'boolean',
- '[object Number]': 'number',
- '[object String]': 'string',
- '[object Function]': 'function',
- '[object Array]': 'array',
- '[object Date]': 'date',
- '[object RegExp]': 'regExp',
- '[object Undefined]': 'undefined',
- '[object Null]': 'null',
- '[object Object]': 'object'
+ "[object Boolean]": "boolean",
+ "[object Number]": "number",
+ "[object String]": "string",
+ "[object Function]": "function",
+ "[object Array]": "array",
+ "[object Date]": "date",
+ "[object RegExp]": "regExp",
+ "[object Undefined]": "undefined",
+ "[object Null]": "null",
+ "[object Object]": "object",
};
if (obj instanceof Element) {
- return 'element';
+ return "element";
}
return map[toString.call(obj)];
};
export const getViewDom = () => {
- return window.document.getElementById('avue-view').getElementsByClassName('el-scrollbar__wrap')[0]
-}
+ return window.document
+ .getElementById("avue-view")
+ .getElementsByClassName("el-scrollbar__wrap")[0];
+};
/**
* 对象深拷贝
*/
-export const deepClone = data => {
+export const deepClone = (data) => {
var type = getObjType(data);
var obj;
- if (type === 'array') {
+ if (type === "array") {
obj = [];
- } else if (type === 'object') {
+ } else if (type === "object") {
obj = {};
} else {
//不再具有下一层次
return data;
}
- if (type === 'array') {
+ if (type === "array") {
for (var i = 0, len = data.length; i < len; i++) {
obj.push(deepClone(data[i]));
}
- } else if (type === 'object') {
+ } else if (type === "object") {
for (var key in data) {
obj[key] = deepClone(data[key]);
}
@@ -59,9 +61,9 @@
*/
export const toggleGrayMode = (status) => {
if (status) {
- document.body.className = document.body.className + ' grayMode';
+ document.body.className = document.body.className + " grayMode";
} else {
- document.body.className = document.body.className.replace(' grayMode', '');
+ document.body.className = document.body.className.replace(" grayMode", "");
}
};
/**
@@ -69,32 +71,25 @@
*/
export const setTheme = (name) => {
document.body.className = name;
-}
+};
/**
* 加密处理
*/
export const encryption = (params) => {
- let {
- data,
- type,
- param,
- key
- } = params;
+ let { data, type, param, key } = params;
let result = JSON.parse(JSON.stringify(data));
- if (type == 'Base64') {
- param.forEach(ele => {
+ if (type == "Base64") {
+ param.forEach((ele) => {
result[ele] = btoa(result[ele]);
- })
- } else if (type == 'Aes') {
- param.forEach(ele => {
+ });
+ } else if (type == "Aes") {
+ param.forEach((ele) => {
result[ele] = window.CryptoJS.AES.encrypt(result[ele], key).toString();
- })
-
+ });
}
return result;
};
-
/**
* 浏览器判断是否全屏
@@ -111,7 +106,7 @@
*/
export const listenfullscreen = (callback) => {
function listen() {
- callback()
+ callback();
}
document.addEventListener("fullscreenchange", function () {
@@ -131,9 +126,12 @@
* 浏览器判断是否全屏
*/
export const fullscreenEnable = () => {
- var isFullscreen = document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen
+ var isFullscreen =
+ document.isFullScreen ||
+ document.mozIsFullScreen ||
+ document.webkitIsFullScreen;
return isFullscreen;
-}
+};
/**
* 浏览器全屏
@@ -186,12 +184,12 @@
* 动态插入css
*/
-export const loadStyle = url => {
- const link = document.createElement('link');
- link.type = 'text/css';
- link.rel = 'stylesheet';
+export const loadStyle = (url) => {
+ const link = document.createElement("link");
+ link.type = "text/css";
+ link.rel = "stylesheet";
link.href = url;
- const head = document.getElementsByTagName('head')[0];
+ const head = document.getElementsByTagName("head")[0];
head.appendChild(link);
};
/**
@@ -201,7 +199,8 @@
delete obj1.close;
var o1 = obj1 instanceof Object;
var o2 = obj2 instanceof Object;
- if (!o1 || !o2) { /* 判断不是对象 */
+ if (!o1 || !o2) {
+ /* 判断不是对象 */
return obj1 === obj2;
}
@@ -220,14 +219,18 @@
}
}
return true;
-}
+};
/**
* 根据字典的value显示label
*/
export const findByvalue = (dic, value) => {
- let result = '';
+ let result = "";
if (validatenull(dic)) return value;
- if (typeof (value) == 'string' || typeof (value) == 'number' || typeof (value) == 'boolean') {
+ if (
+ typeof value == "string" ||
+ typeof value == "number" ||
+ typeof value == "boolean"
+ ) {
let index = 0;
index = findArray(dic, value);
if (index != -1) {
@@ -238,7 +241,7 @@
} else if (value instanceof Array) {
result = [];
let index = 0;
- value.forEach(ele => {
+ value.forEach((ele) => {
index = findArray(dic, ele);
if (index != -1) {
result.push(dic[index].label);
@@ -265,8 +268,10 @@
* 生成随机len位数字
*/
export const randomLenNum = (len, date) => {
- let random = '';
- random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len ? len : 4);
+ let random = "";
+ random = Math.ceil(Math.random() * 100000000000000)
+ .toString()
+ .substr(0, len ? len : 4);
if (date) random = random + Date.now();
return random;
};
@@ -275,28 +280,49 @@
*/
export const openWindow = (url, title, w, h) => {
// Fixes dual-screen position Most browsers Firefox
- const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left
- const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top
+ const dualScreenLeft =
+ window.screenLeft !== undefined ? window.screenLeft : screen.left;
+ const dualScreenTop =
+ window.screenTop !== undefined ? window.screenTop : screen.top;
- const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width
- const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height
+ const width = window.innerWidth
+ ? window.innerWidth
+ : document.documentElement.clientWidth
+ ? document.documentElement.clientWidth
+ : screen.width;
+ const height = window.innerHeight
+ ? window.innerHeight
+ : document.documentElement.clientHeight
+ ? document.documentElement.clientHeight
+ : screen.height;
- const left = ((width / 2) - (w / 2)) + dualScreenLeft
- const top = ((height / 2) - (h / 2)) + dualScreenTop
- const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left)
+ const left = width / 2 - w / 2 + dualScreenLeft;
+ const top = height / 2 - h / 2 + dualScreenTop;
+ const newWindow = window.open(
+ url,
+ title,
+ "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=" +
+ w +
+ ", height=" +
+ h +
+ ", top=" +
+ top +
+ ", left=" +
+ left
+ );
// Puts focus on the newWindow
if (window.focus) {
- newWindow.focus()
+ newWindow.focus();
}
-}
+};
/**
* 获取顶部地址栏地址
*/
export const getTopUrl = () => {
return window.location.href.split("/#/")[0];
-}
+};
/**
* 获取url参数
@@ -307,7 +333,7 @@
let r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(decodeURI(r[2]));
return null;
-}
+};
/**
* 下载文件
@@ -316,19 +342,19 @@
*/
export const downloadFileBlob = (path, name) => {
const xhr = new XMLHttpRequest();
- xhr.open('get', path);
- xhr.responseType = 'blob';
+ xhr.open("get", path);
+ xhr.responseType = "blob";
xhr.send();
xhr.onload = function () {
if (this.status === 200 || this.status === 304) {
// 如果是IE10及以上,不支持download属性,采用msSaveOrOpenBlob方法,但是IE10以下也不支持msSaveOrOpenBlob
- if ('msSaveOrOpenBlob' in navigator) {
+ if ("msSaveOrOpenBlob" in navigator) {
navigator.msSaveOrOpenBlob(this.response, name);
return;
}
const url = URL.createObjectURL(this.response);
- const a = document.createElement('a');
- a.style.display = 'none';
+ const a = document.createElement("a");
+ a.style.display = "none";
a.href = url;
a.download = name;
document.body.appendChild(a);
@@ -337,7 +363,7 @@
URL.revokeObjectURL(url);
}
};
-}
+};
/**
* 下载文件
@@ -346,16 +372,16 @@
*/
export const downloadFileBase64 = (path, name) => {
const xhr = new XMLHttpRequest();
- xhr.open('get', path);
- xhr.responseType = 'blob';
+ xhr.open("get", path);
+ xhr.responseType = "blob";
xhr.send();
xhr.onload = function () {
if (this.status === 200 || this.status === 304) {
const fileReader = new FileReader();
fileReader.readAsDataURL(this.response);
fileReader.onload = function () {
- const a = document.createElement('a');
- a.style.display = 'none';
+ const a = document.createElement("a");
+ a.style.display = "none";
a.href = this.result;
a.download = name;
document.body.appendChild(a);
@@ -364,7 +390,7 @@
};
}
};
-}
+};
/**
* 下载excel
@@ -372,34 +398,63 @@
* @param {String} filename 文件名称
*/
export const downloadXls = (fileArrayBuffer, filename) => {
- let data = new Blob([fileArrayBuffer], {type: 'application/vnd.ms-excel,charset=utf-8'});
- if (typeof window.chrome !== 'undefined') {
+ let data = new Blob([fileArrayBuffer], {
+ type: "application/vnd.ms-excel,charset=utf-8",
+ });
+ if (typeof window.chrome !== "undefined") {
// Chrome
- var link = document.createElement('a');
+ var link = document.createElement("a");
link.href = window.URL.createObjectURL(data);
link.download = filename;
link.click();
- } else if (typeof window.navigator.msSaveBlob !== 'undefined') {
+ } else if (typeof window.navigator.msSaveBlob !== "undefined") {
// IE
- var blob = new Blob([data], {type: 'application/force-download'});
+ var blob = new Blob([data], { type: "application/force-download" });
window.navigator.msSaveBlob(blob, filename);
} else {
// Firefox
- var file = new File([data], filename, {type: 'application/force-download'});
+ var file = new File([data], filename, {
+ type: "application/force-download",
+ });
window.open(URL.createObjectURL(file));
}
-}
+};
export const processArray = (arr) => {
- arr.forEach(item => {
- if ('children' in item && item.children.length > 0) {
- item.children = processArray(item.children)
- } else {
- if ('children' in item) {
- delete item.children
- }
- }
- })
+ arr.forEach((item) => {
+ if ("children" in item && item.children.length > 0) {
+ item.children = processArray(item.children);
+ } else {
+ if ("children" in item) {
+ delete item.children;
+ }
+ }
+ });
- return arr
-}
\ No newline at end of file
+ return arr;
+};
+
+export const findParentOrCur = (data, targetId) => {
+ function traverse(node, path) {
+ if (node.id === targetId) {
+ return path.concat(node.name);
+ }
+ if (node.children) {
+ for (let child of node.children) {
+ let result = traverse(child, path.concat(node.name));
+ if (result) {
+ return result;
+ }
+ }
+ }
+ }
+
+ for (let node of data) {
+ let result = traverse(node, []);
+ if (result) {
+ return result.join("-");
+ }
+ }
+
+ return null; // 如果找不到目标id,返回null
+};
diff --git a/src/views/article/components/deitDiscussion.vue b/src/views/article/components/deitDiscussion.vue
index 23eb4db..a92bef0 100644
--- a/src/views/article/components/deitDiscussion.vue
+++ b/src/views/article/components/deitDiscussion.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2024-01-04 15:18:13
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-01-04 17:13:22
+ * @LastEditTime: 2024-01-05 17:23:39
* @FilePath: \jczz_web\src\views\article\components\deitDiscussion.vue
* @Description:
*
@@ -201,7 +201,9 @@
label: '手机',
prop: 'phone'
}, {
- label: '小区',
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
prop: 'aoiName'
}, {
label: '地址',
diff --git a/src/views/article/components/discussionManageChild.vue b/src/views/article/components/discussionManageChild.vue
index d9ac977..d4e3232 100644
--- a/src/views/article/components/discussionManageChild.vue
+++ b/src/views/article/components/discussionManageChild.vue
@@ -116,7 +116,9 @@
label: '手机',
prop: 'phone'
}, {
- label: '小区',
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
prop: 'aoiName'
}, {
label: '地址',
diff --git a/src/views/article/components/publicSignUpChild.vue b/src/views/article/components/publicSignUpChild.vue
index 209c0e9..c7d0590 100644
--- a/src/views/article/components/publicSignUpChild.vue
+++ b/src/views/article/components/publicSignUpChild.vue
@@ -1,415 +1,417 @@
<template>
- <basicContainer>
- <avue-crud :data="data" ref="crud" :table-loading="loading" @current-change="currentChange"
- @search-change="searchChange" @search-reset="searchReset" @size-change="sizeChange" :option="option"
- v-model="data" :page="page" @selection-change="selectionChange" @row-del="rowDel" @refresh-change="refreshChange"
- @on-load="onLoad">
- <template slot="menuLeft">
- <!-- <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删 除
+ <basicContainer>
+ <avue-crud :data="data" ref="crud" :table-loading="loading" @current-change="currentChange"
+ @search-change="searchChange" @search-reset="searchReset" @size-change="sizeChange" :option="option"
+ v-model="data" :page="page" @selection-change="selectionChange" @row-del="rowDel"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <!-- <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删 除
</el-button> -->
- <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.user_delete"
- @click="handleDelete">批量删除
- </el-button>
- </template>
+ <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.user_delete"
+ @click="handleDelete">批量删除
+ </el-button>
+ </template>
- <template slot-scope="scope" slot="menu">
- <el-button type="text" icon="el-icon-s-custom" size="small" @click.stop="openDilog(scope.row,0)">
- 编辑
- </el-button>
- <el-button type="primary" icon="el-icon-s-custom" size="small" @click.stop="openUser(scope.row,0)">
- 参与用户
- </el-button>
- </template>
- </avue-crud>
+ <template slot-scope="scope" slot="menu">
+ <el-button type="text" icon="el-icon-s-custom" size="small" @click.stop="openDilog(scope.row, 0)">
+ 编辑
+ </el-button>
+ <el-button type="primary" icon="el-icon-s-custom" size="small" @click.stop="openUser(scope.row, 0)">
+ 参与用户
+ </el-button>
+ </template>
+ </avue-crud>
- <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
- <avue-form @submit="handleSubmit" :option="optionEnroll" v-model="discussForm">
- </avue-form>
- </el-dialog>
+ <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
+ <avue-form @submit="handleSubmit" :option="optionEnroll" v-model="discussForm">
+ </avue-form>
+ </el-dialog>
- <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="50%" :before-close="userHandleClose">
- <!-- <span slot="title" class="dialog-footer">
+ <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="50%" :before-close="userHandleClose">
+ <!-- <span slot="title" class="dialog-footer">
{{discussForm.ontitle}}
</span> -->
- <avue-crud :data="dataUser" :page="pageUser" :option="option1" @on-load="getUser"></avue-crud>
- </el-dialog>
+ <avue-crud :data="dataUser" :page="pageUser" :option="option1" @on-load="getUser"></avue-crud>
+ </el-dialog>
- </basicContainer>
+ </basicContainer>
</template>
<script>
- import {
+import {
getListPd,
getDetailPd,
addPd,
updatePd,
removePd,
- } from "@/api/discuss/publicDiscuss";
- import {
+} from "@/api/discuss/publicDiscuss"
+import {
getPageUser,
- } from "@/api/discuss/userPublicEnroll";
- import option from "@/option/discuss/publicDiscuss";
- import {
+} from "@/api/discuss/userPublicEnroll"
+import option from "@/option/discuss/publicDiscuss"
+import {
mapGetters
- } from "vuex";
- import {
+} from "vuex"
+import {
getDictionary
- } from '@/api/system/dict'
+} from '@/api/system/dict'
- export default {
- data() {
- return {
- option1: {
- menu: false,
- addBtn: false,
- column: [{
- label: '姓名',
- prop: 'name'
- }, {
- label: '头像',
- prop: 'avatar'
- }, {
- label: '手机',
- prop: 'phone'
- }, {
- label: '小区',
- prop: 'aoiName'
- }, {
- label: '地址',
- prop: 'addressName'
- }, {
- label: '时间',
- prop: 'createTime'
- }]
- },
- discussForm: {
- ontitle: '',
- title: '',
- openFlag: 0,
- numberRestrictions: 0,
- voteRestrictions: 0,
- userRestrictions: 0,
- endTime: '',
- articleId: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- repeatVote: 0,
- voteNumberPublic: 0,
- appointUser: '',
- userIds: '',
- eventType: 1,
- },
- optionEnroll: {
- column: [{
- label: "",
- type: 'title',
- prop: "title",
- span: 24,
- row: true,
- offset: 2,
- styles: {
- fontSize: '24px'
- }
- }, {
- labelWidth: 100,
- label: '开启',
- prop: 'openFlag',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '开启',
- value: 0
- }, {
- label: '不开启',
- value: 1
- }]
+export default {
+ data () {
+ return {
+ option1: {
+ menu: false,
+ addBtn: false,
+ column: [{
+ label: '姓名',
+ prop: 'name'
+ }, {
+ label: '头像',
+ prop: 'avatar'
+ }, {
+ label: '手机',
+ prop: 'phone'
+ }, {
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
+ prop: 'aoiName'
+ }, {
+ label: '地址',
+ prop: 'addressName'
+ }, {
+ label: '时间',
+ prop: 'createTime'
+ }]
},
- {
- labelWidth: 100,
- label: '开启投票',
- prop: 'openFlag',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '开启',
- value: 0
- }, {
- label: '不开启',
- value: 1
- }]
+ discussForm: {
+ ontitle: '',
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: '',
+ userIds: '',
+ eventType: 1,
},
- {
- label: "截止时间",
- row: true,
- offset: 6,
- prop: "endTime",
- type: "datetime",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "timestamp",
+ optionEnroll: {
+ column: [{
+ label: "",
+ type: 'title',
+ prop: "title",
+ span: 24,
+ row: true,
+ offset: 2,
+ styles: {
+ fontSize: '24px'
+ }
+ }, {
+ labelWidth: 100,
+ label: '开启',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }]
+ },
+ {
+ labelWidth: 100,
+ label: '开启投票',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }]
+ },
+ {
+ label: "截止时间",
+ row: true,
+ offset: 6,
+ prop: "endTime",
+ type: "datetime",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "timestamp",
+ },
+ ]
},
- ]
- },
- dialogVisibles: false,
- dialogVisiblesUser: false,
- // 弹框标题
- title: '',
- // 是否展示弹框
- box: false,
- // 是否显示查询
- search: true,
- // 加载中
- loading: true,
- // 是否为查看模式
- view: false,
- // 查询信息
- query: {},
- // 分页信息
- page: {
- pageSize: 10,
- pageSizes: [10, 20, 30, 50, 100],
- currentPage: 1,
- total: 0
- },
+ dialogVisibles: false,
+ dialogVisiblesUser: false,
+ // 弹框标题
+ title: '',
+ // 是否展示弹框
+ box: false,
+ // 是否显示查询
+ search: true,
+ // 加载中
+ loading: true,
+ // 是否为查看模式
+ view: false,
+ // 查询信息
+ query: {},
+ // 分页信息
+ page: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
+ },
- // 分页信息
- pageUser: {
- pageSize: 10,
- pageSizes: [10, 20, 30, 50, 100],
- currentPage: 1,
- total: 0
- },
- // 表单数据
- form: {},
- // 选择行
- selectionList: [],
- // 表单配置
- option: {
- selection: true,
- height: "auto",
- calcHeight: 54,
- align: 'center',
- menuAlign: 'center',
- addBtn: false,
- editBtn: false,
- searchMenuSpan: 3,
- searchBtn: true,
- menuWidth: 500,
- column: [{
- label: 'ID',
- prop: 'id',
- searchSpan: 4,
- // search: true,
+ // 分页信息
+ pageUser: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
},
- {
- label: '标题',
- prop: 'title',
- searchSpan: 4,
- search: true,
+ // 表单数据
+ form: {},
+ // 选择行
+ selectionList: [],
+ // 表单配置
+ option: {
+ selection: true,
+ height: "auto",
+ calcHeight: 54,
+ align: 'center',
+ menuAlign: 'center',
+ addBtn: false,
+ editBtn: false,
+ searchMenuSpan: 3,
+ searchBtn: true,
+ menuWidth: 500,
+ column: [{
+ label: 'ID',
+ prop: 'id',
+ searchSpan: 4,
+ // search: true,
+ },
+ {
+ label: '标题',
+ prop: 'title',
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ label: '参与人数',
+ prop: 'enrollCount',
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ label: '截止时间',
+ prop: 'endTime',
+ searchSpan: 4,
+ search: true,
+ }
+ ]
},
- {
- label: '参与人数',
- prop: 'enrollCount',
- searchSpan: 4,
- search: true,
- },
- {
- label: '截止时间',
- prop: 'endTime',
- searchSpan: 4,
- search: true,
- }
- ]
- },
- // 表单列表
- data: [],
- dataUser: [],
- }
+ // 表单列表
+ data: [],
+ dataUser: [],
+ }
},
- mounted() {
- // this.init();
- // this.onLoad(this.page);
+ mounted () {
+ // this.init();
+ // this.onLoad(this.page);
},
computed: {
- ...mapGetters(["permission"]),
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["permission"]),
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- init(data) {
- this.houseCode = data.houseCode
- this.onLoad(this.page)
- },
- getUser(page, params = {}) {
- getPageUser(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.pageUser.total = data.total;
- this.dataUser = data.records;
- this.loading = false;
- this.selectionClear();
- });
- },
- userHandleClose() {
- this.dialogVisiblesUser = false
- },
- openUser(row) {
- this.dialogVisiblesUser = true
- this.getUser(this.pageUser, params = {})
- },
- openDilog(row, type) {
- this.dialogVisibles = true
- this.discussForm = row
- let times = new Date(row.endTime).getTime();
- this.discussForm.endTime = times
- console.table(this.discussForm)
- if (type == 0) {
- this.discussForm.ontitle = '公益报名'
- } else {
- this.discussForm.ontitle = '创建议题'
- }
- },
+ init (data) {
+ this.houseCode = data.houseCode
+ this.onLoad(this.page)
+ },
+ getUser (page, params = {}) {
+ getPageUser(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.pageUser.total = data.total
+ this.dataUser = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ userHandleClose () {
+ this.dialogVisiblesUser = false
+ },
+ openUser (row) {
+ this.dialogVisiblesUser = true
+ this.getUser(this.pageUser, params = {})
+ },
+ openDilog (row, type) {
+ this.dialogVisibles = true
+ this.discussForm = row
+ let times = new Date(row.endTime).getTime()
+ this.discussForm.endTime = times
+ console.table(this.discussForm)
+ if (type == 0) {
+ this.discussForm.ontitle = '公益报名'
+ } else {
+ this.discussForm.ontitle = '创建议题'
+ }
+ },
- searchHide() {
- this.search = !this.search;
- },
- searchChange() {
- this.onLoad(this.page);
- },
- searchReset() {
- this.query = {};
- this.page.currentPage = 1;
- this.onLoad(this.page);
- },
- handleSubmit(form, done) {
- done()
- if (!this.discussForm.id) {
- addPd(this.discussForm).then(() => {
- this.dialogVisibles = false
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- } else {
- updatePd(this.discussForm).then(() => {
- this.dialogVisibles = false
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- })
+ searchHide () {
+ this.search = !this.search
+ },
+ searchChange () {
+ this.onLoad(this.page)
+ },
+ searchReset () {
+ this.query = {}
+ this.page.currentPage = 1
+ this.onLoad(this.page)
+ },
+ handleSubmit (form, done) {
+ done()
+ if (!this.discussForm.id) {
+ addPd(this.discussForm).then(() => {
+ this.dialogVisibles = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ } else {
+ updatePd(this.discussForm).then(() => {
+ this.dialogVisibles = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ }
+ },
+ handleAdd () {
+ this.title = '新增'
+ this.form = {}
+ this.box = true
+ },
+ handleEdit (row) {
+ this.title = '编辑'
+ this.box = true
+ getDetailPd(row.id).then(res => {
+ this.form = res.data.data
+ })
+ },
+ handleView (row) {
+ this.title = '查看'
+ this.view = true
+ this.box = true
+ getDetailPd(row.id).then(res => {
+ this.form = res.data.data
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removePd(this.ids)
+ })
+ .then(() => {
+ this.selectionClear()
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ beforeClose (done) {
+ done()
+ this.form = {}
+ this.view = false
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ // this.$refs.table.clearSelection();
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ this.onLoad(this.page)
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ this.onLoad(this.page)
+ },
+ onLoad (page, params = {
+ eventType: 0
+ }) {
+ this.loading = true
+ getListPd(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- },
- handleAdd() {
- this.title = '新增'
- this.form = {}
- this.box = true
- },
- handleEdit(row) {
- this.title = '编辑'
- this.box = true
- getDetailPd(row.id).then(res => {
- this.form = res.data.data;
- });
- },
- handleView(row) {
- this.title = '查看'
- this.view = true;
- this.box = true;
- getDetailPd(row.id).then(res => {
- this.form = res.data.data;
- });
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removePd(this.ids);
- })
- .then(() => {
- this.selectionClear();
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- beforeClose(done) {
- done()
- this.form = {};
- this.view = false;
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- // this.$refs.table.clearSelection();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- this.onLoad(this.page);
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- this.onLoad(this.page);
- },
- onLoad(page, params = {
- eventType: 0
- }) {
- this.loading = true;
- getListPd(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- }
}
- };
+}
</script>
<style lang="scss" scoped>
- .el-pagination {
+.el-pagination {
margin-top: 20px;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/article/rotation.vue b/src/views/article/rotation.vue
index 8dd4824..ef298b4 100644
--- a/src/views/article/rotation.vue
+++ b/src/views/article/rotation.vue
@@ -62,26 +62,27 @@
span: 12,
searchSpan: 4,
search: true,
- type:"select",
- dicData:[
+ type: "select",
+ dicData: [
{
- label:"系统",
- value:"1"
+ label: "系统",
+ value: "1"
},
{
- label:"社区",
- value:"2"
+ label: "社区",
+ value: "2"
}
]
},
{
- parent: false,
+ width: 156,
+ overHidden: true,
label: "所属社区",
+ parent: false,
prop: "communityCode",
search: true,
searchSpan: 4,
searchType: 'input',
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
diff --git a/src/views/cGovernance/taskECall.vue b/src/views/cGovernance/taskECall.vue
index 9656c39..1417aca 100644
--- a/src/views/cGovernance/taskECall.vue
+++ b/src/views/cGovernance/taskECall.vue
@@ -95,11 +95,12 @@
},
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "所属社区",
prop: "communityName",
search: true,
searchSpan: 4,
@@ -111,12 +112,11 @@
},
{
+ label: "所属社区",
hide: true,
parent: false,
- label: "所属社区",
prop: "communityCode",
search: false,
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
@@ -353,7 +353,7 @@
//经纬度替换
this.form.lat = arr[1]
this.form.lng = arr[0]
- this.form.address = arr[2];
+ this.form.address = arr[2]
}
},
immediate: true,
diff --git a/src/views/community/index.vue b/src/views/community/index.vue
index 40705e7..4b197f1 100644
--- a/src/views/community/index.vue
+++ b/src/views/community/index.vue
@@ -32,6 +32,7 @@
datetime: "",
selectionList: [],
option: {
+ labelWidth: 120,
height: "auto",
calcHeight: 54,
dialogWidth: 950,
@@ -47,14 +48,13 @@
dialogClickModal: false,
column: [
{
+ width: 156,
+ overHidden: true,
label: "社区名称",
prop: "name",
searchSpan: 5,
search: true,
span: 12,
- labelWidth: 120,
- width: 220,
- overHidden: true,
rules: [
{
required: true,
@@ -64,14 +64,13 @@
],
},
{
+ width: 110,
+ overHidden: true,
label: "社区编号",
prop: "code",
searchSpan: 5,
search: true,
span: 12,
- labelWidth: 120,
- width: 220,
- overHidden: true,
rules: [
{
required: true,
@@ -82,23 +81,22 @@
},
{
+ width: 110,
+ label: "所属街道",
parent: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属街道",
prop: "townName",
search: true,
searchSpan: 4
},
{
+ label: "所属街道",
hide: true,
parent: false,
- label: "所属街道",
prop: "streetCode",
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/getTownTree",
props: {
@@ -115,9 +113,9 @@
},
{
+ width: 110,
label: "社区民警",
prop: "resPoliceUserId",
- labelWidth: 120,
type: "tree",
dicUrl: "/api/blade-system/user/getUserListByParam?roleName=民警",
props: {
@@ -127,16 +125,15 @@
rules: [
{
required: true,
- message: "请选择所属街道",
+ message: "请选择社区民警",
trigger: "blur",
},
],
},
{
+ width: 110,
label: "社区图片",
prop: "picUrl",
- width: 80,
- labelWidth: 120,
type: "upload",
listType: "picture-img",
action: "/api/blade-resource/oss/endpoint/put-file",
@@ -148,10 +145,10 @@
},
{
+ overHidden: true,
label: "地址",
prop: "address",
span: 24,
- labelWidth: 120,
rules: [
{
required: false,
@@ -163,7 +160,6 @@
{
label: "社区简介",
prop: "remark",
- labelWidth: 120,
component: "AvueUeditor",
options: {
action: "/api/blade-resource/oss/endpoint/put-file",
diff --git a/src/views/district/index.vue b/src/views/district/index.vue
index dd07e86..b7ec598 100644
--- a/src/views/district/index.vue
+++ b/src/views/district/index.vue
@@ -32,6 +32,7 @@
datetime: "",
selectionList: [],
option: {
+ labelWidth: 120,
height: "auto",
calcHeight: 54,
dialogWidth: 950,
@@ -47,13 +48,13 @@
dialogClickModal: false,
column: [
{
- label: "小区名称",
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
prop: "name",
searchSpan: 4,
search: true,
span: 12,
- labelWidth: 120,
- width: 220,
rules: [
{
required: true,
@@ -65,25 +66,26 @@
{
+ width: 110,
+ label: "所属街道",
parent: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属街道",
prop: "townStreetName",
search: true,
searchSpan: 4
},
{
- parent: false,
+ width: 156,
+ overHidden: true,
label: "所属社区",
+ parent: false,
prop: "communityCode",
search: true,
searchSpan: 4,
searchType: 'input',
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
@@ -100,18 +102,19 @@
},
{
+ width: 110,
+ overHidden: true,
+ label: "所属网格",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属网格",
prop: "gridName",
},
{
+ width: 110,
label: "小区图片",
prop: "picUrl",
- width: 80,
type: "upload",
listType: "picture-img",
action: "/api/blade-resource/oss/endpoint/put-file",
@@ -142,6 +145,7 @@
label: "地址",
prop: "address",
span: 24,
+ overHidden: true,
rules: [
{
required: true,
diff --git a/src/views/grid/gridman.vue b/src/views/grid/gridman.vue
index 69b9b94..8509b4d 100644
--- a/src/views/grid/gridman.vue
+++ b/src/views/grid/gridman.vue
@@ -90,6 +90,7 @@
},
{
+ width: 110,
label: "网格员",
prop: "gridmanName",
searchSpan: 4,
@@ -118,10 +119,12 @@
},
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- label: "所属社区",
prop: "communityName",
search: true,
searchSpan: 4,
@@ -133,10 +136,12 @@
},
{
+ width: 110,
+ overHidden: true,
+ label: "所属网格",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- label: "所属网格",
prop: "gridName",
rules: [{
required: true,
diff --git a/src/views/grid/index.vue b/src/views/grid/index.vue
index 847b9c1..5f1c1e3 100644
--- a/src/views/grid/index.vue
+++ b/src/views/grid/index.vue
@@ -46,11 +46,12 @@
dialogClickModal: false,
column: [
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "所属社区",
prop: "communityName",
search: true,
searchSpan: 4,
@@ -67,7 +68,6 @@
label: "所属社区",
prop: "communityCode",
search: false,
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
@@ -84,6 +84,8 @@
},
{
+ width: 110,
+ overHidden: true,
label: "网格名称",
prop: "gridName",
searchSpan: 4,
diff --git a/src/views/gzll/components/ownersMemberManager.vue b/src/views/gzll/components/ownersMemberManager.vue
index 1ea4ab7..9a86c5e 100644
--- a/src/views/gzll/components/ownersMemberManager.vue
+++ b/src/views/gzll/components/ownersMemberManager.vue
@@ -135,7 +135,8 @@
message: "请输入手机号",
trigger: "blur",
},],
- }, {
+ },
+ {
label: "小区",
prop: "areaId",
searchSpan: 5,
diff --git a/src/views/gzll/owners.vue b/src/views/gzll/owners.vue
index bb994bc..e89b733 100644
--- a/src/views/gzll/owners.vue
+++ b/src/views/gzll/owners.vue
@@ -106,10 +106,12 @@
},
{
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- label: "小区",
prop: "areaName"
},
diff --git a/src/views/owners_committee/index.vue b/src/views/owners_committee/index.vue
index e3613e6..0fb3e97 100644
--- a/src/views/owners_committee/index.vue
+++ b/src/views/owners_committee/index.vue
@@ -51,7 +51,9 @@
search: true
},
{
- label: "小区名称",
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
prop: "areaName",
search: true
},
diff --git a/src/views/place/components/baseAllInfo.vue b/src/views/place/components/baseAllInfo.vue
index 06842f8..1faa0fb 100644
--- a/src/views/place/components/baseAllInfo.vue
+++ b/src/views/place/components/baseAllInfo.vue
@@ -43,6 +43,19 @@
export default {
data () {
+
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
placeExt: [],
@@ -108,12 +121,19 @@
},
{
- width: 110,
- label: "电话",
+ width: 96,
+ label: "手机号码",
prop: "principalPhone",
search: true,
searchSpan: 4,
slot: true,
+ overHidden: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
{
@@ -122,7 +142,6 @@
label: "所属社区",
prop: "neiCode",
search: false,
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
@@ -206,9 +225,21 @@
label: '法人信息',
prop: 'legalPerson'
},
+
{
- label: '法人电话',
- prop: 'legalTel'
+ width: 96,
+ label: "法人电话",
+ prop: "legalTel",
+ search: true,
+ searchSpan: 4,
+ slot: true,
+ overHidden: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
{
@@ -262,22 +293,36 @@
border: true,
index: true,
dialogClickModal: false,
- column: [{
- label: "名称",
- prop: "name",
- searchSpan: 4,
- search: true,
- }, {
- label: "电话",
- prop: "telephone",
- searchSpan: 4,
- search: true,
- }, {
- label: "暂住地",
- prop: "tempAddress",
- searchSpan: 4,
- search: true,
- },]
+ column: [
+ {
+ label: "名称",
+ prop: "name",
+ searchSpan: 4,
+ search: true,
+ },
+
+ {
+ width: 96,
+ label: "手机号码",
+ prop: "telephone",
+ search: true,
+ searchSpan: 4,
+ slot: true,
+ overHidden: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
+ },
+
+ {
+ label: "暂住地",
+ prop: "tempAddress",
+ searchSpan: 4,
+ search: true,
+ },]
},
holdPage: {
pageSize: 20,
diff --git a/src/views/place/index.vue b/src/views/place/index.vue
index fb3f85f..152f6d9 100644
--- a/src/views/place/index.vue
+++ b/src/views/place/index.vue
@@ -28,8 +28,8 @@
</template>
<template slot-scope="scope" slot="menu">
- <el-button type="text" :disabled="scope.row.confirmFlag == 2" icon="el-icon-s-check" size="small"
- v-if="permission.place_audit_cur && scope.row.confirmFlag != 4" @click="auditCur(scope.row)">审核
+ <el-button type="text" :disabled="scope.row.confirmFlag == 2 || scope.row.confirmFlag != 4"
+ icon="el-icon-s-check" size="small" v-if="permission.place_audit_cur" @click="auditCur(scope.row)">审核
</el-button>
<el-button type="text" icon="el-icon-edit" size="small" v-if="permission.place_manage_tenants"
@@ -69,6 +69,19 @@
export default {
data () {
+
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
curRow: {},
roleBox: false,
@@ -100,14 +113,16 @@
selection: true,
dialogClickModal: false,
menuFixed: 'right',
+ labelWidth: 120,
column: [
{
width: 160,
span: 12,
label: "场所名称",
prop: "placeName",
- searchSpan: 4,
+ searchSpan: 5,
search: true,
+ overHidden: true,
rules: [{
required: true,
message: "请输入场所名称",
@@ -151,9 +166,11 @@
},
{
- label: "负责人",
+ width: 96,
+ searchLabelWidth: 120,
+ label: "场所负责人",
prop: "principal",
- searchSpan: 4,
+ searchSpan: 5,
search: true,
rules: [{
required: false,
@@ -163,33 +180,41 @@
},
{
- width: 110,
- label: "电话",
+ width: 96,
+ label: "手机号码",
prop: "principalPhone",
search: true,
- searchSpan: 3,
+ searchSpan: 4,
slot: true,
+ overHidden: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
{
+ width: 110,
+ label: "所属街道",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属街道",
prop: "townStreetName",
search: true,
searchSpan: 4
},
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- label: "所属社区",
prop: "neiName",
search: true,
searchSpan: 4,
- width: 150,
rules: [
{
required: true,
@@ -222,12 +247,13 @@
},
{
+ width: 110,
+ overHidden: true,
+ label: "所属网格",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- label: "所属网格",
prop: "gridName",
- width: 150,
rules: [
{
required: true,
@@ -339,7 +365,7 @@
prop: 'source',
type: "select",
search: true,
- searchSpan: 4,
+ searchSpan: 5,
dicData: [{
label: '是',
value: 1
diff --git a/src/views/property/propertyCapitalApply.vue b/src/views/property/propertyCapitalApply.vue
index b42caaa..c7954db 100644
--- a/src/views/property/propertyCapitalApply.vue
+++ b/src/views/property/propertyCapitalApply.vue
@@ -73,11 +73,12 @@
dialogClickModal: false,
column: [
{
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "小区名称",
prop: "districtName",
search: true,
searchSpan: 4,
@@ -91,7 +92,7 @@
{
hide: true,
parent: false,
- label: "小区名称",
+ label: "小区",
prop: "districtId",
search: false,
type: 'tree',
@@ -106,7 +107,7 @@
width: 260,
rules: [{
required: true,
- message: "请选择小区名称",
+ message: "请选择小区",
trigger: "blur",
},],
},
diff --git a/src/views/property/propertyCompanyDistrict.vue b/src/views/property/propertyCompanyDistrict.vue
index ff2a828..b1457a3 100644
--- a/src/views/property/propertyCompanyDistrict.vue
+++ b/src/views/property/propertyCompanyDistrict.vue
@@ -57,11 +57,12 @@
dialogClickModal: false,
column: [
{
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "小区名称",
prop: "districtName",
search: true,
searchSpan: 4,
@@ -75,7 +76,7 @@
{
hide: true,
parent: false,
- label: "小区名称",
+ label: "小区",
prop: "districtId",
search: false,
type: 'tree',
@@ -90,7 +91,7 @@
width: 260,
rules: [{
required: true,
- message: "请选择小区名称",
+ message: "请选择小区",
trigger: "blur",
},],
},
diff --git a/src/views/task/reportForRepairs.vue b/src/views/task/reportForRepairs.vue
index 5914901..1ca0cf4 100644
--- a/src/views/task/reportForRepairs.vue
+++ b/src/views/task/reportForRepairs.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2023-12-14 17:10:00
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-01-02 10:14:01
+ * @LastEditTime: 2024-01-05 15:46:34
* @FilePath: \jczz_web\src\views\task\reportForRepairs.vue
* @Description:
*
@@ -143,6 +143,17 @@
export default {
data () {
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
colors: ['#99A9BF', '#F7BA2A', '#FF9900'],
form: {},
@@ -173,93 +184,103 @@
//stripe:true,
// excelBtn: true,
dialogClickModal: false,
- column: [{
- label: "类型",
- prop: "type",
- span: 12,
- searchSpan: 4,
- dataType: "number",
- type: "select",
- width: 100,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=reportForRepairsType",
- props: {
- label: "dictValue",
- value: "dictKey",
+ column: [
+ {
+ width: 96,
+ label: "类型",
+ prop: "type",
+ span: 12,
+ searchSpan: 4,
+ dataType: "number",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=reportForRepairsType",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ search: true,
},
- search: true,
- },
- {
- label: "姓名",
- prop: "realName",
- span: 12,
- searchSpan: 4,
- width: 100,
- search: true,
- },
- {
- label: "手机号",
- prop: "phone",
- span: 12,
- width: 100,
- searchSpan: 4,
- search: true,
- },
- {
- label: "图片",
- prop: "imageUrls",
- width: 80,
- type: "upload",
- listType: "picture-card",
- dataType: "string",
- multiple: true,
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- name: 'name',
- url: "link",
+ {
+ width: 96,
+ label: "姓名",
+ prop: "realName",
+ span: 12,
+ searchSpan: 4,
+ search: true,
},
- span: 24,
- },
- {
- label: "地点",
- prop: "addressName",
- overHidden: true
- },
- {
- addDisplay: false,
- editDisplay: false,
- slot: true,
- label: "状态",
- prop: "confirmFlag",
- overHidden: true
- },
- {
- label: "上报时间",
- prop: "createTime",
- width: 160,
- addDisplay: false,
- editDisplay: false,
- type: "date",
- format: "yyyy-MM-dd HH:mm:ss",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
- {
- label: "处理时间",
- prop: "confirmTime",
- width: 160,
- addDisplay: false,
- editDisplay: false,
- type: "date",
- format: "yyyy-MM-dd HH:mm:ss",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
- {
- label: "描述",
- prop: "remark",
- type: "textarea",
- hide: true,
- span: 24,
- }
+
+ {
+ width: 96,
+ label: "手机号码",
+ prop: "phone",
+ search: true,
+ searchSpan: 3,
+ slot: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
+ },
+
+ {
+ width: 160,
+ label: "图片",
+ prop: "imageUrls",
+ type: "upload",
+ listType: "picture-card",
+ dataType: "string",
+ multiple: true,
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ },
+ {
+ label: "地点",
+ prop: "addressName",
+ overHidden: true
+ },
+ {
+ width: 120,
+ addDisplay: false,
+ editDisplay: false,
+ slot: true,
+ label: "状态",
+ prop: "confirmFlag",
+ overHidden: true
+ },
+ {
+ label: "上报时间",
+ prop: "createTime",
+ width: 160,
+ addDisplay: false,
+ editDisplay: false,
+ type: "date",
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ label: "处理时间",
+ prop: "confirmTime",
+ width: 160,
+ addDisplay: false,
+ editDisplay: false,
+ type: "date",
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ label: "描述",
+ prop: "remark",
+ type: "textarea",
+ hide: true,
+ span: 24,
+ }
],
},
data: [],
diff --git a/src/views/userHouse/components/householdManager.vue b/src/views/userHouse/components/householdManager.vue
index 731b74f..9341a25 100644
--- a/src/views/userHouse/components/householdManager.vue
+++ b/src/views/userHouse/components/householdManager.vue
@@ -48,7 +48,8 @@
getToken
} from '@/util/auth'
import {
- downloadXls
+ downloadXls,
+ findParentOrCur,
} from "@/util/util"
import {
dateNow
@@ -59,6 +60,62 @@
export default {
data () {
+ let isCardId = function (rule, value, callback) {
+ // 15位和18位身份证号码的正则表达式
+ var regIdCard = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
+
+ // 如果通过该验证,说明身份证格式正确,但准确性还需计算
+ if (regIdCard.test(value)) {
+ if (value.length == 18) {
+ var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10,
+ 5, 8, 4, 2) // 将前17位加权因子保存在数组里
+ var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2) // 这是除以11后,可能产生的11位余数、验证码,也保存成数组
+ var idCardWiSum = 0 // 用来保存前17位各自乖以加权因子后的总和
+ for (var i = 0; i < 17; i++) {
+ idCardWiSum += value.substring(i, i + 1) * idCardWi[i]
+ }
+
+ var idCardMod = idCardWiSum % 11// 计算出校验码所在数组的位置
+ var idCardLast = value.substring(17)// 得到最后一位身份证号码
+
+ // 如果等于2,则说明校验码是10,身份证号码最后一位应该是X
+ if (idCardMod == 2) {
+ if (idCardLast == "X" || idCardLast == "x") {
+ callback()
+ } else {
+ callback(new Error("身份证号格式有误!"))
+ }
+ } else {
+ // 用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
+ if (idCardLast == idCardY[idCardMod]) {
+ callback()
+ } else {
+ callback(new Error("身份证号格式有误!"))
+ }
+ }
+ } else {
+ callback()
+ }
+ } else {
+ //alert("身份证格式不正确!");
+ callback(new Error("身份证号格式有误!"))
+ }
+
+ callback()
+ }
+
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
form: {},
search: {},
@@ -85,340 +142,397 @@
addBtn: true,
dialogType: 'dialog',
dialogClickModal: false,
- column: [{
- label: "姓名",
- prop: "name",
- search: true,
- searchSpan: 4,
- },
-
- {
- label: "性别",
- prop: "gender",
- type: "select",
- dicData: [
- {
- label: "男",
- value: 1
+ column: [
+ {
+ label: "与业主关系",
+ prop: "relationship",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
+ dataType: "number",
+ hide: true,
+ props: {
+ label: "dictValue",
+ value: "dictKey",
},
- {
- label: "女",
- value: 0
+ rules: [
+ {
+ required: true,
+ message: "请选择与业主关系",
+ trigger: "blur",
+ }
+ ],
+ },
+
+ {
+ width: 96,
+ label: "姓名",
+ prop: "name",
+ search: true,
+ searchSpan: 3,
+ rules: [
+ {
+ required: true,
+ message: "请输入姓名",
+ trigger: "blur",
+ }
+ ],
+ },
+
+ {
+ hide: true,
+ label: "证件类型",
+ prop: "cardType",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=cardType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
},
- {
- label: "未知",
- value: 1
- }
- ],
- },
-
- {
- label: "电话",
- prop: "phoneNumber",
- search: true,
- searchSpan: 4,
- },
-
- {
- label: "身份证号",
- prop: "idCard",
- },
- {
- label: "证件类型",
- prop: "cardType",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=cardType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
},
- },
- {
- width: 160,
- label: "证件号码",
- prop: "cardNo",
- },
- // {
- // label: "关系",
- // prop: "roleType",
- // type: "select",
- // dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleType",
- // dataType: "number",
- // props: {
- // label: "dictValue",
- // value: "dictKey",
- // },
- // },
- {
- label: "与业主关系",
- prop: "relationship",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
- dataType: "number",
- hide: true,
- props: {
- label: "dictValue",
- value: "dictKey",
+ {
+ display: true,
+ width: 160,
+ label: "身份证号",
+ prop: "idCard",
+ search: true,
+ searchSpan: 4,
+ slot: true,
+ rules: [
+ {
+ validator: isCardId,
+ trigger: 'blur'
+ }
+ ],
},
- },
- {
- label: "小区",
- prop: "aoiName",
- display: false
- },
- {
- label: "地址",
- prop: "address",
- display: false
- },
- {
- label: "主要联系人",
- prop: "isPrimaryContact",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=primaryContactType",
- dataType: "number",
- hide: true,
- props: {
- label: "dictValue",
- value: "dictKey",
+
+ {
+ hide: true,
+ display: false,
+ width: 160,
+ label: "证件号码",
+ prop: "cardNo",
},
- },
- {
- label: "居住情况",
- prop: "residentialStatus",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentialStatusType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+
+
+ {
+ label: "出生日期",
+ prop: "birthday",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ hide: true,
},
- },
- {
- label: "生日",
- prop: "birthday",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- hide: true,
- },
- {
- label: "港澳台通行证",
- prop: "hkmtPass",
- hide: true,
- },
- {
- label: "护照",
- prop: "passport",
- hide: true,
- },
- {
- label: "民族",
- prop: "ethnicity",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+
+ {
+ label: "性别",
+ prop: "gender",
+ type: "select",
+ dicData: [
+ {
+ label: "男",
+ value: 1
+ },
+ {
+ label: "女",
+ value: 0
+ },
+ {
+ label: "未知",
+ value: 1
+ }
+ ],
},
- },
- {
- label: "学历",
- prop: "education",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+
+ {
+ width: 120,
+ label: "手机号码",
+ prop: "phoneNumber",
+ search: true,
+ searchSpan: 3,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入手机号码",
+ trigger: "blur",
+ },
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
- },
- {
- hide: true,
- parent: false,
- width: 160,
- label: "籍贯地行政区划",
- prop: "nativePlaceAdcode",
- type: "tree",
- props: {
- label: 'name',
- value: 'id'
+ {
+ label: "居住情况",
+ prop: "residentialStatus",
+ type: "select",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentialStatusType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
},
- dicUrl: `/api/blade-system/region/getBaseTree`,
- },
- {
- label: "户籍类型",
- prop: "residentType",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+ {
+ label: "其他联系方式",
+ prop: "otherContact",
+ hide: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
- },
- {
- hide: true,
- parent: false,
- width: 160,
- label: "户籍地行政区划",
- prop: "residentAdcode",
- type: "tree",
- props: {
- label: 'name',
- value: 'id'
+ {
+ label: "主要联系人",
+ prop: "isPrimaryContact",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=primaryContactType",
+ dataType: "number",
+ hide: true,
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
},
- dicUrl: `/api/blade-system/region/getBaseTree`,
- },
- {
- label: "户籍地址",
- prop: "hukouRegistration",
- hide: true,
- },
-
- {
- disabled: false,
- label: "居住地行政区划",
- prop: "homeAdcode",
- hide: true,
- type: 'select',
- props: {
- label: 'name',
- value: 'code'
+ {
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
+ prop: "aoiName",
+ display: false
},
- dicUrl: `/api/blade-system/region/select?code=361102`,
- },
- {
- disabled: false,
- label: "现居住地址",
- prop: "currentAddress",
- hide: true,
- },
-
- {
- label: "婚姻状态",
- prop: "maritalStatus",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+ {
+ label: "地址",
+ prop: "address",
+ display: false
},
- },
- {
- label: "车牌号",
- prop: "cardNumber",
- hide: true,
- },
- {
- label: "残疾证",
- prop: "disabilityCert",
- hide: true,
- },
- {
- hide: true,
- width: 160,
- label: "宗教信仰",
- prop: "religiousBelief",
- },
- {
- hide: true,
- label: "健康状况",
- prop: "healthStatus",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=healthStatus",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+ {
+ hide: true,
+ parent: false,
+ width: 160,
+ label: "籍贯地区",
+ prop: "nativePlaceAdcode",
+ type: "tree",
+ typeformat (item, label, value) {
+ return item.addressDetail
+ },
+ change: ({ value, column, item, dic }) => {
+ item.addressDetail = findParentOrCur(dic, item.id)
+ },
+ props: {
+ label: 'name',
+ value: 'id'
+ },
+ dicUrl: `/api/blade-system/region/getBaseTree`,
},
- },
- {
- hide: true,
- width: 160,
- label: "疾病名称",
- prop: "diseaseName"
- },
- {
- hide: true,
- width: 160,
- label: "外出时间",
- prop: "goOutTime"
- },
- {
- hide: true,
- width: 160,
- label: "外出原因",
- prop: "goOutReason"
- },
-
- {
- hide: true,
- width: 160,
- label: "外出去向",
- prop: "goOutWhere"
- },
-
- {
- hide: true,
- width: 160,
- label: "外出详址",
- prop: "goOutAddr"
- },
-
- {
- label: "工作状态",
- prop: "workStatus",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=workStatusType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
+ {
+ hide: true,
+ label: "户籍类型",
+ prop: "residentType",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
},
- },
- {
- label: "就职单位",
- prop: "employer",
- hide: true,
- },
+ {
+ hide: true,
+ parent: false,
+ width: 160,
+ label: "户籍地区",
+ prop: "residentAdcode",
+ type: "tree",
+ typeformat (item, label, value) {
+ return item.addressDetail
+ },
+ change: ({ value, column, item, dic }) => {
+ item.addressDetail = findParentOrCur(dic, item.id)
+ },
+ props: {
+ label: 'name',
+ value: 'id'
+ },
+ dicUrl: `/api/blade-system/region/getBaseTree`,
+ },
- {
- hide: true,
- width: 160,
- label: "职业类别",
- prop: "occupation"
- },
+ {
+ label: "户籍地址",
+ prop: "hukouRegistration",
+ hide: true,
+ },
- {
- hide: true,
- width: 160,
- label: "就职单位地址",
- prop: "cmpyRegAddr"
- },
- {
- label: "其他联系方式",
- prop: "otherContact",
- hide: true,
- },
+ {
+ disabled: false,
+ label: "居住地区",
+ prop: "homeAdcode",
+ hide: true,
+ type: 'select',
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ dicUrl: `/api/blade-system/region/select?code=361102`,
+ },
+
+ {
+ disabled: false,
+ label: "现居住地",
+ prop: "currentAddress",
+ hide: true,
+ },
+
+ {
+ label: "民族",
+ prop: "ethnicity",
+ type: "select",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ label: "学历",
+ prop: "education",
+ type: "select",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "职业类别",
+ prop: "occupation"
+ },
+
+ {
+ label: "工作单位",
+ prop: "employer",
+ hide: true,
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "工作单位地址",
+ prop: "cmpyRegAddr"
+ },
+
+ {
+ label: "工作状态",
+ prop: "workStatus",
+ type: "select",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=workStatusType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ label: "婚姻状态",
+ prop: "maritalStatus",
+ type: "select",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "宗教信仰",
+ prop: "religiousBelief",
+ },
+
+ {
+ hide: true,
+ label: "健康状态",
+ prop: "healthStatus",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=healthStatus",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ disabled: true,
+ hide: true,
+ width: 160,
+ label: "疾病名称",
+ prop: "diseaseName"
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出去向",
+ prop: "goOutWhere"
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出原因",
+ prop: "goOutReason"
+ },
+
+ {
+ hide: true,
+ label: "外出时间",
+ prop: "goOutTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ width: 160,
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出详址",
+ prop: "goOutAddr"
+ },
+
+ {
+ label: "车牌号",
+ prop: "cardNumber",
+ hide: true,
+ },
]
},
houseCode: "",
@@ -494,8 +608,44 @@
homeAdcodeColumn.disabled = false
}
},
- immediate: true
- }
+ },
+
+ 'form.cardType': {
+ handler (newData) {
+ let idCardColumn = this.findObject(
+ this.option.column,
+ 'idCard'
+ )
+
+ let cardNoColumn = this.findObject(
+ this.option.column,
+ 'cardNo'
+ )
+
+ if (newData == 111) {
+ idCardColumn.display = true
+ cardNoColumn.display = false
+ } else {
+ idCardColumn.display = false
+ cardNoColumn.display = true
+ }
+ },
+ },
+
+ 'form.healthStatus': {
+ handler (newData) {
+ let diseaseNameColumn = this.findObject(
+ this.option.column,
+ 'diseaseName'
+ )
+
+ if (newData == 3) {
+ diseaseNameColumn.disabled = false
+ } else {
+ diseaseNameColumn.disabled = true
+ }
+ },
+ },
},
computed: {
...mapGetters(["userInfo", "permission"]),
diff --git a/src/views/userHouse/hireInfoList.vue b/src/views/userHouse/hireInfoList.vue
index a3ec365..5a2dc50 100644
--- a/src/views/userHouse/hireInfoList.vue
+++ b/src/views/userHouse/hireInfoList.vue
@@ -1,801 +1,808 @@
<template>
- <el-row>
- <el-col :span="24">
- <basic-container>
- <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="data" ref="crud"
- v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate" @row-save="rowSave"
- :before-open="beforeOpen" :page.sync="page" @search-change="searchChange" @search-reset="searchReset"
- @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
- @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.houseRental_delete"
- @click="handleDelete">删 除
- </el-button>
- </template>
+ <el-row>
+ <el-col :span="24">
+ <basic-container>
+ <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="data" ref="crud"
+ v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" :before-open="beforeOpen" :page.sync="page" @search-change="searchChange"
+ @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+ @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" plain icon="el-icon-delete"
+ v-if="permission.houseRental_delete" @click="handleDelete">删 除
+ </el-button>
+ </template>
- <template slot-scope="scope" slot="menu">
- <el-button type="text" icon="el-icon-circle-plus-outline" size="small" v-if="permission.househould_manager"
- @click="ManageTenants(scope.row)">管理租户
- </el-button>
- <!-- <el-button type="success" size="small" plain icon="el-icon-upload2" @click="handleImport">导入
+ <template slot-scope="scope" slot="menu">
+ <el-button type="text" icon="el-icon-circle-plus-outline" size="small"
+ v-if="permission.househould_manager" @click="ManageTenants(scope.row)">管理租户
+ </el-button>
+ <!-- <el-button type="success" size="small" plain icon="el-icon-upload2" @click="handleImport">导入
</el-button>
<el-button type="warning" size="small" plain icon="el-icon-download" @click="handleExport">导出
</el-button> -->
- </template>
- <template slot-scope="{row}" slot="tenantName">
- <el-tag>{{ row.tenantName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="roleName">
- <el-tag>{{ row.roleName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="deptName">
- <el-tag>{{ row.deptName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="userTypeName">
- <el-tag>{{ row.userTypeName }}</el-tag>
- </template>
- </avue-crud>
+ </template>
+ <template slot-scope="{row}" slot="tenantName">
+ <el-tag>{{ row.tenantName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="roleName">
+ <el-tag>{{ row.roleName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="deptName">
+ <el-tag>{{ row.deptName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="userTypeName">
+ <el-tag>{{ row.userTypeName }}</el-tag>
+ </template>
+ </avue-crud>
- <el-dialog title="租户管理" append-to-body :visible.sync="roleBox">
- <avue-crud :option="houseHoldOption" :search.sync="search" :table-loading="loading" :data="houseHold"
- ref="crud" v-model="houseHoldForm" :permission="permissionList" @row-del="houseHoldRowDel"
- @row-update="houseHoldRowUpdate" @row-save="houseHoldRowSave" :page.sync="holdPage"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"></avue-crud>
+ <el-dialog title="租户管理" append-to-body :visible.sync="roleBox">
+ <avue-crud :option="houseHoldOption" :search.sync="search" :table-loading="loading" :data="houseHold"
+ ref="crud" v-model="houseHoldForm" :permission="permissionList" @row-del="houseHoldRowDel"
+ @row-update="houseHoldRowUpdate" @row-save="houseHoldRowSave" :page.sync="holdPage"
+ @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+ @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange"></avue-crud>
- <span slot="footer" class="dialog-footer">
- <el-button @click="roleBox = false">取 消</el-button>
- <el-button type="primary" @click="submitRole">确 定</el-button>
- </span>
- </el-dialog>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="roleBox = false">取 消</el-button>
+ <el-button type="primary" @click="submitRole">确 定</el-button>
+ </span>
+ </el-dialog>
- <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
- <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
- <template slot="excelTemplate">
- <el-button type="primary" @click="handleTemplate">
- 点击下载<i class="el-icon-download el-icon--right"></i>
- </el-button>
- </template>
- </avue-form>
- </el-dialog>
- </basic-container>
- </el-col>
- </el-row>
+ <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
+ <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+ <template slot="excelTemplate">
+ <el-button type="primary" @click="handleTemplate">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+ </basic-container>
+ </el-col>
+ </el-row>
</template>
<script>
- import {
+import {
getList as getHouseholdList,
remove as householdDel,
add as householdAdd,
update as householdUpdate,
getDetatil as getHouseholdDetatil
- } from "@/api/userHouse/list/houseHold.js";
- import {
+} from "@/api/userHouse/list/houseHold.js"
+import {
getList,
getPageList,
remove,
add,
update,
getDetatil
- } from "@/api/userHouse/list/houseRental.js";
- import {
+} from "@/api/userHouse/list/houseRental.js"
+import {
getList as getHouseList,
getDetatil as getHouseDetail
- } from "@/api/userHouse/list/house.js";
- import {
+} from "@/api/userHouse/list/house.js"
+import {
exportBlob
- } from "@/api/common";
- import {
+} from "@/api/common"
+import {
mapGetters
- } from "vuex";
- import {
+} from "vuex"
+import {
getToken
- } from '@/util/auth';
- import {
+} from '@/util/auth'
+import {
downloadXls
- } from "@/util/util";
- import {
+} from "@/util/util"
+import {
dateNow
- } from "@/util/date";
- import NProgress from 'nprogress';
- import 'nprogress/nprogress.css';
- import func from "@/util/func";
- import Qs from "qs";
- import website from '@/config/website';
- export default {
- data() {
- return {
- roleBox: false,
- form: {},
- search: {},
- excelBox: false,
- selectionList: [],
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- rowHouseHold: {},
- houseHoldForm: {
- relationship: 18,
- roleType: 2,
- },
- houseHold: [],
- holdPage: {
- pageSize: 100,
- currentPage: 1,
- total: 0
- },
- houseHoldOption: {
- height: 'auto',
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- // selection: true,
- viewBtn: true,
- addBtn: true,
- dialogType: 'drawer',
- dialogClickModal: false,
- column: [{
- label: "姓名",
- prop: "name",
- // search: true,
- searchSpan: 4,
- },
- {
- label: "电话",
- prop: "phoneNumber",
- // search: true,
- searchSpan: 4,
- },
- {
- label: "身份证号",
- prop: "idCard",
- // search: true,
- searchSpan: 4,
- },
- {
- label: "性别",
- prop: "gender",
- type: "select",
- dicData: [{
- label: "男",
- value: 1
- },
- {
- label: "女",
- value: 0
- },
- {
- label: "未知",
- value: 1
- }
- ],
- },
- {
- label: "关系",
- prop: "relationship",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- display: false
- },
- {
- label: "小区",
- prop: "aoiName",
- // search: true,
- searchSpan: 4,
- display: false
- },
- {
- label: "地址",
- prop: "address",
- display: false
- },
- ]
- },
- option: {
- height: 'auto',
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- addBtn: true,
- dialogType: 'drawer',
- dialogClickModal: false,
- menuWidth: 280,
- column: [{
- label: "房屋",
- prop: "address",
- display: false
- },
- {
- label: "房屋",
- prop: "houseCode",
- hide: true,
- type: "table",
- children: {
- border: true,
- height: 400,
- searchShow: true,
- searchMenuSpan: 6,
- submitText: "确定",
- column: [{
- label: "小区",
- prop: "districtName",
- search: true,
- searchSpan: 4,
- rules: [{
- required: true,
- message: "请选择小区",
- trigger: "blur",
- }, ],
- }, {
- label: "地址",
- prop: "address",
- width: 180,
- display: false
- },
- {
- label: "手机",
- prop: "phone",
- rules: [{
- required: true,
- message: "请输入绑定手机",
- trigger: "blur",
- }, ],
- },
- ],
- },
- page: {
+} from "@/util/date"
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css'
+import func from "@/util/func"
+import Qs from "qs"
+import website from '@/config/website'
+export default {
+ data () {
+ return {
+ roleBox: false,
+ form: {},
+ search: {},
+ excelBox: false,
+ selectionList: [],
+ query: {},
+ loading: true,
+ page: {
pageSize: 10,
currentPage: 1,
total: 0
- },
- formatter: (row) => {
- console.log(row, 888)
- if (!row.districtName) return ''
- return row.districtName + '-' + row.unit + row.building + row.room
- },
- onLoad: ({
- page,
- value,
- data
- }, callback) => {
- //首次加载去查询对应的值
- if (value) {
- getHouseDetail({
- houseCode: value
- }).then(res => {
- var resData = res.data.data;
- // 查询对应行数据
- callback(resData)
- return
- });
- }
- if (page) {
- this.loading = true;
- getHouseList(page.currentPage, page.pageSize, Object.assign(data)).then(res => {
- const resData = res.data.data;
- var total = resData.total;
- var data = resData.records;
- this.loading = false;
- this.selectionClear();
- //分页查询信息
- callback({
- total: total,
- data: data
- })
- });
- }
- },
- props: {
- label: 'address',
- value: 'houseCode'
- }
},
- {
- label: "关系",
- prop: "tenantRelationship",
- search: true,
- searchSpan: 4,
- width: 100,
- type: "select",
- dicData: [{
- label: "同一户",
- value: 1
+ rowHouseHold: {},
+ houseHoldForm: {
+ relationship: 18,
+ roleType: 2,
+ },
+ houseHold: [],
+ holdPage: {
+ pageSize: 100,
+ currentPage: 1,
+ total: 0
+ },
+ houseHoldOption: {
+ height: 'auto',
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ // selection: true,
+ viewBtn: true,
+ addBtn: true,
+ dialogType: 'drawer',
+ dialogClickModal: false,
+ column: [{
+ label: "姓名",
+ prop: "name",
+ // search: true,
+ searchSpan: 4,
},
{
- label: "不同一户",
- value: 2
- }
- ],
- rules: [{
- required: true,
- message: "请选择关系",
- trigger: "blur",
- }, ],
- },
- {
- label: "房屋状态",
- prop: "houseStatus",
- search: true,
- searchSpan: 4,
- width: 100,
- type: "select",
- dicData: [{
- label: "部分出租",
- value: 1
+ label: "电话",
+ prop: "phoneNumber",
+ // search: true,
+ searchSpan: 4,
},
{
- label: "全部出租",
- value: 2
- }
- ],
- rules: [{
- required: true,
- message: "请选择房屋状态",
- trigger: "blur",
- }, ],
+ label: "身份证号",
+ prop: "idCard",
+ // search: true,
+ searchSpan: 4,
+ },
+ {
+ label: "性别",
+ prop: "gender",
+ type: "select",
+ dicData: [{
+ label: "男",
+ value: 1
+ },
+ {
+ label: "女",
+ value: 0
+ },
+ {
+ label: "未知",
+ value: 1
+ }
+ ],
+ },
+ {
+ label: "关系",
+ prop: "relationship",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ display: false
+ },
+ {
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
+ prop: "aoiName",
+ // search: true,
+ searchSpan: 4,
+ display: false
+ },
+ {
+ label: "地址",
+ prop: "address",
+ display: false
+ },
+ ]
},
- {
- label: "用途",
- prop: "rentalUse",
- type: "select",
- search: true,
- searchSpan: 3,
- dataType: "number",
- width: 100,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=rentalUseType",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- rules: [{
- required: true,
- message: "请选择用途",
- trigger: "blur",
- }, ],
- },
- {
- label: "租房时间",
- prop: "rentalTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- width: 100,
- rules: [{
- required: true,
- message: "请选择租房时间",
- trigger: "blur",
- }, ],
- },
- {
- label: "到期时间",
- prop: "dueTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- width: 100,
- rules: [{
- required: true,
- message: "请选择到期时间",
- trigger: "blur",
- }, ],
- },
+ option: {
+ height: 'auto',
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ addBtn: true,
+ dialogType: 'drawer',
+ dialogClickModal: false,
+ menuWidth: 280,
+ column: [{
+ label: "房屋",
+ prop: "address",
+ display: false
+ },
+ {
+ label: "房屋",
+ prop: "houseCode",
+ hide: true,
+ type: "table",
+ children: {
+ border: true,
+ height: 400,
+ searchShow: true,
+ searchMenuSpan: 6,
+ submitText: "确定",
+ column: [
+ {
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
+ prop: "districtName",
+ search: true,
+ searchSpan: 4,
+ rules: [{
+ required: true,
+ message: "请输入小区名称",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "地址",
+ prop: "address",
+ width: 180,
+ display: false
+ },
+ {
+ label: "手机",
+ prop: "phone",
+ rules: [{
+ required: true,
+ message: "请输入绑定手机",
+ trigger: "blur",
+ },],
+ },
+ ],
+ },
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ formatter: (row) => {
+ console.log(row, 888)
+ if (!row.districtName) return ''
+ return row.districtName + '-' + row.unit + row.building + row.room
+ },
+ onLoad: ({
+ page,
+ value,
+ data
+ }, callback) => {
+ //首次加载去查询对应的值
+ if (value) {
+ getHouseDetail({
+ houseCode: value
+ }).then(res => {
+ var resData = res.data.data
+ // 查询对应行数据
+ callback(resData)
+ return
+ })
+ }
+ if (page) {
+ this.loading = true
+ getHouseList(page.currentPage, page.pageSize, Object.assign(data)).then(res => {
+ const resData = res.data.data
+ var total = resData.total
+ var data = resData.records
+ this.loading = false
+ this.selectionClear()
+ //分页查询信息
+ callback({
+ total: total,
+ data: data
+ })
+ })
+ }
+ },
+ props: {
+ label: 'address',
+ value: 'houseCode'
+ }
+ },
+ {
+ label: "关系",
+ prop: "tenantRelationship",
+ search: true,
+ searchSpan: 4,
+ width: 100,
+ type: "select",
+ dicData: [{
+ label: "同一户",
+ value: 1
+ },
+ {
+ label: "不同一户",
+ value: 2
+ }
+ ],
+ rules: [{
+ required: true,
+ message: "请选择关系",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "房屋状态",
+ prop: "houseStatus",
+ search: true,
+ searchSpan: 4,
+ width: 100,
+ type: "select",
+ dicData: [{
+ label: "部分出租",
+ value: 1
+ },
+ {
+ label: "全部出租",
+ value: 2
+ }
+ ],
+ rules: [{
+ required: true,
+ message: "请选择房屋状态",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "用途",
+ prop: "rentalUse",
+ type: "select",
+ search: true,
+ searchSpan: 3,
+ dataType: "number",
+ width: 100,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=rentalUseType",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ rules: [{
+ required: true,
+ message: "请选择用途",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "租房时间",
+ prop: "rentalTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ width: 100,
+ rules: [{
+ required: true,
+ message: "请选择租房时间",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "到期时间",
+ prop: "dueTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ width: 100,
+ rules: [{
+ required: true,
+ message: "请选择到期时间",
+ trigger: "blur",
+ },],
+ },
- {
- label: "租赁期限",
- prop: "dldType",
- width: 100,
- display: false,
- search: true,
- searchSpan: 3,
- type: "select",
- dicData: [{
- label: "长期",
- value: 1
+ {
+ label: "租赁期限",
+ prop: "dldType",
+ width: 100,
+ display: false,
+ search: true,
+ searchSpan: 3,
+ type: "select",
+ dicData: [{
+ label: "长期",
+ value: 1
+ },
+ {
+ label: "中期",
+ value: 2
+ },
+ {
+ label: "短期",
+ value: 3
+ }
+ ],
},
{
- label: "中期",
- value: 2
+ label: "审核状态",
+ prop: "auditStatus",
+ type: "select",
+ width: 80,
+ search: true,
+ searchSpan: 4,
+ display: false,
+ dicData: [{
+ label: "已确认",
+ value: 1
+ },
+ {
+ label: "待确认",
+ value: 0
+ }
+ ],
},
{
- label: "短期",
- value: 3
- }
- ],
- },
- {
- label: "审核状态",
- prop: "auditStatus",
- type: "select",
- width: 80,
- search: true,
- searchSpan: 4,
- display: false,
- dicData: [{
- label: "已确认",
- value: 1
+ label: "创建时间",
+ prop: "createTime",
+ display: false,
+ width: 160,
},
{
- label: "待确认",
- value: 0
- }
- ],
+ label: "合同",
+ prop: "fileUrls",
+ // align:'center',
+ width: 80,
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ hide: true,
+ span: 24,
+ },
+ ]
},
- {
- label: "创建时间",
- prop: "createTime",
- display: false,
- width: 160,
- },
- {
- label: "合同",
- prop: "fileUrls",
- // align:'center',
- width: 80,
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- hide: true,
- span: 24,
- },
- ]
- },
- data: [],
+ data: [],
- excelForm: {},
- excelOption: {
- submitBtn: false,
- emptyBtn: false,
- column: [{
- label: '模板上传',
- prop: 'excelFile',
- type: 'upload',
- drag: true,
- loadText: '模板上传中,请稍等',
- span: 24,
- propsHttp: {
- res: 'data'
- },
- tip: '请上传 .xls,.xlsx 标准格式文件',
- action: "/api/blade-system/user/import-user"
- },
- {
- label: "数据覆盖",
- prop: "isCovered",
- type: "switch",
- align: "center",
- width: 80,
- dicData: [{
- label: "否",
- value: 0
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [{
+ label: '模板上传',
+ prop: 'excelFile',
+ type: 'upload',
+ drag: true,
+ loadText: '模板上传中,请稍等',
+ span: 24,
+ propsHttp: {
+ res: 'data'
+ },
+ tip: '请上传 .xls,.xlsx 标准格式文件',
+ action: "/api/blade-system/user/import-user"
},
{
- label: "是",
- value: 1
+ label: "数据覆盖",
+ prop: "isCovered",
+ type: "switch",
+ align: "center",
+ width: 80,
+ dicData: [{
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [{
+ required: true,
+ message: "请选择是否覆盖",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: '模板下载',
+ prop: 'excelTemplate',
+ formslot: true,
+ span: 24,
}
- ],
- value: 0,
- slot: true,
- rules: [{
- required: true,
- message: "请选择是否覆盖",
- trigger: "blur"
- }]
- },
- {
- label: '模板下载',
- prop: 'excelTemplate',
- formslot: true,
- span: 24,
+ ]
}
- ]
}
- };
},
watch: {},
computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.houseRental_add, true),
- viewBtn: this.vaildData(this.permission.houseRental_view, true),
- delBtn: this.vaildData(this.permission.houseRental_delete, true),
- editBtn: this.vaildData(this.permission.houseRental_edit, true)
- };
- }
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.houseRental_add, true),
+ viewBtn: this.vaildData(this.permission.houseRental_view, true),
+ delBtn: this.vaildData(this.permission.houseRental_delete, true),
+ editBtn: this.vaildData(this.permission.houseRental_edit, true)
+ }
+ }
},
- mounted() {},
+ mounted () { },
methods: {
- ManageTenants(item) {
- this.roleBox = true
- this.rowHouseHold = item
- this.onLoadHouseHold()
- },
+ ManageTenants (item) {
+ this.roleBox = true
+ this.rowHouseHold = item
+ this.onLoadHouseHold()
+ },
- onLoadHouseHold() {
- let params = {
- housingRentalId: this.rowHouseHold.id,
- }
- getHouseholdList(this.holdPage.currentPage, this.holdPage.pageSize, Object.assign(params)).then(res => {
- const data = res.data.data;
- this.houseHold = data.records;
- this.loading = false;
- this.selectionClear();
- });
- },
+ onLoadHouseHold () {
+ let params = {
+ housingRentalId: this.rowHouseHold.id,
+ }
+ getHouseholdList(this.holdPage.currentPage, this.holdPage.pageSize, Object.assign(params)).then(res => {
+ const data = res.data.data
+ this.houseHold = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ },
- houseHoldRowSave(row, done, loading) {
- row.aoiName = this.rowHouseHold.aoiName
- row.address = this.rowHouseHold.address
- row.housingRentalId = this.rowHouseHold.id
- row.houseCode = this.rowHouseHold.houseCode
- householdAdd(row).then(() => {
- this.initFlag = false;
- this.onLoadHouseHold();
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowSave(row, done, loading) {
- if (row.fileUrls.length > 0) {
- var urls = []
- var split = row.fileUrls.split(",");
- split.forEach(url => {
- var names = url.split("jczz/");
- urls.push(names[1])
- })
- row.fileUrls = urls.join(",")
- }
- add(row).then(() => {
- this.initFlag = false;
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- if (row.fileUrls.length > 0) {
- var urls = []
- var split = row.fileUrls.split(",");
- split.forEach(url => {
- var names = url.split("jczz/");
- urls.push(names[1])
- })
- row.fileUrls = urls.join(",")
- }
- update(row).then(() => {
- this.initFlag = false;
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- houseHoldRowUpdate(row, index, done, loading) {
- householdUpdate(row).then(() => {
- this.initFlag = false;
- this.onLoadHouseHold();
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- houseHoldRowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return householdDel(row.id);
- })
- .then(() => {
- this.onLoadHouseHold();
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.treeDeptId = '';
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- // this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- handleImport() {
- this.excelBox = true;
- },
- uploadAfter(res, done, loading, column) {
- window.console.log(column);
- this.excelBox = false;
- this.refreshChange();
- done();
- },
- handleExport() {
- const account = func.toStr(this.search.account);
- const realName = func.toStr(this.search.realName);
- this.$confirm("是否导出出租信息数据?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(() => {
- NProgress.start();
- var data = {
- ...this.query
- }
- data = Qs.stringify(data);
- exportBlob(
- `/api/blade-houseRental/houseRental/export-houseRental?${this.website.tokenHeader}=${getToken()}&` +
- data
- ).then(res => {
- downloadXls(res.data, `出租信息数据表${dateNow()}.xlsx`);
- NProgress.done();
- })
- });
- },
- handleTemplate() {
- exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
- downloadXls(res.data, "出租信息数据模板.xlsx");
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getDetatil(this.form.id).then(res => {
- this.form = res.data.data;
- if (this.form.fileUrls.length > 0) {
- var urls = []
- var names = this.form.fileUrls.split(",");
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- this.form.fileUrls = urls.join(",")
+ houseHoldRowSave (row, done, loading) {
+ row.aoiName = this.rowHouseHold.aoiName
+ row.address = this.rowHouseHold.address
+ row.housingRentalId = this.rowHouseHold.id
+ row.houseCode = this.rowHouseHold.houseCode
+ householdAdd(row).then(() => {
+ this.initFlag = false
+ this.onLoadHouseHold()
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowSave (row, done, loading) {
+ if (row.fileUrls.length > 0) {
+ var urls = []
+ var split = row.fileUrls.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.fileUrls = urls.join(",")
}
- });
- }
- this.initFlag = true;
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.data.forEach(item => {
- if (item.fileUrls.length > 0) {
- var urls = []
- var names = item.fileUrls.split(",");
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- item.fileUrls = urls.join(",")
+ add(row).then(() => {
+ this.initFlag = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ if (row.fileUrls.length > 0) {
+ var urls = []
+ var split = row.fileUrls.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.fileUrls = urls.join(",")
}
- })
- this.loading = false;
- this.selectionClear();
- });
- }
+ update(row).then(() => {
+ this.initFlag = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ houseHoldRowUpdate (row, index, done, loading) {
+ householdUpdate(row).then(() => {
+ this.initFlag = false
+ this.onLoadHouseHold()
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ houseHoldRowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return householdDel(row.id)
+ })
+ .then(() => {
+ this.onLoadHouseHold()
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.treeDeptId = ''
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ // this.$refs.crud.toggleSelection();
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ handleImport () {
+ this.excelBox = true
+ },
+ uploadAfter (res, done, loading, column) {
+ window.console.log(column)
+ this.excelBox = false
+ this.refreshChange()
+ done()
+ },
+ handleExport () {
+ const account = func.toStr(this.search.account)
+ const realName = func.toStr(this.search.realName)
+ this.$confirm("是否导出出租信息数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ NProgress.start()
+ var data = {
+ ...this.query
+ }
+ data = Qs.stringify(data)
+ exportBlob(
+ `/api/blade-houseRental/houseRental/export-houseRental?${this.website.tokenHeader}=${getToken()}&` +
+ data
+ ).then(res => {
+ downloadXls(res.data, `出租信息数据表${dateNow()}.xlsx`)
+ NProgress.done()
+ })
+ })
+ },
+ handleTemplate () {
+ exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
+ downloadXls(res.data, "出租信息数据模板.xlsx")
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetatil(this.form.id).then(res => {
+ this.form = res.data.data
+ if (this.form.fileUrls.length > 0) {
+ var urls = []
+ var names = this.form.fileUrls.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ this.form.fileUrls = urls.join(",")
+ }
+ })
+ }
+ this.initFlag = true
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.fileUrls.length > 0) {
+ var urls = []
+ var names = item.fileUrls.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.fileUrls = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ }
}
- };
+}
</script>
<style>
- .box {
+.box {
height: 800px;
- }
+}
- .el-scrollbar {
+.el-scrollbar {
height: 100%;
- }
+}
- .box .el-scrollbar__wrap {
+.box .el-scrollbar__wrap {
overflow: scroll;
- }
+}
</style>
diff --git a/src/views/userHouse/houseHoldList.vue b/src/views/userHouse/houseHoldList.vue
index ef4249d..089cb7b 100644
--- a/src/views/userHouse/houseHoldList.vue
+++ b/src/views/userHouse/houseHoldList.vue
@@ -138,7 +138,8 @@
getToken
} from '@/util/auth'
import {
- downloadXls
+ downloadXls,
+ findParentOrCur,
} from "@/util/util"
import {
dateNow
@@ -150,6 +151,62 @@
export default {
data () {
+ let isCardId = function (rule, value, callback) {
+ // 15位和18位身份证号码的正则表达式
+ var regIdCard = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
+
+ // 如果通过该验证,说明身份证格式正确,但准确性还需计算
+ if (regIdCard.test(value)) {
+ if (value.length == 18) {
+ var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10,
+ 5, 8, 4, 2) // 将前17位加权因子保存在数组里
+ var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2) // 这是除以11后,可能产生的11位余数、验证码,也保存成数组
+ var idCardWiSum = 0 // 用来保存前17位各自乖以加权因子后的总和
+ for (var i = 0; i < 17; i++) {
+ idCardWiSum += value.substring(i, i + 1) * idCardWi[i]
+ }
+
+ var idCardMod = idCardWiSum % 11// 计算出校验码所在数组的位置
+ var idCardLast = value.substring(17)// 得到最后一位身份证号码
+
+ // 如果等于2,则说明校验码是10,身份证号码最后一位应该是X
+ if (idCardMod == 2) {
+ if (idCardLast == "X" || idCardLast == "x") {
+ callback()
+ } else {
+ callback(new Error("身份证号格式有误!"))
+ }
+ } else {
+ // 用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
+ if (idCardLast == idCardY[idCardMod]) {
+ callback()
+ } else {
+ callback(new Error("身份证号格式有误!"))
+ }
+ }
+ } else {
+ callback()
+ }
+ } else {
+ //alert("身份证格式不正确!");
+ callback(new Error("身份证号格式有误!"))
+ }
+
+ callback()
+ }
+
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
labelData: [],
form: {},
@@ -183,14 +240,89 @@
menuFixed: 'right',
column: [
{
- width: 96,
+ label: "与业主关系",
+ prop: "relationship",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
+ dataType: "number",
+ hide: true,
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择与业主关系",
+ trigger: "blur",
+ }
+ ],
+ },
+
+ {
+ width: 110,
label: "姓名",
prop: "name",
search: true,
searchSpan: 3,
+ rules: [
+ {
+ required: true,
+ message: "请输入姓名",
+ trigger: "blur",
+ }
+ ],
},
{
+ hide: true,
+ label: "证件类型",
+ prop: "cardType",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=cardType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ width: 160,
+ display: true,
+ label: "身份证号",
+ prop: "idCard",
+ search: true,
+ searchSpan: 4,
+ slot: true,
+ rules: [
+ {
+ validator: isCardId,
+ trigger: 'blur'
+ }
+ ],
+ },
+
+ {
+ hide: true,
+ display: false,
+ width: 160,
+ label: "证件号码",
+ prop: "cardNo",
+ },
+
+ {
+ label: "出生日期",
+ prop: "birthday",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ hide: true,
+ },
+
+
+ {
+ width: 60,
label: "性别",
prop: "gender",
type: "select",
@@ -210,36 +342,61 @@
},
{
- width: 110,
- label: "电话",
+ width: 120,
+ label: "手机号码",
prop: "phoneNumber",
search: true,
searchSpan: 3,
slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入手机号码",
+ trigger: "blur",
+ },
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
},
+
{
- width: 160,
- label: "身份证号",
- prop: "idCard",
- search: true,
- searchSpan: 4,
- slot: true,
- },
- {
- label: "证件类型",
- prop: "cardType",
+ label: "居住情况",
+ prop: "residentialStatus",
type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=cardType",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentialStatusType",
dataType: "number",
props: {
label: "dictValue",
value: "dictKey",
},
},
+
{
- width: 160,
- label: "证件号码",
- prop: "cardNo",
+ label: "其他联系方式",
+ prop: "otherContact",
+ hide: true,
+ rules: [
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
+ },
+
+ {
+ label: "是否主要联系人",
+ prop: "isPrimaryContact",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=primaryContactType",
+ dataType: "number",
+ hide: true,
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
},
// {
@@ -253,21 +410,11 @@
// value: "dictKey",
// },
// },
+
{
- label: "与业主关系",
- prop: "relationship",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
- dataType: "number",
- hide: true,
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
- {
- width: 132,
- label: "小区",
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
prop: "aoiName",
search: true,
searchSpan: 4,
@@ -275,121 +422,59 @@
},
{
+ width: 110,
+ label: "所属街道",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属街道",
prop: "townStreetName",
search: true,
searchSpan: 4
},
+
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "所属社区",
prop: "neiName",
search: true,
searchSpan: 4
},
+
{
+ width: 110,
+ overHidden: true,
+ label: "所属网格",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属网格",
prop: "gridName",
},
{
- width: 132,
+ width: 140,
label: "地址",
prop: "address",
display: false
},
- {
- width: 210,
- label: "标签",
- prop: "householdLabelList",
- display: false
- },
- {
- label: "主要联系人",
- prop: "isPrimaryContact",
- type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=primaryContactType",
- dataType: "number",
- hide: true,
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
- {
- label: "居住情况",
- prop: "residentialStatus",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentialStatusType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
- {
- label: "生日",
- prop: "birthday",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- hide: true,
- },
- {
- label: "港澳台通行证",
- prop: "hkmtPass",
- hide: true,
- },
- {
- label: "护照",
- prop: "passport",
- hide: true,
- },
- {
- label: "民族",
- prop: "ethnicity",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
- {
- label: "学历",
- prop: "education",
- type: "select",
- hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
- dataType: "number",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
{
hide: true,
parent: false,
width: 160,
- label: "籍贯地行政区划",
+ label: "籍贯地区",
prop: "nativePlaceAdcode",
type: "tree",
+ typeformat (item, label, value) {
+ return item.addressDetail
+ },
+ change: ({ value, column, item, dic }) => {
+ item.addressDetail = findParentOrCur(dic, item.id)
+ },
props: {
label: 'name',
value: 'id'
@@ -398,6 +483,7 @@
},
{
+ hide: true,
label: "户籍类型",
prop: "residentType",
type: "select",
@@ -413,9 +499,15 @@
hide: true,
parent: false,
width: 160,
- label: "户籍地行政区划",
+ label: "户籍地区",
prop: "residentAdcode",
type: "tree",
+ typeformat (item, label, value) {
+ return item.addressDetail
+ },
+ change: ({ value, column, item, dic }) => {
+ item.addressDetail = findParentOrCur(dic, item.id)
+ },
props: {
label: 'name',
value: 'id'
@@ -431,7 +523,7 @@
{
disabled: false,
- label: "居住地行政区划",
+ label: "居住地区",
prop: "homeAdcode",
hide: true,
type: 'select',
@@ -444,83 +536,62 @@
{
disabled: false,
- label: "现居住地址",
+ label: "现居住地",
prop: "currentAddress",
hide: true,
},
{
- label: "婚姻状态",
- prop: "maritalStatus",
+ width: 210,
+ label: "标签",
+ prop: "householdLabelList",
+ display: false
+ },
+
+ {
+ label: "民族",
+ prop: "ethnicity",
type: "select",
hide: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
dataType: "number",
props: {
label: "dictValue",
value: "dictKey",
},
},
- {
- label: "车牌号",
- prop: "cardNumber",
- hide: true,
- },
{
- label: "残疾证",
- prop: "disabilityCert",
- hide: true,
- },
- {
- hide: true,
- width: 160,
- label: "宗教信仰",
- prop: "religiousBelief",
- },
- {
- hide: true,
- label: "健康状况",
- prop: "healthStatus",
+ label: "学历",
+ prop: "education",
type: "select",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=healthStatus",
+ hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
dataType: "number",
props: {
label: "dictValue",
value: "dictKey",
},
},
+
{
hide: true,
width: 160,
- label: "疾病名称",
- prop: "diseaseName"
+ label: "职业类别",
+ prop: "occupation"
+ },
+
+ {
+ label: "工作单位",
+ prop: "employer",
+ hide: true,
},
{
hide: true,
width: 160,
- label: "外出时间",
- prop: "goOutTime"
- },
- {
- hide: true,
- width: 160,
- label: "外出原因",
- prop: "goOutReason"
- },
-
- {
- hide: true,
- width: 160,
- label: "外出去向",
- prop: "goOutWhere"
- },
- {
- hide: true,
- width: 160,
- label: "外出详址",
- prop: "goOutAddr"
+ label: "工作单位地址",
+ prop: "cmpyRegAddr"
},
{
@@ -537,28 +608,80 @@
},
{
+ label: "婚姻状态",
+ prop: "maritalStatus",
+ type: "select",
hide: true,
- width: 160,
- label: "职业类别",
- prop: "occupation"
- },
-
- {
- label: "就职单位",
- prop: "employer",
- hide: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
},
{
hide: true,
width: 160,
- label: "就职单位地址",
- prop: "cmpyRegAddr"
+ label: "宗教信仰",
+ prop: "religiousBelief",
},
{
- label: "其他联系方式",
- prop: "otherContact",
+ hide: true,
+ label: "健康状态",
+ prop: "healthStatus",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=healthStatus",
+ dataType: "number",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+
+ {
+ disabled: true,
+ hide: true,
+ width: 160,
+ label: "疾病名称",
+ prop: "diseaseName"
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出去向",
+ prop: "goOutWhere"
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出原因",
+ prop: "goOutReason"
+ },
+
+ {
+ hide: true,
+ label: "外出时间",
+ prop: "goOutTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ width: 160,
+ },
+
+ {
+ hide: true,
+ width: 160,
+ label: "外出详址",
+ prop: "goOutAddr"
+ },
+
+ {
+ label: "车牌号",
+ prop: "cardNumber",
hide: true,
},
]
@@ -674,8 +797,44 @@
homeAdcodeColumn.disabled = false
}
},
- immediate: true
- }
+ },
+
+ 'form.cardType': {
+ handler (newData) {
+ let idCardColumn = this.findObject(
+ this.option.column,
+ 'idCard'
+ )
+
+ let cardNoColumn = this.findObject(
+ this.option.column,
+ 'cardNo'
+ )
+
+ if (newData == 111) {
+ idCardColumn.display = true
+ cardNoColumn.display = false
+ } else {
+ idCardColumn.display = false
+ cardNoColumn.display = true
+ }
+ },
+ },
+
+ 'form.healthStatus': {
+ handler (newData) {
+ let diseaseNameColumn = this.findObject(
+ this.option.column,
+ 'diseaseName'
+ )
+
+ if (newData == 3) {
+ diseaseNameColumn.disabled = false
+ } else {
+ diseaseNameColumn.disabled = true
+ }
+ },
+ },
},
computed: {
...mapGetters(["userInfo", "permission"]),
@@ -875,7 +1034,6 @@
this.excelBox = true
},
uploadAfter (res, done, loading, column) {
- window.console.log(column)
this.excelBox = false
this.refreshChange()
done()
diff --git a/src/views/userHouse/houseList.vue b/src/views/userHouse/houseList.vue
index b9eaf08..fe280c0 100644
--- a/src/views/userHouse/houseList.vue
+++ b/src/views/userHouse/houseList.vue
@@ -244,32 +244,34 @@
},
{
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
parent: false,
- label: "小区名称",
prop: "districtName",
searchSpan: 4,
display: false,
search: true,
- overHidden: true,
},
{
+ width: 110,
+ label: "所属街道",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属街道",
prop: "townStreetName",
search: true,
searchSpan: 4
},
{
+ width: 156,
+ overHidden: true,
+ label: "所属社区",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 160,
- label: "所属社区",
prop: "neiName",
search: true,
searchSpan: 4,
@@ -286,7 +288,6 @@
label: "所属社区",
prop: "neiCode",
search: false,
- width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
props: {
@@ -304,11 +305,12 @@
},
{
+ width: 110,
+ overHidden: true,
+ label: "所属网格",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
- width: 96,
- label: "所属网格",
prop: "gridName",
rules: [{
required: true,
--
Gitblit v1.9.3