From 5e83cea689ade0a38aa1ae68362bd7da98958f44 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 09 Dec 2023 13:25:55 +0800
Subject: [PATCH] 出租人员信息完善
---
src/views/userHouse/hireInfoList.vue | 1262 ++++++++++++++++++++++++++++++++-------------------------
src/views/place/index.vue | 7
2 files changed, 716 insertions(+), 553 deletions(-)
diff --git a/src/views/place/index.vue b/src/views/place/index.vue
index a069a0e..d55de56 100644
--- a/src/views/place/index.vue
+++ b/src/views/place/index.vue
@@ -8,7 +8,14 @@
<el-button size="small" icon="el-icon-delete" plain v-if="permission.place_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>
+ </template>
</avue-crud>
+
</basic-container>
</template>
diff --git a/src/views/userHouse/hireInfoList.vue b/src/views/userHouse/hireInfoList.vue
index dce939b..a3ec365 100644
--- a/src/views/userHouse/hireInfoList.vue
+++ b/src/views/userHouse/hireInfoList.vue
@@ -2,8 +2,8 @@
<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"
+ <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">
@@ -11,12 +11,16 @@
<el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.houseRental_delete"
@click="handleDelete">删 除
</el-button>
- <el-button type="success" size="small" plain v-if="permission.houseRental_import" icon="el-icon-upload2"
- @click="handleImport">导入
+ </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="warning" size="small" plain v-if="permission.houseRental_export" icon="el-icon-download"
- @click="handleExport">导出
+ <!-- <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>
@@ -31,17 +35,22 @@
<el-tag>{{ row.userTypeName }}</el-tag>
</template>
</avue-crud>
- <el-dialog title="用户角色配置" append-to-body :visible.sync="roleBox" width="345px">
- <el-tree :data="roleGrantList" show-checkbox check-strictly default-expand-all node-key="id" ref="treeRole"
- :default-checked-keys="roleTreeObj" :props="props">
- </el-tree>
+
+ <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>
+
+
<el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
<template slot="excelTemplate">
@@ -57,589 +66,736 @@
</template>
<script>
-import {
- getList,
- getPageList,
- remove,
- add,
- update,
- getDetatil
-} from "@/api/userHouse/list/houseRental.js";
-import {
- getList as getHouseList,
- getDetatil as getHouseDetail
-} from "@/api/userHouse/list/house.js";
-import {
- exportBlob
-} from "@/api/common";
-import {
- mapGetters
-} from "vuex";
-import {
- getToken
-} from '@/util/auth';
-import {
- downloadXls
-} 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 {
- form: {},
- search: {},
- excelBox: false,
- selectionList: [],
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- 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,
- column: [
- {
- label: "房屋",
- prop: "address",
- display: false
- },
- {
- label: "房屋",
- prop: "houseCode",
- hide: true,
- type: "table",
- children: {
- border: true,
- height: 400,
- searchShow: true,
- searchMenuSpan: 6,
- submitText: "确定",
- column: [
+ import {
+ getList as getHouseholdList,
+ remove as householdDel,
+ add as householdAdd,
+ update as householdUpdate,
+ getDetatil as getHouseholdDetatil
+ } from "@/api/userHouse/list/houseHold.js";
+ import {
+ getList,
+ getPageList,
+ remove,
+ add,
+ update,
+ getDetatil
+ } from "@/api/userHouse/list/houseRental.js";
+ import {
+ getList as getHouseList,
+ getDetatil as getHouseDetail
+ } from "@/api/userHouse/list/house.js";
+ import {
+ exportBlob
+ } from "@/api/common";
+ import {
+ mapGetters
+ } from "vuex";
+ import {
+ getToken
+ } from '@/util/auth';
+ import {
+ downloadXls
+ } 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: "小区",
- prop: "districtName",
- search: true,
- searchSpan: 4,
- rules: [
- {
+ 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: [
- {
+ }, ],
+ }, {
+ 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
+ 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'
}
- ],
- rules: [
- {
+ },
+ {
+ 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: [
- {
+ }, ],
+ },
+ {
+ 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: [
- {
+ {
+ 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: [
- {
+ }, ],
+ },
+ {
+ 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: [
- {
+ }, ],
+ },
+ {
+ 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: "中期",
- value: 2
- },
- {
- label: "短期",
- value: 3
- }
- ],
- },
- {
- label: "审核状态",
- prop: "auditStatus",
- type: "select",
- width: 80,
- search: true,
- searchSpan: 4,
- display: false,
- dicData: [
- {
- label: "已确认",
- value: 1
- },
- {
- label: "待确认",
- value: 0
- }
- ],
- },
- {
- 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: [],
- 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: "dldType",
+ width: 100,
+ display: false,
+ search: true,
+ searchSpan: 3,
+ type: "select",
+ dicData: [{
+ label: "长期",
+ value: 1
+ },
+ {
+ label: "中期",
+ value: 2
+ },
+ {
+ label: "短期",
+ value: 3
+ }
+ ],
+ },
+ {
+ label: "审核状态",
+ prop: "auditStatus",
+ type: "select",
+ width: 80,
+ search: true,
+ searchSpan: 4,
+ display: false,
+ dicData: [{
+ label: "已确认",
+ value: 1
+ },
+ {
+ label: "待确认",
+ value: 0
+ }
+ ],
+ },
+ {
+ 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,
+ },
+ ]
},
- {
- 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,
+ 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
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ 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)
};
- }
- },
- mounted() {
- },
- methods: {
- 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(",")
+ },
+ 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)
+ };
}
- 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();
- });
- },
- 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
+ mounted() {},
+ methods: {
+
+ ManageTenants(item) {
+ this.roleBox = true
+ this.rowHouseHold = item
+ this.onLoadHouseHold()
+ },
+
+ onLoadHouseHold() {
+ let params = {
+ housingRentalId: this.rowHouseHold.id,
}
- 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(",")
+ 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(",")
+ }
+ });
+ }
+ 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();
});
}
- 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 {
- height: 800px;
-}
+ .box {
+ height: 800px;
+ }
-.el-scrollbar {
- height: 100%;
-}
+ .el-scrollbar {
+ height: 100%;
+ }
-.box .el-scrollbar__wrap {
- overflow: scroll;
-}
+ .box .el-scrollbar__wrap {
+ overflow: scroll;
+ }
</style>
--
Gitblit v1.9.3