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
f6cb85a8
Commit
f6cb85a8
authored
Jun 02, 2023
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
推
parent
b6c8c210
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
649 additions
and
328 deletions
+649
-328
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
...n/components/networkGovernance/components/FormDetails.vue
+335
-167
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/letterRecordForm.vue
...taAdmin/components/networkGovernance/letterRecordForm.vue
+1
-0
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
...ws/dataAdmin/components/networkGovernance/networkForm.vue
+5
-8
portal-manager-ui/admin/src/views/thePlatformIsSet/components/applService.vue
...min/src/views/thePlatformIsSet/components/applService.vue
+112
-65
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
...et/components/productManage/components/addEditAppName.vue
+38
-20
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
...productManage/components/appManage/components/Details.vue
+18
-0
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
...s/productManage/components/docData/components/Details.vue
+69
-24
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
...ePlatformIsSet/components/productManage/productManage.vue
+71
-44
No files found.
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
View file @
f6cb85a8
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/letterRecordForm.vue
View file @
f6cb85a8
...
@@ -82,6 +82,7 @@
...
@@ -82,6 +82,7 @@
@
onClose=
"onClose"
@
onClose=
"onClose"
@
showDrawer=
"showDrawer"
@
showDrawer=
"showDrawer"
:visible=
"visible"
:visible=
"visible"
:title=
"'12345写信记录'"
/>
/>
</div>
</div>
</template>
</template>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
View file @
f6cb85a8
...
@@ -93,6 +93,7 @@
...
@@ -93,6 +93,7 @@
ref=
"FormDetails"
ref=
"FormDetails"
@
onClose=
"onClose"
@
onClose=
"onClose"
@
showDrawer=
"showDrawer"
@
showDrawer=
"showDrawer"
:title=
"'网络理政'"
:visible=
"visible"
:visible=
"visible"
/>
/>
</div>
</div>
...
@@ -176,14 +177,12 @@ export default {
...
@@ -176,14 +177,12 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
upname
"
,
dataIndex
:
"
upname
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
upname
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
upname
||
"
--
"
}
`
,
},
},
{
{
title
:
"
联系电话
"
,
title
:
"
联系电话
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
upphone
"
,
dataIndex
:
"
upphone
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
upphone
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
upphone
||
"
--
"
}
`
,
},
},
{
{
title
:
"
是否公开
"
,
title
:
"
是否公开
"
,
...
@@ -205,8 +204,8 @@ export default {
...
@@ -205,8 +204,8 @@ export default {
title
:
"
提交日期
"
,
title
:
"
提交日期
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
create_time
"
,
dataIndex
:
"
create_time
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
create_time
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
create_time
||
"
--
"
}
`
,
},
},
{
{
title
:
"
是否回复
"
,
title
:
"
是否回复
"
,
...
@@ -221,21 +220,19 @@ export default {
...
@@ -221,21 +220,19 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
reply_name
"
,
dataIndex
:
"
reply_name
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
reply_name
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
reply_name
||
"
--
"
}
`
,
},
},
{
{
title
:
"
回复时间
"
,
title
:
"
回复时间
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
update_time
"
,
dataIndex
:
"
update_time
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
update_time
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
update_time
||
"
--
"
}
`
,
},
},
{
{
title
:
"
所属部门
"
,
title
:
"
所属部门
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
deptName
"
,
dataIndex
:
"
deptName
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
deptName
||
"
--
"
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
deptName
||
"
--
"
}
`
,
},
},
{
{
title
:
"
操作
"
,
title
:
"
操作
"
,
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/applService.vue
View file @
f6cb85a8
...
@@ -4,7 +4,12 @@
...
@@ -4,7 +4,12 @@
<div
class=
"search"
>
<div
class=
"search"
>
<h1>
应用服务
</h1>
<h1>
应用服务
</h1>
<div
class=
"search-box"
>
<div
class=
"search-box"
>
<a-input
placeholder=
"请输入API名称搜索"
v-model=
"searchVal"
@
pressEnter=
"handleSearch"
/>
<a-input
placeholder=
"请输入应用名称搜索"
v-model=
"searchVal"
@
pressEnter=
"handleSearch"
allow-clear
/>
<button
class=
"search_btn btn"
@
click=
"handleSearch"
>
<button
class=
"search_btn btn"
@
click=
"handleSearch"
>
<span>
{{
isSearch
?
"
重置
"
:
"
搜索
"
}}
</span>
<span>
{{
isSearch
?
"
重置
"
:
"
搜索
"
}}
</span>
</button>
</button>
...
@@ -15,38 +20,75 @@
...
@@ -15,38 +20,75 @@
<div
class=
"stepbox"
:style=
"
{ height: contentHigh + 'px' }">
<div
class=
"stepbox"
:style=
"
{ height: contentHigh + 'px' }">
<div
class=
"_left"
>
<div
class=
"_left"
>
<a-steps
progress-dot
direction=
"vertical"
>
<a-steps
progress-dot
direction=
"vertical"
>
<a-step
v-for=
"(item, index) in listArr"
:status=
"active === index ? 'process' : 'wait'"
:key=
"index"
>
<a-step
<span
slot=
"title"
@
click=
"handleChange(item, index)"
>
{{
item
.
productName
}}
</span>
v-for=
"(item, index) in listArr"
:status=
"active === index ? 'process' : 'wait'"
:key=
"index"
>
<span
slot=
"title"
@
click=
"handleChange(item, index)"
>
{{
item
.
productName
}}
</span>
</a-step>
</a-step>
</a-steps>
</a-steps>
</div>
</div>
<div
class=
"_right"
>
<div
class=
"_right"
>
<div
class=
"list_box step_sign"
>
<div
class=
"list_box step_sign"
>
<div
class=
"title-box"
>
<div
class=
"title-box"
>
<span
class=
"list_title"
>
{{
listArr
[
active
]
?
listArr
[
active
].
productName
:
'
--
'
}}
</span>
<span
class=
"list_title"
>
{{
<span
class=
"count primary"
>
{{
listArr
[
active
].
curInfo
.
length
}}
</span>
listArr
[
active
]
?
listArr
[
active
].
productName
:
"
--
"
}}
</span>
<span
class=
"count primary"
>
{{
listArr
[
active
].
curInfo
.
length
}}
</span>
</div>
</div>
<div
v-if=
"listArr[active].curInfo.length > 0"
>
<div
v-if=
"listArr[active].curInfo.length > 0"
>
<div
class=
"list flex aic jcb "
v-for=
"(i, j) in listArr[active].curInfo"
>
<div
class=
"list flex aic jcb"
v-for=
"(i, j) in listArr[active].curInfo"
>
<div
class=
"app-name"
>
{{
i
.
appName
}}
</div>
<div
class=
"app-name"
>
{{
i
.
appName
}}
</div>
<img
v-if=
"i.deveLanguage == 1"
src=
"@/assets/images/JAVA.png"
alt
/>
<img
<img
v-if=
"i.deveLanguage == 2"
src=
"@/assets/images/php.png"
alt
/>
v-if=
"i.deveLanguage == 1"
<img
v-if=
"i.deveLanguage == 3"
src=
"@/assets/images/Android.png"
alt
/>
src=
"@/assets/images/JAVA.png"
<img
v-if=
"i.deveLanguage == 4"
src=
"@/assets/images/Cshape.png"
alt
/>
alt
<img
v-if=
"i.deveLanguage == 5"
src=
"@/assets/images/Cjj.jpg"
alt
/>
/>
<img
v-if=
"i.deveLanguage == 2"
src=
"@/assets/images/php.png"
alt
/>
<img
v-if=
"i.deveLanguage == 3"
src=
"@/assets/images/Android.png"
alt
/>
<img
v-if=
"i.deveLanguage == 4"
src=
"@/assets/images/Cshape.png"
alt
/>
<img
v-if=
"i.deveLanguage == 5"
src=
"@/assets/images/Cjj.jpg"
alt
/>
<div>
V
{{
i
.
versionNumber
}}
</div>
<div>
V
{{
i
.
versionNumber
}}
</div>
<div>
{{
i
.
versionInfo
}}
</div>
<div>
{{
i
.
versionInfo
}}
</div>
<div
v-if=
"i.createTime"
>
<div
v-if=
"i.createTime"
>
{{
$moment
(
i
.
createTime
).
format
(
"
YYYY-MM-DD
"
)
}}
{{
$moment
(
i
.
createTime
).
format
(
"
YYYY-MM-DD
"
)
}}
</div>
</div>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleDowload(api + i.appFileUrl, i.appName)"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleDowload(api + i.appFileUrl, i.appName)"
>
<a-icon
type=
"download"
/>
下载
<a-icon
type=
"download"
/>
下载
</a-button>
</a-button>
</div>
</div>
</div>
</div>
<div
v-else
>
<div
v-else
>
<div
class=
"list flex aic jcb
"
>
<div
class=
"list flex aic jcb"
>
<div
class=
"app-name"
>
暂无数据
</div>
<div
class=
"app-name"
>
暂无数据
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -56,8 +98,8 @@
...
@@ -56,8 +98,8 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
serviceList
,
}
from
"
@/api/applService.js
"
;
import
{
serviceList
}
from
"
@/api/applService.js
"
;
import
{
getProduct
,
}
from
"
@/api/thePlatformIsSet.js
"
;
import
{
getProduct
}
from
"
@/api/thePlatformIsSet.js
"
;
import
common
from
"
@/mixins/common
"
;
import
common
from
"
@/mixins/common
"
;
export
default
{
export
default
{
name
:
"
PortalAdminVueApplService
"
,
name
:
"
PortalAdminVueApplService
"
,
...
@@ -72,11 +114,9 @@ export default {
...
@@ -72,11 +114,9 @@ export default {
curInfo
:
{},
// 当前选中设备信息
curInfo
:
{},
// 当前选中设备信息
isSearch
:
false
,
isSearch
:
false
,
};
};
},
},
created
()
{
created
()
{
this
.
getList
()
this
.
getList
();
},
},
mounted
()
{
mounted
()
{
// this.setContentHigh();
// this.setContentHigh();
...
@@ -91,31 +131,31 @@ export default {
...
@@ -91,31 +131,31 @@ export default {
let
{
code
,
data
,
dict
}
=
res
;
let
{
code
,
data
,
dict
}
=
res
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
if
(
data
.
data
.
length
)
{
if
(
data
.
data
.
length
)
{
this
.
listArr
.
forEach
(
i
=>
{
this
.
listArr
.
forEach
(
(
i
)
=>
{
let
arr
=
[]
let
arr
=
[]
;
data
.
data
.
forEach
(
k
=>
{
data
.
data
.
forEach
(
(
k
)
=>
{
if
(
i
.
id
==
k
.
productId
)
{
if
(
i
.
id
==
k
.
productId
)
{
arr
.
push
(
k
)
arr
.
push
(
k
)
;
}
}
})
})
;
i
.
curInfo
=
arr
i
.
curInfo
=
arr
;
this
.
$nextTick
()
this
.
$nextTick
()
;
})
})
;
}
}
}
}
});
});
},
},
handleSearch
()
{
handleSearch
()
{
this
.
isSearch
=
!
this
.
isSearch
;
this
.
getServiceList
();
if
(
this
.
isSearch
)
{
// this.isSearch = !this.isSearch;
this
.
getServiceList
();
// if (this.isSearch) {
}
else
{
// this.getServiceList();
this
.
searchVal
=
""
;
// } else {
this
.
active
=
0
;
// this.searchVal = "";
this
.
getServiceList
();
// this.active = 0;
}
// this.getServiceList();
// }
},
},
// 切换设备
// 切换设备
handleChange
(
row
,
index
)
{
handleChange
(
row
,
index
)
{
...
@@ -123,7 +163,7 @@ export default {
...
@@ -123,7 +163,7 @@ export default {
this
.
searchVal
=
""
;
this
.
searchVal
=
""
;
},
},
handleDowload
(
url
,
systemServiceName
)
{
handleDowload
(
url
,
systemServiceName
)
{
console
.
log
(
systemServiceName
)
console
.
log
(
systemServiceName
)
;
const
a
=
document
.
createElement
(
"
a
"
);
const
a
=
document
.
createElement
(
"
a
"
);
a
.
href
=
url
;
a
.
href
=
url
;
a
.
download
=
systemServiceName
;
a
.
download
=
systemServiceName
;
...
@@ -131,16 +171,15 @@ export default {
...
@@ -131,16 +171,15 @@ export default {
},
},
//获取列表
//获取列表
getList
()
{
getList
()
{
getProduct
({
page
:
1
,
size
:
-
1
}).
then
(
res
=>
{
getProduct
({
page
:
1
,
size
:
-
1
}).
then
(
(
res
)
=>
{
res
.
data
.
data
.
forEach
(
i
=>
{
res
.
data
.
data
.
forEach
(
(
i
)
=>
{
i
.
curInfo
=
[]
i
.
curInfo
=
[]
;
})
})
;
this
.
listArr
=
[...
res
.
data
.
data
]
this
.
listArr
=
[...
res
.
data
.
data
]
;
console
.
log
(
this
.
listArr
)
console
.
log
(
this
.
listArr
)
;
this
.
getServiceList
();
this
.
getServiceList
();
})
});
}
},
},
},
};
};
</
script
>
</
script
>
...
@@ -148,7 +187,7 @@ export default {
...
@@ -148,7 +187,7 @@ export default {
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
@headerH: 4.5rem;
@headerH: 4.5rem;
.application .stepbox ._right .list
>
div {
.application .stepbox ._right .list
>
div {
width: 15%;
width: 15%;
text-align: center;
text-align: center;
overflow: hidden;
overflow: hidden;
...
@@ -196,7 +235,9 @@ export default {
...
@@ -196,7 +235,9 @@ export default {
display: flex;
display: flex;
align-items: center;
align-items: center;
}
}
/deep/.ant-input-affix-wrapper .ant-input-suffix {
right: 70px !important;
}
/deep/.ant-input {
/deep/.ant-input {
width: 30rem !important;
width: 30rem !important;
margin-right: 2rem;
margin-right: 2rem;
...
@@ -223,7 +264,7 @@ export default {
...
@@ -223,7 +264,7 @@ export default {
padding: 0;
padding: 0;
border: none;
border: none;
&
>
span {
&
>
span {
position: relative;
position: relative;
display: block;
display: block;
width: 100%;
width: 100%;
...
@@ -267,8 +308,8 @@ export default {
...
@@ -267,8 +308,8 @@ export default {
width: 100%;
width: 100%;
}
}
&
>
span:before,
&
>
span:before,
&
>
span:after {
&
>
span:after {
position: absolute;
position: absolute;
content: "";
content: "";
left: 0;
left: 0;
...
@@ -281,21 +322,21 @@ export default {
...
@@ -281,21 +322,21 @@ export default {
transition: all 0.3s ease;
transition: all 0.3s ease;
}
}
&
>
span:before {
&
>
span:before {
width: 2px;
width: 2px;
height: 0%;
height: 0%;
}
}
&
>
span:after {
&
>
span:after {
height: 2px;
height: 2px;
width: 0%;
width: 0%;
}
}
&
>
span:hover:before {
&
>
span:hover:before {
height: 100%;
height: 100%;
}
}
&
>
span:hover:after {
&
>
span:hover:after {
width: 100%;
width: 100%;
}
}
}
}
...
@@ -401,16 +442,22 @@ export default {
...
@@ -401,16 +442,22 @@ export default {
width: 100%;
width: 100%;
height: @headerH;
height: @headerH;
background: rgb(59, 135, 255);
background: rgb(59, 135, 255);
background: -moz-linear-gradient(174deg,
background: -moz-linear-gradient(
rgba(59, 135, 255, 1) 24%,
174deg,
rgba(108, 53, 247, 1) 85%);
rgba(59, 135, 255, 1) 24%,
background: -webkit-linear-gradient(174deg,
rgba(108, 53, 247, 1) 85%
rgba(59, 135, 255, 1) 24%,
);
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(
background: linear-gradient(174deg,
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
View file @
f6cb85a8
<
template
>
<
template
>
<a-modal
:title=
"VisibleTitle"
:centered=
"true"
:destroyOnClose=
"true"
:visible=
"Visible"
@
cancel=
"Visible = false"
<a-modal
width=
"30%"
>
:title=
"VisibleTitle"
<a-form-model
:label-col=
"
{
:centered=
"true"
span: 5,
:destroyOnClose=
"true"
}" :wrapper-col="{
:visible=
"Visible"
span: 19,
@
cancel=
"Visible = false"
}" layout="horizontal" ref="appInfoFome" :model="appInfoFome" :rules="appInfoRules">
width=
"30%"
>
<a-form-model
:label-col=
"
{
span: 5,
}"
:wrapper-col="{
span: 19,
}"
layout="horizontal"
ref="appInfoFome"
:model="appInfoFome"
:rules="appInfoRules"
>
<a-form-model-item
label=
"产品名称"
prop=
"productName"
>
<a-form-model-item
label=
"产品名称"
prop=
"productName"
>
<a-input
placeholder=
"请输入产品名称"
allowClear
v-model=
"appInfoFome.productName"
/>
<a-input
placeholder=
"请输入产品名称"
allowClear
v-model=
"appInfoFome.productName"
/>
</a-form-model-item>
</a-form-model-item>
</a-form-model>
</a-form-model>
<template
slot=
"footer"
>
<template
slot=
"footer"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button
>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
</
template
>
</
template
>
</a-modal>
</a-modal>
...
@@ -27,7 +46,7 @@ export default {
...
@@ -27,7 +46,7 @@ export default {
VisibleTitle
:
"
新增产品
"
,
VisibleTitle
:
"
新增产品
"
,
appInfoFome
:
{
appInfoFome
:
{
productName
:
undefined
,
productName
:
undefined
,
siteId
:
JSON
.
parse
(
localStorage
.
getItem
(
"
siteId
"
))
siteId
:
JSON
.
parse
(
localStorage
.
getItem
(
"
siteId
"
))
,
},
//页面表单信息
},
//页面表单信息
appInfoRules
:
{
appInfoRules
:
{
productName
:
[
productName
:
[
...
@@ -36,28 +55,28 @@ export default {
...
@@ -36,28 +55,28 @@ export default {
whitespace
:
true
,
//必选时,空格是否会被视为错误
whitespace
:
true
,
//必选时,空格是否会被视为错误
message
:
"
请输入产品名称
"
,
message
:
"
请输入产品名称
"
,
trigger
:
"
blur
"
,
trigger
:
"
blur
"
,
}
}
,
],
],
},
},
};
};
},
},
mounted
()
{
},
mounted
()
{},
methods
:
{
methods
:
{
Modal_Ok
()
{
Modal_Ok
()
{
this
.
$refs
.
appInfoFome
.
validate
((
valid
)
=>
{
this
.
$refs
.
appInfoFome
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
saveProduct
(
this
.
appInfoFome
).
then
(
res
=>
{
saveProduct
(
this
.
appInfoFome
).
then
(
(
res
)
=>
{
let
{
code
,
msg
}
=
res
let
{
code
,
msg
}
=
res
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
保存成功
'
);
this
.
$message
.
success
(
"
保存成功
"
);
this
.
resetForm
();
this
.
resetForm
();
this
.
Visible
=
false
this
.
Visible
=
false
;
this
.
$parent
.
getList
()
this
.
$parent
.
getList
()
;
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
);
}
}
})
})
;
}
else
{
}
else
{
this
.
$message
.
error
(
`请完善表单信息!`
);
this
.
$message
.
error
(
`请完善表单信息!`
);
return
false
;
return
false
;
...
@@ -66,7 +85,7 @@ export default {
...
@@ -66,7 +85,7 @@ export default {
},
},
resetForm
()
{
resetForm
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
appInfoFome
.
productName
=
''
this
.
appInfoFome
.
productName
=
""
;
});
});
},
},
},
},
...
@@ -82,4 +101,3 @@ export default {
...
@@ -82,4 +101,3 @@ export default {
}
}
}
}
</
style
>
</
style
>
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
View file @
f6cb85a8
...
@@ -61,6 +61,7 @@
...
@@ -61,6 +61,7 @@
</a-form-model-item>
</a-form-model-item>
</a-form-model>
</a-form-model>
<template
slot=
"footer"
>
<template
slot=
"footer"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"reset"
>
重置
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button
>
确定
</a-button
>
>
...
@@ -126,6 +127,23 @@ export default {
...
@@ -126,6 +127,23 @@ export default {
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
reset
()
{
this
.
$refs
.
appForm
.
resetFields
();
this
.
uploadInfo
=
{
removeFileList
:
[],
//移除文件列表
fileList
:
[],
//文件列表
multiple
:
false
,
//多文件
listType
:
"
text
"
,
//text, picture 和 picture-card
prePath
:
"
file/fileupload
"
,
//附件存放相对路径 否 不填时候默认为 file/fileupload
objAttach
:
{
// 其他参数 data
// test: "001",
},
verload
:
300
,
// 单位 M
limit
:
1
,
//限制文件上传数量
whiteFileList
:
[
"
apk
"
,
"
jpg
"
,
"
jpeg
"
,
"
png
"
,
"
gif
"
,
"
bmp
"
],
//只允许上传apk包
};
},
getInfo
(
id
)
{
getInfo
(
id
)
{
getAppsInfo
({
id
:
id
}).
then
((
res
)
=>
{
getAppsInfo
({
id
:
id
}).
then
((
res
)
=>
{
res
.
data
.
isEnable
=
res
.
data
.
isEnable
==
1
;
res
.
data
.
isEnable
=
res
.
data
.
isEnable
==
1
;
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
View file @
f6cb85a8
<
template
>
<
template
>
<a-modal
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:title=
"modalInfo.title"
<a-modal
@
cancel=
"modalInfo.visible = false"
centered
destroyOnClose
>
:width=
"modalInfo.width"
<a-form-model
:label-col=
"
{
:visible=
"modalInfo.visible"
span: 4,
:title=
"modalInfo.title"
}" :wrapper-col="{
@
cancel=
"modalInfo.visible = false"
span: 20,
centered
}" layout="horizontal" ref="appForm" :model="appForm" :rules="appRules">
destroyOnClose
>
<a-form-model
:label-col=
"
{
span: 4,
}"
:wrapper-col="{
span: 20,
}"
layout="horizontal"
ref="appForm"
:model="appForm"
:rules="appRules"
>
<a-form-model-item
label=
"材料名称"
prop=
"docName"
>
<a-form-model-item
label=
"材料名称"
prop=
"docName"
>
<a-input
v-model=
"appForm.docName"
placeholder=
"请输入"
allowClear
/>
<a-input
v-model=
"appForm.docName"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"版本号"
prop=
"versionNumber"
>
<a-form-model-item
label=
"版本号"
prop=
"versionNumber"
>
<a-input
v-model=
"appForm.versionNumber"
placeholder=
"请输入"
allowClear
/>
<a-input
v-model=
"appForm.versionNumber"
placeholder=
"请输入"
allowClear
/>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"版本信息"
prop=
"versionInfo"
>
<a-form-model-item
label=
"版本信息"
prop=
"versionInfo"
>
<a-textarea
v-model=
"appForm.versionInfo"
placeholder=
"请输入"
:rows=
"4"
/>
<a-textarea
v-model=
"appForm.versionInfo"
placeholder=
"请输入"
:rows=
"4"
/>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"材料文件"
prop=
"docFileUrl"
>
<a-form-model-item
label=
"材料文件"
prop=
"docFileUrl"
>
<MyUpload
v-model=
"appForm.docFileUrl"
:uploadInfo=
"uploadInfo"
>
<MyUpload
v-model=
"appForm.docFileUrl"
:uploadInfo=
"uploadInfo"
>
...
@@ -23,7 +44,10 @@
...
@@ -23,7 +44,10 @@
</a-form-model-item>
</a-form-model-item>
</a-form-model>
</a-form-model>
<template
slot=
"footer"
>
<template
slot=
"footer"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"reset"
>
重置
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button
>
<a-button
@
click=
"resetForm"
>
取消
</a-button>
<a-button
@
click=
"resetForm"
>
取消
</a-button>
</
template
>
</
template
>
</a-modal>
</a-modal>
...
@@ -46,7 +70,7 @@ export default {
...
@@ -46,7 +70,7 @@ export default {
docName
:
""
,
docName
:
""
,
versionNumber
:
""
,
versionNumber
:
""
,
versionInfo
:
""
,
versionInfo
:
""
,
docFileUrl
:
""
docFileUrl
:
""
,
},
},
uploadInfo
:
{
uploadInfo
:
{
removeFileList
:
[],
//移除文件列表
removeFileList
:
[],
//移除文件列表
...
@@ -61,41 +85,62 @@ export default {
...
@@ -61,41 +85,62 @@ export default {
whiteFileList
:
[
"
doc
"
,
"
docx
"
,
"
pdf
"
,
"
xlsx
"
,
"
xls
"
],
whiteFileList
:
[
"
doc
"
,
"
docx
"
,
"
pdf
"
,
"
xlsx
"
,
"
xls
"
],
},
},
appRules
:
{
appRules
:
{
docName
:
[{
required
:
true
,
message
:
"
请输入材料名称
"
,
trigger
:
[
'
blur
'
,
'
change
'
]
}],
docName
:
[
{
required
:
true
,
message
:
"
请输入材料名称
"
,
trigger
:
[
"
blur
"
,
"
change
"
],
},
],
},
},
};
};
},
},
mounted
()
{
},
mounted
()
{},
methods
:
{
methods
:
{
reset
()
{
this
.
$refs
.
appForm
.
resetFields
();
this
.
uploadInfo
=
{
removeFileList
:
[],
//移除文件列表
fileList
:
[],
//文件列表
defaultFileList
:
[],
multiple
:
false
,
//多文件
listType
:
"
text
"
,
//text, picture 和 picture-card
prePath
:
"
file/fileupload
"
,
//附件存放相对路径 否 不填时候默认为 file/fileupload
objAttach
:
{},
verload
:
300
,
// 单位 M
limit
:
1
,
//限制文件上传数量
whiteFileList
:
[
"
doc
"
,
"
docx
"
,
"
pdf
"
,
"
xlsx
"
,
"
xls
"
],
};
},
getInfo
(
id
)
{
getInfo
(
id
)
{
getDocumentInfo
({
id
:
id
}).
then
(
res
=>
{
getDocumentInfo
({
id
:
id
}).
then
(
(
res
)
=>
{
this
.
appForm
=
res
.
data
this
.
appForm
=
res
.
data
;
if
(
res
.
data
.
docFileUrl
)
{
if
(
res
.
data
.
docFileUrl
)
{
this
.
uploadInfo
.
fileList
=
[
this
.
uploadInfo
.
fileList
=
[
{
{
uid
:
id
,
uid
:
id
,
name
:
res
.
data
.
docFileUrl
,
name
:
res
.
data
.
docFileUrl
,
url
:
res
.
data
.
docFileUrl
,
url
:
res
.
data
.
docFileUrl
,
}
}
,
]
]
;
}
}
})
})
;
},
},
Modal_Ok
()
{
Modal_Ok
()
{
this
.
$refs
.
appForm
.
validate
((
valid
)
=>
{
this
.
$refs
.
appForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
saveDocument
(
this
.
appForm
).
then
(
res
=>
{
saveDocument
(
this
.
appForm
).
then
(
(
res
)
=>
{
let
{
code
,
msg
}
=
res
let
{
code
,
msg
}
=
res
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
保存成功
'
);
this
.
$message
.
success
(
"
保存成功
"
);
this
.
resetForm
();
this
.
resetForm
();
this
.
modalInfo
.
visible
=
false
this
.
modalInfo
.
visible
=
false
;
this
.
$parent
.
getList
()
this
.
$parent
.
getList
()
;
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
);
}
}
})
})
;
}
else
{
}
else
{
this
.
$message
.
error
(
`请完善表单信息!`
);
this
.
$message
.
error
(
`请完善表单信息!`
);
return
false
;
return
false
;
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
View file @
f6cb85a8
...
@@ -3,28 +3,47 @@
...
@@ -3,28 +3,47 @@
<div
class=
"search_box"
ref=
"search_box"
>
<div
class=
"search_box"
ref=
"search_box"
>
<h3>
产品管理
</h3>
<h3>
产品管理
</h3>
<h4>
<h4>
<a-input
placeholder=
"请输入产品名称关键字查询"
v-model=
"searchVal"
/>
<a-input
placeholder=
"请输入产品名称关键字查询"
allow-clear
v-model=
"searchVal"
/>
<button
class=
"search_btn btn"
@
click=
"getList"
>
<button
class=
"search_btn btn"
@
click=
"getList"
>
<span>
查询
</span>
<span>
查询
</span>
</button>
</button>
</h4>
</h4>
</div>
</div>
<div
class=
"main"
>
<div
class=
"main"
>
<a-button
type=
"primary"
class=
"addclass add_btn"
ghost
@
click=
"showModal()"
>
<a-button
type=
"primary"
class=
"addclass add_btn"
ghost
@
click=
"showModal()"
>
新增产品
新增产品
</a-button>
</a-button>
<ul
class=
"content"
>
<ul
class=
"content"
>
<li
class=
"list"
v-for=
"
item, index
of listData"
:key=
"index"
>
<li
class=
"list"
v-for=
"
(item, index)
of listData"
:key=
"index"
>
<a-popover
placement=
"leftBottom"
trigger=
"click"
>
<a-popover
placement=
"leftBottom"
trigger=
"click"
>
<template
slot=
"content"
>
<template
slot=
"content"
>
<div
class=
"popoverContent"
>
<div
class=
"popoverContent"
>
<p>
<p>
<a-button
type=
"link"
size=
"small"
style=
"color: #0595fd"
@
click=
"showModal(item)"
>
<a-button
type=
"link"
size=
"small"
style=
"color: #0595fd"
@
click=
"showModal(item)"
>
编辑
编辑
</a-button>
</a-button>
</p>
</p>
<p>
<p>
<a-popconfirm
title=
"确定要删除此产品吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"delModal(item)"
>
<a-popconfirm
title=
"确定要删除此产品吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"delModal(item)"
>
<a-button
type=
"link"
size=
"small"
style=
"color: #ff4d4f"
>
<a-button
type=
"link"
size=
"small"
style=
"color: #ff4d4f"
>
删除
删除
</a-button>
</a-button>
...
@@ -58,44 +77,44 @@ export default {
...
@@ -58,44 +77,44 @@ export default {
name
:
"
PortalAdminVueProductManage
"
,
name
:
"
PortalAdminVueProductManage
"
,
data
()
{
data
()
{
return
{
return
{
searchVal
:
''
,
searchVal
:
""
,
listData
:
[]
listData
:
[]
,
};
};
},
},
components
:
{
components
:
{
AddEditAppName
,
AddEditAppName
,
},
},
mounted
()
{
mounted
()
{
this
.
getList
()
this
.
getList
()
;
},
},
methods
:
{
methods
:
{
delModal
(
item
)
{
delModal
(
item
)
{
deleteProduct
({
deleteProduct
({
id
:
item
.
id
id
:
item
.
id
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
let
{
code
,
msg
}
=
res
let
{
code
,
msg
}
=
res
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
$message
.
success
(
'
删除成功
'
);
this
.
$message
.
success
(
"
删除成功
"
);
this
.
getList
()
this
.
getList
()
;
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
);
}
}
})
})
;
},
},
getList
()
{
getList
()
{
getProduct
({
getProduct
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
productName
:
this
.
searchVal
productName
:
this
.
searchVal
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
this
.
listData
=
res
.
data
.
data
this
.
listData
=
res
.
data
.
data
;
})
})
;
},
},
showModal
(
item
)
{
showModal
(
item
)
{
if
(
item
)
{
if
(
item
)
{
this
.
$refs
.
AddEditAppName
.
VisibleTitle
=
"
编辑
"
;
this
.
$refs
.
AddEditAppName
.
VisibleTitle
=
"
编辑
"
;
this
.
$refs
.
AddEditAppName
.
appInfoFome
.
id
=
item
.
id
this
.
$refs
.
AddEditAppName
.
appInfoFome
.
id
=
item
.
id
;
this
.
$refs
.
AddEditAppName
.
appInfoFome
.
productName
=
item
.
productName
this
.
$refs
.
AddEditAppName
.
appInfoFome
.
productName
=
item
.
productName
;
}
else
{
}
else
{
this
.
$refs
.
AddEditAppName
.
VisibleTitle
=
"
新增产品
"
;
this
.
$refs
.
AddEditAppName
.
VisibleTitle
=
"
新增产品
"
;
}
}
...
@@ -127,7 +146,7 @@ export default {
...
@@ -127,7 +146,7 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.not-data{
.not-data
{
line-height: 100px;
line-height: 100px;
text-align: center;
text-align: center;
width: 100%;
width: 100%;
...
@@ -160,7 +179,9 @@ export default {
...
@@ -160,7 +179,9 @@ export default {
display: flex;
display: flex;
align-items: center;
align-items: center;
}
}
/deep/.ant-input-affix-wrapper .ant-input-suffix {
right: 70px !important;
}
/deep/.ant-input {
/deep/.ant-input {
width: 30rem !important;
width: 30rem !important;
margin-right: 2rem;
margin-right: 2rem;
...
@@ -187,7 +208,7 @@ export default {
...
@@ -187,7 +208,7 @@ export default {
padding: 0;
padding: 0;
border: none;
border: none;
&
>
span {
&
>
span {
position: relative;
position: relative;
display: block;
display: block;
width: 100%;
width: 100%;
...
@@ -231,8 +252,8 @@ export default {
...
@@ -231,8 +252,8 @@ export default {
width: 100%;
width: 100%;
}
}
&
>
span:before,
&
>
span:before,
&
>
span:after {
&
>
span:after {
position: absolute;
position: absolute;
content: "";
content: "";
left: 0;
left: 0;
...
@@ -245,21 +266,21 @@ export default {
...
@@ -245,21 +266,21 @@ export default {
transition: all 0.3s ease;
transition: all 0.3s ease;
}
}
&
>
span:before {
&
>
span:before {
width: 2px;
width: 2px;
height: 0%;
height: 0%;
}
}
&
>
span:after {
&
>
span:after {
height: 2px;
height: 2px;
width: 0%;
width: 0%;
}
}
&
>
span:hover:before {
&
>
span:hover:before {
height: 100%;
height: 100%;
}
}
&
>
span:hover:after {
&
>
span:hover:after {
width: 100%;
width: 100%;
}
}
}
}
...
@@ -274,17 +295,17 @@ export default {
...
@@ -274,17 +295,17 @@ export default {
border: 1px solid #d7dae2;
border: 1px solid #d7dae2;
overflow: hidden;
overflow: hidden;
&
>
.add_btn {
&
>
.add_btn {
margin: 15px;
margin: 15px;
}
}
&
>
.content {
&
>
.content {
display: flex;
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
border-top: 1px solid #d7dae2;
border-top: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&
>
.list {
&
>
.list {
width: 25%;
width: 25%;
padding: 15px;
padding: 15px;
display: flex;
display: flex;
...
@@ -293,7 +314,7 @@ export default {
...
@@ -293,7 +314,7 @@ export default {
border-right: 1px solid #d7dae2;
border-right: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&
>
.app-operation {
&
>
.app-operation {
margin: 8px 0;
margin: 8px 0;
height: 25px;
height: 25px;
width: 25px;
width: 25px;
...
@@ -304,7 +325,7 @@ export default {
...
@@ -304,7 +325,7 @@ export default {
cursor: pointer;
cursor: pointer;
}
}
&
>
.app-img {
&
>
.app-img {
width: 108px;
width: 108px;
height: 108px;
height: 108px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
...
@@ -312,14 +333,14 @@ export default {
...
@@ -312,14 +333,14 @@ export default {
border-radius: 6px;
border-radius: 6px;
}
}
&
>
.app-name {
&
>
.app-name {
font-weight: bold;
font-weight: bold;
font-size: 18px;
font-size: 18px;
text-align: center;
text-align: center;
margin: 8px 0;
margin: 8px 0;
}
}
&
>
.app-option {
&
>
.app-option {
margin: 8px 0;
margin: 8px 0;
color: #0595fd;
color: #0595fd;
display: flex;
display: flex;
...
@@ -327,7 +348,7 @@ export default {
...
@@ -327,7 +348,7 @@ export default {
align-items: center;
align-items: center;
font-size: 14px;
font-size: 14px;
&
>
li {
&
>
li {
cursor: pointer;
cursor: pointer;
}
}
}
}
...
@@ -341,15 +362,21 @@ export default {
...
@@ -341,15 +362,21 @@ export default {
width: 100%;
width: 100%;
height: @headerH;
height: @headerH;
background: rgb(59, 135, 255);
background: rgb(59, 135, 255);
background: -moz-linear-gradient(174deg,
background: -moz-linear-gradient(
rgba(59, 135, 255, 1) 24%,
174deg,
rgba(108, 53, 247, 1) 85%);
rgba(59, 135, 255, 1) 24%,
background: -webkit-linear-gradient(174deg,
rgba(108, 53, 247, 1) 85%
rgba(59, 135, 255, 1) 24%,
);
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(
background: linear-gradient(174deg,
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
}
}
...
...
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