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
9d1f59b3
Commit
9d1f59b3
authored
Dec 13, 2024
by
曹泽华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据治理-数据标准版本管理
parent
3de9dca2
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
794 additions
and
99 deletions
+794
-99
batchPublish.vue
src/views/dataStandards/namingDictionary/batchPublish.vue
+80
-0
batchPublish.vue
...ws/dataStandards/namingDictionary/domain/batchPublish.vue
+80
-0
edit.vue
src/views/dataStandards/namingDictionary/domain/edit.vue
+4
-9
index.vue
src/views/dataStandards/namingDictionary/domain/index.vue
+4
-9
publishModal.vue
...ws/dataStandards/namingDictionary/domain/publishModal.vue
+145
-0
referenceDocument.data.ts
...andards/namingDictionary/domain/referenceDocument.data.ts
+105
-0
publishModal.vue
src/views/dataStandards/namingDictionary/publishModal.vue
+0
-2
referenceDocument.data.ts
.../dataStandards/namingDictionary/referenceDocument.data.ts
+13
-0
batchPublish.vue
src/views/dataStandards/referenceDocument/batchPublish.vue
+64
-63
edit.vue
src/views/dataStandards/referenceDocument/edit.vue
+10
-2
referenceDocument.data.ts
...dataStandards/referenceDocument/referenceDocument.data.ts
+89
-0
versionContrast.vue
...views/dataStandards/referenceDocument/versionContrast.vue
+137
-0
maintenanceData.ts
...realTimeSync/taskOperationsMaintenance/maintenanceData.ts
+31
-0
workDetail.vue
...ews/realTimeSync/taskOperationsMaintenance/workDetail.vue
+32
-14
No files found.
src/views/dataStandards/namingDictionary/batchPublish.vue
0 → 100644
View file @
9d1f59b3
<
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
}
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/publicCode/applyPublication'
,
});
}
async
function
handleSubmit
()
{
try
{
setModalProps
({
confirmLoading
:
true
});
// TODO custom api
closeModal
();
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
</
script
>
src/views/dataStandards/namingDictionary/domain/batchPublish.vue
0 → 100644
View file @
9d1f59b3
<
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
}
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/publicCode/applyPublication'
,
});
}
async
function
handleSubmit
()
{
try
{
setModalProps
({
confirmLoading
:
true
});
// TODO custom api
closeModal
();
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
</
script
>
src/views/dataStandards/namingDictionary/domain/edit.vue
View file @
9d1f59b3
...
...
@@ -48,6 +48,7 @@
<!-- 版本管理 弹窗-->
<VersionModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<PublishModal
@
register=
"registerModalPublish"
/>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
...
...
@@ -66,6 +67,7 @@
import
{
useModal
}
from
'@/components/Modal'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
columnsTwo
}
from
'./referenceDocument.data'
;
import
PublishModal
from
"@/views/dataStandards/namingDictionary/domain/publishModal.vue"
;
const
route
=
useRoute
();
const
title
=
ref
(
''
);
...
...
@@ -74,6 +76,7 @@
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
,
...
...
@@ -146,15 +149,7 @@
}
function
handlePublish
()
{
createConfirm
({
iconType
:
'info'
,
title
:
'发布'
,
okText
:
'发布'
,
content
:
'确认发布选中数据?'
,
onOk
()
{
createMessage
.
success
(
'发布成功!'
);
},
});
openModalPublish
(
true
,
{});
}
function
handleDelete
()
{}
/**版本管理 弹窗*/
...
...
src/views/dataStandards/namingDictionary/domain/index.vue
View file @
9d1f59b3
...
...
@@ -70,6 +70,7 @@
<ImportModalInfo
@
register=
"registerModalImport"
/>
<CopyModal
@
register=
"registerCopyModal"
/>
<MoveModal
@
register=
"registerMOveModal"
/>
<BatchPublish
@
register=
"registerModalBatch"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -92,6 +93,7 @@
import
MoveModal
from
'@/views/dataStandards/namingDictionary/domain/MoveModal.vue'
;
import
CopyModal
from
'@/views/dataStandards/namingDictionary/domain/CopyModal.vue'
;
import
ImportModalInfo
from
'@/views/dataStandards/namingDictionary/domain/importModalInfo.vue'
;
import
BatchPublish
from
"@/views/dataStandards/namingDictionary/domain/batchPublish.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
{
createMessage
,
createConfirm
}
=
useMessage
();
...
...
@@ -101,6 +103,7 @@
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModalManage
,
{
openModal
:
openModalManage
}]
=
useModal
();
const
[
registerModalImport
,
{
openModal
:
openImportModalInfo
}]
=
useModal
();
const
[
registerModalBatch
,
{
openModal
:
openModalBatch
}]
=
useModal
();
const
[
registerModalRemove
,
{
openModal
:
openModalRemove
}]
=
useModal
();
const
[
registerMOveModal
,
{
openModal
:
openMoveModal
}]
=
useModal
();
const
[
registerCopyModal
,
{
openModal
:
openCopyModal
}]
=
useModal
();
...
...
@@ -185,15 +188,7 @@
function
handleExport
()
{}
function
handlePublish
()
{
createConfirm
({
iconType
:
'info'
,
title
:
'批量发布'
,
okText
:
'发布'
,
content
:
'确认发布选中数据?'
,
onOk
()
{
createMessage
.
success
(
'发布成功!'
);
},
});
openModalBatch
(
true
,
{});
}
function
handleRemove
()
{
openModalRemove
(
true
,
{});
...
...
src/views/dataStandards/namingDictionary/domain/publishModal.vue
0 → 100644
View file @
9d1f59b3
<
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'
});
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
();
createMessage
.
success
(
'发布成功!'
);
}
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/domain/referenceDocument.data.ts
View file @
9d1f59b3
...
...
@@ -614,6 +614,19 @@ export const copyFormSchema: any[] = [
},
},
];
export
const
batchColumns
:
BasicColumn
[]
=
[
{
title
:
'日期类'
,
dataIndex
:
'name'
,
width
:
120
,
},
{
title
:
'共享工作区/日期类'
,
dataIndex
:
'type'
,
width
:
120
,
},
];
export
const
importSchema
:
any
[]
=
[
{
field
:
'fileMethods'
,
...
...
@@ -636,3 +649,95 @@ export const importSchema: any[] = [
},
},
];
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'
,
},
},
},
];
src/views/dataStandards/namingDictionary/publishModal.vue
View file @
9d1f59b3
...
...
@@ -61,8 +61,6 @@
import
{
formSchemaPublish
,
formSchemaPublishTwo
}
from
'./referenceDocument.data'
;
import
{
Divider
,
Form
,
Col
,
Row
}
from
'ant-design-vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
stepHeader
from
'../../../components/stepHeader.vue'
;
import
StepHeader
from
'@/components/stepHeader.vue'
;
defineOptions
({
name
:
'AccountModal'
});
...
...
src/views/dataStandards/namingDictionary/referenceDocument.data.ts
View file @
9d1f59b3
...
...
@@ -49,6 +49,19 @@ export const columns: BasicColumn[] = [
},
];
export
const
batchColumns
:
BasicColumn
[]
=
[
{
title
:
'日期类'
,
dataIndex
:
'name'
,
width
:
120
,
},
{
title
:
'共享工作区/日期类'
,
dataIndex
:
'type'
,
width
:
120
,
},
];
export
const
searchFormSchema
:
FormSchema
[]
=
[
{
field
:
'name'
,
...
...
src/views/dataStandards/referenceDocument/batchPublish.vue
View file @
9d1f59b3
<
template
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<div>
当前选中标准共 2条,其中1条已在其他审批流程中,本次申请不再二次提交,示例如下:
</div>
<BasicTable
@
register=
"registerTable"
></BasicTable
>
<BasicTable
@
register=
"registerTable"
/
>
<template
#
footer
>
<a-button
@
click=
"handleCancel"
>
取消发布
</a-button>
<a-button
type=
"primary"
@
click=
"handleSubmitApplication"
>
继续发布
</a-button>
...
...
@@ -9,73 +15,68 @@
</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"
;
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'
});
defineOptions
({
name
:
'AccountModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
isUpdate
=
ref
(
true
);
const
rowId
=
ref
(
''
);
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'
,
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
setModalProps
({
confirmLoading
:
false
,
showCancelBtn
:
false
,
showOkBtn
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
if
(
unref
(
isUpdate
))
{
}
});
createMessage
.
success
(
'发布成功!'
);
}
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
:
[],
};
async
function
handleSubmit
()
{
try
{
return
{
...
response
};
},
columns
:
batchColumns
,
showTableSetting
:
false
,
bordered
:
true
,
});
setModalProps
({
confirmLoading
:
true
}
);
// TODO custom api
const
getTitle
=
computed
(()
=>
'批量发布'
);
function
handleCancel
()
{
closeModal
();
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
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/edit.vue
View file @
9d1f59b3
...
...
@@ -11,8 +11,9 @@
</div>
</div>
<div
style=
"margin-top: 10px;display: flex"
v-if=
"!isShow"
>
<a-button
type=
"primary"
@
click=
"editButton"
>
保存修改
</a-button>
<a-button
type=
"primary"
style=
"margin-left: 10px"
@
click=
"editButton"
>
退出编辑
</a-button>
<a-button
type=
"primary"
@
click=
"publishButton"
>
发布
</a-button>
<a-button
type=
"primary"
style=
"margin: 0 10px"
@
click=
"editButton"
>
保存修改
</a-button>
<a-button
type=
"primary"
@
click=
"editButton"
>
退出编辑
</a-button>
</div>
</div>
<Divider
/>
...
...
@@ -60,6 +61,7 @@
<!-- 版本管理 弹窗-->
<VersionModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<PublishModal
@
register=
"registerModalPublish"
/>
</div>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -79,6 +81,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/domain/publishModal.vue"
;
const
route
=
useRoute
()
const
title
=
ref
(
''
)
const
formData
=
ref
({})
...
...
@@ -87,6 +90,7 @@ const isShow = ref(false)
const
optionValue
=
ref
(
'v1'
)
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
{
createMessage
,
createConfirm
}
=
useMessage
();
const
[
registerModalPublish
,
{
openModal
:
openModalPublish
}]
=
useModal
();
const
[
registerForm1
,
{
setFieldsValue
:
setFieldsValue1
}]
=
useForm
({
labelWidth
:
100
,
baseColProps
:
{
lg
:
12
,
md
:
24
},
...
...
@@ -148,6 +152,10 @@ function handleChange(value) {
}
function
publishButton
()
{
openModalPublish
(
true
,
{});
}
/**回滚*/
function
resetButton
(
value
)
{
createMessage
.
success
(
'回滚成功!'
)
...
...
src/views/dataStandards/referenceDocument/referenceDocument.data.ts
View file @
9d1f59b3
...
...
@@ -797,3 +797,92 @@ export const copyFormSchema: any[] = [
},
},
];
export
const
contrastSchema
:
any
[]
=
[
{
field
:
'valueOne'
,
label
:
'所属主题'
,
component
:
'Input'
,
colProps
:
{
lg
:
12
,
md
:
8
},
defaultValue
:
'标准文件管理'
,
componentProps
:
{
placeholder
:
'请输入所属主题'
,
},
},
{
field
:
'valueTwo'
,
label
:
'标准编号'
,
component
:
'Input'
,
defaultValue
:
'REF000023'
,
colProps
:
{
lg
:
12
,
md
:
8
},
componentProps
:
{
placeholder
:
'请输入标准编号'
,
},
},
{
field
:
'valueThree'
,
label
:
'标准中文名称'
,
component
:
'Input'
,
defaultValue
:
'标准文件A'
,
colProps
:
{
lg
:
12
,
md
:
8
},
rules
:
[
{
required
:
true
,
message
:
'请输入标准中文名称'
,
},
],
componentProps
:
{
placeholder
:
'请输入标准中文名称'
,
},
},
{
field
:
'valueFour'
,
label
:
'来源定义'
,
component
:
'Input'
,
colProps
:
{
lg
:
12
,
md
:
8
},
defaultValue
:
'-'
,
componentProps
:
{
placeholder
:
'请输入来源定义'
,
},
},
{
field
:
'valueFive'
,
label
:
'发文机构'
,
component
:
'Input'
,
defaultValue
:
'某部队'
,
colProps
:
{
lg
:
12
,
md
:
8
},
componentProps
:
{
placeholder
:
'请输入发文机构'
,
},
},
{
field
:
'valueSix'
,
label
:
'发文日期'
,
component
:
'Input'
,
defaultValue
:
'202304'
,
colProps
:
{
lg
:
12
,
md
:
8
},
componentProps
:
{
placeholder
:
'请输入发文机构'
,
},
},
{
field
:
'valueSeven'
,
label
:
'发布文号'
,
component
:
'Input'
,
defaultValue
:
'2023001'
,
colProps
:
{
lg
:
12
,
md
:
8
},
componentProps
:
{
placeholder
:
'请输入发布文号'
,
},
},
{
field
:
'valueEight'
,
label
:
'重点摘录'
,
component
:
'Input'
,
defaultValue
:
'-'
,
colProps
:
{
lg
:
12
,
md
:
8
},
componentProps
:
{
placeholder
:
'请输入重点摘录'
,
},
},
]
src/views/dataStandards/referenceDocument/versionContrast.vue
0 → 100644
View file @
9d1f59b3
<
template
>
<PageWrapper
title=
"版本对比"
contentFullHeight
contentBackground
contentClass=
"flex"
>
<template
#
footer
>
<div
style=
"display: flex; justify-content: flex-end; padding-bottom: 10px"
>
<a-button
style=
"margin-right: 5px"
type=
"primary"
@
click=
"startContrast"
>
开始对比
</a-button>
<a-button
style=
"margin-right: 5px"
type=
"primary"
@
click=
"endContrast"
>
结束对比
</a-button>
</div>
</
template
>
<div
class=
"w-1/2 xl:w-1/2 pl-4"
>
<div
style=
"display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px"
>
<div
style=
"margin-top: 10px;display: flex;font-weight: bold;font-size: 20px;margin-left: 10px"
>
<Icon
icon=
"ion:layers-outline"
:size=
"25"
:color=
"'#1091FE'"
/>
{{title}}
<div
style=
"font-size: 15px;padding-left: 10px;padding-left: 50px"
>
<div>
版本
<Select
v-model:value=
"optionValue"
show-search
placeholder=
"请选择版本"
style=
"width: 200px;margin-left: 10px"
:options=
"options"
@
change=
"handleChange"
></Select>
</div>
</div>
</div>
</div>
<div>
<BasicForm
@
register=
"registerLeftForm"
>
<
template
#
businessRule=
"{ model, field }"
>
<span
style=
"color: red"
v-if=
"startContrastFlag"
>
{{
model
.
businessRule
}}
</span>
<span
style=
"color: black"
v-else
>
{{
model
.
businessRule
}}
</span>
</
template
>
</BasicForm>
</div>
</div>
<div
class=
"w-1/2 xl:w-1/2"
>
<div
style=
"display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px"
>
<div
style=
"margin-top: 10px;display: flex;font-weight: bold;font-size: 20px;margin-left: 10px"
>
<Icon
icon=
"ion:layers-outline"
:size=
"25"
:color=
"'#1091FE'"
/>
{{title}}
<div
style=
"font-size: 15px;padding-left: 10px;padding-left: 50px"
>
<div>
版本
<Select
v-model:value=
"optionValue1"
show-search
placeholder=
"请选择版本"
style=
"width: 200px;margin-left: 10px"
:options=
"options1"
@
change=
"handleChange"
></Select>
</div>
</div>
</div>
</div>
<div>
<BasicForm
@
register=
"registerRightForm"
>
<
template
#
businessRule=
"{ model, field }"
>
<span
style=
"color: red"
v-if=
"startContrastFlag"
>
{{
model
.
businessRule
}}
</span>
<span
style=
"color: black"
v-else
>
{{
model
.
businessRule
}}
</span>
</
template
>
</BasicForm>
</div>
</div>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
{
contrastSchema
}
from
'./referenceDocument.data'
;
import
{
leftContrastData
,
rightContrastData
}
from
'@/views/dataStandards/basicStandards/basicStandardsData'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
onMounted
,
ref
}
from
"vue"
;
import
{
Select
}
from
'ant-design-vue'
;
import
Icon
from
'@/components/Icon/Icon.vue'
;
import
{
router
}
from
"@/router"
;
import
{
useRoute
,
onBeforeRouteLeave
}
from
'vue-router'
;
defineOptions
({
name
:
'Metadata'
});
const
route
=
useRoute
();
const
title
=
ref
(
'标准文件A'
)
const
startContrastFlag
=
ref
(
false
)
const
options
=
ref
<
any
>
([
{
value
:
'V1'
,
label
:
'V1'
},
{
value
:
'V2'
,
label
:
'V2'
},
{
value
:
'V3'
,
label
:
'V3'
},
]);
const
options1
=
ref
<
any
>
([
{
value
:
'V1'
,
label
:
'V1'
},
{
value
:
'V2'
,
label
:
'V2'
},
{
value
:
'V3'
,
label
:
'V3'
},
]);
const
optionValue
=
ref
(
''
)
const
optionValue1
=
ref
(
''
)
const
{
createMessage
}
=
useMessage
();
const
[
registerLeftForm
,{
setFieldsValue
:
setLeftFieldsValue
}]
=
useForm
({
labelWidth
:
100
,
schemas
:
contrastSchema
,
showActionButtonGroup
:
false
,
});
const
[
registerRightForm
,{
setFieldsValue
:
setRightFieldsValue
}]
=
useForm
({
labelWidth
:
100
,
schemas
:
contrastSchema
,
showActionButtonGroup
:
false
,
});
/**开始对比*/
function
startContrast
()
{
createMessage
.
info
(
'开始对比'
);
startContrastFlag
.
value
=
true
}
/**结束对比*/
function
endContrast
()
{
createMessage
.
info
(
'结束对比'
);
router
.
go
(
-
1
);
// startContrastFlag.value = false
// router.push({
// path: '/dataStandards/basicStandards/detailStandard',
// query: {
// businessId:route.query.businessId,
// },
// });
}
onMounted
(()
=>
{
optionValue
.
value
=
'V3'
optionValue1
.
value
=
'V1'
setLeftFieldsValue
({
...
leftContrastData
[
0
],
})
setRightFieldsValue
({
...
rightContrastData
[
0
],
})
});
</
script
>
src/views/realTimeSync/taskOperationsMaintenance/maintenanceData.ts
View file @
9d1f59b3
...
...
@@ -247,6 +247,37 @@ export const detailTableData: any[] = [
targetWriteCount
:
'1'
,
syncPoint
:
'5912330'
,
},
{
businessId
:
'8'
,
checkBatch
:
'2023-06-21 19:25:00'
,
statisticalTime
:
'2023-06-21 19:25:00'
,
sourceParseCount
:
'4'
,
kafkaWriteCount
:
'4'
,
kafkaConsumeCount
:
'1'
,
targetWriteCount
:
'4'
,
syncPoint
:
'5912330'
,
},
{
businessId
:
'9'
,
checkBatch
:
'2023-06-21 19:25:00'
,
statisticalTime
:
'2023-06-21 19:25:00'
,
sourceParseCount
:
'3'
,
kafkaWriteCount
:
'3'
,
kafkaConsumeCount
:
'1'
,
targetWriteCount
:
'3'
,
syncPoint
:
'5912330'
,
},
{
businessId
:
'10'
,
checkBatch
:
'2023-06-21 19:25:00'
,
statisticalTime
:
'2023-06-21 19:25:00'
,
sourceParseCount
:
'2'
,
kafkaWriteCount
:
'2'
,
kafkaConsumeCount
:
'1'
,
targetWriteCount
:
'2'
,
syncPoint
:
'5912330'
,
},
];
/**详情页列表 数据2*/
export
const
detailTableData2
:
any
[]
=
[
...
...
src/views/realTimeSync/taskOperationsMaintenance/workDetail.vue
View file @
9d1f59b3
...
...
@@ -41,8 +41,8 @@
</div>
<div
style=
"margin-right: 10px"
>
<RadioGroup
v-model:value=
"selectRadio"
button-style=
"solid"
>
<RadioButton
value=
"1"
>
展示所有批次
</RadioButton>
<RadioButton
value=
"2"
>
过滤有差异批次
</RadioButton>
<RadioButton
value=
"1"
@
click=
"handleOut('1')"
>
展示所有批次
</RadioButton>
<RadioButton
value=
"2"
@
click=
"handleOut('2')"
>
过滤有差异批次
</RadioButton>
</RadioGroup>
</div>
</div>
...
...
@@ -880,7 +880,7 @@
type
RangeValue
=
[
Dayjs
,
Dayjs
];
const
value1
=
ref
<
RangeValue
>
();
const
value2
=
ref
<
RangeValue
>
();
const
selectRadio
=
ref
(
''
);
const
selectRadio
=
ref
(
'
1
'
);
const
optionValue
=
ref
(
'1'
);
const
options
=
ref
([
{
...
...
@@ -923,21 +923,35 @@
getColor
();
});
});
// 返回数据
if
(
selectRadio
.
value
===
'1'
)
{
return
detailTableData
;
}
else
{
return
detailTableData
.
filter
((
item
)
=>
{
return
!
(
item
.
sourceParseCount
!==
item
.
kafkaWriteCount
||
item
.
kafkaWriteCount
!==
item
.
targetWriteCount
);
});
}
}
const
[
registerTable1
,
{
setTableData
,
reload
}]
=
useTable
({
title
:
''
,
api
:
async
(
params
)
=>
{
getData
();
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
detailTableData
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
const
data
=
getData
();
return
{
data
:
data
,
};
return
{
...
response
,
data
:
detailTableData
};
// const response = {
// pageNu: '1',
// pageSize: '10',
// pages: '1',
// total: [].length,
// code: '',
// message: '',
// data: [],
// };
// return { ...response, data: detailTableData };
},
columns
:
detailColumns
,
useSearchForm
:
false
,
...
...
@@ -1738,11 +1752,15 @@
const
tdList
=
item
.
querySelectorAll
(
'td'
);
console
.
log
(
'text'
,
tdList
[
0
].
text
);
if
(
tdList
[
0
].
text
)
{
}
// domList[item].style.backgroundColor = '#FFEDD8';
}
}
function
handleOut
(
data
)
{
selectRadio
.
value
=
data
;
reload
();
}
/**初始化*/
onMounted
(()
=>
{
getEchartsData
();
...
...
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