Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sample-form-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
sample-form-platform
Commits
7058e41e
Commit
7058e41e
authored
Nov 28, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
da3c0a6b
e25bb664
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1075 additions
and
193 deletions
+1075
-193
sample-form-client-ui/admin/.env
sample-form-client-ui/admin/.env
+0
-2
sample-form-client-ui/admin/src/assets/fonts/demo.css
sample-form-client-ui/admin/src/assets/fonts/demo.css
+539
-0
sample-form-client-ui/admin/src/assets/fonts/demo_index.html
sample-form-client-ui/admin/src/assets/fonts/demo_index.html
+257
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.css
sample-form-client-ui/admin/src/assets/fonts/iconfont.css
+27
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.js
sample-form-client-ui/admin/src/assets/fonts/iconfont.js
+1
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.json
sample-form-client-ui/admin/src/assets/fonts/iconfont.json
+30
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.ttf
sample-form-client-ui/admin/src/assets/fonts/iconfont.ttf
+0
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff
+0
-0
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff2
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff2
+0
-0
sample-form-client-ui/admin/src/assets/img/btn_kuaisu.png
sample-form-client-ui/admin/src/assets/img/btn_kuaisu.png
+0
-0
sample-form-client-ui/admin/src/components/MateralsList.vue
sample-form-client-ui/admin/src/components/MateralsList.vue
+16
-3
sample-form-client-ui/admin/src/main.js
sample-form-client-ui/admin/src/main.js
+26
-23
sample-form-client-ui/admin/src/pages/home/Home.vue
sample-form-client-ui/admin/src/pages/home/Home.vue
+32
-32
sample-form-client-ui/admin/src/pages/searchpage/SearchPage.vue
...-form-client-ui/admin/src/pages/searchpage/SearchPage.vue
+44
-52
sample-form-client-ui/admin/src/pages/showpage/MatterList.vue
...le-form-client-ui/admin/src/pages/showpage/MatterList.vue
+58
-55
sample-form-client-ui/admin/src/pages/showpage/ShowMaterials.vue
...form-client-ui/admin/src/pages/showpage/ShowMaterials.vue
+45
-26
No files found.
sample-form-client-ui/admin/.env
View file @
7058e41e
# 首页title
VUE_APP_API_BASE_title = "高新区政务服务中心"
\ No newline at end of file
sample-form-client-ui/admin/src/assets/fonts/demo.css
0 → 100644
View file @
7058e41e
/* Logo 字体 */
@font-face
{
font-family
:
"iconfont logo"
;
src
:
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834')
;
src
:
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix')
format
(
'embedded-opentype'
),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834')
format
(
'woff'
),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834')
format
(
'truetype'
),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont')
format
(
'svg'
);
}
.logo
{
font-family
:
"iconfont logo"
;
font-size
:
160px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
}
/* tabs */
.nav-tabs
{
position
:
relative
;
}
.nav-tabs
.nav-more
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
height
:
42px
;
line-height
:
42px
;
color
:
#666
;
}
#tabs
{
border-bottom
:
1px
solid
#eee
;
}
#tabs
li
{
cursor
:
pointer
;
width
:
100px
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
font-size
:
16px
;
border-bottom
:
2px
solid
transparent
;
position
:
relative
;
z-index
:
1
;
margin-bottom
:
-1px
;
color
:
#666
;
}
#tabs
.active
{
border-bottom-color
:
#f00
;
color
:
#222
;
}
.tab-container
.content
{
display
:
none
;
}
/* 页面布局 */
.main
{
padding
:
30px
100px
;
width
:
960px
;
margin
:
0
auto
;
}
.main
.logo
{
color
:
#333
;
text-align
:
left
;
margin-bottom
:
30px
;
line-height
:
1
;
height
:
110px
;
margin-top
:
-50px
;
overflow
:
hidden
;
*
zoom
:
1
;
}
.main
.logo
a
{
font-size
:
160px
;
color
:
#333
;
}
.helps
{
margin-top
:
40px
;
}
.helps
pre
{
padding
:
20px
;
margin
:
10px
0
;
border
:
solid
1px
#e7e1cd
;
background-color
:
#fffdef
;
overflow
:
auto
;
}
.icon_lists
{
width
:
100%
!important
;
overflow
:
hidden
;
*
zoom
:
1
;
}
.icon_lists
li
{
width
:
100px
;
margin-bottom
:
10px
;
margin-right
:
20px
;
text-align
:
center
;
list-style
:
none
!important
;
cursor
:
default
;
}
.icon_lists
li
.code-name
{
line-height
:
1.2
;
}
.icon_lists
.icon
{
display
:
block
;
height
:
100px
;
line-height
:
100px
;
font-size
:
42px
;
margin
:
10px
auto
;
color
:
#333
;
-webkit-transition
:
font-size
0.25s
linear
,
width
0.25s
linear
;
-moz-transition
:
font-size
0.25s
linear
,
width
0.25s
linear
;
transition
:
font-size
0.25s
linear
,
width
0.25s
linear
;
}
.icon_lists
.icon
:hover
{
font-size
:
100px
;
}
.icon_lists
.svg-icon
{
/* 通过设置 font-size 来改变图标大小 */
width
:
1em
;
/* 图标和文字相邻时,垂直对齐 */
vertical-align
:
-0.15em
;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill
:
currentColor
;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow
:
hidden
;
}
.icon_lists
li
.name
,
.icon_lists
li
.code-name
{
color
:
#666
;
}
/* markdown 样式 */
.markdown
{
color
:
#666
;
font-size
:
14px
;
line-height
:
1.8
;
}
.highlight
{
line-height
:
1.5
;
}
.markdown
img
{
vertical-align
:
middle
;
max-width
:
100%
;
}
.markdown
h1
{
color
:
#404040
;
font-weight
:
500
;
line-height
:
40px
;
margin-bottom
:
24px
;
}
.markdown
h2
,
.markdown
h3
,
.markdown
h4
,
.markdown
h5
,
.markdown
h6
{
color
:
#404040
;
margin
:
1.6em
0
0.6em
0
;
font-weight
:
500
;
clear
:
both
;
}
.markdown
h1
{
font-size
:
28px
;
}
.markdown
h2
{
font-size
:
22px
;
}
.markdown
h3
{
font-size
:
16px
;
}
.markdown
h4
{
font-size
:
14px
;
}
.markdown
h5
{
font-size
:
12px
;
}
.markdown
h6
{
font-size
:
12px
;
}
.markdown
hr
{
height
:
1px
;
border
:
0
;
background
:
#e9e9e9
;
margin
:
16px
0
;
clear
:
both
;
}
.markdown
p
{
margin
:
1em
0
;
}
.markdown
>
p
,
.markdown
>
blockquote
,
.markdown
>
.highlight
,
.markdown
>
ol
,
.markdown
>
ul
{
width
:
80%
;
}
.markdown
ul
>
li
{
list-style
:
circle
;
}
.markdown
>
ul
li
,
.markdown
blockquote
ul
>
li
{
margin-left
:
20px
;
padding-left
:
4px
;
}
.markdown
>
ul
li
p
,
.markdown
>
ol
li
p
{
margin
:
0.6em
0
;
}
.markdown
ol
>
li
{
list-style
:
decimal
;
}
.markdown
>
ol
li
,
.markdown
blockquote
ol
>
li
{
margin-left
:
20px
;
padding-left
:
4px
;
}
.markdown
code
{
margin
:
0
3px
;
padding
:
0
5px
;
background
:
#eee
;
border-radius
:
3px
;
}
.markdown
strong
,
.markdown
b
{
font-weight
:
600
;
}
.markdown
>
table
{
border-collapse
:
collapse
;
border-spacing
:
0px
;
empty-cells
:
show
;
border
:
1px
solid
#e9e9e9
;
width
:
95%
;
margin-bottom
:
24px
;
}
.markdown
>
table
th
{
white-space
:
nowrap
;
color
:
#333
;
font-weight
:
600
;
}
.markdown
>
table
th
,
.markdown
>
table
td
{
border
:
1px
solid
#e9e9e9
;
padding
:
8px
16px
;
text-align
:
left
;
}
.markdown
>
table
th
{
background
:
#F7F7F7
;
}
.markdown
blockquote
{
font-size
:
90%
;
color
:
#999
;
border-left
:
4px
solid
#e9e9e9
;
padding-left
:
0.8em
;
margin
:
1em
0
;
}
.markdown
blockquote
p
{
margin
:
0
;
}
.markdown
.anchor
{
opacity
:
0
;
transition
:
opacity
0.3s
ease
;
margin-left
:
8px
;
}
.markdown
.waiting
{
color
:
#ccc
;
}
.markdown
h1
:hover
.anchor
,
.markdown
h2
:hover
.anchor
,
.markdown
h3
:hover
.anchor
,
.markdown
h4
:hover
.anchor
,
.markdown
h5
:hover
.anchor
,
.markdown
h6
:hover
.anchor
{
opacity
:
1
;
display
:
inline-block
;
}
.markdown
>
br
,
.markdown
>
p
>
br
{
clear
:
both
;
}
.hljs
{
display
:
block
;
background
:
white
;
padding
:
0.5em
;
color
:
#333333
;
overflow-x
:
auto
;
}
.hljs-comment
,
.hljs-meta
{
color
:
#969896
;
}
.hljs-string
,
.hljs-variable
,
.hljs-template-variable
,
.hljs-strong
,
.hljs-emphasis
,
.hljs-quote
{
color
:
#df5000
;
}
.hljs-keyword
,
.hljs-selector-tag
,
.hljs-type
{
color
:
#a71d5d
;
}
.hljs-literal
,
.hljs-symbol
,
.hljs-bullet
,
.hljs-attribute
{
color
:
#0086b3
;
}
.hljs-section
,
.hljs-name
{
color
:
#63a35c
;
}
.hljs-tag
{
color
:
#333333
;
}
.hljs-title
,
.hljs-attr
,
.hljs-selector-id
,
.hljs-selector-class
,
.hljs-selector-attr
,
.hljs-selector-pseudo
{
color
:
#795da3
;
}
.hljs-addition
{
color
:
#55a532
;
background-color
:
#eaffea
;
}
.hljs-deletion
{
color
:
#bd2c00
;
background-color
:
#ffecec
;
}
.hljs-link
{
text-decoration
:
underline
;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code
[
class
*=
"language-"
],
pre
[
class
*=
"language-"
]
{
color
:
black
;
background
:
none
;
text-shadow
:
0
1px
white
;
font-family
:
Consolas
,
Monaco
,
'Andale Mono'
,
'Ubuntu Mono'
,
monospace
;
text-align
:
left
;
white-space
:
pre
;
word-spacing
:
normal
;
word-break
:
normal
;
word-wrap
:
normal
;
line-height
:
1.5
;
-moz-tab-size
:
4
;
-o-tab-size
:
4
;
tab-size
:
4
;
-webkit-hyphens
:
none
;
-moz-hyphens
:
none
;
-ms-hyphens
:
none
;
hyphens
:
none
;
}
pre
[
class
*=
"language-"
]
::-moz-selection
,
pre
[
class
*=
"language-"
]
::-moz-selection
,
code
[
class
*=
"language-"
]
::-moz-selection
,
code
[
class
*=
"language-"
]
::-moz-selection
{
text-shadow
:
none
;
background
:
#b3d4fc
;
}
pre
[
class
*=
"language-"
]
::selection
,
pre
[
class
*=
"language-"
]
::selection
,
code
[
class
*=
"language-"
]
::selection
,
code
[
class
*=
"language-"
]
::selection
{
text-shadow
:
none
;
background
:
#b3d4fc
;
}
@media
print
{
code
[
class
*=
"language-"
],
pre
[
class
*=
"language-"
]
{
text-shadow
:
none
;
}
}
/* Code blocks */
pre
[
class
*=
"language-"
]
{
padding
:
1em
;
margin
:
.5em
0
;
overflow
:
auto
;
}
:not
(
pre
)>
code
[
class
*=
"language-"
],
pre
[
class
*=
"language-"
]
{
background
:
#f5f2f0
;
}
/* Inline code */
:not
(
pre
)>
code
[
class
*=
"language-"
]
{
padding
:
.1em
;
border-radius
:
.3em
;
white-space
:
normal
;
}
.token.comment
,
.token.prolog
,
.token.doctype
,
.token.cdata
{
color
:
slategray
;
}
.token.punctuation
{
color
:
#999
;
}
.namespace
{
opacity
:
.7
;
}
.token.property
,
.token.tag
,
.token.boolean
,
.token.number
,
.token.constant
,
.token.symbol
,
.token.deleted
{
color
:
#905
;
}
.token.selector
,
.token.attr-name
,
.token.string
,
.token.char
,
.token.builtin
,
.token.inserted
{
color
:
#690
;
}
.token.operator
,
.token.entity
,
.token.url
,
.language-css
.token.string
,
.style
.token.string
{
color
:
#9a6e3a
;
background
:
hsla
(
0
,
0%
,
100%
,
.5
);
}
.token.atrule
,
.token.attr-value
,
.token.keyword
{
color
:
#07a
;
}
.token.function
,
.token.class-name
{
color
:
#DD4A68
;
}
.token.regex
,
.token.important
,
.token.variable
{
color
:
#e90
;
}
.token.important
,
.token.bold
{
font-weight
:
bold
;
}
.token.italic
{
font-style
:
italic
;
}
.token.entity
{
cursor
:
help
;
}
sample-form-client-ui/admin/src/assets/fonts/demo_index.html
0 → 100644
View file @
7058e41e
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
/>
<title>
iconfont Demo
</title>
<link
rel=
"shortcut icon"
href=
"//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"
type=
"image/x-icon"
/>
<link
rel=
"icon"
type=
"image/svg+xml"
href=
"//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"
/>
<link
rel=
"stylesheet"
href=
"https://g.alicdn.com/thx/cube/1.3.2/cube.min.css"
>
<link
rel=
"stylesheet"
href=
"demo.css"
>
<link
rel=
"stylesheet"
href=
"iconfont.css"
>
<script
src=
"iconfont.js"
></script>
<!-- jQuery -->
<script
src=
"https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"
></script>
<!-- 代码高亮 -->
<script
src=
"https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"
></script>
<style>
.main
.logo
{
margin-top
:
0
;
height
:
auto
;
}
.main
.logo
a
{
display
:
flex
;
align-items
:
center
;
}
.main
.logo
.sub-title
{
margin-left
:
0.5em
;
font-size
:
22px
;
color
:
#fff
;
background
:
linear-gradient
(
-45deg
,
#3967FF
,
#B500FE
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
</style>
</head>
<body>
<div
class=
"main"
>
<h1
class=
"logo"
><a
href=
"https://www.iconfont.cn/"
title=
"iconfont 首页"
target=
"_blank"
>
<img
width=
"200"
src=
"https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg"
>
</a></h1>
<div
class=
"nav-tabs"
>
<ul
id=
"tabs"
class=
"dib-box"
>
<li
class=
"dib active"
><span>
Unicode
</span></li>
<li
class=
"dib"
><span>
Font class
</span></li>
<li
class=
"dib"
><span>
Symbol
</span></li>
</ul>
<a
href=
"https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=3737952"
target=
"_blank"
class=
"nav-more"
>
查看项目
</a>
</div>
<div
class=
"tab-container"
>
<div
class=
"content unicode"
style=
"display: block;"
>
<ul
class=
"icon_lists dib-box"
>
<li
class=
"dib"
>
<span
class=
"icon iconfont"
>

</span>
<div
class=
"name"
>
火焰
</div>
<div
class=
"code-name"
>
&
#xe63e;
</div>
</li>
<li
class=
"dib"
>
<span
class=
"icon iconfont"
>

</span>
<div
class=
"name"
>
点
</div>
<div
class=
"code-name"
>
&
#xec1e;
</div>
</li>
<li
class=
"dib"
>
<span
class=
"icon iconfont"
>

</span>
<div
class=
"name"
>
首页
</div>
<div
class=
"code-name"
>
&
#xe606;
</div>
</li>
</ul>
<div
class=
"article markdown"
>
<h2
id=
"unicode-"
>
Unicode 引用
</h2>
<hr>
<p>
Unicode 是字体在网页端最原始的应用方式,特点是:
</p>
<ul>
<li>
支持按字体的方式去动态调整图标大小,颜色等等。
</li>
<li>
默认情况下不支持多色,直接添加多色图标会自动去色。
</li>
</ul>
<blockquote>
<p>
注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)
</p>
</blockquote>
<p>
Unicode 使用步骤如下:
</p>
<h3
id=
"-font-face"
>
第一步:拷贝项目下面生成的
<code>
@font-face
</code></h3>
<pre><code
class=
"language-css"
>
@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1669186016573') format('woff2'),
url('iconfont.woff?t=1669186016573') format('woff'),
url('iconfont.ttf?t=1669186016573') format('truetype');
}
</code></pre>
<h3
id=
"-iconfont-"
>
第二步:定义使用 iconfont 的样式
</h3>
<pre><code
class=
"language-css"
>
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3
id=
"-"
>
第三步:挑选相应图标并获取字体编码,应用于页面
</h3>
<pre>
<code
class=
"language-html"
>
<
span class="iconfont"
>&
#x33;
<
/span
>
</code></pre>
<blockquote>
<p>
"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
</p>
</blockquote>
</div>
</div>
<div
class=
"content font-class"
>
<ul
class=
"icon_lists dib-box"
>
<li
class=
"dib"
>
<span
class=
"icon iconfont icon-hot"
></span>
<div
class=
"name"
>
火焰
</div>
<div
class=
"code-name"
>
.icon-hot
</div>
</li>
<li
class=
"dib"
>
<span
class=
"icon iconfont icon-dot"
></span>
<div
class=
"name"
>
点
</div>
<div
class=
"code-name"
>
.icon-dot
</div>
</li>
<li
class=
"dib"
>
<span
class=
"icon iconfont icon-home"
></span>
<div
class=
"name"
>
首页
</div>
<div
class=
"code-name"
>
.icon-home
</div>
</li>
</ul>
<div
class=
"article markdown"
>
<h2
id=
"font-class-"
>
font-class 引用
</h2>
<hr>
<p>
font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。
</p>
<p>
与 Unicode 使用方式相比,具有如下特点:
</p>
<ul>
<li>
相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
</li>
<li>
因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
</li>
</ul>
<p>
使用步骤如下:
</p>
<h3
id=
"-fontclass-"
>
第一步:引入项目下面生成的 fontclass 代码:
</h3>
<pre><code
class=
"language-html"
>
<
link rel="stylesheet" href="./iconfont.css"
>
</code></pre>
<h3
id=
"-"
>
第二步:挑选相应图标并获取类名,应用于页面:
</h3>
<pre><code
class=
"language-html"
>
<
span class="iconfont icon-xxx"
><
/span
>
</code></pre>
<blockquote>
<p>
"
iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
</p>
</blockquote>
</div>
</div>
<div
class=
"content symbol"
>
<ul
class=
"icon_lists dib-box"
>
<li
class=
"dib"
>
<svg
class=
"icon svg-icon"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-hot"
></use>
</svg>
<div
class=
"name"
>
火焰
</div>
<div
class=
"code-name"
>
#icon-hot
</div>
</li>
<li
class=
"dib"
>
<svg
class=
"icon svg-icon"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-dot"
></use>
</svg>
<div
class=
"name"
>
点
</div>
<div
class=
"code-name"
>
#icon-dot
</div>
</li>
<li
class=
"dib"
>
<svg
class=
"icon svg-icon"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-home"
></use>
</svg>
<div
class=
"name"
>
首页
</div>
<div
class=
"code-name"
>
#icon-home
</div>
</li>
</ul>
<div
class=
"article markdown"
>
<h2
id=
"symbol-"
>
Symbol 引用
</h2>
<hr>
<p>
这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇
<a
href=
""
>
文章
</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:
</p>
<ul>
<li>
支持多色图标了,不再受单色限制。
</li>
<li>
通过一些技巧,支持像字体那样,通过
<code>
font-size
</code>
,
<code>
color
</code>
来调整样式。
</li>
<li>
兼容性较差,支持 IE9+,及现代浏览器。
</li>
<li>
浏览器渲染 SVG 的性能一般,还不如 png。
</li>
</ul>
<p>
使用步骤如下:
</p>
<h3
id=
"-symbol-"
>
第一步:引入项目下面生成的 symbol 代码:
</h3>
<pre><code
class=
"language-html"
>
<
script src="./iconfont.js"
><
/script
>
</code></pre>
<h3
id=
"-css-"
>
第二步:加入通用 CSS 代码(引入一次就行):
</h3>
<pre><code
class=
"language-html"
>
<
style
>
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
<
/style
>
</code></pre>
<h3
id=
"-"
>
第三步:挑选相应图标并获取类名,应用于页面:
</h3>
<pre><code
class=
"language-html"
>
<
svg class="icon" aria-hidden="true"
>
<
use xlink:href="#icon-xxx"
><
/use
>
<
/svg
>
</code></pre>
</div>
</div>
</div>
</div>
<script>
$
(
document
).
ready
(
function
()
{
$
(
'
.tab-container .content:first
'
).
show
()
$
(
'
#tabs li
'
).
click
(
function
(
e
)
{
var
tabContent
=
$
(
'
.tab-container .content
'
)
var
index
=
$
(
this
).
index
()
if
(
$
(
this
).
hasClass
(
'
active
'
))
{
return
}
else
{
$
(
'
#tabs li
'
).
removeClass
(
'
active
'
)
$
(
this
).
addClass
(
'
active
'
)
tabContent
.
hide
().
eq
(
index
).
fadeIn
()
}
})
})
</script>
</body>
</html>
sample-form-client-ui/admin/src/assets/fonts/iconfont.css
0 → 100644
View file @
7058e41e
@font-face
{
font-family
:
"iconfont"
;
/* Project id 3737952 */
src
:
url('iconfont.woff2?t=1669186016573')
format
(
'woff2'
),
url('iconfont.woff?t=1669186016573')
format
(
'woff'
),
url('iconfont.ttf?t=1669186016573')
format
(
'truetype'
);
}
.iconfont
{
font-family
:
"iconfont"
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
}
.icon-hot
:before
{
content
:
"\e63e"
;
}
.icon-dot
:before
{
content
:
"\ec1e"
;
}
.icon-home
:before
{
content
:
"\e606"
;
}
sample-form-client-ui/admin/src/assets/fonts/iconfont.js
0 → 100644
View file @
7058e41e
window
.
_iconfont_svg_string_3737952
=
'
<svg><symbol id="icon-hot" viewBox="0 0 1024 1024"><path d="M768 332.8l-76.8 76.8c0 0 0-307.2-256-409.6 0 0-25.6 281.6-153.6 384s-384 409.6 128 640c0 0-256-281.6 76.8-486.4 0 0-25.6 102.4 102.4 204.8s0 281.6 0 281.6S1203.2 870.4 768 332.8z" ></path></symbol><symbol id="icon-dot" viewBox="0 0 1024 1024"><path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" ></path></symbol><symbol id="icon-home" viewBox="0 0 1114 1024"><path d="M993.886268 442.729412V963.764706a60.235294 60.235294 0 0 1-60.235294 60.235294h-231.755294a60.235294 60.235294 0 0 1-60.235294-60.235294v-241.664h-176.609882V963.764706a60.235294 60.235294 0 0 1-60.235295 60.235294H180.709798a60.235294 60.235294 0 0 1-60.235294-60.235294V445.44l-70.987295 59.512471a30.117647 30.117647 0 1 1-38.731294-46.140236l538.744471-451.764706a30.117647 30.117647 0 0 1 39.183059 0.421647l515.403294 451.764706a30.117647 30.117647 0 0 1-39.695059 45.296942L993.886268 442.729412z m-60.205176-52.766118L568.414268 69.812706 180.709798 394.872471V963.764706h224.105411v-241.664a60.235294 60.235294 0 0 1 60.235295-60.235294h176.609882a60.235294 60.235294 0 0 1 60.235294 60.235294V963.764706H933.650974V391.529412l0.030118-1.566118z" fill="#7F7F7F" ></path></symbol></svg>
'
,
function
(
n
){
var
t
=
(
t
=
document
.
getElementsByTagName
(
"
script
"
))[
t
.
length
-
1
],
e
=
t
.
getAttribute
(
"
data-injectcss
"
),
t
=
t
.
getAttribute
(
"
data-disable-injectsvg
"
);
if
(
!
t
){
var
o
,
i
,
a
,
d
,
c
,
s
=
function
(
t
,
e
){
e
.
parentNode
.
insertBefore
(
t
,
e
)};
if
(
e
&&!
n
.
__iconfont__svg__cssinject__
){
n
.
__iconfont__svg__cssinject__
=!
0
;
try
{
document
.
write
(
"
<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>
"
)}
catch
(
t
){
console
&&
console
.
log
(
t
)}}
o
=
function
(){
var
t
,
e
=
document
.
createElement
(
"
div
"
);
e
.
innerHTML
=
n
.
_iconfont_svg_string_3737952
,(
e
=
e
.
getElementsByTagName
(
"
svg
"
)[
0
])
&&
(
e
.
setAttribute
(
"
aria-hidden
"
,
"
true
"
),
e
.
style
.
position
=
"
absolute
"
,
e
.
style
.
width
=
0
,
e
.
style
.
height
=
0
,
e
.
style
.
overflow
=
"
hidden
"
,
e
=
e
,(
t
=
document
.
body
).
firstChild
?
s
(
e
,
t
.
firstChild
):
t
.
appendChild
(
e
))},
document
.
addEventListener
?
~
[
"
complete
"
,
"
loaded
"
,
"
interactive
"
].
indexOf
(
document
.
readyState
)?
setTimeout
(
o
,
0
):(
i
=
function
(){
document
.
removeEventListener
(
"
DOMContentLoaded
"
,
i
,
!
1
),
o
()},
document
.
addEventListener
(
"
DOMContentLoaded
"
,
i
,
!
1
)):
document
.
attachEvent
&&
(
a
=
o
,
d
=
n
.
document
,
c
=!
1
,
r
(),
d
.
onreadystatechange
=
function
(){
"
complete
"
==
d
.
readyState
&&
(
d
.
onreadystatechange
=
null
,
l
())})}
function
l
(){
c
||
(
c
=!
0
,
a
())}
function
r
(){
try
{
d
.
documentElement
.
doScroll
(
"
left
"
)}
catch
(
t
){
return
void
setTimeout
(
r
,
50
)}
l
()}}(
window
);
\ No newline at end of file
sample-form-client-ui/admin/src/assets/fonts/iconfont.json
0 → 100644
View file @
7058e41e
{
"id"
:
"3737952"
,
"name"
:
"zzdy"
,
"font_family"
:
"iconfont"
,
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"1221891"
,
"name"
:
"火焰"
,
"font_class"
:
"hot"
,
"unicode"
:
"e63e"
,
"unicode_decimal"
:
58942
},
{
"icon_id"
:
"4933869"
,
"name"
:
"点"
,
"font_class"
:
"dot"
,
"unicode"
:
"ec1e"
,
"unicode_decimal"
:
60446
},
{
"icon_id"
:
"5849190"
,
"name"
:
"首页"
,
"font_class"
:
"home"
,
"unicode"
:
"e606"
,
"unicode_decimal"
:
58886
}
]
}
sample-form-client-ui/admin/src/assets/fonts/iconfont.ttf
0 → 100644
View file @
7058e41e
File added
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff
0 → 100644
View file @
7058e41e
File added
sample-form-client-ui/admin/src/assets/fonts/iconfont.woff2
0 → 100644
View file @
7058e41e
File added
sample-form-client-ui/admin/src/assets/img/btn_kuaisu.png
View replaced file @
da3c0a6b
View file @
7058e41e
42.4 KB
|
W:
|
H:
33.7 KB
|
W:
|
H:
2-up
Swipe
Onion skin
sample-form-client-ui/admin/src/components/MateralsList.vue
View file @
7058e41e
...
@@ -7,7 +7,9 @@
...
@@ -7,7 +7,9 @@
matterInfo
.
matterDatumList
?
matterInfo
.
matterDatumList
.
length
:
0
matterInfo
.
matterDatumList
?
matterInfo
.
matterDatumList
.
length
:
0
}}
个)
</span
}}
个)
</span
>
>
<span
class=
"matter-name"
>
事项名称:
{{
matterInfo
.
matterName
}}
</span>
<span
class=
"matter-name"
>
事项名称:
<span
v-html=
"matterInfo.matterName"
></span
></span>
</div>
</div>
<!-- 列表 -->
<!-- 列表 -->
<div
<div
...
@@ -21,7 +23,9 @@
...
@@ -21,7 +23,9 @@
@
click=
"handleWrite"
@
click=
"handleWrite"
>
>
<div
class=
"pic-box"
>
<div
class=
"pic-box"
>
<img
:src=
"api + v.preViewPath"
/>
<div
class=
"pic-img-box"
>
<img
class=
"pic"
:src=
"api + v.preViewPath"
/>
</div>
</div>
</div>
<div
class=
"for-short"
>
{{
v
.
materialName
}}
</div>
<div
class=
"for-short"
>
{{
v
.
materialName
}}
</div>
<div
class=
"matterDatumList-name"
>
<div
class=
"matterDatumList-name"
>
...
@@ -139,9 +143,16 @@ export default {
...
@@ -139,9 +143,16 @@ export default {
padding: 16px 24px;
padding: 16px 24px;
background: #f4f6fc;
background: #f4f6fc;
border-radius: 16px;
border-radius: 16px;
img
{
.pic-img-box
{
width: 100%;
width: 100%;
height: 100%;
height: 100%;
border-radius: 4px;
overflow: hidden;
}
img {
width: 100%;
min-height: 100%;
border-radius: inherit;
}
}
}
}
.for-short {
.for-short {
...
@@ -151,6 +162,7 @@ export default {
...
@@ -151,6 +162,7 @@ export default {
font-family: Source Han Sans CN;
font-family: Source Han Sans CN;
color: #333333;
color: #333333;
overflow: hidden;
overflow: hidden;
text-align: center;
text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
white-space: nowrap;
}
}
...
@@ -159,6 +171,7 @@ export default {
...
@@ -159,6 +171,7 @@ export default {
font-family: Source Han Sans CN;
font-family: Source Han Sans CN;
color: #777777;
color: #777777;
line-height: 30px;
line-height: 30px;
text-align: center;
display: -webkit-box;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
-webkit-line-clamp: 2;
...
...
sample-form-client-ui/admin/src/main.js
View file @
7058e41e
import
Vue
from
'
vue
'
import
Vue
from
"
vue
"
;
import
App
from
'
./App.vue
'
import
App
from
"
./App.vue
"
;
import
router
from
'
./router
'
import
router
from
"
./router
"
;
import
store
from
'
./store
'
import
store
from
"
./store
"
;
// 引入清除样式,重置样式,公共样式
// 引入清除样式,重置样式,公共样式
import
"
@/assets/css/normalize.css
"
import
"
@/assets/css/normalize.css
"
;
import
"
@/assets/css/reset.css
"
import
"
@/assets/css/reset.css
"
;
import
"
@/assets/css/common.css
"
import
"
@/assets/css/common.css
"
;
// 引入fonts字体
import
"
@/assets/fonts/iconfont.css
"
;
// moment 时间处理
// moment 时间处理
import
moment
from
'
moment
'
;
import
moment
from
"
moment
"
;
Vue
.
prototype
.
$moment
=
moment
;
Vue
.
prototype
.
$moment
=
moment
;
// 引入注册全局指令
// 引入注册全局指令
import
*
as
directives
from
"
@/directive
"
import
*
as
directives
from
"
@/directive
"
;
Object
.
keys
(
directives
).
forEach
(
name
=>
Vue
.
directive
(
name
,
directives
[
name
]))
Object
.
keys
(
directives
).
forEach
((
name
)
=>
Vue
.
directive
(
name
,
directives
[
name
])
);
// 引入element-ui
// 引入element-ui
import
ElementUI
from
'
element-ui
'
;
import
ElementUI
from
"
element-ui
"
;
import
'
element-ui/lib/theme-chalk/index.css
'
;
import
"
element-ui/lib/theme-chalk/index.css
"
;
Vue
.
use
(
ElementUI
);
Vue
.
use
(
ElementUI
);
import
{
message
}
from
'
@/utils/resetMessage
'
import
{
message
}
from
"
@/utils/resetMessage
"
;
Vue
.
prototype
.
$message
=
message
Vue
.
prototype
.
$message
=
message
;
// 滚动插件
// 滚动插件
import
scroll
from
'
vue-seamless-scroll
'
import
scroll
from
"
vue-seamless-scroll
"
;
Vue
.
use
(
scroll
);
Vue
.
use
(
scroll
);
// 表格生成
// 表格生成
import
plugins
from
'
./components/formDes/index
'
;
import
plugins
from
"
./components/formDes/index
"
;
Vue
.
use
(
plugins
);
Vue
.
use
(
plugins
);
// 格式化插件
// 格式化插件
import
format
from
'
vue-text-format
'
;
import
format
from
"
vue-text-format
"
;
Vue
.
use
(
format
);
Vue
.
use
(
format
);
// 中央事件
// 中央事件
Vue
.
prototype
.
$bus
=
new
Vue
Vue
.
prototype
.
$bus
=
new
Vue
();
Vue
.
config
.
productionTip
=
false
Vue
.
config
.
productionTip
=
false
;
Vue
.
config
.
productionTip
=
false
Vue
.
config
.
productionTip
=
false
;
new
Vue
({
new
Vue
({
router
,
router
,
store
,
store
,
render
:
h
=>
h
(
App
)
render
:
(
h
)
=>
h
(
App
),
}).
$mount
(
'
#app
'
)
}).
$mount
(
"
#app
"
);
sample-form-client-ui/admin/src/pages/home/Home.vue
View file @
7058e41e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
src=
"../../assets/img/png_huizhang.png"
src=
"../../assets/img/png_huizhang.png"
alt=
"LOGO"
alt=
"LOGO"
/>
/>
<h1
class=
"title ml10"
>
{{
baseT
itle
}}
</h1>
<h1
class=
"title ml10"
>
{{
homeInfo
.
t
itle
}}
</h1>
</div>
</div>
<div
class=
"right flex"
>
<div
class=
"right flex"
>
<p
class=
"flex aic mr25"
>
<p
class=
"flex aic mr25"
>
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
<div
<div
class=
"ranking-item flex aic"
class=
"ranking-item flex aic"
v-for=
"(v, i) in datumList"
v-for=
"(v, i) in datumList"
:key=
"v"
:key=
"v
.id
"
>
>
<div
class=
"flex aic jcc item-index"
>
<div
class=
"flex aic jcc item-index"
>
<img
v-if=
"i
<
3
"
:src=
"checkTopImg(i)"
/>
<img
v-if=
"i
<
3
"
:src=
"checkTopImg(i)"
/>
...
@@ -182,7 +182,6 @@ export default {
...
@@ -182,7 +182,6 @@ export default {
homeInfo
:
{},
// 首页数据
homeInfo
:
{},
// 首页数据
datumList
:
[],
datumList
:
[],
matterList
:
[],
matterList
:
[],
baseTitle
:
process
.
env
.
VUE_APP_API_BASE_title
,
};
};
},
},
computed
:
{
computed
:
{
...
@@ -214,7 +213,7 @@ export default {
...
@@ -214,7 +213,7 @@ export default {
let
res
=
await
getHomeInfo
({});
let
res
=
await
getHomeInfo
({});
let
{
data
,
code
}
=
res
.
data
;
let
{
data
,
code
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
// data.hotWords = data.hotWords.split(",");
// data.hotWords = data.hotWords.split(",");
this
.
homeInfo
=
data
;
this
.
homeInfo
=
data
;
this
.
matterList
=
data
.
matterList
;
this
.
matterList
=
data
.
matterList
;
this
.
datumList
=
data
.
datumList
;
this
.
datumList
=
data
.
datumList
;
...
@@ -463,39 +462,40 @@ export default {
...
@@ -463,39 +462,40 @@ export default {
font-size: 50px;
font-size: 50px;
font-weight: 500;
font-weight: 500;
color: #ffffff;
color: #ffffff;
border: 3px solid #ffffff;
border-radius: 16px;
border-radius: 16px;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
position: relative;
position: relative;
overflow: hidden;
overflow: hidden;
//
&::before {
&::before {
//
content: "";
content: "";
//
position: absolute;
position: absolute;
//
width: 200px;
width: 200px;
//
height: 300%;
height: 300%;
//
left: -200px;
left: -200px;
//
transform: rotateZ(-45deg);
transform: rotateZ(-45deg);
//
background: linear-gradient(
background: linear-gradient(
//
to right,
to right,
//
transparent 1%,
transparent 1%,
//
rgba(255, 255, 255, 0.2) 30%,
rgba(255, 255, 255, 0.2) 30%,
//
rgba(255, 255, 255, 0.5) 60%,
rgba(255, 255, 255, 0.5) 60%,
//
transparent 100%
transparent 100%
//
);
);
//
animation: shadow 6s infinite;
animation: shadow 6s infinite;
//
}
}
//
.fill-btn-text1 {
.fill-btn-text1 {
//
animation: ring 6s 20ms infinite;
animation: ring 6s 20ms infinite;
//
}
}
//
.fill-btn-text2 {
.fill-btn-text2 {
//
animation: ring 6s 60ms infinite;
animation: ring 6s 60ms infinite;
//
}
}
//
.fill-btn-text3 {
.fill-btn-text3 {
//
animation: ring 6s 105ms infinite;
animation: ring 6s 105ms infinite;
//
}
}
//
.fill-btn-text4 {
.fill-btn-text4 {
//
animation: ring 6s 145ms infinite;
animation: ring 6s 145ms infinite;
//
}
}
}
}
.empty-btn {
.empty-btn {
width: 284px;
width: 284px;
...
...
sample-form-client-ui/admin/src/pages/searchpage/SearchPage.vue
View file @
7058e41e
...
@@ -7,8 +7,9 @@
...
@@ -7,8 +7,9 @@
<PageTop>
<PageTop>
<div
slot=
"count"
class=
"count"
>
<div
slot=
"count"
class=
"count"
>
共计
<span
class=
"data-count"
>
{{
matterTotal
}}
</span
共计
<span
class=
"data-count"
>
{{
matterTotal
}}
</span
>
件事项,
<span
class=
"data-count"
>
{{
matterDatumTotal
}}
</span
>
件事项
>
份表单
<!-- ,
<span
class=
"data-count"
>
{{
matterDatumTotal
}}
</span
>
份表单 -->
</div>
</div>
<SearchBox
<SearchBox
slot=
"search"
slot=
"search"
...
@@ -31,14 +32,27 @@
...
@@ -31,14 +32,27 @@
{{
matter
.
matterFullName
}}
{{
matter
.
matterFullName
}}
</div>
</div>
<div
<div
class=
"materials"
class=
"materials
flex aic
"
v-for=
"(item,index) in matter.matterDatumList"
v-for=
"(item,
index) in matter.matterDatumList"
:key=
"item.id"
:key=
"item.id"
>
>
·
{{
item
.
materiaFullName
}}
<i
class=
"iconfont icon-dot"
></i>
<span
v-if=
"index>2"
>
{{
<span
`等${matter.matterDatumList && matter.matterDatumList.length
}
份材料`
class=
"material-name"
}}
<
/span
>
:class=
"
{ isMore: index === 2
&&
v.matterDatumList.length > 3 }"
>
{{
item
.
materiaFullName
}}
</span>
<span
v-if=
"index === 2 && matter.matterDatumList.length > 3"
>
等
<span
class=
"count"
>
{{
`${
v.matterDatumList && matter.matterDatumList.length
}
份材料`
}}
<
/span
>
<
/span
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
<
div
...
@@ -103,13 +117,13 @@ export default {
...
@@ -103,13 +117,13 @@ export default {
}
,
}
,
created
()
{
created
()
{
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
// this.getAllmaterials();
// this.getAllmaterials();
}
,
}
,
watch
:
{
watch
:
{
searchVal
(
newVal
)
{
searchVal
(
newVal
)
{
if
(
newVal
===
""
)
{
if
(
newVal
===
""
)
{
this
.
current
=
1
;
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
// this.getAllmaterials();
}
}
}
,
}
,
}
,
}
,
...
@@ -119,44 +133,18 @@ export default {
...
@@ -119,44 +133,18 @@ export default {
let
res
=
await
getWriteMatterList
({
let
res
=
await
getWriteMatterList
({
page
:
this
.
current
,
page
:
this
.
current
,
size
:
this
.
size
,
size
:
this
.
size
,
isTerminal
:
1
,
isTerminal
:
1
,
matterName
:
this
.
searchVal
,
matterName
:
this
.
searchVal
,
}
);
}
);
let
{
total
,
matterDatumTotal
,
data
}
=
res
.
data
.
data
;
let
{
total
,
matterDatumTotal
,
data
}
=
res
.
data
.
data
;
// data.forEach(async (v) =>
{
// v.matterDatumList = [];
// let obj = await this.getMaterialsList(1, -1, v.id);
// obj.data.forEach((item) =>
{
// v.matterDatumList.push(item);
//
}
);
//
}
);
this
.
matterList
=
data
;
this
.
matterList
=
data
;
// this.matterDatumList=data.matterDatumList
this
.
matterTotal
=
total
;
this
.
matterTotal
=
total
;
this
.
matterDatumTotal
=
matterDatumTotal
;
this
.
matterDatumTotal
=
matterDatumTotal
;
}
,
}
,
// 获取所有材料
/* async getAllmaterials() {
this.matterDatumList = await this.getMaterialsList(1, 3, null, this.searchVal);
}
,
// 获取材料列表
async getMaterialsList(page = 1, size = 3, matterId, materialName) {
let res = await getMaterialsList({
page,
size,
matterId,
materialName,
}
);
let { total, data
}
= res.data.data;
return {
total,
data,
}
;
}
,*/
// 搜索
// 搜索
handleSearch
()
{
handleSearch
()
{
this
.
current
=
1
;
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
// this.getAllmaterials();
}
,
}
,
// 分页
// 分页
changePage
(
cur
)
{
changePage
(
cur
)
{
...
@@ -210,6 +198,7 @@ export default {
...
@@ -210,6 +198,7 @@ export default {
background
:
#
edf6fe
;
background
:
#
edf6fe
;
border
-
radius
:
16
px
;
border
-
radius
:
16
px
;
cursor
:
pointer
;
cursor
:
pointer
;
.
for
-
short
{
.
for
-
short
{
margin
-
bottom
:
10
px
;
margin
-
bottom
:
10
px
;
font
-
size
:
24
px
;
font
-
size
:
24
px
;
...
@@ -235,25 +224,28 @@ export default {
...
@@ -235,25 +224,28 @@ export default {
font
-
family
:
Source
Han
Sans
CN
;
font
-
family
:
Source
Han
Sans
CN
;
color
:
#
333333
;
color
:
#
333333
;
line
-
height
:
28
px
;
line
-
height
:
28
px
;
.
isMore
{
max
-
width
:
320
px
;
}
.
count
{
.
count
{
color
:
#
2878
ff
;
color
:
#
2878
ff
;
}
}
}
}
}
}
/deep/
.
btn
-
prev
{
}
margin
-
right
:
80
px
;
:
deep
(.
btn
-
prev
)
{
}
margin
-
right
:
80
px
;
/deep/
.
btn
-
prev
,
}
/deep/
.
btn
-
next
{
:
deep
(.
btn
-
prev
),
width
:
78
px
;
:
deep
(.
btn
-
next
)
{
height
:
25
px
;
width
:
78
px
;
font
-
family
:
Source
Han
Sans
CN
;
height
:
25
px
;
font
-
weight
:
400
;
font
-
family
:
Source
Han
Sans
CN
;
color
:
#
888888
;
font
-
weight
:
400
;
line
-
height
:
28
px
;
color
:
var
(
--
main
-
theme
-
color1
)
;
span
{
line
-
height
:
28
px
;
font
-
size
:
28
px
;
span
{
}
font
-
size
:
28
px
;
}
}
}
}
<
/style>
<
/style>
\ No newline at end of file
sample-form-client-ui/admin/src/pages/showpage/MatterList.vue
View file @
7058e41e
...
@@ -15,40 +15,48 @@
...
@@ -15,40 +15,48 @@
共计
<span
class=
"data-count"
v-format=
"'#,##0'"
>
{{
共计
<span
class=
"data-count"
v-format=
"'#,##0'"
>
{{
matterTotal
matterTotal
}}
</span
}}
</span
>
件事项
>
件事项
</div>
</div>
<SearchBox
<SearchBox
slot=
"search-right"
slot=
"search-right"
width=
"834px"
width=
"834px"
v-model=
"searchVal"
v-model=
"searchVal"
@
click=
"getWriteMatterList
"
@
click=
"handleSearch
"
></SearchBox>
></SearchBox>
</PageTop>
</PageTop>
<!-- 事项列表 -->
<!-- 事项列表 -->
<div
class=
"matter-box flex1"
>
<div
class=
"matter-box flex1"
>
<div
class=
"matter-list"
v-if=
"matterList.length"
>
<div
class=
"matter-list"
v-if=
"matterList.length"
>
<div
<div
class=
"matter-item"
class=
"matter-item"
v-for=
"v in matterList"
v-for=
"v in matterList"
:key=
"v.id"
:key=
"v.id"
@
click=
"handleCheck(v)"
@
click=
"handleCheck(v)"
>
>
<div
class=
"for-short"
v-html=
"v.matterName"
></div>
<div
v-if=
"v.isRecommend"
class=
"hot-icon flex jcc aic"
>
<div
class=
"name"
>
事项名称:
{{
v
.
matterFullName
}}
</div>
<i
class=
"iconfont icon-hot"
></i>
<span>
热门
</span>
</div>
<div
class=
"for-short"
:class=
"
{ isRecommend: v.isRecommend }"
v-html="v.matterName"
>
</div>
<div
class=
"name"
>
事项全称:
{{
v
.
matterFullName
}}
</div>
</div>
</div>
</div>
</div>
<el-empty
:image-size=
"200"
v-else
></el-empty>
<el-empty
:image-size=
"200"
v-else
></el-empty>
<!-- 分页 -->
<!-- 分页 -->
<div
class=
"tac"
>
<div
class=
"tac"
>
<el-pagination
<el-pagination
prev-text=
"上一页"
prev-text=
"上一页"
next-text=
"下一页"
next-text=
"下一页"
hide-on-single-page
hide-on-single-page
layout=
"prev,next"
layout=
"prev,next"
:total=
"matterTotal"
:total=
"matterTotal"
:current-page=
"current"
:current-page=
"current"
:page-size=
"size"
:page-size=
"size"
@
current-change=
"changePage"
@
current-change=
"changePage"
>
>
</el-pagination>
</el-pagination>
</div>
</div>
...
@@ -57,8 +65,8 @@
...
@@ -57,8 +65,8 @@
</div>
</div>
<!-- 材料列表 -->
<!-- 材料列表 -->
<MateralsList
<MateralsList
:matterInfo=
"matterInfo"
:matterInfo=
"matterInfo"
:visible.sync=
"visible"
:visible.sync=
"visible"
></MateralsList>
></MateralsList>
</div>
</div>
</
template
>
</
template
>
...
@@ -69,7 +77,7 @@ import LeftMenus from "./components/LeftMenus.vue";
...
@@ -69,7 +77,7 @@ import LeftMenus from "./components/LeftMenus.vue";
import
PageTop
from
"
@/components/PageTop.vue
"
;
import
PageTop
from
"
@/components/PageTop.vue
"
;
import
SearchBox
from
"
@/components/SearchBox.vue
"
;
import
SearchBox
from
"
@/components/SearchBox.vue
"
;
import
MateralsList
from
"
../../components/MateralsList.vue
"
;
import
MateralsList
from
"
../../components/MateralsList.vue
"
;
import
{
getWriteMatterList
}
from
"
@/api
"
;
import
{
getWriteMatterList
}
from
"
@/api
"
;
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -94,7 +102,6 @@ export default {
...
@@ -94,7 +102,6 @@ export default {
},
},
created
()
{
created
()
{
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
// this.getAllmaterials();
},
},
watch
:
{
watch
:
{
searchVal
(
newVal
)
{
searchVal
(
newVal
)
{
...
@@ -112,43 +119,22 @@ export default {
...
@@ -112,43 +119,22 @@ export default {
size
:
this
.
size
,
size
:
this
.
size
,
deptCode
:
this
.
deptCode
,
deptCode
:
this
.
deptCode
,
matterName
:
this
.
searchVal
,
matterName
:
this
.
searchVal
,
isTerminal
:
1
isTerminal
:
1
,
});
});
let
{
total
,
data
}
=
res
.
data
.
data
;
let
{
total
,
data
}
=
res
.
data
.
data
;
/* data.forEach(async (v) => {
v.materals = [];
let obj = await this.getMaterialsList(1, -1, v.id);
obj.data.forEach((item) => {
v.materals.push(item);
});
});*/
this
.
matterList
=
data
;
this
.
matterList
=
data
;
this
.
matterTotal
=
total
;
this
.
matterTotal
=
total
;
},
},
/* // 获取材料
async getAllmaterials() {
this.materals = await this.getMaterialsList(1, 3, null);
},
// 获取材料列表
async getMaterialsList(page = 1, size = 3, matterId) {
let res = await getMaterialsList({
page,
size,
deptCode: this.deptCode,
matterId,
});
let {total, data} = res.data.data;
return {
total,
data,
};
},*/
// 切换部门
// 切换部门
changeDept
(
deptCode
)
{
changeDept
(
deptCode
)
{
this
.
deptCode
=
deptCode
;
this
.
deptCode
=
deptCode
;
this
.
current
=
1
;
this
.
current
=
1
;
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
//this.getAllmaterials();
},
// 搜索
handleSearch
()
{
this
.
current
=
1
;
this
.
getWriteMatterList
();
},
},
// 分页
// 分页
changePage
(
cur
)
{
changePage
(
cur
)
{
...
@@ -156,9 +142,7 @@ export default {
...
@@ -156,9 +142,7 @@ export default {
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
},
},
handleCheck
(
row
)
{
handleCheck
(
row
)
{
console
.
log
(
"
onclick row
"
,
row
)
this
.
matterInfo
=
row
;
this
.
matterInfo
=
row
;
console
.
log
(
"
lens
"
,
this
.
matterInfo
.
matterDatumList
.
length
)
this
.
visible
=
true
;
this
.
visible
=
true
;
},
},
},
},
...
@@ -213,7 +197,24 @@ export default {
...
@@ -213,7 +197,24 @@ export default {
background: #edf6fe;
background: #edf6fe;
border-radius: 16px;
border-radius: 16px;
cursor: pointer;
cursor: pointer;
position: relative;
.hot-icon {
width: 87px;
height: 36px;
background: linear-gradient(87deg, #fdba6b, #f15800);
border-radius: 0px 16px 0px 9px;
font-size: 20px;
font-family: Source Han Sans CN;
color: #ffffff;
position: absolute;
top: 0px;
right: 0px;
.icon-hot {
margin-right: 4px;
font-size: 20px;
color: #ffe96d;
}
}
.for-short {
.for-short {
margin-bottom: 10px;
margin-bottom: 10px;
font-size: 24px;
font-size: 24px;
...
@@ -225,7 +226,9 @@ export default {
...
@@ -225,7 +226,9 @@ export default {
-webkit-line-clamp: 2;
-webkit-line-clamp: 2;
overflow: hidden;
overflow: hidden;
}
}
.isRecommend {
max-width: 350px;
}
.name {
.name {
margin-bottom: 10px;
margin-bottom: 10px;
font-size: 18px;
font-size: 18px;
...
...
sample-form-client-ui/admin/src/pages/showpage/ShowMaterials.vue
View file @
7058e41e
...
@@ -21,14 +21,14 @@
...
@@ -21,14 +21,14 @@
class=
"preview-img-box flex aic jcc"
class=
"preview-img-box flex aic jcc"
:style=
"
{
:style=
"
{
width: width * (scale / 100) + 'px',
width: width * (scale / 100) + 'px',
height: height * (scale / 100) + 'px',
height:
v.
height * (scale / 100) + 'px',
}"
}"
>
>
<img
<img
:style=
"
{
:style=
"
{
transform: `scale(${scale / 100})`,
transform: `scale(${scale / 100})`,
width: width + 'px',
width: width + 'px',
height: height + 'px',
height:
v.
height + 'px',
}"
}"
class="preview-img"
class="preview-img"
:src="api + v.preViewPath"
:src="api + v.preViewPath"
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<!-- 侧边内容 -->
<!-- 侧边内容 -->
<div
class=
"sidebar-main"
>
<div
class=
"sidebar-main"
>
<div
class=
"title flex jcc aic"
@
click=
"showSidebar = false"
>
<div
class=
"title flex jcc aic"
@
click=
"showSidebar = false"
>
<span
class=
"mr30"
>
申请表填写进度
</span>
<span
class=
"mr30"
>
样表展示
</span>
<span
class=
"icon2"
>
<span
class=
"icon2"
>
<i
class=
"el-icon-d-arrow-left"
></i>
<i
class=
"el-icon-d-arrow-left"
></i>
</span>
</span>
...
@@ -63,16 +63,18 @@
...
@@ -63,16 +63,18 @@
{{
matterInfo
.
matterName
}}
{{
matterInfo
.
matterName
}}
</div>
</div>
<!-- 材料列表 -->
<!-- 材料列表 -->
<div
<div
class=
"materails-list"
>
class=
"materails-item pdl10"
<div
v-ellipsis=
"'340px'"
class=
"materails-item pdl10"
:class=
"
{ active: i === active }"
v-ellipsis=
"'330px'"
v-for="(v, i) in materailsList"
:class=
"
{ active: i === active }"
:key="v.id"
v-for="(v, i) in materailsList"
@click="active = i"
:key="v.id"
>
@click="active = i"
{{
v
.
materiaFullName
}}
>
<div
class=
"line"
></div>
{{
v
.
materiaFullName
}}
<div
class=
"line"
></div>
</div>
</div>
</div>
</div>
</div>
...
@@ -83,7 +85,7 @@
...
@@ -83,7 +85,7 @@
@
click=
"showSidebar = true"
@
click=
"showSidebar = true"
>
>
<div
class=
"sidebar-btn-text flex flexc aic"
>
<div
class=
"sidebar-btn-text flex flexc aic"
>
<span
class=
"sidebar-btn-title"
>
申请表填写记录
</span>
<span
class=
"sidebar-btn-title"
>
样表展示
</span>
<span
class=
"mt15 mb15"
>
<span
class=
"mt15 mb15"
>
{{
active
+
1
}}
/
{{
materailsList
.
length
}}
{{
active
+
1
}}
/
{{
materailsList
.
length
}}
</span>
</span>
...
@@ -116,16 +118,12 @@ export default {
...
@@ -116,16 +118,12 @@ export default {
scale
:
100
,
scale
:
100
,
showSidebar
:
false
,
// 切换侧边弹窗显示
showSidebar
:
false
,
// 切换侧边弹窗显示
width
:
600
,
width
:
600
,
height
:
800
,
};
};
},
},
created
()
{
created
()
{
this
.
getMaterialsList
();
this
.
getMaterialsList
();
console
.
log
(
"
matterDatumList
"
,
this
.
matterInfo
.
matterDatumList
)
// this.materailsList=this.matterInfo.matterDatumList;
// this.materailsList=this.matterInfo.matterDatumList;
},
},
methods
:
{
methods
:
{
...
@@ -141,6 +139,13 @@ export default {
...
@@ -141,6 +139,13 @@ export default {
matterId
:
this
.
matterInfo
.
matterId
,
matterId
:
this
.
matterInfo
.
matterId
,
});
});
let
{
data
}
=
res
.
data
.
data
;
let
{
data
}
=
res
.
data
.
data
;
data
.
forEach
((
v
)
=>
{
let
image
=
new
Image
();
image
.
src
=
this
.
api
+
v
.
preViewPath
;
image
.
onload
=
function
()
{
v
.
height
=
image
.
height
;
};
});
this
.
materailsList
=
data
;
this
.
materailsList
=
data
;
},
},
...
@@ -178,22 +183,37 @@ export default {
...
@@ -178,22 +183,37 @@ export default {
}
}
.main {
.main {
width: 100%;
width: 100%;
height: 1px;
position: relative;
position: relative;
overflow: auto;
overflow: auto;
.sidebar-box {
.sidebar-box {
width: 360px;
width: 360px;
min-height: 340px;
min-height: 340px;
max-height: 800px;
padding: 10px;
padding: 10px;
background: #fff;
background: #fff;
box-shadow: 6px -1px 10px 0px rgba(0, 0, 0, 0.11);
box-shadow: 6px -1px 10px 0px rgba(0, 0, 0, 0.11);
border-radius: 0px 38px 8px 0px;
border-radius: 0px 38px 8px 0px;
position:
absolute
;
position:
fixed
;
top:
1
30px;
top:
2
30px;
left: 0px;
left: 0px;
z-index: 10;
z-index: 10;
transition: all 500ms;
transition: all 500ms;
.materails-list {
max-height: 600px;
&::-webkit-scrollbar {
width: 6px;
overflow-y: auto;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, 0.5);
}
&::-webkit-scrollbar-track {
border-radius: 6px;
background: #fff;
}
}
.title {
.title {
margin-bottom: 15px;
margin-bottom: 15px;
font-size: 22px;
font-size: 22px;
...
@@ -321,9 +341,8 @@ export default {
...
@@ -321,9 +341,8 @@ export default {
font-family: Source Han Sans CN;
font-family: Source Han Sans CN;
color: #888888;
color: #888888;
}
}
.preview-img {
// .preview-img {
object-fit: contain;
// }
}
// 放大控制
// 放大控制
.control-box {
.control-box {
position: fixed;
position: fixed;
...
...
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