Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-manage-ui
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-operation
so-manage-ui
Commits
609aa0c2
Commit
609aa0c2
authored
Dec 09, 2022
by
赵伟庚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 需求优化内容,能力推荐交互优化
parent
5b5c2472
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
351 additions
and
139 deletions
+351
-139
src/bg-ui/bg-permission-option.vue
src/bg-ui/bg-permission-option.vue
+2
-1
src/bg-ui/bg-permission.vue
src/bg-ui/bg-permission.vue
+3
-0
src/bg-ui/index.scss
src/bg-ui/index.scss
+1
-1
src/components/ability-card.vue
src/components/ability-card.vue
+8
-5
src/components/ability-list.vue
src/components/ability-list.vue
+8
-5
src/page/main/config/dict/index.vue
src/page/main/config/dict/index.vue
+1
-1
src/page/main/develop/account/detail/index.vue
src/page/main/develop/account/detail/index.vue
+1
-1
src/page/main/develop/menu/menu-form.vue
src/page/main/develop/menu/menu-form.vue
+5
-1
src/page/main/home-config/recommend/edit/index.vue
src/page/main/home-config/recommend/edit/index.vue
+312
-115
src/page/main/home-config/recommend/edit/type-form.vue
src/page/main/home-config/recommend/edit/type-form.vue
+8
-8
src/page/main/system/role/add/role_form.vue
src/page/main/system/role/add/role_form.vue
+2
-1
No files found.
src/bg-ui/bg-permission-option.vue
View file @
609aa0c2
...
@@ -11,8 +11,9 @@
...
@@ -11,8 +11,9 @@
:indeterminate=
"option.isIndeterminate"
:indeterminate=
"option.isIndeterminate"
@
change=
"changeSelf"
@
change=
"changeSelf"
>
>
<span
:title=
"option.name"
>
<span
:title=
"option.name
+ (option.remark ? `($
{option.remark})` : '')
">
{{
option
.
name
}}
{{
option
.
name
}}
{{
option
.
remark
?
`(${option.remark
}
)`
:
""
}}
<
/span
>
<
/span
>
<
/el-checkbox
>
<
/el-checkbox
>
<
/div
>
<
/div
>
...
...
src/bg-ui/bg-permission.vue
View file @
609aa0c2
...
@@ -98,6 +98,7 @@ export default {
...
@@ -98,6 +98,7 @@ export default {
name
:
nameProp
,
name
:
nameProp
,
value
:
valueProp
,
value
:
valueProp
,
children
:
childrenProp
,
children
:
childrenProp
,
remark
:
remarkProp
,
}
=
this
.
props
;
}
=
this
.
props
;
let
permissionData
=
[];
let
permissionData
=
[];
let
traverseOptions
=
(
item
)
=>
{
let
traverseOptions
=
(
item
)
=>
{
...
@@ -107,9 +108,11 @@ export default {
...
@@ -107,9 +108,11 @@ export default {
let
children
=
item
[
childrenProp
];
let
children
=
item
[
childrenProp
];
let
isSelected
=
this
.
values
.
indexOf
(
value
)
>
-
1
;
let
isSelected
=
this
.
values
.
indexOf
(
value
)
>
-
1
;
let
isIndeterminate
=
false
;
let
isIndeterminate
=
false
;
let
remark
=
item
[
remarkProp
];
result
.
name
=
name
;
result
.
name
=
name
;
result
.
value
=
value
;
result
.
value
=
value
;
result
.
remark
=
remark
;
if
(
children
&&
children
.
length
>
0
)
{
if
(
children
&&
children
.
length
>
0
)
{
...
...
src/bg-ui/index.scss
View file @
609aa0c2
...
@@ -2565,7 +2565,7 @@ a {
...
@@ -2565,7 +2565,7 @@ a {
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
word-break
:
break-all
;
word-break
:
break-all
;
white-space
:
nowrap
;
white-space
:
nowrap
;
width
:
8
em
;
width
:
10
em
;
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
middle
;
vertical-align
:
middle
;
line-height
:
16px
;
line-height
:
16px
;
...
...
src/components/ability-card.vue
View file @
609aa0c2
<
template
>
<
template
>
<div
class=
"item_card"
>
<div
class=
"item_card"
:style=
"
{'height':props.flag ? '242px' : '206px'}"
>
<div
class=
"action_box"
v-if=
"props.flag"
>
<div
class=
"action_box"
v-if=
"props.flag"
>
<div
class=
"can_click_text"
@
click=
"deleteItem(props.item)"
>
删除
</div>
<div
class=
"can_click_text"
@
click=
"deleteItem(props.item)"
>
删除
</div>
<div
class=
"can_click_text"
@
click=
"move(1)"
:class=
"props.item.canDown ? '' : 'disabled'"
>
下移
</div>
<div
class=
"can_click_text"
@
click=
"move(1)"
:class=
"props.item.canDown ? '' : 'disabled'"
>
下移
</div>
<div
class=
"can_click_text"
@
click=
"move(2)"
:class=
"props.item.canUp ? '' : 'disabled'"
>
上移
</div>
<div
class=
"can_click_text"
@
click=
"move(2)"
:class=
"props.item.canUp ? '' : 'disabled'"
>
上移
</div>
</div>
</div>
<div
class=
"top_info"
>
<div
class=
"top_info"
:style=
"
{'padding-left': !props.flag ? '8px' : '24px'}"
>
<el-checkbox
<el-checkbox
v-if=
"!props.flag"
class=
"select_box"
class=
"select_box"
v-model=
"props.item.checked"
v-model=
"props.item.checked"
@
change=
"change_check"
@
change=
"change_check"
...
@@ -54,7 +55,7 @@
...
@@ -54,7 +55,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_info"
>
<div
class=
"bottom_info"
:style=
"
{'height':props.flag ? 'calc(100% - 128px)' : 'calc(100% - 92px)'}"
>
<div
class=
"desc"
:title=
"props.item.synopsis"
>
<div
class=
"desc"
:title=
"props.item.synopsis"
>
{{
props
.
item
.
synopsis
}}
{{
props
.
item
.
synopsis
}}
</div>
</div>
...
@@ -112,8 +113,8 @@ const move = (type) => {
...
@@ -112,8 +113,8 @@ const move = (type) => {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.item_card
{
.item_card
{
width
:
100%
;
width
:
384px
;
margin-right
:
16px
;
//
margin-right: 16px;
margin-bottom
:
16px
;
margin-bottom
:
16px
;
height
:
206px
;
height
:
206px
;
background-color
:
#ffffff
;
background-color
:
#ffffff
;
...
@@ -129,6 +130,8 @@ const move = (type) => {
...
@@ -129,6 +130,8 @@ const move = (type) => {
display
:
flex
;
display
:
flex
;
line-height
:
36px
;
line-height
:
36px
;
flex-direction
:
row-reverse
;
flex-direction
:
row-reverse
;
border-radius
:
6px
6px
0
0
;
font-size
:
14px
;
.can_click_text
{
.can_click_text
{
margin-right
:
16px
;
margin-right
:
16px
;
}
}
...
...
src/components/ability-list.vue
View file @
609aa0c2
<
template
>
<
template
>
<div
class=
"card_list"
>
<div
class=
"card_list"
>
<div
v-for=
"(e,i) in props.list"
:key=
"'card' + i"
class=
"item"
style=
"width: calc((100% - 32px) / 3)"
>
<div
v-for=
"(e,i) in props.list"
:key=
"'card' + i"
class=
"item"
>
<ability-card
v-if=
"e.id"
:item=
"e"
@
change_check=
"changeCheck"
:flag=
"props.flag"
@
deleteItem=
"deleteItem"
@
move=
"move"
/>
<ability-card
v-if=
"e.id"
:item=
"e"
@
change_check=
"changeCheck"
:flag=
"props.flag"
@
deleteItem=
"deleteItem"
@
move=
"move"
/>
<div
v-else
class=
"empty_card"
@
click=
"open"
>
<div
v-else
class=
"empty_card"
@
click=
"open"
>
<span>
+
</span>
<span>
+
</span>
...
@@ -39,12 +39,15 @@ const move = (temp) => {
...
@@ -39,12 +39,15 @@ const move = (temp) => {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.card_list
{
.card_list
{
width
:
100%
;
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
// transform: translateX(-16px);
// .item {
// justify-content: space-between;
// width: calc(100% - 32px);
.item
{
// }
// width: calc((100% - 32px) / 3);
margin-left
:
16px
;
}
.empty_card
{
.empty_card
{
cursor
:
pointer
;
cursor
:
pointer
;
width
:
384px
;
width
:
384px
;
...
...
src/page/main/config/dict/index.vue
View file @
609aa0c2
...
@@ -102,7 +102,7 @@
...
@@ -102,7 +102,7 @@
>
>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-input
<el-input
v-model=
"formData.name"
v-model
.trim
=
"formData.name"
show-word-limit
show-word-limit
:maxlength=
"
:maxlength=
"
nodeClassifyId == 'eb9c7d70-c123-42b7-8e61-dde1b022b669'
nodeClassifyId == 'eb9c7d70-c123-42b7-8e61-dde1b022b669'
...
...
src/page/main/develop/account/detail/index.vue
View file @
609aa0c2
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
</div>
</div>
<div>
<div>
<div
class=
"title"
>
<div
class=
"title"
>
<div><span
class=
"icon_box"
></span>
基础
信息
</div>
<div><span
class=
"icon_box"
></span>
联系人
信息
</div>
<div
class=
"dashed_line"
>
<div
class=
"dashed_line"
>
</div>
</div>
</div>
</div>
...
...
src/page/main/develop/menu/menu-form.vue
View file @
609aa0c2
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
class=
"menu_form"
class=
"menu_form"
>
>
<el-form-item
label=
"菜单名称"
prop=
"menu_name"
>
<el-form-item
label=
"菜单名称"
prop=
"menu_name"
>
<el-input
v-model=
"menuForm.menu_name"
show-word-limit
maxlength=
"8"
placeholder=
"请输入菜单名称"
/>
<el-input
v-model
.trim
=
"menuForm.menu_name"
show-word-limit
maxlength=
"8"
placeholder=
"请输入菜单名称"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"menu_type"
v-if=
"!topLevel"
>
<el-form-item
label=
"类型"
prop=
"menu_type"
v-if=
"!topLevel"
>
<el-radio-group
v-model=
"menuForm.menu_type"
:disabled=
"radioDisabled"
>
<el-radio-group
v-model=
"menuForm.menu_type"
:disabled=
"radioDisabled"
>
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
inline-prompt
inline-prompt
active-text=
"是"
active-text=
"是"
inactive-text=
"否"
inactive-text=
"否"
:disabled=
"disabledSwitch"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"菜单路径"
:prop=
"topLevel ? '' : 'menu_url'"
>
<el-form-item
label=
"菜单路径"
:prop=
"topLevel ? '' : 'menu_url'"
>
...
@@ -174,6 +175,7 @@ const state = reactive({
...
@@ -174,6 +175,7 @@ const state = reactive({
topLevel
:
false
,
topLevel
:
false
,
typeDisFlag
:
null
,
typeDisFlag
:
null
,
groupFlag
:
true
,
groupFlag
:
true
,
disabledSwitch
:
false
,
// 内置菜单built_in为1-不可禁用 0或不存在-可禁用
})
})
const
getGroupList
=
()
=>
{
const
getGroupList
=
()
=>
{
...
@@ -244,6 +246,7 @@ const setForm = (data) => {
...
@@ -244,6 +246,7 @@ const setForm = (data) => {
}
else
{
}
else
{
state
.
radioDisabled
=
false
state
.
radioDisabled
=
false
}
}
state
.
disabledSwitch
=
data
.
built_in
&&
data
.
built_in
==
1
?
true
:
false
state
.
menuForm
=
Object
.
assign
(
state
.
menuForm
,
data
);
state
.
menuForm
=
Object
.
assign
(
state
.
menuForm
,
data
);
}
// 表单赋值
}
// 表单赋值
...
@@ -281,6 +284,7 @@ const {
...
@@ -281,6 +284,7 @@ const {
typeDisFlag
,
typeDisFlag
,
groupFlag
,
groupFlag
,
systemGroupList
,
systemGroupList
,
disabledSwitch
,
}
=
toRefs
(
state
)
}
=
toRefs
(
state
)
defineExpose
({
setForm
,
menuForm
,
menuRef
})
defineExpose
({
setForm
,
menuForm
,
menuRef
})
...
...
src/page/main/home-config/recommend/edit/index.vue
View file @
609aa0c2
This diff is collapsed.
Click to expand it.
src/page/main/home-config/recommend/edit/type-form.vue
View file @
609aa0c2
...
@@ -6,8 +6,8 @@
...
@@ -6,8 +6,8 @@
style=
"max-width: 1048px"
style=
"max-width: 1048px"
class=
"form"
class=
"form"
>
>
<el-form-item
label=
"能力类型"
prop=
"
type
"
>
<el-form-item
label=
"能力类型"
prop=
"
business_type_id
"
>
<el-select
v-model=
"formData.
type
"
placeholder=
"请选择能力类型"
style=
"width: 100%"
@
change=
"changeType"
>
<el-select
v-model=
"formData.
business_type_id
"
placeholder=
"请选择能力类型"
style=
"width: 100%"
@
change=
"changeType"
>
<el-option
<el-option
v-for=
"item in TypeList"
v-for=
"item in TypeList"
:key=
"item.dict_id"
:key=
"item.dict_id"
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上传图标"
prop=
"
icon
"
>
<el-form-item
label=
"上传图标"
prop=
"
logo
"
>
<bg-upload-image
v-model=
"formData.
icon
"
:fileSize=
"500"
:fileSizeUnit=
"'KB'"
:showTips=
"true"
customTips=
"请选择图片上传:大小36 * 36像素支持jpg、png等格式,图片需小于500KB"
:limit=
"1"
listType=
"picture-card"
:accept=
"['.jpg','.jpeg','.png']"
></bg-upload-image>
<bg-upload-image
v-model=
"formData.
logo
"
:fileSize=
"500"
:fileSizeUnit=
"'KB'"
:showTips=
"true"
customTips=
"请选择图片上传:大小36 * 36像素支持jpg、png等格式,图片需小于500KB"
:limit=
"1"
listType=
"picture-card"
:accept=
"['.jpg','.jpeg','.png']"
></bg-upload-image>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</
template
>
</
template
>
...
@@ -32,14 +32,14 @@ const route = useRoute()
...
@@ -32,14 +32,14 @@ const route = useRoute()
const
form
=
ref
(
null
)
const
form
=
ref
(
null
)
const
state
=
reactive
({
const
state
=
reactive
({
formData
:
{
formData
:
{
type
:
""
,
business_type_id
:
""
,
icon
:
[],
logo
:
[],
},
},
formRules
:
{
formRules
:
{
type
:
[
business_type_id
:
[
{
required
:
true
,
message
:
'
请选择业务类型
'
,
trigger
:
'
change
'
},
{
required
:
true
,
message
:
'
请选择业务类型
'
,
trigger
:
'
change
'
},
],
],
icon
:
[
logo
:
[
{
required
:
true
,
message
:
'
请上传图标
'
,
trigger
:
'
change
'
},
{
required
:
true
,
message
:
'
请上传图标
'
,
trigger
:
'
change
'
},
],
],
},
},
...
...
src/page/main/system/role/add/role_form.vue
View file @
609aa0c2
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
class=
"role_form"
class=
"role_form"
>
>
<el-form-item
prop=
"role_name"
label=
"角色名称"
>
<el-form-item
prop=
"role_name"
label=
"角色名称"
>
<el-input
v-model=
"formData.role_name"
maxlength=
"50"
show-word-limit
:disabled=
"rowType != 0"
/>
<el-input
v-model
.trim
=
"formData.role_name"
maxlength=
"50"
show-word-limit
:disabled=
"rowType != 0"
/>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"role_desc"
label=
"描述"
>
<el-form-item
prop=
"role_desc"
label=
"描述"
>
<el-input
<el-input
...
@@ -117,6 +117,7 @@ const roleState = reactive({
...
@@ -117,6 +117,7 @@ const roleState = reactive({
name
:
'
menu_name
'
,
name
:
'
menu_name
'
,
value
:
'
id
'
,
value
:
'
id
'
,
children
:
'
Child
'
,
children
:
'
Child
'
,
remark
:
'
remark
'
,
},
// 菜单框默认配置
},
// 菜单框默认配置
permissionData
:
[],
// 菜单数据
permissionData
:
[],
// 菜单数据
rowType
:
0
,
rowType
:
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