This commit is contained in:
wang-liang0615 2023-07-19 18:04:35 +08:00
commit b7c158a801
10 changed files with 470 additions and 728 deletions

View File

@ -18,14 +18,14 @@ env:
deps:
pipenv install --dev && \
pipenv run flask db-setup && \
pipenv run flask init-cache && \
pipenv run flask cmdb-init-cache && \
cd cmdb-ui && yarn install && cd ..
api:
cd cmdb-api && pipenv run flask run -h 0.0.0.0
worker:
cd cmdb-api && pipenv run celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1
cd cmdb-api && pipenv run celery worker -A celery_worker.celery -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery worker -A celery_worker.celery -E -Q acl_async --concurrency=1 -D
ui:
cd cmdb-ui && yarn run serve

View File

@ -59,7 +59,7 @@
### 更多功能
> 也欢迎移步[维易科技官网](https://www.veops.cn),发现更多免费运维系统。
> 也欢迎移步[维易科技官网](https://veops.cn),发现更多免费运维系统。
## 接入公司

View File

@ -39,7 +39,7 @@ kombu = "==4.4.0"
# common setting
Flask-APScheduler = "==1.12.4"
timeout-decorator = "==0.5.0"
numpy = "==1.18.5"
numpy = "==1.21.5"
pandas = "==1.3.2"
WTForms = "==3.0.0"
email-validator = "==1.3.1"

View File

@ -235,7 +235,7 @@ class CITypeGroupManager(object):
for t in sorted(CITypeGroupItem.get_by(group_id=group['id']), key=lambda x: x['order'] or 0):
ci_type = CITypeCache.get(t['type_id']).to_dict()
if resources is None or (ci_type and ci_type['name'] in resources):
ci_type['permissions'] = resources[ci_type['name']]
ci_type['permissions'] = resources[ci_type['name']] if resources is not None else None
group.setdefault("ci_types", []).append(ci_type)
group_types.add(t["type_id"])
@ -244,7 +244,7 @@ class CITypeGroupManager(object):
other_types = dict(ci_types=[])
for ci_type in ci_types:
if ci_type["id"] not in group_types and (resources is None or ci_type['name'] in resources):
ci_type['permissions'] = resources.get(ci_type['name'])
ci_type['permissions'] = resources.get(ci_type['name']) if resources is not None else None
other_types['ci_types'].append(ci_type)
groups.append(other_types)

View File

@ -47,7 +47,7 @@ meld3==2.0.1
mistune==3.0.1
more-itertools==5.0.0
msgpack-python==0.5.6
numpy==1.18.5
numpy==1.21.5
pandas==1.3.2
Pillow==8.3.2
pkgutil_resolve_name==1.3.10
@ -77,4 +77,4 @@ urllib3==1.26.16
vine==1.3.0
Werkzeug==0.15.5
WTForms==3.0.0
zipp==3.16.0
zipp==3.16.0

View File

@ -172,7 +172,7 @@
>
<template slot="label">
<span
style="position:relative;white-space:pre;"
style="position: relative; white-space: pre"
>{{ `索引` }}
<a-tooltip title="字段可被用于检索,加速查询">
<a-icon
@ -204,7 +204,7 @@
>
<template slot="label">
<span
style="position:relative;white-space:pre;"
style="position: relative; white-space: pre"
>{{ `显示` }}
<a-tooltip title="CI实例表格默认展示该字段">
<a-icon
@ -250,7 +250,7 @@
>
<template slot="label">
<span
style="position:relative;white-space:pre;"
style="position: relative; white-space: pre"
>{{ `多值` }}
<a-tooltip title="字段的值是1个或者多个接口返回的值的类型是list">
<a-icon
@ -316,7 +316,7 @@
<a-form-item :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
<template slot="label">
<span
style="position:relative;white-space:pre;"
style="position: relative; white-space: pre"
>{{ `计算属性` }}
<a-tooltip
:title="

View File

@ -60,7 +60,7 @@
</vxe-column>
<vxe-column field="type_id" title="模型" width="150px">
<template #default="{ row }">
{{ row.operate_type === '删除模型' ? row.change.alias : row.type_id}}
{{ row.operate_type === '删除模型' ? row.change.alias : row.type_id }}
</template>
</vxe-column>
<vxe-column field="changeDescription" title="描述">

View File

@ -382,9 +382,9 @@
:style="{ display: 'inline-block', width: '98%', margin: '0 7px 24px' }"
v-if="
attributes.findIndex((v) => v == 'bank_card_number') !== -1 ||
attributes.findIndex((v) => v == 'bank_card_name') !== -1 ||
attributes.findIndex((v) => v == 'opening_bank') !== -1 ||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
attributes.findIndex((v) => v == 'bank_card_name') !== -1 ||
attributes.findIndex((v) => v == 'opening_bank') !== -1 ||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
"
>
<a-row :gutter="[8, { xs: 8 }]">

View File

@ -179,7 +179,7 @@
sortable
v-if="
checkedCols.findIndex((v) => v == 'department_name') !== -1 &&
attributes.findIndex((v) => v == 'department_name') !== -1
attributes.findIndex((v) => v == 'department_name') !== -1
"
key="department_name"
>
@ -217,7 +217,7 @@
sortable
v-if="
checkedCols.findIndex((v) => v == 'position_name') !== -1 &&
attributes.findIndex((v) => v == 'position_name') !== -1
attributes.findIndex((v) => v == 'position_name') !== -1
"
key="position_name"
>
@ -251,7 +251,7 @@
sortable
v-if="
checkedCols.findIndex((v) => v == 'direct_supervisor_id') !== -1 &&
attributes.findIndex((v) => v == 'direct_supervisor_id') !== -1
attributes.findIndex((v) => v == 'direct_supervisor_id') !== -1
"
key="direct_supervisor_id"
>
@ -290,8 +290,8 @@
min-width="80"
v-if="
checkedCols.findIndex((v) => v == 'annual_leave') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'annual_leave') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'annual_leave') !== -1
"
key="annual_leave"
>
@ -325,8 +325,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'virtual_annual_leave') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'virtual_annual_leave') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'virtual_annual_leave') !== -1
"
key="virtual_annual_leave"
>
@ -360,8 +360,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'parenting_leave') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'parenting_leave') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'parenting_leave') !== -1
"
key="parenting_leave"
>
@ -395,8 +395,8 @@
min-width="150"
v-if="
checkedCols.findIndex((v) => v == 'entry_date') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'entry_date') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'entry_date') !== -1
"
key="entry_date"
>
@ -431,8 +431,8 @@
v-bind="tableType === 'structure' ? { filters: internOptions, 'filter-multiple': false } : {}"
v-if="
checkedCols.findIndex((v) => v == 'is_internship') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'is_internship') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'is_internship') !== -1
"
key="is_internship"
>
@ -469,8 +469,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'leave_date') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'leave_date') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'leave_date') !== -1
"
key="leave_date"
>
@ -504,8 +504,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'id_card') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'id_card') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'id_card') !== -1
"
key="id_card"
>
@ -539,8 +539,8 @@
min-width="80"
v-if="
checkedCols.findIndex((v) => v == 'nation') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'nation') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'nation') !== -1
"
key="nation"
>
@ -574,8 +574,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'id_place') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'id_place') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'id_place') !== -1
"
key="id_place"
>
@ -609,8 +609,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'party') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'party') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'party') !== -1
"
key="party"
>
@ -644,8 +644,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'household_registration_type') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'household_registration_type') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'household_registration_type') !== -1
"
key="household_registration_type"
>
@ -679,8 +679,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'hometown') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'hometown') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'hometown') !== -1
"
key="hometown"
>
@ -714,8 +714,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'marry') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'marry') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'marry') !== -1
"
key="marry"
>
@ -749,8 +749,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'max_degree') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'max_degree') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'max_degree') !== -1
"
key="max_degree"
>
@ -784,8 +784,8 @@
min-width="110"
v-if="
checkedCols.findIndex((v) => v == 'emergency_person') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'emergency_person') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'emergency_person') !== -1
"
key="emergency_person"
>
@ -819,8 +819,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'emergency_phone') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'emergency_phone') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'emergency_phone') !== -1
"
key="emergency_phone"
>
@ -854,8 +854,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'bank_card_number') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'bank_card_number') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'bank_card_number') !== -1
"
key="bank_card_number"
>
@ -889,8 +889,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'bank_card_name') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'bank_card_name') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'bank_card_name') !== -1
"
key="bank_card_name"
>
@ -924,8 +924,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'opening_bank') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'opening_bank') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'opening_bank') !== -1
"
key="opening_bank"
>
@ -959,8 +959,8 @@
min-width="120"
v-if="
checkedCols.findIndex((v) => v == 'account_opening_location') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'account_opening_location') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'account_opening_location') !== -1
"
key="account_opening_location"
>
@ -993,8 +993,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'school') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'school') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'school') !== -1
"
key="school"
>
@ -1027,8 +1027,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'major') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'major') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'major') !== -1
"
key="major"
>
@ -1061,8 +1061,8 @@
min-width="80"
v-if="
checkedCols.findIndex((v) => v == 'education') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'education') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'education') !== -1
"
key="education"
>
@ -1095,8 +1095,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'graduation_year') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'graduation_year') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'graduation_year') !== -1
"
key="graduation_year"
>
@ -1129,8 +1129,8 @@
min-width="80"
v-if="
checkedCols.findIndex((v) => v == 'name') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'name') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'name') !== -1
"
key="name"
>
@ -1163,8 +1163,8 @@
min-width="80"
v-if="
checkedCols.findIndex((v) => v == 'gender') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'gender') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'gender') !== -1
"
key="gender"
>
@ -1197,8 +1197,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'birthday') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'birthday') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'birthday') !== -1
"
key="birthday"
>
@ -1231,8 +1231,8 @@
min-width="100"
v-if="
checkedCols.findIndex((v) => v == 'parental_leave_left') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'parental_leave_left') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'parental_leave_left') !== -1
"
key="parental_leave_left"
>
@ -1267,8 +1267,8 @@
:formatter="formatDate"
v-if="
checkedCols.findIndex((v) => v == 'last_login') !== -1 &&
tableType == 'structure' &&
attributes.findIndex((v) => v == 'last_login') !== -1
tableType == 'structure' &&
attributes.findIndex((v) => v == 'last_login') !== -1
"
key="last_login"
>

File diff suppressed because it is too large Load Diff