Преглед изворни кода

eta1.6.3 单因子页面调整 暂存

cxmo пре 1 година
родитељ
комит
3009bb837d

+ 30 - 0
src/views/chartRelevance_manage/relevance/components/formMixin.js

@@ -0,0 +1,30 @@
+//单因子,多因子的表单 共同逻辑
+import selectTarget from '../../components/selectTarget.vue'
+export default{
+    components:{selectTarget},
+    props:{
+        chartInfoData:{
+            type:Object,
+            default:{}
+        },
+        infoForm:{
+            type:Object,
+            default:()=>{return {Curve:{},Correlation:{},RollingCorrelation:[]}}
+        }
+    },
+    computed:{
+        yearSelector(){
+            return []
+        },
+        dayOpt(){
+            return []
+        }
+    },
+    methods: {
+        handleSelectTarget(type='A',target=''){
+            this.$emit(`selectTarget`,{type,target})
+        },
+        getPreviewSplineChart(){},
+        changeSplineOption(){},
+    },
+}

+ 82 - 0
src/views/chartRelevance_manage/relevance/components/multipleIndForm.vue

@@ -0,0 +1,82 @@
+<template>
+    <div class="multiple-model-form model-form">
+        <!-- 标的指标 -->
+        <el-form-item label="标的指标" prop="indTarget" class="select-target" required>
+            <selectTarget 
+                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoId:''"
+                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[1]]:[]" 
+                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoCategoryType:''"
+                @select="handleSelectTarget"
+            />
+        </el-form-item>
+        <!-- 因子指标系列 -->
+        <div class="factor-form-item">
+            <el-form-item label="因子指标系列" required>
+            </el-form-item>
+            <div class="factor-list">
+                    <div class="list-item">123</div>
+                    <div class="list-item">456</div>
+                </div>
+            <div class="add-factor-btn">
+                <img src="~@/assets/img/add-quadrate-blue.png" />
+                添加因子指标系列
+            </div>
+        </div>
+        <div class="form-box">
+            <div class="label-title">相关性</div>
+            <el-form-item label="计算窗口" prop="Correlation.CalculateValue" required class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Correlation.CalculateValue"
+                    @change="val => { infoForm.Correlation.CalculateValue = Number(val); }"
+                />
+                <el-select
+                        style="flex:2"
+                        v-model="infoForm.Correlation.CalculateUnit"
+                        placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="分析周期" required class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Correlation.LeadValue"
+                    @change="val => { infoForm.Correlation.LeadValue = Number(val); }"
+                />
+                <el-select
+                    style="flex:2"
+                    v-model="infoForm.Correlation.LeadUnit"
+                    placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+        </div>
+    </div>
+</template>
+
+<script>
+import formMixin from './formMixin';
+export default {
+    mixins:[formMixin]
+};
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 238 - 0
src/views/chartRelevance_manage/relevance/components/singleIndForm.vue

@@ -0,0 +1,238 @@
+<template>
+    <div class="single-model-form model-form">
+        <!-- 指标A -->
+        <el-form-item label="指标A" prop="EdbInfoIdA" class="select-target">
+            <selectTarget  
+                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[0].EdbInfoId:''"
+                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[0]]:[]"
+                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[0].EdbInfoCategoryType:''"
+                @select="(target)=>handleSelectTarget('EdbInfoIdA',target)"
+            />
+        </el-form-item>
+        <!-- 指标B -->
+        <el-form-item label="指标B" prop="EdbInfoIdB" class="select-target">
+            <selectTarget 
+                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoId:''"
+                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[1]]:[]" 
+                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoCategoryType:''"
+                @select="(target)=>handleSelectTarget('EdbInfoIdB',target)"
+            />
+        </el-form-item>
+        <!-- 曲线图 -->
+        <div class="form-box">
+            <div class="label-title">曲线图</div>
+            <!-- 时间 -->
+            <el-form-item label="时间:" class="flex-form-item">
+                <!-- 时间类型 -->
+                <el-select
+                    style="width:100%"
+                    v-model="infoForm.Curve.DateType"
+                    placeholder="请选择"
+                    @change="getPreviewSplineChart"
+                >
+                    <el-option
+                        v-for="item in yearSelector"
+                        :key="item.value"
+                        :label="item.name"
+                        :value="item.value"
+                    />
+                </el-select>
+                <!-- 时间段 -->
+                <date-picker
+                    v-model="infoForm.Curve.Date"
+                    v-show="infoForm.Curve.DateType===5"
+                    style="margin-left:10px;"
+                    type="month"
+                    range
+                    value-type="format"
+                    placeholder="请选择时间段"
+                    @change="dateChange"
+                />
+            </el-form-item>
+            <!-- 左轴 -->
+            <el-form-item label="左轴:" class="flex-form-item">
+                <el-input
+                    style=""
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Curve.LeftMin"
+                    @change="val => { infoForm.Curve.LeftMin=Number(val);changeSplineOption() }"
+                />
+                <span>至</span>
+                <el-input
+                    style=""
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Curve.LeftMax"
+                    @change="val => { infoForm.Curve.LeftMax=Number(val);changeSplineOption() }"
+                />
+            </el-form-item>
+            <!-- 右轴 -->
+            <el-form-item label="右轴:" class="flex-form-item">
+                <el-input
+                    style=""
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Curve.RightMin"
+                    @change="val => { infoForm.Curve.RightMin=Number(val);changeSplineOption() }"
+                />
+                <span>至</span>
+                <el-input
+                    style=""
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Curve.RightMax"
+                    @change="val => { infoForm.Curve.RightMax=Number(val);changeSplineOption() }"
+                />
+            </el-form-item>
+            <!-- 指标B -->
+            <el-form-item label="指标B:" >
+                <el-checkbox v-model="infoForm.Curve.IsOrder"  @change="getPreviewSplineChart" style="width:100%">
+                    逆序
+                </el-checkbox>
+                <div class="edb-type-box">
+                    <el-radio
+                        v-model="infoForm.Curve.EdbInfoType"
+                        :label="true"
+                        style="margin-right:10px;"
+                        @change="getPreviewSplineChart">
+                        标准指标
+                    </el-radio>
+                    <el-radio
+                        v-model="infoForm.Curve.EdbInfoType"
+                        :label="false"
+                        style="margin-right:10px;"
+                        @change="getPreviewSplineChart">
+                        领先指标
+                    </el-radio>
+                </div>
+                <div class="edb-type-lead-box" style="text-align: right;">
+                    <span>领先</span>
+                    <el-input
+                        style="width: 60px"
+                        size="mini"
+                        type="number"
+                        v-model="infoForm.Curve.LeadValue"
+                        @change="(val) => { infoForm.Curve.LeadValue = Number(val);getPreviewSplineChart()}"
+                    ></el-input>
+                    <el-select
+                        v-model="infoForm.Curve.LeadUnit"
+                        placeholder=""
+                        size="mini"
+                        style="width: 60px"
+                        @change="getPreviewSplineChart">
+                        <el-option
+                            v-for="item in dayOpt"
+                            :key="item.val"
+                            :label="item.label"
+                            :value="item.val"
+                        />
+                    </el-select>
+                </div>
+            </el-form-item>
+        </div>
+        <!-- 相关性 -->
+        <div class="form-box">
+            <div class="label-title">相关性</div>
+            <el-form-item label="计算窗口" props="Correlation.CalculateValue" class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Correlation.CalculateValue"
+                    @change="val => { infoForm.Correlation.CalculateValue = Number(val); }"
+                />
+                <el-select
+                        style="flex:2"
+                        v-model="infoForm.Correlation.CalculateUnit"
+                        placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="分析周期" props="Correlation.LeadValue" class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="infoForm.Correlation.LeadValue"
+                    @change="val => { infoForm.Correlation.LeadValue = Number(val); }"
+                />
+                <el-select
+                    style="flex:2"
+                    v-model="infoForm.Correlation.LeadUnit"
+                    placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+        </div>
+        <!-- 滚动相关性 -->
+        <div class="form-box" v-for="(item,index) in infoForm.RollingCorrelation" :key="index">
+            <div class="label-title">滚动相关性{{ index+1 }}</div>
+            <el-form-item label="计算窗口" class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="item.CalculateValue"
+                    @change="val => { item.CalculateValue = Number(val); }"
+                />
+                <el-select
+                    style="flex:2"
+                    v-model="item.CalculateUnit"
+                    placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="B领先A" class="flex-form-item">
+                <el-input
+                    style="flex:2"
+                    :step="1"
+                    type="number"
+                    v-model="item.LeadValue"
+                    @change="val => { item.LeadValue = Number(val); }"
+                />
+                <el-select
+                    style="flex:2"
+                    v-model="item.LeadUnit"
+                    placeholder="请选择"
+                >
+                    <el-option
+                        v-for="item in dayOpt"
+                        :key="item.val"
+                        :label="item.label"
+                        :value="item.val"
+                    />
+                </el-select>
+            </el-form-item>
+        </div>
+    </div>
+</template>
+
+<script>
+import formMixin from './formMixin';
+export default {
+    mixins:[formMixin]
+};
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 236 - 84
src/views/chartRelevance_manage/relevance/relevanceChartEditorV2.vue

@@ -2,12 +2,12 @@
     <div class="relevance-chart-editor-wrap">
         <div class="info-wrap content-wrap">
             <div class="info-top">
-                <el-button>确定</el-button>
+                <el-button @click="testRuleCheck">确定</el-button>
                 <el-button>取消</el-button>
                 <span>操作说明</span>
             </div>
             <div class="info-form-wrap">
-                <el-form :model="infoForm" :rules="infoRules" label-width="100px" ref="addForm">
+                <el-form :model="infoForm" :rules="infoRules" label-width="80px" ref="infoFormRef">
                     <!-- 分析模式 -->
                     <el-form-item label="分析模式" prop="Model" required>
                         <el-select v-model="infoForm.Model" style="width: 100%;">
@@ -16,102 +16,242 @@
                         </el-select>
                     </el-form-item>
                     <!-- 单因子模式需要填的 -->
-                    <div class="single-model-form model-form" v-if="infoForm.Model===1">
-                        <!-- 指标A -->
-                        <el-form-item label="指标A" prop="indA" class="select-target" required>
-                            <selectTarget  
-                                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[0].EdbInfoId:''"
-                                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[0]]:[]"
-                                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[0].EdbInfoCategoryType:''"
-                                @select="handleSelectTargetA"
-                            />
-                        </el-form-item>
-                        <!-- 指标B -->
-                        <el-form-item label="指标B" prop="indB" class="select-target" required>
-                            <selectTarget 
-                                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoId:''"
-                                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[1]]:[]" 
-                                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoCategoryType:''"
-                                @select="handleSelectTargetB"
-                            />
-                        </el-form-item>
-                        <div class="form-box">
-                            <div class="label-title">曲线图</div>
-                            <el-form-item label="时间:"></el-form-item>
-                            <el-form-item label="左轴:"></el-form-item>
-                            <el-form-item label="右轴:"></el-form-item>
-                            <el-form-item label="指标B:"></el-form-item>
-                        </div>
-                        <div class="form-box">
-                            <div class="label-title">相关性</div>
-                            <el-form-item label="计算窗口" required></el-form-item>
-                            <el-form-item label="分析周期" required></el-form-item>
-                        </div>
-                        <div class="form-box">
-                            <div class="label-title">滚动相关性1</div>
-                            <el-form-item label="计算窗口" required></el-form-item>
-                            <el-form-item label="B领先A" required></el-form-item>
-                        </div>
-                        <div class="form-box">
-                            <div class="label-title">滚动相关性2</div>
-                            <el-form-item label="计算窗口" required></el-form-item>
-                            <el-form-item label="B领先A" required></el-form-item>
-                        </div>
-                    </div>
+                    <singleIndForm
+                        v-if="infoForm.Model===1"
+                        :info-form="infoForm"
+                        :chart-info-data="chartInfoData"
+                        @selectTarget="handleSelectTarget"
+                    ></singleIndForm>
                     <!-- 多因子模式需要填的 -->
-                    <div class="multiple-model-form model-form" v-if="infoForm.Model===2">
-                        <!-- 标的指标 -->
-                        <el-form-item label="标的指标" prop="indTarget" class="select-target" required>
-                            <selectTarget 
-                                :defaultId="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoId:''"
-                                :defaultOpt="chartInfoData.EdbInfoList?[chartInfoData.EdbInfoList[1]]:[]" 
-                                :defaultType="chartInfoData.EdbInfoList?chartInfoData.EdbInfoList[1].EdbInfoCategoryType:''"
-                                @select="handleSelectTarget"
-                            />
-                        </el-form-item>
-                        <!-- 因子指标系列 -->
-                        <div class="factor-form-item">
-                            <el-form-item label="因子指标系列" required>
-                            </el-form-item>
-                            <div class="factor-list">
-                                    <div class="list-item">123</div>
-                                    <div class="list-item">456</div>
-                                </div>
-                            <div class="add-factor-btn">
-                                <img src="~@/assets/img/add-quadrate-blue.png" />
-                                添加因子指标系列
-                            </div>
+                    <multipleIndForm
+                        v-if="infoForm.Model===2"
+                        :info-form="infoForm"
+                        :chart-info-data="chartInfoData"
+                    ></multipleIndForm>
+                </el-form>
+            </div>
+        </div>
+        <div class="model-wrap">
+            <!-- 单因子模式 -->
+            <div class="single-model-wrap" v-if="infoForm.Model===1">
+                <div
+                    class="chart-min-cont"
+                    v-if="chartBatchData"
+                >
+                    <div class="card-wrapper">
+                        <chartCard 
+                        :entryType="1"
+                        ref="chartCard1"
+                        :data="chartBatchData.CurveData"
+                        :settings="infoForm"
+                        :isChartAdd="buttonAuth.isCurveChartAdd"
+                        @saveChart="saveChartToBaseHandle"
+                        />
+                    </div>
+                    <div class="card-wrapper" v-if="chartBatchData.CorrelationData">
+                        <chartCard 
+                        :entryType="2"
+                        ref="chartCard2"
+                        :data="chartBatchData.CorrelationData"
+                        :settings="infoForm"
+                        :isChartAdd="buttonAuth.isRelevanceChartAdd"
+                        @saveChart="saveChartToBaseHandle"
+                        />
+                    </div>
+                    <template v-if="chartBatchData.RollingCorrelationData">
+                        <div class="card-wrapper" v-if="chartBatchData.RollingCorrelationData[0]">
+                        <chartCard 
+                            :entryType="3"
+                            ref="chartCard3"
+                            :data="chartBatchData.RollingCorrelationData[0]"
+                            :settings="infoForm"
+                            :isChartAdd="buttonAuth.isRollChartAdd"
+                            :isEdbAdd="buttonAuth.isRollEdbAdd"
+                            @saveChart="saveChartToBaseHandle"
+                            @saveEdb="saveEdbToBaseHandle"
+                        />
                         </div>
-                        
-
-                        <div class="form-box">
-                            <div class="label-title">相关性</div>
-                            <el-form-item label="计算窗口" required></el-form-item>
-                            <el-form-item label="分析周期" required></el-form-item>
+                        <div class="card-wrapper" v-if="chartBatchData.RollingCorrelationData[1]">
+                        <chartCard 
+                            :entryType="4"
+                            ref="chartCard4"
+                            :data="chartBatchData.RollingCorrelationData[1]"
+                            :settings="infoForm"
+                            :isChartAdd="buttonAuth.isRollChartTwoAdd"
+                            :isEdbAdd="buttonAuth.isRollEdbTwoAdd"
+                            @saveChart="saveChartToBaseHandle"
+                            @saveEdb="saveEdbToBaseHandle"
+                        />
                         </div>
-                    </div>
-                </el-form>
+                    </template>
+                </div>
+
+                <div class="nodata" v-else>
+                    <tableNoData text="暂无信息"/>
+                </div>
             </div>
+            <!-- 多因子模式 -->
+            <div class="multiple-model-wrap" v-if="infoForm.Model===2"></div>
         </div>
-        <div class="model-wrap content-wrap"></div>
     </div>
 </template>
 
 <script>
+/* api */
+import { dataBaseInterface } from '@/api/api.js';
+import * as preDictEdbInterface from '@/api/modules/predictEdbApi.js';
+import chartRelevanceApi from '@/api/modules/chartRelevanceApi';
+
+/*components */
 import selectTarget from '../components/selectTarget.vue'
+import singleIndForm from './components/singleIndForm.vue'
+import multipleIndForm from './components/multipleIndForm.vue'
+import chartCard from '../components/chartCard.vue';
 export default {
-    components:{selectTarget},
+    components:{selectTarget, singleIndForm, multipleIndForm, chartCard},
     data() {
         return {
-            infoForm:{},
-            infoRules:{},
+            infoForm:{
+                Model:1,
+                Curve:{
+                    DateType:'',
+                    Date:'',
+                    LeftMin:'',
+                    LeftMax:'',
+                    RightMin:'',
+                    RightMax:'',
+                    EdbInfoType:true,//显示为标准指标(true)或领先指标(false)
+                },//曲线图
+                Correlation:{
+                    CalculateValue:'',//计算窗口
+                    CalculateUnit:'',//计算窗口单位(时间)
+                    LeadValue:'',//分析周期
+                    LeadUnit:'',//分析周期单位(时间)
+                },//相关性
+                RollingCorrelation:[
+                    {
+                        CalculateValue:'',
+                        CalculateUnit:'',
+                        LeadValue:'',
+                        LeadUnit:''
+                    }
+                ],//滚动相关性
+            },
+            infoRules:{
+                EdbInfoIdA:[{required:true,message:'指标A未选择',trigger:'blur'}],
+                EdbInfoIdB:[{required:true,message:'指标B未选择',trigger:'blur'}],
+                'Correlation.CalculateValue':[{required:true,message:'计算窗口未填写',trigger:'blur'}],
+                'Correlation.LeadValue':[{required:true,message:'分析周期未填写',trigger:'blur'}]
+            },
             chartInfoData: {},
+            chartBatchData:null,
+            buttonAuth: { //按钮控制
+                isCurveChartAdd: false,
+                isRelevanceChartAdd: false,
+                isRollChartAdd: false,
+                isRollEdbAdd: false,
+                isRollChartTwoAdd: false,
+                isRollEdbTwoAdd: false,
+            },
         };
     },
+    computed:{
+        yearSelector(){
+            return []
+        },
+        dayOpt(){
+            return []
+        }
+    },
     methods: {
-        handleSelectTargetA(){},
-        handleSelectTargetB(){},
-        handleSelectTarget(){}
+        //选择指标后填入上下限
+        async getEdbDetail({EdbInfoId,EdbInfoType}) {
+            const { Data } = EdbInfoType 
+            ? await preDictEdbInterface.edbDetail({EdbInfoId})
+            : await dataBaseInterface.calculateDetail({EdbInfoId})
+            return { 
+                max: EdbInfoType ? Data.MaxValue : Data.EdbInfoDetail.MaxValue,
+                min: EdbInfoType ? Data.MinValue : Data.EdbInfoDetail.MinValue,
+            }
+        },
+        async handleSelectTarget({type,target}){
+            this.infoForm[type] = target||''
+            if(!target) return
+            if(!['EdbInfoIdA','EdbInfoIdB'].includes(type)) return 
+            const {max,min} = await this.getEdbDetail(target)
+            if(type==='EdbInfoIdA'){
+                this.infoForm.Curve.LeftMin = min;
+                this.infoForm.Curve.LeftMax = max;
+            }else if(type==='EdbInfoIdB'){
+                this.infoForm.Curve.RightMin = min;
+                this.infoForm.Curve.RightMax = max;
+            }
+            this.getPreviewSplineChart()
+        },
+        //选择指标后生成曲线图
+        async getPreviewSplineChart(){
+            if(!this.infoForm.EdbInfoIdA || !this.infoForm.EdbInfoIdB) return
+            let params = {
+                ...this.infoForm 
+            }
+            const res = await chartRelevanceApi.previewSplineChart(params);
+            if(res.Ret !== 200) return
+            this.chartBatchData = this.chartBatchData?{
+                ...this.chartBatchData,
+                CurveData: res.Data.CurveData
+            }:{CurveData: res.Data.CurveData};
+        },
+        /* 曲线配置变化时重绘 */
+        changeSplineOption() {
+            const { LeftMin,LeftMax,RightMin,RightMax,IsOrder } = this.infoForm.Curve;
+            this.$refs.chartCard1.options.yAxis[0].max = Number(LeftMax);
+            this.$refs.chartCard1.options.yAxis[0].min = Number(LeftMin);
+
+            this.$refs.chartCard1.options.yAxis[1].max = Number(RightMax);
+            this.$refs.chartCard1.options.yAxis[1].min = Number(RightMin);
+            this.chartBatchData.CurveData.EdbInfoList[1].IsOrder = IsOrder;
+        },
+        dateChange(){},
+        async testRuleCheck(){
+            await this.$refs.infoFormRef.validate()
+        },
+        //获取相关性图表详情
+        getRelevanceChartDetail(){
+            //判断是单因子or多因子
+            this.getSingleDetail()
+        },
+        async getSingleDetail(){
+            if(!this.$route.query.code) return
+            const res = await chartRelevanceApi.getOptionByCode({ UniqueCode: this.$route.query.code});
+            if(res.Ret !== 200) return 
+            this.chartInfoData = {
+                EdbInfoList: res.Data.EdbInfoList
+            }
+            //初始化infoForm
+            const { MultipleGraphConfigId,EdbInfoIdA,EdbInfoIdB,Curve,Correlation,RollingCorrelation } = res.Data.MultipleGraphConfig;
+            this.infoForm = {
+                MultipleGraphConfigId,
+                EdbInfoIdA,
+                EdbInfoIdB,
+                Curve: {
+                ...JSON.parse(Curve),
+                Date: [JSON.parse(Curve).StartDate,JSON.parse(Curve).EndDate],
+                },
+                Correlation: JSON.parse(Correlation),
+                RollingCorrelation: JSON.parse(RollingCorrelation)
+            }
+            //初始化权限
+            this.buttonAuth =  {
+                isCurveChartAdd: res.Data.ChartMappingList.some(_ => _.MultipleLocationSource===1),
+                isRelevanceChartAdd: res.Data.ChartMappingList.some(_ => _.MultipleLocationSource===2),
+                isRollChartAdd: res.Data.ChartMappingList.some(_ => _.MultipleLocationSource===3),
+                isRollEdbAdd: res.Data.EdbMappingList.some(_ => _.MultipleLocationSource===3),
+                isRollChartTwoAdd: res.Data.ChartMappingList.some(_ => _.MultipleLocationSource===4),
+                isRollEdbTwoAdd: res.Data.EdbMappingList.some(_ => _.MultipleLocationSource===4)
+            }
+            //初始化chartBatch
+            this.getPreviewSplineChart()
+        }
     },
 };
 </script>
@@ -126,8 +266,6 @@ export default {
         background: #fff;
         border: 1px solid #ececec;
         border-radius: 4px;
-        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.05);
-        height: calc(100vh - 120px);
     }
     .info-wrap{
         width:380px;
@@ -135,6 +273,7 @@ export default {
         margin-right: 20px;
         display: flex;
         flex-direction: column;
+        height: calc(100vh - 120px);
         .info-top{
             padding: 15px 20px;
             border-bottom: 1px solid #ececec;
@@ -144,20 +283,32 @@ export default {
             flex: 1;
             overflow-y: auto;
             padding:20px;
+            .el-form-item{
+                margin-bottom: 10px;
+            }
             .model-form{
                 .select-target{
                     display: flex;
-                    margin-top: 20px;
+                    margin-top: 10px;
                     .el-form-item__label{
                         flex-shrink: 0;
                     }
                     .el-form-item__content{
                         margin-left: 0 !important;
+                        .el-select{
+                            margin-top: 10px !important;
+                        }
                     }
                     .el-date-editor.el-input, .el-date-editor.el-input__inner{
                         width: auto;
                     }
                 }
+                .flex-form-item{
+                    .el-form-item__content{
+                        display: flex;
+                        gap:0 5px;
+                    }
+                }
             }
             .multiple-model-form{
                 .factor-form-item{
@@ -192,6 +343,7 @@ export default {
     }
     .model-wrap{
         flex:1;
+        height: calc(100vh - 120px);
     }
 }
 </style>