Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
exhibition_backstage
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
龙菲
exhibition_backstage
Commits
b86916cc
提交
b86916cc
authored
9月 18, 2023
作者:
龙菲
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改按钮和表单样式;增加3D文物的查询和查看3D文物的按钮
上级
9b582a13
隐藏空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
574 行增加
和
291 行删除
+574
-291
index.vue
src/components/NavBar/index.vue
+1
-1
index.vue
src/components/SearchBar/index.vue
+6
-2
TableOperation.vue
src/components/Table/TableOperation.vue
+38
-11
AutoUploader.vue
src/components/Uploader/AutoUploader.vue
+1
-1
ManualUploader.vue
src/components/Uploader/ManualUploader.vue
+24
-12
ManualUploaderBind.vue
src/components/Uploader/ManualUploaderBind.vue
+26
-13
index.vue
src/components/VueQuillEditor/index.vue
+3
-0
three.svg
src/icons/svg/three.svg
+2
-0
Navbar.vue
src/layout/components/Navbar.vue
+6
-2
file.js
src/utils/file.js
+17
-17
ImportRecordDialog.vue
src/views/culturalRelic/components/ImportRecordDialog.vue
+1
-1
InfoEditDialog.vue
src/views/culturalRelic/components/InfoEditDialog.vue
+4
-5
PreviewDialog.vue
src/views/culturalRelic/components/PreviewDialog.vue
+1
-1
UploadListDialog.vue
src/views/culturalRelic/components/UploadListDialog.vue
+2
-2
config.js
src/views/culturalRelic/config.js
+22
-22
index.vue
src/views/culturalRelic/index.vue
+26
-9
CopyDialog.vue
src/views/display/components/CopyDialog.vue
+1
-1
ExhibitionUnit.vue
src/views/display/components/ExhibitionUnit.vue
+1
-1
ImportRecordDialog.vue
src/views/display/components/ImportRecordDialog.vue
+1
-1
InfoEditDialog.vue
src/views/display/components/InfoEditDialog.vue
+5
-5
PreviewDialog.vue
src/views/display/components/PreviewDialog.vue
+1
-1
UploadListDialog.vue
src/views/display/components/UploadListDialog.vue
+1
-1
RedStyle.vue
src/views/display/components/templates/RedStyle.vue
+6
-7
index.vue
src/views/display/index.vue
+142
-53
BaseInfo.vue
src/views/displayApproval/components/BaseInfo.vue
+1
-1
PreviewDisplayDialog.vue
...views/displayApproval/components/PreviewDisplayDialog.vue
+17
-9
InfoEditDialog.vue
src/views/literature/components/InfoEditDialog.vue
+3
-3
index.vue
src/views/literature/index.vue
+1
-0
index.vue
src/views/login/index.vue
+2
-0
InfoEditDialog.vue
src/views/museum/components/InfoEditDialog.vue
+61
-27
index.vue
src/views/museum/index.vue
+8
-5
InfoEditDialog.vue
src/views/product/components/InfoEditDialog.vue
+3
-3
config.js
src/views/product/config.js
+5
-5
index.vue
src/views/product/index.vue
+1
-1
DataEditDialog.vue
src/views/role/components/DataEditDialog.vue
+3
-3
InfoEditDialog.vue
src/views/role/components/InfoEditDialog.vue
+3
-2
index.vue
src/views/role/index.vue
+1
-0
EditPassword.vue
src/views/user/components/EditPassword.vue
+5
-15
EditRole.vue
src/views/user/components/EditRole.vue
+2
-2
InfoEditDialog.vue
src/views/user/components/InfoEditDialog.vue
+97
-34
index.vue
src/views/user/index.vue
+1
-1
InfoEditDialog.vue
src/views/virtual/components/InfoEditDialog.vue
+3
-3
index.vue
src/views/virtual/index.vue
+1
-1
vue.config.js
vue.config.js
+18
-7
没有找到文件。
src/components/NavBar/index.vue
浏览文件 @
b86916cc
...
...
@@ -30,7 +30,7 @@
</div>
<div
class=
"tools animate__animated animate__fadeInRight"
>
<div
class=
"wrapper"
>
<el-button
round
v-if=
"!hasToken"
>
<el-button
round
v-if=
"!hasToken"
>
<i
class=
"el-icon-user"
></i>
<span>
登录
</span>
<!--
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
-->
...
...
src/components/SearchBar/index.vue
浏览文件 @
b86916cc
<
template
>
<el-form
:inline=
"true"
>
<el-form
:inline=
"true"
size=
"mini"
>
<el-form-item
:label=
"item.label"
v-for=
"(item, index) in config"
...
...
@@ -42,19 +42,23 @@
:value-format=
"'yyyy-MM-dd HH:mm:ss'"
>
</el-date-picker>
<el-checkbox
v-if=
"item.type=='checkbox'"
v-model=
"searchData[item.prop]"
></el-checkbox>
</el-form-item>
<el-form-item>
<el-form-item
style=
"margin-left:26px"
>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click
.
native=
"handleSearch"
size=
"mini"
>
查询
</el-button
>
<el-button
type=
"primary"
plain
icon=
"el-icon-refresh"
@
click
.
native=
"handleReset"
size=
"mini"
>
重置
</el-button
>
...
...
src/components/Table/TableOperation.vue
浏览文件 @
b86916cc
...
...
@@ -2,14 +2,34 @@
<span>
<span
v-for=
"(op, index) in operations"
:key=
"index"
>
<span
v-if=
"op.type == 'delete'"
>
<el-popconfirm
:title=
"deleteTitle ? deleteTitle : '确定删除吗?'"
@
confirm=
"clickOperation(op)"
>
<el-button
type=
"danger"
:disabled=
"disabled"
size=
"mini"
slot=
"reference"
:icon=
"icons[op.type]"
style=
"margin-right: 4px"
>
{{
op
.
title
}}
</el-button>
<el-popconfirm
:title=
"deleteTitle ? deleteTitle : '确定删除吗?'"
@
confirm=
"clickOperation(op)"
>
<el-link
type=
"danger"
:disabled=
"disabled"
size=
"mini"
slot=
"reference"
:icon=
"icons[op.type]"
>
{{
op
.
title
}}
</el-link
>
</el-popconfirm>
</span>
<el-button
size=
"mini"
:icon=
"icons[op.type]"
:disabled=
"(disabled &&op.type!='view')"
@
click=
"clickOperation(op)"
type=
"primary"
style=
"margin-right: 4px"
v-else
>
{{
op
.
title
}}
</el-button>
<span
class=
"view-3d"
v-else-if=
"op.type == 'view3D'"
>
<svg-icon
icon-class=
"three"
></svg-icon>
{{
op
.
title
}}
</span
>
<el-link
size=
"mini"
:icon=
"icons[op.type]"
:disabled=
"disabled && op.type != 'view'"
@
click=
"clickOperation(op)"
type=
"primary"
style=
"margin-right: 16px"
v-else
>
{{
op
.
title
}}
</el-link>
</span>
</span>
</
template
>
...
...
@@ -27,10 +47,10 @@ export default {
deleteTitle
:
{
type
:
String
,
},
disabled
:{
disabled
:
{
type
:
Boolean
,
default
:
false
}
default
:
false
,
}
,
},
data
()
{
return
{
...
...
@@ -41,8 +61,9 @@ export default {
download
:
"el-icon-download"
,
dataPermission
:
"el-icon-key"
,
editRole
:
"el-icon-user"
,
editPassword
:
'el-icon-lock'
,
approval
:
'el-icon-s-check'
,
editPassword
:
"el-icon-lock"
,
approval
:
"el-icon-s-check"
,
view3D
:
"three"
,
},
};
},
...
...
@@ -53,3 +74,9 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.view-3d
{
color
:
#409eff
;
margin-right
:
16px
;
}
</
style
>
src/components/Uploader/AutoUploader.vue
浏览文件 @
b86916cc
...
...
@@ -19,7 +19,7 @@
:http-request=
"httpRequest"
>
<i
v-if=
"listType === 'picture-card'"
class=
"el-icon-plus"
></i>
<el-button
v-else
size=
"
small"
type=
"primary
"
>
点击上传
</el-button>
<el-button
v-else
size=
"
mini"
type=
"primary"
size=
"mini
"
>
点击上传
</el-button>
<div
v-if=
"showTip"
slot=
"tip"
class=
"el-upload__tip"
>
只能上传
{{
fileTypeName
||
"jpg/png"
}}
文件,且不超过
{{
fileSize
}}
MB,最多上传
{{
fileLimit
}}
个文件
...
...
src/components/Uploader/ManualUploader.vue
浏览文件 @
b86916cc
<
template
>
<div
class=
"images-list"
>
<!--
<el-upload
:disabled=
"onlyRead"
action=
"#"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
:on-change=
"handleChange"
...
...
@@ -13,11 +12,25 @@
{{
fileSize
}}
MB,最多上传
{{
fileLimit
}}
个文件
</div>
</el-upload>
-->
<el-upload
action=
"#"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
:on-change=
"handleChange"
:file-list=
"fileList"
:multiple=
"fileLimit > 1"
:limit=
"fileLimit"
:list-type=
"listType"
:accept=
"fileAccept"
:auto-upload=
"false"
ref=
"ManualUploader"
>
<i
v-if=
"listType == 'picture-card'"
class=
"el-icon-plus"
slot=
"trigger"
></i>
<el-button
v-else
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<el-upload
action=
"#"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
:on-change=
"handleChange"
:file-list=
"fileList"
:multiple=
"fileLimit > 1"
:limit=
"fileLimit"
:list-type=
"listType"
:accept=
"fileAccept"
:auto-upload=
"false"
ref=
"ManualUploader"
>
<i
v-if=
"listType == 'picture-card'"
class=
"el-icon-plus"
slot=
"trigger"
></i>
<el-button
v-else
type=
"primary"
size=
"mini"
>
点击上传
</el-button>
<div
v-if=
"showTip"
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"advice"
style=
"color: #f56c6c"
>
建议:
{{
advice
}}
</div>
...
...
@@ -29,7 +42,7 @@
</
template
>
<
script
>
export
default
{
name
:
"ManualUploader"
,
//用于使用getfiles方法获取文件的父组件
name
:
"ManualUploader"
,
//用于使用getfiles方法获取文件的父组件
props
:
{
files
:
{
type
:
Array
,
...
...
@@ -66,8 +79,8 @@ export default {
},
onlyRead
:
{
type
:
Boolean
,
default
:
false
}
default
:
false
,
}
,
},
data
()
{
return
{
...
...
@@ -221,7 +234,7 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
// .disabled .el-upload--picture-card,
// .el-upload--card {
// display: none !important;
...
...
@@ -230,4 +243,4 @@ export default {
.el-upload-list__item
{
transition
:
none
!
important
;
}
</
style
>
\ No newline at end of file
</
style
>
src/components/Uploader/ManualUploaderBind.vue
浏览文件 @
b86916cc
<
template
>
<div
class=
"images-list"
>
<el-upload
action=
"#"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
:on-change=
"handleChange"
:file-list=
"fileList"
:multiple=
"fileLimit > 1"
:limit=
"fileLimit"
:list-type=
"listType"
:accept=
"fileAccept"
:auto-upload=
"false"
ref=
"ManualUploaderBind"
:class=
"
{ disabled: uploadDisabled || onlyRead }">
<i
v-if=
"listType === 'picture-card'"
class=
"el-icon-plus"
slot=
"trigger"
></i>
<el-button
v-else
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<el-upload
action=
"#"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
:on-change=
"handleChange"
:file-list=
"fileList"
:multiple=
"fileLimit > 1"
:limit=
"fileLimit"
:list-type=
"listType"
:accept=
"fileAccept"
:auto-upload=
"false"
ref=
"ManualUploaderBind"
:class=
"
{ disabled: uploadDisabled || onlyRead }"
>
<i
v-if=
"listType === 'picture-card'"
class=
"el-icon-plus"
slot=
"trigger"
></i>
<el-button
v-else
size=
"mini"
type=
"primary"
>
点击上传
</el-button>
<div
v-if=
"
(showTip &&!onlyRead)
"
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"
showTip && !onlyRead
"
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"advice"
style=
"color: #f56c6c"
>
建议:
{{
advice
}}
</div>
提示:只能上传
{{
fileTypeName
||
"jpg/png"
}}
文件,且不超过
{{
fileSize
}}
MB,最多上传
{{
fileLimit
}}
个文件
...
...
@@ -17,7 +31,7 @@
</
template
>
<
script
>
export
default
{
name
:
"ManualUploaderBind"
,
//用于使用双向绑定的父组件
name
:
"ManualUploaderBind"
,
//用于使用双向绑定的父组件
props
:
{
// // 用于v-model绑定
value
:
{
...
...
@@ -54,8 +68,8 @@ export default {
},
onlyRead
:
{
type
:
Boolean
,
default
:
false
}
default
:
false
,
}
,
},
data
()
{
return
{
...
...
@@ -227,7 +241,7 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.disabled
.el-upload--picture-card
{
display
:
none
!
important
;
}
...
...
@@ -235,4 +249,4 @@ export default {
.el-upload-list__item
{
transition
:
none
!
important
;
}
</
style
>
\ No newline at end of file
</
style
>
src/components/VueQuillEditor/index.vue
浏览文件 @
b86916cc
...
...
@@ -114,6 +114,9 @@ export default {
content
:
"保存"
;
padding-right
:
0px
;
}
.ql-editor
{
min-height
:
120px
;
}
.ql-snow
.ql-tooltip
[
data-mode
=
"video"
]
::before
{
content
:
"请输入视频地址:"
;
...
...
src/icons/svg/three.svg
0 → 100644
浏览文件 @
b86916cc
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1695004644918"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"2132"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"80"
height=
"80"
><path
d=
"M571.284211 754.526316l264.08421-158.989474s2.694737 0 2.694737-2.694737l2.694737-2.694737v-2.694736-2.694737-2.694737V153.6v-2.694737-2.694737-2.694737-2.694736-2.694737s0-2.694737-2.694737-2.694737H835.368421h-2.694737-2.694737L428.463158 35.031579h-2.694737-2.694737-2.694737-2.694736-2.694737-2.694737-2.694737L169.768421 202.105263s-2.694737 0-2.694737 2.694737v2.694737s0 2.694737-2.694737 2.694737v2.694737C161.684211 215.578947 161.684211 215.578947 161.684211 218.273684V652.126316l2.694736 2.694737s2.694737 0 2.694737 2.694736h5.389474L555.115789 754.526316h5.389474c2.694737 0 5.389474 0 5.389474-2.694737 2.694737 2.694737 2.694737 2.694737 5.389474 2.694737-2.694737 0 0 0 0 0zM425.768421 113.178947c10.778947 0 18.863158-8.084211 18.863158-18.863158v-16.168421L778.778947 161.684211l-223.663158 153.6-113.178947-35.031579c-2.694737-8.084211-8.084211-16.168421-18.863158-16.168421-5.389474 0-10.778947 2.694737-13.473684 5.389473l-188.631579-56.589473L404.210526 88.926316v5.389473c2.694737 10.778947 10.778947 18.863158 21.557895 18.863158zM598.231579 485.052632l-18.863158-5.389474v-134.736842L805.726316 188.631579v363.789474l-13.473684-5.389474c-10.778947-2.694737-21.557895 2.694737-24.252632 13.473684-2.694737 10.778947 2.694737 18.863158 10.778947 24.252632l-199.410526 121.263158v-185.936842l8.084211 2.694736h5.389473c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473684-24.252631zM226.357895 603.621053c-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737h-2.694737V245.221053l207.494737 64.673684v37.726316c0 10.778947 8.084211 18.863158 18.863158 18.863158s18.863158-8.084211 18.863158-18.863158v-26.947369L538.947368 350.315789v118.568422l-8.08421-2.694737c-10.778947-2.694737-21.557895 2.694737-24.252632 13.473684s2.694737 21.557895 13.473685 24.252631l18.863157 5.389474v204.8l-320.673684-80.842105h2.694737c10.778947-8.084211 10.778947-21.557895 5.389474-29.642105z"
p-id=
"2133"
></path><path
d=
"M406.905263 220.968421c0 10.778947 8.084211 18.863158 18.863158 18.863158s18.863158-8.084211 18.863158-18.863158V156.294737c0-10.778947-8.084211-18.863158-18.863158-18.863158s-18.863158 8.084211-18.863158 18.863158v64.673684zM272.168421 587.452632c5.389474 0 8.084211 0 10.778947-2.694737l59.284211-48.505263c8.084211-5.389474 10.778947-18.863158 2.694737-26.947369-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737l-59.28421 48.505263c-8.084211 5.389474-10.778947 18.863158-2.694737 26.947369 5.389474 2.694737 10.778947 5.389474 16.168421 5.389474zM393.431579 493.136842c5.389474 0 8.084211 0 10.778947-2.694737l24.252632-18.863158 29.642105 8.084211h5.389474c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473684-24.252632l-24.252632-8.08421v-26.947369c0-10.778947-8.084211-18.863158-18.863158-18.863158s-18.863158 8.084211-18.863158 18.863158v32.336842l-24.252631 18.863158c-8.084211 5.389474-10.778947 18.863158-2.694737 26.947369 2.694737 5.389474 8.084211 8.084211 13.473684 8.08421zM652.126316 541.642105l64.673684 21.557895h5.389474c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473685-24.252632l-64.673684-21.557895c-10.778947-2.694737-21.557895 2.694737-24.252631 13.473685s2.694737 21.557895 13.473684 24.252631zM910.821053 441.936842c-8.084211-8.084211-18.863158-8.084211-26.947369 0s-8.084211 18.863158 0 26.947369c43.115789 43.115789 67.368421 94.315789 67.368421 145.515789 0 132.042105-148.210526 247.915789-353.010526 272.168421-10.778947 0-18.863158 10.778947-16.168421 21.557895 0 10.778947 8.084211 16.168421 18.863158 16.168421h2.694737c223.663158-26.947368 388.042105-158.989474 388.042105-309.894737-2.694737-61.978947-29.642105-121.263158-80.842105-172.463158zM512 910.821053v-2.694737-2.694737-2.694737s0-2.694737-2.694737-2.694737v-2.694737l-45.810526-59.28421c-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737-8.084211 5.389474-10.778947 18.863158-2.694736 26.947368l21.557894 26.947369c-8.084211 0-16.168421-2.694737-24.252631-2.694737C220.968421 862.315789 72.757895 746.442105 72.757895 614.4c0-48.505263 18.863158-94.315789 56.589473-134.736842 5.389474-8.084211 5.389474-21.557895-2.694736-26.947369-8.084211-8.084211-18.863158-5.389474-26.947369 2.694737-43.115789 48.505263-64.673684 102.4-64.673684 158.989474 0 150.905263 161.684211 282.947368 388.042105 309.894737 10.778947 0 21.557895 2.694737 32.336842 2.694737l-24.252631 32.336842c-5.389474 8.084211-5.389474 18.863158 2.694737 26.947368 2.694737 2.694737 8.084211 5.389474 10.778947 5.389474 5.389474 0 10.778947-2.694737 16.168421-8.084211l45.810526-59.28421v-2.694737-2.694737-2.694737c2.694737-2.694737 5.389474-2.694737 5.389474-5.389473z"
p-id=
"2134"
></path></svg>
\ No newline at end of file
src/layout/components/Navbar.vue
浏览文件 @
b86916cc
...
...
@@ -57,6 +57,7 @@
:label-width=
"labelWidth"
:rules=
"userInfoRules"
:model=
"userInfoForm"
size=
"mini"
>
<el-form-item
label=
"用户名"
prop=
"username"
>
<span
v-if=
"!isEditingUserInfo"
>
{{
userInfo
.
username
}}
</span>
...
...
@@ -72,12 +73,14 @@
</el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleSubmitUserInfo"
:icon=
"isEditingUserInfo
?'el-icon-circle-check':
'el-icon-edit'"
:icon=
"isEditingUserInfo
? 'el-icon-circle-check' :
'el-icon-edit'"
>
{{
isEditingUserInfo
?
"保存"
:
"修改个人信息"
}}
</el-button
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleCancelChangeUserInfo"
v-if=
"isEditingUserInfo"
...
...
@@ -103,12 +106,13 @@
</el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-circle-check"
@
click
.
native=
"handleSubmitPwd"
>
保存
</el-button
>
<el-button
type=
"primary"
@
click
.
native=
"handleCancelChangePwd"
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleCancelChangePwd"
>
取消
</el-button
>
</el-form-item>
...
...
src/utils/file.js
浏览文件 @
b86916cc
...
...
@@ -118,7 +118,7 @@ export function previewFile(href, previewName) {
* @param typeSuffix 文件后缀
*/
export
function
downloadBlob
(
url
,
fileName
,
typeSuffix
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
({
url
,
method
:
'get'
,
...
...
@@ -127,21 +127,21 @@ export function downloadBlob(url, fileName, typeSuffix) {
'authorization'
:
getToken
()
}
}).
then
(
response
=>
{
const
blob
=
new
Blob
([
response
.
data
])
const
link
=
document
.
createElement
(
'a'
)
link
.
href
=
URL
.
createObjectURL
(
blob
)
if
(
typeSuffix
)
{
link
.
download
=
fileName
+
'.'
+
typeSuffix
}
else
{
link
.
download
=
fileName
}
link
.
click
()
URL
.
revokeObjectURL
(
link
.
href
)
resolve
()
}).
catch
(
err
=>
{
console
.
error
(
err
);
reject
(
err
)
})
then
(
response
=>
{
const
blob
=
new
Blob
([
response
.
data
])
const
link
=
document
.
createElement
(
'a'
)
link
.
href
=
URL
.
createObjectURL
(
blob
)
if
(
typeSuffix
)
{
link
.
download
=
fileName
+
'.'
+
typeSuffix
}
else
{
link
.
download
=
fileName
}
link
.
click
()
URL
.
revokeObjectURL
(
link
.
href
)
resolve
()
}).
catch
(
err
=>
{
console
.
error
(
err
);
reject
(
err
)
})
})
};
src/views/culturalRelic/components/ImportRecordDialog.vue
浏览文件 @
b86916cc
...
...
@@ -61,7 +61,7 @@
</el-pagination>
</div>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
</div>
</el-dialog>
</template>
...
...
src/views/culturalRelic/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -16,6 +16,7 @@
<div
class=
"el-dialog-div"
>
<div
class=
"dialog-content"
>
<el-form
size=
"mini"
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
...
...
@@ -259,9 +260,10 @@
</el-form>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
@
click=
"cancelForm"
size=
"mini"
>
取 消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleSubmit"
:loading=
"loading"
preventReClick
...
...
@@ -409,14 +411,12 @@ export default {
label
:
"label"
,
children
:
"children"
,
checkStrictly
:
true
,
},
culturalRelicTextureProps
:
{
value
:
"value"
,
label
:
"label"
,
children
:
"children"
,
checkStrictly
:
true
,
},
dialogVisible
:
false
,
orgTreeData
:
[],
...
...
@@ -425,7 +425,6 @@ export default {
label
:
"name"
,
children
:
"children"
,
checkStrictly
:
true
,
},
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入文物名称"
,
trigger
:
"blur"
}],
...
...
@@ -716,7 +715,7 @@ export default {
};
</
script
>
<
style
lang=
'scss'
scoped
>
<
style
lang=
"scss"
scoped
>
.title
{
display
:
flex
;
margin-bottom
:
16px
;
...
...
src/views/culturalRelic/components/PreviewDialog.vue
浏览文件 @
b86916cc
...
...
@@ -55,7 +55,7 @@
</el-row>
</el-main>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleClose"
>
关闭
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleClose"
>
关闭
</el-button>
</div>
</div>
</el-dialog>
...
...
src/views/culturalRelic/components/UploadListDialog.vue
浏览文件 @
b86916cc
...
...
@@ -36,7 +36,7 @@
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"
48
"
size=
"
mini
"
icon=
"el-icon-circle-close"
@
click
.
native=
"handleCancel(scope.$index)"
v-if=
"scope.row.status == null"
...
...
@@ -46,7 +46,7 @@
</el-table>
</div>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
</div>
</el-dialog>
</template>
...
...
src/views/culturalRelic/config.js
浏览文件 @
b86916cc
...
...
@@ -43,12 +43,12 @@ export const title = [{
columnAlign
:
'center'
,
showOverFlowToolTip
:
true
,
},
{
prop
:
"regionName"
,
label
:
"所属地"
,
columnAlign
:
'center'
,
showOverFlowToolTip
:
true
,
},
//
{
//
prop: "regionName",
//
label: "所属地",
//
columnAlign: 'center',
//
showOverFlowToolTip: true,
//
},
// {
// prop: "intro",
// label: "馆藏介绍",
...
...
@@ -57,12 +57,12 @@ export const title = [{
// width: 120,
// },
{
prop
:
"themeWord"
,
label
:
"主题词"
,
columnAlign
:
'center'
,
showOverFlowToolTip
:
true
,
},
//
{
//
prop: "themeWord",
//
label: "主题词",
//
columnAlign: 'center',
//
showOverFlowToolTip: true,
//
},
{
prop
:
"faceImageUrl"
,
label
:
"封面"
,
...
...
@@ -76,11 +76,11 @@ export const title = [{
columnAlign
:
'center'
,
isStatus
:
true
},
{
prop
:
"num"
,
label
:
"数量"
,
columnAlign
:
'center'
,
},
//
{
//
prop: "num",
//
label: "数量",
//
columnAlign: 'center',
//
},
{
prop
:
"loveCount"
,
...
...
@@ -121,16 +121,16 @@ export const title = [{
export
const
operates
=
{
operate
:
true
,
label
:
"操作"
,
width
:
"200px"
,
titleAlign
:
"center"
,
columnAlign
:
"center"
,
width
:
"280px"
,
}
export
const
operations
=
[
//
{
// type: 'view
',
// title: '预览
'
//
},
{
type
:
'view3D
'
,
title
:
'查看3D文物
'
},
{
type
:
'edit'
,
title
:
'编辑'
...
...
src/views/culturalRelic/index.vue
浏览文件 @
b86916cc
...
...
@@ -6,6 +6,7 @@
<div
class=
"tools"
>
<div
class=
"tools-item"
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'downloadTemplate' })"
icon="el-icon-download"
...
...
@@ -15,15 +16,18 @@
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'viewImportRecord' })"
icon="el-icon-document"
plain
>
查看导入记录
</el-button
>
</div>
<div
class=
"tools-item"
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })"
icon="el-icon-plus"
...
...
@@ -41,6 +45,7 @@
multiple
>
<el-button
size=
"mini"
type=
"success"
@
click
.
native=
"handleOperation(
{ type: 'multiAdd' })"
icon="el-icon-upload"
...
...
@@ -75,7 +80,12 @@
v-if=
"
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
style=
"cursor: pointer;width: 80px;height: 80px;object-fit: contain;"
style=
"
cursor: pointer;
width: 80px;
height: 80px;
object-fit: contain;
"
@
click=
"handelPreviewImages(data.scope.faceImageUrl)"
/>
</
template
>
...
...
@@ -100,6 +110,7 @@
</
template
>
</TablePage>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"Number(list.current)"
...
...
@@ -198,9 +209,14 @@ export default {
},
],
},
// 是否只看3D
{
prop
:
"onlyShow3d"
,
type
:
"checkbox"
,
label
:
"只看3D"
,
},
],
editVisible
:
false
,
//编辑
isAdd
:
true
,
form
:
{
name
:
""
,
//名称
...
...
@@ -233,7 +249,7 @@ export default {
headers
:
{
authorization
:
getToken
(),
},
isUpLoading
:
false
,
isUpLoading
:
false
,
multiUploadVisible
:
false
,
//控制批量上传弹窗显示
importRecordVisible
:
false
,
//上传记录
filesList
:
[],
//上传当中的文件队列
...
...
@@ -359,15 +375,15 @@ export default {
//下载批量导入模板
handleDownloadTemplate
()
{
this
.
loading
=
true
this
.
loading
=
true
;
let
a
=
document
.
createElement
(
"a"
);
a
.
href
=
'/files/zip/crImportTemplate.zip'
a
.
href
=
"/files/zip/crImportTemplate.zip"
;
a
.
download
=
"文物导入模板及操作说明.zip"
;
a
.
style
.
display
=
"none"
;
document
.
body
.
appendChild
(
a
);
a
.
click
();
a
.
remove
();
this
.
loading
=
false
this
.
loading
=
false
;
},
// // 文件个数超出
...
...
@@ -517,7 +533,7 @@ export default {
this
.
editVisible
=
false
;
this
.
form
=
{
status
:
1
,
num
:
1
,
num
:
1
,
};
},
...
...
@@ -554,5 +570,7 @@ export default {
}
.pagination
{
margin
:
16px
;
display
:
flex
;
justify-content
:
right
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/display/components/CopyDialog.vue
浏览文件 @
b86916cc
...
...
@@ -34,7 +34,7 @@
</
template
>
</TablePage>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleClose"
>
关闭
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleClose"
>
关闭
</el-button>
</div>
</div>
</el-dialog>
...
...
src/views/display/components/ExhibitionUnit.vue
浏览文件 @
b86916cc
...
...
@@ -70,7 +70,7 @@
</el-col>
</el-row>
<el-button
v-if=
"(!treeData.length > 0 && !isDisableEvent)"
type=
"primary"
icon=
"el-icon-circle-plus-outline"
@
click=
"handleAddUnit('manual')"
size=
"
small
"
>
手动添加展览单元
</el-button>
@
click=
"handleAddUnit('manual')"
size=
"
mini
"
>
手动添加展览单元
</el-button>
<span
v-if=
"(treeData.length == 0 && isDisableEvent)"
>
暂无
</span>
<!--
<el-button
v-if=
"!treeData.length > 0"
...
...
src/views/display/components/ImportRecordDialog.vue
浏览文件 @
b86916cc
...
...
@@ -72,7 +72,7 @@
</el-pagination>
</div>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
</div>
</el-dialog>
</template>
...
...
src/views/display/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -15,7 +15,7 @@
</div>
<div
class=
"el-dialog-div"
>
<div
class=
"dialog-content"
v-if=
"dialogVisible"
id=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
ref=
"form"
>
<el-form
size=
"mini"
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
ref=
"form"
>
<el-row
:gutter=
"50"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"展览标题"
:label-width=
"formLabelWidth"
prop=
"title"
>
...
...
@@ -127,13 +127,13 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
icon=
"el-icon-top"
@
click
.
native=
"handleToTop"
></el-button>
<el-button
@
click=
"cancelForm"
icon=
"el-icon-circle-close"
type=
"warning"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit(0)"
:disabled=
"loading"
icon=
"el-icon-document-checked"
>
<el-button
size=
"mini"
icon=
"el-icon-top"
@
click
.
native=
"handleToTop"
></el-button>
<el-button
size=
"mini"
@
click=
"cancelForm"
icon=
"el-icon-circle-close"
type=
"warning"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit(0)"
:disabled=
"loading"
icon=
"el-icon-document-checked"
>
只保存
</el-button>
<!--
<el-button
@
click=
"handlePreview"
>
预 览
</el-button>
-->
<el-button
type=
"primary"
@
click=
"handleSubmit(1)"
icon=
"el-icon-circle-check"
:disabled=
"loading"
>
保存并提交审核
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit(1)"
icon=
"el-icon-circle-check"
:disabled=
"loading"
>
保存并提交审核
</el-button>
</div>
</div>
...
...
src/views/display/components/PreviewDialog.vue
浏览文件 @
b86916cc
...
...
@@ -30,7 +30,7 @@
/>
<Footer/>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleClose"
>
关闭
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleClose"
>
关闭
</el-button>
</div>
</div>
</el-dialog>
...
...
src/views/display/components/UploadListDialog.vue
浏览文件 @
b86916cc
...
...
@@ -36,7 +36,7 @@
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"
48
"
size=
"
mini
"
icon=
"el-icon-circle-close"
@
click
.
native=
"handleCancel(scope.$index)"
v-if=
"scope.row.status == null"
...
...
src/views/display/components/templates/RedStyle.vue
浏览文件 @
b86916cc
...
...
@@ -294,7 +294,8 @@
import
AudioPlayer
from
"@/components/AudioPlayer"
;
import
ReaderOperations
from
"@/components/ReaderOperations"
;
import
Video
from
"@/components/Video"
;
import
{
debounce
,
previewFile
}
from
"@/utils/index"
;
import
{
debounce
}
from
"@/utils/index"
;
import
{
previewFile
}
from
"@/utils/file"
;
import
ChStyleUnit
from
"./ChStyleUnit.vue"
;
import
{
swiper
,
swiperSlide
}
from
"vue-awesome-swiper"
;
import
"swiper/dist/css/swiper.css"
;
...
...
@@ -541,8 +542,7 @@ export default {
};
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.unit-content_intro
{
p
{
// color: red !important;
...
...
@@ -699,7 +699,7 @@ $themeColor: #a30e0c;
margin
:
80px
;
padding
:
80px
;
display
:
flex
;
background-color
:
rgba
(
#591d11
,
0
.8
);
background-color
:
rgba
(
#591d11
,
0
.8
);
// justify-content: space-between;
width
:
100%
;
.face-image
{
...
...
@@ -717,7 +717,7 @@ $themeColor: #a30e0c;
.intro-text
{
color
:
#fff
;
flex
:
1
;
padding
:
40px
;
margin-left
:
40px
;
...
...
@@ -1193,4 +1193,4 @@ $themeColor: #a30e0c;
-webkit-animation-play-state
:
paused
;
/* Safari 和 Chrome */
}
</
style
>
\ No newline at end of file
</
style
>
src/views/display/index.vue
浏览文件 @
b86916cc
...
...
@@ -14,31 +14,79 @@
</div>
<div
class=
"tools"
>
<div
class=
"tools-item"
>
<el-button
:disabled=
"loading"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'downloadTemplate' })" icon="el-icon-download">
下载导入模板
</el-button>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'viewImportRecord' })" icon="el-icon-document">
查看导入记录
</el-button>
<el-button
:disabled=
"loading"
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'downloadTemplate' })"
icon="el-icon-download"
>
下载导入模板
</el-button
>
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleOperation(
{ type: 'viewImportRecord' })"
icon="el-icon-document"
plain
>
查看导入记录
</el-button
>
</div>
<div
class=
"tools-item"
>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
添加
</el-button>
<el-upload
class=
"upload-button"
:action=
"importZipUrl"
:headers=
"headers"
accept=
".zip"
:show-file-list=
"false"
:before-upload=
"handleUpload"
:on-success=
"handleSuccess"
multiple
>
<el-button
type=
"success"
@
click
.
native=
"handleOperation(
{ type: 'multiAdd' })" icon="el-icon-upload">
整量导入
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click
.
native=
"handleOperation(
{ type: 'add' })"
icon="el-icon-plus"
>
添加
</el-button
>
<el-upload
class=
"upload-button"
:action=
"importZipUrl"
:headers=
"headers"
accept=
".zip"
:show-file-list=
"false"
:before-upload=
"handleUpload"
:on-success=
"handleSuccess"
multiple
>
<el-button
type=
"success"
size=
"mini"
@
click
.
native=
"handleOperation(
{ type: 'multiAdd' })"
icon="el-icon-upload"
>
整量导入
</el-button
>
</el-upload>
</div>
</div>
<TablePage
:data=
"list.records"
:tableTitle=
"tableTitle"
:operates=
"tableOperates"
>
<TablePage
:data=
"list.records"
:tableTitle=
"tableTitle"
:operates=
"tableOperates"
>
<template
v-slot:status=
"data"
>
<el-popconfirm
:title=
"getStatusTitle(data.scope.status)"
@
confirm=
"handleChangeStatus(data.scope)"
v-if=
"!isDisabledStatusbtn(data.scope.checkStatus)"
>
<el-switch
slot=
"reference"
:disabled=
"isDisabledStatusbtn(data.scope.checkStatus)"
:value=
"Boolean(Number(data.scope.status))"
></el-switch>
<el-popconfirm
:title=
"getStatusTitle(data.scope.status)"
@
confirm=
"handleChangeStatus(data.scope)"
v-if=
"!isDisabledStatusbtn(data.scope.checkStatus)"
>
<el-switch
slot=
"reference"
:disabled=
"isDisabledStatusbtn(data.scope.checkStatus)"
:value=
"Boolean(Number(data.scope.status))"
></el-switch>
</el-popconfirm>
<el-switch
slot=
"reference"
:disabled=
"isDisabledStatusbtn(data.scope.checkStatus)"
:value=
"Boolean(Number(data.scope.status))"
v-else
></el-switch>
<el-switch
slot=
"reference"
:disabled=
"isDisabledStatusbtn(data.scope.checkStatus)"
:value=
"Boolean(Number(data.scope.status))"
v-else
></el-switch>
</
template
>
<
template
v-slot:displayType=
"data"
>
{{
dicts
.
displayType
[
data
.
scope
.
type
]
}}
...
...
@@ -54,46 +102,88 @@
<el-tag
type=
"danger"
v-if=
"data.scope.checkStatus == -2"
>
已驳回
</el-tag>
<el-tag
type=
"warning"
v-if=
"
(data.scope.checkStatus == -1)
"
>
<el-tag
type=
"warning"
v-if=
"
data.scope.checkStatus == -1
"
>
待提交
</el-tag>
</
template
>
<
template
v-slot:faceImageUrl=
"data"
>
<img
:src=
"
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
alt=
"暂无图片"
v-if=
"
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
style=
"cursor: pointer"
width=
"100px"
@
click=
"handelPreviewImages(data.scope.faceImageUrl)"
/>
<img
:src=
"
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
alt=
"暂无图片"
v-if=
"
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
style=
"cursor: pointer"
width=
"100px"
@
click=
"handelPreviewImages(data.scope.faceImageUrl)"
/>
</
template
>
<
template
v-slot:themeType=
"data"
>
{{
themeTypeCode
(
data
.
scope
.
themeType
)
}}
</
template
>
<
template
v-slot:operates=
"scope"
>
<TableOperation
:operations=
"tableOperations"
:rawData=
"scope.scope.row"
@
handleOperation=
"handleOperation"
:disabled=
"isDisabled(scope.scope.row.checkStatus)"
>
<TableOperation
:operations=
"tableOperations"
:rawData=
"scope.scope.row"
@
handleOperation=
"handleOperation"
:disabled=
"isDisabled(scope.scope.row.checkStatus)"
>
</TableOperation>
</
template
>
</TablePage>
<el-pagination
style=
"margin: 16px 0"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"Number(list.current)"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"Number(list.size)"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"Number(list.total)"
class=
"pagination"
>
<el-pagination
style=
"margin: 16px 0"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"Number(list.current)"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"Number(list.size)"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"Number(list.total)"
class=
"pagination"
>
</el-pagination>
<InfoEditDialog
:visible=
"editDialogVisible"
:form=
"form"
:currentPageIds=
"currentPageIds"
@
handleClose=
"handleClose"
@
refresh=
"loadData"
@
changeDisplay=
"reloadDisplay"
ref=
"InfoEditDialog"
/>
<PreviewDialog
v-if=
"Object.keys(curPreviewObj).length > 0"
:visible=
"previewDialogVisible"
:displayDetail=
"curPreviewObj"
@
handleClose=
"handleClosePreviewDialog"
/>
<InfoEditDialog
:visible=
"editDialogVisible"
:form=
"form"
:currentPageIds=
"currentPageIds"
@
handleClose=
"handleClose"
@
refresh=
"loadData"
@
changeDisplay=
"reloadDisplay"
ref=
"InfoEditDialog"
/>
<PreviewDialog
v-if=
"Object.keys(curPreviewObj).length > 0"
:visible=
"previewDialogVisible"
:displayDetail=
"curPreviewObj"
@
handleClose=
"handleClosePreviewDialog"
/>
<!-- <CopyDialog
:visible="copyDialogVisible"
@handleClose="handleCloseCopyDialog"
@handleCopySelect="handleCopySelect"
:list="list"
/> -->
<ImportRecordDialog
:visible=
"importRecordVisible"
@
reload=
"loadData"
@
handleClose=
"handleImportRecordClose"
/>
<UploadListDialog
:visible=
"multiUploadVisible"
:filesList=
"filesList"
@
handleClose=
"handleMultiUploadClose"
@
handleCancel=
"handleMultiUploadCancel"
/>
<el-image-viewer
v-if=
"imgViewerVisible"
:on-close=
"closeImgViewer"
:url-list=
"imgList"
/>
<ImportRecordDialog
:visible=
"importRecordVisible"
@
reload=
"loadData"
@
handleClose=
"handleImportRecordClose"
/>
<UploadListDialog
:visible=
"multiUploadVisible"
:filesList=
"filesList"
@
handleClose=
"handleMultiUploadClose"
@
handleCancel=
"handleMultiUploadCancel"
/>
<el-image-viewer
v-if=
"imgViewerVisible"
:on-close=
"closeImgViewer"
:url-list=
"imgList"
/>
</div>
</template>
...
...
@@ -117,7 +207,7 @@ import { mapGetters } from "vuex";
import
{
themeTypeCode
}
from
"./contants"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
importZip
}
from
"@/utils/file"
;
import
{
titles
}
from
'@/utils/boutiqueTitles'
import
{
titles
}
from
"@/utils/boutiqueTitles"
;
export
default
{
components
:
{
TablePage
,
...
...
@@ -252,17 +342,17 @@ export default {
isDisabled
(
checkStatus
)
{
return
(
checkStatus
)
=>
{
return
checkStatus
==
'0'
return
checkStatus
==
"0"
;
//在审核中和已通过,则不能使用提交审核、编辑及删除按钮
}
}
;
},
isDisabledStatusbtn
(
checkStatus
)
{
//待提交、审核中,不能使用上下架
return
(
checkStatus
)
=>
{
return
checkStatus
==
'0'
||
checkStatus
==
'-1'
}
}
return
checkStatus
==
"0"
||
checkStatus
==
"-1"
;
}
;
}
,
},
async
created
()
{
...
...
@@ -331,8 +421,8 @@ export default {
case
"view"
:
if
(
row
)
{
if
(
titles
.
includes
(
row
.
title
))
{
this
.
$message
.
info
(
'精品展暂不支持预览!'
)
return
this
.
$message
.
info
(
"精品展暂不支持预览!"
);
return
;
}
this
.
previewDialogVisible
=
true
;
let
res
=
await
getDisplayById
({
exhibitionId
:
row
.
exhibitionId
});
...
...
@@ -371,15 +461,15 @@ export default {
//下载批量导入模板
handleDownloadTemplate
()
{
this
.
loading
=
true
this
.
loading
=
true
;
let
a
=
document
.
createElement
(
"a"
);
a
.
href
=
'/files/zip/displayImportTemplate.zip'
a
.
href
=
"/files/zip/displayImportTemplate.zip"
;
a
.
download
=
"展览整量导入模板.zip"
;
a
.
style
.
display
=
"none"
;
document
.
body
.
appendChild
(
a
);
a
.
click
();
a
.
remove
();
this
.
loading
=
false
this
.
loading
=
false
;
},
uploadSelf
(
file
,
index
)
{
...
...
@@ -395,7 +485,7 @@ export default {
this
.
$set
(
this
.
filesList
[
index
],
"status"
,
"success"
);
this
.
$set
(
this
.
filesList
[
index
],
"desc"
,
"上传成功"
);
this
.
$message
.
success
(
"文件"
+
file
.
name
+
"上传成功!"
);
this
.
loadData
()
this
.
loadData
()
;
}
else
{
this
.
$set
(
this
.
filesList
[
index
],
"status"
,
"warning"
);
this
.
$set
(
this
.
filesList
[
index
],
"desc"
,
"上传失败"
+
res
.
data
.
msg
);
...
...
@@ -659,4 +749,4 @@ export default {
margin
:
0
10px
;
}
}
</
style
>
\ No newline at end of file
</
style
>
src/views/displayApproval/components/BaseInfo.vue
浏览文件 @
b86916cc
<
template
>
<div
class=
"base-info"
>
<el-form
:model=
"displayDetail"
class=
"basic-info"
ref=
"form"
>
<el-form
:model=
"displayDetail"
class=
"basic-info"
ref=
"form"
size=
"mini"
>
<el-row
:gutter=
"50"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"展览标题"
:label-width=
"formLabelWidth"
>
...
...
src/views/displayApproval/components/PreviewDisplayDialog.vue
浏览文件 @
b86916cc
...
...
@@ -18,7 +18,10 @@
</div>
</el-tab-pane>
-->
<el-tab-pane
label=
"效果预览"
name=
"page"
v-if=
"!isBoutique"
>
<div
class=
"container"
v-if=
"dicts && Object.keys(displayDetail).length>0"
>
<div
class=
"container"
v-if=
"dicts && Object.keys(displayDetail).length > 0"
>
<NavBar
/>
<NormalStyle
v-if=
"displayDetail.themeType == '1'"
...
...
@@ -35,7 +38,7 @@
:displayDetail=
"displayDetail"
:dicts=
"dicts"
/>
<Footer/>
<Footer
/>
</div>
</el-tab-pane>
<el-tab-pane
label=
"审批历史记录"
name=
"history"
>
...
...
@@ -59,7 +62,10 @@
</el-tabs>
<div
class=
"dialog-footer"
>
<span
v-if=
"displayDetail.checkStatus == 0"
>
<el-button
@
click
.
native=
"handleCancel"
style=
"margin-right: 6px"
<el-button
size=
"mini"
@
click
.
native=
"handleCancel"
style=
"margin-right: 6px"
>
取消
</el-button
>
<el-popover
...
...
@@ -70,6 +76,7 @@
>
<div>
<el-form
size=
"mini"
:model=
"dialogForm"
prop=
"remark"
:rules=
"rules"
...
...
@@ -80,21 +87,22 @@
type=
"textarea"
placeholder=
"驳回意见"
v-model=
"dialogForm.remark"
size=
"
small
"
size=
"
mini
"
:rows=
"4"
>
</el-input>
<el-button
size=
"mini"
type=
"primary"
style=
"float: right; margin-top: 16px"
@
click
.
native=
"handleCheck(-2)"
size=
"small"
>
确定
</el-button
>
</el-form-item>
</el-form>
</div>
<el-button
size=
"mini"
slot=
"reference"
type=
"danger"
icon=
"el-icon-close"
...
...
@@ -103,6 +111,7 @@
>
</el-popover>
<el-button
size=
"mini"
style=
"margin-left: 6px"
type=
"primary"
icon=
"el-icon-check"
...
...
@@ -111,7 +120,7 @@
>
</span>
<span
v-else
>
<el-button
type=
"primary"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleClose"
>
关闭
</el-button>
</span>
</div>
</div>
...
...
@@ -297,7 +306,7 @@ export default {
};
</
script
>
<
style
lang=
'scss'
scoped
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-step.is-horizontal
{
max-width
:
300px
!
important
;
}
...
...
@@ -376,4 +385,4 @@ export default {
.el-dialog__body
{
padding
:
0
20px
30px
20px
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/literature/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -6,7 +6,7 @@
</div>
<div
class=
"el-dialog-div"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
ref=
"form"
:rules=
"rules"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
ref=
"form"
:rules=
"rules"
size=
"mini"
>
<el-form-item
label=
"名称"
:label-width=
"formLabelWidth"
prop=
"name"
>
<el-input
v-model=
"dialogForm.name"
autocomplete=
"off"
placeholder=
"请输入文献名称"
></el-input>
</el-form-item>
...
...
@@ -36,8 +36,8 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i></el-button>
</div>
</div>
...
...
src/views/literature/index.vue
浏览文件 @
b86916cc
...
...
@@ -3,6 +3,7 @@
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })"
icon="el-icon-plus"
...
...
src/views/login/index.vue
浏览文件 @
b86916cc
...
...
@@ -22,6 +22,7 @@
class=
"login-form"
auto-complete=
"on"
label-position=
"left"
size=
"mini"
>
<div
class=
"title-container"
>
<h3
class=
"title"
>
欢迎登录
</h3>
...
...
@@ -94,6 +95,7 @@
</el-row>
<el-button
size=
"mini"
:loading=
"loading"
type=
"primary"
style=
"width: 100%; margin-bottom: 30px"
...
...
src/views/museum/components/InfoEditDialog.vue
浏览文件 @
b86916cc
<
template
>
<el-dialog
:visible
.
sync=
"dialogVisible"
width=
"50%"
style=
"height: 98%"
:before-close=
"handleClose"
top=
"5vh"
lock-scroll
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
>
<el-dialog
:visible
.
sync=
"dialogVisible"
width=
"50%"
style=
"height: 98%"
:before-close=
"handleClose"
top=
"5vh"
lock-scroll
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
>
<div
class=
"title"
slot=
"title"
>
<div
class=
"divider"
></div>
<div
class=
"label"
>
{{
title
}}
</div>
</div>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
size=
"mini"
>
<el-form-item
label=
"博物馆名称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.name"
autocomplete=
"off"
placeholder=
"请输入博物馆名称"
></el-input>
<el-input
v-model=
"dialogForm.name"
autocomplete=
"off"
placeholder=
"请输入博物馆名称"
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"所属部门"
:label-width=
"formLabelWidth"
>
<el-cascader
...
...
@@ -23,38 +35,63 @@
</el-cascader>
</el-form-item>
-->
<el-form-item
label=
"所属地"
:label-width=
"formLabelWidth"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.regionCode"
:options=
"regionTree"
:props=
"regionOptionProps"
placeholder=
"请选择所属地"
:key=
"regionCodeModalKey"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.regionCode"
:options=
"regionTree"
:props=
"regionOptionProps"
placeholder=
"请选择所属地"
:key=
"regionCodeModalKey"
>
</el-cascader>
</el-form-item>
<el-row
:gutter=
"5"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"经度"
:label-width=
"formLabelWidth"
>
<el-input
style=
"width: 100%"
v-model=
"dialogForm.longitude"
autocomplete=
"off"
placeholder=
"请输入经度"
></el-input>
<el-input
style=
"width: 100%"
v-model=
"dialogForm.longitude"
autocomplete=
"off"
placeholder=
"请输入经度"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
><el-form-item
label=
"纬度"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.latitude"
autocomplete=
"off"
placeholder=
"请输入纬度"
></el-input>
</el-form-item></el-col>
<el-col
:span=
"12"
><el-form-item
label=
"纬度"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.latitude"
autocomplete=
"off"
placeholder=
"请输入纬度"
></el-input>
</el-form-item
></el-col>
</el-row>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
>
<el-switch
v-model=
"status"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"博物馆封面"
:label-width=
"formLabelWidth"
>
<ManualUploader
:files=
"faceImage"
:fileLimit=
"1"
:fileSize=
"50"
listType=
"picture-card"
:fileType=
"['png', 'jpeg', 'jpg']"
ref=
"museumFaceImage"
/>
<ManualUploader
:files=
"faceImage"
:fileLimit=
"1"
:fileSize=
"50"
listType=
"picture-card"
:fileType=
"['png', 'jpeg', 'jpg']"
ref=
"museumFaceImage"
/>
</el-form-item>
<el-form-item
label=
"简介"
:label-width=
"formLabelWidth"
>
<VueQuillEditor
v-model=
"dialogForm.intro"
:placeholder=
"'请输入博物馆介绍'"
/>
<VueQuillEditor
v-model=
"dialogForm.intro"
:placeholder=
"'请输入博物馆介绍'"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i></el-button>
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
</el-dialog>
</
template
>
...
...
@@ -93,7 +130,7 @@ export default {
get
:
function
()
{
return
this
.
visible
;
},
set
:
function
()
{
},
set
:
function
()
{},
},
title
()
{
if
(
this
.
dialogForm
.
id
)
{
...
...
@@ -167,7 +204,6 @@ export default {
label
:
"name"
,
children
:
"children"
,
checkStrictly
:
true
,
},
regionOptionProps
:
{
value
:
"code"
,
...
...
@@ -181,7 +217,7 @@ export default {
regionCodeModalKey
:
0
,
faceImage
:
[],
parentPid
:
null
,
//博物馆根节点id
loading
:
false
loading
:
false
,
};
},
methods
:
{
...
...
@@ -216,7 +252,7 @@ export default {
});
},
async
handleSubmit
()
{
this
.
loading
=
true
this
.
loading
=
true
;
let
params
=
{
...
this
.
dialogForm
};
let
deleteFileArr
=
[];
// 回填图片
...
...
@@ -256,7 +292,6 @@ export default {
this
.
$message
.
success
(
"修改成功!"
);
this
.
reload
();
}
}
else
{
let
res
=
await
addMuseum
(
params
);
if
(
res
.
code
==
0
)
{
...
...
@@ -264,7 +299,7 @@ export default {
this
.
reload
();
}
}
this
.
loading
=
false
this
.
loading
=
false
;
},
reload
()
{
this
.
$emit
(
"refresh"
,
true
);
//需要重新获取orgTree
...
...
@@ -278,13 +313,13 @@ export default {
this
.
$emit
(
"handleClose"
);
this
.
faceImage
=
[];
})
.
catch
((
_
)
=>
{
});
.
catch
((
_
)
=>
{});
},
},
};
</
script
>
<
style
lang=
'scss'
scoped
>
<
style
lang=
"scss"
scoped
>
.title
{
display
:
flex
;
margin-bottom
:
16px
;
...
...
@@ -341,4 +376,4 @@ export default {
.video-lists
{
display
:
flex
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/museum/index.vue
浏览文件 @
b86916cc
...
...
@@ -2,7 +2,11 @@
<div
class=
"app-container"
>
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation('add')"
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation('add')"
>
<i
class=
"el-icon-plus"
></i>
添加
</el-button
>
...
...
@@ -82,8 +86,8 @@
@
confirm=
"handleOperation('delete', scope.row)"
>
<el-button
type=
"danger"
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
slot=
"reference"
>
删除
</el-button
...
...
@@ -261,7 +265,7 @@ export default {
this
.
tableData
=
res
[
0
].
children
;
}
else
{
this
.
orgTreeData
=
res
;
this
.
tableData
=
res
this
.
tableData
=
res
;
}
this
.
loading
=
false
;
...
...
@@ -377,4 +381,4 @@ export default {
.pagination
{
margin
:
16px
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/product/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -15,7 +15,7 @@
</div>
<div
class=
"el-dialog-div"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
size=
"mini"
>
<el-form-item
label=
"名称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.title"
...
...
@@ -73,8 +73,8 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
...
...
src/views/product/config.js
浏览文件 @
b86916cc
...
...
@@ -10,11 +10,11 @@ export const title = [{
columnAlign
:
'center'
,
},
{
prop
:
"regionName"
,
label
:
"所属地"
,
columnAlign
:
'center'
,
},
//
{
//
prop: "regionName",
//
label: "所属地",
//
columnAlign: 'center',
//
},
{
prop
:
"images"
,
label
:
"封面"
,
...
...
src/views/product/index.vue
浏览文件 @
b86916cc
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
添加
</el-button>
</div>
<TablePage
:data=
"list.records"
:tableTitle=
"tableTitle"
:operates=
"tableOperates"
v-loading=
"loading"
>
...
...
src/views/role/components/DataEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -12,7 +12,7 @@
<div
class=
"label"
>
修改角色数据权限
</div>
</div>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
size=
"mini"
>
<el-form-item
label=
"数据范围"
:label-width=
"formLabelWidth"
>
<el-select
v-model=
"dataScopeData"
...
...
@@ -45,8 +45,8 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
保存
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
...
...
src/views/role/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -14,6 +14,7 @@
</div>
<div
class=
"dialog-content"
>
<el-form
size=
"mini"
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
...
...
@@ -73,8 +74,8 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
...
...
src/views/role/index.vue
浏览文件 @
b86916cc
...
...
@@ -3,6 +3,7 @@
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })"
icon="el-icon-plus"
...
...
src/views/user/components/EditPassword.vue
浏览文件 @
b86916cc
...
...
@@ -11,15 +11,13 @@
:label-width=
"labelWidth"
:rules=
"pwdRules"
class=
"form"
size=
"
small
"
size=
"
mini
"
v-loading=
"loading"
>
<!--
<el-form-item
label=
"旧密码"
prop=
"oldPwd"
>
<el-input
v-model=
"pwdForm.oldPwd"
type=
"password"
></el-input>
</el-form-item>
-->
<el-form-item
label=
"新密码"
prop=
"password"
>
<el-input
v-model=
"pwdForm.password"
clearable
type=
"text"
>
<el-button
size=
"mini"
@
click
.
native=
"handleClickReset"
slot=
"append"
icon=
"el-icon-refresh-left"
...
...
@@ -27,23 +25,16 @@
>
</el-input>
</el-form-item>
<!--
<el-form-item
label=
"确认密码"
prop=
"checkPass"
>
<el-input
v-model=
"pwdForm.checkPass"
type=
"password"
show-password
></el-input>
</el-form-item>
-->
<!--
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-circle-check"
@
click
.
native=
"handleSubmitPwd"
>
保存
</el-button>
<el-button
type=
"primary"
@
click
.
native=
"handleCancelChangePwd"
>
取消
</el-button>
</el-form-item>
-->
</el-form>
<div
class=
"buttons"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-circle-check"
@
click
.
native=
"handleSubmitPwd"
size=
"small"
>
保存
</el-button>
<el-button
@
click
.
native=
"handleCancelChangePwd"
size=
"mini
"
<el-button
size=
"mini"
@
click
.
native=
"handleCancelChangePwd
"
>
取消
</el-button
>
</div>
...
...
@@ -213,4 +204,4 @@ export default {
display
:
flex
;
justify-content
:
flex-end
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/user/components/EditRole.vue
浏览文件 @
b86916cc
...
...
@@ -27,8 +27,8 @@
</el-tree>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
...
...
src/views/user/components/InfoEditDialog.vue
浏览文件 @
b86916cc
<
template
>
<el-dialog
:visible=
"dialogVisible"
width=
"40%"
style=
"height: 98%"
:before-close=
"handleClose"
top=
"5vh"
lock-scroll
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
>
<el-dialog
:visible=
"dialogVisible"
width=
"40%"
style=
"height: 98%"
:before-close=
"handleClose"
top=
"5vh"
lock-scroll
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
>
<div
class=
"title"
slot=
"title"
>
<div
class=
"divider"
></div>
<div
class=
"label"
>
{{
title
}}
</div>
</div>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
ref=
"form"
>
<el-form-item
label=
"账号"
:label-width=
"formLabelWidth"
prop=
"username"
>
<el-input
v-model=
"dialogForm.username"
autocomplete=
"off"
placeholder=
"请输入用户名"
clearable
></el-input>
<el-form
:model=
"dialogForm"
class=
"basic-info"
:rules=
"rules"
ref=
"form"
size=
"mini"
>
<el-form-item
label=
"账号"
:label-width=
"formLabelWidth"
prop=
"username"
>
<el-input
v-model=
"dialogForm.username"
autocomplete=
"off"
placeholder=
"请输入用户名"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"密码"
:label-width=
"formLabelWidth"
prop=
"password"
v-if=
"!dialogForm.id"
>
<el-input
v-model=
"dialogForm.password"
autocomplete=
"off"
show-password
type=
"password"
placeholder=
"请输入密码"
clearable
></el-input>
<el-form-item
label=
"密码"
:label-width=
"formLabelWidth"
prop=
"password"
v-if=
"!dialogForm.id"
>
<el-input
v-model=
"dialogForm.password"
autocomplete=
"off"
show-password
type=
"password"
placeholder=
"请输入密码"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.phone"
autocomplete=
"off"
placeholder=
"请输入手机号"
clearable
></el-input>
<el-input
v-model=
"dialogForm.phone"
autocomplete=
"off"
placeholder=
"请输入手机号"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"昵称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.nickName"
autocomplete=
"off"
placeholder=
"请输入昵称"
clearable
></el-input>
<el-input
v-model=
"dialogForm.nickName"
autocomplete=
"off"
placeholder=
"请输入昵称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"真实姓名"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"dialogForm.realName"
autocomplete=
"off"
placeholder=
"请输入真实姓名"
clearable
></el-input>
<el-input
v-model=
"dialogForm.realName"
autocomplete=
"off"
placeholder=
"请输入真实姓名"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"所属部门"
:label-width=
"formLabelWidth"
prop=
"deptId"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.deptId"
:options=
"orgTreeData"
:props=
"optionProps"
placeholder=
"请选择所属部门"
clearable
>
<el-form-item
label=
"所属部门"
:label-width=
"formLabelWidth"
prop=
"deptId"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.deptId"
:options=
"orgTreeData"
:props=
"optionProps"
placeholder=
"请选择所属部门"
clearable
>
</el-cascader>
</el-form-item>
<el-form-item
label=
"所属地区"
:label-width=
"formLabelWidth"
prop=
"regionCode"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.regionCode"
:options=
"regionTree"
:props=
"culturalRegionProps"
placeholder=
"请选择所属地区"
filterable
clearable
>
<el-form-item
label=
"所属地区"
:label-width=
"formLabelWidth"
prop=
"regionCode"
>
<el-cascader
style=
"width: 100%"
v-model=
"dialogForm.regionCode"
:options=
"regionTree"
:props=
"culturalRegionProps"
placeholder=
"请选择所属地区"
filterable
clearable
>
</el-cascader>
</el-form-item>
<el-form-item
label=
"是否启用"
:label-width=
"formLabelWidth"
>
...
...
@@ -39,9 +103,10 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i></el-button>
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i
></el-button>
</div>
</el-dialog>
</
template
>
...
...
@@ -50,7 +115,7 @@
import
{
addUser
,
upadateUser
}
from
"@/api/user"
;
import
ManualUploader
from
"@/components/Uploader/ManualUploader.vue"
;
import
{
mapGetters
}
from
"vuex"
;
import
md5
from
'js-md5'
import
md5
from
"js-md5"
;
export
default
{
name
:
"InfoEditDialog"
,
components
:
{
...
...
@@ -88,7 +153,7 @@ export default {
// 编辑状态
if
(
that
.
dialogForm
.
id
)
{
console
.
log
(
'that.dialogForm'
,
that
.
dialogForm
);
console
.
log
(
"that.dialogForm"
,
that
.
dialogForm
);
// return
// 回填状态
that
.
status
=
Boolean
(
Number
(
that
.
dialogForm
.
status
));
...
...
@@ -193,7 +258,7 @@ export default {
deptId
:
[{
required
:
true
,
message
:
"请输入部门"
,
trigger
:
"change"
}],
},
value
:
[],
loading
:
false
loading
:
false
,
};
},
methods
:
{
...
...
@@ -206,7 +271,7 @@ export default {
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
loading
=
true
this
.
loading
=
true
;
let
params
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dialogForm
));
// 修改状态
params
.
status
=
this
.
status
?
1
:
0
;
...
...
@@ -218,26 +283,25 @@ export default {
params
.
regionCode
=
params
.
regionCode
[
params
.
regionCode
.
length
-
1
];
}
if
(
params
.
id
)
{
//修改用户信息时不提交盐和用户密码
delete
params
.
password
delete
params
.
salt
delete
params
.
password
;
delete
params
.
salt
;
let
res
=
await
upadateUser
(
params
);
if
(
res
.
code
==
0
)
{
this
.
$message
.
success
(
"修改成功!"
);
this
.
reload
();
}
this
.
loading
=
false
this
.
loading
=
false
;
}
else
{
//加密密码
params
.
password
=
md5
(
params
.
password
)
params
.
password
=
md5
(
params
.
password
)
;
let
res
=
await
addUser
(
params
);
if
(
res
.
code
==
0
)
{
this
.
$message
.
success
(
"添加成功!"
);
this
.
reload
();
}
this
.
loading
=
false
this
.
loading
=
false
;
}
}
});
...
...
@@ -254,7 +318,7 @@ export default {
this
.
$emit
(
"handleClose"
);
this
.
$refs
.
form
.
resetFields
();
//对表单进行重置且移除校验结果
})
.
catch
((
_
)
=>
{
});
.
catch
((
_
)
=>
{});
},
loadRegionTree
()
{
let
parentId
=
""
;
...
...
@@ -278,7 +342,7 @@ export default {
};
</
script
>
<
style
lang=
'scss'
scoped
>
<
style
lang=
"scss"
scoped
>
.title
{
display
:
flex
;
margin-bottom
:
16px
;
...
...
@@ -308,4 +372,4 @@ export default {
display
:
flex
;
justify-content
:
flex-end
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/user/index.vue
浏览文件 @
b86916cc
...
...
@@ -12,7 +12,7 @@
<el-col
:span=
"20"
>
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
新增
</el-button>
</div>
<TablePage
:data=
"list.records"
:tableTitle=
"tableTitle"
:operates=
"tableOperates"
v-loading=
"loading"
>
...
...
src/views/virtual/components/InfoEditDialog.vue
浏览文件 @
b86916cc
...
...
@@ -6,7 +6,7 @@
<div
class=
"label"
>
{{
title
}}
</div>
</div>
<div
class=
"dialog-content"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
ref=
"form"
:rules=
"rules"
>
<el-form
:model=
"dialogForm"
class=
"basic-info"
ref=
"form"
:rules=
"rules"
size=
"mini"
>
<el-form-item
label=
"名称"
:label-width=
"formLabelWidth"
prop=
"name"
>
<el-input
v-model=
"dialogForm.name"
autocomplete=
"off"
placeholder=
"请输入名称"
></el-input>
</el-form-item>
...
...
@@ -40,8 +40,8 @@
</el-form>
</div>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
<el-button
size=
"mini"
@
click=
"cancelForm"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"handleSubmit"
>
确定
<i
class=
"el-icon-circle-check"
style=
"margin-left: 5px"
></i></el-button>
</div>
</el-dialog>
...
...
src/views/virtual/index.vue
浏览文件 @
b86916cc
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"top-bar"
>
<SearchBar
:config=
"searchConfig"
@
search=
"search"
@
reset=
"reset"
/>
<el-button
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
<el-button
size=
"mini"
type=
"primary"
@
click
.
native=
"handleOperation(
{ type: 'add' })" icon="el-icon-plus">
添加
</el-button>
</div>
<TablePage
:data=
"list.records"
:tableTitle=
"tableTitle"
:operates=
"tableOperates"
v-loading=
"loading"
>
...
...
vue.config.js
浏览文件 @
b86916cc
...
...
@@ -40,16 +40,16 @@ module.exports = {
},
proxy
:
{
'/api'
:
{
target
:
'http://114.115.157.218:9603/api'
,
//生产
// target:
'http://192.168.1.230:9603/api',//公司服务器
//
target: 'http://114.115.157.218:9603/api',//生产
target
:
'http://192.168.1.230:9603/api'
,
//公司服务器
changeOrigin
:
true
,
pathRewrite
:
{
'^/api'
:
''
}
},
'/files'
:
{
target
:
'http://114.115.157.218:9603/files'
,
//生产
//
target: 'http://192.168.1.230:9603/files',//公司服务器
//
target: 'http://114.115.157.218:9603/files',//生产
target
:
'http://192.168.1.230:9603/files'
,
//公司服务器
changeOrigin
:
true
,
pathRewrite
:
{
'^/files'
:
''
...
...
@@ -68,12 +68,23 @@ module.exports = {
}
}
},
// css: {
// loaderOptions: {
// sass: {
// prependData: `@import "@/assets/styles/variable.scss";` //引入全局变量
// }
// }
// },
css
:
{
// 是否使用css分离插件 ExtractTextPlugin
extract
:
true
,
// 开启 CSS source maps?
sourceMap
:
false
,
loaderOptions
:
{
sass
:
{
prependData
:
`@import "@/assets/styles/variable.scss";`
//引入全局变量
}
}
prependData
:
`@import "@/assets/styles/variable.scss";`
,
//引入全局变量
}
,
}
,
},
chainWebpack
(
config
)
{
// it can improve the speed of the first screen, it is recommended to turn on preload
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论