Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigDataSystem
Project
Project
Details
Activity
Releases
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
张伯涛
bigDataSystem
Commits
a9d68a2b
Commit
a9d68a2b
authored
Nov 18, 2024
by
张伯涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发布
parent
33fa28bf
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
866 additions
and
6 deletions
+866
-6
package.json
package.json
+1
-0
stepHeader.vue
src/components/stepHeader.vue
+73
-0
createStandardsType.vue
...iews/dataStandards/basicStandards/createStandardsType.vue
+2
-2
edit.vue
src/views/dataStandards/namingDictionary/edit.vue
+9
-1
index.vue
src/views/dataStandards/namingDictionary/index.vue
+7
-2
publishModal.vue
src/views/dataStandards/namingDictionary/publishModal.vue
+150
-0
referenceDocument.data.ts
.../dataStandards/namingDictionary/referenceDocument.data.ts
+92
-0
applyPublication.vue
...iews/dataStandards/referenceDocument/applyPublication.vue
+213
-0
batchPublish.vue
src/views/dataStandards/referenceDocument/batchPublish.vue
+80
-0
index.vue
src/views/dataStandards/referenceDocument/index.vue
+7
-1
referenceDocument.data.ts
...dataStandards/referenceDocument/referenceDocument.data.ts
+232
-0
No files found.
package.json
View file @
a9d68a2b
...
...
@@ -81,6 +81,7 @@
"
axios
"
:
"
^1.6.8
"
,
"
codemirror
"
:
"
^5.65.16
"
,
"
cropperjs
"
:
"
^1.6.2
"
,
"
moment
"
:
"
^2.27.0
"
,
"
crypto-js
"
:
"
^4.2.0
"
,
"
dayjs
"
:
"
^1.11.10
"
,
"
echarts
"
:
"
^5.5.0
"
,
...
...
src/components/stepHeader.vue
0 → 100644
View file @
a9d68a2b
<
template
>
<div
class=
"step-header"
>
<div
v-if=
"type === 'dialog'"
class=
"dialog-title"
>
{{
title
}}
</div>
<div
v-else
class=
"title"
:style=
"
{width: width}">
{{
title
}}
</div>
<div
class=
"content"
>
<slot
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'StepHeader'
,
props
:
{
title
:
{
type
:
String
,
default
:
''
},
type
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
String
,
default
:
'10rem'
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.step-header
{
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
center
;
margin-bottom
:
20px
;
//margin-left: 1.25rem;
.title
{
height
:
22px
;
width
:
10rem
;
line-height
:
22px
;
border-left
:
4px
solid
#333399
;
padding-left
:
8px
;
font-family
:
PingFangSC
,
PingFang
SC
;
font-weight
:
600
;
font-size
:
16px
;
margin-left
:
0
;
color
:
#1c1c1c
;
font-style
:
normal
;
}
.dialog-title
{
padding-right
:
32px
;
height
:
25px
;
font-family
:
PingFangSC
,
PingFang
SC
;
font-weight
:
600
;
font-size
:
18px
;
color
:
#333399
;
line-height
:
25px
;
text-align
:
left
;
font-style
:
normal
;
}
.content
{
flex-grow
:
1
;
@apply
h-
[
22px
]
;
}
}
</
style
>
src/views/dataStandards/basicStandards/createStandardsType.vue
View file @
a9d68a2b
...
...
@@ -20,7 +20,7 @@
<div
style=
"float: right"
>
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
</div>
<TreeTwo
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/
>
<!--
<TreeTwo
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
--
>
</div>
</BasicModal>
</
template
>
...
...
@@ -33,7 +33,7 @@
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
TreeData
,
dataBasicTreeData
}
from
'@/views/dataStandards/basicStandards/basicStandardsData'
;
import
TreeTwo
from
'@/views/dataStandards/basicStandards/TreeTwo.vue'
;
//
import TreeTwo from '@/views/dataStandards/basicStandards/TreeTwo.vue';
defineOptions
({
name
:
'AccountModal'
});
...
...
src/views/dataStandards/namingDictionary/edit.vue
View file @
a9d68a2b
...
...
@@ -11,7 +11,7 @@
</div>
</div>
<div
style=
"margin-top: 10px;display: flex"
v-if=
"!isShow"
>
<a-button
type=
"primary"
>
发布
</a-button>
<a-button
type=
"primary"
@
click=
"handlePublish"
>
发布
</a-button>
<a-button
type=
"primary"
style=
"margin-left: 10px"
@
click=
"editButton"
>
保存修改
</a-button>
<a-button
type=
"primary"
style=
"margin-left: 10px"
@
click=
"editButton"
>
退出编辑
</a-button>
<a-button
type=
"primary"
disabled
style=
"margin-left: 10px"
>
版本管理
</a-button>
...
...
@@ -36,6 +36,7 @@
<!-- 版本管理 弹窗-->
<VersionModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<PublishModal
@
register=
"registerModalPublish"
/>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
...
...
@@ -55,6 +56,7 @@ import VersionModal from '@/views/dataStandards/basicStandards/VersionModal.vue'
import
{
useModal
}
from
"@/components/Modal"
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
columnsTwo
}
from
'./referenceDocument.data'
;
import
PublishModal
from
"@/views/dataStandards/namingDictionary/publishModal.vue"
;
const
route
=
useRoute
()
const
title
=
ref
(
''
)
const
formData
=
ref
({})
...
...
@@ -62,6 +64,7 @@ const businessId = ref('')
const
isShow
=
ref
(
false
)
const
optionValue
=
ref
(
'v1'
)
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModalPublish
,
{
openModal
:
openModalPublish
}]
=
useModal
();
const
{
createMessage
,
createConfirm
}
=
useMessage
();
const
[
registerForm1
,
{
setFieldsValue
:
setFieldsValue1
}]
=
useForm
({
labelWidth
:
100
,
...
...
@@ -129,6 +132,11 @@ function editButton(record) {
path
:
'/dataStandards/namingDictionary/details'
,
});
}
function
handlePublish
()
{
openModalPublish
(
true
,{
})
}
function
handleDelete
()
{}
/**版本管理 弹窗*/
function
versionButton
(
record
)
{
...
...
src/views/dataStandards/namingDictionary/index.vue
View file @
a9d68a2b
...
...
@@ -7,7 +7,7 @@
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
@
click=
"handleDeleteIds"
>
删除
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
移动
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
导出命名字典
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
批量发布
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
@
click=
"handlePublish"
>
批量发布
</a-button>
<a-button
type=
"primary"
@
click=
"handleAddDocumentClassification"
>
新增名词分类
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
@
click=
"handleAddManage"
type=
"primary"
>
新增名词
</a-button>
</
template
>
...
...
@@ -46,10 +46,12 @@
</BasicTable>
<ReferenceDocumentModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<manage-modal
@
register=
"registerModalManage"
@
success=
"handleSuccess"
/>
<batch-publish
@
register=
"registerModalBatch"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
unref
,
onDeactivated
,
onMounted
}
from
'vue'
;
import
BatchPublish
from
"@/views/dataStandards/referenceDocument/batchPublish.vue"
;
import
{
BasicTable
,
useTable
,
TableAction
}
from
'@/components/Table'
;
import
ReferenceDocumentModal
from
"./referenceDocumentModal.vue"
;
import
{
PageWrapper
}
from
'@/components/Page'
;
...
...
@@ -72,6 +74,7 @@ const route = useRoute();
const
go
=
useGo
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModalManage
,
{
openModal
:
openModalManage
}]
=
useModal
();
const
[
registerModalBatch
,
{
openModal
:
openModalBatch
}]
=
useModal
();
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
reload
,
updateTableDataRecord
,
getSearchInfo
,
getForm
,
getRowSelection
}]
=
useTable
({
title
:
'命名字典管理列表'
,
...
...
@@ -127,7 +130,9 @@ function handleAddManage() {
isUpdate
:
false
,
});
}
function
handlePublish
()
{
openModalBatch
(
true
,{})
}
function
handleDeleteIds
()
{
createConfirm
({
iconType
:
'warning'
,
...
...
src/views/dataStandards/namingDictionary/publishModal.vue
0 → 100644
View file @
a9d68a2b
<
template
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicForm
@
register=
"registerForm"
/>
<Divider/>
<BasicForm
@
register=
"registerFormTwo"
/>
<div
class=
"table-container"
>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
短编号
</span>
<div>
域/共享工作区/短编号
</div>
</div>
</div>
<div
class=
"table-cell value"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
短编号
</span>
<div>
域/共享工作区/短编号
</div>
</div>
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
版本:1
</div>
<div
class=
"table-cell value"
>
版本:下个版本
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
短编号
</Col>
</Row>
</div>
<div
class=
"table-cell value"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
短编号
</Col>
</Row>
</div>
</div>
</div>
<template
#
footer
>
<a-button
@
click=
"handleCancel"
>
取消
</a-button>
<a-button
type=
"primary"
@
click=
"handleSubmitApplication"
>
提交申请
</a-button>
</
template
>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
Icon
from
'@/components/Icon/Icon.vue'
;
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
formSchemaPublish
,
formSchemaPublishTwo
}
from
'./referenceDocument.data'
;
import
{
Divider
,
Form
,
Col
,
Row
,
}
from
'ant-design-vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
defineOptions
({
name
:
'AccountModal'
});
import
stepHeader
from
'../../../components/stepHeader.vue'
import
StepHeader
from
"@/components/stepHeader.vue"
;
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
isUpdate
=
ref
(
true
);
const
rowId
=
ref
(
''
);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
24
,
md
:
24
},
schemas
:
formSchemaPublish
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
const
[
registerFormTwo
]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
24
,
md
:
24
},
schemas
:
formSchemaPublishTwo
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
resetFields
();
setModalProps
({
confirmLoading
:
false
,
showOkBtn
:
false
,
showCancelBtn
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
if
(
unref
(
isUpdate
))
{
}
updateSchema
({
});
});
const
getTitle
=
computed
(()
=>
(
'发布申请'
));
function
handleCancel
()
{
closeModal
();
}
function
handleSubmitApplication
()
{
closeModal
();
}
async
function
handleSubmit
()
{
try
{
const
values
=
await
validate
();
setModalProps
({
confirmLoading
:
true
});
// TODO custom api
closeModal
();
emit
(
'success'
,
{
isUpdate
:
unref
(
isUpdate
),
values
:
{
...
values
,
id
:
rowId
.
value
}
});
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.info_title
{
font-size
:
15px
;
font-weight
:
bold
;
}
.table-container
{
display
:
grid
;
grid-template-columns
:
2fr
2fr
;
/* Define two columns with 1:2 ratio */
gap
:
0
;
/* Space between cells, to create border effect */
border
:
1px
solid
#ddd
;
/* Border around the entire table */
max-width
:
600px
;
margin
:
10px
10px
0
;
.table-row
{
display
:
contents
;
.table-cell
{
padding
:
3%
;
border
:
1px
solid
#ddd
;
}
}
}
</
style
>
src/views/dataStandards/namingDictionary/referenceDocument.data.ts
View file @
a9d68a2b
...
...
@@ -484,6 +484,98 @@ export const detailSchema5: FormSchema[] = [
},
},
];
export
const
formSchemaPublishTwo
:
any
=
[
{
field
:
''
,
label
:
'数据标准详情'
,
component
:
'BasicTitle'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
marginLeft
:
'15px'
,
fontWeight
:
'bold'
,
},
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'valueOne'
,
label
:
'数据标准路径'
,
component
:
'Input'
,
defaultValue
:
'域/共享工作区/短编号'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
]
export
const
formSchemaPublish
:
any
=
[
{
field
:
'title'
,
label
:
'申请标题'
,
component
:
'Input'
,
rules
:
[
{
required
:
true
,
message
:
'请选择上级菜单'
,
},
],
colProps
:
{
span
:
24
},
componentProps
:
{
placeholder
:
''
,
},
},
{
field
:
'reason'
,
label
:
'申请理由'
,
component
:
'Input'
,
rules
:
[
{
required
:
true
,
message
:
'请选择上级菜单'
,
},
],
colProps
:
{
span
:
24
},
componentProps
:
{
placeholder
:
''
,
},
},
{
field
:
'user'
,
label
:
'申请人'
,
component
:
'Input'
,
defaultValue
:
'admin'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'organization'
,
label
:
'申请人组织'
,
component
:
'Input'
,
defaultValue
:
'-'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
]
export
const
formSchemaImport
:
any
=
[
{
field
:
'path'
,
...
...
src/views/dataStandards/referenceDocument/applyPublication.vue
0 → 100644
View file @
a9d68a2b
<
template
>
<div
class=
"applyPublication_module"
>
<div
class=
"top_title"
>
<div
class=
"title"
>
申请发布
<
日期类
>
等2个域
</div>
<div>
<a-button
type=
"primary"
@
click=
"handleGoBack"
>
取消
</a-button>
<a-button
style=
"margin-left: 20px"
type=
"primary"
>
提交申请
</a-button>
</div>
</div>
<BasicForm
@
register=
"registerForm"
/>
<BasicForm
@
register=
"registerForm1"
/>
<Tabs
v-model:activeKey=
"activeKey"
tab-position=
"left"
animated
>
<TabPane
key=
"1"
tab=
"日期类"
>
<BasicForm
@
register=
"registerForm2"
/>
<div
class=
"contrastTitle"
>
版本对比
</div>
<div
class=
"table-container"
>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
日期类
</span>
<div>
共享工作区/日期类
</div>
</div>
</div>
<div
class=
"table-cell value"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
日期类
</span>
<div>
共享工作区/日期类
</div>
</div>
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
版本:2
</div>
<div
class=
"table-cell value"
>
版本:下个版本
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
日期类
</Col>
</Row>
</div>
<div
class=
"table-cell value"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
日期类
</Col>
</Row>
</div>
</div>
</div>
</TabPane>
<TabPane
key=
"2"
tab=
"短编号"
>
<BasicForm
@
register=
"registerForm3"
/>
<div
class=
"contrastTitle"
>
版本对比
</div>
<div
class=
"table-container"
>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
短编号
</span>
<div>
域/共享工作区/短编号
</div>
</div>
</div>
<div
class=
"table-cell value"
>
<div>
<Icon
icon=
"ant-design:database-outlined"
:size=
"20"
:color=
"'#42C465'"
/>
<span>
短编号
</span>
<div>
域/共享工作区/短编号
</div>
</div>
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
版本:1
</div>
<div
class=
"table-cell value"
>
版本:下个版本
</div>
</div>
<div
class=
"table-row"
>
<div
class=
"table-cell label"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
短编号
</Col>
</Row>
</div>
<div
class=
"table-cell value"
>
<step-header
title=
"属性"
/>
<Row>
<Col
:span=
"6"
>
域名称
</Col>
<Col
:span=
"18"
>
短编号
</Col>
</Row>
</div>
</div>
</div>
</TabPane>
</Tabs>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
StepHeader
from
"@/components/stepHeader.vue"
;
import
{
onMounted
,
ref
}
from
"vue"
;
import
{
Tabs
,
Col
,
Row
,
}
from
'ant-design-vue'
;
import
{
applySchemas
,
applySchemas1
,
applySchemas2
,
applySchemas3
}
from
"./referenceDocument.data"
;
import
moment
from
'moment'
import
{
router
}
from
"@/router"
;
const
activeKey
=
ref
(
'1'
);
const
TabPane
=
Tabs
.
TabPane
;
const
[
registerForm
,
{
setFieldsValue
}]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
12
,
md
:
24
},
schemas
:
applySchemas
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
const
[
registerForm1
,
{
}]
=
useForm
({
labelWidth
:
10
,
baseColProps
:
{
lg
:
3
,
md
:
24
},
schemas
:
applySchemas1
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
const
[
registerForm2
,
{
}]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
12
,
md
:
24
},
schemas
:
applySchemas2
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
const
[
registerForm3
,
{
}]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
12
,
md
:
24
},
schemas
:
applySchemas3
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
function
handleGoBack
()
{
router
.
go
(
-
1
);
}
onMounted
(()
=>
{
setFieldsValue
({
time
:
moment
(
new
Date
()).
format
(
'YYYY-MM-DD HH:mm:ss'
)
});
});
</
script
>
<
style
scoped
lang=
"scss"
>
.applyPublication_module
{
background-color
:
white
;
padding
:
20px
;
.top_title
{
display
:
flex
;
justify-content
:
space-between
;
.title
{
font-weight
:
bold
;
font-size
:
17px
;
}
}
.contrastTitle
{
padding-left
:
23px
;
padding-bottom
:
20px
;
font-weight
:
bold
;
font-size
:
17px
;
}
.table-container
{
display
:
grid
;
grid-template-columns
:
2fr
2fr
;
/* Define two columns with 1:2 ratio */
gap
:
0
;
/* Space between cells, to create border effect */
border
:
1px
solid
#ddd
;
/* Border around the entire table */
max-width
:
600px
;
margin
:
10px
10px
0
;
.table-row
{
display
:
contents
;
.table-cell
{
padding
:
3%
;
border
:
1px
solid
#ddd
;
}
}
}
::v-deep
.ant-tabs-tab
{
padding
:
8px
300px
8px
0
;
}
}
</
style
>
src/views/dataStandards/referenceDocument/batchPublish.vue
0 → 100644
View file @
a9d68a2b
<
template
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<div>
当前选中标准共 2条,其中1条已在其他审批流程中,本次申请不再二次提交,示例如下:
</div>
<BasicTable
@
register=
"registerTable"
></BasicTable>
<template
#
footer
>
<a-button
@
click=
"handleCancel"
>
取消发布
</a-button>
<a-button
type=
"primary"
@
click=
"handleSubmitApplication"
>
继续发布
</a-button>
</
template
>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
{
BasicTable
,
useTable
,
TableAction
}
from
'@/components/Table'
;
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
batchColumns
,
formSchemaImport
,
searchFormSchema
}
from
'./referenceDocument.data'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
router
}
from
"@/router"
;
defineOptions
({
name
:
'AccountModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
isUpdate
=
ref
(
true
);
const
rowId
=
ref
(
''
);
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
setModalProps
({
confirmLoading
:
false
,
showCancelBtn
:
false
,
showOkBtn
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
if
(
unref
(
isUpdate
))
{
}
});
const
[
registerTable
,
{
reload
,
updateTableDataRecord
,
getSearchInfo
,
getForm
,
getRowSelection
}]
=
useTable
({
title
:
''
,
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
"1"
,
pageSize
:
"10"
,
pages
:
"1"
,
total
:
0
,
code
:
''
,
message
:
''
,
data
:
[],
};
return
{
...
response
};
},
columns
:
batchColumns
,
showTableSetting
:
false
,
bordered
:
true
,
});
const
getTitle
=
computed
(()
=>
(
'批量发布'
));
function
handleCancel
()
{
closeModal
();
}
function
handleSubmitApplication
()
{
closeModal
();
router
.
push
({
path
:
'/dataStandards/referenceDocument/applyPublication'
,
});
}
async
function
handleSubmit
()
{
try
{
setModalProps
({
confirmLoading
:
true
});
// TODO custom api
closeModal
();
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
</
script
>
src/views/dataStandards/referenceDocument/index.vue
View file @
a9d68a2b
...
...
@@ -7,7 +7,7 @@
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
@
click=
"handleDeleteIds"
>
删除
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
移动
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
导出
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
>
批量发布
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
type=
"primary"
@
click=
"handlePublish"
>
批量发布
</a-button>
<a-button
type=
"primary"
@
click=
"handleAddDocumentClassification"
>
新增文档分类
</a-button>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
@
click=
"handleAddManage"
type=
"primary"
>
新增文档管理
</a-button>
</
template
>
...
...
@@ -40,6 +40,7 @@
</BasicTable>
<ReferenceDocumentModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<manage-modal
@
register=
"registerModalManage"
@
success=
"handleSuccess"
/>
<batch-publish
@
register=
"registerModalBatch"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -59,12 +60,14 @@ import { useFilterStore } from '@/store/modules/filterData';
import
{
useUserStore
}
from
"@/store/modules/user"
;
import
{
router
}
from
"@/router"
;
import
ManageModal
from
"@/views/dataStandards/referenceDocument/manageModal.vue"
;
import
BatchPublish
from
"@/views/dataStandards/referenceDocument/batchPublish.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
{
createMessage
,
createConfirm
}
=
useMessage
();
const
filterStore
=
useFilterStore
();
const
route
=
useRoute
();
const
go
=
useGo
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModalBatch
,
{
openModal
:
openModalBatch
}]
=
useModal
();
const
[
registerModalManage
,
{
openModal
:
openModalManage
}]
=
useModal
();
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
reload
,
updateTableDataRecord
,
getSearchInfo
,
getForm
,
getRowSelection
}]
=
useTable
({
...
...
@@ -115,6 +118,9 @@ function handleAddDocumentClassification() {
isUpdate
:
false
,
});
}
function
handlePublish
()
{
openModalBatch
(
true
,{})
}
/** 新建文档管理*/
function
handleAddManage
()
{
openModalManage
(
true
,
{
...
...
src/views/dataStandards/referenceDocument/referenceDocument.data.ts
View file @
a9d68a2b
...
...
@@ -20,6 +20,18 @@ export const columnsTwo: BasicColumn[] = [
width
:
120
,
},
]
export
const
batchColumns
:
BasicColumn
[]
=
[
{
title
:
'日期类'
,
dataIndex
:
'name'
,
width
:
120
,
},
{
title
:
'共享工作区/日期类'
,
dataIndex
:
'type'
,
width
:
120
,
},
]
export
const
columns
:
BasicColumn
[]
=
[
{
title
:
'文档名称'
,
...
...
@@ -44,6 +56,226 @@ export const columns: BasicColumn[] = [
];
export
const
applySchemas1
:
FormSchema
[]
=
[
{
field
:
''
,
label
:
'数据标准详情'
,
component
:
'BasicTitle'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
marginLeft
:
'15px'
,
fontWeight
:
'bold'
,
},
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'name'
,
label
:
' '
,
component
:
'Input'
,
componentProps
:
{
placeholder
:
'搜索资源名称'
,
}
}
]
export
const
applySchemas3
:
FormSchema
[]
=
[
{
field
:
''
,
label
:
'数据标准详情'
,
component
:
'BasicTitle'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
marginLeft
:
'15px'
,
fontWeight
:
'bold'
,
},
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'name'
,
label
:
'资源名称'
,
component
:
'Input'
,
defaultValue
:
'短编号'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'path'
,
label
:
'标准路径'
,
component
:
'Input'
,
defaultValue
:
'共享工作区/短编号'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'type'
,
label
:
'标准类型'
,
component
:
'Input'
,
defaultValue
:
'域'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
]
export
const
applySchemas2
:
FormSchema
[]
=
[
{
field
:
''
,
label
:
'数据标准详情'
,
component
:
'BasicTitle'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
marginLeft
:
'15px'
,
fontWeight
:
'bold'
,
},
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'name'
,
label
:
'资源名称'
,
component
:
'Input'
,
defaultValue
:
'日期类'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'path'
,
label
:
'标准路径'
,
component
:
'Input'
,
defaultValue
:
'共享工作区/日期类'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'type'
,
label
:
'标准类型'
,
component
:
'Input'
,
defaultValue
:
'域'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
]
export
const
applySchemas
:
FormSchema
[]
=
[
{
field
:
''
,
label
:
'申请信息'
,
component
:
'BasicTitle'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
marginLeft
:
'15px'
,
fontWeight
:
'bold'
,
},
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'name'
,
label
:
'资源名称'
,
component
:
'Input'
,
defaultValue
:
'申请发布<日期类>等2个域'
,
componentProps
:
{
}
},
{
field
:
'reason'
,
label
:
'申请理由'
,
component
:
'Input'
,
defaultValue
:
''
,
componentProps
:
{
}
},
{
field
:
'user'
,
label
:
'申请人'
,
component
:
'Input'
,
defaultValue
:
'-'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'org'
,
label
:
'所属机构'
,
component
:
'Input'
,
defaultValue
:
'-'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
{
field
:
'time'
,
label
:
'申请时间'
,
component
:
'Input'
,
defaultValue
:
'-'
,
componentProps
:
{
readonly
:
true
,
disabled
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
}
},
]
export
const
searchFormSchema
:
FormSchema
[]
=
[
{
field
:
'name'
,
...
...
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