Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
495bda5f
Commit
495bda5f
authored
Dec 12, 2023
by
tianhongyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2023/12/12 咨询机构管理 70%
parent
a6231c14
Changes
21
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1407 additions
and
66 deletions
+1407
-66
package.json
dsk-operate-ui/package.json
+1
-17
consulting-org-management-sidebar.svg
...rc/assets/icons/svg/consulting-org-management-sidebar.svg
+1
-0
consulting-org-management-sidebars.svg
...c/assets/icons/svg/consulting-org-management-sidebars.svg
+1
-0
supplier-management-siderbars.svg
...ui/src/assets/icons/svg/supplier-management-siderbars.svg
+1
-0
table-header-setting-icon.svg
...ate-ui/src/assets/icons/svg/table-header-setting-icon.svg
+1
-0
common.css
dsk-operate-ui/src/assets/styles/common.css
+16
-0
el-search-form-public.scss
dsk-operate-ui/src/assets/styles/el-search-form-public.scss
+78
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+162
-10
search-result-list-public.scss
...erate-ui/src/assets/styles/search-result-list-public.scss
+32
-0
supplierlist.scss
dsk-operate-ui/src/assets/styles/supplierlist.scss
+1
-0
index.vue
dsk-operate-ui/src/components/DskAmountRange/index.vue
+96
-0
index.vue
dsk-operate-ui/src/components/DskTabToggle/index.vue
+132
-0
index.vue
...nts/DskTableHeaderSetting/components/SettingBar/index.vue
+88
-0
index.vue
...operate-ui/src/components/DskTableHeaderSetting/index.vue
+70
-0
index.vue
dsk-operate-ui/src/components/Skeleton/index.vue
+29
-0
index.vue
dsk-operate-ui/src/components/TableListCom/index.vue
+24
-31
SidebarItem.vue
dsk-operate-ui/src/layout/components/Sidebar/SidebarItem.vue
+1
-1
index.vue
...nsultingOrgManagement/components/EnterpriseList/index.vue
+30
-0
index.vue
.../consultingOrgManagement/components/ProjectList/index.vue
+568
-0
index.vue
dsk-operate-ui/src/views/consultingOrgManagement/index.vue
+68
-0
index.vue
.../views/enterpriseData/components/searchTheOwner/index.vue
+7
-7
No files found.
dsk-operate-ui/package.json
View file @
495bda5f
...
...
@@ -9,19 +9,7 @@
"build:prod"
:
"vue-cli-service build"
,
"build:test"
:
"vue-cli-service build --mode test"
,
"build:stage"
:
"vue-cli-service build --mode staging"
,
"preview"
:
"node build/index.js --preview"
,
"lint"
:
"eslint --ext .js,.vue src"
},
"husky"
:
{
"hooks"
:
{
"pre-commit"
:
"lint-staged"
}
},
"lint-staged"
:
{
"src/**/*.{js,vue}"
:
[
"eslint --fix"
,
"git add"
]
"preview"
:
"node build/index.js --preview"
},
"keywords"
:
[
"vue"
,
...
...
@@ -75,15 +63,11 @@
"@vue/babel-helper-vue-jsx-merge-props"
:
"^1.4.0"
,
"@vue/babel-preset-jsx"
:
"^1.4.0"
,
"@vue/cli-plugin-babel"
:
"4.4.6"
,
"@vue/cli-plugin-eslint"
:
"4.4.6"
,
"@vue/cli-service"
:
"4.4.6"
,
"babel-eslint"
:
"10.1.0"
,
"babel-plugin-dynamic-import-node"
:
"2.3.3"
,
"chalk"
:
"4.1.0"
,
"compression-webpack-plugin"
:
"5.0.2"
,
"connect"
:
"3.6.6"
,
"eslint"
:
"7.15.0"
,
"eslint-plugin-vue"
:
"7.2.0"
,
"js-base64"
:
"^3.7.5"
,
"lint-staged"
:
"10.5.3"
,
"runjs"
:
"4.4.2"
,
...
...
dsk-operate-ui/src/assets/icons/svg/consulting-org-management-sidebar.svg
0 → 100644
View file @
495bda5f
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/assets/icons/svg/consulting-org-management-sidebars.svg
0 → 100644
View file @
495bda5f
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/assets/icons/svg/supplier-management-siderbars.svg
0 → 100644
View file @
495bda5f
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/assets/icons/svg/table-header-setting-icon.svg
0 → 100644
View file @
495bda5f
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
version=
"1.1"
width=
"16"
height=
"16"
viewBox=
"0 0 16 16"
><defs><clipPath
id=
"master_svg0_14_81552"
><rect
x=
"0"
y=
"0"
width=
"16"
height=
"16"
rx=
"0"
/></clipPath></defs><g
clip-path=
"url(#master_svg0_14_81552)"
><g><rect
x=
"0"
y=
"0"
width=
"16"
height=
"16"
rx=
"0"
fill-opacity=
"0.009999999776482582"
/></g><g><path
d=
"M4.2354478125,13.9198078125Q4.2685578125,13.9761078125,4.3150178125,14.0220078125Q4.3614778125,14.0679078125,4.4181678125,14.1004078125Q4.4748578125,14.1328078125,4.537977812499999,14.1496078125Q4.6010978125,14.1663078125,4.6664078125,14.1663078125L11.3331078125,14.1663078125Q11.3984078125,14.1663078125,11.4615078125,14.1496078125Q11.5246078125,14.1328078125,11.5813078125,14.1004078125Q11.6380078125,14.0679078125,11.6845078125,14.0220078125Q11.7310078125,13.9761078125,11.7641078125,13.9198078125L15.0973078125,8.253177812499999Q15.1312078125,8.1955478125,15.1488078125,8.1310378125Q15.1663078125,8.0665378125,15.1663078125,7.9996778125Q15.1663078125,7.9328178125,15.1488078125,7.8683078125Q15.1312078125,7.8037978125,15.0973078125,7.7461678125L11.7641078125,2.0795038125Q11.7310078125,2.0232098125,11.6845078125,1.9773098125Q11.6380078125,1.9314098125,11.5813078125,1.8989848125Q11.5246078125,1.8665588125,11.4615078125,1.8497838125000001Q11.3984078125,1.8330078125,11.3331078125,1.8330078125L4.6664078125,1.8330078125Q4.6010978125,1.8330078125,4.537977812499999,1.8497828125Q4.4748578125,1.8665578125,4.4181678125,1.8989818125Q4.3614778125,1.9314058125,4.3150178125,1.9773038125Q4.2685578125,2.0232018125,4.2354478125,2.0794938125L0.9020428125,7.7461578125Q0.8681428125,7.8037878125,0.8505748125,7.8682978125Q0.8330078125,7.9328178125,0.8330078125,7.9996778125Q0.8330078125,8.0665378125,0.8505748125,8.1310478125Q0.8681428125,8.195557812499999,0.9020428125,8.2531878125L4.2354478125,13.9198078125ZM4.9523778125,13.1663078125L1.9131018124999999,7.9996778125L4.9523778125,2.8330078125L11.0471278125,2.8330078125L14.0862078125,7.9996778125L11.0471278125,13.1663078125L4.9523778125,13.1663078125Z"
fill-rule=
"evenodd"
fill-opacity=
"0.800000011920929"
/></g><g><path
d=
"M6.4676128125,6.4676128125Q5.8330078125,7.1022178125,5.8330078125,7.9996778125Q5.8330078125,8.897127812499999,6.4676128125,9.5317378125Q7.1022178125,10.1663378125,7.9996778125,10.1663378125Q8.897127812499999,10.1663378125,9.5317378125,9.5317378125Q10.1663378125,8.897127812499999,10.1663378125,7.9996778125Q10.1663378125,7.1022178125,9.5317378125,6.4676128125Q8.897127812499999,5.8330078125,7.9996778125,5.8330078125Q7.1022178125,5.8330078125,6.4676128125,6.4676128125ZM7.1747198125,8.824627812500001Q6.8330078125,8.4829178125,6.8330078125,7.9996778125Q6.8330078125,7.5164278125,7.1747198125,7.1747198125Q7.5164278125,6.8330078125,7.9996778125,6.8330078125Q8.4829178125,6.8330078125,8.824627812500001,7.1747198125Q9.1663378125,7.5164278125,9.1663378125,7.9996778125Q9.1663378125,8.4829178125,8.824627812500001,8.824627812500001Q8.4829178125,9.1663378125,7.9996778125,9.1663378125Q7.5164278125,9.1663378125,7.1747198125,8.824627812500001Z"
fill-rule=
"evenodd"
fill-opacity=
"0.800000011920929"
/></g></g></svg>
\ No newline at end of file
dsk-operate-ui/src/assets/styles/common.css
View file @
495bda5f
...
...
@@ -39,3 +39,19 @@
.el-message
{
z-index
:
3000
!important
;
}
/* 规范容器样式 */
.default-layout-container
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
overflow
:
auto
;
}
.default-layout-container-inner
{
width
:
100%
;
height
:
100%
;
padding
:
16px
24px
;
box-sizing
:
border-box
;
}
dsk-operate-ui/src/assets/styles/el-search-form-public.scss
0 → 100644
View file @
495bda5f
::v-deep
.el-search-form-public
{
.each-line
{
white-space
:
nowrap
;
}
// 重置element 表单样式
.el-form-item
{
display
:
inline-flex
;
align-items
:
center
;
margin-bottom
:
16px
;
margin-right
:
24px
;
.el-form-item__label
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
text-align
:
left
;
font-size
:
14px
;
line-height
:
32px
;
padding-right
:
0px
;
margin-right
:
12px
;
}
.el-form-item__content
{
margin-left
:
0px
!
important
;
line-height
:
32px
;
}
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
width
:
268px
;
border-radius
:
2px
;
border
:
1px
solid
#dcdfe6
;
padding
:
0px
12px
;
padding-right
:
30px
;
box-sizing
:
border-box
;
&
:focus
{
border-color
:
#0081ff
;
}
&
:
:
placeholder
{
color
:
#c0c4cc
!
important
;
}
}
.el-date-editor
{
width
:
268px
;
height
:
32px
;
line-height
:
32px
;
border-radius
:
2px
;
border
:
1px
solid
#dcdfe6
;
padding
:
3px
0px
;
box-sizing
:
border-box
;
&
.is-active
{
border-color
:
#0081ff
;
}
.el-input__icon.el-range__icon.el-icon-date
{
display
:
none
;
}
.el-range__close-icon
{
line-height
:
32px
;
}
.el-range-separator
{
padding
:
0px
;
line-height
:
24px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.el-range-input
{
padding
:
0px
12px
;
box-sizing
:
border-box
;
text-align
:
left
;
}
}
}
}
dsk-operate-ui/src/assets/styles/index.scss
View file @
495bda5f
...
...
@@ -311,7 +311,10 @@ li {
.table-item
{
width
:
100%
;
height
:
100%
;
.el-table
{
width
:
100%
;
height
:
100%
;
font-size
:
14px
;
color
:
#232323
;
th
{
...
...
@@ -322,8 +325,8 @@ li {
font-size
:
14px
;
}
.cell
{
padding-right
:
12px
!
important
;
padding-left
:
12px
!
important
;
padding-right
:
12px
;
padding-left
:
12px
;
line-height
:
18px
;
}
thead
{
...
...
@@ -344,7 +347,6 @@ li {
.el-table__header-wrapper
{
th
{
background
:
#f0f3fa
;
// text-align: left;
}
}
.el-table__fixed-header-wrapper
{
...
...
@@ -448,6 +450,156 @@ li {
}
}
}
// 封装组件样式
.table-list-com-ins
{
.table-item
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
.el-table
{
width
:
100%
;
height
:
100%
;
font-size
:
14px
;
color
:
#232323
;
th
{
height
:
40px
;
font-size
:
12px
!
important
;
font-weight
:
400
!
important
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding
:
9px
0px
;
}
td
{
font-size
:
14px
;
}
.cell
{
padding-right
:
12px
;
padding-left
:
12px
;
line-height
:
21px
;
}
.sort-caret.ascending
{
border-bottom-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
.ascending
.sort-caret.ascending
{
border-bottom-color
:
#0081ff
;
}
.sort-caret.descending
{
border-top-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
.descending
.sort-caret.descending
{
border-top-color
:
#0081ff
;
}
.el-table__header-wrapper
{
box-sizing
:
border-box
;
th
{
background
:
#f0f3fa
;
}
}
.el-table__fixed-header-wrapper
{
th
{
background
:
#f0f3fa
;
}
}
.is-scrolling-left
+
.el-table__fixed
,
.is-scrolling-middle
+
.el-table__fixed
,
.is-scrolling-right
+
.el-table__fixed
{
//box-shadow:none;
//-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5;
box-shadow
:
2px
0
8px
-7px
#202020
;
//border-right: 1px solid #C3CBD5;
height
:
auto
!
important
;
bottom
:
16px
!
important
;
}
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background
:
none
;
}
.caret-wrapper
{
width
:
10px
;
}
.el-table__body-wrapper
{
&
:
:-
webkit-scrollbar
{
width
:
16px
;
//竖轴宽度
height
:
16px
;
//横轴宽度
}
&
:
:-
webkit-scrollbar-track
{
background-color
:
#f3f4f5
;
border-radius
:
0
;
}
&
:
:-
webkit-scrollbar-thumb
{
background-color
:
rgba
(
98
,
110
,
126
,
0
.2
);
border
:
4px
solid
#f3f4f5
;
border-radius
:
10px
;
}
&
:
:-
webkit-scrollbar-corner
{
background
:
#f3f4f5
;
/*border-left: 1px solid #E0EAF2;*/
}
tr
{
&
.current-row
>
td
{
background-color
:
initial
;
}
&
:nth-child
(
2n
)
{
background
:
#f8fbff
;
}
}
tr
:hover
>
td
.el-table__cell
{
background
:
#dcebff
;
}
}
.el-table__body
tr
.hover-row
>
td
.el-table__cell
{
background
:
#dcebff
;
}
.el-table__fixed
{
//bottom:0 !important;
.el-table__body
{
padding-bottom
:
16px
;
}
tr
:nth-child
(
2n
)
{
background-color
:
#f8fbff
;
}
}
::-webkit-scrollbar-track-piece
{
//滚动条凹槽的颜色,还可以设置边框属性
background-color
:
#f3f4f5
;
height
:
16px
;
padding
:
0
4px
;
}
//滚动条的宽度
::-webkit-scrollbar
{
width
:
8px
;
height
:
16px
;
background-color
:
#f3f4f5
;
border-radius
:
6px
;
}
//滚动条的滑块
::-webkit-scrollbar-thumb
{
border-radius
:
8px
;
height
:
8px
;
margin
:
0
4px
;
background
:
rgba
(
98
,
110
,
126
,
0
.2
);
border
:
4px
solid
#f3f4f5
;
&
:hover
{
background
:
#566380
;
}
}
.el-scrollbar
{
height
:
16px
;
.el-scrollbar__bar.is-horizontal
{
height
:
8px
;
}
.el-scrollbar__thumb
{
background
:
rgba
(
98
,
110
,
126
,
0
.4
);
&
:hover
{
background
:
#566380
;
}
}
}
}
}
}
.el-table__body
tr
.hover-row
>
td
.el-table__cell
{
background-color
:
#dcebff
;
}
...
...
dsk-operate-ui/src/assets/styles/search-result-list-public.scss
0 → 100644
View file @
495bda5f
.search-result-head-container
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
line-height
:
24px
;
height
:
24px
;
.result-head-left
{
.result-list-total
{
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding-left
:
6px
;
box-sizing
:
border-box
;
position
:
relative
;
&
:
:
before
{
content
:
""
;
position
:
absolute
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
left
:
0px
;
top
:
50%
;
transform
:
translateY
(
-50%
);
}
}
}
.result-head-right
{
}
}
dsk-operate-ui/src/assets/styles/supplierlist.scss
View file @
495bda5f
...
...
@@ -6,6 +6,7 @@
width
:
100%
;
height
:
100%
;
overflow
:
auto
;
box-sizing
:
border-box
;
}
.search-supplier
{
-webkit-box-sizing
:
border-box
;
...
...
dsk-operate-ui/src/components/DskAmountRange/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<div
class=
"dsk-amount-range"
:class=
"
{'dsk-amount-range-active' : iptActive}">
<div
class=
"dsk-amount-inner"
>
<el-input
v-model=
"amountArray[0]"
:placeholder=
"startPlaceholder"
class=
"dsk-range-start dsk-amount-ipt"
@
focus=
"iptActive = true"
@
blur=
"iptActive = false"
></el-input>
<div
class=
"dsk-range-text"
>
{{
rangeText
}}
</div>
<el-input
v-model=
"amountArray[1]"
:placeholder=
"endPlaceholder"
class=
"dsk-range-end dsk-amount-ipt"
@
focus=
"iptActive = true"
@
blur=
"iptActive = false"
></el-input>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"dskAmountRange"
,
props
:
{
amountArray
:
{
required
:
true
,
type
:
Array
,
default
:
()
=>
[]
},
// 区间文字
rangeText
:
{
type
:
String
,
default
:
"至"
},
// 开始区间输入框提示语
startPlaceholder
:
{
type
:
String
,
default
:
""
},
// 结束区间输入框提示语
endPlaceholder
:
{
type
:
String
,
default
:
""
},
},
model
:
{
prop
:
"amountArray"
,
event
:
"amountRangeChange"
},
data
()
{
return
{
iptActive
:
false
};
},
//可访问data属性
created
()
{
},
//计算集
computed
:
{
},
//方法集
methods
:
{
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.dsk-amount-range
{
width
:
268px
;
height
:
32px
;
padding
:
5px
0px
;
border-radius
:
2px
;
border
:
1px
solid
#dcdfe6
;
box-sizing
:
border-box
;
&
.dsk-amount-range-active
{
border-color
:
#0081ff
;
}
::v-deep
.dsk-amount-inner
{
display
:
flex
;
height
:
100%
;
align-items
:
center
;
.dsk-range-start
,
.dsk-range-end
{
&
.dsk-amount-ipt.el-input
{
line-height
:
20px
;
height
:
100%
;
.el-input__inner
{
line-height
:
1
;
height
:
100%
;
width
:
100%
;
padding
:
0px
12px
;
border
:
none
;
}
}
}
.dsk-range-text
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
}
</
style
>
dsk-operate-ui/src/components/DskTabToggle/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<div
class=
"dsk-tab-toggle"
>
<!-- tab列表 -->
<div
class=
"dsk-tab-items-container"
>
<div
class=
"dsk-tab-items-container-inner"
>
<div
class=
"dsk-tab-item"
v-for=
"item of tabs"
:key=
"item.id"
:class=
"
{'tab-current' : item.value == currentValue}" @click="tabChoose(item)">
<div
class=
"dsk-tab-item-name"
>
{{
item
.
name
}}
</div>
</div>
<!-- 下滑条 -->
<div
class=
"dsk-tab-sliding-bar"
v-if=
"tabs.length"
:style=
"
{width : `${silidingBarWidth}px`,transform : `translateX(${silidingBarLeft}px)`}">
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"dskTabToggle"
,
props
:
{
currentValue
:
{
required
:
true
,
type
:
[
String
,
Number
]
},
tabs
:
{
required
:
true
,
type
:
Array
,
default
:
()
=>
[]
}
},
model
:
{
prop
:
"currentValue"
,
event
:
"currentTabChange"
},
data
()
{
return
{
silidingBarLeft
:
0
,
silidingBarWidth
:
0
};
},
//可访问data属性
created
()
{
this
.
initSlidingBar
();
},
//计算集
computed
:
{
},
//方法集
methods
:
{
async
initSlidingBar
()
{
try
{
await
this
.
$nextTick
();
const
current
=
document
.
querySelector
(
".tab-current"
);
if
(
current
)
{
const
text
=
current
.
querySelector
(
".dsk-tab-item-name"
);
const
width
=
text
.
offsetWidth
;
const
boxOffsetLeft
=
current
.
offsetLeft
;
const
textOffsetLeft
=
text
.
offsetLeft
;
this
.
silidingBarWidth
=
width
;
this
.
silidingBarLeft
=
boxOffsetLeft
+
textOffsetLeft
;
}
}
catch
(
error
)
{
}
},
tabChoose
(
item
)
{
this
.
$emit
(
"currentTabChange"
,
item
.
value
);
this
.
$emit
(
"tabToggle"
,
item
.
value
);
this
.
initSlidingBar
();
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.dsk-tab-toggle
{
width
:
100%
;
height
:
48px
;
border-bottom
:
1px
solid
#eeeeee
;
background
:
#fff
;
border-top-left-radius
:
4px
;
border-top-right-radius
:
4px
;
box-sizing
:
border-box
;
.dsk-tab-items-container
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
.dsk-tab-items-container-inner
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
white-space
:
nowrap
;
overflow
:
auto
;
box-sizing
:
border-box
;
position
:
relative
;
.dsk-tab-item
{
height
:
100%
;
display
:
flex
;
align-items
:
center
;
padding
:
0px
16px
;
box-sizing
:
border-box
;
position
:
relative
;
.dsk-tab-item-name
{
cursor
:
pointer
;
color
:
#232323
;
font-size
:
16px
;
}
&
.tab-current
{
.dsk-tab-item-name
{
color
:
#0081ff
;
font-weight
:
bold
;
}
}
}
.dsk-tab-sliding-bar
{
position
:
absolute
;
left
:
0px
;
bottom
:
0px
;
height
:
2px
;
background
:
#0081ff
;
transition
:
transform
0
.3s
cubic-bezier
(
0
.645
,
0
.045
,
0
.355
,
1
);
}
}
}
}
</
style
>
dsk-operate-ui/src/components/DskTableHeaderSetting/components/SettingBar/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<transition>
<div
class=
"dsk-table-header-setting-bar"
>
<div
class=
"dsk-table-header-setting-bar-inner"
>
</div>
</div>
</transition>
</
template
>
<
script
>
import
vuedraggable
from
"vuedraggable"
;
export
default
{
name
:
"dskTableHeaderSettingBar"
,
components
:
{
vuedraggable
},
props
:
{
settingList
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
lockColumn
:
[],
useColumn
:
[],
notUseColumn
:
[]
};
},
//可访问data属性
created
()
{
this
.
settingHeaderClassify
();
},
//计算集
computed
:
{
},
//方法集
methods
:
{
// 表头当前状态分类
settingHeaderClassify
()
{
if
(
this
.
settingList
?.
length
)
{
const
temp
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
settingList
));
const
len
=
temp
.
length
;
for
(
let
index
=
0
;
index
<
len
;
index
++
)
{
if
(
temp
[
index
].
lock
)
{
this
.
lockColumn
.
push
({
...
temp
[
index
],
use
:
true
});
continue
;
}
// 设置了false值
if
(
temp
[
index
].
hasOwnProperty
(
"use"
)
&&
temp
[
index
].
use
===
false
)
{
this
.
notUseColumn
.
push
(
temp
[
index
]);
continue
;
}
// 默认为true 展示
this
.
useColumn
.
push
({
...
temp
[
index
],
use
:
true
});
}
console
.
log
(
this
.
useColumn
);
}
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.dsk-table-header-setting-bar
{
position
:
absolute
;
top
:
24px
;
left
:
0px
;
width
:
236px
;
height
:
456px
;
background
:
#fff
;
border
:
1px
solid
#eeeeee
;
box-sizing
:
border-box
;
z-index
:
3000
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0
.12
)
,
0
0
6px
rgba
(
0
,
0
,
0
,
0
.04
);
.dsk-table-header-setting-bar-inner
{
width
:
100%
;
height
:
100%
;
}
}
</
style
>
dsk-operate-ui/src/components/DskTableHeaderSetting/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<div
class=
"dsk-table-header-setting"
@
click=
"showHeaderSetting"
>
<svg-icons
:icon-class=
"'table-header-setting-icon'"
:class-name=
"'table-header-setting-icon'"
></svg-icons>
<div
class=
"table-header-setting-text"
>
表头设置
</div>
<setting-bar
v-if=
"showHeaderSettingStatus"
:settingList=
"settingList"
></setting-bar>
</div>
</
template
>
<
script
>
import
svgIcons
from
"@/components/SvgIcon"
;
import
SettingBar
from
"./components/SettingBar"
;
export
default
{
components
:
{
svgIcons
,
SettingBar
},
name
:
"dskTableHeaderSetting"
,
props
:
{
settingList
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
showHeaderSettingStatus
:
false
};
},
//可访问data属性
created
()
{
},
//计算集
computed
:
{
},
//方法集
methods
:
{
showHeaderSetting
()
{
this
.
showHeaderSettingStatus
=
true
;
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.dsk-table-header-setting
{
display
:
flex
;
align-items
:
center
;
position
:
relative
;
&
:hover
{
.table-header-setting-text
{
color
:
#0081ff
;
}
.table-header-setting-icon
{
fill
:
#0081ff
;
}
}
.table-header-setting-icon
{
cursor
:
pointer
;
}
.table-header-setting-text
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
margin-left
:
6px
;
cursor
:
pointer
;
}
}
</
style
>
dsk-operate-ui/src/components/Skeleton/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<el-skeleton
animated
class=
"skeleton-container"
>
<template
slot=
"template"
>
<el-skeleton-item
variant=
"text"
style=
"width: 60%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 60%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
</
template
>
</el-skeleton>
</template>
<
script
>
export
default
{
name
:
'skeleton'
}
</
script
>
<
style
lang=
"scss"
scoped
>
.el-skeleton__item
{
height
:
20px
;
border-radius
:
0
;
margin
:
9px
0
;
background
:
#f0f0f0
;
}
</
style
>
dsk-operate-ui/src/components/TableListCom/index.vue
View file @
495bda5f
...
...
@@ -3,17 +3,28 @@
<div
class=
"table-item"
>
<el-table
v-if=
"tableDataTotal>0"
class=
"fixed-table"
:class=
"headerFixed ? 'headerFixed':''"
v-loading=
"tableLoading"
:data=
"tableData"
element-loading-text=
"Loading"
ref=
"tableRef"
border
fit
highlight-current-row
v-sticky-header
.
always=
"stickyHeader"
:default-sort=
"defaultSort?defaultSort:
{}" @sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle">
:default-sort=
"defaultSort?defaultSort:
{}" @sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName"
:cell-style="cellStyle">
<el-table-column
type=
"selection"
:width=
"needSelection.width ? needSelection.width : '38px'"
v-if=
"needSelection.flag"
:fixed=
"needSelection.fixed"
:align=
"needSelection.align"
:show-overflow-tooltip=
"needSelection.showOverflowTooltip"
>
</el-table-column>
<el-table-column
v-if=
"isIndex"
label=
"序号"
:width=
"flexWidth(tableData)"
align=
"left"
:fixed=
"indexFixed"
:resizable=
"false"
>
<el-table-column
type=
"index"
v-if=
"isIndex"
label=
"序号"
:width=
"flexWidth(tableData)"
align=
"left"
:fixed=
"indexFixed"
:resizable=
"false"
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<
template
>
<el-table-column
v-for=
"(item,index) in formColum"
:key=
"index"
:label=
"item.label"
:prop=
"item.prop"
:width=
"item.width"
:min-width=
"item.minWidth"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:sortable=
"item.sortable ?item.sortable=='custom'? 'custom':true : false"
:resizable=
"false"
>
<
template
v-for=
"(item,index) in formColum"
>
<!-- 复选框列 -->
<el-table-column
v-if=
"item.type == 'selection'"
type=
"selection"
:key=
"index"
:width=
"item.width ? item.width : '38px'"
:fixed=
"item.fixed"
:align=
"item.align?item.align:'left'"
:show-overflow-tooltip=
"item.showOverflowTooltip"
>
</el-table-column>
<!-- 序号列 -->
<el-table-column
v-else-if=
"item.type == 'index'"
type=
"index"
:key=
"index"
:label=
"item.label ? item.label : '序号'"
:width=
"flexWidth(tableData)"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:resizable=
"false"
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<!-- 普通列 -->
<el-table-column
v-else
:key=
"index"
:label=
"item.label"
:prop=
"item.prop"
:width=
"item.width"
:min-width=
"item.minWidth"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:sortable=
"item.sortable ?item.sortable=='custom'? 'custom':true : false"
:resizable=
"false"
>
<
template
v-if=
"item.children&&item.children.length"
>
<el-table-column
v-for=
"(cld, i) in item.children"
:key=
"i"
:prop=
"cld.prop"
:label=
"cld.label"
:width=
"cld.width"
:resizable=
"false"
>
<template
slot-scope=
"cldscope"
>
...
...
@@ -21,7 +32,7 @@
<slot
:name=
"cld.prop"
:row=
"cldscope.row"
:data=
"cld"
></slot>
</
template
>
<
template
v-else
>
<span>
{{
cldscope
.
row
[
cld
.
prop
]
||
'-
-
'
}}
</span>
<span>
{{
cldscope
.
row
[
cld
.
prop
]
||
'-'
}}
</span>
</
template
>
</template>
</el-table-column>
...
...
@@ -34,7 +45,7 @@
<!-- 操作栏 -->
<slot
v-else-if=
"item.prop == 'action-field-bar'"
name=
"action-field-bar"
:row=
"scope.row"
:index=
"scope.$index"
:data=
"item"
></slot>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
||
'-
-
'
}}
{{
scope
.
row
[
item
.
prop
]
||
'-'
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -43,7 +54,7 @@
</
template
>
</el-table>
<div
style=
"padding: 30px 0"
v-else
>
<div
style=
"padding: 30px 0
;box-sizing:border-box;
"
v-else
>
<no-data
/>
</div>
</div>
...
...
@@ -61,7 +72,7 @@ export default {
props
:
{
isIndex
:
{
type
:
Boolean
,
default
:
tru
e
default
:
fals
e
},
needSelection
:
{
type
:
Object
,
...
...
@@ -170,7 +181,7 @@ export default {
this
.
$emit
(
"selectionChange"
,
selectionArray
);
},
flexWidth
(
tableData
)
{
let
currentMax
=
this
.
queryParams
.
pageNum
*
this
.
queryParams
.
pageSize
-
this
.
queryParams
.
pageSize
+
tableData
.
length
,
wdth
=
5
9
;
let
currentMax
=
this
.
queryParams
.
pageNum
*
this
.
queryParams
.
pageSize
-
this
.
queryParams
.
pageSize
+
tableData
.
length
,
wdth
=
5
0
;
if
(
currentMax
.
toString
().
length
>
3
)
{
wdth
=
wdth
+
(
currentMax
.
toString
().
length
-
3
)
*
10
;
}
...
...
@@ -185,9 +196,6 @@ export default {
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background-color
:
#ffffff
;
}
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}*/
::v-deep
.el-table__row
{
&
:nth-child
(
even
)
{
...
...
@@ -215,9 +223,11 @@ export default {
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#e6eaf1
;
box-sizing
:
border-box
;
}
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#e6eaf1
;
box-sizing
:
border-box
;
}
::v-deep
.el-table__body
tr
.hover-row.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped.current-row
>
td
,
...
...
@@ -232,22 +242,5 @@ export default {
::v-deep
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
background-color
:
#dcebff
;
}
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
0
;
z-index
:
99
;
}
::v-deep
.el-table__fixed
{
overflow-x
:
clip
;
overflow-y
:
clip
;
}
}
.table-list-com-ins
{
::v-deep
.el-table
{
.el-table__fixed-header-wrapper
{
top
:
0px
;
}
}
}
</
style
>
dsk-operate-ui/src/layout/components/Sidebar/SidebarItem.vue
View file @
495bda5f
...
...
@@ -13,7 +13,7 @@
<
template
slot=
"title"
>
<item
v-if=
"item.meta"
:icon=
"sideIcon(item)"
:title=
"item.meta.title"
/>
</
template
>
<sidebar-item
v-for=
"child in item.children"
:key=
"child.path"
:is-nest=
"true"
:item=
"child"
:base-path=
"resolvePath(child.path
,child.query
)"
<sidebar-item
v-for=
"child in item.children"
:key=
"child.path"
:is-nest=
"true"
:item=
"child"
:base-path=
"resolvePath(child.path)"
:active-menu=
"activeMenu"
class=
"nest-menu secondary-menu-item-sub"
/>
</el-submenu>
</template>
...
...
dsk-operate-ui/src/views/consultingOrgManagement/components/EnterpriseList/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<div
class=
"cooperation-desk-account-enterprise"
>
</div>
</
template
>
<
script
>
export
default
{
name
:
"cooperationDeskAccountEnterprise"
,
data
()
{
return
{
}
},
//可访问data属性
created
(){
},
//计算集
computed
:{
},
//方法集
methods
:{
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
dsk-operate-ui/src/views/consultingOrgManagement/components/ProjectList/index.vue
0 → 100644
View file @
495bda5f
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/consultingOrgManagement/index.vue
0 → 100644
View file @
495bda5f
<
template
>
<div
class=
"cooperation-desk-account default-layout-container"
>
<div
class=
"default-layout-container-inner"
>
<!-- 顶部tab切换栏 -->
<dsk-tab-toggle
v-model=
"currentList"
:tabs=
"toggleTabs"
></dsk-tab-toggle>
<!-- 项目列表 -->
<project-list
v-if=
"currentList == 'project'"
></project-list>
<!-- 企业列表 -->
<enterprise-list
v-if=
"currentList == 'enterprise'"
></enterprise-list>
</div>
</div>
</
template
>
<
script
>
import
DskTabToggle
from
"@/components/DskTabToggle"
;
import
ProjectList
from
"@/views/consultingOrgManagement/components/ProjectList"
;
import
EnterpriseList
from
"@/views/consultingOrgManagement/components/EnterpriseList"
;
import
{
v4
}
from
'uuid'
;
export
default
{
name
:
"cooperationDeskAccount"
,
components
:
{
DskTabToggle
,
ProjectList
,
EnterpriseList
},
data
()
{
return
{
currentList
:
"project"
,
toggleTabs
:
[
{
value
:
"project"
,
name
:
"项目列表"
,
id
:
v4
()
},
{
value
:
"enterprise"
,
name
:
"企业列表"
,
id
:
v4
()
}
]
};
},
//可访问data属性
created
()
{
},
//计算集
computed
:
{
},
//方法集
methods
:
{
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.cooperation-desk-account
{
.default-layout-container-inner
{
.cooperation-desk-account-project
,
.cooperation-desk-account-enterprise
{
height
:
calc
(
100%
-
48px
);
}
}
}
</
style
>
dsk-operate-ui/src/views/enterpriseData/components/searchTheOwner/index.vue
View file @
495bda5f
...
...
@@ -170,7 +170,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"历史发包数量"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderCount"
>
<
el
-
table
-
column
label
=
"历史发包数量"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.inviteTenderCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=hiscontract` : `/enterprise/${encodeStr(scope.row.id)
}
?path=hiscontract`"
...
...
@@ -179,7 +179,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"历史发包总金额"
min
-
width
=
"1
2
0"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderSumAmount"
>
<
el
-
table
-
column
label
=
"历史发包总金额"
min
-
width
=
"1
3
0"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderSumAmount"
>
<
template
slot
-
scope
=
"scope"
>
<
div
style
=
"text-align:right;white-space: nowrap;"
>
{{
parseFloat
(
scope
.
row
.
inviteTenderSumAmount
)
?
`${scope.row.inviteTenderSumAmount
}
万元`
:
"--"
}}
...
...
@@ -187,7 +187,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"最近一次招标"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderLastTime"
>
<
el
-
table
-
column
label
=
"最近一次招标"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderLastTime"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.inviteTenderLastTime"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement` : `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement`"
...
...
@@ -196,7 +196,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"重点项目"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"importantProjectCount"
>
<
el
-
table
-
column
label
=
"重点项目"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"importantProjectCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.importantProjectCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=majorProject` : `/enterprise/${encodeStr(scope.row.id)
}
?path=majorProject`"
...
...
@@ -214,7 +214,7 @@
<
/template
>
<
/el-table-column> --
>
<
el
-
table
-
column
label
=
"拟建项目"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"approvalProjectCount"
>
<
el
-
table
-
column
label
=
"拟建项目"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"approvalProjectCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.approvalProjectCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=proposed` : `/enterprise/${encodeStr(scope.row.id)
}
?path=proposed`"
...
...
@@ -223,7 +223,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"招标计划"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"bidPlanCount"
>
<
el
-
table
-
column
label
=
"招标计划"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"bidPlanCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.bidPlanCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=biddingplan` : `/enterprise/${encodeStr(scope.row.id)
}
?path=biddingplan`"
...
...
@@ -232,7 +232,7 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"招标公告"
min
-
width
=
"1
07
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"jskBidCount"
>
<
el
-
table
-
column
label
=
"招标公告"
min
-
width
=
"1
20
"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"jskBidCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.jskBidCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement` : `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement`"
...
...
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