提交 f10cd1ab authored 作者: 宋雄's avatar 宋雄

一期封版

上级 19dd7385
NODE_ENV=development
# VUE_APP_API_BASE_URL='http://192.168.0.119:9999'
VUE_APP_API_BASE_URL='http://192.168.0.101:9999'
# VUE_APP_API_BASE_URL='http://220.203.25.212:9999'
# VUE_APP_API_BASE_URL='http://192.168.0.101:9999'
VUE_APP_API_BASE_URL='http://220.203.25.212:9999'
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
......
......@@ -252,7 +252,6 @@
<div class="load_title">加载中,请稍等</div>
</div>
</div>
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=CHUN0HYsI6BBdicixQPL6dFLOFICXDkm"></script>
</body>
</html>
\ No newline at end of file
import { getAction, deleteAction, putAction, postAction, httpAction } from '@/api/manage'
import Vue from 'vue'
import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
// 获取当前账号个人信息
export const loginUrlCheck = (params)=>postAction("/sys/loginUrlCheck",params);
// 首页统计
const homeDataStatistics = (params)=>getAction("/community/homepage/dataStatistics",params);
const companyNoticeList = (params)=>getAction("/property-company/notice/companyNotice/list",params);
......
// 与业主关系
export const RELATION_SHIP = [
{label: '本人', value: 'self'},
{label: '业主', value: 'self'},
{label: '租户', value: 'tenant'},
{label: '亲人', value: 'relative'},
{label: '朋友', value: 'friend'},
......
<template>
<div id="userLayout" :class="['user-layout-wrapper', device]">
<div class="container">
<div class="container" v-if="isPageUrlTrue">
<div class="top">
<div class="header">
<a href="/">
<!-- <img src="~@/assets/logo.svg" class="logo" alt="logo"> -->
<img src="~@/assets/logo.png" class="logo" alt="logo">
<img v-if="pageImage" :src="pageImage" class="logo" alt="logo">
<img v-else src="~@/assets/logo.png" class="logo" alt="logo">
<span class="title">欢迎登陆</span>
</a>
</div>
<div class="desc">
湖北汉江之星科技有限公司
</div>
<div class="desc">{{pageTitle}}</div>
</div>
<route-view></route-view>
......@@ -27,20 +26,26 @@
</div>
</div> -->
</div>
<div v-else>
<err-page />
</div>
</div>
</template>
<script>
import RouteView from "@/components/layouts/RouteView"
import { mixinDevice } from '@/utils/mixin.js'
import { mapGetters } from 'vuex'
import errPage from './urlErr.vue'
export default {
name: "UserLayout",
components: { RouteView },
components: { RouteView, errPage },
mixins: [mixinDevice],
data () {
return {}
},
computed: mapGetters(["isPageUrlTrue", "pageTitle", "pageImage"]),
mounted () {
document.body.classList.add('userLayout')
},
......
<template>
<div class="exception">
<div class="img">
<img src="https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg"/>
</div>
<div class="content">
<h1>404</h1>
<div class="desc">抱歉,你访问的页面地址错误</div>
<!-- <div class="action">
<a-button type="primary" @click="handleToHome">返回首页</a-button>
</div> -->
</div>
</div>
</template>
<script>
export default {
name: "ErrPage",
data() {
return {}
},
methods: {
}
}
</script>
<style lang="less" scoped>
.exception {
min-height: 500px;
height: 80%;
align-items: center;
text-align: center;
margin-top: 150px;
.img {
display: inline-block;
padding-right: 52px;
zoom: 1;
img {
height: 360px;
max-width: 430px;
}
}
.content {
display: inline-block;
flex: auto;
h1 {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
}
.desc {
color: rgba(0, 0, 0, .45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
}
}
}
.mobile {
.exception {
margin-top: 30px;
.img {
padding-right: unset;
img {
height: 40%;
max-width: 80%;
}
}
}
}
</style>
\ No newline at end of file
......@@ -5,7 +5,7 @@
:collapsible="collapsible"
v-model="collapsed"
:trigger="null">
<logo />
<logo :showTitle="false" />
<s-menu
:collapsed="collapsed"
:menu="menus"
......
<template>
<div class="logo">
<router-link :to="routerLinkTo">
<!-- update-begin- author:sunjianlei --- date:20190814 --- for: logo颜色根据主题颜色变化 -->
<img v-if="navTheme === 'dark'" src="~@/assets/logo-white.png" alt="logo">
<img v-else src="~@/assets/logo.png" alt="logo">
<!-- update-begin- author:sunjianlei --- date:20190814 --- for: logo颜色根据主题颜色变化 -->
<img :src="getAvatar()" alt="logo">
<h1 v-if="showTitle">{{ title }}</h1>
</router-link>
</div>
......@@ -14,6 +9,8 @@
<script>
import { mixin } from '@/utils/mixin.js'
import { getFileAccessHttpUrl } from "@/api/manage"
import { mapGetters } from 'vuex'
export default {
name: 'Logo',
......@@ -34,6 +31,12 @@
type: Object,
default: () => ({name: 'dashboard'}),
},
},
methods: {
...mapGetters(["avatar"]),
getAvatar(){
return getFileAccessHttpUrl(this.avatar())
}
}
}
</script>
......
......@@ -248,9 +248,9 @@ export const JeecgListMixin = {
},
modalFormOk() {
// 新增/修改 成功时,重载列表
this.loadData();
// this.loadData();
//清空列表选中
this.onClearSelected()
// this.onClearSelected()
},
handleDetail:function(record){
this.$refs.modalForm.edit(record);
......
......@@ -18,7 +18,9 @@ const getters = {
return state.enhance.enhanceJs[code]
},
sysSafeMode: state => state.user.sysSafeMode,
isPageUrlTrue: state => state.loginurl.isPageUrlTrue,
pageTitle: state => state.loginurl.pageTitle,
pageImage: state => state.loginurl.pageImage
}
export default getters
......@@ -5,6 +5,7 @@ import app from './modules/app'
import user from './modules/user'
import permission from './modules/permission'
import enhance from './modules/enhance'
import loginurl from './modules/loginurl'
import online from './modules/online'
import getters from './getters'
......@@ -17,6 +18,7 @@ export default new Vuex.Store({
permission,
enhance,
online,
loginurl
},
state: {
......
import {loginUrlCheck} from '@/api/api'
import { getFileAccessHttpUrl } from '@/api/manage'
const enhance = {
state: {
isPageUrlTrue: true,
pageTitle: '湖北汉江之星科技有限公司',
pageImage: ''
},
mutations: {
SET_PAGE_URL_FLAG: (state, flag) => {
state.isPageUrlTrue = flag
},
SET_PAGE_TITLE: (state, name) => {
state.pageTitle = name
},
SET_PAGE_IMAGE: (state, image) => {
state.pageImage = image
}
},
actions: {
onLoginUrlCheck({ commit }, record) {
loginUrlCheck({platformType: 'community'}).then(res=> {
if(res.result && res.result.logoUrl) {
commit('SET_PAGE_TITLE', res.result.name)
commit('SET_PAGE_IMAGE', getFileAccessHttpUrl(res.result.logoUrl))
} else {
commit('SET_PAGE_URL_FLAG', false)
}
})
}
}
}
export default enhance
\ No newline at end of file
......@@ -9,13 +9,6 @@
<j-input placeholder="请输入楼宇名称" v-model="queryParam.buildingName"></j-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
<a-form-model-item label="房屋用途">
<a-select style="width: 100%" v-model="queryParam.useTo" placeholder="请选择房屋用途">
<a-select-option v-for="item in dictOptions" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
......@@ -90,15 +83,14 @@
</div>
<!-- table区域-end -->
<notice-modal ref="modalForm" @ok="modalFormOk"></notice-modal>
<notice-modal ref="modalForm" @ok="searchQuery"></notice-modal>
</a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import NoticeModal from './modules/NoticeModal'
import {filterDictTextByCache} from '@/components/dict/JDictSelectUtil'
import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api'
import {ajaxGetDictItems} from '@/api/api'
const columns = [
{
......@@ -107,15 +99,6 @@
key: 'buildingName',
align: 'center'
},
{
title: '房屋用途',
dataIndex: 'useTo',
key: 'useTo',
align: 'center',
customRender: function(text) {
return filterDictTextByCache('house_purpose', text);
}
},
{
title: '单元',
dataIndex: 'communityUnitList',
......@@ -156,7 +139,6 @@
components: {NoticeModal},
data() {
return {
dictOptions: [],
// 表头
columns: columns,
url: {
......@@ -167,23 +149,7 @@
}
}
},
created() {
this.initDictData()
},
methods: {
initDictData() {
//优先从缓存中读取字典配置
if(getDictItemsFromCache('house_purpose')){
this.dictOptions = getDictItemsFromCache('house_purpose');
return
}
// //根据字典Code, 初始化字典数组
ajaxGetDictItems('house_purpose', null).then((res) => {
if (res.success) {
this.dictOptions = res.result;
}
})
},
onHandleEdit(row) {
let data = {...row}
data.communityUnitList.forEach((item, index)=> {
......
......@@ -96,7 +96,7 @@
</div>
<!-- table区域-end -->
<notice-modal ref="modalForm" @ok="modalFormOk"></notice-modal>
<notice-modal ref="modalForm" @ok="searchQuery"></notice-modal>
</a-card>
</template>
......
......@@ -77,7 +77,6 @@
import { httpAction, getAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
import {ajaxGetDictItems,getDictItemsFromCache, getUnitListApi} from '@/api/api'
import {filterDictTextByCache} from '@/components/dict/JDictSelectUtil'
export default {
name: 'PropertyChargruleForm',
......@@ -138,15 +137,6 @@
key: 'buildingName',
align: 'center'
},
{
title: '房屋用途',
dataIndex: 'useTo',
key: 'useTo',
align: 'center',
customRender: function(text) {
return filterDictTextByCache('house_purpose', text);
}
},
{
title: '管理员',
dataIndex: 'buildingAdmin',
......
......@@ -21,25 +21,30 @@
<p style="line-height:30px">{{this.model.buildingName}}{{this.model.unitName}}{{this.model.roomName}}</p>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="业主名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerName">
<a-input v-model="model.ownerName" placeholder="请输入业主名称"></a-input>
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="业主联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerPhone">
<a-input v-model="model.ownerPhone" placeholder="请输入业主联系方式"></a-input>
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="24">
<a-form-model-item label="性别" :labelCol=" { xs: { span: 24 }, sm: { span: 3 } }" :wrapperCol="wrapperCol" prop="sex">
<a-radio-group v-model="model.sex">
<a-radio :value="1"></a-radio>
<a-radio :value="2"></a-radio>
</a-radio-group>
<a-col :span="12">
<a-form-model-item label="住户联系人电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系人电话"></a-input>
</a-form-model-item>
</a-col> -->
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sex">
<a-radio-group v-model="model.sex">
......@@ -68,28 +73,6 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row v-if="model.relationShip && model.relationShip !== 'self'">
<a-col :span="12">
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="住户联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系方式"></a-input>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
</a-spin>
......@@ -132,13 +115,11 @@
roomName: '',
useTo: '',
floorSpace: '',
ownerName: '',
sex: 1,
age: undefined,
ownerPhone: '',
certificateType: '1',
certificateNo: '',
relationShip: '',
relationShip: 'self',
residentName: '',
residentPhone: ''
},
......@@ -153,9 +134,10 @@
confirmLoading: false,
validatorRules: {
roomId: [{ required: true, message: '请选择关联房屋', trigger: 'change' }],
ownerName: [{ required: true, message: '请输入业主名称', trigger: 'blur' }],
ownerPhone: [
{ required: true, message: '请输入业主联系方式', trigger: 'blur' },
relationShip: [{ required: true, message: '请选择与业主关系', trigger: 'change' }],
residentName: [{ required: true, message: '请输入住户姓名', trigger: 'blur' }],
residentPhone: [
{ required: true, message: '请输入住户联系人电话', trigger: 'blur' },
{ validator: validateToNextPhone }
],
certificateNo: [{
......@@ -175,10 +157,7 @@
callback();
}
}
}],
relationShip: [{ required: true, message: '请选择与业主关系', trigger: 'change' }],
residentName: [{ required: true, message: '请输入住户姓名', trigger: 'blur' }],
residentPhone: [{ required: true, message: '请输入住户联系方式', trigger: 'blur' }]
}]
},
url: {
add: "/property-community/info/communityOwner/add",
......@@ -238,7 +217,6 @@
})
},
onSelectRoom(value, node) {
console.log(node)
let data = node.dataRef
this.model.roomId = data.value
this.model.roomName = data.label
......@@ -293,22 +271,11 @@
})
let roomKey = this.treeData[unitKey]['children'].findIndex(item=>item.value === record.unitId)
this.treeData[unitKey]['children'][roomKey]['children'] = roomChildren
console.log(record)
console.log(unitChildren)
console.log(unitKey)
console.log(roomChildren)
console.log(roomKey)
console.log(this.treeData)
}
this.model = Object.assign({}, record);
this.visible = true;
},
submitForm () {
if(this.model.relationShip === 'self') {
this.model.residentName = this.model.ownerName
this.model.residentPhone = this.model.ownerPhone
}
const that = this;
// 触发表单验证
this.$refs.form.validate(valid => {
......@@ -334,7 +301,6 @@
that.confirmLoading = false;
})
}
})
},
onLoadData(treeNode) {
......
......@@ -33,15 +33,26 @@
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="业主名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerName">
<a-input v-model="model.ownerName" placeholder="请输入业主名称"></a-input>
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="业主联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerPhone">
<a-input v-model="model.ownerPhone" placeholder="请输入业主联系方式"></a-input>
<a-form-model-item label="住户联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系方式"></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="证件类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="certificateType">
<a-select style="width: 100%" v-model="model.certificateType" placeholder="请选择证件类型">
......@@ -57,28 +68,6 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row v-if="model.relationShip && model.relationShip !== 'self'">
<a-col :span="12">
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="住户联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系方式"></a-input>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
<!-- <h4 style="padding:20px 0 0 50px;line-height:30px;">审核意见</h4> -->
......@@ -129,8 +118,6 @@
roomName: '',
useTo: '',
floorSpace: '',
ownerName: '',
ownerPhone: '',
certificateType: '1',
certificateNo: '',
relationShip: '',
......@@ -148,26 +135,12 @@
confirmLoading: false,
validatorRules: {
roomId: [{ required: true, message: '请选择关联房屋', trigger: 'change' }],
ownerName: [{ required: true, message: '请输入业主名称', trigger: 'blur' }],
ownerPhone: [
{ required: true, message: '请输入业主联系方式', trigger: 'blur' },
residentPhone: [
{ required: true, message: '请输入住户联系方式', trigger: 'blur' },
{ validator: validateToNextPhone }
],
certificateNo: [{
trigger: 'blur',
message: '请输入业主联系方式',
required: true
// validator: function(rule, value, callback) {
// if (value) {
// callback();
// } else {
// callback('请输入正确的联系人电话!');
// }
// }
}],
relationShip: [{ required: true, message: '请选择与业主关系', trigger: 'change' }],
residentName: [{ required: true, message: '请输入住户姓名', trigger: 'blur' }],
residentPhone: [{ required: true, message: '请输入住户联系方式', trigger: 'blur' }]
residentName: [{ required: true, message: '请输入住户姓名', trigger: 'blur' }]
},
url: {
add: "/property-community/info/communityOwner/add",
......
......@@ -10,21 +10,30 @@
<a-input v-model="model.houseAllName" placeholder="请输入关联房屋"></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="12">
<p style="line-height:30px">{{this.model.buildingName}}{{this.model.unitName}}{{this.model.roomName}}</p>
</a-col> -->
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="业主名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerName">
<a-input v-model="model.ownerName" placeholder="请输入业主名称"></a-input>
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="业主联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ownerPhone">
<a-input v-model="model.ownerPhone" placeholder="请输入业主联系方式"></a-input>
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="住户联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系方式"></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="证件类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="certificateType">
<a-select style="width: 100%" v-model="model.certificateType" placeholder="请选择证件类型">
......@@ -40,28 +49,6 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<a-select style="width: 100%" v-model="model.relationShip" placeholder="请选择与业主关系">
<a-select-option v-for="item in relationShipList" :key="item.value" :value="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row v-if="model.relationShip && model.relationShip !== 'self'">
<a-col :span="12">
<a-form-model-item label="住户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentName">
<a-input v-model="model.residentName" placeholder="请输入住户姓名"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="住户联系方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户联系方式"></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
......@@ -70,8 +57,8 @@
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="住户来源" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentPhone">
<a-input v-model="model.residentPhone" placeholder="请输入住户来源"></a-input>
<a-form-model-item label="住户来源" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="residentSourceName">
<a-input v-model="model.residentSourceName" placeholder="请输入住户来源"></a-input>
</a-form-model-item>
</a-col>
</a-row>
......@@ -91,6 +78,13 @@
<a @click="onCopyLink" v-if="formParamas.accessAddress" style="position:absolute;top:0;right:-10px;line-height:40px;z-index:999;pointer-events:auto;">复制</a>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<a-form-model-item label="logo" :labelCol="{ xs:{ span: 24 }, sm:{ span: 3 } }" :wrapperCol="wrapperCol" prop="logoUrl">
<j-image-upload :isMultiple="false" text="点击上传" bizPath="scott/pic" v-model="formParamas.logoUrl"></j-image-upload>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="职位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="labelCode">
......@@ -138,7 +132,7 @@
<a-row>
<a-col :span="12">
<a-form-model-item label="贫困类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="potions">
<a-select style="width:100%" v-model="formModel.potions" mode="multiple" placeholder="请选择职位(可多选)" labelInValue>
<a-select style="width:100%" v-model="formModel.potions" mode="multiple" placeholder="请选择贫困类型(可多选)" labelInValue>
<a-select-option :value="item.value" v-for="item in ownerLabelsLists" :key="item.value">{{item.label}}</a-select-option>
</a-select>
</a-form-model-item>
......@@ -191,8 +185,6 @@
roomName: '',
useTo: '',
floorSpace: '',
ownerName: '',
ownerPhone: '',
certificateType: '1',
certificateNo: '',
relationShip: '',
......@@ -217,6 +209,7 @@
},
validatorRules: {
accessAddress: [{ required: true, message: '请输入访问域名前缀', trigger: 'blur' }],
logoUrl: [{ required: true, message: '请上传logo', trigger: 'blur' }],
potions: [{ required: true, message: '请选择贫困类型', trigger: 'change' }],
labelCode: [{ required: true, message: '请选择职位', trigger: 'change' }],
committeeName: [{ required: true, message: '请输入业委会名称', trigger: 'blur' }],
......@@ -226,6 +219,7 @@
},
formParamas: {
accessAddress: '',
logoUrl: '',
labelCode: '',
committeeName: '',
adminLoginName: '',
......@@ -261,9 +255,10 @@
async getPageDetail() {
let {result} = await geCommunityOwnertInfoApi({id: this.$route.query.id})
result.communityOwner['houseAllName'] = result.communityOwner.buildingName + '-' + result.communityOwner.unitName + '-' + result.communityOwner.roomName
result.communityOwner['residentSourceName'] = result.residentSource === 'miniapp' ? '小程序' : 'pc'
this.model = Object.assign({}, result.communityOwner);
if(this.labelType === '1') {
this.formParamas.adminLoginName = result.communityOwner.ownerPhone
this.formParamas.adminLoginName = result.communityOwner.residentPhone
this.formParamas.accessAddress = result.communityVo.accessAddress
this.formParamas.committeeName = result.committee ? result.committee.committeeName : ''
}
......@@ -290,7 +285,7 @@
accessAddress: result.communityVo.accessAddress,
labelCode: result.committeeInfo ? result.committeeInfo.labelCode : null,
committeeName: result.committee.committeeName,
adminLoginName: result.communityOwner.ownerPhone,
adminLoginName: result.communityOwner.residentPhone,
adminPassword: result.communityVo.adminPassword,
labelImg: result.committeeInfo ? result.committeeInfo.labelImg : null,
labelRemark: result.committeeInfo ? result.committeeInfo.labelRemark : null
......
......@@ -5,8 +5,8 @@
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-item label="业主姓名">
<j-input placeholder="请输入业主姓名" v-model="queryParam.ownerName"></j-input>
<a-form-item label="住户姓名">
<j-input placeholder="请输入住户姓名" v-model="queryParam.residentName"></j-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
......@@ -72,9 +72,6 @@
:dataSource="dataSource" :pagination="ipagination" :loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap"
@change="handleTableChange">
<span slot="ownerName" slot-scope="text, record">
<span>{{record.ownerName}}{{record.ownerPhone}}</span>
</span>
<span slot="residentName" slot-scope="text, record">
<span>{{`${record.residentName},${record.residentPhone}`}}</span>
</span>
......@@ -84,7 +81,7 @@
<span slot="label" slot-scope="text, record">
<!-- <span>{{record.label | filterLabel}}</span> -->
<div>
<a-tag color="blue">业主</a-tag>
<a-tag color="blue" v-if="record.relationShip === 'self'">业主</a-tag>
<a-tag color="red" v-if="record.labelCommitteeDesc">{{record.labelCommitteeDesc}}</a-tag>
<a-tag color="orange" v-if="record.labelDestituteDesc">{{record.labelDestituteDesc}}</a-tag>
</div>
......@@ -142,7 +139,7 @@
</div>
</div>
<notice-modal ref="modalForm" @ok="modalFormOk"></notice-modal>
<notice-modal ref="modalForm" @ok="searchQuery"></notice-modal>
<!-- 右侧的角色权限配置 -->
<user-role-modal ref="modalUserRole"></user-role-modal>
</a-card>
......@@ -159,13 +156,6 @@ import { RELATION_SHIP, filterDictTextByStatic, INDUSTRY_JOB, OWNER_LEBEL } from
import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
const labelAllList = [{label: '业主', value: 'owner'}].concat(INDUSTRY_JOB, OWNER_LEBEL)
const columns = [
{
title: '业主',
dataIndex: 'ownerName',
scopedSlots: { customRender: 'ownerName' },
key: 'ownerName',
align: 'center',
},
{
title: '与业主关系',
dataIndex: 'relationShip',
......@@ -295,7 +285,7 @@ export default {
},
created() {
this.getBuildingList()
// this.initDictData()
this.initDictData()
},
computed: {
importExcelUrl: function () {
......@@ -405,13 +395,13 @@ export default {
return
}
if (typeof window.navigator.msSaveBlob !== 'undefined') {
window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx')
} else {
let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', fileName + '.xls')
link.setAttribute('download', fileName + '.xlsx')
document.body.appendChild(link)
link.click()
document.body.removeChild(link) //下载完成移除元素
......
......@@ -38,6 +38,7 @@ import { ACCESS_TOKEN, ENCRYPTED_STRING } from '@/store/mutation-types'
import LoginSelectHouse from "@/components/tools/LoginSelectHouse";
import { getEncryptedString } from '@/utils/encryption/aesEncrypt'
import { timeFix } from '@/utils/util'
import { mapActions } from 'vuex'
import LoginAccount from './LoginAccount'
import LoginPhone from './LoginPhone'
......@@ -64,8 +65,10 @@ export default {
Vue.ls.remove(ACCESS_TOKEN)
this.getRouterData();
this.rememberMe = true
this.onLoginUrlCheck()
},
methods:{
...mapActions(["onLoginUrlCheck"]),
handleTabClick(key){
this.customActiveKey = key
},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论