Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zj-manage
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-zhengjiang
zj-manage
Commits
81dc0d2e
Commit
81dc0d2e
authored
Aug 15, 2023
by
swl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gx
parent
3c353e8b
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1808 additions
and
499 deletions
+1808
-499
.DS_Store
.DS_Store
+0
-0
.DS_Store
public/.DS_Store
+0
-0
.DS_Store
public/static/.DS_Store
+0
-0
.DS_Store
src/.DS_Store
+0
-0
index.js
src/config/index.js
+2
-2
request.js
src/utils/request.js
+2
-2
house.vue
src/views/Commercialdeedtax/house.vue
+557
-192
house.vue
src/views/Deedtax/house.vue
+203
-2
index.vue
src/views/Deedtax/index.vue
+256
-95
house.vue
src/views/Housedeedtax/house.vue
+564
-195
index.vue
src/views/Housedeedtax/index.vue
+10
-3
house.vue
src/views/Multipledeedtax/house.vue
+202
-3
index.vue
src/views/Talents/index.vue
+10
-3
vue.config.js
vue.config.js
+2
-2
No files found.
.DS_Store
View file @
81dc0d2e
No preview for this file type
public/.DS_Store
View file @
81dc0d2e
No preview for this file type
public/static/.DS_Store
View file @
81dc0d2e
No preview for this file type
src/.DS_Store
View file @
81dc0d2e
No preview for this file type
src/config/index.js
View file @
81dc0d2e
const
domain
=
{
// dev: "http://192.168.3.87:8881", // 姚镇接口
dev
:
"http://81.69.231.72:8881"
,
// 姚镇接口
//
dev: "http://81.69.231.72:8881", // 姚镇接口
// dev: "http://81.69.231.72:8881", // 测试接口
//
dev: "https://exam.smart-zj.cn:9100/smartExam/", // 新正式接口
dev
:
"https://exam.smart-zj.cn:9100/smartExam/"
,
// 新正式接口
};
// 腾讯地图 key
const
map
=
{
...
...
src/utils/request.js
View file @
81dc0d2e
...
...
@@ -5,9 +5,9 @@ import { TokenKey } from "@/utils/auth";
const
config
=
{
// proxy: "https://exam.smart-zj.cn:9100/exam/", // 新线上地址
proxy
:
"http://81.69.231.72:8881"
,
// 测试地址
//
proxy: "http://81.69.231.72:8881", // 测试地址
// proxy: "http://192.168.3.87:8881/", //本地
// proxy: "https://exam.smart-zj.cn:9100/smartExam/", // 新正式接口
proxy
:
"https://exam.smart-zj.cn:9100/smartExam/"
,
// 新正式接口zs
// proxy: "http://81.69.231.72:9089/", // 测试地址
// proxy1: "http://81.69.231.72:8881/admin-api", // 测试地址
// proxy1: "https://exam.smart-zj.cn:9100/smartExam/admin-api", // 新正式接口
...
...
src/views/Commercialdeedtax/house.vue
View file @
81dc0d2e
<
template
>
<div
class=
"deedtax-house"
>
<div
class=
"search-wrapper"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号码"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
</el-input>
</el-form-item>
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"this.realEstateArea == '市区'"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"this.realEstateArea == '市区'"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -22,20 +47,30 @@
<br
/>
<el-form-item
label=
"状态"
style=
"margin-top: 10px"
>
<el-radio-group
v-model=
"searchForm.state"
@
change=
"onSubmit"
>
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
<div
class=
"table-wrapper"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<el-table-column
slot=
"departmentName"
label=
"实施主体"
align=
"center"
>
<template>
{{
this
.
$route
.
query
.
departmentCode
==
"10000031"
?
this
.
realEstateArea
+
'住建局'
:
this
.
realEstateArea
+
'住建窗口'
this
.
$route
.
query
.
departmentCode
==
"10000031"
?
this
.
realEstateArea
+
"住建局"
:
this
.
realEstateArea
+
"住建窗口"
}}
</
template
>
</el-table-column>
...
...
@@ -43,36 +78,120 @@
<
template
slot-scope=
"scope"
>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 0"
>
待审核
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 1"
>
待复审
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 2 || scope.row.state == 3"
>
待退税办理
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 2 || scope.row.state == 3"
>
待退税办理
</el-tag
>
<el-tag
type=
"danger"
v-if=
"scope.row.state == 4"
>
已驳回
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.state == 6"
>
已完成
</el-tag>
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"380"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button
>
<!-- 申请的单子有通过拒绝-->
<el-button
v-if=
"scope.row.state == 1 && searchForm.departmentCode == '10000027'"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
<el-button
v-if=
"
scope.row.state == 1 && searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
</el-button>
<el-button
v-if=
"scope.row.state == 1 && searchForm.departmentCode == '10000027'"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
<el-button
v-if=
"
scope.row.state == 1 && searchForm.departmentCode == '10000027'
"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
</el-button>
<el-button
v-if=
"scope.row.flag == true && searchForm.departmentCode == '10000027'"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
<el-button
v-if=
"
scope.row.flag == true &&
searchForm.departmentCode == '10000027'
"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
</el-button>
<!--
<el-button
v-if=
"(scope.row.state == 3 || scope.row.state == 2) && searchForm.departmentCode == '10000031' && $route.query.realEstateArea == '句容市'"
type=
"success"
size=
"mini"
round
@
click=
"dispatch(scope.row)"
>
退税办理
</el-button>
-->
<!--
<el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
scope.row.fileUrl &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button
>
-->
<el-button
v-if=
"scope.row.state != 0 && scope.row.state != 4 && scope.row.fileUrl && searchForm.departmentCode == '10000027'"
type=
"success"
size=
"mini"
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button>
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
>
<el-dropdown
size=
"mini"
@
command=
"handleCommand(scope.row, $event)"
>
<span
class=
"el-dropdown-link"
>
申请表
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"请点击的“重置申请表”按钮,以解决文件不存在或文件内容有误的问题"
placement=
"top-start"
>
<el-dropdown-item
icon=
"el-icon-refresh"
command=
"reset"
>
重置申请表
</el-dropdown-item>
</el-tooltip>
<el-dropdown-item
icon=
"el-icon-download"
command=
"download"
>
下载申请表
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-button>
</
template
>
</el-table-column>
</table-template>
</div>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
>
<!-- 新增功能start -->
<el-table
:data=
"totalList"
style=
"width: 100%"
>
...
...
@@ -81,13 +200,19 @@
<el-table-column
prop=
"state"
label=
"审核状态"
width=
"180"
>
</el-table-column>
<el-table-column
prop=
"reason"
label=
"审核意见"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"审核时间"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"审核时间"
>
</el-table-column>
</el-table>
<div
class=
"cell"
>
<p
class=
"label"
>
是否享受过相关政策
</p>
<p
:class=
"['value', viewDetail.enjoyFlag == true ? 'value2' : 'value1']"
>
{{ viewDetail.enjoyFlag ?
'否' : '是'
}}
</p>
<p
:class=
"[
'value',
viewDetail.enjoyFlag == true ? 'value2' : 'value1',
]"
>
{{ viewDetail.enjoyFlag ? "否" : "是" }}
</p>
</div>
<!-- 新增功能end -->
<div
class=
"cell"
>
...
...
@@ -98,8 +223,9 @@
<p
class=
"label"
>
实施主体
</p>
<p
class=
"value"
>
{{
this.$route.query.departmentCode == "10000031" ? this.realEstateArea + '住建局' :
this.realEstateArea + '住建窗口'
this.$route.query.departmentCode == "10000031"
? this.realEstateArea + "住建局"
: this.realEstateArea + "住建窗口"
}}
</p>
</div>
...
...
@@ -126,9 +252,14 @@
<div
class=
"cell"
>
<p
class=
"label"
>
身份证照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
...
...
@@ -143,23 +274,39 @@
<div
class=
"cell"
>
<p
class=
"label"
>
银行卡照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税发票号码
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
NO.{{
viewDetail.deedBillCode
}}
</p>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}
</p>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.secondDeedBillCode }}
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}、NO.{{
viewDetail.secondDeedBillCode
}}
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{
viewDetail.deedBillCode
}}、NO.{{ viewDetail.secondDeedBillCode }}
</p>
}}
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
缴纳契税金额(元)
</p>
...
...
@@ -192,33 +339,53 @@
<div
class=
"cell"
>
<p
class=
"label"
>
不动产权证书
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
商品房买卖合同3张
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税完税凭证
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
</div>
</el-dialog>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
v-if=
"recordList[0]"
>
<div
class=
"cell"
v-for=
"(item, index) in recordList"
:key=
"index"
>
<p
class=
"label"
style=
"margin-right: 20px"
>
...
...
@@ -233,13 +400,23 @@
<p
v-if=
"record.length === 0"
>
暂无记录~
</p>
</div>
</el-dialog>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-form
label-width=
"120px"
:model=
"params"
>
<el-row>
<el-form-item
label=
"改派部门"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
</el-cascader>
</el-form-item>
</el-row>
...
...
@@ -258,14 +435,20 @@ import { changeList, setName, setTel, setCertNo } from "@/utils";
// import { $fileUrl } from "@/utils/mix";
// import { getTempUrl } from "@/api/exportFileUrl";
import
{
queryCommerListDeedTax
,
queryCommerDeedTaxRecord
,
queryCommerDeedTaxDetailInfo
,
updateCommerDeedTaxState
,
mainCommerRevocation
,
updateCommerCheckArea
}
from
'@/api/commercial'
saveCommerFileUrl
,
updateCommerCheckArea
,
initCommerDepartmentRevocation
,
}
from
"@/api/commercial"
;
import
docxtemplater
from
"docxtemplater"
;
import
PizZip
from
"pizzip"
;
import
JSZipUtils
from
"jszip-utils"
;
import
{
uploadWordFile
}
from
"@/api/upload"
;
export
default
{
components
:
{
TableTemplate
},
data
()
{
...
...
@@ -276,7 +459,7 @@ export default {
phone
:
""
,
state
:
""
,
departmentCode
:
""
,
checkArealEstateArea
:
""
checkArealEstateArea
:
""
,
},
stateList
:
[
{
...
...
@@ -324,43 +507,43 @@ export default {
{
state
:
0
,
stateName
:
"待审核"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
1
,
stateName
:
"待复审"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
6
,
stateName
:
"已完成"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
2
,
stateName
:
"资料审核"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
3
,
stateName
:
"卡号确认"
,
type
:
"success"
type
:
"success"
,
},
{
state
:
4
,
stateName
:
"已驳回"
,
type
:
"danger"
type
:
"danger"
,
},
{
state
:
8
,
stateName
:
"初审通过"
,
type
:
"success"
type
:
"success"
,
},
{
state
:
9
,
stateName
:
"已驳回"
,
type
:
"danger"
}
type
:
"danger"
,
},
],
loading
:
false
,
tableData
:
[],
...
...
@@ -368,27 +551,27 @@ export default {
{
key
:
"code"
,
label
:
"申请编号"
,
width
:
200
width
:
200
,
},
{
key
:
"name"
,
label
:
"企业联系人"
,
width
:
150
width
:
150
,
},
{
key
:
"phone"
,
label
:
"手机号"
,
width
:
150
width
:
150
,
},
{
key
:
"guideName"
,
label
:
"事项名称"
,
width
:
150
width
:
150
,
},
{
key
:
"realEstateArea"
,
label
:
"不动产坐落辖市区"
,
width
:
150
width
:
150
,
},
{
key
:
"departmentName"
,
...
...
@@ -399,13 +582,13 @@ export default {
{
key
:
"createTime"
,
label
:
"更新时间"
,
width
:
160
}
width
:
160
,
},
],
pagination
:
{
total
:
0
,
pageSize
:
10
,
currentPage
:
1
currentPage
:
1
,
},
viewShow
:
false
,
viewDetail
:
{},
...
...
@@ -418,47 +601,53 @@ export default {
realEstateArea
:
null
,
reassignmentShow
:
false
,
params
:
{
code
:
''
,
checkArea
:
''
,
departmentCode
:
'10000031'
code
:
""
,
checkArea
:
""
,
departmentCode
:
"10000031"
,
},
checkAreaList
:
[
{
label
:
'市区'
,
value
:
'市区'
,
label
:
"市区"
,
value
:
"市区"
,
children
:
[
{
label
:
'京口区'
,
value
:
'京口区'
,
},
{
label
:
'润州区'
,
value
:
'润州区'
,
},
{
label
:
'镇江高新区'
,
value
:
'镇江高新区'
,
},
{
label
:
'镇江新区-丁卯片区'
,
value
:
'镇江新区-丁卯片区'
,
}
]
},
{
label
:
'丹徒区'
,
value
:
'丹徒区'
},
{
label
:
'镇江新区'
,
value
:
'镇江新区'
,
label
:
"京口区"
,
value
:
"京口区"
,
},
{
label
:
"润州区"
,
value
:
"润州区"
,
},
{
label
:
"镇江高新区"
,
value
:
"镇江高新区"
,
},
{
label
:
"镇江新区-丁卯片区"
,
value
:
"镇江新区-丁卯片区"
,
},
],
},
{
label
:
"丹徒区"
,
value
:
"丹徒区"
,
},
{
label
:
"镇江新区"
,
value
:
"镇江新区"
,
children
:
[
{
label
:
'大港片区'
,
value
:
'大港片区'
,
}
]
},
{
label
:
'句容市'
,
value
:
'句容市'
}
label
:
"大港片区"
,
value
:
"大港片区"
,
},
],
departmentName
:
''
,
},
{
label
:
"句容市"
,
value
:
"句容市"
,
},
],
departmentName
:
""
,
areaList
:
[
{
id
:
""
,
...
...
@@ -493,24 +682,27 @@ export default {
label
:
"句容市"
,
},
],
detail
:
{},
};
},
watch
:
{
$route
()
{
if
(
this
.
$route
)
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000027 人才窗口code 10000031 市财政局code退税办理
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
// realEstateArea: 市区、镇江新区、丹徒区
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
;
// departmentName: 审核部门名称(左侧列表)
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
this
.
searchForm
.
name
=
''
this
.
searchForm
.
phone
=
''
this
.
searchForm
.
state
=
''
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
;
this
.
searchForm
.
name
=
""
;
this
.
searchForm
.
phone
=
""
;
this
.
searchForm
.
state
=
""
;
this
.
init
();
}
}
},
},
methods
:
{
init
()
{
...
...
@@ -524,23 +716,23 @@ export default {
pageNum
:
this
.
pagination
.
currentPage
,
pageSize
:
this
.
pagination
.
pageSize
,
checkArea
:
this
.
realEstateArea
,
checkArealEstateArea
:
this
.
searchForm
.
checkArealEstateArea
checkArealEstateArea
:
this
.
searchForm
.
checkArealEstateArea
,
};
queryCommerListDeedTax
(
parmas
).
then
(
res
=>
{
queryCommerListDeedTax
(
parmas
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
success
)
{
this
.
pagination
.
total
=
res
.
data
.
total
;
if
(
res
.
data
.
total
)
{
this
.
tableData
=
res
.
data
.
list
.
map
(
item
=>
{
this
.
tableData
=
res
.
data
.
list
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr
(
item
.
state
).
stateName
;
item
.
type
=
this
.
getSatusArr
(
item
.
state
).
type
;
return
item
;
});
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
tableData
=
changeList
(
this
.
tableData
)
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
tableData
=
changeList
(
this
.
tableData
);
}
}
else
{
this
.
tableData
=
[]
this
.
tableData
=
[];
}
}
});
...
...
@@ -571,15 +763,15 @@ export default {
// },
download
(
url
)
{
// this.changeUrl(url)
if
(
url
.
indexOf
(
'81.69.44.115'
)
!==
-
1
)
{
if
(
url
.
indexOf
(
"81.69.44.115"
)
!==
-
1
)
{
// 测试环境
window
.
location
.
href
=
url
window
.
location
.
href
=
url
;
}
else
{
// 生产环境
// http跨域 ---> https
// let a = url.substr(0, 4) + 's' + url.substr(4)
// window.location.href = a
window
.
location
.
href
=
url
window
.
location
.
href
=
url
;
}
},
view
(
row
)
{
...
...
@@ -587,7 +779,7 @@ export default {
code
:
row
.
code
,
// matterType: row.matterType
};
queryCommerDeedTaxDetailInfo
(
params
).
then
(
res
=>
{
queryCommerDeedTaxDetailInfo
(
params
).
then
((
res
)
=>
{
// let arr = []
// res.data.pictures.forEach((item) => {
// let params = {
...
...
@@ -600,54 +792,65 @@ export default {
// let arr1 = []
// arr1 = res1.map((item, index) => ({ picture: item.data, pictureType: res.data.pictures[index].pictureType }))
this
.
viewDetail
=
res
.
data
;
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
)
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
)
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
)
}
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
item
=>
(
item
.
pictureType
===
4
||
item
.
pictureType
===
6
));
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
);
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
);
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
);
}
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
4
||
item
.
pictureType
===
6
);
this
.
viewShow
=
true
;
// })
let
reason
=
[]
let
reason
=
[];
res
.
data
.
recordVos
.
map
((
item
)
=>
{
if
(
item
)
{
reason
.
push
(
item
)
reason
.
push
(
item
);
}
});
this
.
recordList
=
reason
.
map
(
item
=>
{
this
.
recordList
=
reason
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr1
(
item
.
state
)
?
this
.
getSatusArr1
(
item
.
state
).
stateName
:
"未知状态"
;
return
item
;
});
this
.
examineList
=
this
.
recordList
;
this
.
examineList
.
forEach
(
item
=>
{
(
item
.
state
!=
4
&&
item
.
state
!=
9
)
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
this
.
examineList
.
forEach
((
item
)
=>
{
item
.
state
!=
4
&&
item
.
state
!=
9
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
});
this
.
totalList
=
this
.
examineList
;
})
});
},
record
(
row
)
{
queryCommerDeedTaxRecord
({
code
:
row
.
code
}).
then
((
res
)
=>
{
let
reason
=
[]
let
reason
=
[];
res
.
data
.
map
((
item
)
=>
{
if
(
item
)
{
reason
.
push
(
item
)
reason
.
push
(
item
);
}
});
this
.
recordList
=
reason
.
map
(
item
=>
{
this
.
recordList
=
reason
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr1
(
item
.
state
)
?
this
.
getSatusArr1
(
item
.
state
).
stateName
:
"未知状态"
;
return
item
;
});
this
.
recordShow
=
true
;
})
});
},
dispatch
(
row
)
{
this
.
$prompt
(
`确定通过该申请的退税办理吗?`
,
"提示"
,
{
...
...
@@ -655,7 +858,7 @@ export default {
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入退税金额(万元)"
,
inputType
:
"textarea"
,
type
:
"warning"
type
:
"warning"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
...
...
@@ -673,9 +876,9 @@ export default {
// name: '市财政局',
state
:
6
,
reviewerId
:
row
.
reviewerId
,
reason
:
'退税办理通过'
reason
:
"退税办理通过"
,
};
updateCommerDeedTaxState
(
params
).
then
(
res
=>
{
updateCommerDeedTaxState
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
`退税办理成功`
);
this
.
init
();
...
...
@@ -692,14 +895,14 @@ export default {
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入原因"
,
inputType
:
"textarea"
,
type
:
"warning"
type
:
"warning"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryCommerDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
queryCommerDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -712,9 +915,9 @@ export default {
// name: '人才窗口',
state
:
2
,
reviewerId
:
row
.
reviewerId
,
reason
:
value
reason
:
value
,
};
updateCommerDeedTaxState
(
params
).
then
(
res
=>
{
updateCommerDeedTaxState
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
`复审通过`
);
this
.
init
();
...
...
@@ -727,11 +930,13 @@ export default {
// })
// }
}
else
{
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
}
});
}
})
});
})
.
catch
(()
=>
{
// console.log("取消审核");
...
...
@@ -742,14 +947,14 @@ export default {
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入原因"
,
inputType
:
"textarea"
inputType
:
"textarea"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryCommerDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
queryCommerDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -761,102 +966,259 @@ export default {
departmentName
:
this
.
departmentName
,
state
:
4
,
reviewerId
:
row
.
reviewerId
,
reason
:
value
reason
:
value
,
};
updateCommerDeedTaxState
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
updateCommerDeedTaxState
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
this
.
$message
.
success
(
`复审驳回成功`
);
this
.
init
();
});
}
})
})
.
catch
(()
=>
{
});
})
.
catch
(()
=>
{});
},
drevokeeny
(
row
)
{
this
.
$confirm
(
`确定撤回该申请的审核结果吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
,
}).
then
(()
=>
{
let
params
=
{
code
:
row
.
code
,
phone
:
row
.
phone
,
reviewerId
:
row
.
reviewerId
,
state
:
row
.
state
}
state
:
row
.
state
,
};
mainCommerRevocation
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
||
res
.
success
)
{
this
.
$message
.
success
(
res
.
data
||
'审核撤回成功'
);
this
.
$message
.
success
(
res
.
data
||
"审核撤回成功"
);
this
.
init
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
init
();
}
})
})
});
});
},
reassignment
(
row
)
{
this
.
params
.
code
=
row
.
code
;
this
.
params
.
checkArea
=
row
.
checkArea
;
this
.
reassignmentShow
=
true
this
.
reassignmentShow
=
true
;
},
closeDialog
()
{
this
.
reassignmentShow
=
false
this
.
reassignmentShow
=
false
;
this
.
params
=
{
code
:
''
,
checkArea
:
''
,
departmentCode
:
'10000031'
}
code
:
""
,
checkArea
:
""
,
departmentCode
:
"10000031"
,
};
},
handleChange
(
value
)
{
if
(
value
.
length
==
2
)
{
this
.
params
.
checkArea
=
value
[
1
]
this
.
params
.
checkArea
=
value
[
1
];
}
else
{
this
.
params
.
checkArea
=
value
[
0
]
this
.
params
.
checkArea
=
value
[
0
];
}
},
determine
()
{
this
.
$confirm
(
`确定改派该申请的审核部门吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
,
}).
then
(()
=>
{
updateCommerCheckArea
(
this
.
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
reassignmentShow
=
false
this
.
reassignmentShow
=
false
;
this
.
$message
.
success
(
`改派成功`
);
this
.
init
();
}
else
{
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
}
})
})
});
});
},
getSatusArr
(
state
)
{
return
this
.
stateList
.
filter
(
item
=>
{
return
this
.
stateList
.
filter
((
item
)
=>
{
return
item
.
state
===
state
;
})[
0
];
},
getSatusArr1
(
state
)
{
return
this
.
stateList1
.
filter
(
item
=>
{
return
this
.
stateList1
.
filter
((
item
)
=>
{
return
item
.
state
===
state
;
})[
0
];
},
handleCommand
(
row
,
com
)
{
console
.
log
(
row
,
com
);
switch
(
com
)
{
case
"reset"
:
this
.
resetHandle
(
row
);
break
;
default
:
window
.
location
.
href
=
row
.
fileUrl
;
break
;
}
},
resetHandle
(
row
)
{
let
params
=
{
code
:
row
.
code
,
};
Promise
.
all
([
queryCommerDeedTaxDetailInfo
(
params
),
queryCommerDeedTaxRecord
(
params
),
]).
then
((
res
)
=>
{
console
.
log
(
res
);
// if (res[0].data?.state == 1) {
this
.
detail
=
res
[
0
].
data
;
this
.
arrList
=
res
[
1
].
data
;
this
.
detail
.
recordVos
.
forEach
((
item
)
=>
{
item
.
departmentName
.
search
(
"财政"
)
!=
-
1
?
(
this
.
arr1
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"不动产"
)
!=
-
1
?
(
this
.
arr2
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"税务"
)
!=
-
1
?
(
this
.
arr3
=
item
.
reason
)
:
""
;
});
console
.
log
(
111
);
this
.
initTemplate
();
// }
});
},
initTemplate
()
{
let
that
=
this
;
console
.
log
(
"-------"
,
that
.
detail
);
console
.
log
(
that
.
arrList
);
console
.
log
(
that
.
arr1
,
that
.
arr2
,
that
.
arr3
);
let
arr
=
{};
arr
.
name
=
that
.
detail
.
name
;
arr
.
idCard
=
that
.
detail
.
idCard
;
arr
.
birthDate
=
that
.
detail
.
idCard
.
substring
(
6
,
10
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
10
,
12
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
12
,
14
);
arr
.
address
=
that
.
detail
.
address
;
arr
.
phone
=
that
.
detail
.
phone
;
arr
.
realEstateAddress
=
that
.
detail
.
realEstateAddress
;
arr
.
realEstateCard
=
that
.
detail
.
realEstateCard
;
arr
.
square
=
that
.
detail
.
square
;
arr
.
bank
=
that
.
detail
.
bank
;
arr
.
bankCard
=
that
.
detail
.
bankCard
;
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
if
(
this
.
$route
.
query
.
realEstateArea
!=
"句容市"
)
{
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax1.docx"
;
//模板文件的位置
}
else
{
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax2.docx"
;
//模板文件的位置
}
// let docxname = '购房契税补贴申请表'; //导出文件的名字
// 读取并获得模板文件的二进制内容
JSZipUtils
.
getBinaryContent
(
this
.
docxsrc
,
function
(
error
,
content
)
{
// docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
// 抛出异常
// debugger
if
(
error
)
{
throw
error
;
}
// 创建一个PizZip实例,内容为模板的内容
let
zip
=
new
PizZip
(
content
);
// 创建并加载docx templater实例对象
let
doc
=
new
docxtemplater
().
loadZip
(
zip
);
// 设置模板变量的值
// console.log("arr666---", arr);
doc
.
setData
({
...
arr
,
// e中的数据可以再模板中直接使用
});
try
{
// 用模板变量的值替换所有模板变量
doc
.
render
();
}
catch
(
error
)
{
// 抛出异常
let
e
=
{
message
:
error
.
message
,
name
:
error
.
name
,
stack
:
error
.
stack
,
properties
:
error
.
properties
,
};
console
.
log
(
JSON
.
stringify
({
error
:
e
,
})
);
throw
error
;
}
// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
let
out
=
doc
.
getZip
().
generate
({
type
:
"blob"
,
mimeType
:
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
});
console
.
log
(
"out----"
,
out
);
uploadWordFile
(
new
File
([
out
],
"deed-text"
+
new
Date
().
valueOf
()
+
".docx"
,
{
type
:
out
.
type
,
})
).
then
((
res
)
=>
{
console
.
log
(
"文件的res----"
,
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
detail
.
code
,
fileUrl
:
res
.
data
,
};
saveCommerFileUrl
(
params
).
then
((
res
)
=>
{
console
.
log
(
"初审通过后的传填充文件给后端---"
,
res
);
that
.
init
();
});
}
else
{
that
.
$message
.
error
(
res
.
msg
);
queryCommerDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
rowDetail
.
code
,
phone
:
res
.
data
.
phone
,
reviewerId
:
that
.
rowDetail
.
reviewerId
,
state
:
res
.
data
.
state
,
};
initCommerDepartmentRevocation
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
that
.
init
();
});
}
}
);
}
});
});
},
},
created
()
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000027 人才窗口code 10000031 市财政局code退税办理
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
// realEstateArea: 市区、镇江新区、丹徒区
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
;
// departmentName: 审核部门名称(左侧列表)
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
;
this
.
init
();
}
},
};
</
script
>
...
...
@@ -909,4 +1271,7 @@ export default {
}
}
}
.el-dropdown
>>>
.el-dropdown-link
{
font-size
:
12px
}
</
style
>
src/views/Deedtax/house.vue
View file @
81dc0d2e
...
...
@@ -134,7 +134,7 @@
<!--
<el-button
v-if=
"(scope.row.state == 3 || scope.row.state == 2) && searchForm.departmentCode == '10000031' && $route.query.realEstateArea == '句容市'"
type=
"success"
size=
"mini"
round
@
click=
"dispatch(scope.row)"
>
退税办理
</el-button>
-->
<el-button
<
!--
<
el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
...
...
@@ -146,7 +146,42 @@
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button
>
-->
<el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
>
<el-dropdown
size=
"mini"
@
command=
"handleCommand(scope.row, $event)"
>
<span
class=
"el-dropdown-link"
>
申请表
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"请点击的“重置申请表”按钮,以解决文件不存在或文件内容有误的问题"
placement=
"top-start"
>
<el-dropdown-item
icon=
"el-icon-refresh"
command=
"reset"
>
重置申请表
</el-dropdown-item>
</el-tooltip>
<el-dropdown-item
icon=
"el-icon-download"
command=
"download"
>
下载申请表
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-button>
</
template
>
</el-table-column>
</table-template>
...
...
@@ -399,7 +434,10 @@ import TableTemplate from "@/components/Table";
import
{
changeList
,
setName
,
setTel
,
setCertNo
}
from
"@/utils"
;
// import { $fileUrl } from "@/utils/mix";
// import { getTempUrl } from "@/api/exportFileUrl";
import
docxtemplater
from
"docxtemplater"
;
import
PizZip
from
"pizzip"
;
import
JSZipUtils
from
"jszip-utils"
;
import
{
uploadWordFile
}
from
"@/api/upload"
;
import
{
queryListDeedTax
,
queryDeedTaxDetailInfo
,
...
...
@@ -407,6 +445,8 @@ import {
updateDeedTaxState
,
mainRevocation
,
updateCheckArea
,
initDepartmentRevocation
,
saveFileUrl
,
}
from
"@/api/deedtax"
;
export
default
{
...
...
@@ -642,6 +682,8 @@ export default {
label
:
"句容市"
,
},
],
// downloadUrl: "",
detail
:
{},
};
},
watch
:
{
...
...
@@ -1013,7 +1055,163 @@ export default {
return
item
.
state
===
state
;
})[
0
];
},
handleCommand
(
row
,
com
)
{
console
.
log
(
row
,
com
);
// this.downloadUrl=row.fileUrl
switch
(
com
)
{
case
"reset"
:
this
.
resetHandle
(
row
);
break
;
default
:
window
.
location
.
href
=
row
.
fileUrl
;
break
;
}
},
resetHandle
(
row
)
{
let
params
=
{
code
:
row
.
code
,
};
Promise
.
all
([
queryDeedTaxDetailInfo
(
params
),
queryDeedTaxRecord
(
params
),
]).
then
((
res
)
=>
{
console
.
log
(
res
);
// if (res[0].data?.state == 1) {
console
.
log
(
111
);
this
.
detail
=
res
[
0
].
data
;
this
.
arrList
=
res
[
1
].
data
;
this
.
detail
.
recordVos
.
forEach
((
item
)
=>
{
item
.
departmentName
.
search
(
"财政"
)
!=
-
1
?
(
this
.
arr1
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"不动产"
)
!=
-
1
?
(
this
.
arr2
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"税务"
)
!=
-
1
?
(
this
.
arr3
=
item
.
reason
)
:
""
;
});
this
.
initTemplate
();
// }
});
},
initTemplate
()
{
let
that
=
this
;
console
.
log
(
"-------"
,
that
.
detail
);
console
.
log
(
that
.
arrList
);
console
.
log
(
that
.
arr1
,
that
.
arr2
,
that
.
arr3
);
let
arr
=
{};
arr
.
name
=
that
.
detail
.
name
;
arr
.
idCard
=
that
.
detail
.
idCard
;
arr
.
birthDate
=
that
.
detail
.
idCard
.
substring
(
6
,
10
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
10
,
12
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
12
,
14
);
arr
.
address
=
that
.
detail
.
address
;
arr
.
phone
=
that
.
detail
.
phone
;
arr
.
realEstateAddress
=
that
.
detail
.
realEstateAddress
;
arr
.
realEstateCard
=
that
.
detail
.
realEstateCard
;
arr
.
square
=
that
.
detail
.
square
;
arr
.
bank
=
that
.
detail
.
bank
;
arr
.
bankCard
=
that
.
detail
.
bankCard
;
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
if
(
this
.
$route
.
query
.
realEstateArea
!=
"句容市"
)
{
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax1.docx"
;
//模板文件的位置
}
else
{
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax2.docx"
;
//模板文件的位置
}
// let docxname = '购房契税补贴申请表'; //导出文件的名字
// 读取并获得模板文件的二进制内容
JSZipUtils
.
getBinaryContent
(
this
.
docxsrc
,
function
(
error
,
content
)
{
// docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
// 抛出异常
// debugger
if
(
error
)
{
throw
error
;
}
// 创建一个PizZip实例,内容为模板的内容
let
zip
=
new
PizZip
(
content
);
// 创建并加载docx templater实例对象
let
doc
=
new
docxtemplater
().
loadZip
(
zip
);
// 设置模板变量的值
// console.log("arr666---", arr);
doc
.
setData
({
...
arr
,
// e中的数据可以再模板中直接使用
});
try
{
// 用模板变量的值替换所有模板变量
doc
.
render
();
}
catch
(
error
)
{
// 抛出异常
let
e
=
{
message
:
error
.
message
,
name
:
error
.
name
,
stack
:
error
.
stack
,
properties
:
error
.
properties
,
};
console
.
log
(
JSON
.
stringify
({
error
:
e
,
})
);
throw
error
;
}
// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
let
out
=
doc
.
getZip
().
generate
({
type
:
"blob"
,
mimeType
:
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
});
console
.
log
(
"out----"
,
out
);
uploadWordFile
(
new
File
([
out
],
"deed-text"
+
new
Date
().
valueOf
()
+
".docx"
,
{
type
:
out
.
type
,
})
).
then
((
res
)
=>
{
console
.
log
(
"文件的res----"
,
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
detail
.
code
,
fileUrl
:
res
.
data
,
};
saveFileUrl
(
params
).
then
((
res
)
=>
{
console
.
log
(
"初审通过后的传填充文件给后端---"
,
res
);
that
.
init
();
});
}
else
{
that
.
$message
.
error
(
res
.
msg
);
queryDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
rowDetail
.
code
,
phone
:
res
.
data
.
phone
,
reviewerId
:
that
.
rowDetail
.
reviewerId
,
state
:
res
.
data
.
state
,
};
initDepartmentRevocation
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
that
.
init
();
});
}
}
);
}
});
});
},
},
created
()
{
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000027 人才窗口code 10000031 市财政局code退税办理
...
...
@@ -1078,4 +1276,7 @@ export default {
}
}
}
.el-dropdown
>>>
.el-dropdown-link
{
font-size
:
12px
}
</
style
>
src/views/Deedtax/index.vue
View file @
81dc0d2e
<
template
>
<div
class=
"deedtax"
>
<div
class=
"search-wrapper"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号码"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
</el-input>
</el-form-item>
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"
this.realEstateArea == '市区' ||
(this.searchForm.departmentCode == '10000032' &&
this.realEstateArea != '句容市')
"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -23,24 +49,37 @@
<el-button
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
v-if=
"
<el-button
type=
"primary"
v-if=
"
this.searchForm.departmentCode == '10000033' ||
this.searchForm.departmentCode == '10000031'
"
@
click=
"downLoadShow = true"
>
导出
"
@
click=
"downLoadShow = true"
>
导出
</el-button>
</el-form-item>
<br
/>
<el-form-item
label=
"状态"
style=
"margin-top: 10px"
>
<el-radio-group
v-model=
"searchForm.state"
@
change=
"onSubmit"
>
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
<div
class=
"table-wrapper"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<el-table-column
slot=
"departmentName"
label=
"实施主体"
align=
"center"
>
<template>
{{
this
.
$route
.
query
.
departmentName
}}
...
...
@@ -48,12 +87,18 @@
</el-table-column>
<el-table-column
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-tag
type=
"warning"
v-if=
"scope.row.reviewerState == 0"
>
待审核
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.reviewerState == 8"
>
初审通过
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.reviewerState == 0"
>
待审核
</el-tag
>
<el-tag
type=
"success"
v-if=
"scope.row.reviewerState == 8"
>
初审通过
</el-tag
>
<!--
<el-tag
type=
"warning"
v-if=
"scope.row.state == 1"
>
待复审
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 2"
>
待用户确认
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 3"
>
待退税办理
</el-tag>
-->
<el-tag
type=
"danger"
v-if=
"scope.row.reviewerState == 9"
>
已驳回
</el-tag>
<el-tag
type=
"danger"
v-if=
"scope.row.reviewerState == 9"
>
已驳回
</el-tag
>
<!--
<el-tag
type=
"info"
v-if=
"scope.row.state == 5"
>
已撤销
</el-tag>
-->
<!--
<el-tag
type=
"warning"
v-if=
"scope.row.state == 6"
>
资料审核
</el-tag>
-->
<!--
<el-tag
type=
"success"
v-if=
"scope.row.state == 6"
>
已完成
</el-tag>
-->
...
...
@@ -61,28 +106,63 @@
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"350"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button
>
<!-- 申请的单子有通过拒绝-->
<el-button
v-if=
"scope.row.reviewerState == 0 && scope.row.state == 0"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
<el-button
v-if=
"scope.row.reviewerState == 0 && scope.row.state == 0"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
</el-button>
<el-button
v-if=
"scope.row.reviewerState == 0 && scope.row.state == 0"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
<el-button
v-if=
"scope.row.reviewerState == 0 && scope.row.state == 0"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
</el-button>
<el-button
v-if=
"
<el-button
v-if=
"
(scope.row.reviewerState == 9 && scope.row.state == 4) ||
((scope.row.state == 0 || scope.row.state == 1) &&
scope.row.reviewerState == 8)
"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
</el-button>
<el-button
v-if=
"scope.row.state == 0"
type=
"warning"
size=
"mini"
round
@
click=
"reassignment(scope.row)"
>
改派
<el-button
v-if=
"scope.row.state == 0"
type=
"warning"
size=
"mini"
round
@
click=
"reassignment(scope.row)"
>
改派
</el-button>
</
template
>
</el-table-column>
</table-template>
</div>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
>
<!-- 新增功能start -->
<el-table
:data=
"totalList"
style=
"width: 100%"
>
...
...
@@ -96,10 +176,12 @@
</el-table>
<div
class=
"cell"
>
<p
class=
"label"
>
是否享受过相关政策
</p>
<p
:class=
"[
<p
:class=
"[
'value',
viewDetail.enjoyFlag == true ? 'value2' : 'value1',
]"
>
]"
>
{{ viewDetail.enjoyFlag ? "否" : "是" }}
</p>
</div>
...
...
@@ -135,9 +217,14 @@
<div
class=
"cell"
>
<p
class=
"label"
>
身份证照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
...
...
@@ -152,21 +239,35 @@
<div
class=
"cell"
>
<p
class=
"label"
>
银行卡照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税发票号码
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}
</p>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.secondDeedBillCode }}
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}、NO.{{
viewDetail.secondDeedBillCode
}}
...
...
@@ -215,33 +316,53 @@
<div
class=
"cell"
>
<p
class=
"label"
>
不动产权证书
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
商品房买卖合同3张
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税完税凭证
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
</div>
</el-dialog>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
v-if=
"recordList[0]"
>
<div
class=
"cell"
v-for=
"(item, index) in recordList"
:key=
"index"
>
<p
class=
"label"
style=
"margin-right: 20px"
>
...
...
@@ -256,13 +377,23 @@
<p
v-if=
"record.length === 0"
>
暂无记录~
</p>
</div>
</el-dialog>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-form
label-width=
"120px"
:model=
"params"
>
<el-row>
<el-form-item
label=
"改派部门"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
</el-cascader>
</el-form-item>
</el-row>
...
...
@@ -272,19 +403,37 @@
<el-button
type=
"primary"
@
click=
"determine"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"导出范围"
:visible
.
sync=
"downLoadShow"
width=
"600px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"导出范围"
:visible
.
sync=
"downLoadShow"
width=
"600px"
:close-on-press-escape=
"false"
>
<el-form
label-width=
"120px"
:model=
"params"
>
<el-row>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"downLoadParams.state"
placeholder=
"请选择状态"
>
<el-option
v-for=
"item in downLoadList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-option
v-for=
"item in downLoadList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"日期"
>
<el-date-picker
v-model=
"date"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"time"
>
<el-date-picker
v-model=
"date"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"time"
>
</el-date-picker>
</el-form-item>
</el-row>
...
...
@@ -321,7 +470,7 @@ export default {
components
:
{
TableTemplate
},
data
()
{
return
{
userName
:
''
,
userName
:
""
,
searchForm
:
{
name
:
""
,
phone
:
""
,
...
...
@@ -570,7 +719,7 @@ export default {
watch
:
{
$route
()
{
if
(
this
.
$route
)
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000031 财政局code 10000032 税务局code 10000033 不动产登记中心code
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
...
...
@@ -578,12 +727,12 @@ export default {
:
null
;
// departmentName: 审核部门名称(左侧列表)
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
;
this
.
searchForm
.
name
=
''
this
.
searchForm
.
phone
=
''
this
.
searchForm
.
state
=
''
this
.
searchForm
.
name
=
""
;
this
.
searchForm
.
phone
=
""
;
this
.
searchForm
.
state
=
""
;
this
.
init
();
}
}
}
,
},
methods
:
{
init
()
{
...
...
@@ -610,11 +759,11 @@ export default {
item
.
type
=
this
.
getSatusArr
(
item
.
reviewerState
).
type
;
return
item
;
});
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
tableData
=
changeList
(
this
.
tableData
)
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
tableData
=
changeList
(
this
.
tableData
)
;
}
}
else
{
this
.
tableData
=
[]
this
.
tableData
=
[]
;
}
}
});
...
...
@@ -637,7 +786,7 @@ export default {
code
:
row
.
code
,
// matterType: row.matterType
};
queryDeedTaxDetailInfo
(
params
).
then
(
res
=>
{
queryDeedTaxDetailInfo
(
params
).
then
(
(
res
)
=>
{
// console.log(res)
// let arr = []
// res.data.pictures.forEach((item) => {
...
...
@@ -651,33 +800,45 @@ export default {
// let arr1 = []
// arr1 = res1.map((item, index) => ({ picture: item.data, pictureType: res.data.pictures[index].pictureType }))
this
.
viewDetail
=
res
.
data
;
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
)
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
)
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
)
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
)
;
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
)
;
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
)
;
}
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
item
=>
(
item
.
pictureType
===
4
||
item
.
pictureType
===
6
));
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
4
||
item
.
pictureType
===
6
);
this
.
viewShow
=
true
;
// })
let
reason
=
[]
let
reason
=
[]
;
res
.
data
.
recordVos
.
map
((
item
)
=>
{
if
(
item
)
{
reason
.
push
(
item
)
reason
.
push
(
item
)
;
}
});
this
.
recordList
=
reason
.
map
(
item
=>
{
this
.
recordList
=
reason
.
map
(
(
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr1
(
item
.
state
)
?
this
.
getSatusArr1
(
item
.
state
).
stateName
:
"未知状态"
;
return
item
;
});
this
.
examineList
=
this
.
recordList
;
this
.
examineList
.
forEach
(
item
=>
{
(
item
.
state
!=
4
&&
item
.
state
!=
9
)
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
this
.
examineList
.
forEach
((
item
)
=>
{
item
.
state
!=
4
&&
item
.
state
!=
9
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
});
this
.
totalList
=
this
.
examineList
;
console
.
log
(
this
.
totalList
);
...
...
@@ -711,7 +872,7 @@ export default {
},
pass
(
row
)
{
console
.
log
(
row
);
this
.
rowDetail
=
row
this
.
rowDetail
=
row
;
this
.
$prompt
(
`确定通过该申请的初审吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
...
...
@@ -724,7 +885,7 @@ export default {
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
(
res
)
=>
{
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -779,8 +940,7 @@ export default {
}
});
}
})
});
})
.
catch
(()
=>
{
// console.log("取消审核");
...
...
@@ -810,7 +970,7 @@ export default {
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
if
(
this
.
$route
.
query
.
realEstateArea
!=
'句容市'
)
{
if
(
this
.
$route
.
query
.
realEstateArea
!=
"句容市"
)
{
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
...
...
@@ -878,8 +1038,9 @@ export default {
});
}
else
{
that
.
$message
.
error
(
res
.
msg
);
queryDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
res
=>
{
console
.
log
(
res
)
queryDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
rowDetail
.
code
,
...
...
@@ -892,7 +1053,8 @@ export default {
that
.
init
();
});
}
})
}
);
}
});
// 将目标文件对象保存为目标类型的文件,并命名
...
...
@@ -911,8 +1073,8 @@ export default {
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
console
.
log
(
res
)
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
)
;
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -934,7 +1096,7 @@ export default {
this
.
init
();
});
}
})
})
;
})
.
catch
(()
=>
{
// console.log("取消审核");
...
...
@@ -947,8 +1109,8 @@ export default {
cancelButtonText
:
"取消"
,
type
:
"warning"
,
}).
then
(()
=>
{
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
console
.
log
(
res
)
queryDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
)
;
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -967,8 +1129,7 @@ export default {
}
});
}
})
});
});
},
reassignment
(
row
)
{
...
...
@@ -1065,7 +1226,7 @@ export default {
},
},
created
()
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000031 财政局code 10000032 税务局code 10000033 不动产登记中心code
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
...
...
src/views/Housedeedtax/house.vue
View file @
81dc0d2e
<
template
>
<div
class=
"deedtax-house"
>
<div
class=
"search-wrapper"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form
:inline=
"true"
:model=
"searchForm"
class=
"search_form"
style=
"text-align: left"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
<el-input
v-model=
"searchForm.name"
placeholder=
"请输入姓名"
@
keyup
.
enter
.
native=
"onSubmit"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号码"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
<el-input
v-model=
"searchForm.phone"
placeholder=
"请输入手机号码"
@
keyup
.
enter
.
native=
"onSubmit"
>
</el-input>
</el-form-item>
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"this.realEstateArea == '市区'"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
<el-form-item
label=
"不动产坐落辖市区"
v-if=
"this.realEstateArea == '市区'"
>
<el-select
v-model=
"searchForm.checkArealEstateArea"
placeholder=
"请选择不动产坐落辖市区"
@
change=
"onSubmit"
size=
"medium"
>
<el-option
v-for=
"item in areaList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -22,20 +47,30 @@
<br
/>
<el-form-item
label=
"状态"
style=
"margin-top: 10px"
>
<el-radio-group
v-model=
"searchForm.state"
@
change=
"onSubmit"
>
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
<el-radio
:label=
"item.state"
v-for=
"item in stateList"
:key=
"item.state"
>
{{
item
.
stateName
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
<div
class=
"table-wrapper"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<table-template
:tableData=
"tableData"
:tableColumns=
"tableColumns"
:loading=
"loading"
:pagination=
"pagination"
@
Jump=
"jumpPage"
>
<el-table-column
slot=
"departmentName"
label=
"实施主体"
align=
"center"
>
<template>
{{
this
.
$route
.
query
.
departmentCode
==
"10000031"
?
this
.
realEstateArea
+
'住建局'
:
this
.
realEstateArea
+
'住建窗口'
this
.
$route
.
query
.
departmentCode
==
"10000031"
?
this
.
realEstateArea
+
"住建局"
:
this
.
realEstateArea
+
"住建窗口"
}}
</
template
>
</el-table-column>
...
...
@@ -43,36 +78,120 @@
<
template
slot-scope=
"scope"
>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 0"
>
待审核
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 1"
>
待复审
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 2 || scope.row.state == 3"
>
待退税办理
</el-tag>
<el-tag
type=
"warning"
v-if=
"scope.row.state == 2 || scope.row.state == 3"
>
待退税办理
</el-tag
>
<el-tag
type=
"danger"
v-if=
"scope.row.state == 4"
>
已驳回
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.state == 6"
>
已完成
</el-tag>
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"380"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"view(scope.row)"
>
查看
</el-button
>
<el-button
type=
"primary"
size=
"mini"
round
@
click=
"record(scope.row)"
>
记录
</el-button
>
<!-- 申请的单子有通过拒绝-->
<el-button
v-if=
"scope.row.state == 1 && searchForm.departmentCode == '10000027'"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
<el-button
v-if=
"
scope.row.state == 1 && searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
@
click=
"pass(scope.row)"
>
通过
</el-button>
<el-button
v-if=
"scope.row.state == 1 && searchForm.departmentCode == '10000027'"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
<el-button
v-if=
"
scope.row.state == 1 && searchForm.departmentCode == '10000027'
"
type=
"danger"
size=
"mini"
round
@
click=
"deny(scope.row)"
>
拒绝
</el-button>
<el-button
v-if=
"scope.row.flag == true && searchForm.departmentCode == '10000027'"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
<el-button
v-if=
"
scope.row.flag == true &&
searchForm.departmentCode == '10000027'
"
type=
"info"
size=
"mini"
round
@
click=
"drevokeeny(scope.row)"
>
撤销
</el-button>
<!--
<el-button
v-if=
"(scope.row.state == 3 || scope.row.state == 2) && searchForm.departmentCode == '10000031' && $route.query.realEstateArea == '句容市'"
type=
"success"
size=
"mini"
round
@
click=
"dispatch(scope.row)"
>
退税办理
</el-button>
-->
<!--
<el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
scope.row.fileUrl &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button
>
-->
<el-button
v-if=
"scope.row.state != 0 && scope.row.state != 4 && scope.row.fileUrl && searchForm.departmentCode == '10000027'"
type=
"success"
size=
"mini"
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button>
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
>
<el-dropdown
size=
"mini"
@
command=
"handleCommand(scope.row, $event)"
>
<span
class=
"el-dropdown-link"
>
申请表
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"请点击的“重置申请表”按钮,以解决文件不存在或文件内容有误的问题"
placement=
"top-start"
>
<el-dropdown-item
icon=
"el-icon-refresh"
command=
"reset"
>
重置申请表
</el-dropdown-item>
</el-tooltip>
<el-dropdown-item
icon=
"el-icon-download"
command=
"download"
>
下载申请表
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-button>
</
template
>
</el-table-column>
</table-template>
</div>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"申报详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
>
<!-- 新增功能start -->
<el-table
:data=
"totalList"
style=
"width: 100%"
>
...
...
@@ -81,13 +200,19 @@
<el-table-column
prop=
"state"
label=
"审核状态"
width=
"180"
>
</el-table-column>
<el-table-column
prop=
"reason"
label=
"审核意见"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"审核时间"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"审核时间"
>
</el-table-column>
</el-table>
<div
class=
"cell"
>
<p
class=
"label"
>
是否享受过相关政策
</p>
<p
:class=
"['value', viewDetail.enjoyFlag == true ? 'value2' : 'value1']"
>
{{ viewDetail.enjoyFlag ?
'否' : '是'
}}
</p>
<p
:class=
"[
'value',
viewDetail.enjoyFlag == true ? 'value2' : 'value1',
]"
>
{{ viewDetail.enjoyFlag ? "否" : "是" }}
</p>
</div>
<!-- 新增功能end -->
<div
class=
"cell"
>
...
...
@@ -98,8 +223,9 @@
<p
class=
"label"
>
实施主体
</p>
<p
class=
"value"
>
{{
this.$route.query.departmentCode == "10000031" ? this.realEstateArea + '住建局' :
this.realEstateArea + '住建窗口'
this.$route.query.departmentCode == "10000031"
? this.realEstateArea + "住建局"
: this.realEstateArea + "住建窗口"
}}
</p>
</div>
...
...
@@ -126,9 +252,14 @@
<div
class=
"cell"
>
<p
class=
"label"
>
身份证照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.idCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
...
...
@@ -143,23 +274,39 @@
<div
class=
"cell"
>
<p
class=
"label"
>
银行卡照片
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.bankCardPicture"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税发票号码
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
NO.{{
viewDetail.deedBillCode
}}
</p>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && !viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}
</p>
<p
class=
"value"
v-if=
"!viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.secondDeedBillCode }}
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{ viewDetail.deedBillCode }}、NO.{{
viewDetail.secondDeedBillCode
}}
</p>
<p
class=
"value"
v-if=
"viewDetail.deedBillCode && viewDetail.secondDeedBillCode"
>
NO.{{
viewDetail.deedBillCode
}}、NO.{{ viewDetail.secondDeedBillCode }}
</p>
}}
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
缴纳契税金额(元)
</p>
...
...
@@ -192,33 +339,53 @@
<div
class=
"cell"
>
<p
class=
"label"
>
不动产权证书
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.certificate"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
商品房买卖合同3张
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.contract"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
<div
class=
"cell"
>
<p
class=
"label"
>
契税完税凭证
</p>
<p
class=
"value"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
<el-image
v-for=
"(item, index) in viewDetail.voucher"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"item.picture"
:z-index=
"7777777"
:preview-src-list=
"[item.picture]"
>
</el-image>
</p>
</div>
</div>
</el-dialog>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<el-dialog
title=
"操作记录"
:visible
.
sync=
"recordShow"
width=
"800px"
:close-on-press-escape=
"false"
>
<div
class=
"content"
v-if=
"recordList[0]"
>
<div
class=
"cell"
v-for=
"(item, index) in recordList"
:key=
"index"
>
<p
class=
"label"
style=
"margin-right: 20px"
>
...
...
@@ -233,13 +400,23 @@
<p
v-if=
"record.length === 0"
>
暂无记录~
</p>
</div>
</el-dialog>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-dialog
title=
"改派部门"
:visible
.
sync=
"reassignmentShow"
width=
"600px"
:close-on-press-escape=
"false"
:before-close=
"closeDialog"
>
<el-form
label-width=
"120px"
:model=
"params"
>
<el-row>
<el-form-item
label=
"改派部门"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
<el-cascader
v-model=
"params.checkArea"
placeholder=
"请选择部门"
:options=
"checkAreaList"
:show-all-levels=
"false"
@
change=
"handleChange"
>
</el-cascader>
</el-form-item>
</el-row>
...
...
@@ -255,17 +432,20 @@
<
script
>
import
TableTemplate
from
"@/components/Table"
;
import
{
changeList
,
setName
,
setTel
,
setCertNo
}
from
"@/utils"
;
// import { $fileUrl } from "@/utils/mix
";
// import { getTempUrl } from "@/api/exportFileUrl
";
import
docxtemplater
from
"docxtemplater
"
;
import
PizZip
from
"pizzip
"
;
import
JSZipUtils
from
"jszip-utils"
;
import
{
uploadWordFile
}
from
"@/api/upload"
;
import
{
queryHouseListDeedTax
,
queryHouseDeedTaxRecord
,
queryHouseDeedTaxDetailInfo
,
updateHouseDeedTaxState
,
mainHouseRevocation
,
updateHouseCheckArea
}
from
'@/api/house.js'
updateHouseCheckArea
,
saveHouseFileUrl
,
initHouseDepartmentRevocation
,
}
from
"@/api/house.js"
;
export
default
{
components
:
{
TableTemplate
},
data
()
{
...
...
@@ -276,7 +456,7 @@ export default {
phone
:
""
,
state
:
""
,
departmentCode
:
""
,
checkArealEstateArea
:
""
checkArealEstateArea
:
""
,
},
stateList
:
[
{
...
...
@@ -324,43 +504,43 @@ export default {
{
state
:
0
,
stateName
:
"待审核"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
1
,
stateName
:
"待复审"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
6
,
stateName
:
"已完成"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
2
,
stateName
:
"资料审核"
,
type
:
"warning"
type
:
"warning"
,
},
{
state
:
3
,
stateName
:
"卡号确认"
,
type
:
"success"
type
:
"success"
,
},
{
state
:
4
,
stateName
:
"已驳回"
,
type
:
"danger"
type
:
"danger"
,
},
{
state
:
8
,
stateName
:
"初审通过"
,
type
:
"success"
type
:
"success"
,
},
{
state
:
9
,
stateName
:
"已驳回"
,
type
:
"danger"
}
type
:
"danger"
,
},
],
loading
:
false
,
tableData
:
[],
...
...
@@ -368,27 +548,27 @@ export default {
{
key
:
"code"
,
label
:
"申请编号"
,
width
:
200
width
:
200
,
},
{
key
:
"name"
,
label
:
"企业联系人"
,
width
:
150
width
:
150
,
},
{
key
:
"phone"
,
label
:
"手机号"
,
width
:
150
width
:
150
,
},
{
key
:
"guideName"
,
label
:
"事项名称"
,
width
:
150
width
:
150
,
},
{
key
:
"realEstateArea"
,
label
:
"不动产坐落辖市区"
,
width
:
150
width
:
150
,
},
{
key
:
"departmentName"
,
...
...
@@ -399,13 +579,13 @@ export default {
{
key
:
"createTime"
,
label
:
"更新时间"
,
width
:
160
}
width
:
160
,
},
],
pagination
:
{
total
:
0
,
pageSize
:
10
,
currentPage
:
1
currentPage
:
1
,
},
viewShow
:
false
,
viewDetail
:
{},
...
...
@@ -418,47 +598,53 @@ export default {
realEstateArea
:
null
,
reassignmentShow
:
false
,
params
:
{
code
:
''
,
checkArea
:
''
,
departmentCode
:
'10000031'
code
:
""
,
checkArea
:
""
,
departmentCode
:
"10000031"
,
},
checkAreaList
:
[
{
label
:
'市区'
,
value
:
'市区'
,
label
:
"市区"
,
value
:
"市区"
,
children
:
[
{
label
:
'京口区'
,
value
:
'京口区'
,
},
{
label
:
'润州区'
,
value
:
'润州区'
,
},
{
label
:
'镇江高新区'
,
value
:
'镇江高新区'
,
},
{
label
:
'镇江新区-丁卯片区'
,
value
:
'镇江新区-丁卯片区'
,
}
]
},
{
label
:
'丹徒区'
,
value
:
'丹徒区'
},
{
label
:
'镇江新区'
,
value
:
'镇江新区'
,
label
:
"京口区"
,
value
:
"京口区"
,
},
{
label
:
"润州区"
,
value
:
"润州区"
,
},
{
label
:
"镇江高新区"
,
value
:
"镇江高新区"
,
},
{
label
:
"镇江新区-丁卯片区"
,
value
:
"镇江新区-丁卯片区"
,
},
],
},
{
label
:
"丹徒区"
,
value
:
"丹徒区"
,
},
{
label
:
"镇江新区"
,
value
:
"镇江新区"
,
children
:
[
{
label
:
'大港片区'
,
value
:
'大港片区'
,
}
]
},
{
label
:
'句容市'
,
value
:
'句容市'
}
label
:
"大港片区"
,
value
:
"大港片区"
,
},
],
departmentName
:
''
,
},
{
label
:
"句容市"
,
value
:
"句容市"
,
},
],
departmentName
:
""
,
areaList
:
[
{
id
:
""
,
...
...
@@ -493,24 +679,34 @@ export default {
label
:
"句容市"
,
},
],
detail
:
{},
arrList
:
[],
arr1
:
""
,
arr2
:
""
,
arr3
:
""
,
docxsrc
:
""
,
rowDetail
:
""
,
};
},
watch
:
{
$route
()
{
if
(
this
.
$route
)
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000027 人才窗口code 10000031 市财政局code退税办理
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
// realEstateArea: 市区、镇江新区、丹徒区
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
;
// departmentName: 审核部门名称(左侧列表)
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
this
.
searchForm
.
name
=
''
this
.
searchForm
.
phone
=
''
this
.
searchForm
.
state
=
''
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
;
this
.
searchForm
.
name
=
""
;
this
.
searchForm
.
phone
=
""
;
this
.
searchForm
.
state
=
""
;
this
.
init
();
}
}
},
},
methods
:
{
init
()
{
...
...
@@ -524,23 +720,23 @@ export default {
pageNum
:
this
.
pagination
.
currentPage
,
pageSize
:
this
.
pagination
.
pageSize
,
checkArea
:
this
.
realEstateArea
,
checkArealEstateArea
:
this
.
searchForm
.
checkArealEstateArea
checkArealEstateArea
:
this
.
searchForm
.
checkArealEstateArea
,
};
queryHouseListDeedTax
(
parmas
).
then
(
res
=>
{
queryHouseListDeedTax
(
parmas
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
success
)
{
this
.
pagination
.
total
=
res
.
data
.
total
;
if
(
res
.
data
.
total
)
{
this
.
tableData
=
res
.
data
.
list
.
map
(
item
=>
{
this
.
tableData
=
res
.
data
.
list
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr
(
item
.
state
).
stateName
;
item
.
type
=
this
.
getSatusArr
(
item
.
state
).
type
;
return
item
;
});
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
tableData
=
changeList
(
this
.
tableData
)
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
tableData
=
changeList
(
this
.
tableData
);
}
}
else
{
this
.
tableData
=
[]
this
.
tableData
=
[];
}
}
});
...
...
@@ -571,15 +767,15 @@ export default {
// },
download
(
url
)
{
// this.changeUrl(url)
if
(
url
.
indexOf
(
'81.69.44.115'
)
!==
-
1
)
{
if
(
url
.
indexOf
(
"81.69.44.115"
)
!==
-
1
)
{
// 测试环境
window
.
location
.
href
=
url
window
.
location
.
href
=
url
;
}
else
{
// 生产环境
// http跨域 ---> https
// let a = url.substr(0, 4) + 's' + url.substr(4)
// window.location.href = a
window
.
location
.
href
=
url
window
.
location
.
href
=
url
;
}
},
view
(
row
)
{
...
...
@@ -587,7 +783,7 @@ export default {
code
:
row
.
code
,
// matterType: row.matterType
};
queryHouseDeedTaxDetailInfo
(
params
).
then
(
res
=>
{
queryHouseDeedTaxDetailInfo
(
params
).
then
((
res
)
=>
{
// let arr = []
// res.data.pictures.forEach((item) => {
// let params = {
...
...
@@ -600,54 +796,65 @@ export default {
// let arr1 = []
// arr1 = res1.map((item, index) => ({ picture: item.data, pictureType: res.data.pictures[index].pictureType }))
this
.
viewDetail
=
res
.
data
;
if
(
localStorage
.
getItem
(
'userName'
)
==
'admin'
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
)
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
)
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
)
}
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
item
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
item
=>
(
item
.
pictureType
===
4
||
item
.
pictureType
===
6
));
if
(
localStorage
.
getItem
(
"userName"
)
==
"admin"
)
{
this
.
viewDetail
.
name
=
setName
(
this
.
viewDetail
.
name
);
this
.
viewDetail
.
phone
=
setTel
(
this
.
viewDetail
.
phone
);
this
.
viewDetail
.
idCard
=
setCertNo
(
this
.
viewDetail
.
idCard
);
}
this
.
viewDetail
.
idCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
1
);
this
.
viewDetail
.
bankCardPicture
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
5
);
this
.
viewDetail
.
contract
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
2
);
this
.
viewDetail
.
certificate
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
3
);
this
.
viewDetail
.
voucher
=
res
.
data
.
pictures
.
filter
(
(
item
)
=>
item
.
pictureType
===
4
||
item
.
pictureType
===
6
);
this
.
viewShow
=
true
;
// })
let
reason
=
[]
let
reason
=
[];
res
.
data
.
recordVos
.
map
((
item
)
=>
{
if
(
item
)
{
reason
.
push
(
item
)
reason
.
push
(
item
);
}
});
this
.
recordList
=
reason
.
map
(
item
=>
{
this
.
recordList
=
reason
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr1
(
item
.
state
)
?
this
.
getSatusArr1
(
item
.
state
).
stateName
:
"未知状态"
;
return
item
;
});
this
.
examineList
=
this
.
recordList
;
this
.
examineList
.
forEach
(
item
=>
{
(
item
.
state
!=
4
&&
item
.
state
!=
9
)
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
this
.
examineList
.
forEach
((
item
)
=>
{
item
.
state
!=
4
&&
item
.
state
!=
9
?
(
item
.
state
=
"通过"
)
:
(
item
.
state
=
"拒绝"
);
});
this
.
totalList
=
this
.
examineList
;
})
});
},
record
(
row
)
{
queryHouseDeedTaxRecord
({
code
:
row
.
code
}).
then
((
res
)
=>
{
let
reason
=
[]
let
reason
=
[];
res
.
data
.
map
((
item
)
=>
{
if
(
item
)
{
reason
.
push
(
item
)
reason
.
push
(
item
);
}
});
this
.
recordList
=
reason
.
map
(
item
=>
{
this
.
recordList
=
reason
.
map
((
item
)
=>
{
item
.
stateName
=
this
.
getSatusArr1
(
item
.
state
)
?
this
.
getSatusArr1
(
item
.
state
).
stateName
:
"未知状态"
;
return
item
;
});
this
.
recordShow
=
true
;
})
});
},
dispatch
(
row
)
{
this
.
$prompt
(
`确定通过该申请的退税办理吗?`
,
"提示"
,
{
...
...
@@ -655,7 +862,7 @@ export default {
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入退税金额(万元)"
,
inputType
:
"textarea"
,
type
:
"warning"
type
:
"warning"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
...
...
@@ -673,9 +880,9 @@ export default {
// name: '市财政局',
state
:
6
,
reviewerId
:
row
.
reviewerId
,
reason
:
'退税办理通过'
reason
:
"退税办理通过"
,
};
updateHouseDeedTaxState
(
params
).
then
(
res
=>
{
updateHouseDeedTaxState
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
`退税办理成功`
);
this
.
init
();
...
...
@@ -692,14 +899,14 @@ export default {
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入原因"
,
inputType
:
"textarea"
,
type
:
"warning"
type
:
"warning"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryHouseDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
queryHouseDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -712,9 +919,9 @@ export default {
// name: '人才窗口',
state
:
2
,
reviewerId
:
row
.
reviewerId
,
reason
:
value
reason
:
value
,
};
updateHouseDeedTaxState
(
params
).
then
(
res
=>
{
updateHouseDeedTaxState
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
`复审通过`
);
this
.
init
();
...
...
@@ -727,11 +934,13 @@ export default {
// })
// }
}
else
{
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
}
});
}
})
});
})
.
catch
(()
=>
{
// console.log("取消审核");
...
...
@@ -742,14 +951,14 @@ export default {
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
inputPlaceholder
:
"请输入原因"
,
inputType
:
"textarea"
inputType
:
"textarea"
,
})
.
then
(({
value
})
=>
{
if
(
!
value
)
{
this
.
$message
.
error
(
"未输入原因"
);
return
;
}
queryHouseDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
(
res
=>
{
queryHouseDeedTaxDetailInfo
({
code
:
row
.
code
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
let
params
=
{
code
:
row
.
code
,
...
...
@@ -761,102 +970,259 @@ export default {
departmentName
:
this
.
departmentName
,
state
:
4
,
reviewerId
:
row
.
reviewerId
,
reason
:
value
reason
:
value
,
};
updateHouseDeedTaxState
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
updateHouseDeedTaxState
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
this
.
$message
.
success
(
`复审驳回成功`
);
this
.
init
();
});
}
})
})
.
catch
(()
=>
{
});
})
.
catch
(()
=>
{});
},
drevokeeny
(
row
)
{
this
.
$confirm
(
`确定撤回该申请的审核结果吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
,
}).
then
(()
=>
{
let
params
=
{
code
:
row
.
code
,
phone
:
row
.
phone
,
reviewerId
:
row
.
reviewerId
,
state
:
row
.
state
}
state
:
row
.
state
,
};
mainHouseRevocation
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
||
res
.
success
)
{
this
.
$message
.
success
(
res
.
data
||
'审核撤回成功'
);
this
.
$message
.
success
(
res
.
data
||
"审核撤回成功"
);
this
.
init
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
init
();
}
})
})
});
});
},
reassignment
(
row
)
{
this
.
params
.
code
=
row
.
code
;
this
.
params
.
checkArea
=
row
.
checkArea
;
this
.
reassignmentShow
=
true
this
.
reassignmentShow
=
true
;
},
closeDialog
()
{
this
.
reassignmentShow
=
false
this
.
reassignmentShow
=
false
;
this
.
params
=
{
code
:
''
,
checkArea
:
''
,
departmentCode
:
'10000031'
}
code
:
""
,
checkArea
:
""
,
departmentCode
:
"10000031"
,
};
},
handleChange
(
value
)
{
if
(
value
.
length
==
2
)
{
this
.
params
.
checkArea
=
value
[
1
]
this
.
params
.
checkArea
=
value
[
1
];
}
else
{
this
.
params
.
checkArea
=
value
[
0
]
this
.
params
.
checkArea
=
value
[
0
];
}
},
determine
()
{
this
.
$confirm
(
`确定改派该申请的审核部门吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
,
}).
then
(()
=>
{
updateHouseCheckArea
(
this
.
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
reassignmentShow
=
false
this
.
reassignmentShow
=
false
;
this
.
$message
.
success
(
`改派成功`
);
this
.
init
();
}
else
{
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
this
.
$message
.
warning
(
res
.
msg
||
"该申请已被其他部门驳回,无法审核通过"
);
}
})
})
});
});
},
getSatusArr
(
state
)
{
return
this
.
stateList
.
filter
(
item
=>
{
return
this
.
stateList
.
filter
((
item
)
=>
{
return
item
.
state
===
state
;
})[
0
];
},
getSatusArr1
(
state
)
{
return
this
.
stateList1
.
filter
(
item
=>
{
return
this
.
stateList1
.
filter
((
item
)
=>
{
return
item
.
state
===
state
;
})[
0
];
},
handleCommand
(
row
,
com
)
{
console
.
log
(
row
,
com
);
// this.downloadUrl=row.fileUrl
switch
(
com
)
{
case
"reset"
:
this
.
resetHandle
(
row
);
break
;
default
:
window
.
location
.
href
=
row
.
fileUrl
;
break
;
}
},
resetHandle
(
row
)
{
let
params
=
{
code
:
row
.
code
,
};
Promise
.
all
([
queryHouseDeedTaxDetailInfo
(
params
),
queryHouseDeedTaxRecord
(
params
),
]).
then
((
res
)
=>
{
console
.
log
(
res
);
// if (res[0].data?.state == 1) {
console
.
log
(
111
);
this
.
detail
=
res
[
0
].
data
;
this
.
arrList
=
res
[
1
].
data
;
this
.
detail
.
recordVos
.
forEach
((
item
)
=>
{
item
.
departmentName
.
search
(
"财政"
)
!=
-
1
?
(
this
.
arr1
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"不动产"
)
!=
-
1
?
(
this
.
arr2
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"税务"
)
!=
-
1
?
(
this
.
arr3
=
item
.
reason
)
:
""
;
});
this
.
initTemplate
();
// }
});
},
initTemplate
()
{
let
that
=
this
;
console
.
log
(
"-------"
,
that
.
detail
);
console
.
log
(
that
.
arrList
);
console
.
log
(
that
.
arr1
,
that
.
arr2
,
that
.
arr3
);
let
arr
=
{};
arr
.
name
=
that
.
detail
.
name
;
arr
.
idCard
=
that
.
detail
.
idCard
;
arr
.
birthDate
=
that
.
detail
.
idCard
.
substring
(
6
,
10
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
10
,
12
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
12
,
14
);
arr
.
address
=
that
.
detail
.
address
;
arr
.
phone
=
that
.
detail
.
phone
;
arr
.
realEstateAddress
=
that
.
detail
.
realEstateAddress
;
arr
.
realEstateCard
=
that
.
detail
.
realEstateCard
;
arr
.
square
=
that
.
detail
.
square
;
arr
.
bank
=
that
.
detail
.
bank
;
arr
.
bankCard
=
that
.
detail
.
bankCard
;
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
if
(
this
.
$route
.
query
.
realEstateArea
!=
"句容市"
)
{
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax1.docx"
;
//模板文件的位置
}
else
{
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax2.docx"
;
//模板文件的位置
}
// let docxname = '购房契税补贴申请表'; //导出文件的名字
// 读取并获得模板文件的二进制内容
JSZipUtils
.
getBinaryContent
(
this
.
docxsrc
,
function
(
error
,
content
)
{
// docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
// 抛出异常
// debugger
if
(
error
)
{
throw
error
;
}
// 创建一个PizZip实例,内容为模板的内容
let
zip
=
new
PizZip
(
content
);
// 创建并加载docx templater实例对象
let
doc
=
new
docxtemplater
().
loadZip
(
zip
);
// 设置模板变量的值
// console.log("arr666---", arr);
doc
.
setData
({
...
arr
,
// e中的数据可以再模板中直接使用
});
try
{
// 用模板变量的值替换所有模板变量
doc
.
render
();
}
catch
(
error
)
{
// 抛出异常
let
e
=
{
message
:
error
.
message
,
name
:
error
.
name
,
stack
:
error
.
stack
,
properties
:
error
.
properties
,
};
console
.
log
(
JSON
.
stringify
({
error
:
e
,
})
);
throw
error
;
}
// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
let
out
=
doc
.
getZip
().
generate
({
type
:
"blob"
,
mimeType
:
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
});
console
.
log
(
"out----"
,
out
);
uploadWordFile
(
new
File
([
out
],
"deed-text"
+
new
Date
().
valueOf
()
+
".docx"
,
{
type
:
out
.
type
,
})
).
then
((
res
)
=>
{
console
.
log
(
"文件的res----"
,
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
detail
.
code
,
fileUrl
:
res
.
data
,
};
saveHouseFileUrl
(
params
).
then
((
res
)
=>
{
console
.
log
(
"初审通过后的传填充文件给后端---"
,
res
);
that
.
init
();
});
}
else
{
that
.
$message
.
error
(
res
.
msg
);
queryHouseDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
rowDetail
.
code
,
phone
:
res
.
data
.
phone
,
reviewerId
:
that
.
rowDetail
.
reviewerId
,
state
:
res
.
data
.
state
,
};
initHouseDepartmentRevocation
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
that
.
init
();
});
}
}
);
}
});
});
},
},
created
()
{
this
.
userName
=
localStorage
.
getItem
(
'userName'
);
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
// 10000027 人才窗口code 10000031 市财政局code退税办理
this
.
searchForm
.
departmentCode
=
this
.
$route
.
query
.
departmentCode
;
// realEstateArea: 市区、镇江新区、丹徒区
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
this
.
realEstateArea
=
this
.
$route
.
query
.
realEstateArea
?
this
.
$route
.
query
.
realEstateArea
:
null
;
// departmentName: 审核部门名称(左侧列表)
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
this
.
departmentName
=
this
.
$route
.
query
.
departmentName
;
this
.
init
();
}
},
};
</
script
>
...
...
@@ -909,4 +1275,7 @@ export default {
}
}
}
.el-dropdown
>>>
.el-dropdown-link
{
font-size
:
12px
}
</
style
>
src/views/Housedeedtax/index.vue
View file @
81dc0d2e
...
...
@@ -904,6 +904,15 @@ export default {
updateHouseInitDepartmentState
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
`初审通过`
);
// let obj = {
// code: row.code,
// reason: value,
// createTime: row.createTime,
// checkArea: row.checkArea,
// departmentName: this.departmentName,
// state: 8,
// reviewerId: row.reviewerId,
// };
this
.
init
();
// 查询详情
// 判断是否完成初审,进行模板填充及下载
...
...
@@ -949,9 +958,7 @@ export default {
},
initTemplate
()
{
let
that
=
this
;
console
.
log
(
"-------"
,
that
.
detail
);
console
.
log
(
that
.
arrList
);
console
.
log
(
that
.
arr1
,
that
.
arr2
,
that
.
arr3
);
let
arr
=
{};
arr
.
name
=
that
.
detail
.
name
;
arr
.
idCard
=
that
.
detail
.
idCard
;
...
...
src/views/Multipledeedtax/house.vue
View file @
81dc0d2e
...
...
@@ -135,7 +135,7 @@
v-if=
"(scope.row.state == 3 || scope.row.state == 2) && searchForm.departmentCode == '10000031' && $route.query.realEstateArea == '句容市'"
type=
"success"
size=
"mini"
round
@
click=
"dispatch(scope.row)"
>
退税办理
</el-button>
-->
<el-button
<
!--
<
el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
...
...
@@ -147,7 +147,7 @@
round
@
click=
"download(scope.row.fileUrl)"
>
下载申请表
</el-button
>
>
-->
<el-button
v-if=
"searchForm.departmentCode == '10000027'"
type=
"warning"
...
...
@@ -156,6 +156,41 @@
@
click=
"downloadFamily(scope.row.familyCodeFile)"
>
下载家庭码申请表
</el-button
>
<el-button
v-if=
"
scope.row.state != 0 &&
scope.row.state != 4 &&
searchForm.departmentCode == '10000027'
"
type=
"success"
size=
"mini"
round
>
<el-dropdown
size=
"mini"
@
command=
"handleCommand(scope.row, $event)"
>
<span
class=
"el-dropdown-link"
>
申请表
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"请点击的“重置申请表”按钮,以解决文件不存在或文件内容有误的问题"
placement=
"top-start"
>
<el-dropdown-item
icon=
"el-icon-refresh"
command=
"reset"
>
重置申请表
</el-dropdown-item>
</el-tooltip>
<el-dropdown-item
icon=
"el-icon-download"
command=
"download"
>
下载申请表
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-button>
</
template
>
</el-table-column>
</table-template>
...
...
@@ -416,8 +451,13 @@ import {
updateMultipleDeedTaxState
,
mainMultipleRevocation
,
updateMultipleCheckArea
,
saveMultipleFileUrl
,
initMultipleDepartmentRevocation
,
}
from
"@/api/multiple"
;
import
docxtemplater
from
"docxtemplater"
;
import
PizZip
from
"pizzip"
;
import
JSZipUtils
from
"jszip-utils"
;
import
{
uploadWordFile
}
from
"@/api/upload"
;
export
default
{
components
:
{
TableTemplate
},
data
()
{
...
...
@@ -651,6 +691,7 @@ export default {
label
:
"句容市"
,
},
],
detail
:
{},
};
},
watch
:
{
...
...
@@ -1036,6 +1077,161 @@ export default {
return
item
.
state
===
state
;
})[
0
];
},
handleCommand
(
row
,
com
)
{
console
.
log
(
row
,
com
);
// this.downloadUrl=row.fileUrl
switch
(
com
)
{
case
"reset"
:
this
.
resetHandle
(
row
);
break
;
default
:
window
.
location
.
href
=
row
.
fileUrl
;
break
;
}
},
resetHandle
(
row
)
{
let
params
=
{
code
:
row
.
code
,
};
Promise
.
all
([
queryMultipleDeedTaxDetailInfo
(
params
),
queryMultipleDeedTaxRecord
(
params
),
]).
then
((
res
)
=>
{
console
.
log
(
res
);
// if (res[0].data?.state == 1) {
console
.
log
(
111
);
this
.
detail
=
res
[
0
].
data
;
this
.
arrList
=
res
[
1
].
data
;
this
.
detail
.
recordVos
.
forEach
((
item
)
=>
{
item
.
departmentName
.
search
(
"财政"
)
!=
-
1
?
(
this
.
arr1
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"不动产"
)
!=
-
1
?
(
this
.
arr2
=
item
.
reason
)
:
""
;
item
.
departmentName
.
search
(
"税务"
)
!=
-
1
?
(
this
.
arr3
=
item
.
reason
)
:
""
;
});
this
.
initTemplate
();
// }
});
},
initTemplate
()
{
let
that
=
this
;
console
.
log
(
"-------"
,
that
.
detail
);
console
.
log
(
that
.
arrList
);
console
.
log
(
that
.
arr1
,
that
.
arr2
,
that
.
arr3
);
let
arr
=
{};
arr
.
name
=
that
.
detail
.
name
;
arr
.
idCard
=
that
.
detail
.
idCard
;
arr
.
birthDate
=
that
.
detail
.
idCard
.
substring
(
6
,
10
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
10
,
12
)
+
"-"
+
that
.
detail
.
idCard
.
substring
(
12
,
14
);
arr
.
address
=
that
.
detail
.
address
;
arr
.
phone
=
that
.
detail
.
phone
;
arr
.
realEstateAddress
=
that
.
detail
.
realEstateAddress
;
arr
.
realEstateCard
=
that
.
detail
.
realEstateCard
;
arr
.
square
=
that
.
detail
.
square
;
arr
.
bank
=
that
.
detail
.
bank
;
arr
.
bankCard
=
that
.
detail
.
bankCard
;
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
if
(
this
.
$route
.
query
.
realEstateArea
!=
"句容市"
)
{
arr
.
arr1
=
that
.
arr1
||
""
;
// 财政
arr
.
arr2
=
that
.
arr2
||
""
;
// 不动产
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax1.docx"
;
//模板文件的位置
}
else
{
arr
.
arr3
=
that
.
arr3
||
""
;
// 税务
this
.
docxsrc
=
"./static/deedTax2.docx"
;
//模板文件的位置
}
// let docxname = '购房契税补贴申请表'; //导出文件的名字
// 读取并获得模板文件的二进制内容
JSZipUtils
.
getBinaryContent
(
this
.
docxsrc
,
function
(
error
,
content
)
{
// docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
// 抛出异常
// debugger
if
(
error
)
{
throw
error
;
}
// 创建一个PizZip实例,内容为模板的内容
let
zip
=
new
PizZip
(
content
);
// 创建并加载docx templater实例对象
let
doc
=
new
docxtemplater
().
loadZip
(
zip
);
// 设置模板变量的值
// console.log("arr666---", arr);
doc
.
setData
({
...
arr
,
// e中的数据可以再模板中直接使用
});
try
{
// 用模板变量的值替换所有模板变量
doc
.
render
();
}
catch
(
error
)
{
// 抛出异常
let
e
=
{
message
:
error
.
message
,
name
:
error
.
name
,
stack
:
error
.
stack
,
properties
:
error
.
properties
,
};
console
.
log
(
JSON
.
stringify
({
error
:
e
,
})
);
throw
error
;
}
// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
let
out
=
doc
.
getZip
().
generate
({
type
:
"blob"
,
mimeType
:
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
});
console
.
log
(
"out----"
,
out
);
uploadWordFile
(
new
File
([
out
],
"deed-text"
+
new
Date
().
valueOf
()
+
".docx"
,
{
type
:
out
.
type
,
})
).
then
((
res
)
=>
{
console
.
log
(
"文件的res----"
,
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
detail
.
code
,
fileUrl
:
res
.
data
,
};
saveMultipleFileUrl
(
params
).
then
((
res
)
=>
{
console
.
log
(
"初审通过后的传填充文件给后端---"
,
res
);
that
.
init
();
});
}
else
{
that
.
$message
.
error
(
res
.
msg
);
queryMultipleDeedTaxDetailInfo
({
code
:
that
.
rowDetail
.
code
}).
then
(
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
success
)
{
let
params
=
{
code
:
that
.
rowDetail
.
code
,
phone
:
res
.
data
.
phone
,
reviewerId
:
that
.
rowDetail
.
reviewerId
,
state
:
res
.
data
.
state
,
};
initMultipleDepartmentRevocation
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
that
.
init
();
});
}
}
);
}
});
});
},
},
created
()
{
this
.
userName
=
localStorage
.
getItem
(
"userName"
);
...
...
@@ -1101,4 +1297,7 @@ export default {
}
}
}
.el-dropdown
>>>
.el-dropdown-link
{
font-size
:
12px
}
</
style
>
src/views/Talents/index.vue
View file @
81dc0d2e
...
...
@@ -259,10 +259,12 @@
</span>
</el-dialog>
<!-- 人才详情的对话框 -->
<!--
-->
<el-dialog
title=
"人才详情"
:visible
.
sync=
"viewShow"
width=
"800px"
:visible
.
sync=
"viewShow"
:close-on-press-escape=
"false"
@
close=
"showEdu = false"
>
...
...
@@ -586,7 +588,8 @@
<
script
>
import
TableTemplate
from
"@/components/Table"
;
import
{
changeList
}
from
"@/utils"
;
// decryptByDES
import
{
changeList
,
encryptByDES
}
from
"@/utils"
;
import
{
getList
,
updateState
,
...
...
@@ -954,6 +957,7 @@ export default {
};
get
(
params
).
then
((
res
)
=>
{
this
.
viewDetail
=
res
.
data
;
// this.viewDetail.idCard = decryptByDES(res.data.idCard, "MnuYbhGv");
this
.
viewRow
=
row
;
this
.
viewShow
=
true
;
});
...
...
@@ -972,6 +976,7 @@ export default {
this
.
recordShow
=
true
;
});
},
print
(
talentCode
,
row
)
{
// console.log("row---", row);
get
({
talentCode
}).
then
((
res
)
=>
{
...
...
@@ -1083,7 +1088,9 @@ export default {
},
viewEdu
()
{
educationQuery
({
idCard
:
this
.
viewDetail
.
idCard
,
idCard
:
this
.
viewDetail
.
idCard
?
encryptByDES
(
this
.
viewDetail
.
idCard
,
"MnuYbhGv"
)
:
""
,
name
:
this
.
viewDetail
.
name
,
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
...
...
vue.config.js
View file @
81dc0d2e
const
env
=
process
.
env
.
NODE_ENV
===
"production"
;
//
const publicPath = env ? "/manage-h5/" : "/"; //正式
const
publicPath
=
env
?
"/smartExam-h5/"
:
"/"
;
//测试
const
publicPath
=
env
?
"/manage-h5/"
:
"/"
;
//正式
//
const publicPath = env ? "/smartExam-h5/" : "/"; //测试
module
.
exports
=
{
publicPath
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment