Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
property-company
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
物业总平台
property-company
Commits
a92047ee
提交
a92047ee
authored
8月 29, 2023
作者:
宋雄
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能优化
上级
642a9455
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
277 行增加
和
387 行删除
+277
-387
.env.development
.env.development
+2
-2
api.js
src/api/api.js
+13
-1
static.js
src/assets/static.js
+35
-1
SideMenu.vue
src/components/menu/SideMenu.vue
+1
-1
Logo.vue
src/components/tools/Logo.vue
+1
-1
RecordDetails.vue
src/views/base/record/RecordDetails.vue
+163
-247
RecordList.vue
src/views/base/record/RecordList.vue
+58
-128
add.vue
src/views/charge/templateSettings/add.vue
+3
-5
NoticeList.vue
src/views/property/NoticeList.vue
+1
-1
没有找到文件。
.env.development
浏览文件 @
a92047ee
NODE_ENV=development
# VUE_APP_API_BASE_URL='http://192.168.0.119
:9999'
VUE_APP_API_BASE_URL='http://220.203.25.212:9999'
VUE_APP_API_BASE_URL='http://192.168.0.104
:9999'
#
VUE_APP_API_BASE_URL='http://220.203.25.212:9999'
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
...
...
src/api/api.js
浏览文件 @
a92047ee
...
...
@@ -74,6 +74,13 @@ const callAssetSubmitApi = (params)=>postAction("/property-community/asset/prope
// 公告详情
const
queryNoticeCommunityApi
=
(
params
)
=>
getAction
(
"/property-company/notice/companyNotice/queryNoticeCommunityRefByMainId"
,
params
);
// 对账管理
const
getDetailReconciliationApi
=
(
params
)
=>
getAction
(
"/property-community/property/communityReconciliation/queryById"
,
params
);
const
getAccountListByIdApi
=
(
params
)
=>
getAction
(
"/property-community/property/communityReconciliation/getAccountListById"
,
params
);
const
companyAuditAccountPageApi
=
(
params
)
=>
postAction
(
"/property-community/property/communityReconciliation/companyAudit"
,
params
);
const
getCommunityRecordListApi
=
(
params
)
=>
getAction
(
"/property-central/property/auditRecord/getRecordList"
,
params
);
const
companySubCentralApi
=
(
params
)
=>
getAction
(
"/property-community/property/communityReconciliation/companySubCentral"
,
params
);
//数据字典
const
addDict
=
(
params
)
=>
postAction
(
"/sys/dict/add"
,
params
);
const
editDict
=
(
params
)
=>
putAction
(
"/sys/dict/edit"
,
params
);
...
...
@@ -183,7 +190,12 @@ export {
getCommunityListApi
,
getCapitalCommunityListApi
,
callAssetSubmitApi
,
queryNoticeCommunityApi
queryNoticeCommunityApi
,
getDetailReconciliationApi
,
getAccountListByIdApi
,
companyAuditAccountPageApi
,
getCommunityRecordListApi
,
companySubCentralApi
,
}
...
...
src/assets/static.js
浏览文件 @
a92047ee
// 与业主关系
export
const
RELATION_SHIP
=
[
{
label
:
'业主'
,
value
:
'self'
},
{
label
:
'租户'
,
value
:
'tenant'
},
{
label
:
'亲人'
,
value
:
'relative'
},
{
label
:
'朋友'
,
value
:
'friend'
},
{
label
:
'其他'
,
value
:
'other'
}
]
// 紧急程度
export
const
URGENT_DEGREE
=
[
{
label
:
'一般'
,
value
:
'usual'
},
...
...
@@ -16,6 +25,29 @@ export const NOTICE_STATUS = [
{
label
:
'待发布'
,
value
:
'waitPublish'
}
]
// 付费周期
export
const
CHARGING_CYCLE
=
[
{
label
:
'每月'
,
value
:
'1'
},
{
label
:
'每季度'
,
value
:
'2'
},
{
label
:
'每年'
,
value
:
'3'
},
{
label
:
'一次性付清'
,
value
:
'4'
},
{
label
:
'预付'
,
value
:
'5'
}
]
// 物业对账审核状态
export
const
COMPANY_AUDIT_STATUS
=
[
{
label
:
'物业待审核'
,
value
:
'companyWaitAudit'
},
{
label
:
'物业审核通过'
,
value
:
'companyAuditPass'
},
{
label
:
'物业审核驳回'
,
value
:
'companyRefuse'
}
]
// 总平台对账审核状态
export
const
CENTRAL_AUDIT_STATUS
=
[
{
label
:
'总平台待审核'
,
value
:
'centralWaitAudit'
},
{
label
:
'总平台审核通过'
,
value
:
'centralAuditPass'
},
{
label
:
'总平台审核驳回'
,
value
:
'centralRefuse'
}
]
/**
* 翻译字段值对应的文本
* @param children
...
...
@@ -25,5 +57,6 @@ export function filterDictTextByStatic(dictList, value) {
if
(
!
dictList
||
dictList
.
length
===
0
){
return
;
}
return
dictList
.
find
(
item
=>
item
.
value
===
value
).
label
let
obj
=
dictList
.
find
(
item
=>
item
.
value
==
value
)
return
obj
?
obj
.
label
:
''
}
\ No newline at end of file
src/components/menu/SideMenu.vue
浏览文件 @
a92047ee
...
...
@@ -5,7 +5,7 @@
:collapsible=
"collapsible"
v-model=
"collapsed"
:trigger=
"null"
>
<logo
:showTitle=
"
fals
e"
/>
<logo
:showTitle=
"
tru
e"
/>
<s-menu
:collapsed=
"collapsed"
:menu=
"menus"
...
...
src/components/tools/Logo.vue
浏览文件 @
a92047ee
...
...
@@ -24,7 +24,7 @@
props
:
{
title
:
{
type
:
String
,
default
:
'
汉星科技
'
,
default
:
'
物业集团管理后台
'
,
required
:
false
},
showTitle
:
{
...
...
src/views/base/record/RecordDetails.vue
浏览文件 @
a92047ee
...
...
@@ -6,156 +6,216 @@
<a-button
@
click=
"onCancel"
>
返回
</a-button>
<a-button
type=
"danger"
@
click=
"onExamine(2)"
v-if=
"pageType == '2'"
>
审核驳回
</a-button>
<a-button
type=
"primary"
@
click=
"onExamine(1)"
v-if=
"pageType == '2'"
>
审核通过
</a-button>
<a-button
type=
"primary"
@
click=
"onExamine(3)"
v-if=
"pageType == '3'"
>
确认
</a-button>
</div>
</div>
<j-form-container
:disabled=
"
pageType !== '3'
"
>
<a-form-model
ref=
"form"
:model=
"model"
:rules=
"validatorRules"
slot=
"detail"
>
<j-form-container
:disabled=
"
true
"
>
<a-form-model
ref=
"form"
:model=
"model"
slot=
"detail"
>
<a-card
title=
"对账信息"
>
<a-row>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"对账单号"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
propertyName
"
>
<a-input
v-model=
"model.
propertyName
"
placeholder=
"请输入对账单号"
></a-input>
<a-form-model-item
label=
"对账单号"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
id
"
>
<a-input
v-model=
"model.
id
"
placeholder=
"请输入对账单号"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"对账开始时间"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
creditCod
e"
>
<a-input
v-model=
"model.
creditCod
e"
placeholder=
"请输入对账开始时间"
></a-input>
<a-form-model-item
label=
"对账开始时间"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
reconciliationBeginDat
e"
>
<a-input
v-model=
"model.
reconciliationBeginDat
e"
placeholder=
"请输入对账开始时间"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"对账结束时间"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
legalNam
e"
>
<a-input
v-model=
"model.
legalNam
e"
placeholder=
"请输入对账结束时间"
></a-input>
<a-form-model-item
label=
"对账结束时间"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
reconciliationEndDat
e"
>
<a-input
v-model=
"model.
reconciliationEndDat
e"
placeholder=
"请输入对账结束时间"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"操作人"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
registCapital
"
>
<a-input-number
v-model=
"model.
registCapital
"
:min=
"1"
placeholder=
"请输入操作人"
style=
"width: 100%"
/>
<a-form-model-item
label=
"操作人"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"
createBy
"
>
<a-input-number
v-model=
"model.
createBy
"
:min=
"1"
placeholder=
"请输入操作人"
style=
"width: 100%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"操作日期"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"c
ontactNa
me"
>
<a-input
v-model=
"model.c
ontactNa
me"
placeholder=
"请输入操作日期"
></a-input>
<a-form-model-item
label=
"操作日期"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
prop=
"c
reateTi
me"
>
<a-input
v-model=
"model.c
reateTi
me"
placeholder=
"请输入操作日期"
></a-input>
</a-form-model-item>
</a-col>
</a-row>
</a-card>
<a-card
title=
"对账明细"
>
<a-row>
<div>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap" @change="handleTableChange">
</a-table>
</div>
</a-row>
</a-card>
</a-form-model>
</j-form-container>
<a-card
title=
"对账明细"
>
<p>
已选择
{{
dataSource
.
length
}}
个缴费单,共计
<span
style=
"color:red"
>
{{
model
.
reconciliationAmount
}}
</span>
元
</p>
<a-row>
<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">
<span
slot=
"residentPhone"
slot-scope=
"text, record"
>
<span>
{{
record
.
residentName
}}
,
{{
record
.
residentPhone
}}
</span>
</span>
<span
slot=
"roomId"
slot-scope=
"text, record"
>
<span>
{{
record
.
buildingName
}}{{
record
.
unitName
}}{{
record
.
roomName
}}
</span>
</span>
</a-table>
</div>
</a-row>
</a-card>
<a-card
title=
"审核记录"
>
<a-row>
<div>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{ x: 600}" bordered rowKey="id" :columns="recordColumns"
:dataSource="recordList" class="j-table-force-nowrap">
</a-table>
</div>
</a-row>
</a-card>
<a-card
title=
"审核说明"
v-if=
"pageType === '2'"
>
<a-textarea
placeholder=
"请输入审核说明"
v-model=
"auditDescription"
/>
</a-card>
</a-spin>
</
template
>
<
script
>
import
{
get
PropertyChargruleListApi
,
getPropertyDetailApi
,
auditProperty
Api
}
from
'@/api/api'
import
{
get
DetailReconciliationApi
,
getAccountListByIdApi
,
getCommunityRecordListApi
,
companyAuditAccountPage
Api
}
from
'@/api/api'
import
{
httpAction
,
getAction
}
from
'@/api/manage'
import
{
isMobile
,
validateCreditCode
}
from
'@/utils/validate'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
{
PAYMENT_STATUS
,
RELATION_SHIP
,
filterDictTextByStatic
,
}
from
'@/assets/static.js'
const
columns
=
[
{
title
:
'所属小区'
,
dataIndex
:
'propertyName'
,
key
:
'propertyName'
,
align
:
'center'
,
},
{
title
:
'费用项目'
,
dataIndex
:
'creditCode'
,
key
:
'creditCode'
,
title
:
'收费类型'
,
dataIndex
:
'chargeTypeName'
,
key
:
'chargeTypeName'
,
width
:
120
,
align
:
'center'
,
},
{
title
:
'业主'
,
dataIndex
:
'reconciliationBeginDate'
,
key
:
'reconciliationBeginDate'
,
title
:
'收费项目'
,
dataIndex
:
'chargeItem'
,
key
:
'chargeItem'
,
width
:
220
,
align
:
'center'
,
},
{
title
:
'与业主关系'
,
dataIndex
:
'reaship'
,
key
:
'reaship'
,
dataIndex
:
'relationShip'
,
key
:
'relationShip'
,
width
:
120
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
RELATION_SHIP
,
text
)
},
},
{
title
:
'住户'
,
dataIndex
:
'reconcilname'
,
key
:
'reconcilname'
,
dataIndex
:
'residentPhone'
,
key
:
'residentPhone'
,
width
:
160
,
scopedSlots
:
{
customRender
:
'residentPhone'
},
align
:
'center'
,
},
{
title
:
'房屋编号'
,
dataIndex
:
'reconciliationEndDate'
,
key
:
'reconciliationEndDate'
,
dataIndex
:
'roomId'
,
scopedSlots
:
{
customRender
:
'roomId'
},
key
:
'roomId'
,
width
:
140
,
align
:
'center'
,
},
{
title
:
'费用'
,
dataIndex
:
'reconciliationAmount'
,
key
:
'reconciliationAmount'
,
title
:
'金额(元)'
,
dataIndex
:
'totalAmount'
,
key
:
'totalAmount'
,
width
:
120
,
align
:
'center'
,
},
{
title
:
'缴费日期'
,
dataIndex
:
'updateTime'
,
key
:
'updateTime'
,
title
:
'本期读表时间'
,
dataIndex
:
'meterReadingTime'
,
key
:
'meterReadingTime'
,
width
:
150
,
align
:
'center'
,
},
// {
// title: '缴费状态',
// dataIndex: 'paymentStatus',
// key: 'paymentStatus',
// width: 120,
// align: 'center',
// customRender: function (text) {
// return filterDictTextByStatic(PAYMENT_STATUS, text)
// },
// },
{
title
:
'缴费单号'
,
dataIndex
:
'empowerCommunityNum'
,
key
:
'empowerCommunityNum'
,
// customRender: function (text) {
// return filterDictTextByCache('companyAuditStatus', text)
// },
dataIndex
:
'paymentNum'
,
key
:
'paymentNum'
,
width
:
120
,
align
:
'center'
,
},
{
title
:
'缴费日期'
,
dataIndex
:
'paymentTime'
,
key
:
'paymentTime'
,
width
:
150
,
align
:
'center'
,
},
{
title
:
'创建日期'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
width
:
150
,
align
:
'center'
,
}
]
const
recordColumns
=
[
{
title
:
'审核平台'
,
dataIndex
:
'platformName'
,
key
:
'platformName'
,
width
:
100
,
align
:
'center'
,
},
{
title
:
'审核状态'
,
dataIndex
:
'auditStatus'
,
key
:
'auditStatus'
,
width
:
100
,
align
:
'center'
,
// customRender: (text)=> {
// return filterDictTextByStatic(RECONCILIATION_STATUS, text)
// },
},
{
title
:
'审核说明'
,
dataIndex
:
'refuseDesc'
,
key
:
'refuseDesc'
,
width
:
200
,
align
:
'center'
,
ellipsis
:
true
},
{
title
:
'审核人'
,
dataIndex
:
'createBy'
,
key
:
'createBy'
,
width
:
100
,
align
:
'center'
},
{
title
:
'审核时间'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
width
:
100
,
align
:
'center'
,
}
]
export
default
{
name
:
'PropertySettledForm'
,
inject
:
[
'closeCurrent'
],
mixins
:
[
JeecgListMixin
],
data
()
{
const
validateToNextPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
&&
isMobile
(
value
))
{
callback
()
}
else
{
callback
(
'请输入正确的联系人电话!'
)
}
}
const
validateCode
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
&&
validateCreditCode
(
value
))
{
callback
()
}
else
{
callback
(
'社会统一信用代码输入错误'
)
}
}
return
{
title
:
''
,
pageType
:
''
,
pcaa
:
this
.
$Jpcaa
,
model
:
{
propertyName
:
'234234234'
,
creditCode
:
'2023-03-22'
,
legalName
:
'2023-06-22'
,
registCapital
:
'ADMIN'
,
contactName
:
'2023-06-23'
,
image
:
''
},
model
:
{},
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
6
},
...
...
@@ -165,64 +225,31 @@ export default {
sm
:
{
span
:
16
},
},
confirmLoading
:
false
,
validatorRules
:
{
propertyName
:
[{
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'
}],
contactPhone
:
[
{
required
:
true
,
message
:
'请输入联系人电话'
,
trigger
:
'blur'
},
{
validator
:
validateToNextPhone
},
],
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'
}],
contractUrl
:
[{
required
:
true
,
message
:
'请上传合同附件'
,
trigger
:
'change'
}],
},
url
:
{
add
:
'/property-central/property/propertySettled/add'
,
edit
:
'/property-central/property/propertySettled/edit'
,
queryById
:
'/property-central/property/propertySettled/queryById'
,
list
:
'/property-central/property/communityReconciliation/communityAccountPage'
},
costList
:
[],
mapRef
:
null
,
columns
:
columns
,
loading
:
false
,
dataSource
:
[
{
id
:
'DSF3453534'
,
propertyName
:
'汉江之星小区'
,
creditCode
:
'物业费'
,
reconciliationBeginDate
:
'张飒,15198765634'
,
reaship
:
'租户'
,
reconcilname
:
'李白,15165245634'
,
reconciliationEndDate
:
'2栋2单元101'
,
reconciliationAmount
:
'345.23'
,
updateTime
:
'2023-04-05'
,
empowerCommunityNum
:
'LD23423843223'
,
auditStatus
:
'2023-05-06'
},
{
id
:
'DSF32342334'
,
propertyName
:
'汉江之星小区'
,
creditCode
:
'水费'
,
reconciliationBeginDate
:
'李生,1515235634'
,
reaship
:
'本人'
,
reconcilname
:
'李生,1515235634'
,
reconciliationEndDate
:
'1栋2单元301'
,
reconciliationAmount
:
'1345.45'
,
updateTime
:
'2023-05-05'
,
empowerCommunityNum
:
'DFG2342342323'
,
auditStatus
:
'2023-05-16'
},
{
id
:
'DSF23423434'
,
propertyName
:
'汉江之星小区'
,
creditCode
:
'电费'
,
reconciliationBeginDate
:
'李丽,19812348976'
,
reaship
:
'租户'
,
reconcilname
:
'张飒,15198765634'
,
reconciliationEndDate
:
'9栋1单元401'
,
reconciliationAmount
:
'34234'
,
updateTime
:
'2023-02-06'
,
empowerCommunityNum
:
'JTR323422'
,
auditStatus
:
'2023-03-06'
},
{
id
:
'DSF36783434'
,
propertyName
:
'汉江之星小区'
,
creditCode
:
'水费'
,
reconciliationBeginDate
:
'张盛,1890987567'
,
reaship
:
'本人'
,
reconcilname
:
'张盛,1890987567'
,
reconciliationEndDate
:
'4栋2单元403'
,
reconciliationAmount
:
'34'
,
updateTime
:
'2023-06-07'
,
empowerCommunityNum
:
'DFGD32423423'
,
auditStatus
:
'2023-04-23'
},
{
id
:
'DS235345534'
,
propertyName
:
'汉江之星小区'
,
creditCode
:
'燃气费'
,
reconciliationBeginDate
:
'李婷婷,18809875634'
,
reaship
:
'租户'
,
reconcilname
:
'话梅,15198765634'
,
reconciliationEndDate
:
'9栋2单元1201'
,
reconciliationAmount
:
'654'
,
updateTime
:
'2023-05-06'
,
empowerCommunityNum
:
'FDBEWRW2342342'
,
auditStatus
:
'2023-06-26'
},
]
recordColumns
:
recordColumns
,
recordList
:
[],
auditDescription
:
''
}
},
methods
:
{
async
onLoadCostList
()
{
let
data
=
await
getPropertyChargruleListApi
()
this
.
costList
=
data
.
result
},
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
]
)
}
async
getCommunityReconciliation
()
{
let
formModel
=
await
getDetailReconciliationApi
({
id
:
this
.
$route
.
query
.
id
})
this
.
model
=
{...
formModel
.
result
}
let
formList
=
await
getAccountListByIdApi
({
reconciliationId
:
this
.
$route
.
query
.
id
})
this
.
dataSource
=
[...
formList
.
result
.
records
]
let
record
=
await
getCommunityRecordListApi
({
dataId
:
this
.
$route
.
query
.
id
,
auditType
:
'reconciliation'
}
)
this
.
recordList
=
[...
record
.
result
]
},
onCancel
()
{
this
.
closeCurrent
()
...
...
@@ -238,116 +265,14 @@ export default {
this
.
visible
=
true
},
onExamine
(
type
)
{
this
.
closeCurrent
()
// const that = this
// if (type == 1) {
// return auditPropertyApi({
// id: this.$route.query.id,
// auditStatus: 'auditPass',
// }).then((res) => {
// that.$message.success('审核通过成功')
// that.$emit('ok')
// this.closeCurrent()
// })
// } else if (type == 2) {
// return auditPropertyApi({
// id: this.$route.query.id,
// auditStatus: 'refuse',
// }).then((res) => {
// that.$message.success('审核驳回成功')
// this.closeCurrent()
// })
// }
},
addressChange
(
val
)
{
const
province
=
Object
.
keys
(
val
[
0
])[
0
]
const
city
=
Object
.
keys
(
val
[
1
])[
0
]
const
county
=
Object
.
keys
(
val
[
2
])[
0
]
this
.
model
.
provinceName
=
val
[
0
][
province
]
this
.
model
.
provinceCode
=
province
this
.
model
.
cityName
=
val
[
1
][
city
]
this
.
model
.
cityCode
=
city
this
.
model
.
countyName
=
val
[
2
][
county
]
this
.
model
.
countyCode
=
county
if
(
this
.
model
.
addressInfo
)
{
this
.
getLongitude
(
this
.
model
.
provinceName
,
this
.
model
.
provinceName
+
this
.
model
.
cityName
+
this
.
model
.
countyName
+
this
.
model
.
addressInfo
,
mapZoom
[
3
]
)
}
},
addressBlur
(
val
)
{
if
(
this
.
model
.
provinceName
)
{
this
.
getLongitude
(
this
.
model
.
provinceName
,
this
.
model
.
provinceName
+
this
.
model
.
cityName
+
this
.
model
.
countyName
+
val
.
target
.
value
,
mapZoom
[
3
]
)
}
},
getAddress
(
e
)
{
let
_this
=
this
// 创建地理编码实例
var
myGeo
=
new
BMapGL
.
Geocoder
()
// 根据坐标得到地址描述
myGeo
.
getLocation
(
new
BMapGL
.
Point
(
e
.
latlng
.
lng
,
e
.
latlng
.
lat
),
function
(
result
)
{
if
(
result
)
{
_this
.
mapRef
.
clearOverlays
()
_this
.
model
.
registAdress
=
[
result
.
addressComponents
.
province
,
result
.
addressComponents
.
city
,
result
.
addressComponents
.
district
,
]
_this
.
model
.
addressInfo
=
result
.
addressComponents
.
street
+
result
.
addressComponents
.
streetNumber
_this
.
model
.
longitude
=
result
.
point
.
lng
_this
.
model
.
latitude
=
result
.
point
.
lat
_this
.
positionMap
(
e
.
latlng
.
lng
,
e
.
latlng
.
lat
,
mapZoom
[
3
],
result
.
address
)
console
.
log
(
result
)
}
})
},
positionMap
(
mapCenterLng
,
mapCenterLat
,
mapzoom
,
address
)
{
var
point
=
new
BMapGL
.
Point
(
mapCenterLng
,
mapCenterLat
)
// 创建点坐标
this
.
mapRef
.
centerAndZoom
(
point
,
mapzoom
)
var
marker
=
new
BMapGL
.
Marker
(
point
,
{
title
:
address
})
// 创建标注
this
.
mapRef
.
addOverlay
(
marker
)
// 将标注添加到地图中
let
_this
=
this
// marker.addEventListener("click", function(){
var
label
=
new
BMapGL
.
Label
(
address
,
{
// 创建文本标注
position
:
point
,
// 设置标注的地理位置
offset
:
new
BMapGL
.
Size
(
0
,
-
55
),
// 设置标注的偏移量
})
_this
.
mapRef
.
addOverlay
(
label
)
// 将标注添加到地图中
label
.
setStyle
({
// 设置label的样式
color
:
'#333'
,
fontSize
:
'14px'
,
padding
:
'4px 10px'
,
border
:
'1px solid #1E90FF'
,
borderRadius
:
'4px'
,
transform
:
'translateX(-40%)'
,
companyAuditAccountPageApi
({
auditStatus
:
type
===
1
?
'auditPass'
:
'refuse'
,
id
:
this
.
$route
.
query
.
id
,
refuseDesc
:
this
.
auditDescription
}).
then
(
res
=>
{
this
.
$message
.
success
(
`
${
type
===
1
?
'审核'
:
'驳回'
}
成功!`
)
this
.
closeCurrent
()
})
// });
},
getLongitude
(
city
,
address
,
zoom
)
{
let
_this
=
this
var
myGeo
=
new
BMapGL
.
Geocoder
()
myGeo
.
getPoint
(
address
,
function
(
point
)
{
if
(
point
)
{
_this
.
mapRef
.
clearOverlays
()
_this
.
model
.
longitude
=
point
.
lng
_this
.
model
.
latitude
=
point
.
lat
_this
.
positionMap
(
point
.
lng
,
point
.
lat
,
zoom
,
address
)
}
else
{
console
.
log
(
'您选择的地址没有解析到结果!'
)
}
},
city
)
},
submitForm
()
{
const
that
=
this
...
...
@@ -386,22 +311,13 @@ export default {
}
},
mounted
()
{
//备份model原始值
//this.modelDefault = JSON.parse(JSON.stringify(this.model))
// this.onLoadCostList()
this
.
pageType
=
this
.
$route
.
query
.
type
if
(
this
.
$route
.
query
.
type
==
'1'
)
{
this
.
title
=
'详情'
}
else
if
(
this
.
$route
.
query
.
type
==
'2'
)
{
}
else
{
this
.
title
=
'审核'
}
else
if
(
this
.
$route
.
query
.
type
==
'3'
)
{
this
.
title
=
'新增对账'
}
console
.
log
(
this
.
title
)
console
.
log
(
this
.
pageType
)
// if (this.$route.query.id) {
// this.getPageDetail()
// }
this
.
getCommunityReconciliation
()
}
}
</
script
>
...
...
src/views/base/record/RecordList.vue
浏览文件 @
a92047ee
...
...
@@ -6,19 +6,31 @@
<a-row
:gutter=
"24"
>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"对账单号"
>
<j-input
placeholder=
"请输入对账单号"
v-model=
"queryParam.
propertyName
"
></j-input>
<j-input
placeholder=
"请输入对账单号"
v-model=
"queryParam.
id
"
></j-input>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"小区名称"
>
<j-input
placeholder=
"请输入小区名称"
v-model=
"queryParam.p
roperty
Name"
></j-input>
<j-input
placeholder=
"请输入小区名称"
v-model=
"queryParam.p
latform
Name"
></j-input>
</a-form-item>
</a-col>
<a-col
:md=
"
8"
:sm=
"10
"
>
<a-form-item
label=
"
缴费日期
"
>
<a-
range-picker
@
change=
"onChange"
/
>
<a-col
:md=
"
6"
:sm=
"8
"
>
<a-form-item
label=
"
对账开始时间
"
>
<a-
date-picker
placeholder=
"对账开始时间"
valueFormat=
"YYYY-MM-DD 00:00:00"
v-model=
"queryParam.beginDate"
></a-date-picker
>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"对账结束时间"
>
<a-date-picker
placeholder=
"对账结束时间"
valueFormat=
"YYYY-MM-DD 23:59:59"
v-model=
"queryParam.endDate"
></a-date-picker>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-model-item
label=
"对账状态"
>
<a-select
style=
"width: 100%"
v-model=
"queryParam.companyAuditStatus"
placeholder=
"请选择对账状态"
>
<a-select-option
v-for=
"item in audioStatusList"
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
label
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<span
style=
"float: left;overflow: hidden;"
class=
"table-page-search-submitButtons"
>
<a-col
:md=
"6"
:sm=
"24"
>
<a-button
type=
"primary"
@
click=
"searchQuery"
>
查询
</a-button>
...
...
@@ -31,67 +43,34 @@
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"propertyDetails(3)"
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=
"batchDel"
><a-icon
type=
"delete"
/>
删除
</a-menu-item>
</a-menu>
<a-button
style=
"margin-left: 8px"
>
批量操作
<a-icon
type=
"down"
/></a-button>
</a-dropdown>
-->
<a-button
:disabled=
"selectedRowKeys.length === 0"
@
click=
"onReconciliation()"
type=
"primary"
icon=
"audit"
>
申请对账
</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"
v-if=
"selectedRowKeys.length > 0"
@
click=
"onClearSelected"
>
清空
</a>
</div>
-->
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns"
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}" bordered rowKey="id" :columns="columns" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:dataSource="dataSource" :pagination="ipagination" :loading="loading" 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
href=
"javascript:;"
@
click=
"propertyDetails(1, record.id)"
>
详情
</a>
<a-divider
type=
"vertical"
/>
<a
href=
"javascript:;"
@
click=
"propertyDetails(2, record.id)"
>
审核
</a>
<!--
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/>
</a>
<a-menu
slot=
"overlay"
>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"propertyDetails(2, record.id)"
>
审核
</a>
</a-menu-item>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"propertyDetails(3, record.id)"
>
拨款
</a>
</a-menu-item>
</a-menu>
</a-dropdown>
-->
<template
v-if=
"record.companyAuditStatus === 'companyWaitAudit'"
>
<a-divider
type=
"vertical"
/>
<a
href=
"javascript:;"
@
click=
"propertyDetails(2, record.id)"
>
审核
</a>
</
template
>
<
template
v-if=
"record.companyAuditStatus === 'companyAuditPass' && !record.centralAuditStatus"
>
<a-divider
type=
"vertical"
/>
<a
href=
"javascript:;"
@
click=
"onReconciliation(record.id)"
>
申请对账
</a>
</
template
>
</span>
</a-table>
</div>
<!-- table区域-end -->
</a-card>
</template>
<
script
>
import
{
auditPropertyApi
,
freezeOrProperty
Api
}
from
'@/api/api'
import
{
companySubCentral
Api
}
from
'@/api/api'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
{
filterDictTextBy
Cache
}
from
'@/components/dict/JDictSelectUtil
'
import
{
filterDictTextBy
Static
,
COMPANY_AUDIT_STATUS
,
CENTRAL_AUDIT_STATUS
}
from
'@/assets/static.js
'
const
columns
=
[
{
...
...
@@ -102,8 +81,8 @@ const columns = [
},
{
title
:
'所属小区'
,
dataIndex
:
'
creditCod
e'
,
key
:
'
creditCod
e'
,
dataIndex
:
'
platformNam
e'
,
key
:
'
platformNam
e'
,
align
:
'center'
,
},
{
...
...
@@ -126,30 +105,33 @@ const columns = [
},
{
title
:
'操作日期'
,
dataIndex
:
'
upd
ateTime'
,
key
:
'
upd
ateTime'
,
dataIndex
:
'
cre
ateTime'
,
key
:
'
cre
ateTime'
,
align
:
'center'
,
},
{
title
:
'操作人'
,
dataIndex
:
'
empowerCommunityNum
'
,
key
:
'
empowerCommunityNum
'
,
dataIndex
:
'
createBy
'
,
key
:
'
createBy
'
,
align
:
'center'
,
},
{
title
:
'审核状态'
,
dataIndex
:
'
a
uditStatus'
,
scopedSlots
:
{
customRender
:
'auditStatus'
}
,
dataIndex
:
'
companyA
uditStatus'
,
key
:
'companyAuditStatus'
,
align
:
'center'
,
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
COMPANY_AUDIT_STATUS
,
text
)
}
},
{
title
:
'
公司
审核状态'
,
dataIndex
:
'c
ompany
AuditStatus'
,
key
:
'c
ompany
AuditStatus'
,
title
:
'
总平台
审核状态'
,
dataIndex
:
'c
entral
AuditStatus'
,
key
:
'c
entral
AuditStatus'
,
align
:
'center'
,
//
customRender: function (text) {
// return filterDictTextByCache('companyAuditStatus'
, text)
//
},
customRender
:
function
(
text
)
{
return
filterDictTextByStatic
(
CENTRAL_AUDIT_STATUS
,
text
)
},
},
{
title
:
'操作'
,
...
...
@@ -166,25 +148,13 @@ export default {
mixins
:
[
JeecgListMixin
],
data
()
{
return
{
// 表头
audioStatusList
:
COMPANY_AUDIT_STATUS
,
columns
:
columns
,
loading
:
false
,
url
:
{
list
:
'/property-c
entral/property/communityReconciliation/l
ist'
,
list
:
'/property-c
ommunity/property/communityReconciliation/companyAuditL
ist'
,
delete
:
'/property-central/property/communityReconciliation/delete'
,
deleteBatch
:
'/property-central/property/communityReconciliation/deleteBatch'
,
},
dataSource
:
[
{
id
:
'JD239423'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-01-01'
,
reconciliationEndDate
:
'2023-02-03'
,
reconciliationAmount
:
'345.23'
,
updateTime
:
'2023-04-05'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'JD453454'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-04-06'
,
reconciliationEndDate
:
'2023-06-03'
,
reconciliationAmount
:
'1345.45'
,
updateTime
:
'2023-05-05'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'审核通过'
},
{
id
:
'JD567454'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-02-05'
,
reconciliationEndDate
:
'2023-02-23'
,
reconciliationAmount
:
'34234'
,
updateTime
:
'2023-02-06'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'待审核'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'KF343455'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2022-11-01'
,
reconciliationEndDate
:
'2023-01-03'
,
reconciliationAmount
:
'34'
,
updateTime
:
'2023-06-07'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'审核通过'
},
{
id
:
'KD435345'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2022-01-21'
,
reconciliationEndDate
:
'2022-10-03'
,
reconciliationAmount
:
'654'
,
updateTime
:
'2023-05-06'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'待审核'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'LG345352'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2022-01-10'
,
reconciliationEndDate
:
'2022-02-03'
,
reconciliationAmount
:
'897.98'
,
updateTime
:
'2023-05-08'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'待审核'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'MG345354'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-01-04'
,
reconciliationEndDate
:
'2023-06-03'
,
reconciliationAmount
:
'234'
,
updateTime
:
'2023-05-05'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'LB345353'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-02-01'
,
reconciliationEndDate
:
'2023-05-03'
,
reconciliationAmount
:
'1000'
,
updateTime
:
'2023-04-04'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'待审核'
},
{
id
:
'LC234234'
,
creditCode
:
'汉江之星小区'
,
propertyName
:
'汉江之星物业集团'
,
reconciliationBeginDate
:
'2023-01-23'
,
reconciliationEndDate
:
'2023-02-03'
,
reconciliationAmount
:
'3443'
,
updateTime
:
'2023-01-02'
,
empowerCommunityNum
:
'admin'
,
auditStatus
:
'审核通过'
,
companyAuditStatus
:
'审核通过'
},
]
}
}
},
methods
:
{
...
...
@@ -201,64 +171,24 @@ 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
)
{
onReconciliation
(
id
)
{
let
ids
=
id
||
this
.
selectedRowKeys
.
join
(
','
)
let
that
=
this
this
.
$confirm
({
title
:
'确认
审核此物业?
'
,
title
:
'确认
要申请当前对账吗?
'
,
closable
:
true
,
okText
:
'审核通过'
,
cancelText
:
'审核驳回'
,
okText
:
'确认'
,
onOk
()
{
return
auditPropertyApi
({
id
:
record
.
id
,
auditStatus
:
'auditPass'
,
}).
then
((
res
)
=>
{
that
.
searchQuery
()
})
},
onCancel
()
{
return
auditPropertyApi
({
id
:
record
.
id
,
auditStatus
:
'refuse'
,
return
companySubCentralApi
({
ids
}).
then
((
res
)
=>
{
that
.
$message
.
success
(
'申请对账成功!'
)
that
.
searchQuery
()
})
}
,
}
})
},
onStatus
(
record
)
{
let
that
=
this
this
.
$confirm
({
title
:
`确认
${
record
.
propertyStatus
===
'normal'
?
'冻结'
:
'解冻'
}
此物业?`
,
closable
:
true
,
okText
:
`
${
record
.
propertyStatus
===
'normal'
?
'冻结'
:
'解冻'
}
`
,
onOk
()
{
return
freezeOrPropertyApi
({
id
:
record
.
id
,
status
:
`
${
record
.
propertyStatus
===
'normal'
?
'freeze'
:
'normal'
}
`
,
}).
then
((
res
)
=>
{
that
.
searchQuery
()
})
},
onCancel
()
{},
})
},
handlePerssion
(
roleId
)
{
this
.
$refs
.
modalUserRole
.
show
(
roleId
)
},
loadData
()
{
console
.
log
(
'不请求'
)
}
}
,
}
}
</
script
>
<
style
scoped
>
...
...
src/views/charge/templateSettings/add.vue
浏览文件 @
a92047ee
...
...
@@ -79,7 +79,6 @@
import
{
getChargeListApi
,
addReceiptTemplate
}
from
'@/api/api'
import
MyEditorWithMention
from
'./components/MyEditorWithMention'
import
VueHtml2pdf
from
"vue-html2pdf"
;
const
tableHtml
=
'<table border="1" cellspacing="0" style="width: 100%;"><tbody><tr><th colSpan="1" rowSpan="1">序号</th><th colSpan="1" rowSpan="1">品名</th><th colSpan="1" rowSpan="1">产地品牌</th><th colSpan="1" rowSpan="1">规格型号</th><th colSpan="1" rowSpan="1">数量</th><th colSpan="1" rowSpan="1">税率</th><th colSpan="1" rowSpan="1">单位</th><th colSpan="1" rowSpan="1">单价</th><th colSpan="1" rowSpan="1">总金额(不含税)</th><th colSpan="1" rowSpan="1">税额</th><th colSpan="1" rowSpan="1">总金额(含税)</th><th colSpan="1" rowSpan="1">备注</th></tr><tr><td colspan="1" rowspan="1" style="text-align: center;">1</td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td></tr><tr><td colSpan="1" rowSpan="1">合计</td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1"></td></tr><tr><td colSpan="3" rowSpan="1" style="text-align: center;">合同金额(大写):</td><td colSpan="9" rowSpan="1"></td></tr></tbody></table>'
export
default
{
name
:
'templateContractAdd'
,
...
...
@@ -139,7 +138,7 @@ export default {
typeName
:
this
.
model
.
templateType
.
label
,
templateStyle
:
this
.
content
}).
then
(
res
=>
{
this
.
$message
.
warning
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
backbtn
()
}).
finally
(()
=>
{
this
.
confirmLoading
=
false
;
...
...
@@ -149,12 +148,11 @@ export default {
},
handleSaveToPdf
()
{
this
.
pdfOptions
.
filename
=
'收费模板'
this
.
content
=
this
.
$refs
.
editorHtml
.
curHtml
.
replace
(
'<p><span data-w-e-type="mention" data-w-e-is-void data-w-e-is-inline data-value="产品列表" data-info="%7B%22id%22%3A%22e%22%7D">@产品列表</span></p>'
,
tableHtml
)
console
.
log
(
this
.
content
)
// this.content = this.$refs.editorHtml.curHtml.replace('
<
p
><
span
data
-
w
-
e
-
type
=
"mention"
data
-
w
-
e
-
is
-
void
data
-
w
-
e
-
is
-
inline
data
-
value
=
"产品列表"
data
-
info
=
"%7B%22id%22%3A%22e%22%7D"
>
@
产品列表
<
/span></
p
>
', tableHtml)
this.$refs.html2PdfDownLoad.generatePdf();
},
handlePreviewPdf() {
this
.
content
=
this
.
$refs
.
editorHtml
.
curHtml
.
replace
(
'<p><span data-w-e-type="mention" data-w-e-is-void data-w-e-is-inline data-value="产品列表" data-info="%7B%22id%22%3A%22e%22%7D">@产品列表</span></p>'
,
tableHtml
)
//
this.content = this.$refs.editorHtml.curHtml.replace('
<
p
><
span
data
-
w
-
e
-
type
=
"mention"
data
-
w
-
e
-
is
-
void
data
-
w
-
e
-
is
-
inline
data
-
value
=
"产品列表"
data
-
info
=
"%7B%22id%22%3A%22e%22%7D"
>
@
产品列表
<
/span></
p
>
', tableHtml)
// this.downloadFile = false
// this.previewModal = true
this.$refs.html2PdfPreview.generatePdf()
...
...
src/views/property/NoticeList.vue
浏览文件 @
a92047ee
...
...
@@ -28,7 +28,7 @@
<a-menu
slot=
"overlay"
>
<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-button
type=
"primary"
style=
"margin-left: 8px"
>
批量操作
<a-icon
type=
"down"
/></a-button>
</a-dropdown>
</div>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论