Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_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
赵啸非
smart_gov_platform
Commits
0867a272
Commit
0867a272
authored
Nov 30, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
36549617
7c2691a0
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1029 additions
and
21 deletions
+1029
-21
base-manager-ui/admin/package.json
base-manager-ui/admin/package.json
+1
-1
base-manager-ui/admin/src/assets/css/common.less
base-manager-ui/admin/src/assets/css/common.less
+7
-4
base-manager-ui/admin/src/pages/basicset/appmarket/AppDetails.vue
...ager-ui/admin/src/pages/basicset/appmarket/AppDetails.vue
+56
-0
base-manager-ui/admin/src/pages/basicset/appmarket/AppMarket.vue
...nager-ui/admin/src/pages/basicset/appmarket/AppMarket.vue
+42
-0
base-manager-ui/admin/src/pages/basicset/appmarket/Index.vue
base-manager-ui/admin/src/pages/basicset/appmarket/Index.vue
+15
-0
base-manager-ui/admin/src/pages/basicset/appmarket/components/AppDetailsPage.vue
...rc/pages/basicset/appmarket/components/AppDetailsPage.vue
+275
-0
base-manager-ui/admin/src/pages/basicset/appmarket/components/DataUpdata.vue
...in/src/pages/basicset/appmarket/components/DataUpdata.vue
+10
-0
base-manager-ui/admin/src/pages/basicset/appmarket/components/MoveApp.vue
...admin/src/pages/basicset/appmarket/components/MoveApp.vue
+10
-0
base-manager-ui/admin/src/pages/basicset/appmarket/components/TerminalApp.vue
...n/src/pages/basicset/appmarket/components/TerminalApp.vue
+319
-0
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddApp.vue
...er-ui/admin/src/pages/basicset/appmarket/modal/AddApp.vue
+227
-0
base-manager-ui/admin/src/pages/basicset/surface/modal/AddSurface.vue
...-ui/admin/src/pages/basicset/surface/modal/AddSurface.vue
+42
-11
base-manager-ui/admin/src/router/config.js
base-manager-ui/admin/src/router/config.js
+21
-1
base-manager-ui/admin/yarn.lock
base-manager-ui/admin/yarn.lock
+4
-4
No files found.
base-manager-ui/admin/package.json
View file @
0867a272
...
...
@@ -19,7 +19,7 @@
"dependencies"
:
{
"@antv/data-set"
:
"^0.11.4"
,
"animate.css"
:
"^4.1.0"
,
"ant-design-vue"
:
"1.7.
2
"
,
"ant-design-vue"
:
"1.7.
8
"
,
"axios"
:
"^0.19.2"
,
"china-division"
:
"^2.5.0"
,
"clipboard"
:
"^2.0.6"
,
...
...
base-manager-ui/admin/src/assets/css/common.less
View file @
0867a272
...
...
@@ -35,21 +35,21 @@
.ant-table-fixed-header .ant-table-scroll .ant-table-header {
overflow: hidden !important;
margin-bottom: 0 !important;
padding-right:
5
px;
padding-right:
6
px;
}
::-webkit-scrollbar {
width:
5
px;
width:
6
px;
overflow-y: auto;
}
::-webkit-scrollbar-thumb {
border-radius:
5
px;
border-radius:
6
px;
background-color: rgba(144, 147, 153, .5);
}
::-webkit-scrollbar-track {
border-radius:
5
px;
border-radius:
6
px;
background: #fff;
}
...
...
@@ -66,4 +66,7 @@
left: -16px;
background-color: rgba(5, 149, 253, 1);
}
}
.ant-input{
resize: none;
}
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/AppDetails.vue
0 → 100644
View file @
0867a272
<
template
>
<!-- 应用集市 -->
<div
class=
"app-details"
>
<a-tabs
default-active-key=
"1"
>
<a-button
slot=
"tabBarExtraContent"
@
click=
"handleBack"
>
返回上一级
</a-button
>
<a-tab-pane
key=
"1"
tab=
"详情"
>
<AppDetailsPage></AppDetailsPage>
</a-tab-pane>
<a-tab-pane
key=
"2"
tab=
"数据更新"
force-render
>
<DataUpdata></DataUpdata>
</a-tab-pane>
</a-tabs>
</div>
</
template
>
<
script
>
import
AppDetailsPage
from
"
./components/AppDetailsPage.vue
"
;
import
DataUpdata
from
"
./components/DataUpdata.vue
"
;
export
default
{
components
:
{
AppDetailsPage
,
DataUpdata
,
},
data
()
{
return
{};
},
methods
:
{
handleBack
()
{
this
.
$router
.
back
();
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.app-details {
width: 100%;
padding: 15px;
height: 89vh;
position: absolute;
}
/deep/.ant-tabs {
height: 100%;
background-color: #fff;
}
/deep/.ant-tabs-bar,
/deep/.ant-tabs-nav-container {
border-bottom: 1px solid rgb(224, 224, 224) !important;
}
/deep/.ant-tabs-tabpane {
padding: 0px 20px;
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/AppMarket.vue
0 → 100644
View file @
0867a272
<
template
>
<!-- 应用集市 -->
<div
class=
"app-market"
>
<a-tabs
default-active-key=
"1"
>
<a-tab-pane
key=
"1"
tab=
"终端应用"
>
<TerminalApp></TerminalApp>
</a-tab-pane>
<a-tab-pane
key=
"2"
tab=
"移动端应用"
force-render
>
<MoveApp></MoveApp>
</a-tab-pane>
</a-tabs>
</div>
</
template
>
<
script
>
import
TerminalApp
from
"
./components/TerminalApp.vue
"
;
import
MoveApp
from
"
./components/MoveApp.vue
"
;
export
default
{
components
:
{
TerminalApp
,
MoveApp
,
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.app-market {
width: 100%;
padding: 15px;
height: 89vh;
}
/deep/.ant-tabs {
height: 100%;
background-color: #fff;
}
/deep/.ant-tabs-nav-container {
border-bottom: 1px solid rgb(224, 224, 224) !important;
}
/deep/.ant-tabs-tabpane {
padding: 0px 20px;
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/Index.vue
0 → 100644
View file @
0867a272
<
template
>
<div
class=
"index"
>
<router-view></router-view>
</div>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
lang=
"less"
scoped
>
.index {
width: 100%;
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/components/AppDetailsPage.vue
0 → 100644
View file @
0867a272
<
template
>
<div
class=
"app-details-page"
>
<!-- 顶部 -->
<div
class=
"app-info-box flex aic jcb"
>
<div
class=
"left flex flexc aic jcc"
>
<img
class=
"logo"
width=
"50"
height=
"50"
src=
"../../../../assets/img/logo.png"
/>
<div
class=
"name"
>
法律法规
</div>
<div
class=
"version"
>
当前版本:v1.0
</div>
</div>
<div
class=
"right flex1"
>
<a-form-model
:model=
"form"
:label-col=
"
{ span: 2 }"
:wrapper-col="{ span: 22 }"
>
<a-form-model-item
label=
"应用主题"
>
公共服务
</a-form-model-item>
<a-form-model-item
label=
"应用简介"
>
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
</a-form-model-item>
<a-form-model-item
label=
"适用范围"
>
共计26个站点
<a
class=
"primary ml10"
>
查看详情
</a>
</a-form-model-item>
<a-form-model-item
label=
"应用类型"
>
应用程序
</a-form-model-item>
</a-form-model>
</div>
</div>
<!-- 版本管理 -->
<div
class=
"version-manage flex1"
>
<div
class=
"title"
>
版本管理
</div>
<div
class=
"table-content"
>
<a-table
:loading=
"loading"
size=
"small"
bordered
:scroll=
"
{ y: 350 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
showSizeChanger: true,
showQuickJumper: true,
size: 'small',
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span
slot=
"num"
slot-scope=
"text, record, index"
>
{{
(
current
-
1
)
*
size
+
index
+
1
}}
</span>
<!-- 应用包 -->
<template
slot=
"app"
slot-scope=
"text"
>
<a
class=
"primary"
>
{{
text
.
app
}}
</a>
</
template
>
<!-- 当前是否使用 -->
<
template
slot=
"danqian"
slot-scope=
"text"
>
<a-tag
v-if=
"text.danqian"
color=
"blue"
>
正在使用
</a-tag>
<span
v-else
>
否
</span>
</
template
>
<!-- 操作 -->
<
template
slot=
"action"
slot-scope=
"text"
>
<a-space
size=
"middle"
>
<a
class=
"primary"
@
click=
"handleUse(text.id)"
>
使用
</a>
<a
class=
"primary"
@
click=
"handlePreview(text)"
>
预览
</a>
</a-space>
</
template
>
</a-table>
</div>
</div>
</div>
</template>
<
script
>
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
num
"
,
width
:
"
65px
"
,
scopedSlots
:
{
customRender
:
"
num
"
,
},
},
{
title
:
"
版本号
"
,
dataIndex
:
"
banben
"
,
},
{
title
:
"
更新说明
"
,
width
:
"
40%
"
,
dataIndex
:
"
shuom
"
,
},
{
title
:
"
应用包
"
,
scopedSlots
:
{
customRender
:
"
app
"
},
},
{
title
:
"
当前是否使用
"
,
scopedSlots
:
{
customRender
:
"
danqian
"
},
},
{
title
:
"
操作
"
,
width
:
"
10%
"
,
scopedSlots
:
{
customRender
:
"
action
"
},
},
];
export
default
{
data
()
{
return
{
columns
,
current
:
1
,
size
:
10
,
total
:
10
,
loading
:
false
,
pageSizeOptions
:
[
"
10
"
,
"
30
"
,
"
50
"
,
"
100
"
],
form
:
{},
tableData
:
[
{
id
:
1
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
2
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
0
,
},
{
id
:
3
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
0
,
},
{
id
:
4
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
5
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
6
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
7
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
8
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
9
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
{
id
:
10
,
banben
:
"
v1.0
"
,
shuom
:
"
修复了页面
"
,
app
:
"
app.zip
"
,
danqian
:
1
,
},
],
};
},
methods
:
{
// 使用
handleUse
(
id
)
{
console
.
log
(
id
);
},
// 预览
handlePreview
(
row
)
{
console
.
log
(
row
);
},
// 翻页
handleChange
(
cur
)
{
this
.
current
=
cur
;
},
// 改变每页显示数量
showSizeChange
(
cur
,
size
)
{
this
.
current
=
cur
;
this
.
size
=
size
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
@bgc: #fafafb;
.app-info-box {
height: 230px;
margin-bottom: 20px;
.left {
width: 30%;
height: inherit;
margin-right: 15px;
background-color: @bgc;
border-radius: 4px;
.logo {
margin-bottom: 20px;
}
.name {
font-size: 20px;
font-weight: 600;
margin-bottom: 20px;
}
}
.right {
height: inherit;
padding: 15px;
background-color: @bgc;
border-radius: 4px;
overflow-y: auto;
&::-webkit-scrollbar {
width: 6px;
overflow-y: auto;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, 0.5);
}
&::-webkit-scrollbar-track {
border-radius: 6px;
background: @bgc;
}
}
}
.version-manage {
padding: 15px;
background-color: @bgc;
border-radius: 4px;
.title {
margin-bottom: 15px;
font-weight: 600;
}
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/components/DataUpdata.vue
0 → 100644
View file @
0867a272
<
template
>
<div>
123456789
</div>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/components/MoveApp.vue
0 → 100644
View file @
0867a272
<
template
>
<div>
123456789
</div>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/components/TerminalApp.vue
0 → 100644
View file @
0867a272
<
template
>
<div
class=
"terminal"
>
<div
class=
"header flex aic jcb mb20"
>
<a-space>
<a-button
type=
"primary"
@
click=
"handleAdd"
>
新增应用
</a-button>
<a-button
type=
"primary"
>
克隆
</a-button>
</a-space>
<a-input-search
style=
"width: 300px"
placeholder=
"请输入应用名称搜索"
enter-button=
"搜索"
v-model=
"searchVal"
allowClear
@
search=
"onSearch"
/>
</div>
<!-- 表格 -->
<div
class=
"table-content"
>
<a-table
:row-selection=
"
{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="loading"
bordered
:scroll="{ y: 550 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span
slot=
"num"
slot-scope=
"text, record, index"
>
{{
(
current
-
1
)
*
size
+
index
+
1
}}
</span>
<!-- 图标 -->
<template
slot=
"icon"
slot-scope=
"text"
>
<img
height=
"20"
width=
"20"
:src=
"text.icon"
/>
</
template
>
<!-- 类型 -->
<
template
slot=
"leix"
slot-scope=
"text"
>
{{
text
.
leix
}}
</
template
>
<!-- 下发设备 -->
<
template
slot=
"xiaf"
slot-scope=
"text"
>
{{
text
.
xiaf
}}
</
template
>
<!-- 上下架 -->
<
template
slot=
"shangjia"
slot-scope=
"text"
>
<YSwitch
v-model=
"text.shangjia"
></YSwitch>
</
template
>
<!-- 操作 -->
<
template
slot=
"action"
slot-scope=
"text"
>
<a-space
size=
"middle"
>
<a
class=
"primary"
@
click=
"handleEdit(text)"
>
编辑
</a>
<a
class=
"primary"
@
click=
"handleCheck(text.id)"
>
查看
</a>
<a
class=
"delete"
@
click=
"handleDel(text.id)"
>
删除
</a>
</a-space>
</
template
>
</a-table>
</div>
<!-- 新增应用 -->
<AddApp
:AddVisible.sync=
"AddVisible"
:title=
"title"
></AddApp>
</div>
</template>
<
script
>
import
YSwitch
from
"
../../../../components/yswitch/YSwitch.vue
"
;
import
AddApp
from
"
../modal/AddApp.vue
"
;
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
num
"
,
width
:
"
65px
"
,
scopedSlots
:
{
customRender
:
"
num
"
,
},
},
{
title
:
"
应用名称
"
,
dataIndex
:
"
name
"
,
},
{
title
:
"
应用图标
"
,
scopedSlots
:
{
customRender
:
"
icon
"
},
},
{
title
:
"
当前版本
"
,
dataIndex
:
"
banben
"
,
},
{
title
:
"
应用主题
"
,
dataIndex
:
"
zhuti
"
,
},
{
title
:
"
应用简介
"
,
width
:
"
20%
"
,
dataIndex
:
"
jianjie
"
,
},
{
title
:
"
应用类型
"
,
scopedSlots
:
{
customRender
:
"
leix
"
},
},
{
title
:
"
下发设备
"
,
scopedSlots
:
{
customRender
:
"
xiaf
"
},
},
{
title
:
"
上架/下架
"
,
scopedSlots
:
{
customRender
:
"
shangjia
"
},
},
{
title
:
"
操作
"
,
width
:
"
10%
"
,
scopedSlots
:
{
customRender
:
"
action
"
},
},
];
export
default
{
components
:
{
YSwitch
,
AddApp
,
},
data
()
{
return
{
columns
,
tableData
:
[
{
id
:
1
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
2
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
3
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
4
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
5
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
6
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
7
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
8
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
9
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
{
id
:
10
,
name
:
"
法律法规
"
,
icon
:
require
(
"
../../../../assets/img/logo.png
"
),
banben
:
"
v1.0
"
,
zhuti
:
"
公共服务
"
,
jianjie
:
"
汇集婚姻法、劳动法、刑法等各种条例,让您能轻松获取法律知识
"
,
leix
:
"
应用程序
"
,
xiaf
:
"
自助服务
"
,
shangjia
:
1
,
},
],
// 表格数据
loading
:
false
,
searchVal
:
""
,
// 搜索
current
:
1
,
size
:
10
,
total
:
1000
,
pageSizeOptions
:
[
"
10
"
,
"
30
"
,
"
50
"
,
"
100
"
],
selectedRowKeys
:
[],
// 表格勾选数据
AddVisible
:
false
,
title
:
"
新增应用
"
,
};
},
methods
:
{
// 新增
handleAdd
()
{
this
.
title
=
"
新增应用
"
;
this
.
AddVisible
=
true
;
},
// 搜索
onSearch
()
{
console
.
log
(
1
);
},
// 翻页
handleChange
(
cur
)
{
this
.
current
=
cur
;
},
// 改变每页显示数量
showSizeChange
(
current
,
size
)
{
this
.
current
=
current
;
this
.
size
=
size
;
},
// 勾选表格
onSelectChange
(
keys
)
{
this
.
selectedRowKeys
=
keys
;
},
// 编辑
handleEdit
(
row
)
{
console
.
log
(
row
);
},
// 查看
handleCheck
(
id
)
{
this
.
$router
.
push
({
path
:
"
/basicset/appmarket/appdetails
"
,
query
:
{
id
,
},
});
},
// 删除
handleDel
(
id
)
{
let
_this
=
this
;
_this
.
$confirm
({
title
:
"
系统提示
"
,
content
:
"
删除不可恢复,确定要删除吗?
"
,
okText
:
"
确定
"
,
okType
:
"
danger
"
,
cancelText
:
"
取消
"
,
centered
:
true
,
icon
:
"
exclamation-circle
"
,
maskClosable
:
true
,
async
onOk
()
{
console
.
log
(
id
);
},
onCancel
()
{
console
.
log
(
"
Cancel
"
);
},
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddApp.vue
0 → 100644
View file @
0867a272
<
template
>
<div
class=
"add-app"
>
<a-drawer
width=
"650"
:maskClosable=
"false"
:title=
"title"
:visible=
"Visible"
@
close=
"onClose"
>
<div
class=
"main"
>
<a-form-model
:model=
"form"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
>
<a-form-model-item
label=
"应用名称"
prop=
""
>
<a-input
v-model=
"form.name"
placeholder=
"请输入应用名称"
/>
</a-form-model-item>
<a-form-model-item
label=
"应用主题"
prop=
""
>
<a-select
v-model=
"form.region"
placeholder=
"请选择应用主题"
>
<a-select-option
value=
"shanghai"
>
Zone one
</a-select-option>
<a-select-option
value=
"beijing"
>
Zone two
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
label=
"应用主题"
prop=
""
>
<a-upload
name=
"file"
list-type=
"picture-card"
class=
"avatar-uploader"
:show-upload-list=
"false"
action=
"https://www.mocky.io/v2/5cc8019d300000980a055e76"
:before-upload=
"iconBeforeUpload"
@
change=
"handleChangeIcon"
>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
alt=
"avatar"
/>
<div
v-else
>
<a-icon
:type=
"loading ? 'loading' : 'plus'"
/>
<div
class=
"ant-upload-text"
>
选择图标
</div>
</div>
</a-upload>
</a-form-model-item>
<a-form-model-item
label=
"应用简介"
prop=
""
>
<a-textarea
placeholder=
"请输入应用简介"
v-model=
"form.name"
allow-clear
:autoSize=
"
{
minRows: 4,
maxRows: 4,
}"
/>
</a-form-model-item>
<a-form-model-item
label=
"适用范围"
prop=
""
>
<a-button
type=
"primary"
>
<span>
选择
</span>
<!--
<span>
已选择(32)
</span>
-->
</a-button>
</a-form-model-item>
<a-form-model-item
label=
"应用类型"
prop=
""
>
<a-radio-group
v-model=
"form.resource"
>
<a-radio
value=
"1"
>
应用程序
</a-radio>
<a-radio
value=
"2"
>
URL
</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item
class=
"upload-app"
label=
"上传应用"
prop=
""
>
<a-upload
name=
"file"
action=
"https://www.mocky.io/v2/5cc8019d300000980a055e76"
:multiple=
"false"
:file-list=
"fileList"
@
change=
"handleChangeFile"
>
<a-button>
<a-icon
type=
"upload"
/>
选择文件
</a-button>
</a-upload>
</a-form-model-item>
<a-form-model-item
label=
"更新说明"
prop=
""
>
<a-textarea
placeholder=
"请输入应用简介"
v-model=
"form.name"
allow-clear
:autoSize=
"
{
minRows: 4,
maxRows: 4,
}"
/>
</a-form-model-item>
<a-form-model-item
label=
"更新数据"
prop=
""
>
<YSwitch
v-model=
"form.name"
></YSwitch>
</a-form-model-item>
</a-form-model>
</div>
<!-- 底部按钮 -->
<div
:style=
"
{
width: '100%',
height: '54px',
borderTop: '1px solid #e8e8e8',
padding: '10px 16px',
textAlign: 'left',
background: '#fff',
borderRadius: '0 0 4px 4px',
}"
>
<a-space
size=
"middle"
>
<a-button
@
click=
"onClose"
>
取消
</a-button>
<a-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</a-button>
</a-space>
</div>
</a-drawer>
</div>
</
template
>
<
script
>
import
YSwitch
from
"
../../../../components/yswitch/YSwitch.vue
"
;
export
default
{
components
:
{
YSwitch
,
},
props
:
{
title
:
{
type
:
String
,
required
:
true
,
default
:
""
,
},
AddVisible
:
{
type
:
Boolean
,
required
:
true
,
default
:
false
,
},
},
data
()
{
return
{
labelCol
:
{
span
:
3
,
},
wrapperCol
:
{
span
:
21
,
},
loading
:
false
,
imageUrl
:
""
,
form
:
{},
fileList
:
[],
};
},
computed
:
{
Visible
:
{
get
()
{
return
this
.
AddVisible
;
},
set
(
val
)
{
this
.
$emit
(
"
update:AddVisible
"
,
val
);
},
},
},
methods
:
{
// 关闭
onClose
()
{
this
.
Visible
=
false
;
},
// 提交
onSubmit
()
{
console
.
log
(
1
);
},
// 图标删除之前
iconBeforeUpload
(
file
)
{
const
isJpgOrPng
=
file
.
type
===
"
image/jpeg
"
||
file
.
type
===
"
image/png
"
;
if
(
!
isJpgOrPng
)
{
this
.
$message
.
error
(
"
请上传jpeg或者png格式图片!
"
);
}
const
isLt2M
=
file
.
size
/
1024
/
1024
<
2
;
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
"
图片大小不能超过 2MB!
"
);
}
return
isJpgOrPng
&&
isLt2M
;
},
// 上传图标
handleChangeIcon
(
info
)
{
if
(
info
.
file
.
status
===
"
uploading
"
)
{
this
.
loading
=
true
;
return
;
}
if
(
info
.
file
.
status
===
"
done
"
)
{
this
.
loading
=
false
;
}
},
// 上传应用
handleChangeFile
(
info
)
{
let
fileList
=
[...
info
.
fileList
];
fileList
=
fileList
.
slice
(
-
1
);
fileList
=
fileList
.
map
((
file
)
=>
{
if
(
file
.
response
)
{
file
.
url
=
file
.
response
.
url
;
}
return
file
;
});
this
.
fileList
=
fileList
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/deep/.ant-form-item {
display: flex;
align-items: center;
}
.upload-app {
align-items: flex-start !important;
}
/deep/.ant-drawer-wrapper-body {
display: flex;
flex-direction: column;
}
/deep/.ant-drawer-body {
padding: 0px !important;
flex: 1;
display: flex;
flex-direction: column;
}
.main {
height: 1px;
padding: 24px;
flex: 1;
overflow-y: auto;
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/surface/modal/AddSurface.vue
View file @
0867a272
...
...
@@ -41,6 +41,22 @@
:wrapper-col="{ span: 18 }"
>
<a-row>
<a-col
:span=
"24"
v-if=
"!isEdit"
>
<a-form-model-item
label=
"皮肤模板"
>
<a-select
placeholder=
"请选择皮肤模板"
v-model=
"curSkinTemplate"
>
<a-select-option
v-for=
"v in skinTemplate"
:key=
"v.id"
:value=
"v.id"
>
{{
v
.
templateName
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-model-item
label=
"所属分类"
prop=
"categoryId"
>
<a-select
...
...
@@ -207,6 +223,8 @@ export default {
simpleImage
:
Empty
.
PRESENTED_IMAGE_SIMPLE
,
facilityInfo
:
{},
// 设备信息
skinTemplate
:
[],
// 皮肤模板列表
curSkinTemplate
:
""
,
//当前选择皮肤模板
isEdit
:
false
,
// 是否编辑状态
formData
:
{
categoryId
:
undefined
,
// 所属种类
name
:
""
,
// 皮肤名称
...
...
@@ -270,11 +288,20 @@ export default {
},
},
created
()
{},
watch
:
{
curSkinTemplate
(
newVal
)
{
if
(
newVal
)
{
this
.
formData
.
skinFieldList
=
this
.
skinTemplate
.
find
(
(
v
)
=>
v
.
id
==
newVal
).
skinFieldList
;
}
},
},
methods
:
{
// 返回上一级
backOne
()
{
this
.
$refs
.
formData
&&
this
.
$refs
.
formData
.
resetFields
();
this
.
isEdit
=
false
;
this
.
show
=
false
;
},
// 获取设备信息
...
...
@@ -290,18 +317,22 @@ export default {
...
search
,
});
let
{
data
}
=
res
.
data
.
data
;
console
.
log
(
data
);
if
(
data
.
length
)
{
this
.
skinTemplate
=
data
;
this
.
formData
.
skinFieldList
=
data
[
0
].
skinFieldList
;
this
.
formData
.
skinFieldList
.
forEach
((
v
)
=>
{
v
.
fieldOrderNo
=
Number
(
v
.
fieldOrderNo
);
if
(
!
v
.
fieldOrderNo
)
{
v
.
fieldOrderNo
=
1000
;
data
.
forEach
((
v
)
=>
{
for
(
let
item
of
v
.
skinFieldList
)
{
item
.
fieldOrderNo
=
Number
(
item
.
fieldOrderNo
);
if
(
!
item
.
fieldOrderNo
)
{
item
.
fieldOrderNo
=
1000
;
}
}
v
.
skinFieldList
.
sort
((
a
,
b
)
=>
{
return
a
.
fieldOrderNo
-
b
.
fieldOrderNo
;
});
});
this
.
formData
.
skinFieldList
.
sort
((
a
,
b
)
=>
{
return
a
.
fieldOrderNo
-
b
.
fieldOrderNo
;
})
;
this
.
skinTemplate
=
data
;
// this.formData.skinFieldList = this.skinTemplate[0].skinFieldList
;
this
.
curSkinTemplate
=
this
.
skinTemplate
[
0
].
id
;
}
},
// 上传函数
...
...
@@ -400,7 +431,7 @@ export default {
},
// 编辑
onEdit
(
row
)
{
console
.
log
(
row
)
;
this
.
isEdit
=
true
;
this
.
formData
=
{
...
row
};
},
},
...
...
base-manager-ui/admin/src/router/config.js
View file @
0867a272
...
...
@@ -30,7 +30,7 @@ const options = {
path
:
"
basicset
"
,
name
:
"
基础设置
"
,
meta
:
{
icon
:
"
dashboard
"
,
icon
:
"
setting
"
,
},
component
:
BlankView
,
children
:
[
...
...
@@ -106,6 +106,26 @@ const options = {
name
:
"
节假日配置
"
,
component
:
()
=>
import
(
"
@/pages/basicset/holiday/festival
"
),
},
{
path
:
"
appmarket
"
,
component
:
()
=>
import
(
"
@/pages/basicset/appmarket/Index
"
),
children
:
[
{
path
:
""
,
name
:
"
应用集市
"
,
component
:
()
=>
import
(
"
@/pages/basicset/appmarket/AppMarket
"
),
meta
:
{
invisible
:
true
},
},
{
path
:
"
appdetails
"
,
name
:
"
应用详情
"
,
component
:
()
=>
import
(
"
@/pages/basicset/appmarket/AppDetails
"
),
meta
:
{
invisible
:
true
},
},
],
},
// {
// path: 'qrcode',
// name: '二维码设置',
...
...
base-manager-ui/admin/yarn.lock
View file @
0867a272
...
...
@@ -2209,10 +2209,10 @@ ansi-styles@^4.1.0:
"@types/color-name" "^1.1.1"
color-convert "^2.0.1"
ant-design-vue@1.7.
2
:
version "1.7.
2
"
resolved "https://registry.npm
.taobao.org/ant-design-vue/download/ant-design-vue-1.7.2.tgz
"
integrity sha
1-qsf/gCIFcRYxyGmOKgx7TmHf1z4
=
ant-design-vue@1.7.
8
:
version "1.7.
8
"
resolved "https://registry.npm
mirror.com/ant-design-vue/-/ant-design-vue-1.7.8.tgz#1abbf86b68a4f5b1000bea0487b8031dc0001661
"
integrity sha
512-F1hmiS9vwbyfuFvlamdW5l9bHKqRlj9wHaGDIE41NZMWXyWy8qL0UFa/+I0Wl8gQWZCqODW5pN6Yfoyn85At3A=
=
dependencies:
"@ant-design/icons" "^2.1.1"
"@ant-design/icons-vue" "^2.0.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