| | |
| | | nodeKey: 'id', |
| | | lazy: true, |
| | | treeLoad: function (node, resolve) { |
| | | const parentCode = (node.level === 0) ? "361102" : node.data.id; |
| | | const parentCode = (node.level === 0) ? "0" : node.data.id; |
| | | getLazyTree(parentCode).then(res => { |
| | | resolve(res.data.data.map(item => { |
| | | return { |
| | |
| | | label: "管辖区域", |
| | | prop: "regionCode", |
| | | type: "tree", |
| | | dicUrl: "/api/blade-system/region/tree?cityCode=361100000000", |
| | | dicUrl: "/api/blade-system/region/tree?cityCode=361100", |
| | | props: { |
| | | label: "name", |
| | | value: "id", |
| | |
| | | <el-button type="warning" size="small" plain v-if="userInfo.role_name.includes('admin')" |
| | | icon="el-icon-download" @click="handleExport">导出 |
| | | </el-button> --> |
| | | <el-button type="success" size="small" plain v-if="permission.house_import" |
| | | icon="el-icon-upload2" @click="handleImport">导入 |
| | | <el-button type="success" size="small" plain v-if="permission.house_import" icon="el-icon-upload2" |
| | | @click="handleImport">导入 |
| | | </el-button> |
| | | <el-button type="warning" size="small" plain v-if="permission.house_export" |
| | | icon="el-icon-download" @click="handleExport">导出 |
| | | <el-button type="warning" size="small" plain v-if="permission.house_export" icon="el-icon-download" |
| | | @click="handleExport">导出 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" slot="location"> |
| | | <span v-text="showLocation(row.location)"></span> |
| | | </template> |
| | | |
| | | <template slot-scope="{row, size}" slot="menu"> |
| | | <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" |
| | | v-if="permission.house_manager" @click="handleHouseholdManager(row)">住户管理 |
| | | </el-button> |
| | | <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" |
| | | v-if="permission.house_tag" @click="manageLabel(row)">标签 |
| | | <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" v-if="permission.house_tag" |
| | | @click="manageLabel(row)">标签 |
| | | </el-button> |
| | | </template> |
| | | |
| | |
| | | } from "@/util/date" |
| | | import NProgress from 'nprogress' |
| | | import 'nprogress/nprogress.css' |
| | | import func from "@/util/func" |
| | | import householdManager from "./components/householdManager" |
| | | import Qs from "qs" |
| | | export default { |
| | | components: { |
| | | householdManager |
| | | }, |
| | | data () { |
| | | data() { |
| | | |
| | | //手机号格式校验 |
| | | let validatorPhone = function (rule, value, callback) { |
| | |
| | | overHidden: true, |
| | | label: '地址', |
| | | parent: false, |
| | | prop: "houseName", |
| | | prop: "address", |
| | | display: false, |
| | | searchLabelWidth: 66, |
| | | searchSpan: 4, |
| | | search: true, |
| | | }, |
| | | { |
| | | overHidden: true, |
| | | slot: true, |
| | | label: "地址", |
| | | prop: "location", |
| | | type: 'map', |
| | | disabled: false, |
| | | dataType: "string", |
| | | searchLabelWidth: 66, |
| | | hide:true, |
| | | value: [117.966460, 28.431002, ""], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择巡查地址", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | hide: true, |
| | | parent: false, |
| | |
| | | } |
| | | } |
| | | }, |
| | | watch: {}, |
| | | watch: { |
| | | 'form.source': { |
| | | handler(newData) { |
| | | |
| | | let locationColumn = this.findObject( |
| | | this.option.column, |
| | | 'location' |
| | | ) |
| | | |
| | | if (newData == 1) { |
| | | locationColumn.disabled = true |
| | | } else { |
| | | locationColumn.disabled = false |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["userInfo", "permission"]), |
| | | permissionList () { |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.house_add, true), |
| | | viewBtn: this.vaildData(this.permission.house_view, true), |
| | |
| | | } |
| | | }, |
| | | |
| | | textDispose () { |
| | | textDispose() { |
| | | return (row, flag, type) => { |
| | | if (row[flag] || row[type] == null) { |
| | | return row[type] |
| | |
| | | } |
| | | } |
| | | }, |
| | | showLocation() { |
| | | return (data) => { |
| | | if (data != null && data.indexOf(',') != -1) { |
| | | data = data.split(',') |
| | | |
| | | labelDispose () { |
| | | return data[2] |
| | | } else { |
| | | return data || '' |
| | | } |
| | | } |
| | | }, |
| | | |
| | | labelDispose() { |
| | | return (list) => { |
| | | return list.map(item => item.labelName).join(',') |
| | | } |
| | | }, |
| | | |
| | | getColor () { |
| | | getColor() { |
| | | return (data) => { |
| | | return setLabelColor(data) |
| | | } |
| | | } |
| | | }, |
| | | mounted () { }, |
| | | mounted() { }, |
| | | methods: { |
| | | locationDispose(data) { |
| | | data = data.split(',') |
| | | |
| | | onsubmit () { |
| | | return { |
| | | lng: data[0], |
| | | lat: data[1], |
| | | address: data[2] |
| | | } |
| | | }, |
| | | |
| | | onsubmit() { |
| | | if (this.labelForm.color === '#EBEDF0') { |
| | | let params = { |
| | | householdId: this.currentRow.id, |
| | |
| | | } |
| | | }, |
| | | |
| | | changLabel (item) { |
| | | changLabel(item) { |
| | | this.editLabelFlge = true |
| | | this.currentLabel = item |
| | | this.labelForm.color = item.color |
| | | this.labelForm.remark = item.remark |
| | | }, |
| | | manageLabel (item) { |
| | | manageLabel(item) { |
| | | this.loading = true |
| | | this.currentRow = item |
| | | this.labelFlag = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | handleHouseholdManager (row) { |
| | | handleHouseholdManager(row) { |
| | | var that = this |
| | | this.householdManagerVisible = true |
| | | this.$nextTick(() => { |
| | | that.$refs.householdManager.init(row) |
| | | }) |
| | | }, |
| | | rowSave (row, done, loading) { |
| | | rowSave(row, done, loading) { |
| | | if (row.imageUrls.length > 0) { |
| | | var urls = [] |
| | | var split = row.imageUrls.split(",") |
| | |
| | | row.imageUrls = urls.join(",") |
| | | } |
| | | |
| | | add(row).then(() => { |
| | | add({...row,...this.locationDispose(row.location)} |
| | | ).then(() => { |
| | | this.initFlag = false |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | |
| | | loading() |
| | | }) |
| | | }, |
| | | rowUpdate (row, index, done, loading) { |
| | | rowUpdate(row, index, done, loading) { |
| | | if (row.imageUrls.length > 0) { |
| | | var urls = [] |
| | | var split = row.imageUrls.split(",") |
| | |
| | | row.imageUrls = urls.join(",") |
| | | } |
| | | |
| | | update(row).then(() => { |
| | | update({...row,...this.locationDispose(row.location)}).then(() => { |
| | | this.initFlag = false |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | |
| | | loading() |
| | | }) |
| | | }, |
| | | rowDel (row) { |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | searchReset () { |
| | | searchReset() { |
| | | this.query = {} |
| | | this.treeDeptId = '' |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange (params, done) { |
| | | searchChange(params, done) { |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange (list) { |
| | | selectionChange(list) { |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear () { |
| | | selectionClear() { |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | handleDelete () { |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | handleImport () { |
| | | handleImport() { |
| | | this.excelBox = true |
| | | }, |
| | | uploadAfter (res, done, loading, column) { |
| | | uploadAfter(res, done, loading, column) { |
| | | window.console.log(column) |
| | | this.excelBox = false |
| | | this.refreshChange() |
| | | done() |
| | | }, |
| | | handleExport () { |
| | | handleExport() { |
| | | this.$confirm("是否导出房屋数据?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | handleTemplate () { |
| | | handleTemplate() { |
| | | exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => { |
| | | downloadXls(res.data, "房屋数据模板.xlsx") |
| | | }) |
| | | }, |
| | | beforeOpen (done, type) { |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetatil({ |
| | | id: this.form.id |
| | | }).then(res => { |
| | | this.form = res.data.data |
| | | |
| | | this.form.location = [this.form.lng, this.form.lat, this.form.address].join(',') |
| | | |
| | | if (this.form.imageUrls) { |
| | | if (this.form.imageUrls.length > 0) { |
| | |
| | | this.initFlag = true |
| | | done() |
| | | }, |
| | | currentChange (currentPage) { |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange (pageSize) { |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange () { |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad (page, params = {}) { |
| | | onLoad(page, params = {}) { |
| | | this.loading = true |
| | | |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | showStringDispose (row, type) { |
| | | showStringDispose(row, type) { |
| | | row[type] = !row[type] |
| | | } |
| | | } |