Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
total-platform
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
物业总平台
total-platform
Commits
dc46cbaa
提交
dc46cbaa
authored
6月 25, 2023
作者:
何忠建
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复bug
上级
0499b196
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
230 行增加
和
144 行删除
+230
-144
api.js
src/api/api.js
+5
-2
UserMenu.vue
src/components/tools/UserMenu.vue
+2
-2
validate.js
src/utils/validate.js
+5
-0
adsLlist.vue
src/views/advertisement/adsLlist.vue
+0
-0
PropertyAdvForm.vue
src/views/advertisement/modules/PropertyAdvForm.vue
+9
-7
CostList.vue
src/views/cost/CostList.vue
+146
-108
PropertyChargruleForm.vue
src/views/cost/modules/PropertyChargruleForm.vue
+1
-1
IndexChart.vue
src/views/dashboard/IndexChart.vue
+5
-2
PropertyDetails.vue
src/views/settled/PropertyDetails.vue
+17
-6
PropertyList.vue
src/views/settled/PropertyList.vue
+39
-15
UserRoleModal.vue
src/views/settled/modules/UserRoleModal.vue
+1
-1
没有找到文件。
src/api/api.js
浏览文件 @
dc46cbaa
...
...
@@ -117,6 +117,8 @@ const AddUpdateCostApi = (params)=>postAction("/property-central/property/proper
const
AuditUpdateCostApi
=
(
params
)
=>
postAction
(
"/property-central/property/propertyChargrule/audit"
,
params
);
const
getPropertyChargruleListApi
=
(
params
)
=>
getAction
(
"/property-central/property/propertyChargrule/propertyChargruleList"
,
params
);
const
getPropertyAdvEditApi
=
(
params
)
=>
postAction
(
"/property-central/property/propertyAdv/edit"
,
params
);
const
proPertyChargruleApi
=
(
params
)
=>
getAction
(
`/property-central/property/propertyChargrule/freezeOrThaw/
${
params
.
id
}
/
${
params
.
status
}
`
,{});
export
{
getDataStatisticsApi
,
addRole
,
...
...
@@ -180,12 +182,13 @@ export {
AddUpdatePropertyApi
,
auditPropertyApi
,
freezeOrPropertyApi
,
getCostListApi
,
getCostDetailApi
,
AddUpdateCostApi
,
AuditUpdateCostApi
,
getPropertyChargruleListApi
getPropertyChargruleListApi
,
getPropertyAdvEditApi
,
proPertyChargruleApi
}
...
...
src/components/tools/UserMenu.vue
浏览文件 @
dc46cbaa
...
...
@@ -184,8 +184,8 @@
onOk
()
{
return
that
.
Logout
({}).
then
(()
=>
{
// update-begin author:scott date:20211223 for:【JTC-198】退出登录体验不好
//
that.$router.push({ path: '/user/login' });
//
window.location.reload()
that
.
$router
.
push
({
path
:
'/user/login'
});
window
.
location
.
reload
()
// update-end author:scott date:20211223 for:【JTC-198】退出登录体验不好
}).
catch
(
err
=>
{
that
.
$message
.
error
({
...
...
src/utils/validate.js
浏览文件 @
dc46cbaa
...
...
@@ -29,3 +29,8 @@ export function isPhone (s) {
export
function
isURL
(
s
)
{
return
/^http
[
s
]?
:
\/\/
.*/
.
test
(
s
)
}
/* 校验社会统一证信号*/
export
function
validateCreditCode
(
s
)
{
return
/
[
0-9A-HJ-NPQRTUWXY
]{2}\d{6}[
0-9A-HJ-NPQRTUWXY
]{10}
/
.
test
(
s
)
}
src/views/advertisement/adsLlist.vue
浏览文件 @
dc46cbaa
差异被折叠。
点击展开。
src/views/advertisement/modules/PropertyAdvForm.vue
浏览文件 @
dc46cbaa
...
...
@@ -17,7 +17,12 @@
</a-form-model-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-model-item
label=
"广告有效时间"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"advDate"
>
<a-form-model-item
label=
"广告链接"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"advUrl"
>
<a-input
v-model=
"model.advUrl"
placeholder=
"请输入广告链接"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-model-item
label=
"广告有效期"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"advDate"
>
<a-range-picker
valueFormat=
"YYYY-MM-DD"
:placeholder=
"['广告有效开始时间', '请选择广告有效结束时间']"
v-model=
"model.advDate"
style=
"width: 100%"
/>
</a-form-model-item>
</a-col>
...
...
@@ -26,11 +31,7 @@
<j-date
placeholder=
"请选择广告有效结束时间"
v-model=
"model.advEndDate"
style=
"width: 100%"
/>
</a-form-model-item>
</a-col>
-->
<a-col
:span=
"24"
>
<a-form-model-item
label=
"广告链接"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"advUrl"
>
<a-input
v-model=
"model.advUrl"
placeholder=
"请输入广告链接"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:span=
"24"
>
<!--
<a-form-model-item
label=
"banner图"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"advImageUrl"
>
<j-upload
v-model=
"model.advImageUrl"
></j-upload>
...
...
@@ -51,7 +52,7 @@
</a-col>
<a-col
:span=
"24"
v-if=
"model.isScheduledRelease === 1"
>
<a-form-model-item
label=
"发布日期"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"releaseTime"
>
<j-date
placeholder=
"请选择发布日期"
v-model=
"model.releaseTime"
style=
"width: 100%"
/>
<j-date
placeholder=
"请选择发布日期"
v-model=
"model.releaseTime"
:show-time=
"true"
date-format=
"YYYY-MM-DD HH:mm:ss"
style=
"width: 100%"
/>
</a-form-model-item>
</a-col>
</a-row>
...
...
@@ -100,6 +101,7 @@
validatorRules
:
{
advName
:
[{
required
:
true
,
message
:
'请输入广告名称'
,
trigger
:
'blur'
}],
advImageUrl
:
[{
required
:
true
,
message
:
'请上传banner图'
,
trigger
:
'change'
}],
advDate
:
[{
required
:
true
,
message
:
'请选择广告有效期'
,
trigger
:
'change'
}],
releaseTime
:
[{
required
:
true
,
message
:
'请选择发布日期'
,
trigger
:
'change'
}]
},
url
:
{
...
...
src/views/cost/CostList.vue
浏览文件 @
dc46cbaa
...
...
@@ -29,7 +29,7 @@
<a-button
type=
"primary"
icon=
"download"
@
click=
"handleExportXls('t_property_chargrule')"
>
导出
</a-button>
<a-dropdown
v-if=
"selectedRowKeys.length > 0"
>
<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-button
style=
"margin-left: 8px"
>
批量操作
<a-icon
type=
"down"
/></a-button>
</a-dropdown>
...
...
@@ -38,28 +38,27 @@
<!-- table区域-begin -->
<div>
<div
class=
"ant-alert ant-alert-info"
style=
"margin-bottom: 16px;"
>
<i
class=
"anticon anticon-info-circle ant-alert-icon"
></i>
已选择
<a
style=
"font-weight: 600"
>
{{
selectedRowKeys
.
length
}}
</a>
项
<i
class=
"anticon anticon-info-circle ant-alert-icon"
></i>
已选择
<a
style=
"font-weight: 600"
>
{{
selectedRowKeys
.
length
}}
</a>
项
<a
style=
"margin-left: 24px"
v-if=
"selectedRowKeys.length > 0"
@
click=
"onClearSelected"
>
清空
</a>
</div>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="pagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange"
>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :pagination="pagination" :loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap"
@change="handleTableChange">
<span
slot=
"auditStatus"
slot-scope=
"text, record"
>
<span
v-if=
"record.auditStatus === 'waitAudit'"
>
待审核
</span>
<span
v-if=
"record.auditStatus === 'auditPass'"
>
审核通过
</span>
<span
v-if=
"record.auditStatus === 'refuse'"
>
审核拒绝
</span>
</span>
<span
slot=
"chargingStatus"
slot-scope=
"text, record"
>
<span
v-if=
"record.chargingStatus === 'normal'"
>
正常
</span>
<span
v-if=
"record.chargingStatus === 'freeze'"
>
冻结
</span>
</span>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a
@
click=
"handleEdit(record)"
v-if=
"record.auditStatus != 'waitAudit'"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/></a>
<a-menu
slot=
"overlay"
>
...
...
@@ -67,15 +66,21 @@
<a
@
click=
"handleDetail(record)"
>
详情
</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm
title=
"确定删除吗?"
@
confirm=
"() => handleDelete(record.id)"
>
<a>
删除
</a>
</a-popconfirm>
<a
href=
"javascript:;"
@
click=
"onChargingStatus(record)"
>
{{
record
.
chargingStatus
===
'normal'
?
'冻结'
:
'解冻'
}}
</a>
</a-menu-item>
<a-menu-item
v-if=
"record.auditStatus === 'waitAudit'"
>
<a-popconfirm
title=
"确定审核吗?"
ok-text=
"通过"
cancel-text=
"驳回"
@
cancel=
"() => handleVerify(record.id, 'notPass')"
@
confirm=
"() => handleVerify(record.id, 'auditPass')"
>
<a-popconfirm
title=
"确定审核吗?"
ok-text=
"通过"
cancel-text=
"驳回"
@
cancel=
"() => handleVerify(record.id, 'refuse')"
@
confirm=
"() => handleVerify(record.id, 'auditPass')"
>
<a>
审核
</a>
</a-popconfirm>
</a-menu-item>
<a-menu-item>
<a-popconfirm
title=
"确定删除吗?"
@
confirm=
"() => handleDelete(record.id)"
>
<a>
删除
</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
...
...
@@ -88,97 +93,129 @@
</
template
>
<
script
>
import
{
AuditUpdateCostApi
}
from
'@/api/api'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
{
filterDictTextByCache
}
from
'@/components/dict/JDictSelectUtil'
import
PropertyChargruleModal
from
'./modules/PropertyChargruleModal'
import
{
AuditUpdateCostApi
,
proPertyChargruleApi
}
from
'@/api/api'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
{
filterDictTextByCache
}
from
'@/components/dict/JDictSelectUtil'
import
PropertyChargruleModal
from
'./modules/PropertyChargruleModal'
const
columns
=
[
{
title
:
'收费名称'
,
dataIndex
:
'chargingName'
,
key
:
'chargingName'
},
{
title
:
'收费方式'
,
dataIndex
:
'chargingCycle'
,
key
:
'chargingCycle'
,
customRender
:
function
(
text
)
{
return
filterDictTextByCache
(
'chargingCycle'
,
text
);
}
},{
title
:
'授权物业数量'
,
dataIndex
:
'empowerNum'
,
key
:
'empowerNum'
},{
title
:
'添加人'
,
dataIndex
:
'createBy'
,
key
:
'createBy'
},{
title
:
'收费金额(元)'
,
dataIndex
:
'chargingMoney'
,
key
:
'chargingMoney'
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
},
{
title
:
'审核状态'
,
dataIndex
:
'auditStatus'
,
key
:
'auditStatus'
,
customRender
:
function
(
text
)
{
return
filterDictTextByCache
(
'auditStatus'
,
text
);
}
const
columns
=
[
{
title
:
'收费名称'
,
dataIndex
:
'chargingName'
,
key
:
'chargingName'
,
},
{
title
:
'收费方式'
,
dataIndex
:
'chargingCycle'
,
key
:
'chargingCycle'
,
customRender
:
function
(
text
)
{
return
filterDictTextByCache
(
'chargingCycle'
,
text
)
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
width
:
150
}
]
},
{
title
:
'授权物业数量'
,
dataIndex
:
'empowerNum'
,
key
:
'empowerNum'
,
},
{
title
:
'授权天数'
,
dataIndex
:
'empowerDays'
,
key
:
'empowerDays'
,
},
{
title
:
'添加人'
,
dataIndex
:
'createBy'
,
key
:
'createBy'
,
},
{
title
:
'收费金额(元)'
,
dataIndex
:
'chargingMoney'
,
key
:
'chargingMoney'
,
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'审核状态'
,
dataIndex
:
'auditStatus'
,
scopedSlots
:
{
customRender
:
'auditStatus'
},
key
:
'auditStatus'
,
align
:
'center'
,
},
{
title
:
'冻结状态'
,
dataIndex
:
'chargingStatus'
,
scopedSlots
:
{
customRender
:
'chargingStatus'
},
key
:
'chargingStatus'
,
align
:
'center'
,
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
width
:
150
,
},
]
export
default
{
name
:
'costListAsync'
,
components
:
{
PropertyChargruleModal
export
default
{
name
:
'costListAsync'
,
components
:
{
PropertyChargruleModal
,
},
mixins
:
[
JeecgListMixin
],
data
()
{
return
{
// 表头
columns
:
columns
,
loading
:
false
,
pagination
:
{
total
:
0
,
current
:
1
,
pageSize
:
10
,
showSizeChanger
:
true
,
},
url
:
{
list
:
'/property-central/property/propertyChargrule/list'
,
delete
:
'/property-central/property/propertyChargrule/delete'
,
deleteBatch
:
'/property-central/property/propertyChargrule/deleteBatch'
,
exportXlsUrl
:
'/property-central/property/propertyChargrule/exportXls'
,
},
dictOptions
:
[],
}
},
methods
:
{
handleVerify
(
id
,
auditStatus
)
{
AuditUpdateCostApi
({
id
,
auditStatus
,
}).
then
(()
=>
{
this
.
$message
.
success
(
`
${
auditStatus
===
'auditPass'
?
'审核成功'
:
'驳回成功'
}
`
)
this
.
loadData
()
})
},
mixins
:
[
JeecgListMixin
],
data
()
{
return
{
// 表头
columns
:
columns
,
loading
:
false
,
pagination
:
{
total
:
0
,
current
:
1
,
pageSize
:
10
,
showSizeChanger
:
true
onChargingStatus
(
record
)
{
let
that
=
this
this
.
$confirm
({
title
:
`确认
${
record
.
chargingStatus
===
'normal'
?
'冻结'
:
'解冻'
}
?`
,
closable
:
true
,
okText
:
`
${
record
.
chargingStatus
===
'normal'
?
'冻结'
:
'解冻'
}
`
,
onOk
()
{
return
proPertyChargruleApi
({
id
:
record
.
id
,
status
:
`
${
record
.
chargingStatus
===
'normal'
?
'freeze'
:
'normal'
}
`
,
}).
then
((
res
)
=>
{
that
.
searchQuery
()
})
},
url
:
{
list
:
"/property-central/property/propertyChargrule/list"
,
delete
:
'/property-central/property/propertyChargrule/delete'
,
deleteBatch
:
'/property-central/property/propertyChargrule/deleteBatch'
,
exportXlsUrl
:
"/property-central/property/propertyChargrule/exportXls"
},
dictOptions
:
[],
}
onCancel
()
{},
})
},
methods
:
{
handleVerify
(
id
,
auditStatus
)
{
AuditUpdateCostApi
({
id
,
auditStatus
}).
then
(()
=>
{
this
.
$message
.
success
(
`
${
auditStatus
===
'auditPass'
?
'审核成功'
:
'驳回成功'
}
`
);
this
.
loadData
();
})
}
}
}
},
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
@import
'~@assets/less/common.less'
;
</
style
>
\ No newline at end of file
src/views/cost/modules/PropertyChargruleForm.vue
浏览文件 @
dc46cbaa
...
...
@@ -17,7 +17,7 @@
</a-col>
<a-col
:span=
"24"
>
<a-form-model-item
label=
"授权天数"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"empowerDays"
>
<a-input
:disabled=
"model.chargingCycle !== '4'"
v-model=
"model.empowerDays"
@
blur=
"ruleNumberInput"
placeholder=
"请输入授权天数"
>
<a-input
:disabled=
"model.chargingCycle !== '4'
&& model.chargingCycle !== '5'
"
v-model=
"model.empowerDays"
@
blur=
"ruleNumberInput"
placeholder=
"请输入授权天数"
>
<div
slot=
"addonAfter"
>
天
</div>
</a-input>
</a-form-model-item>
...
...
src/views/dashboard/IndexChart.vue
浏览文件 @
dc46cbaa
...
...
@@ -35,7 +35,7 @@
<div
class=
"statistics"
>
<div
class=
"icon"
style=
"color:#52c41a;"
><a-icon
type=
"line-chart"
/></div>
<div>
<p
style=
"color:#666;margin-bottom:5px;"
>
累计
物业社区
数量
</p>
<p
style=
"color:#666;margin-bottom:5px;"
>
累计
业主
数量
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
{{
statistical
.
ownerNum
}}
<span
v-if=
"statistical.monthOwnerNum > 0"
><a-icon
type=
"arrow-up"
color=
"#1890ff"
/>
{{
statistical
.
monthOwnerNum
}}
</span>
...
...
@@ -46,7 +46,7 @@
</a-row>
<div
class=
"wait-box"
style=
"margin-bottom: 25px;"
>
<h3
class=
"box-title"
>
待处理事务(入驻待审核)
</h3>
<div
class=
"content"
>
<div
class=
"content"
v-if=
"waitAuditList.length > 0"
>
<div
class=
"item"
v-for=
"(item, index) in waitAuditList"
:key=
"index"
>
<p>
入驻物业集团名称:
{{
item
.
propertyName
}}
</p>
<p>
申请入驻小区数量:
{{
item
.
ontrialCommunityNum
}}
</p>
...
...
@@ -55,6 +55,9 @@
<a-button
type=
"primary"
size=
"small"
@
click=
"toOperation(item)"
>
审核
</a-button>
</div>
</div>
<div
class=
"content"
v-else
>
<a-empty
/>
</div>
</div>
<div
class=
"map-box"
>
...
...
src/views/settled/PropertyDetails.vue
浏览文件 @
dc46cbaa
...
...
@@ -94,9 +94,9 @@
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"
试用
小区数量"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
ontrial
CommunityNum"
>
<a-input-number
v-model=
"model.
ontrial
CommunityNum"
placeholder=
"请输入试用小区数量"
style=
"width: 100%"
/>
<a-form-model-item
label=
"
授权
小区数量"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
empower
CommunityNum"
>
<a-input-number
v-model=
"model.
empower
CommunityNum"
placeholder=
"请输入试用小区数量"
style=
"width: 100%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
...
...
@@ -139,7 +139,7 @@ const mapZoom = [5, 8, 10, 12]
let
timer
=
null
import
{
getPropertyChargruleListApi
,
getPropertyDetailApi
,
auditPropertyApi
}
from
'@/api/api'
import
{
httpAction
,
getAction
}
from
'@/api/manage'
import
{
isMobile
}
from
'@/utils/validate'
import
{
isMobile
,
validateCreditCode
}
from
'@/utils/validate'
export
default
{
name
:
'PropertySettledForm'
,
...
...
@@ -152,6 +152,14 @@ export default {
callback
(
'请输入正确的联系人电话!'
)
}
}
const
validateCode
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
&&
validateCreditCode
(
value
))
{
callback
()
}
else
{
callback
(
'社会统一信用代码输入错误'
)
}
}
return
{
title
:
''
,
pageType
:
''
,
...
...
@@ -175,7 +183,7 @@ export default {
groupInfo
:
''
,
empowerBeginDate
:
''
,
empowerEndDate
:
''
,
ontrial
CommunityNum
:
undefined
,
empower
CommunityNum
:
undefined
,
chargingStandardId
:
''
,
contractUrl
:
''
,
adminLoginName
:
''
,
...
...
@@ -194,7 +202,7 @@ export default {
confirmLoading
:
false
,
validatorRules
:
{
propertyName
:
[{
required
:
true
,
message
:
'请输入物业集团名称'
,
trigger
:
'blur'
}],
creditCode
:
[{
required
:
true
,
message
:
'请输入统一信用代码'
,
trigger
:
'blur'
}],
creditCode
:
[{
required
:
true
,
message
:
'请输入统一信用代码'
,
trigger
:
'blur'
}
,
{
validator
:
validateCode
}
],
legalName
:
[{
required
:
true
,
message
:
'请输入法人代表'
,
trigger
:
'blur'
}],
registCapital
:
[{
required
:
true
,
message
:
'请输入注册资本'
,
trigger
:
'blur'
}],
contactName
:
[{
required
:
true
,
message
:
'请输入联系人'
,
trigger
:
'blur'
}],
...
...
@@ -205,6 +213,9 @@ export default {
registAdress
:
[{
required
:
true
,
message
:
'请选择注册地址'
,
trigger
:
'change'
}],
addressInfo
:
[{
required
:
true
,
message
:
'请输入详细地址'
,
trigger
:
'blur'
}],
logoUrl
:
[{
required
:
true
,
message
:
'请上传集团LOGO'
,
trigger
:
'change'
}],
empowerBeginDate
:
[{
required
:
true
,
message
:
'请选择授权开始日期'
,
trigger
:
'change'
}],
empowerEndDate
:
[{
required
:
true
,
message
:
'请选择权结束日期'
,
trigger
:
'change'
}],
empowerCommunityNum
:
[{
required
:
true
,
message
:
'请输入授权小区数量'
,
trigger
:
'blur'
}],
chargingStandardId
:
[{
required
:
true
,
message
:
'请选择收费标准'
,
trigger
:
'change'
}],
adminLoginName
:
[{
required
:
true
,
message
:
'请输入管理员账号'
,
trigger
:
'blur'
}],
adminPassword
:
[{
required
:
true
,
message
:
'请输入管理员密码'
,
trigger
:
'blur'
}],
...
...
src/views/settled/PropertyList.vue
浏览文件 @
dc46cbaa
...
...
@@ -9,12 +9,11 @@
<a-input
placeholder=
"请输入物业名称"
v-model=
"queryParam.propertyName"
></a-input>
</a-form-item>
</a-col>
<a-col
:md=
"
6"
:sm=
"8
"
>
<a-col
:md=
"
8"
:sm=
"10
"
>
<a-form-item
label=
"入驻时间"
>
<a-
input
placeholder=
"请选择入驻时间"
v-model=
"queryParam.createTime"
></a-input
>
<a-
range-picker
@
change=
"onChange"
/
>
</a-form-item>
</a-col>
<span
style=
"float: left;overflow: hidden;"
class=
"table-page-search-submitButtons"
>
<a-col
:md=
"6"
:sm=
"24"
>
<a-button
type=
"primary"
@
click=
"searchQuery"
>
查询
</a-button>
...
...
@@ -28,7 +27,7 @@
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"propertyDetails(1)"
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-menu
slot=
"overlay"
>
<a-menu-item
key=
"1"
@
click=
"batchDel"
><a-icon
type=
"delete"
/>
删除
</a-menu-item>
...
...
@@ -49,11 +48,17 @@
:dataSource="dataSource" :pagination="pagination" :loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap"
@change="handleTableChange">
<span
slot=
"empowerEndDate"
slot-scope=
"text, record"
>
<span
v-if=
"record.empowerEndDate"
>
{{
record
.
empowerBeginDate
}}
至
{{
record
.
empowerEndDate
}}
</span>
</span>
<span
slot=
"propertyStatus"
slot-scope=
"text, record"
>
<span>
{{
record
.
propertyStatus
===
'normal'
?
'正常'
:
'冻结'
}}
</span>
</span>
<span
slot=
"expirationStatus"
slot-scope=
"text, record"
>
<a-tag>
{{
record
.
expirationStatus
===
'notStarted'
?
'未开始'
:
record
.
expirationStatus
===
'normal'
?
'正常'
:
record
.
expirationStatus
===
'soonExpired'
?
'即将到期'
:
record
.
expirationStatus
===
'expire'
?
'已过期'
:
''
}}
</a-tag>
</span>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"propertyDetails(2, record.id)"
>
编辑
</a>
<a
@
click=
"propertyDetails(2, record.id)"
v-if=
"record.auditStatus != 'waitAudit'"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
<a-dropdown>
...
...
@@ -61,7 +66,7 @@
更多
<a-icon
type=
"down"
/>
</a>
<a-menu
slot=
"overlay"
>
<a-menu-item
v-if=
"record.auditStatus
!== 'waitAudit
'"
>
<a-menu-item
v-if=
"record.auditStatus
=== 'auditPass
'"
>
<a
@
click=
"handlePerssion(record.roleId)"
>
授权
</a>
</a-menu-item>
<a-menu-item>
...
...
@@ -70,7 +75,7 @@
<a-menu-item
v-if=
"record.auditStatus === 'waitAudit'"
>
<a
href=
"javascript:;"
@
click=
"propertyDetails(3, record.id)"
>
审核
</a>
</a-menu-item>
<a-menu-item>
<a-menu-item
v-if=
"record.auditStatus === 'auditPass'"
>
<a
href=
"javascript:;"
@
click=
"onStatus(record)"
>
{{
record
.
propertyStatus
===
'normal'
?
'冻结'
:
'解冻'
}}
</a>
</a-menu-item>
...
...
@@ -106,31 +111,37 @@ const columns = [
title
:
'物业名称'
,
dataIndex
:
'propertyName'
,
key
:
'propertyName'
,
align
:
'center'
,
},
{
title
:
'统一社会信用代码'
,
dataIndex
:
'creditCode'
,
key
:
'creditCode'
,
align
:
'center'
,
},
{
title
:
'联系人'
,
dataIndex
:
'contactName'
,
key
:
'contactName'
,
align
:
'center'
,
},
{
title
:
'电话'
,
dataIndex
:
'contactPhone'
,
key
:
'contactPhone'
,
align
:
'center'
,
},
{
title
:
'授权时间'
,
dataIndex
:
'empowerDate'
,
key
:
'empowerDate'
,
dataIndex
:
'empowerEndDate'
,
scopedSlots
:
{
customRender
:
'empowerEndDate'
},
align
:
'center'
,
},
{
title
:
'授权物业数量'
,
dataIndex
:
'ontrialCommunityNum'
,
key
:
'ontrialCommunityNum'
,
title
:
'授权小区数量'
,
dataIndex
:
'empowerCommunityNum'
,
key
:
'empowerCommunityNum'
,
align
:
'center'
,
},
{
title
:
'审核状态'
,
...
...
@@ -142,20 +153,24 @@ const columns = [
},
{
title
:
'到期提示'
,
dataIndex
:
'ontrialEndDate'
,
key
:
'ontrialEndDate'
,
dataIndex
:
'expirationStatus'
,
scopedSlots
:
{
customRender
:
'expirationStatus'
},
key
:
'expirationStatus'
,
align
:
'center'
,
},
{
title
:
'状态'
,
title
:
'
冻结
状态'
,
dataIndex
:
'propertyStatus'
,
scopedSlots
:
{
customRender
:
'propertyStatus'
},
key
:
'propertyStatus'
,
align
:
'center'
,
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
fixed
:
'right'
,
width
:
150
,
},
]
...
...
@@ -213,6 +228,15 @@ export default {
this
.
handleDetail
(
record
)
}
},
onChange
(
date
,
dateString
)
{
if
(
dateString
.
length
>
0
)
{
this
.
queryParam
.
createTime_begin
=
dateString
[
0
]
this
.
queryParam
.
createTime_end
=
dateString
[
1
]
}
else
{
this
.
queryParam
.
createTime_begin
=
''
this
.
queryParam
.
createTime_end
=
''
}
},
onExamine
(
record
)
{
let
that
=
this
this
.
$confirm
({
...
...
src/views/settled/modules/UserRoleModal.vue
浏览文件 @
dc46cbaa
...
...
@@ -72,7 +72,7 @@
expandedKeysss
:[],
allTreeKeys
:[],
autoExpandParent
:
true
,
checkStrictly
:
tru
e
,
checkStrictly
:
fals
e
,
title
:
"物业权限配置"
,
visible
:
false
,
loading
:
false
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论