新增指标加工的保存限制,新增指标集编码和名称字段

main
于阔 9 months ago
parent a414044361
commit 77efd7d5c2

@ -1,5 +1,5 @@
<script setup lang="tsx">
import { ElCol,ElForm, ElFormItem, ElSelect, ElOption, ElInput } from 'element-plus';
import { ElCol,ElForm, ElFormItem, ElSelect, ElOption, ElInput,FormRules,FormInstance,ElMessage } from 'element-plus';
import { PropType,ref,reactive, watch,onMounted } from 'vue'
import { useValidator } from '@/hooks/web/useValidator'
import * as monaco from 'monaco-editor';
@ -59,10 +59,7 @@ const props = defineProps({
// },
// ])
const rules = reactive({
dataSourceId: [required('请选择数据源')],
procedureName:[required('请输入存储过程名称')],
})
let sqlInfo = reactive({
@ -126,11 +123,23 @@ const formatterSql = ()=>{
}
}
const rules = reactive<FormRules>({
dataSourceId:[
{ required: true, message: '请选择数据源信息', trigger: 'blur' },
]
})
//
const submit = () =>{
const submit = async () =>{
if(!sqlInfo.dataSourceId){
ElMessage.warning('请选择数据源信息');
return false;
}
const model = editorInstance.getModel();
if(!model.getValue()){
ElMessage.warning('请输入SQL语句');
return false;
}
sqlInfo.ruleSql = model.getValue();
console.log(sqlInfo,"sqlInfo信息Submit");
return sqlInfo
}
defineExpose({
@ -142,7 +151,7 @@ defineExpose({
<ElForm :model="sqlInfo" label-width="auto" :rules="rules">
<ElRow>
<ElCol :span="12">
<ElFormItem label="数据源" style="margin-left:20px;">
<ElFormItem label="数据源" style="margin-left:20px;" prop="dataSourceId">
<ElSelect v-model="sqlInfo.dataSourceId" placeholder="请选择数据源" style="width:100%;">
<el-option :label="item.dsname" :value="item.dscode" :key="item.dscode" v-for="item in sqlInfo.dataSourceList" />
</ElSelect>

@ -16,6 +16,10 @@
type:Object,
default:()=>{}
},
currentRow:{//()
type:Object,
default:()=>null
}
})
//sql
@ -30,15 +34,25 @@
const emit = defineEmits(['closeDialogVisible']);
//SQL
const saveSqlRule = async()=>{
loading.value = true;
const procedureConfigSubmit = await procedureConfigRef.value?.submit();
let setParamsSubmit = await setParamsRef.value?.submit();
const basicInfoSubmit = await basicInfoRef.value?.submit();
console.log(props.currentRow,"props.currentRow");
if(!procedureConfigSubmit || !basicInfoSubmit){
return;
}
loading.value = true;
if (setParamsSubmit && procedureConfigSubmit) {
setParamsSubmit.ruleJson.dataSourceId = procedureConfigSubmit.dataSourceId;
setParamsSubmit.ruleJson = JSON.stringify(setParamsSubmit.ruleJson);
}
saveRepSetRuleApi(Object.assign(basicInfoSubmit,setParamsSubmit,procedureConfigSubmit,{ruleClass:'SqlRule'})).then(res=>{
let paramsList = Object.assign(basicInfoSubmit,setParamsSubmit,procedureConfigSubmit,{ruleClass:'SqlRule'});
if(props.currentRow){
paramsList.itemId = props.currentRow.code;
paramsList.itemName = props.currentRow.itemName;
}
console.log(paramsList,props.currentRow);
saveRepSetRuleApi(paramsList).then(res=>{
loading.value = false;
if(res.head.code == '0'){
ElMessage.success('保存成功');

@ -119,6 +119,8 @@ const submit = async () => {
if (valid) {
const formData = await getFormData();
return formData
}else{
return false;
}
}

@ -234,7 +234,7 @@ const action = async (row: TableData, type: string) => {
const data = res.body.result
dialogTitle.value = type === 'edit' ? '编辑' : '规则配置'
actionType.value = type
currentRow.value = data
currentRow.value = data;
dialogVisible.value = true
}
}
@ -254,28 +254,14 @@ const addRuleConfig = async () => {
const rule = RULE_TYPE_LIST.filter(ruleItem=>{
return ruleItem.value === formData.ruleType;
})[0];
console.log(formData,"formData信息");
if(formData){
dialogVisible.value = false;
RuleConfigInfo.dialogVisible = true;
RuleConfigInfo.currentRow = currentRow.value;
RuleConfigInfo.dialogTitle = `配置${rule.label}`;
RuleConfigInfo.RuleType = rule.name;
RuleConfigInfo.actionType = 'add';
}
// if (formData) {
// saveLoading.value = true
// const res = await saveRepDataProblemApi(formData)
// .catch(() => {})
// .finally(() => {
// saveLoading.value = false
// })
// if (res) {
// dialogVisible.value = false
// currentPage.value = 1
// getList()
// }
// }
}
const AddAction = () => {
dialogTitle.value = t('tableDemo.add')

@ -16,7 +16,7 @@ const props = defineProps({
},
ruleType:{
type: String,
default: 'ProcedureRule'
default: 'SqlRule'
}
})
const ruleType = props.ruleType;//
@ -60,7 +60,7 @@ const closeDialogVisible = () => {
<!-- 指标规则 -->
<ProcedureRule v-if="ruleType=='ProcedureRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" />
<!-- SQL规则 -->
<SqlRule v-if="ruleType=='SqlRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" @close-dialog-visible="closeDialogVisible" />
<SqlRule v-if="ruleType=='SqlRule' && !loading" :currentRow="props.currentRow" :ruleInfo="ruleInfo" :actionType="props.actionType" @close-dialog-visible="closeDialogVisible" />
<!-- 存储过程规则 -->
<PureSqlRule v-if="ruleType=='PureSqlRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" />
</div>

Loading…
Cancel
Save