Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
24c9a239
authored
2023-10-18 14:49:13 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
style:证书证明预览样式修改
1 parent
6f39450e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
635 additions
and
643 deletions
src/views/workflow/components/dialog/zsylxq.vue
src/views/workflow/components/dialog/zsylxq.vue
View file @
24c9a23
...
...
@@ -8,88 +8,81 @@
class=
"from-clues loadingtext"
v-Loading=
"loading"
element-loading-text=
"拼命加载中..."
style=
"height: 720px; text-align: center"
>
style=
"height: 720px; text-align: center"
>
<!-- 表单部分 -->
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"证书预览"
name=
"zsyl"
>
<el-empty
description=
"暂无数据"
v-if=
"headTabBdcqz.length == 0 && noData"
></el-empty>
v-if=
"headTabBdcqz.length == 0 && noData"
></el-empty>
<div
class=
"zsys"
>
<canvas
ref=
"zs"
width=
"1000"
v-show=
"this.bdcqz.bdcqzlx == 1"
height=
"700"
></canvas>
height=
"700"
></canvas>
<canvas
ref=
"zm"
width=
"1180"
v-show=
"this.bdcqz.bdcqzlx == 2"
height=
"780"
></canvas>
height=
"780"
></canvas>
</div>
</el-tab-pane>
<el-tab-pane
label=
"证书详情"
name=
"lcjl"
>
<div
class=
"slxx_title title-block"
>
<div
class=
"slxx_title title-block"
>
证书详情信息
<div
class=
"triangle"
></div>
</div>
<el-form
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"权利人"
prop=
"cyxm"
>
<el-input
disabled
v-model=
"bdcqz.qlr"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"义务人"
prop=
"jtgxdm"
>
<el-input
disabled
v-model=
"bdcqz.qlr"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"坐落"
prop=
"cbfdm"
>
<el-input
disabled
v-model=
"bdcqz.zl"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-form
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"权利人"
prop=
"cyxm"
>
<el-input
disabled
v-model=
"bdcqz.qlr"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"义务人"
prop=
"jtgxdm"
>
<el-input
disabled
v-model=
"bdcqz.qlr"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"坐落"
prop=
"cbfdm"
>
<el-input
disabled
v-model=
"bdcqz.zl"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产单元号"
prop=
"cyxm"
>
<el-input
disabled
v-model=
"bdcqz.bdcdyh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"印刷序列号"
prop=
"jtgxdm"
>
<el-input
disabled
v-model=
"bdcqz.ysxlh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产权证号"
prop=
"cbfdm"
>
<el-input
disabled
v-model=
"bdcqz.bdcqzh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产单元号"
prop=
"cyxm"
>
<el-input
disabled
v-model=
"bdcqz.bdcdyh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"印刷序列号"
prop=
"jtgxdm"
>
<el-input
disabled
v-model=
"bdcqz.ysxlh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产权证号"
prop=
"cbfdm"
>
<el-input
disabled
v-model=
"bdcqz.bdcqzh"
maxlegth=
"15"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-row>
</el-form>
<div
class=
"slxx_title title-block"
>
缮证记录信息
<div
class=
"triangle"
></div>
</div>
<div
class=
"from-clues-content"
>
<lb-table
class=
"sz"
:column=
"szxxtableData.columns"
heightNumSetting
:pagination=
"false"
:key=
"key"
:data=
"szxxtableData.data"
>
</lb-table>
</div>
<lb-table
class=
"sz"
:column=
"szxxtableData.columns"
heightNumSetting
:pagination=
"false"
:key=
"key"
:data=
"szxxtableData.data"
>
</lb-table>
<div
class=
"slxx_title title-block"
>
发证记录信息
<div
class=
"triangle"
></div>
...
...
@@ -99,8 +92,7 @@
:column=
"tableDatas.columns"
:heightNum=
"100"
:data=
"tableDatas.data"
:pagination=
"false"
>
:pagination=
"false"
>
</lb-table>
</el-tab-pane>
<el-tab-pane
label=
"电子证照"
name=
"third"
>
等一个照片
</el-tab-pane>
...
...
@@ -109,355 +101,291 @@
</
template
>
<
script
>
// import { zsyldatas } from "../../javascript/zsyl.js";
import
{
getSlsqBdcqzList
}
from
"@/api/bdcqz.js"
;
import
{
getCertificateList
}
from
"@/api/bdcqz.js"
;
import
{
getSzRecordList
}
from
"@/api/bdcqz.js"
;
import
{
szxxdatas
}
from
"../../javascript/szxxdatapart"
;
import
{
datas
}
from
"../../javascript/fzxxdatapart"
;
export
default
{
name
:
"zsyl"
,
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
},
},
data
()
{
return
{
key
:
0
,
noData
:
false
,
imgSrc
:
require
(
"@/image/bdcqz/bdcqzs2.jpg"
),
bdczmSrc
:
require
(
"@/image/bdcqz/bdczm.jpg"
),
loading
:
false
,
//印刷序列号集合
ysxlh
:
[],
//列名称对象
columns
:
[],
//选择的不动产权证文件
bdcqz
:
""
,
//证书打开类型 是否需要展示打印按钮
isToPrint
:
false
,
//tab切换栏数组
tabslist
:
[],
headTabBdcqz
:
[],
//tab选择绑定值
activeName
:
"zsyl"
,
//证书图片预览
previewImage
:
""
,
ruleForm
:
{
bsmBdcqz
:
""
,
szmc
:
"不动产权证书"
,
bsmBdcqz
:
""
,
szzh
:
""
,
ysxlh
:
""
,
},
formdata
:
{},
szxxtableData
:
{
total
:
0
,
columns
:
szxxdatas
.
columns
(),
data
:
[],
},
tableDatas
:
{
total
:
0
,
columns
:
datas
.
columns
().
fzgrid
,
data
:
[],
// import { zsyldatas } from "../../javascript/zsyl.js";
import
{
getSlsqBdcqzList
}
from
"@/api/bdcqz.js"
;
import
{
getCertificateList
}
from
"@/api/bdcqz.js"
;
import
{
getSzRecordList
}
from
"@/api/bdcqz.js"
;
import
{
szxxdatas
}
from
"../../javascript/szxxdatapart"
;
import
{
datas
}
from
"../../javascript/fzxxdatapart"
;
export
default
{
name
:
"zsyl"
,
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
},
};
},
mounted
()
{
this
.
queryClick
();
this
.
query
();
if
(
this
.
formData
.
bdcqz
)
{
//从缮证进入
this
.
bdcqz
=
this
.
formData
.
bdcqz
;
}
else
{
//从按钮进入
this
.
getHeadTabBdcqz
();
}
},
methods
:
{
/**
* @description: queryClick
* @author: miaofang
*/
queryClick
()
{
this
.
formdata
.
bsmSlsq
=
this
.
formData
.
bsmSlsq
;
getCertificateList
(
this
.
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableDatas
.
data
=
res
.
result
?
res
.
result
:
[];
console
.
log
(
"this.tableDatas"
,
this
.
tableDatas
);
}
});
},
/**
* @description: query
* @author: miaofang
*/
query
()
{
getSzRecordList
({
bsmBdcqz
:
this
.
formData
.
bsmBdcqz
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
szxxtableData
.
data
=
res
.
result
;
this
.
key
++
;
}
});
},
/**
* @description: 获取证书内容
* @param {*} code
* @author: miaofang
*/
getRowValue
(
code
)
{
var
value
=
this
.
bdcqz
[
code
];
return
value
;
},
/**
* @description: 获取受理申请下全部不动产权证
* @author: miaofang
*/
getHeadTabBdcqz
()
{
console
.
log
(
"formData"
,
this
.
formData
);
this
.
loading
=
true
;
getSlsqBdcqzList
({
bsmSlsq
:
this
.
formData
.
bsmSlsq
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
noData
=
true
;
if
(
res
.
result
&&
res
.
result
.
length
>
0
)
{
console
.
log
(
"res.resultttttttttttttttttttt"
,
res
.
result
);
this
.
bdcqz
=
res
.
result
[
0
];
this
.
headTabBdcqz
=
res
.
result
;
if
(
this
.
bdcqz
.
bdcqzlx
==
1
)
{
this
.
drawTextOnImage
();
}
else
{
this
.
drawTextzmImage
();
}
}
}
this
.
loading
=
false
;
});
data
()
{
return
{
key
:
0
,
noData
:
false
,
imgSrc
:
require
(
"@/image/bdcqz/bdcqzs2.jpg"
),
bdczmSrc
:
require
(
"@/image/bdcqz/bdczm.jpg"
),
loading
:
false
,
//印刷序列号集合
ysxlh
:
[],
//列名称对象
columns
:
[],
//选择的不动产权证文件
bdcqz
:
""
,
//证书打开类型 是否需要展示打印按钮
isToPrint
:
false
,
//tab切换栏数组
tabslist
:
[],
headTabBdcqz
:
[],
//tab选择绑定值
activeName
:
"zsyl"
,
//证书图片预览
previewImage
:
""
,
ruleForm
:
{
bsmBdcqz
:
""
,
szmc
:
"不动产权证书"
,
bsmBdcqz
:
""
,
szzh
:
""
,
ysxlh
:
""
,
},
formdata
:
{},
szxxtableData
:
{
total
:
0
,
columns
:
szxxdatas
.
columns
(),
data
:
[],
},
tableDatas
:
{
total
:
0
,
columns
:
datas
.
columns
().
fzgrid
,
data
:
[],
},
};
},
/**
* @description: tab表头切换方法
* @param {*} e
* @author: miaofang
*/
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
,
event
);
this
.
bdcqz
=
this
.
headTabBdcqz
[
0
];
if
(
this
.
bdcqz
.
bdcqzlx
==
1
)
{
this
.
drawTextOnImage
();
mounted
()
{
this
.
queryClick
();
this
.
query
();
if
(
this
.
formData
.
bdcqz
)
{
//从缮证进入
this
.
bdcqz
=
this
.
formData
.
bdcqz
;
}
else
{
this
.
drawTextzmImage
();
//从按钮进入
this
.
getHeadTabBdcqz
();
}
},
/**
* @description: 不动产证书
* @author: miaofang
*/
drawTextOnImage
()
{
function
getByteLen
(
val
)
{
var
len
=
0
;
if
(
!
val
)
return
len
;
for
(
var
i
=
0
;
i
<
val
.
length
;
i
++
)
{
var
length
=
val
.
charCodeAt
(
i
);
if
(
length
>=
0
&&
length
<=
128
)
{
len
+=
1
;
}
else
{
len
+=
2
;
methods
:
{
/**
* @description: queryClick
* @author: miaofang
*/
queryClick
()
{
this
.
formdata
.
bsmSlsq
=
this
.
formData
.
bsmSlsq
;
getCertificateList
(
this
.
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableDatas
.
data
=
res
.
result
?
res
.
result
:
[];
console
.
log
(
"this.tableDatas"
,
this
.
tableDatas
);
}
}
return
len
;
}
const
canvas
=
this
.
$refs
.
zs
;
const
context
=
canvas
.
getContext
(
"2d"
);
const
image
=
new
Image
();
image
.
onload
=
()
=>
{
context
.
drawImage
(
image
,
0
,
0
);
context
.
font
=
"18px 楷体"
;
context
.
fillStyle
=
"#000000"
;
context
.
fillText
(
this
.
bdcqz
.
sjjc
?
this
.
bdcqz
.
sjjc
:
""
,
60
,
56
);
context
.
fillText
(
this
.
bdcqz
.
djnd
?
this
.
bdcqz
.
djnd
:
""
,
113
,
56
);
context
.
fillText
(
this
.
bdcqz
.
sxqc
?
this
.
bdcqz
.
sxqc
:
""
,
180
,
56
);
context
.
fillText
(
this
.
bdcqz
.
sxh
?
this
.
bdcqz
.
sxh
:
""
,
370
,
56
);
context
.
fillText
(
this
.
bdcqz
.
qlr
?
this
.
bdcqz
.
qlr
:
""
,
129
,
97
);
context
.
fillText
(
this
.
bdcqz
.
gyqk
?
this
.
bdcqz
.
gyqk
:
""
,
129
,
136
);
this
.
bdcdyh
=
this
.
bdcqz
.
bdcdyh
.
slice
(
0
,
6
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
6
,
12
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
12
,
19
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
19
,
this
.
bdcqz
.
bdcdyh
.
length
);
context
.
fillText
(
this
.
bdcdyh
?
this
.
bdcdyh
:
""
,
129
,
223
);
context
.
fillText
(
this
.
bdcqz
.
qllx
?
this
.
bdcqz
.
qllx
:
""
,
129
,
263
);
context
.
fillText
(
this
.
bdcqz
.
qlxz
?
this
.
bdcqz
.
qlxz
:
""
,
129
,
303
);
context
.
fillText
(
this
.
bdcqz
.
yt
?
this
.
bdcqz
.
yt
:
""
,
129
,
346
);
// context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 129, 386);
let
lines6
=
this
.
bdcqz
.
mj
?
this
.
bdcqz
.
mj
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
mj
)
>
41
)
{
lines6
.
forEach
((
line
,
index
)
=>
{
const
y
=
378
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
});
},
/**
* @description: query
* @author: miaofang
*/
query
()
{
getSzRecordList
({
bsmBdcqz
:
this
.
formData
.
bsmBdcqz
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
szxxtableData
.
data
=
res
.
result
;
this
.
key
++
;
}
});
},
/**
* @description: 获取证书内容
* @param {*} code
* @author: miaofang
*/
getRowValue
(
code
)
{
var
value
=
this
.
bdcqz
[
code
];
return
value
;
},
/**
* @description: 获取受理申请下全部不动产权证
* @author: miaofang
*/
getHeadTabBdcqz
()
{
console
.
log
(
"formData"
,
this
.
formData
);
this
.
loading
=
true
;
getSlsqBdcqzList
({
bsmSlsq
:
this
.
formData
.
bsmSlsq
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
noData
=
true
;
if
(
res
.
result
&&
res
.
result
.
length
>
0
)
{
console
.
log
(
"res.resultttttttttttttttttttt"
,
res
.
result
);
this
.
bdcqz
=
res
.
result
[
0
];
this
.
headTabBdcqz
=
res
.
result
;
if
(
this
.
bdcqz
.
bdcqzlx
==
1
)
{
this
.
drawTextOnImage
();
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
this
.
drawTextzmImage
();
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
this
.
loading
=
false
;
});
},
/**
* @description: tab表头切换方法
* @param {*} e
* @author: miaofang
*/
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
,
event
);
this
.
bdcqz
=
this
.
headTabBdcqz
[
0
];
if
(
this
.
bdcqz
.
bdcqzlx
==
1
)
{
this
.
drawTextOnImage
();
}
else
{
lines6
.
forEach
((
line
,
index
)
=>
{
const
y
=
386
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
this
.
drawTextzmImage
();
}
},
/**
* @description: 不动产证书
* @author: miaofang
*/
drawTextOnImage
()
{
function
getByteLen
(
val
)
{
var
len
=
0
;
if
(
!
val
)
return
len
;
for
(
var
i
=
0
;
i
<
val
.
length
;
i
++
)
{
var
length
=
val
.
charCodeAt
(
i
);
if
(
length
>=
0
&&
length
<=
128
)
{
len
+=
1
;
}
else
{
len
+=
2
;
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
return
len
;
}
// 权利其他状态
let
lines
=
this
.
bdcqz
.
qlqtzk
?
this
.
bdcqz
.
qlqtzk
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines
[
i
])
/
38
);
if
(
getByteLen
(
lines
[
i
])
>
38
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
323
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
const
canvas
=
this
.
$refs
.
zs
;
const
context
=
canvas
.
getContext
(
"2d"
);
const
image
=
new
Image
();
image
.
onload
=
()
=>
{
context
.
drawImage
(
image
,
0
,
0
);
context
.
font
=
"18px 楷体"
;
context
.
fillStyle
=
"#000000"
;
context
.
fillText
(
this
.
bdcqz
.
sjjc
?
this
.
bdcqz
.
sjjc
:
""
,
60
,
56
);
context
.
fillText
(
this
.
bdcqz
.
djnd
?
this
.
bdcqz
.
djnd
:
""
,
113
,
56
);
context
.
fillText
(
this
.
bdcqz
.
sxqc
?
this
.
bdcqz
.
sxqc
:
""
,
180
,
56
);
context
.
fillText
(
this
.
bdcqz
.
sxh
?
this
.
bdcqz
.
sxh
:
""
,
370
,
56
);
context
.
fillText
(
this
.
bdcqz
.
qlr
?
this
.
bdcqz
.
qlr
:
""
,
129
,
97
);
context
.
fillText
(
this
.
bdcqz
.
gyqk
?
this
.
bdcqz
.
gyqk
:
""
,
129
,
136
);
this
.
bdcdyh
=
this
.
bdcqz
.
bdcdyh
.
slice
(
0
,
6
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
6
,
12
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
12
,
19
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
19
,
this
.
bdcqz
.
bdcdyh
.
length
);
context
.
fillText
(
this
.
bdcdyh
?
this
.
bdcdyh
:
""
,
129
,
223
);
context
.
fillText
(
this
.
bdcqz
.
qllx
?
this
.
bdcqz
.
qllx
:
""
,
129
,
263
);
context
.
fillText
(
this
.
bdcqz
.
qlxz
?
this
.
bdcqz
.
qlxz
:
""
,
129
,
303
);
context
.
fillText
(
this
.
bdcqz
.
yt
?
this
.
bdcqz
.
yt
:
""
,
129
,
346
);
// context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 129, 386);
let
lines6
=
this
.
bdcqz
.
mj
?
this
.
bdcqz
.
mj
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
mj
)
>
41
)
{
lines6
.
forEach
((
line
,
index
)
=>
{
const
y
=
378
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
}
arr
.
push
(
currentLine
);
if
(
i
>
0
)
{
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
490
+
26
*
(
i
-
1
)
+
4
*
num
+
index
*
14
);
// 调整行高
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
}
else
{
});
}
else
{
lines6
.
forEach
((
line
,
index
)
=>
{
const
y
=
386
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
500
+
26
*
(
i
-
1
)
+
index
*
14
);
// 调整行高
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
}
}
else
{
if
(
i
>
0
)
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
129
,
500
+
4
*
num
+
24
*
(
i
-
1
)
);
}
else
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
129
,
505
+
24
*
(
i
-
1
)
);
}
});
}
}
let
lines1
=
this
.
bdcqz
.
fj
?
this
.
bdcqz
.
fj
.
split
(
"\n"
)
:
[];
lines1
.
forEach
((
line
,
index
)
=>
{
const
y
=
100
+
index
*
30
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
395
)
{
currentLine
=
testLine
;
}
else
{
// 权利其他状态
let
lines
=
this
.
bdcqz
.
qlqtzk
?
this
.
bdcqz
.
qlqtzk
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines
[
i
])
/
38
);
if
(
getByteLen
(
lines
[
i
])
>
38
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
323
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
580
,
y
+
index
*
30
);
// 调整行高
});
});
let
lines3
=
this
.
bdcqz
.
syqx
?
this
.
bdcqz
.
syqx
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
syqx
)
>
41
)
{
lines3
.
forEach
((
line
,
index
)
=>
{
const
y
=
423
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
if
(
i
>
0
)
{
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
490
+
26
*
(
i
-
1
)
+
4
*
num
+
index
*
14
);
// 调整行高
});
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
500
+
26
*
(
i
-
1
)
+
index
*
14
);
// 调整行高
});
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
else
{
lines3
.
forEach
((
line
,
index
)
=>
{
const
y
=
430
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
315
)
{
currentLine
=
testLine
;
}
else
{
if
(
i
>
0
)
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
129
,
500
+
4
*
num
+
24
*
(
i
-
1
)
);
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
129
,
505
+
24
*
(
i
-
1
)
);
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
}
let
lines2
=
this
.
bdcqz
.
zl
?
this
.
bdcqz
.
zl
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
zl
)
>
41
)
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
170
+
index
*
20
;
// 每行文本的垂直位置
let
lines1
=
this
.
bdcqz
.
fj
?
this
.
bdcqz
.
fj
.
split
(
"\n"
)
:
[];
lines1
.
forEach
((
line
,
index
)
=>
{
const
y
=
100
+
index
*
30
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
3
36
)
{
if
(
lineWidth
<=
3
95
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
...
...
@@ -466,314 +394,378 @@ export default {
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
2
0
);
// 调整行高
context
.
fillText
(
line
,
580
,
y
+
index
*
3
0
);
// 调整行高
});
});
}
else
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
180
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
336
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
let
lines3
=
this
.
bdcqz
.
syqx
?
this
.
bdcqz
.
syqx
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
syqx
)
>
41
)
{
lines3
.
forEach
((
line
,
index
)
=>
{
const
y
=
423
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
330
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
});
}
};
image
.
src
=
this
.
imgSrc
;
},
/**
* @description: 不动产证明
* @author: miaofang
*/
drawTextzmImage
()
{
function
getByteLen
(
val
)
{
var
len
=
0
;
if
(
!
val
)
return
len
;
for
(
var
i
=
0
;
i
<
val
.
length
;
i
++
)
{
var
length
=
val
.
charCodeAt
(
i
);
if
(
length
>=
0
&&
length
<=
128
)
{
len
+=
1
;
}
else
{
len
+=
2
;
lines3
.
forEach
((
line
,
index
)
=>
{
const
y
=
430
+
index
*
27
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
315
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
}
return
len
;
}
const
canvas
=
this
.
$refs
.
zm
;
const
context
=
canvas
.
getContext
(
"2d"
);
const
image
=
new
Image
();
image
.
onload
=
()
=>
{
context
.
drawImage
(
image
,
0
,
0
);
context
.
font
=
"18px 楷体"
;
context
.
fillStyle
=
"#000000"
;
// ysxlh
context
.
fillText
(
this
.
bdcqz
.
ysxlh
?
this
.
bdcqz
.
ysxlh
:
""
,
280
,
712
);
// djsj
if
(
this
.
bdcqz
.
djsj
)
{
let
djsjList
=
this
.
bdcqz
.
djsj
.
split
(
" "
)[
0
].
split
(
"/"
);
context
.
fillText
(
djsjList
[
0
]
?
djsjList
[
0
]
:
""
,
327
,
580
);
context
.
fillText
(
djsjList
[
1
]
?
djsjList
[
1
]
:
""
,
393
,
580
);
context
.
fillText
(
djsjList
[
2
]
?
djsjList
[
2
]
:
""
,
443
,
580
);
}
context
.
fillText
(
this
.
bdcqz
.
sjjc
?
this
.
bdcqz
.
sjjc
:
""
,
620
,
125
);
context
.
fillText
(
this
.
bdcqz
.
djnd
?
this
.
bdcqz
.
djnd
:
""
,
665
,
125
);
context
.
fillText
(
this
.
bdcqz
.
sxqc
?
this
.
bdcqz
.
sxqc
:
""
,
750
,
125
);
context
.
fillText
(
this
.
bdcqz
.
sxh
?
this
.
bdcqz
.
sxh
:
""
,
960
,
123
);
context
.
fillText
(
this
.
bdcqz
.
zmqlhsx
?
this
.
bdcqz
.
zmqlhsx
:
""
,
775
,
180
);
context
.
fillText
(
this
.
bdcqz
.
qlr
?
this
.
bdcqz
.
qlr
:
""
,
775
,
228
);
// 义务人
context
.
fillText
(
this
.
bdcqz
.
ywr
?
this
.
bdcqz
.
ywr
:
""
,
775
,
275
);
// context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
let
lines2
=
this
.
bdcqz
.
zl
?
this
.
bdcqz
.
zl
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
zl
)
>
41
)
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
315
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
295
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
let
lines2
=
this
.
bdcqz
.
zl
?
this
.
bdcqz
.
zl
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
zl
)
>
41
)
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
170
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
336
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
775
,
y
+
index
*
20
);
// 调整行高
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
}
);
}
else
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
325
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
295
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
)
;
currentLine
=
word
;
}
else
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
180
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[]
;
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
336
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
775
,
y
+
index
*
20
);
// 调整行高
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
129
,
y
+
index
*
20
);
// 调整行高
});
});
});
}
};
image
.
src
=
this
.
imgSrc
;
},
/**
* @description: 不动产证明
* @author: miaofang
*/
drawTextzmImage
()
{
function
getByteLen
(
val
)
{
var
len
=
0
;
if
(
!
val
)
return
len
;
for
(
var
i
=
0
;
i
<
val
.
length
;
i
++
)
{
var
length
=
val
.
charCodeAt
(
i
);
if
(
length
>=
0
&&
length
<=
128
)
{
len
+=
1
;
}
else
{
len
+=
2
;
}
}
return
len
;
}
// bdcdyh
this
.
bdcdyh
=
this
.
bdcqz
.
bdcdyh
.
slice
(
0
,
6
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
6
,
12
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
12
,
19
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
19
,
this
.
bdcqz
.
bdcdyh
.
length
);
context
.
fillText
(
this
.
bdcdyh
?
this
.
bdcdyh
:
""
,
775
,
373
);
// qlqtzk
const
maxWidth
=
295
;
// 最大宽度限制
let
lines
=
this
.
bdcqz
.
qlqtzk
?
this
.
bdcqz
.
qlqtzk
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines
[
i
])
/
37
);
if
(
getByteLen
(
lines
[
i
])
>
37
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
maxWidth
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
const
canvas
=
this
.
$refs
.
zm
;
const
context
=
canvas
.
getContext
(
"2d"
);
const
image
=
new
Image
();
image
.
onload
=
()
=>
{
context
.
drawImage
(
image
,
0
,
0
);
context
.
font
=
"18px 楷体"
;
context
.
fillStyle
=
"#000000"
;
// ysxlh
context
.
fillText
(
this
.
bdcqz
.
ysxlh
?
this
.
bdcqz
.
ysxlh
:
""
,
280
,
712
);
// djsj
if
(
this
.
bdcqz
.
djsj
)
{
let
djsjList
=
this
.
bdcqz
.
djsj
.
split
(
" "
)[
0
].
split
(
"/"
);
context
.
fillText
(
djsjList
[
0
]
?
djsjList
[
0
]
:
""
,
327
,
580
);
context
.
fillText
(
djsjList
[
1
]
?
djsjList
[
1
]
:
""
,
393
,
580
);
context
.
fillText
(
djsjList
[
2
]
?
djsjList
[
2
]
:
""
,
443
,
580
);
}
context
.
fillText
(
this
.
bdcqz
.
sjjc
?
this
.
bdcqz
.
sjjc
:
""
,
620
,
125
);
context
.
fillText
(
this
.
bdcqz
.
djnd
?
this
.
bdcqz
.
djnd
:
""
,
665
,
125
);
context
.
fillText
(
this
.
bdcqz
.
sxqc
?
this
.
bdcqz
.
sxqc
:
""
,
750
,
125
);
context
.
fillText
(
this
.
bdcqz
.
sxh
?
this
.
bdcqz
.
sxh
:
""
,
960
,
123
);
context
.
fillText
(
this
.
bdcqz
.
zmqlhsx
?
this
.
bdcqz
.
zmqlhsx
:
""
,
775
,
180
);
context
.
fillText
(
this
.
bdcqz
.
qlr
?
this
.
bdcqz
.
qlr
:
""
,
775
,
228
);
// 义务人
context
.
fillText
(
this
.
bdcqz
.
ywr
?
this
.
bdcqz
.
ywr
:
""
,
775
,
275
);
// context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
let
lines2
=
this
.
bdcqz
.
zl
?
this
.
bdcqz
.
zl
.
split
(
" "
)
:
[];
if
(
getByteLen
(
this
.
bdcqz
.
zl
)
>
41
)
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
315
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
295
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
}
arr
.
push
(
currentLine
);
if
(
i
>
0
)
{
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
428
+
25
*
(
i
-
1
)
+
5
*
num
+
index
*
15
);
// 调整行高
context
.
fillText
(
line
,
775
,
y
+
index
*
20
);
// 调整行高
});
}
else
{
});
}
else
{
lines2
.
forEach
((
line
,
index
)
=>
{
const
y
=
325
+
index
*
20
;
// 每行文本的垂直位置
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
line
)
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
295
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
77
0
,
435
+
25
*
(
i
-
1
)
+
index
*
14
);
// 调整行高
context
.
fillText
(
line
,
77
5
,
y
+
index
*
20
);
// 调整行高
});
}
}
else
{
if
(
i
>
0
)
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
770
,
440
+
5
*
num
+
24
*
(
i
-
1
)
);
}
else
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
770
,
440
+
24
*
(
i
-
1
)
);
}
});
}
}
// fj
let
lines1
=
this
.
bdcqz
.
fj
?
this
.
bdcqz
.
fj
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines1
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines1
[
i
])
/
37
);
if
(
getByteLen
(
lines1
[
i
])
>
37
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines1
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
maxWidth
)
{
currentLine
=
testLine
;
// bdcdyh
this
.
bdcdyh
=
this
.
bdcqz
.
bdcdyh
.
slice
(
0
,
6
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
6
,
12
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
12
,
19
)
+
" "
+
this
.
bdcqz
.
bdcdyh
.
slice
(
19
,
this
.
bdcqz
.
bdcdyh
.
length
);
context
.
fillText
(
this
.
bdcdyh
?
this
.
bdcdyh
:
""
,
775
,
373
);
// qlqtzk
const
maxWidth
=
295
;
// 最大宽度限制
let
lines
=
this
.
bdcqz
.
qlqtzk
?
this
.
bdcqz
.
qlqtzk
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines
[
i
])
/
37
);
if
(
getByteLen
(
lines
[
i
])
>
37
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
maxWidth
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
if
(
i
>
0
)
{
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
428
+
25
*
(
i
-
1
)
+
5
*
num
+
index
*
15
);
// 调整行高
});
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
435
+
25
*
(
i
-
1
)
+
index
*
14
);
// 调整行高
});
}
}
arr
.
push
(
currentLine
);
if
(
i
>
0
)
{
arr
.
forEach
((
line
,
index
)
=>
{
}
else
{
if
(
i
>
0
)
{
context
.
fillText
(
line
,
line
s
[
i
]
?
lines
[
i
]
:
""
,
770
,
610
+
25
*
(
i
-
1
)
+
5
*
num
+
index
*
15
);
// 调整行高
});
}
else
{
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
610
+
25
*
(
i
-
1
)
+
index
*
15
);
// 调整行高
});
440
+
5
*
num
+
24
*
(
i
-
1
)
);
}
else
{
context
.
fillText
(
lines
[
i
]
?
lines
[
i
]
:
""
,
770
,
440
+
24
*
(
i
-
1
)
);
}
}
}
else
{
if
(
i
>
0
)
{
context
.
fillText
(
lines1
[
i
]
?
lines1
[
i
]
:
""
,
770
,
610
+
5
*
num
+
23
*
(
i
-
1
)
);
}
// fj
let
lines1
=
this
.
bdcqz
.
fj
?
this
.
bdcqz
.
fj
.
split
(
"\n"
)
:
[];
for
(
let
i
=
0
;
i
<
lines1
.
length
;
i
++
)
{
let
num
=
Math
.
ceil
(
getByteLen
(
lines1
[
i
])
/
37
);
if
(
getByteLen
(
lines1
[
i
])
>
37
)
{
let
currentLine
=
""
;
let
arr
=
[];
for
(
let
word
of
lines1
[
i
])
{
const
testLine
=
currentLine
+
word
;
const
lineWidth
=
context
.
measureText
(
testLine
).
width
;
if
(
lineWidth
<=
maxWidth
)
{
currentLine
=
testLine
;
}
else
{
arr
.
push
(
currentLine
);
currentLine
=
word
;
}
}
arr
.
push
(
currentLine
);
if
(
i
>
0
)
{
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
610
+
25
*
(
i
-
1
)
+
5
*
num
+
index
*
15
);
// 调整行高
});
}
else
{
arr
.
forEach
((
line
,
index
)
=>
{
context
.
fillText
(
line
,
770
,
610
+
25
*
(
i
-
1
)
+
index
*
15
);
// 调整行高
});
}
}
else
{
context
.
fillText
(
lines1
[
i
]
?
lines1
[
i
]
:
""
,
770
,
610
+
23
*
(
i
-
1
)
);
if
(
i
>
0
)
{
context
.
fillText
(
lines1
[
i
]
?
lines1
[
i
]
:
""
,
770
,
610
+
5
*
num
+
23
*
(
i
-
1
)
);
}
else
{
context
.
fillText
(
lines1
[
i
]
?
lines1
[
i
]
:
""
,
770
,
610
+
23
*
(
i
-
1
)
);
}
}
}
}
};
};
image
.
src
=
this
.
bdczmSrc
;
image
.
src
=
this
.
bdczmSrc
;
},
},
},
computed
:
{
hdiffHeight
()
{
return
0
;
// return this.headTabBdcqz.length > 1 ? 54 : 0
computed
:
{
hdiffHeight
()
{
return
0
;
// return this.headTabBdcqz.length > 1 ? 54 : 0
},
},
},
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/mixin.scss"
;
.imgClass
{
display
:
inline-block
;
height
:
auto
;
max-width
:
100%
;
}
.imgClass
{
display
:
inline-block
;
height
:
auto
;
max-width
:
100%
;
}
.middle_padding
{
padding-bottom
:
10px
;
}
.middle_padding
{
padding-bottom
:
10px
;
}
.zsyl-button
{
text-align
:
center
;
margin-top
:
20px
;
.zsyl-button
{
text-align
:
center
;
margin-top
:
20px
;
.operation_button
{
width
:
100px
;
border
:
1px
solid
rgb
(
0
,
121
,
254
);
}
.operation_button
{
width
:
100px
;
border
:
1px
solid
rgb
(
0
,
121
,
254
);
}
.dy-button
{
color
:
white
;
background-color
:
rgb
(
0
,
121
,
254
);
.dy-button
{
color
:
white
;
background-color
:
rgb
(
0
,
121
,
254
);
}
}
}
.table-column
{
border-spacing
:
1px
;
width
:
100%
;
.table-column
{
border-spacing
:
1px
;
width
:
100%
;
tr
td
{
border
:
1px
solid
#ccc
;
text-align
:
center
;
height
:
40px
;
padding
:
4px
;
font-size
:
13px
;
background
:
rgb
(
251
,
249
,
229
);
tr
td
{
border
:
1px
solid
#ccc
;
text-align
:
center
;
height
:
40px
;
padding
:
4px
;
font-size
:
13px
;
background
:
rgb
(
251
,
249
,
229
);
}
}
}
.zsyl-title
{
background
:
#fafbe5
;
text-align
:
center
;
padding
:
5px
0px
;
font-size
:
20px
;
}
.zsyl-title
{
background
:
#fafbe5
;
text-align
:
center
;
padding
:
5px
0px
;
font-size
:
20px
;
}
.no-data
{
font-size
:
18px
;
display
:
flex
;
text-align
:
center
;
justify-content
:
center
;
}
.el-tab-pane
{
width
:
1190px
;
height
:
670px
;
overflow-y
:
auto
;
}
.zsys
{
width
:
1180px
;
height
:
670px
;
}
/
deep
/
.el-table
{
height
:
100px
!important
;
}
/
deep
/
.sz
{
height
:
340px
!important
;
}
.el-form
{
margin-top
:
20px
;
}
.no-data
{
font-size
:
18px
;
display
:
flex
;
text-align
:
center
;
justify-content
:
center
;
}
.el-tab-pane
{
width
:
1190px
;
height
:
670px
;
overflow-y
:
auto
;
}
.zsys
{
width
:
1180px
;
height
:
670px
;
}
/
deep
/
.el-table
{
height
:
100px
!important
;
}
//
/
deep
/
.sz
{
//
height
:
340px
!important
;
//
}
.el-form
{
margin-top
:
20px
;
}
</
style
>
...
...
Please
register
or
sign in
to post a comment