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

main
于阔 9 months ago
parent a414044361
commit 77efd7d5c2

@ -1,5 +1,5 @@
<script setup lang="tsx"> <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 { PropType,ref,reactive, watch,onMounted } from 'vue'
import { useValidator } from '@/hooks/web/useValidator' import { useValidator } from '@/hooks/web/useValidator'
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
@ -59,10 +59,7 @@ const props = defineProps({
// }, // },
// ]) // ])
const rules = reactive({
dataSourceId: [required('请选择数据源')],
procedureName:[required('请输入存储过程名称')],
})
let sqlInfo = reactive({ 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(); const model = editorInstance.getModel();
if(!model.getValue()){
ElMessage.warning('请输入SQL语句');
return false;
}
sqlInfo.ruleSql = model.getValue(); sqlInfo.ruleSql = model.getValue();
console.log(sqlInfo,"sqlInfo信息Submit");
return sqlInfo return sqlInfo
} }
defineExpose({ defineExpose({
@ -142,7 +151,7 @@ defineExpose({
<ElForm :model="sqlInfo" label-width="auto" :rules="rules"> <ElForm :model="sqlInfo" label-width="auto" :rules="rules">
<ElRow> <ElRow>
<ElCol :span="12"> <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%;"> <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" /> <el-option :label="item.dsname" :value="item.dscode" :key="item.dscode" v-for="item in sqlInfo.dataSourceList" />
</ElSelect> </ElSelect>

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

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

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

@ -16,7 +16,7 @@ const props = defineProps({
}, },
ruleType:{ ruleType:{
type: String, type: String,
default: 'ProcedureRule' default: 'SqlRule'
} }
}) })
const ruleType = props.ruleType;// const ruleType = props.ruleType;//
@ -60,7 +60,7 @@ const closeDialogVisible = () => {
<!-- 指标规则 --> <!-- 指标规则 -->
<ProcedureRule v-if="ruleType=='ProcedureRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" /> <ProcedureRule v-if="ruleType=='ProcedureRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" />
<!-- SQL规则 --> <!-- 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" /> <PureSqlRule v-if="ruleType=='PureSqlRule' && !loading" :ruleInfo="ruleInfo" :actionType="props.actionType" />
</div> </div>

Loading…
Cancel
Save