Browse Source

问题处理

master
siyaqi 2 days ago
parent
commit
44f788e4c5
  1. 20
      vue-fastapi-backend/module_admin/dao/datasec_config_dao.py
  2. 10
      vue-fastapi-backend/module_admin/service/datasec_config_service.py
  3. 145
      vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue
  4. 7
      vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue
  5. 8
      vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityRow.vue
  6. 21
      vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue

20
vue-fastapi-backend/module_admin/dao/datasec_config_dao.py

@ -75,15 +75,25 @@ class DatasecConfigDao:
"""
await db.execute(delete(DatasecConfig).where(DatasecConfig.onum.in_([metatask.onum])))
@classmethod
async def check_name_or_param_exist(cls, db: AsyncSession, metatask_name: str, metatask_param: str, exclude_onum: int = None):
async def check_name_or_param_exist(cls, db: AsyncSession, metatask_name: str = None, metatask_param: str = None, exclude_onum: int = None):
"""
检查是否存在相同的任务名称或参数字段排除指定 onum用于编辑
检查是否存在指定任务名称和参数字段同时匹配非空的字段排除指定 onum用于编辑
"""
stmt = select(DatasecConfig).where(
(DatasecConfig.metatask_name == metatask_name) | (DatasecConfig.metatask_param == metatask_param)
)
conditions = []
if metatask_name: # 不为空才加条件
conditions.append(DatasecConfig.metatask_name == metatask_name)
if not conditions: # 两个都为空,直接返回 False
return False
stmt = select(DatasecConfig).where(*conditions)
if exclude_onum:
stmt = stmt.where(DatasecConfig.onum != exclude_onum)
result = await db.execute(stmt)
return result.scalars().first() is not None

10
vue-fastapi-backend/module_admin/service/datasec_config_service.py

@ -37,7 +37,7 @@ class DatasecConfigService:
# 检查任务名称或参数是否已存在
exists = await DatasecConfigDao.check_name_or_param_exist(db, page_object.metatask_name, page_object.metatask_param)
if exists:
raise ServiceException(message="任务名称或参数字段已存在")
raise ServiceException(message="任务名称已存在")
# 获取流程配置
processconfig = MetaprocessconfigQueryModel()
@ -79,7 +79,13 @@ class DatasecConfigService:
code_list = data["data"]
str_list = list(map(str, code_list))
for config in processConfigList:
modified_json_str = config.taskDefinitionJson.replace("18093081592672", str_list[0]).replace("sh /home/xx/code/remote_python_sec.sh", "sh /home/xx/code/remote_python_sec.sh "+page_object.metatask_param)
# 原来的字符串替换
modified_json_str = config.taskDefinitionJson.replace("18093081592672", str_list[0])
# 拼接命令时先判断 metatask_param 是否为空
cmd = "sh /home/xx/code/remote_python_sec.sh"
if page_object.metatask_param: # 只有非空才加参数
cmd += f" {page_object.metatask_param}"
modified_json_str = modified_json_str.replace("sh /home/xx/code/remote_python_sec.sh", cmd)
modified_json_str2=config.taskRelationJson.replace("18093081592672", str_list[0])
modified_json_str3=config.locations.replace("18093081592672", str_list[0])
metaprocessconfig_dict = MetaprocessconfigModel(taskDefinitionJson=modified_json_str,# 替换taskDefinitionJson

145
vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue

@ -1,17 +1,20 @@
<template>
<el-dialog
width="500px"
<el-dialog
width="900px"
append-to-body
:title="isShow ? '查看数据标准' : isEdit ? '修改数据标准' : '新增数据标准'"
v-model="visible"
@close="handleClose"
>
>
<el-form
:model="formData"
ref="formRef"
label-width="120px"
:rules="formRules"
>
<!-- 第一行三列 -->
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="标准归属" prop="dataStdVest">
<el-select
v-model="formData.dataStdVest"
@ -27,7 +30,10 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="来源系统" prop="srcSys" v-show="showSys">
</el-col>
<el-col :span="8" v-if="showSys">
<el-form-item label="来源系统" prop="srcSys">
<el-select
v-model="formData.srcSys"
:disabled="isShow"
@ -42,6 +48,9 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="公司级数据标准" prop="companyLevelDataStdNo">
<el-select
v-model="formData.companyLevelDataStdNo"
@ -57,7 +66,13 @@
:value="dict.dataStdNo"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
<!-- 第二行三列 -->
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="标准编号" prop="dataStdNo">
<el-input
v-model="formData.dataStdNo"
@ -66,7 +81,9 @@
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="标准中文名" prop="dataStdCnName">
<el-input
v-model="formData.dataStdCnName"
@ -75,7 +92,9 @@
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="标准英文名" prop="dataStdEngName">
<el-input
v-model="formData.dataStdEngName"
@ -84,7 +103,12 @@
clearable
/>
</el-form-item>
</el-col>
</el-row>
<!-- 第三行标准业务定义独占一行 -->
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="标准业务定义" prop="dataStdBusiDefn">
<el-input
type="textarea"
@ -92,11 +116,15 @@
:disabled="isShow"
placeholder="请输入标准业务定义"
clearable
rows="6"
rows="4"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
<!-- 第四行三列 -->
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="标准类型" prop="dataStdType">
<el-select
v-model="formData.dataStdType"
@ -107,7 +135,9 @@
<el-option label="指标数据" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="标准来源" prop="dataStdSrc">
<el-select
v-model="formData.dataStdSrc"
@ -118,7 +148,9 @@
<el-option label="自建标准" value="自建标准" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="数据类别" prop="dataClas">
<el-select
v-model="formData.dataClas"
@ -134,92 +166,10 @@
<el-option label="码值类" value="码值类" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="安全等级" prop="dataSecLvl">
<el-select
v-model="formData.dataSecLvl"
:disabled="isShow"
placeholder="请选择安全等级"
>
<el-option label="1级" value="1" />
<el-option label="2级" value="2" />
<el-option label="3级" value="3" />
<el-option label="4级" value="4" />
</el-select>
</el-form-item>
<el-form-item label="代码编号" prop="cdId">
<el-input
v-model="formData.cdNo"
placeholder="代码编号"
clearable
style="width: 80%;"
:disabled="true"
/>
<el-button
icon="Edit"
:disabled="isShow"
@click="codeVisible = true"
style="margin-left: 5px;"
/>
</el-form-item>
<el-form-item label="业务认责部门" prop="dataStdBusiOwnershipDept">
<el-tree-select
v-model="formData.dataStdBusiOwnershipDept"
:data="deptOptions"
:props="{ value: 'label', label: 'label', children: 'children' }"
value-key="id"
:disabled="isShow"
placeholder="请选择业务认责部门"
check-strictly
/>
</el-form-item>
<el-form-item label="业务认责人员" prop="dataStdBusiOwnershipPrsn">
<el-select
v-model="formData.dataStdBusiOwnershipPrsn"
:disabled="isShow"
placeholder="请选择业务认责人员"
>
<el-option
v-for="dict in userList"
:key="dict.id"
:label="dict.userName"
:value="dict.userName"
/>
</el-select>
</el-form-item>
<el-form-item label="技术认责部门" prop="dataStdItOwnershipDept">
<el-tree-select
v-model="formData.dataStdItOwnershipDept"
:data="deptOptions"
:props="{ value: 'label', label: 'label', children: 'children' }"
value-key="id"
:disabled="isShow"
placeholder="请选择技术认责部门"
check-strictly
/>
</el-form-item>
<el-form-item label="技术认责人员" prop="dataStdItOwnershipPrsn">
<el-select
v-model="formData.dataStdItOwnershipPrsn"
:disabled="isShow"
placeholder="请选择技术认责人员"
>
<el-option
v-for="dict in userList"
:key="dict.id"
:label="dict.userName"
:value="dict.userName"
/>
</el-select>
</el-form-item>
<!-- 其余字段也按三列布局排布即可 -->
<el-row justify="center" style="margin-top: 20px;" v-if="!isShow">
<el-col :span="4" style="padding-right: 10px;">
<el-button @click="handleClose" style="width: 100%" plain>取消</el-button>
@ -229,15 +179,8 @@
</el-col>
</el-row>
</el-form>
</el-dialog>
<el-dialog title="选择代码" v-model="codeVisible" width="1000px" append-to-body>
<code-components ref="showCodeDialog" v-if="codeVisible" />
<template #footer>
<el-button @click="codeVisible = false">取消</el-button>
<el-button type="primary" @click="handleCodeSelect">确定</el-button>
</template>
</el-dialog>
</el-dialog>
</template>
<script setup>

7
vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue

@ -498,9 +498,14 @@ function changeMetaSecurityObj(data){
if(data=="0"){
userOrRoleList.value=userList.value
}else {
}else if(data=="1"){
userOrRoleList.value=roleList.value
} else {
userOrRoleList.value=[]
}
form.value.objValue = dialogTitle.value === '添加列配置' ? [] : '';

8
vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityRow.vue

@ -422,12 +422,16 @@ function changeMetaSecurityObj(data){
if(data=="0"){
userOrRoleList.value=userList.value
}else {
}else if(data=="1"){
userOrRoleList.value=roleList.value
}
} else {
userOrRoleList.value=[]
}
form.value.objValue = dialogTitle.value === '添加行配置' ? [] : '';
}

21
vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue

@ -9,19 +9,21 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="归属" align="center" width="200">
<template #default="{ row }">
{{
row.dataDictVest === 'company'
? '公司级'
: '系统级(' + row.sysName + ')'
}}
</template>
<el-table-column label="归属" align="center" width="200">
<template #default="scope">
<span v-if="scope.row.dataDictVest === 'company'">公司级</span>
<span v-else-if="scope.row.dataDictVest === 'sys'">
{{
getNameById(scope.row.srcSys)
}}
</span>
</template>
</el-table-column>
<el-table-column label="类型" align="center">
<template #default="{ row }">
{{ row.dictType == 0 ? '基础数据' : '指标数据' }}
{{ row.dataDictType == 0 ? "基础数据" : "指标数据" }}
</template>
</el-table-column>
@ -201,6 +203,7 @@
<script setup>
import { ref, watch } from 'vue';
import { listStdDictAppr, getStdDictAppr ,listStdMainSelect} from '@/api/datastd/std';
import { getNameById, getIdByName } from '@/utils/dsSysUtils';
const props = defineProps({
flowId: {

Loading…
Cancel
Save