|
@@ -1,12 +1,12 @@
|
|
|
<template>
|
|
|
<div class="multiple-model-form model-form">
|
|
|
<!-- 标的指标 -->
|
|
|
- <el-form-item label="标的指标" prop="indTarget" class="select-target" required>
|
|
|
+ <el-form-item label="标的指标" prop="IndTarget" 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="handleSelectTarget"
|
|
|
+ @select="(target)=>handleSelectTarget('IndTarget',target)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<!-- 因子指标系列 -->
|
|
@@ -17,7 +17,7 @@
|
|
|
<div class="list-item">123</div>
|
|
|
<div class="list-item">456</div>
|
|
|
</div>
|
|
|
- <div class="add-factor-btn">
|
|
|
+ <div class="add-factor-btn" @click="openAddDialog({})">
|
|
|
<img src="~@/assets/img/add-quadrate-blue.png" />
|
|
|
添加因子指标系列
|
|
|
</div>
|
|
@@ -67,16 +67,190 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="isAddFactorDialogShow"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :modal-append-to-body='false'
|
|
|
+ @close="isAddFactorDialogShow=false"
|
|
|
+ center width="70%" top="30px"
|
|
|
+ title="添加因子指标系列"
|
|
|
+ custom-class="add-factor-dialog"
|
|
|
+ >
|
|
|
+ <div class="dialog-content">
|
|
|
+ <!-- 表格筛选项 -->
|
|
|
+ <div class="table-select-box">
|
|
|
+ <el-cascader></el-cascader>
|
|
|
+ <el-select></el-select>
|
|
|
+ <el-cascader></el-cascader>
|
|
|
+ <el-input style="width:230px;"></el-input>
|
|
|
+ <el-checkbox
|
|
|
+ :indeterminate="isIndeterminate"
|
|
|
+ v-model="isCheckAll"
|
|
|
+ @change="listCheckAllChange">列表全选</el-checkbox>
|
|
|
+ </div>
|
|
|
+ <!-- 表格 -->
|
|
|
+ <batchSelectTable
|
|
|
+ ref="batchSelectTable"
|
|
|
+ :tableColumns="tableColumns"
|
|
|
+ :tableData="tableData"
|
|
|
+ :tableParams="tableParams"
|
|
|
+ :isSelectAll="isSelectAll"
|
|
|
+ @pageChange="tablePageChange"
|
|
|
+ @changeCheckAll="changeCheckAll"
|
|
|
+ ></batchSelectTable>
|
|
|
+ <!-- 计算公式 -->
|
|
|
+ <batchSelectFormula
|
|
|
+ ref="batchSelectFormula"
|
|
|
+ ></batchSelectFormula>
|
|
|
+ </div>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button type="primary" plain @click="isAddFactorDialogShow=false">{{$t('Dialog.cancel_btn')}}</el-button>
|
|
|
+ <el-button type="primary" @click="handleAddFactor">{{$t('Dialog.next_step')}}</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import batchSelectTable from './batchSelectTable.vue'
|
|
|
import formMixin from './formMixin';
|
|
|
+import batchSelectFormula from './batchSelectFormula.vue'
|
|
|
export default {
|
|
|
- mixins:[formMixin]
|
|
|
+ mixins:[formMixin],
|
|
|
+ components: { batchSelectTable, batchSelectFormula },
|
|
|
+ computed:{
|
|
|
+ tableColumns(){
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ key:this.$i18nt.locale==='en'?'EdbNameEn':'EdbName',
|
|
|
+ label:this.$t('EtaBasePage.full_metric_name'),//指标全称
|
|
|
+ width:'',
|
|
|
+ showOverflowTooltip:true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key:'EndDate',
|
|
|
+ label:this.$t('Edb.Detail.e_latest_date'),//最新日期
|
|
|
+ width:'120px',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key:'EndValue',
|
|
|
+ label:this.$t('Edb.Detail.e_latest_value'),//最新值
|
|
|
+ width:'80px',
|
|
|
+ showOverflowTooltip:true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key:'SysUserRealName',
|
|
|
+ label:this.$t('EtaBasePage.table_col_creator'),//创建人
|
|
|
+ width:'80px',
|
|
|
+ showOverflowTooltip:true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key:'Frequency',
|
|
|
+ label:this.$t('Edb.Detail.e_fre'),//频率
|
|
|
+ width:'50px',
|
|
|
+ showOverflowTooltip:true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key:this.$i18nt.locale==='en'?'UnitEn':'Unit',
|
|
|
+ label:this.$t('Edb.Detail.e_unit'),//单位
|
|
|
+ width:'50px',
|
|
|
+ showOverflowTooltip:true,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ isAddFactorDialogShow:false,
|
|
|
+ factorData:{},
|
|
|
+ tableData:[
|
|
|
+ {Id:1,EdbName:'111',EndDate:'2024-05-24',EndValue:15},
|
|
|
+ {Id:2,EdbName:'222',EndDate:'2024-05-24',EndValue:16},
|
|
|
+ /* {EdbName:'333',EndDate:'2024-05-24',EndValue:17} */
|
|
|
+ ],
|
|
|
+ tableSelectParams:{
|
|
|
+ classify:'',
|
|
|
+ frequency:'',
|
|
|
+ creator:'',
|
|
|
+ name:'',
|
|
|
+ },
|
|
|
+ tableParams:{
|
|
|
+ total:3,
|
|
|
+ pageSize:2,
|
|
|
+ pageNo:1,
|
|
|
+ pagerCount:5,
|
|
|
+ uniqueKey:'Id',//数据行的唯一key
|
|
|
+ },
|
|
|
+ isIndeterminate:false,//与isCheckAll一起表示列表全选的状态
|
|
|
+ isCheckAll:false,//与isIndeterminate一起表示列表全选的状态
|
|
|
+ isSelectAll:false,//是否勾选了列表全选:为true时,selectList是剔除的指标,为false时selectList是已选择的指标
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ openAddDialog(data){
|
|
|
+ this.factorData = data
|
|
|
+ this.isAddFactorDialogShow = true
|
|
|
+ },
|
|
|
+ listCheckAllChange(value){
|
|
|
+ this.isSelectAll = value
|
|
|
+ },
|
|
|
+ changeCheckAll({isCheckAll,isIndeterminate}){
|
|
|
+ this.isCheckAll = isCheckAll
|
|
|
+ this.isIndeterminate = isIndeterminate
|
|
|
+ },
|
|
|
+ tablePageChange(page){
|
|
|
+ if(page===2){
|
|
|
+ this.tableData = [{Id:3,EdbName:'333',EndDate:'2024-05-24',EndValue:17}]
|
|
|
+ }else{
|
|
|
+ this.tableData = [
|
|
|
+ {Id:1,EdbName:'111',EndDate:'2024-05-24',EndValue:15},
|
|
|
+ {Id:2,EdbName:'222',EndDate:'2024-05-24',EndValue:16},
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ this.tableParams.pageNo = page
|
|
|
+ this.getTableData('pageChange')
|
|
|
+ },
|
|
|
+ getTableData(type){
|
|
|
+ if(type==='pageChange'){
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.$refs.batchSelectTable.adjustSelection()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async handleAddFactor(){
|
|
|
+ //校验 是否选择了指标
|
|
|
+ //校验 计算公式填写
|
|
|
+ await this.$refs.batchSelectFormula.checkForm()
|
|
|
+
|
|
|
+ this.addFactorIndicators()
|
|
|
+ },
|
|
|
+ addFactorIndicators(){
|
|
|
+ //因子指标系列push
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
-<style scoped lang="scss">
|
|
|
-
|
|
|
+<style lang="scss">
|
|
|
+.add-factor-dialog{
|
|
|
+ .dialog-content{
|
|
|
+ height: 70%;
|
|
|
+ overflow-y: auto;
|
|
|
+ .table-select-box{
|
|
|
+ margin-bottom: 15px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap:0 15px;
|
|
|
+ .el-cascader,.el-select{
|
|
|
+ .el-input{
|
|
|
+ width:100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .dialog-footer{
|
|
|
+ text-align:center;
|
|
|
+ margin:60px 0 40px 0;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|