Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
shops
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
物业总平台
shops
Commits
ec807fc5
提交
ec807fc5
authored
9月 01, 2023
作者:
赵明
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
联调更新
上级
88901a12
全部展开
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
254 行增加
和
713 行删除
+254
-713
package.json
package.json
+1
-1
api.js
src/api/api.js
+4
-3
static.js
src/assets/static.js
+13
-7
cellList.vue
src/views/cell/cellList.vue
+0
-237
NoticeForm.vue
src/views/cell/modules/NoticeForm.vue
+0
-0
NoticeModal.vue
src/views/cell/modules/NoticeModal.vue
+0
-84
CommunityLlist.vue
src/views/community/CommunityLlist.vue
+106
-0
Analysis.vue
src/views/dashboard/Analysis.vue
+9
-9
IndexChart.vue
src/views/dashboard/IndexChart.vue
+0
-0
payment.vue
src/views/paymentorder/payment/payment.vue
+22
-44
paymentDetail.vue
src/views/paymentorder/payment/paymentDetail.vue
+89
-45
PropertyDetail.vue
src/views/settled/PropertyDetail.vue
+0
-218
PropertyList.vue
src/views/settled/PropertyList.vue
+0
-0
PropertySettledForm.vue
src/views/settled/modules/PropertySettledForm.vue
+0
-0
PropertySettledModal.vue
src/views/settled/modules/PropertySettledModal.vue
+0
-61
reconciliationList.vue
src/views/settlement/reconciliation/reconciliationList.vue
+5
-2
settlementList.vue
src/views/settlement/settlements/settlementList.vue
+4
-2
IndexChart.vue
src/views/statistical/IndexChart.vue
+0
-0
vue.config.js
vue.config.js
+1
-0
没有找到文件。
package.json
浏览文件 @
ec807fc5
{
{
"name"
:
"
vue-antd-jeecg
"
,
"version"
:
"3.4.3"
,
"private"
:
true
,
...
...
src/api/api.js
浏览文件 @
ec807fc5
...
...
@@ -4,7 +4,7 @@ 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
homeDataStatistics
=
(
params
)
=>
getAction
(
"/
property-central/shop/shopInfo/getIndexSta
"
,
params
);
const
companyNoticeList
=
(
params
)
=>
getAction
(
"/property-company/notice/companyNotice/list"
,
params
);
// 报表统计
...
...
@@ -116,7 +116,7 @@ function getDictItemsFromCache(dictCode) {
return
dictItems
;
}
}
const
getPropertyDetailApi
=
(
params
)
=>
getAction
(
"/property-community/order/paymentOrder/queryById"
,
params
);
//分利-申请对账
const
settlementApi
=
(
params
)
=>
postAction
(
"/property-central/partners/shareBenefit/reconciliation"
,
params
);
//分利-对账详情
...
...
@@ -234,7 +234,8 @@ export {
auditCommunityComplaintApi
,
settlementApi
,
settlementDetailApi
,
shareBalanceByDepId
shareBalanceByDepId
,
getPropertyDetailApi
}
...
...
src/assets/static.js
浏览文件 @
ec807fc5
...
...
@@ -58,16 +58,22 @@ export const COMPLAINT_STATUS = [
]
// 订单状态
export
const
ORDER_STATUS
=
[
{
label
:
'已付款'
,
value
:
1
},
{
label
:
'退款驳回'
,
value
:
2
},
{
label
:
'退款待审核'
,
value
:
3
},
{
label
:
'已退款'
,
value
:
4
},
{
label
:
'已完成'
,
value
:
5
}
{
label
:
'已付款'
,
value
:
'paid'
},
{
label
:
'退款待审核'
,
value
:
'refundWaitAudit'
},
{
label
:
'退款驳回'
,
value
:
'refundReject'
},
{
label
:
'退款中'
,
value
:
'refundRunning'
},
{
label
:
'已退款'
,
value
:
'refunded'
}
]
// 订单来源
export
const
PAYTYPE
=
[
{
label
:
'业主支付'
,
value
:
'owner'
},
{
label
:
'游客'
,
value
:
'noowner'
},
]
// 支付方式
export
const
PAYMENT_METOD
=
[
{
label
:
'未支付'
,
value
:
1
},
{
label
:
'微信'
,
value
:
2
},
{
label
:
'未支付'
,
value
:
null
},
{
label
:
'微信'
,
value
:
'wechat'
},
{
label
:
'小程序'
,
value
:
'miniapp'
},
]
//对账状态
export
const
RECONCILIATION_STATUS
=
[
...
...
src/views/cell/cellList.vue
deleted
100644 → 0
浏览文件 @
88901a12
<
template
>
<a-card
:bordered=
"false"
>
<!-- 查询区域 -->
<div
class=
"table-page-search-wrapper"
>
<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.communityName"
></j-input>
</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>
<a-button
style=
"margin-left: 8px"
@
click=
"searchReset"
>
重置
</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"handleAdd"
type=
"primary"
icon=
"plus"
>
新增
</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=
"batchDels"
>
<a-icon
type=
"delete"
/>
删除关联
</a-menu-item>
</a-menu>
<a-button
style=
"margin-left: 8px"
>
批量操作
<a-icon
type=
"down"
/>
</a-button>
</a-dropdown>
</div>
<!-- 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>
项
<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="communityCode"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange"
>
<span
slot=
"empowerDate"
slot-scope=
"text, record"
>
<span>
{{
record
.
empowerBeginDate
}}
至
{{
record
.
empowerEndDate
}}
</span>
</span>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"showDeleteConfirm(record)"
>
删除关联
</a>
</span>
<!-- 字符串超长截取省略号显示 -->
<span
slot=
"url"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
:length=
"25"
/>
</span>
<!-- 字符串超长截取省略号显示-->
<span
slot=
"component"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
/>
</span>
</a-table>
</div>
<!-- table区域-end -->
<notice-modal
ref=
"modalForm"
@
ok=
"modalFormOk"
></notice-modal>
<!-- 删除关联 -->
</a-card>
</
template
>
<
script
>
// import { getPropertyListApi, getSystemSubmenu, getSystemSubmenuBatch } from '@/api/api'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
NoticeModal
from
'./modules/NoticeModal'
import
{
deleteAction
}
from
'@/api/manage'
import
{
filterDictTextByCache
}
from
'@/components/dict/JDictSelectUtil'
const
columns
=
[
{
title
:
'小区名称'
,
dataIndex
:
'communityName'
,
key
:
'communityName'
,
align
:
'center'
},
{
title
:
'所属区域'
,
dataIndex
:
'communityArea'
,
key
:
'communityArea'
,
align
:
'center'
},
{
title
:
'占地面积(㎡)'
,
dataIndex
:
'coverArea'
,
key
:
'coverArea'
,
align
:
'center'
},
{
title
:
'总栋数'
,
dataIndex
:
'buildingNum'
,
key
:
'buildingNum'
,
align
:
'center'
},
{
title
:
'房屋数量'
,
dataIndex
:
'houseNum'
,
key
:
'houseNum'
,
align
:
'center'
},
{
title
:
'联系人'
,
dataIndex
:
'adminName'
,
key
:
'adminName'
,
align
:
'center'
},
{
title
:
'联系方式'
,
dataIndex
:
'adminPhone'
,
key
:
'adminPhone'
,
align
:
'center'
},
{
title
:
'创建时间'
,
dataIndex
:
'updateTime'
,
key
:
'updateTime'
,
align
:
'center'
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
width
:
150
}
]
export
default
{
name
:
'PermissionListAsync'
,
mixins
:
[
JeecgListMixin
],
components
:
{
NoticeModal
},
data
()
{
return
{
// 表头
columns
:
columns
,
deteleId
:
''
,
url
:
{
list
:
"/property-central/shop/shopCommunity/getShopCommunity"
,
delete
:
'/property-central/shop/shopCommunity/deleteByCommunityCode'
,
deleteBatch
:
'/property-central/shop/shopCommunity/deleteBatch'
},
}
},
methods
:
{
handlePerssion
(
roleId
)
{
this
.
$refs
.
modalUserRole
.
show
(
roleId
);
},
showDeleteConfirm
(
record
)
{
var
that
=
this
;
this
.
$confirm
({
title
:
'确定是否删除关联小区?'
,
okText
:
'删除'
,
okType
:
'danger'
,
cancelText
:
'否'
,
onOk
()
{
return
deleteAction
(
that
.
url
.
delete
,
{
communityCode
:
record
.
communityCode
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
that
.
$message
.
success
(
res
.
message
)
that
.
searchQuery
()
}
})
},
onCancel
()
{
console
.
log
(
'Cancel'
);
},
});
},
batchDels
()
{
if
(
this
.
selectedRowKeys
.
length
<=
0
)
{
this
.
$message
.
warning
(
'请选择一条记录!'
);
return
;
}
else
{
var
ids
=
""
;
for
(
var
a
=
0
;
a
<
this
.
selectedRowKeys
.
length
;
a
++
)
{
ids
+=
this
.
selectedRowKeys
[
a
]
+
","
;
}
var
that
=
this
;
this
.
$confirm
({
title
:
"确认删除"
,
content
:
"是否删除选中数据?"
,
onOk
:
function
()
{
that
.
loading
=
true
;
deleteAction
(
that
.
url
.
deleteBatch
,
{
communityCodes
:
ids
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
//重新计算分页问题
that
.
reCalculatePage
(
that
.
selectedRowKeys
.
length
)
that
.
$message
.
success
(
res
.
message
);
that
.
loadData
();
that
.
onClearSelected
();
}
else
{
that
.
$message
.
warning
(
res
.
message
);
}
}).
finally
(()
=>
{
that
.
loading
=
false
;
});
}
});
}
}
}
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
</
style
>
src/views/cell/modules/NoticeForm.vue
deleted
100644 → 0
浏览文件 @
88901a12
差异被折叠。
点击展开。
src/views/cell/modules/NoticeModal.vue
deleted
100644 → 0
浏览文件 @
88901a12
<
template
>
<j-modal
:title=
"title"
:width=
"width"
:visible=
"visible"
switchFullscreen
@
ok=
"handleOk"
:okButtonProps=
"
{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<a-button
class=
"bbtn"
@
click=
"updateCurrentDepart"
>
小区查找
</a-button>
<property-settled-form
ref=
"realForm"
@
ok=
"submitCallback"
:disabled=
"disableSubmit"
></property-settled-form>
<login-switch-house
ref=
"loginSelect"
:closable=
"true"
title=
"小区查找"
@
success=
"loginSelectOk"
></login-switch-house>
</j-modal>
</
template
>
<
script
>
import
PropertySettledForm
from
'./NoticeForm'
import
{
httpAction
,
getAction
}
from
'@/api/manage'
import
LoginSwitchHouse
from
'@/components/tools/LoginSwitchHouse'
export
default
{
name
:
'PropertySettledModal'
,
components
:
{
PropertySettledForm
,
LoginSwitchHouse
},
data
()
{
return
{
title
:
''
,
width
:
'70%'
,
visible
:
false
,
disableSubmit
:
true
}
},
methods
:
{
add
()
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
add
();
})
},
async
updateCurrentDepart
(){
let
{
result
}
=
await
getAction
(
'/property-company/community/companyCommunity/getList'
,{
})
this
.
$refs
.
loginSelect
.
show
(
result
)
},
loginSelectOk
(
res
)
{
this
.
$refs
.
realForm
.
edit
(
res
);
},
edit
(
record
)
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
edit
(
record
);
})
},
close
()
{
this
.
$emit
(
'close'
);
this
.
visible
=
false
;
},
handleOk
()
{
this
.
$refs
.
realForm
.
submitForm
();
},
submitCallback
(){
this
.
$emit
(
'ok'
);
this
.
visible
=
false
;
},
handleCancel
()
{
this
.
close
()
}
}
}
</
script
>
<
style
lang=
"less"
>
.bbtn{
position: absolute;
right: 120px;
top: 12px;
z-index: 333;
}
</
style
>
\ No newline at end of file
src/views/community/CommunityLlist.vue
0 → 100644
浏览文件 @
ec807fc5
<!--
* @Author: zm
* @Date: 2023-08-20 10:54:31
* @Descripttion:
-->
<
template
>
<a-card
:bordered=
"false"
>
<!-- 查询区域 -->
<div
class=
"table-page-search-wrapper"
>
<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.balanceNum"
></j-input>
</a-form-item>
</a-col>
<a-col
:md=
"4"
:sm=
"8"
>
<a-form-item
label=
"订单时间:"
>
<a-date-picker
placeholder=
"订单时间"
valueFormat=
"YYYY-MM-DD 00:00:00"
v-model=
"queryParam.balanceDate"
></a-date-picker>
</a-form-item>
<span
slot=
"balanceStatus"
slot-scope=
"text, record"
>
<a-tag
v-if=
"record.balanceStatus === 1"
>
未对账
</a-tag>
<a-tag
v-else-if=
"record.balanceStatus === 2"
>
对账待审核
</a-tag>
<a-tag
v-else-if=
"record.balanceStatus === 3"
>
已对账
</a-tag>
<a-tag
v-else-if=
"record.balanceStatus === 4"
>
对账驳回
</a-tag>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- table区域-begin -->
<div>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
@change="handleTableChange">
</a-table>
</div>
</a-card>
</
template
>
<
script
>
import
{
mixinDevice
}
from
'@/utils/mixin'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
export
default
{
name
:
'CommunityLlist'
,
mixins
:
[
JeecgListMixin
,
mixinDevice
],
data
()
{
return
{
columns
:
[
{
title
:
'序号'
,
align
:
'center'
,
dataIndex
:
'num'
,
},
{
title
:
'结算单号'
,
align
:
'center'
,
dataIndex
:
'balanceNum'
,
},
{
title
:
'提交时间'
,
align
:
'center'
,
dataIndex
:
'balanceDate'
,
},
{
title
:
'提交人'
,
align
:
'center'
,
dataIndex
:
'createBy'
,
},
{
title
:
'结算总金额'
,
align
:
'center'
,
dataIndex
:
'balanceMoney'
,
},
{
title
:
'结算方式'
,
align
:
'center'
,
dataIndex
:
'balanceWay'
,
},
{
title
:
'结算状态'
,
align
:
'center'
,
dataIndex
:
'balanceStatus'
,
scopedSlots
:
{
customRender
:
'balanceStatus'
},
key
:
'balanceStatus'
,
},
{
title
:
'备注'
,
dataIndex
:
'remarks'
,
align
:
'center'
,
},
],
dataSource
:
[],
url
:
{
list
:
'/property-central/partners/shareBalance/list?balanceStatus=3'
,
},
}
},
methods
:
{},
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
</
style
>
src/views/dashboard/Analysis.vue
浏览文件 @
ec807fc5
...
...
@@ -7,9 +7,9 @@
<!--
<img
class=
"icon"
src=
"~@/assets/guaz.png"
alt=
""
>
-->
<div>
<p
style=
"color:#666;margin-bottom:5px;"
>
关联小区数量
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
{{
pageForm
.
roomNu
m
}}
</p>
<span
v-if=
"pageForm.
roomNu
m > 0"
><a-icon
type=
"arrow-up"
color=
"#1890ff"
/>
{{
pageForm
.
pageFor
m
}}
</span>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
{{
pageForm
.
bindCo
m
}}
</p>
<span
v-if=
"pageForm.
bindCo
m > 0"
><a-icon
type=
"arrow-up"
color=
"#1890ff"
/>
{{
pageForm
.
bindCo
m
}}
</span>
</div>
</div>
</a-col>
...
...
@@ -18,7 +18,7 @@
<div
class=
"icon"
style=
"background-color:#7262fd;"
><a-icon
type=
"bar-chart"
/></div>
<div>
<p
style=
"color:#666;margin-bottom:5px;"
>
累积交易金额
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
roomNum
}}
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
totalMoney
}}
</p>
</div>
</div>
</a-col>
...
...
@@ -27,7 +27,7 @@
<div
class=
"icon"
style=
"background-color:#ffaa00;"
><a-icon
type=
"bar-chart"
/></div>
<div>
<p
style=
"color:#666;margin-bottom:5px;"
>
待对账金额
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
buildingNum
}}
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
notBalance
}}
</p>
</div>
</div>
</a-col>
...
...
@@ -36,7 +36,7 @@
<div
class=
"icon"
style=
"background-color:#52c41a;"
><a-icon
type=
"pay-circle"
/></div>
<div>
<p
style=
"color:#666;margin-bottom:5px;"
>
待结算金额
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
propertyYearFee
}}
</p>
<p
style=
"margin-bottom:0;color:#333;font-size:28px;line-height:1;"
>
¥
{{
pageForm
.
notBenefit
}}
</p>
</div>
</div>
</a-col>
...
...
@@ -113,7 +113,7 @@ export default {
},
methods
:
{
async
onDetail
(
typeCode
)
{
let
{
result
}
=
await
homeDataStatistics
({
typeCode
:
typeCode
})
let
{
result
}
=
await
homeDataStatistics
({
})
this
.
pageForm
=
{
...
result
}
this
.
loading
=
!
this
.
loading
},
...
...
@@ -128,11 +128,11 @@ export default {
this
.
clickQRcode
()
}
else
if
(
type
==
2
)
{
this
.
$router
.
push
({
path
:
'/
information/owner
'
,
path
:
'/
paymentorder/payment
'
,
})
}
else
if
(
type
==
3
)
{
this
.
$router
.
push
({
path
:
'/
information/house
'
,
path
:
'/
settlement/SettlementDetails?type=add
'
,
})
}
else
if
(
type
==
4
)
{
this
.
$router
.
push
({
...
...
src/views/dashboard/IndexChart.vue
浏览文件 @
ec807fc5
差异被折叠。
点击展开。
src/views/paymentorder/payment/payment.vue
浏览文件 @
ec807fc5
...
...
@@ -6,12 +6,12 @@
<a-row
:gutter=
"24"
>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"输入搜索"
>
<j-input
placeholder=
"订单编号/商品货号"
v-model=
"queryParam.
id
"
></j-input>
<j-input
placeholder=
"订单编号/商品货号"
v-model=
"queryParam.
orderNo
"
></j-input>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"收货人"
>
<j-input
placeholder=
"收货人"
v-model=
"queryParam.
userAccount
"
></j-input>
<j-input
placeholder=
"收货人"
v-model=
"queryParam.
ownerName
"
></j-input>
</a-form-item>
</a-col>
<a-col
:md=
"7"
:sm=
"10"
>
...
...
@@ -34,10 +34,9 @@
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
@change="handleTableChange">
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"onDetail(record.id, 'detail')"
>
详情
</a>
<template
v-if=
"
record.orderStatus === 1
"
>
<template
v-if=
"
(record.orderStatus === 'paid'|| record.orderStatus === 'refundReject')&& record.canRefund === 'can'
"
>
<a-divider
type=
"vertical"
/>
<a
@
click=
"onDetail(record.id, 'audit')"
>
申请退款
</a>
</
template
>
...
...
@@ -50,15 +49,15 @@
<
script
>
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
{
ORDER_STATUS
,
PAYMENT_METOD
,
filterDictTextByStatic
}
from
'@/assets/static.js'
import
{
PAYTYPE
,
ORDER_STATUS
,
PAYMENT_METOD
,
filterDictTextByStatic
}
from
'@/assets/static.js'
// import NoticeModal from "@views/property/property/modules/NoticeModal.vue";
// import CPopupOnlReport from "@comp/custom/modal/JPopupOnlReport.vue";
const
columns
=
[
{
title
:
'订单编号'
,
dataIndex
:
'
id
'
,
key
:
'
id
'
,
dataIndex
:
'
orderNo
'
,
key
:
'
orderNo
'
,
align
:
'center'
,
},
{
...
...
@@ -69,8 +68,8 @@ const columns = [
},
{
title
:
'用户账号'
,
dataIndex
:
'
userAccount
'
,
key
:
'
userAccount
'
,
dataIndex
:
'
ownerName
'
,
key
:
'
ownerName
'
,
align
:
'center'
,
},
{
...
...
@@ -81,8 +80,8 @@ const columns = [
},
{
title
:
'支付方式'
,
dataIndex
:
'pay
mentMethod
'
,
key
:
'pay
mentMethod
'
,
dataIndex
:
'pay
Source
'
,
key
:
'pay
Source
'
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
PAYMENT_METOD
,
text
);
...
...
@@ -90,9 +89,12 @@ const columns = [
},
{
title
:
'订单来源'
,
dataIndex
:
'
orderSourc
e'
,
key
:
'
orderSourc
e'
,
dataIndex
:
'
payTyp
e'
,
key
:
'
payTyp
e'
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
PAYTYPE
,
text
);
}
},
{
title
:
'订单状态'
,
...
...
@@ -105,20 +107,20 @@ const columns = [
},
{
title
:
'退款说明'
,
dataIndex
:
'refund
Instruction
s'
,
key
:
'refund
Instruction
s'
,
dataIndex
:
'refund
De
s'
,
key
:
'refund
De
s'
,
align
:
'center'
,
},
{
title
:
'所属平台'
,
dataIndex
:
'
ownPlatform
'
,
key
:
'
ownPlatform
'
,
dataIndex
:
'
propertyName
'
,
key
:
'
propertyName
'
,
align
:
'center'
,
},
{
title
:
'所属小区'
,
dataIndex
:
'
proper
tyName'
,
key
:
'
proper
tyName'
,
dataIndex
:
'
communi
tyName'
,
key
:
'
communi
tyName'
,
align
:
'center'
,
},
{
...
...
@@ -143,33 +145,9 @@ export default {
showSizeChanger
:
true
,
},
url
:
{
list
:
'/property-c
entral/property/communityReconciliation/list
'
,
list
:
'/property-c
ommunity/order/paymentOrder/list?platformType=shop
'
,
},
dataSource
:[
{
id
:
1
,
userAccount
:
'admin'
,
orderAmount
:
100
,
orderSource
:
'微信'
,
paymentMethod
:
1
,
orderStatus
:
1
,
refundInstructions
:
'退款说明'
,
ownPlatform
:
'微信'
,
propertyName
:
'小区名称'
,
createTime
:
'2018-01-01'
},
{
id
:
2
,
userAccount
:
'admin'
,
orderAmount
:
100
,
orderSource
:
'微信'
,
paymentMethod
:
1
,
orderStatus
:
1
,
refundInstructions
:
'退款说明'
,
ownPlatform
:
'微信'
,
propertyName
:
'小区名称'
,
createTime
:
'2018-01-01'
},
]
}
},
...
...
src/views/paymentorder/payment/paymentDetail.vue
浏览文件 @
ec807fc5
<
template
>
<a-spin
:spinning=
"confirmLoading"
>
<div
class=
"title-top"
>
<h3>
当前订单状态:
{{
status
(
dataSource
[
0
].
orderStatus
)
}}
</h3>
<div
class=
"title-top"
v-if=
"dataSource.length > 0"
>
<h3>
当前订单状态:
{{
status
(
dataSource
)
}}
</h3>
<div
class=
"button"
>
<a-button
@
click=
"onCancel"
>
返回
</a-button>
<a-button
type=
"danger"
@
click=
"onExamine(2)"
v-if=
"pageType == 'audit'"
>
退款
</a-button>
...
...
@@ -21,17 +21,33 @@
<a-card
title=
"操作信息"
>
<a-row>
<div>
<a-table
ref=
"table"
size=
"middle"
bordered
:columns=
"columns2"
:pagination=
"false"
<a-table
ref=
"table"
size=
"middle"
bordered
:columns=
"columns2"
:pagination=
"false"
rowKey=
"id"
:dataSource=
"dataSource"
:loading=
"loading"
class=
"j-table-force-nowrap"
>
<span
slot=
"paymentStatus"
slot-scope=
"text, record"
>
<template
v-if=
"record.paymentStatus === 'success'"
>
成功
</
template
>
</span>
</a-table>
</div>
</a-row>
</a-card>
<!-- table区域-end -->
<a-modal
centered
title=
"退款确认"
:visible=
"visible"
:confirm-loading=
"confirmLoadings"
@
ok=
"handleOk"
@
cancel=
"handleCancel"
width=
"60%"
>
<a-form>
<a-row>
<a-col
:span=
"24"
>
<a-form-model-item
label=
"退款备注"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
style=
"width: 100%;"
>
<a-textarea
v-model=
"model.refundDes"
:auto-size=
"{ minRows: 4, maxRows: 6 }"
/>
</a-form-model-item>
</a-col>
</a-row>
</a-form>
</a-modal>
</a-spin>
</template>
<
script
>
import
{
filterDictTextByStatic
,
ORDER_STATUS
,
PAYMENT_METOD
}
from
"@assets/static"
;
import
{
PAYTYPE
,
ORDER_STATUS
,
PAYMENT_METOD
,
filterDictTextByStatic
}
from
'@/assets/static.js'
const
mapZoom
=
[
5
,
8
,
10
,
12
]
let
timer
=
null
...
...
@@ -43,32 +59,32 @@ import { isMobile, validateCreditCode } from '@/utils/validate'
const
columns
=
[
{
title
:
'订单编号'
,
dataIndex
:
'
id
'
,
key
:
'
id
'
,
dataIndex
:
'
orderNo
'
,
key
:
'
orderNo
'
,
align
:
'center'
,
},
{
title
:
'所属小区'
,
dataIndex
:
'
proper
tyName'
,
key
:
'
proper
tyName'
,
dataIndex
:
'
communi
tyName'
,
key
:
'
communi
tyName'
,
align
:
'center'
,
},
{
title
:
'业主名称'
,
dataIndex
:
'
user
Name'
,
key
:
'
user
Name'
,
dataIndex
:
'
partners
Name'
,
key
:
'
partners
Name'
,
align
:
'center'
,
},
{
title
:
'用户账号'
,
dataIndex
:
'
userAccount
'
,
key
:
'
userAccount
'
,
dataIndex
:
'
ownerName
'
,
key
:
'
ownerName
'
,
align
:
'center'
,
},
{
title
:
'支付方式'
,
dataIndex
:
'pay
mentMethod
'
,
key
:
'pay
mentMethod
'
,
dataIndex
:
'pay
Source
'
,
key
:
'pay
Source
'
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
PAYMENT_METOD
,
text
);
...
...
@@ -76,9 +92,12 @@ const columns = [
},
{
title
:
'订单来源'
,
dataIndex
:
'
orderSourc
e'
,
key
:
'
orderSourc
e'
,
dataIndex
:
'
payTyp
e'
,
key
:
'
payTyp
e'
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
PAYTYPE
,
text
);
}
}
]
const
columns2
=
[
...
...
@@ -90,8 +109,8 @@ const columns2 = [
},
{
title
:
'操作时间'
,
dataIndex
:
'cre
ditCod
e'
,
key
:
'cre
ditCod
e'
,
dataIndex
:
'cre
ateTim
e'
,
key
:
'cre
ateTim
e'
,
align
:
'center'
,
},
{
...
...
@@ -106,13 +125,14 @@ const columns2 = [
{
title
:
'付款状态'
,
dataIndex
:
'paymentStatus'
,
scopedSlots
:
{
customRender
:
'paymentStatus'
},
key
:
'paymentStatus'
,
align
:
'center'
,
},
{
title
:
'备注'
,
dataIndex
:
'refund
Instruction
s'
,
key
:
'refund
Instruction
s'
,
dataIndex
:
'refund
De
s'
,
key
:
'refund
De
s'
,
align
:
'center'
,
}
]
...
...
@@ -125,31 +145,36 @@ export default {
title
:
''
,
pageType
:
''
,
confirmLoading
:
false
,
confirmLoadings
:
false
,
costList
:
[],
mapRef
:
null
,
visible
:
false
,
model
:{
refundDes
:
''
,
id
:
''
},
url
:
{
refundOrder
:
'/property-community/order/paymentOrder/refundOrder'
},
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
6
},
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
16
},
},
columns
:
columns
,
columns2
:
columns2
,
loading
:
false
,
dataSource
:
[
{
id
:
1
,
userAccount
:
'admin'
,
orderAmount
:
100
,
orderSource
:
'微信'
,
paymentMethod
:
1
,
orderStatus
:
1
,
refundInstructions
:
'退款说明'
,
ownPlatform
:
'微信'
,
propertyName
:
'小区名称'
,
createTime
:
'2018-01-01'
},
]
}
},
created
()
{
this
.
pageType
=
this
.
$route
.
query
.
type
this
.
getPageDetail
()
},
methods
:
{
async
onLoadCostList
()
{
...
...
@@ -158,25 +183,44 @@ export default {
},
async
getPageDetail
()
{
let
{
result
}
=
await
getPropertyDetailApi
({
id
:
this
.
$route
.
query
.
id
})
this
.
edit
(
result
)
if
(
result
.
provinceName
)
{
this
.
getLongitude
(
result
.
provinceName
,
result
.
provinceName
+
result
.
cityName
+
result
.
countyName
+
result
.
addressInfo
,
mapZoom
[
3
]
)
}
this
.
dataSource
.
push
(
result
)
},
status
(
text
){
return
filterDictTextByStatic
(
ORDER_STATUS
,
text
);
if
(
text
){
return
filterDictTextByStatic
(
ORDER_STATUS
,
text
[
0
].
orderStatus
);
}
},
onCancel
()
{
this
.
closeCurrent
()
},
onExamine
(
type
)
{
this
.
visible
=
true
this
.
model
.
id
=
this
.
$route
.
query
.
id
},
handleOk
(
e
)
{
const
that
=
this
this
.
confirmLoadings
=
true
let
method
=
'post'
httpAction
(
this
.
url
.
refundOrder
,
this
.
model
,
method
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
that
.
$message
.
success
(
res
.
message
)
that
.
$emit
(
'ok'
)
}
else
{
that
.
$message
.
warning
(
res
.
message
)
}
this
.
closeCurrent
()
this
.
visible
=
false
this
.
confirmLoadings
=
false
this
.
model
=
{}
})
.
finally
(()
=>
{
that
.
confirmLoadings
=
false
})
},
handleCancel
(
e
)
{
this
.
visible
=
false
},
loadData
()
{
console
.
log
(
'不请求'
)
...
...
src/views/settled/PropertyDetail.vue
deleted
100644 → 0
浏览文件 @
88901a12
<
template
>
<a-card
:bordered=
"false"
>
<!-- 查询区域 -->
<div
class=
"table-page-search-wrapper"
>
<a-form
layout=
"inline"
@
keyup
.
enter
.
native=
"searchQuery"
>
<a-row
:gutter=
"24"
>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"表名"
>
<a-input
placeholder=
"请输入表名"
v-model=
"queryParam.dataTable"
></a-input>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"数据ID"
>
<a-input
placeholder=
"请输入ID"
v-model=
"queryParam.dataId"
></a-input>
</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>
<a-button
style=
"margin-left: 8px"
@
click=
"searchReset"
>
重置
</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"handleAdd"
type=
"primary"
icon=
"plus"
>
新增
</a-button>
<a-button
@
click=
"batchDel"
v-if=
"selectedRowKeys.length > 0"
ghost
type=
"primary"
icon=
"delete"
>
批量删除
</a-button>
</div>
<!-- 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>
项
<a
style=
"margin-left: 24px"
@
click=
"onClearSelected"
>
清空
</a>
</div>
<a-table
:columns=
"columns"
size=
"middle"
:dataSource=
"dataSource"
:loading=
"loading"
:pagination=
"pagination"
:rowSelection=
"
{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/>
</a>
<a-menu
slot=
"overlay"
>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleDetail(record)"
>
详情
</a>
</a-menu-item>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleAddSub(record)"
>
添加下级
</a>
</a-menu-item>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleDataRule(record)"
>
数据规则
</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm
title=
"确定删除吗?"
@
confirm=
"() => handleDelete(record.id)"
placement=
"topLeft"
>
<a>
删除
</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
<!-- 字符串超长截取省略号显示 -->
<span
slot=
"url"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
:length=
"25"
/>
</span>
<!-- 字符串超长截取省略号显示-->
<span
slot=
"component"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
/>
</span>
</a-table>
</div>
<!-- table区域-end -->
<!--
<permission-modal
ref=
"modalForm"
@
ok=
"modalFormOk"
></permission-modal>
-->
<!--
<permission-data-rule-list
ref=
"PermissionDataRuleList"
@
ok=
"modalFormOk"
></permission-data-rule-list>
-->
</a-card>
</
template
>
<
script
>
// import PermissionModal from './modules/PermissionModal'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
// import PermissionDataRuleList from './PermissionDataRuleList'
import
JEllipsis
from
'@/components/jeecg/JEllipsis'
const
columns
=
[
{
title
:
'菜单名称'
,
dataIndex
:
'name'
,
key
:
'name'
},
{
title
:
'菜单类型'
,
dataIndex
:
'menuType'
,
key
:
'menuType'
,
customRender
:
function
(
text
)
{
if
(
text
==
0
)
{
return
'菜单'
}
else
if
(
text
==
1
)
{
return
'菜单'
}
else
if
(
text
==
2
)
{
return
'按钮/权限'
}
else
{
return
text
}
}
},
/*{
title: '权限编码',
dataIndex: 'perms',
key: 'permissionCode',
},*/
{
title
:
'icon'
,
dataIndex
:
'icon'
,
key
:
'icon'
},
{
title
:
'组件'
,
dataIndex
:
'component'
,
key
:
'component'
,
scopedSlots
:
{
customRender
:
'component'
}
},
{
title
:
'路径'
,
dataIndex
:
'url'
,
key
:
'url'
,
scopedSlots
:
{
customRender
:
'url'
}
},
{
title
:
'排序'
,
dataIndex
:
'sortNo'
,
key
:
'sortNo'
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
width
:
150
}
]
export
default
{
name
:
'PermissionListAsync'
,
mixins
:
[
JeecgListMixin
],
components
:
{
// PermissionDataRuleList,
// PermissionModal,
JEllipsis
},
data
()
{
return
{
description
:
'这是菜单管理页面'
,
// 表头
columns
:
columns
,
loading
:
false
,
pagination
:
{},
url
:
{
list
:
'/property/propertySettled/list'
,
delete
:
'/sys/permission/delete'
,
deleteBatch
:
'/sys/permission/deleteBatch'
}
}
},
methods
:
{
loadData
()
{
this
.
loading
=
true
getPropertyListApi
({
pageNo
:
1
,
pageSize
:
10
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
const
pagination
=
{
...
this
.
pagination
};
pagination
.
total
=
res
.
result
.
total
this
.
dataSource
=
res
.
result
.
records
}
}).
finally
(()
=>
{
this
.
loading
=
false
})
},
// 打开数据规则编辑
handleDataRule
(
record
)
{
this
.
$refs
.
PermissionDataRuleList
.
edit
(
record
)
},
handleAddSub
(
record
)
{
this
.
$refs
.
modalForm
.
title
=
"添加子菜单"
;
this
.
$refs
.
modalForm
.
disableSubmit
=
false
;
this
.
$refs
.
modalForm
.
edit
({
status
:
'1'
,
permsType
:
'1'
,
route
:
true
,
'parentId'
:
record
.
id
,
menuType
:
1
});
}
}
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
</
style
>
\ No newline at end of file
src/views/settled/PropertyList.vue
deleted
100644 → 0
浏览文件 @
88901a12
差异被折叠。
点击展开。
src/views/settled/modules/PropertySettledForm.vue
deleted
100644 → 0
浏览文件 @
88901a12
差异被折叠。
点击展开。
src/views/settled/modules/PropertySettledModal.vue
deleted
100644 → 0
浏览文件 @
88901a12
<
template
>
<j-modal
:title=
"title"
:width=
"width"
:visible=
"visible"
switchFullscreen
@
ok=
"handleOk"
:okButtonProps=
"
{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<property-settled-form
ref=
"realForm"
@
ok=
"submitCallback"
:disabled=
"disableSubmit"
></property-settled-form>
</j-modal>
</
template
>
<
script
>
import
PropertySettledForm
from
'./PropertySettledForm'
export
default
{
name
:
'PropertySettledModal'
,
components
:
{
PropertySettledForm
},
data
()
{
return
{
title
:
''
,
width
:
'70%'
,
visible
:
false
,
disableSubmit
:
false
}
},
methods
:
{
add
()
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
add
();
})
},
edit
(
record
)
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
edit
(
record
);
})
},
close
()
{
this
.
$emit
(
'close'
);
this
.
visible
=
false
;
},
handleOk
()
{
this
.
$refs
.
realForm
.
submitForm
();
},
submitCallback
(){
this
.
$emit
(
'ok'
);
this
.
visible
=
false
;
},
handleCancel
()
{
this
.
close
()
}
}
}
</
script
>
\ No newline at end of file
src/views/settlement/reconciliation/reconciliationList.vue
浏览文件 @
ec807fc5
...
...
@@ -23,8 +23,11 @@
</a-form-item>
</a-col>
<a-col
:md=
"7"
:sm=
"10"
>
订单时间:
<a-range-picker
@
change=
"onChangeData"
/>
<a-form-item
label=
"订单时间:"
>
<a-date-picker
placeholder=
"订单时间"
valueFormat=
"YYYY-MM-DD 00:00:00"
v-model=
"queryParam.createTime"
></a-date-picker>
</a-form-item>
</a-col>
<span
style=
"float: left;overflow: hidden;"
class=
"table-page-search-submitButtons"
>
<a-col
:md=
"5"
:sm=
"24"
>
...
...
src/views/settlement/settlements/settlementList.vue
浏览文件 @
ec807fc5
...
...
@@ -18,8 +18,10 @@
</a-form-item>
</a-col>
<a-col
:md=
"7"
:sm=
"10"
>
订单时间:
<a-range-picker
@
change=
"onChangeData"
/>
<a-form-item
label=
"订单时间:"
>
<a-date-picker
placeholder=
"订单时间"
valueFormat=
"YYYY-MM-DD 00:00:00"
v-model=
"queryParam.createTime"
></a-date-picker>
</a-form-item>
</a-col>
<span
style=
"float: left;overflow: hidden;"
class=
"table-page-search-submitButtons"
>
<a-col
:md=
"5"
:sm=
"24"
>
...
...
src/views/statistical/IndexChart.vue
浏览文件 @
ec807fc5
差异被折叠。
点击展开。
vue.config.js
浏览文件 @
ec807fc5
...
...
@@ -87,6 +87,7 @@ module.exports = {
devServer
:
{
port
:
3000
,
disableHostCheck
:
true
,
// hot: true,
// disableHostCheck: true,
// overlay: {
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论