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
0582be48
Commit
0582be48
authored
Dec 05, 2024
by
LiXuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
文件-改
parent
6a8b4f04
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2068 additions
and
377 deletions
+2068
-377
index.ts
src/router/routes/index.ts
+1
-1
DeptTree.vue
src/views/mallResourceDevelopment/tag/publicTag/DeptTree.vue
+74
-0
GroupTree.vue
...views/mallResourceDevelopment/tag/publicTag/GroupTree.vue
+88
-0
applyForPushNotificationsModal.vue
...elopment/tag/publicTag/applyForPushNotificationsModal.vue
+97
-0
columnInformation.vue
...llResourceDevelopment/tag/publicTag/columnInformation.vue
+113
-0
commonDataSet.data.ts
...llResourceDevelopment/tag/publicTag/commonDataSet.data.ts
+115
-0
editAuditRulesModal.vue
...ResourceDevelopment/tag/publicTag/editAuditRulesModal.vue
+147
-0
essentialInformation.vue
...esourceDevelopment/tag/publicTag/essentialInformation.vue
+100
-0
index.vue
src/views/mallResourceDevelopment/tag/publicTag/index.vue
+389
-193
mock.ts
src/views/mallResourceDevelopment/tag/publicTag/mock.ts
+642
-0
partyHistoryKnowledgeCompetition.vue
...opment/tag/publicTag/partyHistoryKnowledgeCompetition.vue
+101
-0
partyMemberDevelopmentPlan.vue
...eDevelopment/tag/publicTag/partyMemberDevelopmentPlan.vue
+100
-0
public.data.ts
...iews/mallResourceDevelopment/tag/publicTag/public.data.ts
+0
-60
publicData.ts
...views/mallResourceDevelopment/tag/publicTag/publicData.ts
+0
-123
themeEducationActivities.vue
...rceDevelopment/tag/publicTag/themeEducationActivities.vue
+101
-0
No files found.
src/router/routes/index.ts
View file @
0582be48
...
...
@@ -824,7 +824,7 @@ export const sqlExecuteRoute: AppRouteRecordRaw = {
// {
// path: 'sqlDevelopment/index',
// name: 'index',
// component: () => import('@/views/scriptDevelopment/sqlDevelopment/index.vue'),
// component: () => import('@/views/scriptDevelopment/sqlDevelopment/index
_old
.vue'),
// meta: {
// title: 'Sql开发',
// icon: '',
...
...
src/views/mallResourceDevelopment/tag/publicTag/DeptTree.vue
0 → 100644
View file @
0582be48
<
template
>
<div
class=
"m-4 mr-0 overflow-hidden bg-white"
>
<BasicTree
ref=
"treeRef"
toolbar
search
treeWrapperClassName=
"h-[calc(100%-35px)] overflow-auto"
:clickRowToExpand=
"false"
:defaultExpandAll=
"true"
:treeData=
"treeData"
:fieldNames=
"
{ key: 'selectedDeptId', title: 'name', }"
@select="handleSelect"
/>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
nextTick
,
onMounted
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'@/components/Tree'
;
import
{
Nullable
}
from
'@vben/types'
;
import
{
tableList
,
treeDataList
}
from
'./mock'
;
defineOptions
({
name
:
'DeptTree'
});
const
emit
=
defineEmits
([
'select'
]);
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
// 合并数据的函数
function
mergeTreeDataWithTableList
(
treeDataList
,
tableList
)
{
return
treeDataList
.
map
((
treeNode
)
=>
{
// 找到对应的tableList项,合并name属性
const
tableItem
=
tableList
.
find
((
item
)
=>
item
.
selectedDeptId
===
treeNode
.
selectedDeptId
);
if
(
tableItem
)
{
treeNode
.
name
=
tableItem
.
name
;
// 将tableList中的name添加到treeNode
}
// 如果有子节点,递归处理
if
(
treeNode
.
children
&&
treeNode
.
children
.
length
>
0
)
{
treeNode
.
children
=
mergeTreeDataWithTableList
(
treeNode
.
children
,
tableList
);
}
return
treeNode
;
});
}
async
function
fetch
()
{
// 合并树形数据和表格数据
treeData
.
value
=
mergeTreeDataWithTableList
(
treeDataList
,
tableList
);
await
nextTick
(()
=>
{
getTree
(
treeRef
).
expandAll
(
true
);
});
}
function
getTree
(
treeRef
)
{
const
tree
=
unref
(
treeRef
);
if
(
!
tree
)
{
throw
new
Error
(
'tree is null!'
);
}
return
tree
;
}
function
handleSelect
(
selectedDeptId
)
{
emit
(
'select'
,
selectedDeptId
[
0
]);
console
.
log
(
'selectedDeptId:'
,
selectedDeptId
);
}
onMounted
(()
=>
{
fetch
();
});
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/GroupTree.vue
0 → 100644
View file @
0582be48
<
template
>
<div
style=
"min-width: 250px; min-height: 850px"
>
<BasicTree
style=
"padding-left: 15px"
title=
" "
search
ref=
"treeRef"
treeWrapperClassName=
"h-[calc(100%-35px)] overflow-auto"
:defaultExpandAll=
"true"
:treeData=
"treeData"
:fieldNames=
"
{ key: 'businessId', title: 'workSpaceName' }"
@select="handleSelect"
/>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
nextTick
,
onMounted
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'@/components/Tree'
;
import
{
Nullable
}
from
'packages/types/src/index'
;
import
{
TreeData
}
from
'./mock.ts'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useModal
}
from
'@/components/Modal'
;
const
emit
=
defineEmits
([
'select'
]);
const
{
createMessage
}
=
useMessage
();
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
function
getTree
()
{
const
tree
=
unref
(
treeRef
);
if
(
!
tree
)
{
throw
new
Error
(
'tree is null!'
);
}
return
tree
;
}
const
[
registerModal
,
{
openModal
}]
=
useModal
();
async
function
fetch
()
{
treeData
.
value
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
await
nextTick
(()
=>
{
getTree
().
expandAll
(
true
);
});
}
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
id
=
id
||
'id'
;
parentId
=
parentId
||
'parentId'
;
children
=
children
||
'children'
;
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
((
item
)
=>
{
return
item
[
parentId
];
}),
)
||
0
;
// 对源数据深度克隆
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 循环所有项
const
treeData
=
cloneData
.
filter
((
father
)
=>
{
const
branchArr
=
cloneData
.
filter
((
child
)
=>
{
// 返回每一项的子级数组
return
father
[
id
]
===
child
[
parentId
];
});
branchArr
.
length
>
0
?
(
father
.
children
=
branchArr
)
:
''
;
// 返回第一层
return
father
[
parentId
]
===
rootId
;
});
return
treeData
!==
''
?
treeData
:
data
;
}
function
handleSelect
()
{
const
keys
=
getTree
().
getSelectedKeys
();
const
node
=
getTree
().
getSelectedNode
(
keys
[
0
]);
// console.log('node', node);
emit
(
'select'
,
node
);
}
// /**选中的数据*/
// function handleSelect(keys) {
// console.log(keys);
// emit('select', keys[0]);
// }
onMounted
(()
=>
{
fetch
();
});
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/applyForPushNotificationsModal.vue
0 → 100644
View file @
0582be48
<
template
>
<div
style=
"background: white; padding: 20px"
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
style=
"padding: 20px"
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex flex-col"
class=
"toolbar"
style=
"width: 910px"
>
<div
class=
"toolbar"
>
<div
style=
"display: flex; align-items: center; justify-content: space-between; width: 100%;"
>
<h1
style=
"margin-top: 15px"
>
{{
title
}}
</h1>
<div
style=
"display: flex; gap: 15px;"
>
<a-button
type=
"primary"
@
click=
"goBack"
>
取消
</a-button>
<a-button
type=
"primary"
>
申请检测
</a-button>
<a-button
type=
"primary"
@
click=
"submitForm"
>
提交申请
</a-button>
</div>
</div>
</div>
<hr
style=
"border: 1px solid #dee3f0; width: 100%; margin: 20px auto"
/>
<p
style=
"margin: 35px; color: #1b8bf8; font-weight: bold"
>
申请信息
</p>
<BasicForm
size=
"middle"
:bordered=
"false"
:column=
"2"
@
register=
"registerGuideModeForm"
/>
<p
style=
"margin: 35px; color: #1b8bf8; font-weight: bold"
>
推送配置
</p>
<BasicForm
size=
"middle"
:bordered=
"false"
:column=
"2"
@
register=
"pushConfigurationModeForm"
/>
</PageWrapper>
</PageWrapper>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
PageWrapper
}
from
'@/components/Page'
;
import
{
personSchema
,
pushConfiguration
}
from
'./mock'
;
import
{
ref
}
from
'vue'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
useMessage
}
from
"@/hooks/web/useMessage"
;
const
{
createMessage
}
=
useMessage
();
const
title
=
ref
(
'申请推送<wyx_contact>等1个资源'
);
const
[
registerGuideModeForm
,{
validate
,
getFieldsValue
:
getFieldsValueValiate
,}]
=
useForm
({
labelWidth
:
100
,
schemas
:
personSchema
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
const
[
pushConfigurationModeForm
,{
validate
:
validatePushConfig
,
getFieldsValue
:
getFieldsValueValiateL
,}]
=
useForm
({
labelWidth
:
100
,
schemas
:
pushConfiguration
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
// 提交表单的方法
const
submitForm
=
()
=>
{
validate
()
validatePushConfig
()
.
then
(()
=>
{
console
.
log
(
getFieldsValueValiate
(),
getFieldsValueValiateL
());
createMessage
.
success
(
`表单已提交`
);
})
.
catch
(()
=>
{
createMessage
.
error
(
`请输入必填项`
);
});
};
const
goBack
=
()
=>
{
window
.
history
.
back
();
};
</
script
>
<
style
scoped
></
style
>
src/views/mallResourceDevelopment/tag/publicTag/columnInformation.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<DeptTree
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<editAuditRulesModal
style=
"background: #cc0000;"
class=
"w-3/4 xl:w-4/5"
v-if=
"isSpecificDeptSelected"
/>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
v-else
>
<template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
@
click=
"pushNotifications"
>
推送
</a-button>
<a-button
type=
"primary"
>
下载
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
computed
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
DeptTree
from
'./DeptTree.vue'
;
import
{
ref
}
from
'vue'
;
import
{
columnInformationList
}
from
'./mock'
;
import
{
columns
}
from
'./commonDataSet.data'
;
import
EditAuditRulesModal
from
"./editAuditRulesModal.vue"
;
import
{
router
}
from
"@/router"
;
defineOptions
({
name
:
'AccountManagement'
});
const
isSpecificDeptSelected
=
computed
(()
=>
{
return
[
23
,
24
,
25
].
includes
(
selectedDeptId
.
value
);
});
// 选中的部门ID
const
selectedDeptId
=
ref
<
string
|
null
>
(
null
);
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
},
]
=
useTable
({
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
columnInformationList
.
length
,
code
:
''
,
message
:
''
,
data
:
columnInformationList
,
};
return
{
...
response
};
},
rowKey
:
'businessId'
,
columns
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
},
rowSelection
:
false
,
useSearchForm
:
false
,
showIndexColumn
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
},
});
/**推送*/
function
pushNotifications
()
{
router
.
push
({
path
:
'/mallResourceDevelopment/dataSet/commonDataSet/applyForPushNotificationsModal'
,
query
:
{},
});
}
// 处理选择节点事件
const
handleSelect
=
(
deptId
)
=>
{
selectedDeptId
.
value
=
deptId
;
console
.
log
(
'选择节点selectedDeptId:'
,
deptId
);
}
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/commonDataSet.data.ts
0 → 100644
View file @
0582be48
import
{
BasicColumn
}
from
'@/components/Table'
;
export
const
Columns
:
BasicColumn
[]
=
[
{
title
:
'名称'
,
dataIndex
:
'title'
,
},
{
title
:
'部门'
,
dataIndex
:
'dept'
,
},
{
title
:
'标签'
,
dataIndex
:
'label'
,
},
{
title
:
'描述'
,
dataIndex
:
'description'
,
},
{
title
:
'创建人'
,
dataIndex
:
'createdBy'
,
},
{
title
:
'创建时间'
,
dataIndex
:
'createdTime'
,
},
{
title
:
'浏览次数'
,
dataIndex
:
'view'
,
},
{
title
:
'推送次数'
,
dataIndex
:
'edit'
,
},
{
title
:
'共享类型'
,
dataIndex
:
'isShare'
,
slots
:
{
customRender
:
'isShare'
},
},
];
export
const
columns
:
BasicColumn
[]
=
[
{
title
:
'列名'
,
dataIndex
:
'columnName'
,
width
:
110
,
},
{
title
:
'中文名'
,
dataIndex
:
'chineseName'
,
width
:
120
,
},
{
title
:
'字段描述'
,
dataIndex
:
'fieldDescription'
,
width
:
120
,
},
{
title
:
'字段类型'
,
dataIndex
:
'fieldType'
,
width
:
120
,
},
{
title
:
'敏感状态'
,
dataIndex
:
'sensitiveState'
,
width
:
120
,
},
{
title
:
'安全分级'
,
dataIndex
:
'securityClassification'
,
width
:
120
,
},
{
title
:
'敏感类型'
,
dataIndex
:
'sensitiveType'
,
width
:
110
,
},
{
title
:
'数据标准'
,
dataIndex
:
'dataStandards'
,
width
:
150
,
},
];
export
const
samplingInfoData
:
any
[]
=
[
{
name
:
'zhangsan'
,
phone_number_string
:
'12345678901'
,
student_id
:
'TEST1'
,
major
:
'-'
,
origin_city
:
'河南省'
,
ethnic
:
'汉族'
,
},
{
name
:
'李四'
,
phone_number_string
:
'12345678902'
,
student_id
:
'TEST2'
,
major
:
'-'
,
origin_city
:
'吉林省'
,
ethnic
:
'汉族'
,
},
{
name
:
'wangwu'
,
phone_number_string
:
'12345678903'
,
student_id
:
'TEST6'
,
major
:
'-'
,
origin_city
:
'上海市'
,
ethnic
:
'汉族'
,
},
];
src/views/mallResourceDevelopment/tag/publicTag/editAuditRulesModal.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<BasicTable
@
register=
"registerColumnInformationDataTable"
>
<template
#
fileName=
"
{ text }">
<div>
{{
text
}}
<Switch
:checked=
"'1' === '1'"
/>
</div>
</
template
>
<
template
#
headerCell=
"{ column, title }"
>
<span>
{{
title
}}
</span
><br
/>
<Tag
color=
"orange"
v-if=
"column.key != 'origin_city'"
>
{{
'敏感'
}}
</Tag>
<span
style=
"font-size: 12px"
>
{{
column
.
type
}}
</span>
</
template
>
<
template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
@
click=
"pushNotifications"
>
推送
</a-button>
<a-button
type=
"primary"
>
下载
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
PageWrapper
}
from
'@/components/Page'
;
import
{
tableList
}
from
'./mock'
;
import
{
computed
,
ref
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
Switch
,
Tag
}
from
'ant-design-vue'
;
import
{
samplingInfoData
,
}
from
'./commonDataSet.data'
;
import
{
router
}
from
"@/router"
;
const
infoDataColumns
:
{
dataIndex
:
string
;
width
:
number
;
title
:
string
}[]
=
[
{
title
:
'name (姓名)'
,
type
:
'string'
,
dataIndex
:
'name'
,
width
:
130
,
},
{
title
:
'phone_number_string (手机号)'
,
type
:
'string'
,
dataIndex
:
'phone_number_string'
,
width
:
190
,
},
{
title
:
'student_id (学号)'
,
type
:
'string'
,
dataIndex
:
'student_id'
,
width
:
130
,
},
{
title
:
'major (专业)'
,
type
:
'string'
,
dataIndex
:
'major'
,
width
:
130
,
},
{
title
:
'origin_city (生源地)'
,
type
:
'string'
,
dataIndex
:
'origin_city'
,
width
:
130
,
},
{
title
:
'ethnic (民族)'
,
type
:
'string'
,
dataIndex
:
'ethnic'
,
width
:
130
,
},
];
const
samplingTableData
=
ref
(
samplingInfoData
);
const
pros
=
defineProps
({
deptId
:
{
type
:
Number
,
default
:
0
,
},
});
// 初始化 info 为一个响应式对象
const
info
=
computed
(()
=>
{
const
list
=
tableList
;
const
index
=
list
.
findIndex
((
item
)
=>
{
return
item
.
selectedDeptId
===
pros
.
deptId
;
// 添加 return 关键字
});
console
.
log
(
'list'
,
list
);
console
.
log
(
'index'
,
index
);
console
.
log
(
'deptId'
,
pros
.
deptId
);
if
(
index
!==
-
1
)
{
return
list
[
index
];
}
return
{};
});
function
pushNotifications
()
{
router
.
push
({
path
:
'/mallResourceDevelopment/dataSet/commonDataSet/applyForPushNotificationsModal'
,
query
:
{},
});
}
const
[
registerColumnInformationDataTable
]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNum
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
samplingTableData
.
value
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
};
//过滤data中的数据,取出等于params.deptId的数据
let
data
=
samplingInfoData
.
filter
((
item
)
=>
item
.
parentId
!==
0
);
// 根据需求过滤数据
data
=
data
.
map
((
item
)
=>
{
const
transformedItem
=
{
...
item
};
// 遍历每个字段,将除了 origin_city 外的字段替换成 '*'
Object
.
keys
(
transformedItem
).
forEach
((
key
)
=>
{
if
(
key
!==
'origin_city'
)
{
transformedItem
[
key
]
=
'******'
;
}
});
return
transformedItem
;
});
return
{
...
response
,
data
};
},
// dataSource: infoData,
columns
:
infoDataColumns
,
pagination
:
false
,
showIndexColumn
:
false
,
scroll
:
{
y
:
400
},
});
</
script
>
<
style
scoped
></
style
>
src/views/mallResourceDevelopment/tag/publicTag/essentialInformation.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<DeptTree
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<editAuditRulesModal
style=
"background: #cc0000;"
class=
"w-3/4 xl:w-4/5"
v-if=
"isSpecificDeptSelected"
/>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
v-else
>
<template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
>
新建文件夹
</a-button>
<a-button
type=
"primary"
>
新建文件
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
computed
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
DeptTree
from
'./DeptTree.vue'
;
import
{
ref
}
from
'vue'
;
import
{
columnInformationList
}
from
'./mock'
;
import
{
columns
}
from
'./commonDataSet.data'
;
import
EditAuditRulesModal
from
"@/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
isSpecificDeptSelected
=
computed
(()
=>
{
return
[
23
,
24
,
25
].
includes
(
selectedDeptId
.
value
);
});
// 选中的部门ID
const
selectedDeptId
=
ref
<
string
|
null
>
(
null
);
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
},
]
=
useTable
({
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
columnInformationList
.
length
,
code
:
''
,
message
:
''
,
data
:
columnInformationList
,
};
return
{
...
response
};
},
rowKey
:
'businessId'
,
columns
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
},
rowSelection
:
false
,
useSearchForm
:
false
,
showIndexColumn
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
},
});
// 处理选择节点事件
const
handleSelect
=
(
deptId
)
=>
{
selectedDeptId
.
value
=
deptId
;
console
.
log
(
'选择节点selectedDeptId:'
,
deptId
);
}
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/index.vue
View file @
0582be48
This diff is collapsed.
Click to expand it.
src/views/mallResourceDevelopment/tag/publicTag/mock.ts
0 → 100644
View file @
0582be48
This diff is collapsed.
Click to expand it.
src/views/mallResourceDevelopment/tag/publicTag/partyHistoryKnowledgeCompetition.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<DeptTree
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<editAuditRulesModal
style=
"background: #cc0000;"
class=
"w-3/4 xl:w-4/5"
v-if=
"isSpecificDeptSelected"
/>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
v-else
>
<template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
>
新建文件夹
</a-button>
<a-button
type=
"primary"
>
新建文件
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
computed
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
DeptTree
from
'./DeptTree.vue'
;
import
{
ref
}
from
'vue'
;
import
{
columnInformationList
}
from
'./mock'
;
import
{
columns
}
from
'./commonDataSet.data'
;
import
EditAuditRulesModal
from
"@/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
isSpecificDeptSelected
=
computed
(()
=>
{
return
[
23
,
24
,
25
].
includes
(
selectedDeptId
.
value
);
});
// 选中的部门ID
const
selectedDeptId
=
ref
<
string
|
null
>
(
null
);
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
},
]
=
useTable
({
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
columnInformationList
.
length
,
code
:
''
,
message
:
''
,
data
:
columnInformationList
,
};
return
{
...
response
};
},
rowKey
:
'businessId'
,
columns
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
},
rowSelection
:
false
,
useSearchForm
:
false
,
showIndexColumn
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
},
});
// 处理选择节点事件
const
handleSelect
=
(
deptId
)
=>
{
selectedDeptId
.
value
=
deptId
;
console
.
log
(
'选择节点selectedDeptId:'
,
deptId
);
}
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/partyMemberDevelopmentPlan.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<DeptTree
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<editAuditRulesModal
style=
"background: #cc0000;"
class=
"w-3/4 xl:w-4/5"
v-if=
"isSpecificDeptSelected"
/>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
v-else
>
<template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
>
新建文件夹
</a-button>
<a-button
type=
"primary"
>
新建文件
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
computed
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
DeptTree
from
'./DeptTree.vue'
;
import
{
ref
}
from
'vue'
;
import
{
columnInformationList
}
from
'./mock'
;
import
{
columns
}
from
'./commonDataSet.data'
;
import
EditAuditRulesModal
from
"@/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
isSpecificDeptSelected
=
computed
(()
=>
{
return
[
23
,
24
,
25
].
includes
(
selectedDeptId
.
value
);
});
// 选中的部门ID
const
selectedDeptId
=
ref
<
string
|
null
>
(
null
);
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
},
]
=
useTable
({
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
columnInformationList
.
length
,
code
:
''
,
message
:
''
,
data
:
columnInformationList
,
};
return
{
...
response
};
},
rowKey
:
'businessId'
,
columns
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
},
rowSelection
:
false
,
useSearchForm
:
false
,
showIndexColumn
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
},
});
// 处理选择节点事件
const
handleSelect
=
(
deptId
)
=>
{
selectedDeptId
.
value
=
deptId
;
console
.
log
(
'选择节点selectedDeptId:'
,
deptId
);
}
</
script
>
src/views/mallResourceDevelopment/tag/publicTag/public.data.ts
deleted
100644 → 0
View file @
6a8b4f04
import
{
FormSchema
}
from
"@/components/Form"
;
import
{
InputProps
,
SelectProps
}
from
"ant-design-vue"
;
import
{
BasicColumn
}
from
"@/components/Table"
;
export
const
publicFormSchema
:
FormSchema
[]
=
[
{
field
:
'key'
,
component
:
'Input'
,
componentProps
:
{
placeholder
:
'搜索编目或数据集'
,
}
as
InputProps
,
},
{
field
:
'type'
,
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'共享类型'
,
value
:
'共享类型'
,
},
],
}
as
SelectProps
,
},
];
export
const
publicTableColumn
:
BasicColumn
[]
=
[
{
title
:
'名称'
,
dataIndex
:
'title'
,
},
{
title
:
'部门'
,
dataIndex
:
'dept'
,
},
{
title
:
'描述'
,
dataIndex
:
'des'
,
},
{
title
:
'创建人'
,
dataIndex
:
'createdBy'
,
},
{
title
:
'创建时间'
,
dataIndex
:
'createdTime'
,
},
{
title
:
'浏览次数'
,
dataIndex
:
'num1'
,
},
{
title
:
'推送次数'
,
dataIndex
:
'num2'
,
},
{
title
:
'共享类型'
,
dataIndex
:
'isShare'
,
slots
:
{
customRender
:
'isShare'
},
},
];
src/views/mallResourceDevelopment/tag/publicTag/publicData.ts
deleted
100644 → 0
View file @
6a8b4f04
export
const
publicTreeData
=
[
{
title
:
'公共标签'
,
key
:
'0'
,
icon
:
'ant-design:folder-outlined'
,
children
:
[
{
title
:
'战略规划'
,
key
:
'0-0'
,
icon
:
'ant-design:folder-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'5'
,
num2
:
'0'
,
children
:
[
{
title
:
'战略标签1'
,
key
:
'0-0-0'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
{
title
:
'战略标签2'
,
key
:
'0-0-1'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
],
},
{
title
:
'业务运营'
,
key
:
'0-1'
,
icon
:
'ant-design:folder-outlined'
,
children
:
[
{
title
:
'运营标签1'
,
key
:
'0-1-0'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
{
title
:
'运营标签2'
,
key
:
'0-1-1'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
],
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
time
:
'2024/07/23 10:20:29'
,
num1
:
'157'
,
num2
:
'0'
,
},
{
title
:
'管理支持'
,
key
:
'0-2'
,
icon
:
'ant-design:folder-outlined'
,
children
:
[
{
title
:
'管理支持1'
,
key
:
'0-2-0'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
{
title
:
'管理支持2'
,
key
:
'0-2-1'
,
icon
:
'ant-design:tag-outlined'
,
time
:
'2024/07/23 10:20:15'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'53'
,
num2
:
'0'
,
},
],
time
:
'2024/07/23 10:20:40'
,
dept
:
'部门1'
,
des
:
'描述1'
,
createdBy
:
'admin'
,
createdTime
:
'2023/12/11 15:24:37'
,
num1
:
'13'
,
num2
:
'0'
,
},
],
},
];
src/views/mallResourceDevelopment/tag/publicTag/themeEducationActivities.vue
0 → 100644
View file @
0582be48
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<DeptTree
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<editAuditRulesModal
style=
"background: #cc0000;"
class=
"w-3/4 xl:w-4/5"
v-if=
"isSpecificDeptSelected"
/>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
v-else
>
<template
#
toolbar
>
<a-input
style=
"width: 200px; margin-right: auto"
placeholder=
"输入关键字搜索"
allowClear
/>
<a-button
type=
"primary"
>
新建文件夹
</a-button>
<a-button
type=
"primary"
>
新建文件
</a-button>
</
template
>
</BasicTable>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
computed
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
DeptTree
from
'./DeptTree.vue'
;
import
{
ref
}
from
'vue'
;
import
{
columnInformationList
}
from
'./mock'
;
import
{
columns
}
from
'./commonDataSet.data'
;
import
EditAuditRulesModal
from
"@/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue"
;
defineOptions
({
name
:
'AccountManagement'
});
const
isSpecificDeptSelected
=
computed
(()
=>
{
return
[
23
,
24
,
25
].
includes
(
selectedDeptId
.
value
);
});
// 选中的部门ID
const
selectedDeptId
=
ref
<
string
|
null
>
(
null
);
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
registerTable
,
{
},
]
=
useTable
({
api
:
async
(
params
)
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
columnInformationList
.
length
,
code
:
''
,
message
:
''
,
data
:
columnInformationList
,
};
return
{
...
response
};
},
rowKey
:
'businessId'
,
columns
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
},
rowSelection
:
false
,
useSearchForm
:
false
,
showIndexColumn
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
},
});
// 处理选择节点事件
const
handleSelect
=
(
deptId
)
=>
{
selectedDeptId
.
value
=
deptId
;
console
.
log
(
'选择节点selectedDeptId:'
,
deptId
);
}
</
script
>
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