提交 021b5680 authored 作者: 宋雄's avatar 宋雄

合并

...@@ -131,7 +131,11 @@ ...@@ -131,7 +131,11 @@
loadColumnsInfo(){ loadColumnsInfo(){
httpGroupRequest(() => getAction(this.url)).then(res => { httpGroupRequest(() => getAction(this.url)).then(res => {
if(res.success){ if(res.success){
this.table.dataSource = res.result if(res.result.length > 0){
this.table.dataSource = res.result
}else if(res.result.records.length > 0){
this.table.dataSource = res.result.records
}
} else { } else {
this.$error({ this.$error({
title: '出错了', title: '出错了',
......
<template>
<a-modal :title="title" width="100%" :dialog-style="{ top: '0', height: '100vh'}" :keyboard="false" :visible="visible"
:mask="false" :closable="closable" :footer="false" :maskClosable="false" @cancel="visible = false">
<div class="house-content-box">
<div class="box" :class="{'active': currentCode === item.communityCode}" v-for="item in list" :key="item.id"
@click="selectHouse(item)">
<img class="image" :src="imgUrl+'/sys/common/static/'+item.communityImage" alt="" />
<div class="describe">
<p class="name">{{item.communityName}}</p>
<p class="address">{{item.communityArea}}{{item.addressInfo}}222</p>
</div>
</div>
</div>
</a-modal>
</template>
<script>
import Vue from 'vue'
import { putAction } from '@/api/manage'
import { welcome } from '@/utils/util'
import { mapActions } from 'vuex'
import {
ACCESS_TOKEN,
TENANT_ID,
USER_NAME,
USER_INFO,
UI_CACHE_DB_DICT_DATA,
HOUSE_LIST,
} from '@/store/mutation-types'
let username = ''
export default {
name: 'LoginSelectTenant',
props: {
title: {
type: String,
default: '请选择小区',
},
closable: {
type: Boolean,
default: false,
},
list: {
type: Array,
default: [],
},
},
data() {
return {
visible: false,
houseList: [],
currentCode: '',
imgUrl: process.env.VUE_APP_API_BASE_URL,
}
},
methods: {
...mapActions(['changeHouse']),
clear() {
this.houseList = []
this.visible = false
},
bizDepart(loginResult) {
let multi_community = loginResult.multi_community
if (multi_community === 2) {
this.visible = true
let list = loginResult.communitys.map((item) => {
let imgList = item.communityImage.split(',')
return {
...item,
imgUrl: process.env.VUE_APP_API_BASE_URL + '/sys/common/static/' + imgList[0],
}
})
Vue.ls.set(HOUSE_LIST, list, 7 * 24 * 60 * 60 * 1000)
this.houseList = list
// }
// if( multi_community == 0 ){
// this.$notification.warn({
// message: '提示',
// description: `您尚未认证小区,请确认账号信息`,
// duration:3
// });
// } else if(multi_community === 1) {
// this.visible = false
} else {
this.visible = false
}
},
show(loginResult) {
if (loginResult) {
this.clear()
this.bizDepart(loginResult)
if (this.visible === false) {
this.$emit('success')
}
} else {
const list = Vue.ls.get(HOUSE_LIST)
const code = Vue.ls.get(TENANT_ID)
this.houseList = list
this.currentCode = code
this.visible = true
}
},
requestFailed(err) {
this.$notification['error']({
message: '登录失败',
description: ((err.response || {}).data || {}).message || err.message || '请求出现错误,请稍后再试',
duration: 4,
})
},
departResolve(row) {
return new Promise((resolve, reject) => {
putAction('/sys/selectCommunity', {
platformCode: row.communityCode,
username: Vue.ls.get(USER_NAME),
}).then((res) => {
if (res.success) {
const result = res.result
const userInfo = result.userInfo
Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(TENANT_ID, result.userInfo.platformCode, 7 * 24 * 60 * 60 * 1000)
this.$store.commit('SET_TOKEN', result.token)
this.$store.commit('SET_INFO', userInfo)
this.$store.commit('SET_NAME', {
username: userInfo.username,
realname: userInfo.realname,
welcome: welcome(),
})
this.$store.commit('SET_AVATAR', userInfo.avatar)
resolve()
} else {
this.requestFailed(res)
this.$store.dispatch('Logout')
reject()
}
})
})
},
selectHouse(row) {
// console.log(this.changeHouse)
// debugger
// let loginParams = {
// platformCode: row.communityCode,
// username,
// platformType: 'community'
// }
// this.changeHouse(loginParams).then(()=> {
// this.$store.dispatch('saveTenant', row.communityCode);
// this.$emit('success')
// }).catch(err=> {
// this.requestFailed(err)
// this.$store.dispatch('Logout');
// })
this.departResolve(row)
.then(() => {
this.visible = false
this.$store.dispatch('saveTenant', row.communityCode)
this.$emit('success')
})
.catch(() => {
console.log('登录选择出问题')
})
},
},
}
</script>
<style lang="less" scoped>
/deep/ .ant-modal-content {
height: 100vh !important;
max-height: 100vh !important;
overflow-y: auto;
}
.house-content-box {
display: flex;
.box {
box-sizing: border-box;
flex: none;
width: 300px;
height: 300px;
border-radius: 10px;
margin-right: 20px;
border: 1px solid #cbcbcb;
overflow: hidden;
cursor: pointer;
transition: all 0.5s;
&:hover {
box-shadow: 0px 0px 10px #a9a4a4;
}
&.active {
box-shadow: 0px 0px 10px #a9a4a4;
}
.image {
width: 100%;
height: 200px;
border-radius: 10px 10px 0 0;
}
.describe {
height: 100px;
padding: 0 20px;
display: flex;
flex-direction: column;
justify-content: center;
.name {
font-size: 16px;
color: #666;
margin-bottom: 10px;
}
.address {
font-size: 14px;
color: #999;
margin-bottom: 0;
}
}
}
}
</style>
\ No newline at end of file
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<depart-select ref="departSelect" :closable="true" title="部门切换"></depart-select> <depart-select ref="departSelect" :closable="true" title="部门切换"></depart-select>
<setting-drawer ref="settingDrawer" :closable="true" title="系统设置"></setting-drawer> <setting-drawer ref="settingDrawer" :closable="true" title="系统设置"></setting-drawer>
<login-select-house ref="loginSelect" :closable="true" title="小区切换" @success="loginSelectOk"></login-select-house> <login-switch-house ref="loginSelect" :closable="true" title="小区切换" @success="loginSelectOk" :list="communityList"></login-switch-house>
</div> </div>
</template> </template>
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
import UserPassword from './UserPassword' import UserPassword from './UserPassword'
import SettingDrawer from "@/components/setting/SettingDrawer"; import SettingDrawer from "@/components/setting/SettingDrawer";
import DepartSelect from './DepartSelect' import DepartSelect from './DepartSelect'
import LoginSelectHouse from './LoginSelectHouse' import LoginSwitchHouse from './LoginSwitchHouse'
import { mapActions, mapGetters,mapState } from 'vuex' import { mapActions, mapGetters,mapState } from 'vuex'
import { mixinDevice } from '@/utils/mixin.js' import { mixinDevice } from '@/utils/mixin.js'
import { getFileAccessHttpUrl,getAction } from "@/api/manage" import { getFileAccessHttpUrl,getAction } from "@/api/manage"
...@@ -115,7 +115,8 @@ ...@@ -115,7 +115,8 @@
searchMenuComp: 'span', searchMenuComp: 'span',
searchMenuVisible: false, searchMenuVisible: false,
// update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 -------------- // update-begin author:sunjianlei date:20200219 for: 头部菜单搜索规范命名 --------------
isShowChange: true isShowChange: true,
communityList:[]
} }
}, },
components: { components: {
...@@ -123,7 +124,7 @@ ...@@ -123,7 +124,7 @@
UserPassword, UserPassword,
DepartSelect, DepartSelect,
SettingDrawer, SettingDrawer,
LoginSelectHouse LoginSwitchHouse
}, },
props: { props: {
theme: { theme: {
...@@ -209,8 +210,13 @@ ...@@ -209,8 +210,13 @@
this.$refs.userPassword.show(username) this.$refs.userPassword.show(username)
}, },
updateCurrentDepart(){ updateCurrentDepart(){
this.getHouse()
this.$refs.loginSelect.show() this.$refs.loginSelect.show()
}, },
async getHouse() {
let { result } = await getAction('/property-company/community/companyCommunity/getCommunityList',{ })
this.communityList = result
},
// systemSetting(){ // systemSetting(){
// this.$refs.loginSelect.showDrawer() // this.$refs.loginSelect.showDrawer()
// }, // },
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="楼宇名称"> <a-form-item label="楼宇名称">
<a-input placeholder="请输入楼宇名称" v-model="queryParam.buildingName"></a-input> <j-input placeholder="请输入楼宇名称" v-model="queryParam.buildingName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="姓名"> <a-form-item label="设备名称">
<a-input placeholder="请输入姓名" v-model="queryParam.assetName"></a-input> <j-input placeholder="请输入设备名称" v-model="queryParam.assetName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
...@@ -144,6 +144,12 @@ ...@@ -144,6 +144,12 @@
key: 'assetPosition', key: 'assetPosition',
align: 'center' align: 'center'
}, },
{
title: '所属小区',
dataIndex: 'platformName',
key: 'platformName',
align: 'center'
},
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="楼宇名称"> <a-form-item label="楼宇名称">
<a-input placeholder="请输入楼宇名称" v-model="queryParam.buildingName"></a-input> <j-input placeholder="请输入楼宇名称" v-model="queryParam.buildingName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
......
...@@ -6,20 +6,20 @@ ...@@ -6,20 +6,20 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="业主姓名"> <a-form-item label="业主姓名">
<a-input placeholder="请输入业主姓名" v-model="queryParam.ownerName"></a-input> <j-input placeholder="请输入业主姓名" v-model="queryParam.ownerName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-model-item label="房屋用途"> <a-form-model-item label="房屋用途">
<a-select style="width: 100%" v-model="queryParam.chargeType" placeholder="请选择房屋用途"> <a-select style="width: 100%" v-model="queryParam.useTo" placeholder="请选择房屋用途">
<a-select-option v-for="item in useOptions" :key="item.value" <a-select-option v-for="item in useOptions" :key="item.value"
:value="item.value">{{item.label}}</a-select-option> :value="item.value">{{item.label}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-model-item label="认证状态"> <a-form-model-item label="审核状态">
<a-select style="width: 100%" v-model="queryParam.chargeType" placeholder="请选择认证状态"> <a-select style="width: 100%" v-model="queryParam.auditStatus" placeholder="请选择审核状态">
<a-select-option v-for="item in certificationOptions" :key="item.value" <a-select-option v-for="item in certificationOptions" :key="item.value"
:value="item.value">{{item.label}}</a-select-option> :value="item.value">{{item.label}}</a-select-option>
</a-select> </a-select>
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
<a @click="onRoutetAdd(record.id)">审核</a> <a @click="onRoutetAdd(record.id)">审核</a>
</template> </template>
<template v-else-if="record.auditStatus === 'refuse'"> <template v-else-if="record.auditStatus === 'refuse'">
<a @click="handleEdit(record)">详情</a> <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)" placement="topLeft"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)" placement="topLeft">
<a>删除</a> <a>删除</a>
......
...@@ -28,6 +28,14 @@ ...@@ -28,6 +28,14 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12">
<a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sex">
<a-select style="width: 100%" v-model="model.sex" placeholder="请选择性别">
<a-select-option :value="1"></a-select-option>
<a-select-option :value="2"></a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row> </a-row>
<a-row> <a-row>
...@@ -75,6 +83,7 @@ ...@@ -75,6 +83,7 @@
employeePhone: '', employeePhone: '',
employeeDuties: '', employeeDuties: '',
employeeStatus: '1', employeeStatus: '1',
sex: '',
employeeAvatar: '' employeeAvatar: ''
}, },
labelCol: { labelCol: {
...@@ -92,7 +101,8 @@ ...@@ -92,7 +101,8 @@
{ required: true, message: '请输入联系电话', trigger: 'blur' }, { required: true, message: '请输入联系电话', trigger: 'blur' },
{ validator: validateToNextPhone } { validator: validateToNextPhone }
], ],
employeeDuties: [{ required: true, message: '请选择员工职务', trigger: 'change' }] employeeDuties: [{ required: true, message: '请选择员工职务', trigger: 'change' }],
sex: [{ required: true, message: '请选择员工性别', trigger: 'change' }]
}, },
url: { url: {
add: "/property-company/employee/companyEmployee/add", add: "/property-company/employee/companyEmployee/add",
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="姓名"> <a-form-item label="姓名">
<a-input placeholder="请输入姓名" v-model="queryParam.employeeName"></a-input> <j-input placeholder="请输入姓名" v-model="queryParam.employeeName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
...@@ -54,9 +54,13 @@ ...@@ -54,9 +54,13 @@
class="j-table-force-nowrap" class="j-table-force-nowrap"
@change="handleTableChange" @change="handleTableChange"
> >
<span slot="sex" slot-scope="text, record">
<span>{{record.sex === 1 ? '男' :record.sex === 2 ? '女' : ''}}</span>
</span>
<span slot="employeeStatus" slot-scope="text, record"> <span slot="employeeStatus" slot-scope="text, record">
<span :style="{'color': record.employeeStatus === '1' ? 'green' : 'red'}">{{record.employeeStatus === '1' ? '在职' : '离职'}}</span> <span :style="{'color': record.employeeStatus === '1' ? 'green' : 'red'}">{{record.employeeStatus === '1' ? '在职' : '离职'}}</span>
</span> </span>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
...@@ -105,6 +109,13 @@ ...@@ -105,6 +109,13 @@
key: 'employeePhone', key: 'employeePhone',
align: 'center' align: 'center'
}, },
{
title: '性别',
dataIndex: 'sex',
scopedSlots: { customRender: 'sex' },
key: 'sex',
align: 'center'
},
{ {
title: '职务', title: '职务',
dataIndex: 'employeeDuties', dataIndex: 'employeeDuties',
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="公告标题"> <a-form-item label="公告标题">
<a-input placeholder="请输入公告标题" v-model="queryParam.employeeName"></a-input> <j-input placeholder="请输入公告标题" v-model="queryParam.noticeTitle"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<!-- <a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> --> <!-- <a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> -->
<a-dropdown v-if="selectedRowKeys.length > 0"> <a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay"> <a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> <a-menu-item key="1" @click="batchDel"><a-icon type="delete" />删除</a-menu-item>
</a-menu> </a-menu>
<a-button style="margin-left: 8px">批量操作 <a-icon type="down" /></a-button> <a-button style="margin-left: 8px">批量操作 <a-icon type="down" /></a-button>
</a-dropdown> </a-dropdown>
...@@ -40,30 +40,25 @@ ...@@ -40,30 +40,25 @@
<a style="margin-left: 24px" v-if="selectedRowKeys.length > 0" @click="onClearSelected">清空</a> <a style="margin-left: 24px" v-if="selectedRowKeys.length > 0" @click="onClearSelected">清空</a>
</div> </div>
<a-table <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns"
ref="table" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
size="middle" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap"
:scroll="{x:true}" @change="handleTableChange">
bordered <span slot="noticeTitle" slot-scope="text, record"
rowKey="id" style=" width: 200px;display: block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
:columns="columns" <a-tooltip placement="topLeft" :title="record.noticeTitle">{{record.noticeTitle}}</a-tooltip>
:dataSource="dataSource" </span>
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange"
>
<span slot="employeeStatus" slot-scope="text, record"> <span slot="employeeStatus" slot-scope="text, record">
<span :style="{'color': record.employeeStatus === '1' ? 'green' : 'red'}">{{record.employeeStatus === '1' ? '在职' : '离职'}}</span> <span
:style="{'color': record.employeeStatus === '1' ? 'green' : 'red'}">{{record.employeeStatus === '1' ? '在职' : '离职'}}</span>
</span> </span>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/> <a-divider type="vertical" />
<a-dropdown> <a-dropdown>
<a class="ant-dropdown-link"> <a class="ant-dropdown-link">
更多 <a-icon type="down"/> 更多 <a-icon type="down" />
</a> </a>
<a-menu slot="overlay"> <a-menu slot="overlay">
<a-menu-item> <a-menu-item>
...@@ -88,83 +83,85 @@ ...@@ -88,83 +83,85 @@
</template> </template>
<script> <script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import NoticeModal from './modules/NoticeModal' import NoticeModal from './modules/NoticeModal'
import {URGENT_DEGREE, SCHEDULED_RELEASE, NOTICE_STATUS, filterDictTextByStatic} from '@/assets/static.js' import { URGENT_DEGREE, SCHEDULED_RELEASE, NOTICE_STATUS, filterDictTextByStatic } from '@/assets/static.js'
const columns = [ const columns = [
{ {
title: '公告标题', title: '公告标题',
dataIndex: 'noticeTitle', dataIndex: 'noticeTitle',
key: 'noticeTitle', scopedSlots: { customRender: 'noticeTitle' },
align: 'center' width: 100,
}, ellipsis: true,
{ key: 'noticeTitle',
title: '紧急程度', },
dataIndex: 'urgentDegree', {
key: 'urgentDegree', title: '紧急程度',
align: 'center', dataIndex: 'urgentDegree',
customRender: function(text) { key: 'urgentDegree',
return filterDictTextByStatic(URGENT_DEGREE, text); align: 'center',
} customRender: function (text) {
}, return filterDictTextByStatic(URGENT_DEGREE, text)
{
title: '是否定时发布',
dataIndex: 'isScheduledRelease',
key: 'isScheduledRelease',
align: 'center',
customRender: function(text) {
return filterDictTextByStatic(SCHEDULED_RELEASE, text);
}
},
{
title: '发布人',
dataIndex: 'createBy',
key: 'createBy',
align: 'center'
}, },
{ },
title: '发布时间', {
dataIndex: 'releaseTime', title: '是否定时发布',
key: 'releaseTime', dataIndex: 'isScheduledRelease',
align: 'center' key: 'isScheduledRelease',
align: 'center',
customRender: function (text) {
return filterDictTextByStatic(SCHEDULED_RELEASE, text)
}, },
{ },
title: '公告状态', {
dataIndex: 'noticeStatus', title: '发布人',
key: 'noticeStatus', dataIndex: 'createBy',
align: 'center', key: 'createBy',
customRender: function(text) { align: 'center',
return filterDictTextByStatic(NOTICE_STATUS, text); },
} {
title: '发布时间',
dataIndex: 'releaseTime',
key: 'releaseTime',
align: 'center',
},
{
title: '公告状态',
dataIndex: 'noticeStatus',
key: 'noticeStatus',
align: 'center',
customRender: function (text) {
return filterDictTextByStatic(NOTICE_STATUS, text)
}, },
{ },
title: '操作', {
dataIndex: 'action', title: '操作',
scopedSlots: { customRender: 'action' }, dataIndex: 'action',
align: 'center', scopedSlots: { customRender: 'action' },
width: 150 align: 'center',
} width: 150,
] },
]
export default { export default {
name: 'PermissionListAsync', name: 'PermissionListAsync',
mixins: [JeecgListMixin], mixins: [JeecgListMixin],
components: {NoticeModal}, components: { NoticeModal },
data() { data() {
return { return {
// 表头 // 表头
columns: columns, columns: columns,
url: { url: {
list: "/property-company/notice/companyNotice/list", list: '/property-company/notice/companyNotice/list',
delete: '/property-company/notice/companyNotice/delete', delete: '/property-company/notice/companyNotice/delete',
deleteBatch: '/property-company/notice/companyNotice/deleteBatch' deleteBatch: '/property-company/notice/companyNotice/deleteBatch',
} },
} }
}, },
methods: {} methods: {},
} }
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
</style> </style>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="标题" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticeTitle"> <a-form-model-item label="标题" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticeTitle">
<a-input v-model="model.noticeTitle" placeholder="请输入标题" style="width:70%"></a-input> <a-input v-model="model.noticeTitle" placeholder="请输入标题" style="width:100%" :maxLength="200"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticeContent"> <a-form-model-item label="内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticeContent">
<j-editor placeholder="请输入内容" v-model="model.noticeContent"/> <j-editor placeholder="请输入内容" v-model="model.noticeContent" maxLength=""/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="投诉单号"> <a-form-item label="投诉单号">
<a-input placeholder="请输入投诉单号" v-model="queryParam.complaintNo"></a-input> <j-input placeholder="请输入投诉单号" v-model="queryParam.complaintNo"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
......
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip"> <a-form-model-item label="与业主关系" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relationShip">
<!-- <a-input v-model="model.relationShip" placeholder="请输入"></a-input> --> <!-- <a-input v-model="model.relationShip" placeholder="请输入"></a-input> -->
<a-select v-model="model.relationShip" placeholder="请选择与业主关系"> <a-select 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-option v-for="item in relationShipList" :key="item.value"
:value="item.value">{{item.label}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -39,7 +40,6 @@ ...@@ -39,7 +40,6 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="收费标准" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeTypeCodeName"> <a-form-model-item label="收费标准" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeTypeCodeName">
<a-input v-model="model.chargeTypeCodeName" placeholder="请输入"></a-input> <a-input v-model="model.chargeTypeCodeName" placeholder="请输入"></a-input>
...@@ -48,7 +48,8 @@ ...@@ -48,7 +48,8 @@
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="收费周期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeCycle"> <a-form-model-item label="收费周期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeCycle">
<a-select style="width: 100%" v-model="model.chargeCycle" placeholder="请选择付费周期"> <a-select style="width: 100%" v-model="model.chargeCycle" placeholder="请选择付费周期">
<a-select-option v-for="item in dictOptions" :key="item.value" :value="item.value">{{item.label}}</a-select-option> <a-select-option v-for="item in dictOptions" :key="item.value"
:value="item.value">{{item.label}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -72,7 +73,8 @@ ...@@ -72,7 +73,8 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="本期度数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="currentDegrees"> <a-form-model-item label="本期度数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="currentDegrees">
<a-input-number v-model="model.currentDegrees" placeholder="请输入本期度数" style="width:100%"></a-input-number> <a-input-number v-model="model.currentDegrees" placeholder="请输入本期度数"
style="width:100%"></a-input-number>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
...@@ -92,8 +94,10 @@ ...@@ -92,8 +94,10 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="抄表时间" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol" prop="meterReadingTime"> <a-form-model-item label="抄表时间" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol"
<j-date placeholder="请选择抄表时间" v-model="model.meterReadingTime" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" style="width: 50%;" /> prop="meterReadingTime">
<j-date placeholder="请选择抄表时间" v-model="model.meterReadingTime" :showTime="true"
dateFormat="YYYY-MM-DD HH:mm:ss" style="width: 50%;" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -106,18 +110,8 @@ ...@@ -106,18 +110,8 @@
<p style="padding-right:50px;color:#EC808D">总缴费金额: {{totalAmount}}</p> <p style="padding-right:50px;color:#EC808D">总缴费金额: {{totalAmount}}</p>
</div> </div>
<div> <div>
<a-table <a-table ref="table" size="middle" :scroll="{ x: 1500, y: 300 }" bordered rowKey="id" :columns="columns"
ref="table" :dataSource="dataSource" :pagination="pagination" :loading="loading" class="j-table-force-nowrap">
size="middle"
:scroll="{ x: 1500, y: 300 }"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="pagination"
:loading="loading"
class="j-table-force-nowrap"
>
<span slot="roomId" slot-scope="text, record"> <span slot="roomId" slot-scope="text, record">
<span>{{record.buildingName}}{{record.unitName}}{{record.roomName}}</span> <span>{{record.buildingName}}{{record.unitName}}{{record.roomName}}</span>
</span> </span>
...@@ -132,186 +126,188 @@ ...@@ -132,186 +126,188 @@
</template> </template>
<script> <script>
import { queryDetailByIdApi, ajaxGetDictItems, getDictItemsFromCache, getHistoryListdApi} from '@/api/api' import { queryDetailByIdApi, ajaxGetDictItems, getDictItemsFromCache, getHistoryListdApi } from '@/api/api'
import {RELATION_SHIP} from '@/assets/static.js' import { RELATION_SHIP } from '@/assets/static.js'
const columns = [ const columns = [
{ {
title: '收费类型', title: '收费类型',
dataIndex: 'chargeTypeName', dataIndex: 'chargeTypeName',
key: 'chargeTypeName', key: 'chargeTypeName',
width: 120, width: 120,
align: 'center' align: 'center',
},
{
title: '收费项目',
dataIndex: 'chargeItem',
key: 'chargeItem',
width: 120,
align: 'center',
},
{
title: '房屋编号',
dataIndex: 'roomId',
scopedSlots: { customRender: 'roomId' },
key: 'roomId',
width: 140,
align: 'center',
},
{
title: '用量',
dataIndex: 'useAmount',
key: 'useAmount',
width: 120,
align: 'center',
},
{
title: '金额(元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
width: 120,
align: 'center',
},
{
title: '缴费单号',
dataIndex: 'paymentNum',
key: 'paymentNum',
width: 120,
align: 'center',
},
{
title: '缴费日期',
dataIndex: 'paymentTime',
key: 'paymentTime',
width: 120,
align: 'center',
},
{
title: '创建日期',
dataIndex: 'createTime',
key: 'createTime',
width: 120,
align: 'center',
},
]
export default {
name: 'PropertyChargruleForm',
inject: ['closeCurrent'],
props: {
//表单禁用
disabled: {
type: Boolean,
default: false,
required: false,
}, },
{ },
title: '收费项目', data() {
dataIndex: 'chargeItem', return {
key: 'chargeItem', relationShipList: RELATION_SHIP,
width: 120, dictOptions: [],
align: 'center' model: {
}, chargeCycle: '',
{ chargeItem: '',
title: '房屋编号', chargingStandardId: '',
dataIndex: 'roomId', chargeTypeCode: '',
scopedSlots: { customRender: 'roomId' }, chargeTypeId: '',
key: 'roomId', chargeTypeName: '',
width: 140, unitPrice: '',
align: 'center'
},
{
title: '用量',
dataIndex: 'useAmount',
key: 'useAmount',
width: 120,
align: 'center'
},
{
title: '金额(元)',
dataIndex: 'totalAmount',
key: 'totalAmount',
width: 120,
align: 'center'
},
{
title: '缴费单号',
dataIndex: 'paymentNum',
key: 'paymentNum',
width: 120,
align: 'center'
},
{
title: '缴费日期',
dataIndex: 'paymentTime',
key: 'paymentTime',
width: 120,
align: 'center'
},
{
title: '创建日期',
dataIndex: 'createTime',
key: 'createTime',
width: 120,
align: 'center'
}
]
export default {
name: 'PropertyChargruleForm',
inject:['closeCurrent'],
props: {
//表单禁用
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () {
return {
relationShipList: RELATION_SHIP,
dictOptions: [],
model:{
chargeCycle: '',
chargeItem: '',
chargingStandardId: '',
chargeTypeCode: '',
chargeTypeId: '',
chargeTypeName: '',
unitPrice: '',
ownerId: '', ownerId: '',
buildingId: '', buildingId: '',
buildingName: '', buildingName: '',
unitId: '', unitId: '',
unitName: '', unitName: '',
roomId: '', roomId: '',
roomName: '', roomName: '',
floorSpace: '', floorSpace: '',
ownerName: '', ownerName: '',
ownerPhone: '', ownerPhone: '',
residentName: '', residentName: '',
residentPhone: '', residentPhone: '',
relationShip: '', relationShip: '',
lastDegrees: '', lastDegrees: '',
currentDegrees: '', currentDegrees: '',
useAmount: '', useAmount: '',
totalAmount: '',
meterReadingTime: ''
},
labelCol: {
xs: { span: 24 },
sm: { span: 4 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 20 },
},
totalAmount: '', totalAmount: '',
confirmLoading: false, meterReadingTime: '',
columns: columns,
dataSource: [],
pagination: {
total: 0,
current: 1,
pageSize: 10,
showSizeChanger: true
},
loading: false,
}
},
computed: {
formDisabled(){
return this.disabled
}, },
}, labelCol: {
created () { xs: { span: 24 },
//备份model原始值 sm: { span: 4 },
this.getDetail()
this.initDictData()
},
methods: {
async getDetail() {
this.confirmLoading = true
let {result} = await queryDetailByIdApi({id: this.$route.query.id})
result['chargeTypeCodeName'] = `${result.chargeTypeCode}-${result.chargeTypeName}`
result['roomAllName'] = `${result.buildingName}${result.unitName}${result.roomName}`
this.model = {...result}
this.confirmLoading = false
this.getHistoryList(this.model.ownerId)
}, },
initDictData() { wrapperCol: {
//优先从缓存中读取字典配置 xs: { span: 24 },
if(getDictItemsFromCache('chargingCycle')){ sm: { span: 20 },
this.dictOptions = getDictItemsFromCache('chargingCycle');
return
}
// //根据字典Code, 初始化字典数组
ajaxGetDictItems('chargingCycle', null).then((res) => {
if (res.success) {
this.dictOptions = res.result;
}
})
}, },
async getHistoryList(ownerId) { totalAmount: '',
this.loading = true confirmLoading: false,
let {result} = await getHistoryListdApi({ownerId}) columns: columns,
this.totalAmount = result.totalAmount dataSource: [],
let data = result.pageList pagination: {
this.pagination.total = data.total total: 0,
this.pagination.current = data.current current: 1,
this.pagination.pageSize = data.size pageSize: 10,
this.dataSource = data.records showSizeChanger: true,
this.loading = false
}, },
onReturn() { loading: false,
// if(this.model.lastDegrees || this.model.lastDegrees == 0) {
// this.model.useAmount = (value - Number(this.model.lastDegrees)).toFixed(2)
// this.model.totalAmount = (Number(this.model.useAmount) * this.amount).toFixed(2)
// }
this.closeCurrent()
}
} }
} },
computed: {
formDisabled() {
return this.disabled
},
},
created() {
//备份model原始值
this.getDetail()
this.initDictData()
},
methods: {
async getDetail() {
this.confirmLoading = true
let { result } = await queryDetailByIdApi({ id: this.$route.query.id })
result['chargeTypeCodeName'] = `${result.chargeTypeCode}-${result.chargeTypeName}`
result['roomAllName'] = `${result.buildingName}${result.unitName}${result.roomName}`
this.model = { ...result }
this.confirmLoading = false
this.getHistoryList(this.model.ownerId)
},
initDictData() {
//优先从缓存中读取字典配置
if (getDictItemsFromCache('chargingCycle')) {
this.dictOptions = getDictItemsFromCache('chargingCycle')
return
}
// //根据字典Code, 初始化字典数组
ajaxGetDictItems('chargingCycle', null).then((res) => {
if (res.success) {
this.dictOptions = res.result
}
})
},
async getHistoryList(ownerId) {
this.loading = true
let { result } = await getHistoryListdApi({ ownerId })
this.totalAmount = result.totalAmount
let data = result.pageList
this.pagination.total = data.total
this.pagination.current = data.current
this.pagination.pageSize = data.size
this.dataSource = data.records
this.loading = false
},
onReturn() {
// if(this.model.lastDegrees || this.model.lastDegrees == 0) {
// this.model.useAmount = (value - Number(this.model.lastDegrees)).toFixed(2)
// this.model.totalAmount = (Number(this.model.useAmount) * this.amount).toFixed(2)
// }
//this.closeCurrent()
this.$store.dispatch('tags/delView', this.$route.path)
this.$router.go(-1)
},
},
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="业主姓名"> <a-form-item label="业主姓名">
<a-input placeholder="请输入业主姓名" v-model="queryParam.ownerName"></a-input> <j-input placeholder="请输入业主姓名" v-model="queryParam.ownerName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<a-divider type="vertical" /> <a-divider type="vertical" />
<a @click="onCallPay(record.id)">催缴</a> <a @click="onCallPay(record.id)">催缴</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a @click="handleDelete(record)">删除</a> <a @click="handleDelete(record.id)">删除</a>
</template> </template>
</span> </span>
</a-table> </a-table>
......
...@@ -43,33 +43,37 @@ ...@@ -43,33 +43,37 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="报修描述" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol" prop="repairDesc"> <a-form-model-item label="报修描述" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol"
prop="repairDesc">
<a-textarea v-model="model.repairDesc" placeholder="请输入" style="width:80%" /> <a-textarea v-model="model.repairDesc" placeholder="请输入" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="报修图片" :labelCol="{ xs:{ span: 24 }, sm:{ span: 2 } }" :wrapperCol="wrapperCol" prop="repairPhotoList"> <a-form-model-item label="报修图片" :labelCol="{ xs:{ span: 24 }, sm:{ span: 2 } }" :wrapperCol="wrapperCol"
<j-image-upload :isMultiple="true" text="点击上传" bizPath="scott/pic" v-model="model.repairPhotoList"></j-image-upload> prop="repairPhotoList">
<j-image-upload :isMultiple="true" text="点击上传" bizPath="scott/pic"
v-model="model.repairPhotoList"></j-image-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<template v-if="model.repairStatus === 'finishWaitAudit' || model.repairStatus === 'finishAuditPass'"> <template v-if="model.maintenanceName">
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="维修员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceName"> <a-form-model-item label="维修员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceName">
<a-input v-model="model.maintenanceName" placeholder="请输入"></a-input> <a-input v-model="model.maintenanceName" placeholder="请输入"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="工单状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairStatus"> <a-form-model-item label="工单状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairStatusName">
<a-input v-model="model.repairStatus" placeholder="请输入"></a-input> <a-input v-model="model.repairStatusName" placeholder="请输入"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="维修记录" :labelCol="{ xs:{ span: 24 }, sm:{ span: 2 } }" :wrapperCol="wrapperCol" prop="maintenancePhoto"> <a-form-model-item label="维修记录" :labelCol="{ xs:{ span: 24 }, sm:{ span: 2 } }" :wrapperCol="wrapperCol"
<j-image-upload :isMultiple="true" text="点击上传" bizPath="scott/pic" v-model="model.maintenancePhoto"></j-image-upload> prop="maintenancePhoto">
<j-image-upload :isMultiple="true" text="点击上传" bizPath="scott/pic"
v-model="model.maintenancePhoto"></j-image-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
...@@ -80,7 +84,8 @@ ...@@ -80,7 +84,8 @@
<a-form-model ref="form" :model="form" slot="detail"> <a-form-model ref="form" :model="form" slot="detail">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="审核意见" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol" prop="repairStatus"> <a-form-model-item label="审核意见" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol"
prop="repairStatus">
<a-select v-model="form.repairStatus" placeholder="请选择与业主关系" style="width:50%"> <a-select v-model="form.repairStatus" placeholder="请选择与业主关系" style="width:50%">
<template v-if="model.repairStatus === 'initiateWaitAudit'"> <template v-if="model.repairStatus === 'initiateWaitAudit'">
<a-select-option value="waitDispatch">审核通过</a-select-option> <a-select-option value="waitDispatch">审核通过</a-select-option>
...@@ -94,7 +99,8 @@ ...@@ -94,7 +99,8 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24" v-if="form.repairStatus === 'initiateRefuse'"> <a-col :span="24" v-if="form.repairStatus === 'initiateRefuse'">
<a-form-model-item label="驳回理由" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol" prop="auditOpinion"> <a-form-model-item label="驳回理由" :labelCol="{ xs: { span: 24 }, sm: { span: 2 } }" :wrapperCol="wrapperCol"
prop="auditOpinion">
<a-textarea v-model="form.auditOpinion" placeholder="请输入" style="width:80%" /> <a-textarea v-model="form.auditOpinion" placeholder="请输入" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -104,93 +110,117 @@ ...@@ -104,93 +110,117 @@
<div style="text-align:center"> <div style="text-align:center">
<a-button @click="onReturn">返回</a-button> <a-button @click="onReturn">返回</a-button>
<a-button style="margin-left: 16px" type="primary" v-if="!formDisabled" @click="onSubmit">提交</a-button> <a-button style="margin-left: 16px" type="primary" v-if="!formDisabled" @click="onSubmit">提交</a-button>
</div> </div>
</a-spin> </a-spin>
</div> </div>
</template> </template>
<script> <script>
import { auditCommunityRepairApi, queryCommunityRepairApi} from '@/api/api' import { auditCommunityRepairApi, queryCommunityRepairApi } from '@/api/api'
const initiatewaitAuditList = [ import { REPAIR_STATUS, filterDictTextByStatic } from '@/assets/static.js'
{title: '提交维修信息', time: ''}, const initiatewaitAuditList = [
{title: '报单待审核', time: ''}, { title: '提交维修信息', time: '' },
{title: '待派单', time: ''}, { title: '报单待审核', time: '' },
{title: '维修中', time: ''}, { title: '待派单', time: '' },
{title: '提单待审核', time: ''}, { title: '维修中', time: '' },
{title: '完成', time: ''} { title: '提单待审核', time: '' },
] { title: '完成', time: '' },
export default { ]
name: 'PropertyChargruleForm', export default {
inject:['closeCurrent'], name: 'PropertyChargruleForm',
data () { inject: ['closeCurrent'],
return { data() {
auditList: [], return {
currentStep: 1, repairStatus: REPAIR_STATUS,
model:{}, auditList: [],
form: { currentStep: 1,
repairStatus: '', model: {},
auditOpinion: '' form: {
}, repairStatus: 'waitDispatch',
labelCol: { auditOpinion: '',
xs: { span: 24 },
sm: { span: 4 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 20 },
},
confirmLoading: false,
}
},
computed: {
formDisabled(){
return this.$route.query.type === 'detail'
}, },
}, labelCol: {
created () { xs: { span: 24 },
//备份model原始值 sm: { span: 4 },
this.getDetail()
},
methods: {
async getDetail() {
this.confirmLoading = true
let {result} = await queryCommunityRepairApi({id: this.$route.query.id})
result.repairPhotoList = result.repairPhoto.split(',')
this.model = {...result}
this.confirmLoading = false
if(result.repairStatus === 'initiateWaitAudit') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
this.auditList = [...initiatewaitAuditList]
}
if(result.repairStatus === 'waitDispatch') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 2
}
if(result.repairStatus === 'waitReceive') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
initiatewaitAuditList[2].time = '派单成功待接收' + result.updateTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 2
}
}, },
onReturn() { wrapperCol: {
this.closeCurrent() xs: { span: 24 },
sm: { span: 20 },
}, },
async onSubmit() { confirmLoading: false,
let res = await auditCommunityRepairApi({
id: this.$route.query.id,
repairStatus: this.form.repairStatus,
auditOpinion: this.form.auditOpinion
})
this.$message.success(res.message);
this.closeCurrent()
}
} }
} },
computed: {
formDisabled() {
return this.$route.query.type === '1'
},
},
created() {
//备份model原始值
this.getDetail()
},
methods: {
async getDetail() {
this.confirmLoading = true
let { result } = await queryCommunityRepairApi({ id: this.$route.query.id })
result.repairPhotoList = result.repairPhoto.split(',')
this.model = { ...result }
this.confirmLoading = false
this.model.repairStatusName = filterDictTextByStatic(REPAIR_STATUS, this.model.repairStatus)
if (result.repairStatus === 'initiateWaitAudit') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
this.auditList = [...initiatewaitAuditList]
}else if (result.repairStatus === 'waitDispatch') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 2
}else if (result.repairStatus === 'waitReceive') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
initiatewaitAuditList[2].time = '派单成功待接收' + result.updateTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 2
}else if (result.repairStatus === 'inRepair') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
initiatewaitAuditList[2].time = '派单成功待接收' + result.updateTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 3
}else if (result.repairStatus === 'finishWaitAudit' || result.repairStatus === 'finishRefuse' || result.repairStatus === 'finishAuditPass') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
initiatewaitAuditList[2].time = '派单成功待接收' + result.updateTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 4
}else if (result.repairStatus === 'finish') {
initiatewaitAuditList[0].time = '提交成功' + result.createTime
initiatewaitAuditList[1].time = '审核通过' + result.initiateAuditTime
initiatewaitAuditList[2].time = '派单成功待接收' + result.updateTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 5
}else{
initiatewaitAuditList[0].time = '提交成功' + result.createTime
this.auditList = [...initiatewaitAuditList]
this.currentStep = 0
}
},
onReturn() {
this.$store.dispatch('tags/delView', this.$route.path)
this.$router.go(-1)
},
async onSubmit() {
let res = await auditCommunityRepairApi({
id: this.$route.query.id,
repairStatus: this.form.repairStatus,
auditOpinion: this.form.repairStatus === 'waitDispatch' ? '' : this.form.repairStatus,
})
this.$message.success(res.message)
this.onReturn()
},
},
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="报修单号"> <a-form-item label="报修单号">
<a-input placeholder="请输入报修单号" v-model="queryParam.id"></a-input> <j-input placeholder="请输入报修单号" v-model="queryParam.id"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="订单编号"> <a-form-item label="订单编号">
<a-input placeholder="请输入订单编号" v-model="queryParam.paymentNum"></a-input> <j-input placeholder="请输入订单编号" v-model="queryParam.paymentNum"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- <a-col :md="6" :sm="8"> <!-- <a-col :md="6" :sm="8">
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator"> <div class="table-operator">
<!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> --> <!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> -->
<a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> <!-- <a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> -->
<!-- <a-dropdown v-if="selectedRowKeys.length > 0"> <!-- <a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay"> <a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
......
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
</div> </div>
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator" :md="24" :sm="24"> <div class="table-operator" :md="24" :sm="24">
<a-button @click="handleAdd2" type="primary" icon="plus" style="margin-top: 16px">新增用户</a-button> <!-- <a-button @click="handleAdd2" type="primary" icon="plus" style="margin-top: 16px">新增用户</a-button> -->
<!--<a-button @click="handleEdit2" type="primary" icon="edit" style="margin-top: 16px">用户编辑</a-button>--> <!--<a-button @click="handleEdit2" type="primary" icon="edit" style="margin-top: 16px">用户编辑</a-button>-->
<a-button @click="handleAddUserRole" type="primary" icon="plus" style="margin-top: 16px">已有用户</a-button> <a-button @click="handleAddUserRole" type="primary" icon="plus" style="margin-top: 16px">已有用户</a-button>
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
title: '部门', title: '部门',
align: "center", align: "center",
width: 150, width: 150,
dataIndex: 'orgCode' dataIndex: 'orgCodeTxt'
} }
], ],
columns2: [ columns2: [
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<a-form-model ref="form" :model="model" :rules="validatorRules"> <a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username"> <a-form-model-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
<a-input placeholder="请输入用户账号" v-model="model.username" :readOnly="!!model.id"/> <a-input placeholder="请输入用户账号" v-model="model.username" :readOnly="!!model.id" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<template v-if="!model.id"> <template v-if="!model.id">
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</template> </template>
<a-form-model-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname"> <a-form-model-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
<a-input placeholder="请输入用户姓名" v-model="model.realname" /> <a-input placeholder="请输入用户姓名" v-model="model.realname" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<!-- <a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workNo"> <!-- <a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workNo">
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</a-form-model-item> --> </a-form-model-item> -->
<a-form-model-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone"> <a-form-model-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
<a-input placeholder="请输入手机号码" v-model="model.phone" /> <a-input placeholder="请输入手机号码" v-model="model.phone" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<!-- <a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!-- <a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<!--部门分配--> <!--部门分配-->
<a-form-model-item label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> <a-form-model-item label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
<j-select-depart v-model="model.selecteddeparts" :multi="true" @back="backDepartInfo" :backDepart="true" :treeOpera="true">></j-select-depart> <j-select-depart v-model="model.selecteddeparts" :multi="true" @back="backDepartInfo" :backDepart="true" :treeOpera="true" :disabled="disableSubmit">></j-select-depart>
</a-form-model-item> </a-form-model-item>
<!--租户分配--> <!--租户分配-->
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-model-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-image-upload class="avatar-uploader" text="上传" v-model="model.avatar" ></j-image-upload> <j-image-upload class="avatar-uploader" text="上传" v-model="model.avatar" :disabled="disableSubmit"></j-image-upload>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-model-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol">
...@@ -101,22 +101,22 @@ ...@@ -101,22 +101,22 @@
placeholder="请选择生日" placeholder="请选择生日"
v-model="model.birthday" v-model="model.birthday"
:format="dateFormat" :format="dateFormat"
:getCalendarContainer="node => node.parentNode"/> :getCalendarContainer="node => node.parentNode" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select v-model="model.sex" placeholder="请选择性别" :getPopupContainer= "(target) => target.parentNode"> <a-select v-model="model.sex" placeholder="请选择性别" :getPopupContainer= "(target) => target.parentNode" :disabled="disableSubmit">
<a-select-option :value="1"></a-select-option> <a-select-option :value="1"></a-select-option>
<a-select-option :value="2"></a-select-option> <a-select-option :value="2"></a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email"> <a-form-model-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email">
<a-input placeholder="请输入邮箱" v-model="model.email" /> <a-input placeholder="请输入邮箱" v-model="model.email" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="telephone"> <a-form-model-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="telephone">
<a-input placeholder="请输入座机" v-model="model.telephone" /> <a-input placeholder="请输入座机" v-model="model.telephone" :disabled="disableSubmit"/>
</a-form-model-item> </a-form-model-item>
<!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
roles:{}, roles:{},
// workNo:[ { required: true, message: '请输入工号' }, // workNo:[ { required: true, message: '请输入工号' },
// { validator: this.validateWorkNo }], // { validator: this.validateWorkNo }],
telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' },] //telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' },]
}, },
departIdShow:false, departIdShow:false,
title:"操作", title:"操作",
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
this.departIdShow=false; this.departIdShow=false;
} }
if(record.hasOwnProperty("id")){ if(record.id){
that.getUserRoles(record.id); that.getUserRoles(record.id);
that.getUserDeparts(record.id); that.getUserDeparts(record.id);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论