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
5adeabdd
Commit
5adeabdd
authored
Jul 12, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
767fd5f7
b5caa7a7
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1282 additions
and
75 deletions
+1282
-75
sample-form-manager-ui/admin/src/api/materials.js
sample-form-manager-ui/admin/src/api/materials.js
+48
-30
sample-form-manager-ui/admin/src/api/matter.js
sample-form-manager-ui/admin/src/api/matter.js
+69
-43
sample-form-manager-ui/admin/src/assets/fonts/demo.css
sample-form-manager-ui/admin/src/assets/fonts/demo.css
+539
-0
sample-form-manager-ui/admin/src/assets/fonts/demo_index.html
...le-form-manager-ui/admin/src/assets/fonts/demo_index.html
+211
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.css
sample-form-manager-ui/admin/src/assets/fonts/iconfont.css
+19
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.js
sample-form-manager-ui/admin/src/assets/fonts/iconfont.js
+1
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.json
sample-form-manager-ui/admin/src/assets/fonts/iconfont.json
+16
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.ttf
sample-form-manager-ui/admin/src/assets/fonts/iconfont.ttf
+0
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff
+0
-0
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff2
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff2
+0
-0
sample-form-manager-ui/admin/src/main.js
sample-form-manager-ui/admin/src/main.js
+2
-0
sample-form-manager-ui/admin/src/pages/hardware/NumberWriteDevice.vue
...manager-ui/admin/src/pages/hardware/NumberWriteDevice.vue
+1
-0
sample-form-manager-ui/admin/src/pages/hardware/modal/AddDevice.vue
...m-manager-ui/admin/src/pages/hardware/modal/AddDevice.vue
+9
-0
sample-form-manager-ui/admin/src/pages/software/materials/MaterialsManage.vue
...ui/admin/src/pages/software/materials/MaterialsManage.vue
+51
-1
sample-form-manager-ui/admin/src/pages/software/materials/modal/AddFolders.vue
...i/admin/src/pages/software/materials/modal/AddFolders.vue
+140
-0
sample-form-manager-ui/admin/src/pages/software/materials/modal/AddMaterials.vue
...admin/src/pages/software/materials/modal/AddMaterials.vue
+1
-0
sample-form-manager-ui/admin/src/pages/software/materials/modal/CommonLib.vue
...ui/admin/src/pages/software/materials/modal/CommonLib.vue
+1
-0
sample-form-manager-ui/admin/src/pages/software/materials/modal/FolderList.vue
...i/admin/src/pages/software/materials/modal/FolderList.vue
+171
-0
sample-form-manager-ui/admin/src/pages/software/matter/modal/AddMatter.vue
...er-ui/admin/src/pages/software/matter/modal/AddMatter.vue
+1
-0
sample-form-manager-ui/admin/src/pages/software/skinManage/SkinManage.vue
...ger-ui/admin/src/pages/software/skinManage/SkinManage.vue
+2
-1
No files found.
sample-form-manager-ui/admin/src/api/materials.js
View file @
5adeabdd
// 材料api
// 材料api
import
request
from
'
@/utils/request
'
import
request
from
"
@/utils/request
"
;
// 获取材料列表
// 获取材料列表
export
const
getMaterialsList
=
(
data
)
=>
{
export
const
getMaterialsList
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/datum/list`
,
url
:
`/sampleform/matter/datum/list`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 保存材料
// 保存材料
export
const
saveMaterials
=
(
data
)
=>
{
export
const
saveMaterials
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/datum/save`
,
url
:
`/sampleform/matter/datum/save`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 删除
// 删除
export
const
delMaterials
=
(
params
)
=>
{
export
const
delMaterials
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/datum/delete`
,
url
:
`/sampleform/matter/datum/delete`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
};
// 推荐材料
// 推荐材料
export
const
recommendMaterials
=
(
params
)
=>
{
export
const
recommendMaterials
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/datum/recommend`
,
url
:
`/sampleform/matter/datum/recommend`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
};
// 加入公共材料
// 加入公共材料
export
const
addPubdatum
=
(
params
)
=>
{
export
const
addPubdatum
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/datum/addPubdatum`
,
url
:
`/sampleform/matter/datum/addPubdatum`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
// 材料添加至事项文件夹(分类)
export
const
saveDatumToCategory
=
(
data
)
=>
{
return
request
({
url
:
`/sampleform/datum/category/save`
,
method
:
"
post
"
,
data
,
});
};
// 材料批量添加至事项文件夹(分类)
export
const
batchSaveDatumToCategory
=
(
data
)
=>
{
return
request
({
url
:
`/sampleform/datum/category/batchSave`
,
method
:
"
post
"
,
data
,
});
};
};
sample-form-manager-ui/admin/src/api/matter.js
View file @
5adeabdd
// 样表事项管理api
// 样表事项管理api
import
request
from
'
@/utils/request
'
import
request
from
"
@/utils/request
"
;
/**
/**
* 基础事项
* 基础事项
...
@@ -7,64 +7,90 @@ import request from '@/utils/request'
...
@@ -7,64 +7,90 @@ import request from '@/utils/request'
// 获取基础事项列表
// 获取基础事项列表
export
const
getMatterList
=
(
data
)
=>
{
export
const
getMatterList
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/sheet/matter/list`
,
url
:
`/sampleform/sheet/matter/list`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 加入样表事项
// 加入样表事项
export
const
createMatter
=
(
params
)
=>
{
export
const
createMatter
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/createMatter`
,
url
:
`/sampleform/matter/createMatter`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
};
// 获取基础事项差集列表
// 获取基础事项差集列表
export
const
getMatterSubList
=
(
data
)
=>
{
export
const
getMatterSubList
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/sheet/matter/sublist`
,
url
:
`/sampleform/sheet/matter/sublist`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 查询样表系统事项列表
// 查询样表系统事项列表
export
const
getWriteMatterList
=
(
data
)
=>
{
export
const
getWriteMatterList
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/list`
,
url
:
`/sampleform/matter/list`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 保存新增样表事项
// 保存新增样表事项
export
const
addMatter
=
(
data
)
=>
{
export
const
addMatter
=
(
data
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/save`
,
url
:
`/sampleform/matter/save`
,
method
:
"
post
"
,
method
:
"
post
"
,
data
,
data
,
});
});
};
};
// 删除样表事项
// 删除样表事项
export
const
delMatter
=
(
params
)
=>
{
export
const
delMatter
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/delete`
,
url
:
`/sampleform/matter/delete`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
};
// 推荐事项
// 推荐事项
export
const
recommendMatter
=
(
params
)
=>
{
export
const
recommendMatter
=
(
params
)
=>
{
return
request
({
return
request
({
url
:
`/sampleform/matter/recommend`
,
url
:
`/sampleform/matter/recommend`
,
method
:
"
get
"
,
method
:
"
get
"
,
params
,
params
,
});
});
};
};
// 添加事项文件夹(分类)
export
const
addMatterFolder
=
(
data
)
=>
{
return
request
({
url
:
`/sampleform/matter/category/save`
,
method
:
"
post
"
,
data
,
});
};
// 获取事项文件夹(分类)列表
export
const
getMatterFolderList
=
(
data
)
=>
{
return
request
({
url
:
`/sampleform/matter/category/list`
,
method
:
"
post
"
,
data
,
});
};
// 删除事项文件夹(分类)
export
const
delMatterFolder
=
(
params
)
=>
{
return
request
({
url
:
`/sampleform/matter/category/delete`
,
method
:
"
get
"
,
params
,
});
};
sample-form-manager-ui/admin/src/assets/fonts/demo.css
0 → 100644
View file @
5adeabdd
/* 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-manager-ui/admin/src/assets/fonts/demo_index.html
0 → 100644
View file @
5adeabdd
<!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=4136233"
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"
>
24gf-folderOpen
</div>
<div
class=
"code-name"
>
&
#xeac5;
</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=1687661668952') format('woff2'),
url('iconfont.woff?t=1687661668952') format('woff'),
url('iconfont.ttf?t=1687661668952') 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-folder"
></span>
<div
class=
"name"
>
24gf-folderOpen
</div>
<div
class=
"code-name"
>
.icon-folder
</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-folder"
></use>
</svg>
<div
class=
"name"
>
24gf-folderOpen
</div>
<div
class=
"code-name"
>
#icon-folder
</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-manager-ui/admin/src/assets/fonts/iconfont.css
0 → 100644
View file @
5adeabdd
@font-face
{
font-family
:
"iconfont"
;
/* Project id 4136233 */
src
:
url('iconfont.woff2?t=1687661668952')
format
(
'woff2'
),
url('iconfont.woff?t=1687661668952')
format
(
'woff'
),
url('iconfont.ttf?t=1687661668952')
format
(
'truetype'
);
}
.iconfont
{
font-family
:
"iconfont"
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
}
.icon-folder
:before
{
content
:
"\eac5"
;
}
sample-form-manager-ui/admin/src/assets/fonts/iconfont.js
0 → 100644
View file @
5adeabdd
window
.
_iconfont_svg_string_4136233
=
'
<svg><symbol id="icon-folder" viewBox="0 0 1024 1024"><path d="M81.16 412.073333L0 709.653333V138.666667a53.393333 53.393333 0 0 1 53.333333-53.333334h253.413334a52.986667 52.986667 0 0 1 37.713333 15.62l109.253333 109.253334a10.573333 10.573333 0 0 0 7.54 3.126666H842.666667a53.393333 53.393333 0 0 1 53.333333 53.333334v74.666666H173.773333a96.2 96.2 0 0 0-92.613333 70.74z m922-7.113333a52.933333 52.933333 0 0 0-42.386667-20.96H173.773333a53.453333 53.453333 0 0 0-51.453333 39.333333L11.773333 828.666667a53.333333 53.333333 0 0 0 51.453334 67.333333h787a53.453333 53.453333 0 0 0 51.453333-39.333333l110.546667-405.333334a52.953333 52.953333 0 0 0-9.073334-46.373333z" fill="#5C5C66" ></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_4136233
,(
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-manager-ui/admin/src/assets/fonts/iconfont.json
0 → 100644
View file @
5adeabdd
{
"id"
:
"4136233"
,
"name"
:
"填单-样表"
,
"font_family"
:
"iconfont"
,
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"7594875"
,
"name"
:
"24gf-folderOpen"
,
"font_class"
:
"folder"
,
"unicode"
:
"eac5"
,
"unicode_decimal"
:
60101
}
]
}
sample-form-manager-ui/admin/src/assets/fonts/iconfont.ttf
0 → 100644
View file @
5adeabdd
File added
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff
0 → 100644
View file @
5adeabdd
File added
sample-form-manager-ui/admin/src/assets/fonts/iconfont.woff2
0 → 100644
View file @
5adeabdd
File added
sample-form-manager-ui/admin/src/main.js
View file @
5adeabdd
...
@@ -7,6 +7,8 @@ import store from "./store";
...
@@ -7,6 +7,8 @@ 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.less
"
;
import
"
@/assets/css/common.less
"
;
// 引入iconfont
import
"
@/assets/fonts/iconfont.css
"
;
// moment 时间处理
// moment 时间处理
import
moment
from
"
moment
"
;
import
moment
from
"
moment
"
;
...
...
sample-form-manager-ui/admin/src/pages/hardware/NumberWriteDevice.vue
View file @
5adeabdd
...
@@ -30,6 +30,7 @@
...
@@ -30,6 +30,7 @@
<el-option
label=
"按设备名称"
:value=
"1"
>
</el-option>
<el-option
label=
"按设备名称"
:value=
"1"
>
</el-option>
<el-option
label=
"按mac地址"
:value=
"2"
>
</el-option>
<el-option
label=
"按mac地址"
:value=
"2"
>
</el-option>
<el-option
label=
"按设备IP"
:value=
"3"
>
</el-option>
<el-option
label=
"按设备IP"
:value=
"3"
>
</el-option>
<el-option
label=
"按所属机构"
:value=
"4"
>
</el-option>
</el-select>
</el-select>
<el-input
<el-input
size=
"small"
size=
"small"
...
...
sample-form-manager-ui/admin/src/pages/hardware/modal/AddDevice.vue
View file @
5adeabdd
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
:visible.sync=
"Visible"
:visible.sync=
"Visible"
width=
"50%"
width=
"50%"
@
close=
"handleClose"
@
close=
"handleClose"
:close-on-click-modal=
"false"
>
>
<el-form
<el-form
ref=
"form"
ref=
"form"
...
@@ -134,6 +135,13 @@
...
@@ -134,6 +135,13 @@
placeholder=
"请输入楼层"
placeholder=
"请输入楼层"
></el-input-number>
</el-form-item
></el-input-number>
</el-form-item
></el-col>
></el-col>
<el-col
:span=
"12"
><el-form-item
label=
"所属机构"
prop=
"institution"
>
<el-input
v-model=
"form.institution"
placeholder=
"请输入所属机构"
></el-input>
</el-form-item
></el-col>
</el-row>
</el-row>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
<el-col
:span=
"24"
...
@@ -207,6 +215,7 @@ export default {
...
@@ -207,6 +215,7 @@ export default {
// enabled: "", // 启用状态 (0.停止,1.启用)
// enabled: "", // 启用状态 (0.停止,1.启用)
deviceInBuilding
:
""
,
// 所在楼宇
deviceInBuilding
:
""
,
// 所在楼宇
deviceInFloor
:
""
,
// 所在楼层
deviceInFloor
:
""
,
// 所在楼层
institution
:
""
,
},
},
rules
:
{
rules
:
{
deviceName
:
[
deviceName
:
[
...
...
sample-form-manager-ui/admin/src/pages/software/materials/MaterialsManage.vue
View file @
5adeabdd
...
@@ -124,9 +124,15 @@
...
@@ -124,9 +124,15 @@
<
el
-
button
size
=
"
small
"
type
=
"
primary
"
@
click
=
"
showLib
"
<
el
-
button
size
=
"
small
"
type
=
"
primary
"
@
click
=
"
showLib
"
>
公共库选择
<
/el-butto
n
>
公共库选择
<
/el-butto
n
>
>
<
el
-
button
size
=
"
small
"
type
=
"
primary
"
@
click
=
"
addFolder
"
>
新增文件夹
<
/el-butto
n
>
<
el
-
button
size
=
"
small
"
type
=
"
danger
"
@
click
=
"
handleDelAll
"
<
el
-
button
size
=
"
small
"
type
=
"
danger
"
@
click
=
"
handleDelAll
"
>
批量删除
<
/el-butto
n
>
批量删除
<
/el-butto
n
>
>
<
el
-
button
size
=
"
small
"
type
=
"
primary
"
@
click
=
"
addMaterialsToFolder
"
>
移动至
<
/el-butto
n
>
<
/div
>
<
/div
>
<
div
slot
=
"
right
"
class
=
"
flex
"
>
<
div
slot
=
"
right
"
class
=
"
flex
"
>
<
el
-
select
<
el
-
select
...
@@ -213,7 +219,7 @@
...
@@ -213,7 +219,7 @@
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
sort
"
label
=
"
排序
"
align
=
"
center
"
width
=
"
80
"
>
<
el
-
table
-
column
prop
=
"
sort
"
label
=
"
排序
"
align
=
"
center
"
width
=
"
80
"
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
width
=
"
18
0
"
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
width
=
"
21
0
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
div
class
=
"
flex jcb
"
>
<
div
class
=
"
flex jcb
"
>
<
div
style
=
"
width: 60px
"
>
<
div
style
=
"
width: 60px
"
>
...
@@ -233,6 +239,11 @@
...
@@ -233,6 +239,11 @@
<
span
class
=
"
primary pointer
"
@
click
=
"
handleEdit(scope.row)
"
<
span
class
=
"
primary pointer
"
@
click
=
"
handleEdit(scope.row)
"
>
编辑
<
/spa
n
>
编辑
<
/spa
n
>
>
<!--
<
span
class
=
"
primary pointer
"
@
click
=
"
addMaterialsToFolder(scope.row)
"
>
移动至
<
/spa
n
>
-->
<
span
<
span
class
=
"
primary pointer
"
class
=
"
primary pointer
"
@
click
=
"
handlePreview(scope.row)
"
@
click
=
"
handlePreview(scope.row)
"
...
@@ -275,6 +286,17 @@
...
@@ -275,6 +286,17 @@
@
ok
=
"
addSuccess
"
@
ok
=
"
addSuccess
"
:
libVisible
.
sync
=
"
libVisible
"
:
libVisible
.
sync
=
"
libVisible
"
><
/CommonLib
>
><
/CommonLib
>
<!--
新增文件夹
-->
<
AddFolders
ref
=
"
AddFolders
"
:
addFolderVisible
.
sync
=
"
addFolderVisible
"
><
/AddFolders
>
<!--
文件夹
-->
<
FolderList
ref
=
"
FolderList
"
@
addSuccess
=
"
materialsToFolderOk
"
:
folderListVisible
.
sync
=
"
folderListVisible
"
><
/FolderList
>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
...
@@ -284,6 +306,8 @@ import AddMaterials from "./modal/AddMaterials.vue";
...
@@ -284,6 +306,8 @@ import AddMaterials from "./modal/AddMaterials.vue";
import
PreviewMaterials
from
"
./modal/PreviewMaterials.vue
"
;
import
PreviewMaterials
from
"
./modal/PreviewMaterials.vue
"
;
import
CommonLib
from
"
./modal/CommonLib.vue
"
;
import
CommonLib
from
"
./modal/CommonLib.vue
"
;
import
Pagination
from
"
@/components/Pagination.vue
"
;
import
Pagination
from
"
@/components/Pagination.vue
"
;
import
AddFolders
from
"
./modal/AddFolders.vue
"
;
import
FolderList
from
"
./modal/FolderList.vue
"
;
import
{
getWriteMatterList
}
from
"
@/api/matter
"
;
import
{
getWriteMatterList
}
from
"
@/api/matter
"
;
import
{
import
{
getMaterialsList
,
getMaterialsList
,
...
@@ -299,6 +323,8 @@ export default {
...
@@ -299,6 +323,8 @@ export default {
PreviewMaterials
,
PreviewMaterials
,
CommonLib
,
CommonLib
,
Pagination
,
Pagination
,
AddFolders
,
FolderList
,
}
,
}
,
data
()
{
data
()
{
return
{
return
{
...
@@ -329,6 +355,8 @@ export default {
...
@@ -329,6 +355,8 @@ export default {
depList
:
[],
depList
:
[],
matterId
:
null
,
matterId
:
null
,
recommendCount
:
""
,
// 推荐次数
recommendCount
:
""
,
// 推荐次数
addFolderVisible
:
false
,
folderListVisible
:
false
,
}
;
}
;
}
,
}
,
created
()
{
created
()
{
...
@@ -523,6 +551,28 @@ export default {
...
@@ -523,6 +551,28 @@ export default {
this
.
getWriteMatterList
();
this
.
getWriteMatterList
();
this
.
getMaterialsList
();
this
.
getMaterialsList
();
}
,
}
,
// 新增文件夹
addFolder
()
{
if
(
!
this
.
activeDep
.
id
)
{
this
.
$message
.
warning
(
"
请先选择事项
"
);
return
;
}
this
.
$refs
.
AddFolders
.
onAdd
(
this
.
activeDep
);
this
.
addFolderVisible
=
true
;
}
,
// 移动材料进事项文件夹
addMaterialsToFolder
()
{
if
(
!
this
.
rightSelectedRowKeys
.
length
)
{
this
.
$message
.
warning
(
"
请先勾选材料
"
);
return
;
}
this
.
$refs
.
FolderList
.
onAdd
(
this
.
rightSelectedRowKeys
);
this
.
folderListVisible
=
true
;
}
,
materialsToFolderOk
()
{
this
.
$refs
.
rightTable
.
clearSelection
();
this
.
getMaterialsList
();
}
,
}
,
}
,
}
;
}
;
<
/script
>
<
/script
>
...
...
sample-form-manager-ui/admin/src/pages/software/materials/modal/AddFolders.vue
0 → 100644
View file @
5adeabdd
<
template
>
<div>
<el-dialog
title=
"新增文件夹"
:visible.sync=
"Visible"
width=
"30%"
@
close=
"handleClose"
:destroy-on-close=
"true"
:close-on-click-modal=
"false"
>
<el-form
size=
"small"
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"所属事项"
>
<el-input
size=
"small"
disabled
:value=
"form.matterName"
></el-input>
</el-form-item>
<el-form-item
label=
"文件夹名称"
prop=
"categoryName"
>
<el-input
size=
"small"
v-model=
"form.categoryName"
placeholder=
"请输入文件夹名称"
></el-input>
</el-form-item>
<el-form-item
label=
"文件夹编码"
prop=
"categoryCode"
>
<el-input
size=
"small"
v-model=
"form.categoryCode"
placeholder=
"请输入文件夹编码"
></el-input>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"sort"
>
<el-input-number
v-model=
"form.sort"
controls-position=
"right"
:min=
"0"
></el-input-number>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
:loading=
"loading"
size=
"small"
type=
"primary"
@
click=
"handleOk"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
addMatterFolder
}
from
"
@/api/matter
"
;
export
default
{
props
:
{
addFolderVisible
:
{
type
:
Boolean
,
required
:
true
,
default
:
false
,
},
},
data
()
{
return
{
form
:
{
categoryName
:
""
,
// 名称
categoryCode
:
""
,
// 编码
matterId
:
""
,
// 事项id
matterName
:
""
,
// 事项名称
sort
:
99
,
// 排序
},
loading
:
false
,
rules
:
{
categoryName
:
[
{
required
:
true
,
message
:
"
请输入文件夹名称
"
,
trigger
:
"
blur
"
},
],
categoryCode
:
[
{
required
:
true
,
message
:
"
请输入文件夹编码
"
,
trigger
:
"
blur
"
},
],
},
};
},
computed
:
{
Visible
:
{
get
()
{
return
this
.
addFolderVisible
;
},
set
(
val
)
{
this
.
$emit
(
"
update:addFolderVisible
"
,
val
);
},
},
},
methods
:
{
// 确定
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
addMatterFolder
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
this
.
loading
=
false
;
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addSuccess
"
);
this
.
handleClose
();
}
}
});
},
// 新增
onAdd
(
row
)
{
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
this
.
form
.
id
&&
this
.
$delete
(
this
.
form
,
"
id
"
);
this
.
form
.
matterId
=
row
.
id
;
this
.
form
.
matterName
=
row
.
matterName
;
},
// 编辑
onEdit
(
row
)
{
this
.
form
=
{
...
row
};
},
// 重置
handleRest
()
{
this
.
$refs
.
form
.
resetFields
();
},
// 关闭
handleClose
()
{
this
.
loading
=
false
;
this
.
$refs
.
form
.
resetFields
();
this
.
Visible
=
false
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
sample-form-manager-ui/admin/src/pages/software/materials/modal/AddMaterials.vue
View file @
5adeabdd
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
width=
"30%"
width=
"30%"
@
close=
"handleClose"
@
close=
"handleClose"
:destroy-on-close=
"true"
:destroy-on-close=
"true"
:close-on-click-modal=
"false"
>
>
<el-form
<el-form
size=
"small"
size=
"small"
...
...
sample-form-manager-ui/admin/src/pages/software/materials/modal/CommonLib.vue
View file @
5adeabdd
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
title=
"从公共库中选择"
title=
"从公共库中选择"
:visible.sync=
"Visible"
:visible.sync=
"Visible"
width=
"70%"
width=
"70%"
:close-on-click-modal=
"false"
>
>
<TableHeader>
<TableHeader>
<div
slot=
"right"
class=
"flex"
>
<div
slot=
"right"
class=
"flex"
>
...
...
sample-form-manager-ui/admin/src/pages/software/materials/modal/FolderList.vue
0 → 100644
View file @
5adeabdd
<
template
>
<div>
<el-dialog
title=
"选择文件夹"
:visible.sync=
"Visible"
width=
"40%"
@
close=
"handleClose"
:close-on-click-modal=
"false"
>
<div
class=
"folder-list"
>
<el-radio
v-model=
"form.categoryId"
name=
"type"
v-for=
"v in folderList"
:key=
"v.id"
:label=
"v.id"
>
<div
class=
"folder-item flex flexc aic jca"
>
<div
class=
"folder-img-box flex aic jcc"
>
<i
class=
"iconfont icon-folder"
></i>
</div>
<p
class=
"folder-name tac"
>
{{
v
.
categoryName
}}
</p>
</div>
</el-radio>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
:loading=
"loading"
size=
"small"
type=
"primary"
@
click=
"handleOk"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getMatterFolderList
}
from
"
@/api/matter
"
;
import
{
batchSaveDatumToCategory
}
from
"
@/api/materials
"
;
export
default
{
props
:
{
folderListVisible
:
{
type
:
Boolean
,
required
:
true
,
default
:
false
,
},
},
data
()
{
return
{
categoryId
:
""
,
folderList
:
[],
// 分类列表
materialList
:
[],
// 材料列表
form
:
{
categoryId
:
""
,
categoryName
:
""
,
materialId
:
""
,
materialName
:
""
,
sort
:
79
,
},
loading
:
false
,
};
},
computed
:
{
Visible
:
{
get
()
{
return
this
.
folderListVisible
;
},
set
(
val
)
{
this
.
$emit
(
"
update:folderListVisible
"
,
val
);
},
},
},
created
()
{},
methods
:
{
// 获取事项文件夹列表
async
getMatterFolderList
()
{
let
res
=
await
getMatterFolderList
({
page
:
1
,
size
:
-
1
});
if
(
res
.
data
.
code
==
1
)
{
this
.
folderList
=
res
.
data
.
data
.
data
;
}
},
// 确定
async
handleOk
()
{
if
(
!
this
.
form
.
categoryId
)
{
this
.
$message
.
warning
(
"
请勾选文件夹
"
);
return
;
}
this
.
loading
=
true
;
let
arr
=
this
.
materialList
.
map
((
v
)
=>
{
return
{
categoryId
:
this
.
categoryId
,
materialId
:
v
.
id
,
materialName
:
v
.
materialName
,
};
});
let
res
=
await
batchSaveDatumToCategory
(
arr
);
let
{
code
,
msg
}
=
res
.
data
;
this
.
loading
=
false
;
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addSuccess
"
);
this
.
handleClose
();
}
},
// 新增
onAdd
(
row
)
{
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
this
.
form
.
id
&&
this
.
$delete
(
this
.
form
,
"
id
"
);
// this.form.materialId = row.id;
// this.form.materialName = row.materialName;
this
.
materialList
=
row
;
this
.
getMatterFolderList
();
},
// 编辑
onEdit
(
row
)
{
this
.
form
=
{
...
row
};
},
// 重置
handleRest
()
{
this
.
checked
=
""
;
},
// 关闭
handleClose
()
{
this
.
categoryId
=
""
;
this
.
loading
=
false
;
this
.
Visible
=
false
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.folder-list {
min-height: 400px;
max-height: 600px;
overflow-y: auto;
display: grid;
grid-template-columns: 182px 182px 182px 182px;
justify-content: center;
grid-row-gap: 10px;
.folder-item {
width: 120px;
height: 140px;
// border: 1px solid red;
.icon-folder {
font-size: 50px;
color: #188fff;
}
.folder-img-box {
width: 80px;
height: 80px;
background-color: rgba(24, 143, 255, 0.1);
border-radius: 4px;
}
.folder-name {
width: 100%;
font-size: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
/deep/.el-checkbox__input {
position: absolute !important;
}
</
style
>
\ No newline at end of file
sample-form-manager-ui/admin/src/pages/software/matter/modal/AddMatter.vue
View file @
5adeabdd
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
:destroy-on-close=
"true"
:destroy-on-close=
"true"
width=
"30%"
width=
"30%"
@
close=
"handleClose"
@
close=
"handleClose"
:close-on-click-modal=
"false"
>
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"事项简称"
prop=
"matterName"
>
<el-form-item
label=
"事项简称"
prop=
"matterName"
>
...
...
sample-form-manager-ui/admin/src/pages/software/skinManage/SkinManage.vue
View file @
5adeabdd
...
@@ -82,10 +82,11 @@ export default {
...
@@ -82,10 +82,11 @@ export default {
},
},
// 选择使用皮肤
// 选择使用皮肤
async
changeSkin
(
row
)
{
async
changeSkin
(
row
)
{
console
.
log
(
row
);
let
_this
=
this
;
let
_this
=
this
;
let
obj
=
{
let
obj
=
{
id
:
row
.
id
,
id
:
row
.
id
,
siteId
:
row
.
i
d
,
siteId
:
this
.
siteI
d
,
};
};
if
(
row
.
used
==
1
)
{
if
(
row
.
used
==
1
)
{
obj
.
used
=
0
;
obj
.
used
=
0
;
...
...
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