|
@@ -17,8 +17,9 @@
|
|
|
:label="$t('StatisticAnalysis.ChartRelevance.factor_indicators')" required>
|
|
|
</el-form-item>
|
|
|
<div class="factor-list">
|
|
|
- <div class="list-item">123</div>
|
|
|
- <div class="list-item">456</div>
|
|
|
+ <div class="list-item"
|
|
|
+ v-for="(item,index) in factorList" :key="index"
|
|
|
+ @click.stop="openAddDialog(item)">{{ item.name }}</div>
|
|
|
</div>
|
|
|
<div class="add-factor-btn" @click="openAddDialog({})">
|
|
|
<img src="~@/assets/img/add-quadrate-blue.png" />
|
|
@@ -26,6 +27,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form-box">
|
|
|
+ <!-- 相关性 -->
|
|
|
<div class="label-title">{{ $t('Chart.ChartType.correlation_name') }}</div>
|
|
|
<el-form-item
|
|
|
:label="$t('StatisticAnalysis.ChartRelevance.calculation_window')"
|
|
@@ -70,6 +72,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
+ <!-- 添加/编辑因子系列弹窗 -->
|
|
|
<el-dialog
|
|
|
:visible.sync="isAddFactorDialogShow"
|
|
|
:close-on-click-modal="false"
|
|
@@ -134,9 +137,10 @@
|
|
|
<i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
</el-input>
|
|
|
<el-checkbox
|
|
|
+ :label="$t('EtaBasePage.label_all_check')"
|
|
|
:indeterminate="isIndeterminate"
|
|
|
v-model="isCheckAll"
|
|
|
- @change="listCheckAllChange">{{ $t('EtaBasePage.label_all_check') }}</el-checkbox>
|
|
|
+ @change="listCheckAllChange"/>
|
|
|
</div>
|
|
|
<!-- 表格 -->
|
|
|
<batchSelectTable
|
|
@@ -146,6 +150,7 @@
|
|
|
:tableParams="tableParams"
|
|
|
:tableLoading="tableLoading"
|
|
|
:isSelectAll="isSelectAll"
|
|
|
+ :factorData="factorData"
|
|
|
@pageChange="tablePageChange"
|
|
|
@changeCheckAll="changeCheckAll"
|
|
|
@addSelectData="addSelectData"
|
|
@@ -153,11 +158,12 @@
|
|
|
<!-- 计算公式 -->
|
|
|
<batchSelectFormula
|
|
|
ref="batchSelectFormula"
|
|
|
+ :factorData="factorData"
|
|
|
></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>
|
|
|
+ <el-button type="primary" @click="handleAddFactor">{{$t('Dialog.confirm_btn')}}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -218,8 +224,13 @@ export default {
|
|
|
},
|
|
|
data(){
|
|
|
return {
|
|
|
+ factorList:[], //mock用,之后替换成infoForm中表示因子系列的字段
|
|
|
isAddFactorDialogShow:false,
|
|
|
- factorData:{},
|
|
|
+ factorData:{
|
|
|
+ name:'',//因子系列名称
|
|
|
+ formulaList:[],//因子系列计算公式
|
|
|
+ selectList:[],//因子系列选择的指标
|
|
|
+ },
|
|
|
tableData:[],
|
|
|
tableSelectParams:{
|
|
|
classify:'',
|
|
@@ -244,11 +255,35 @@ export default {
|
|
|
},
|
|
|
methods:{
|
|
|
openAddDialog(data){
|
|
|
- this.factorData = data
|
|
|
+ const {name='',formulaList=[],selectList=[]} = data
|
|
|
+ this.factorData = {
|
|
|
+ name,formulaList,selectList
|
|
|
+ }
|
|
|
this.getClassifyOpt()
|
|
|
this.getSysUserOpt()
|
|
|
+ //清空筛选项
|
|
|
+ this.initSelectOpt()
|
|
|
+ this.tableData = []
|
|
|
this.isAddFactorDialogShow = true
|
|
|
},
|
|
|
+ initSelectOpt(){
|
|
|
+ this.tableSelectParams = {
|
|
|
+ classify:'',
|
|
|
+ frequency:'',
|
|
|
+ creator:'',
|
|
|
+ keyword:'',
|
|
|
+ }
|
|
|
+ this.tableParams = {
|
|
|
+ total:0,
|
|
|
+ pageSize:20,
|
|
|
+ pageNo:1,
|
|
|
+ pagerCount:5,
|
|
|
+ uniqueKey:'EdbInfoId',//数据行的唯一key
|
|
|
+ }
|
|
|
+ this.isIndeterminate = false
|
|
|
+ this.isCheckAll = false
|
|
|
+ this.listCheckAllChange(false)
|
|
|
+ },
|
|
|
async getClassifyOpt(){
|
|
|
const res=await dataBaseInterface.menuListV3()
|
|
|
if (res.Ret !== 200) return
|
|
@@ -279,6 +314,9 @@ export default {
|
|
|
},
|
|
|
listCheckAllChange(value){
|
|
|
this.isSelectAll = value
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.$refs.batchSelectTable&&this.$refs.batchSelectTable.listCheckAllChange(value)
|
|
|
+ })
|
|
|
},
|
|
|
changeCheckAll({isCheckAll,isIndeterminate}){
|
|
|
this.isCheckAll = isCheckAll
|
|
@@ -288,7 +326,7 @@ export default {
|
|
|
this.tableParams.pageNo = page
|
|
|
this.getTableData('pageChange')
|
|
|
},
|
|
|
- async addSelectData({selectList,selectData}){
|
|
|
+ async addSelectData({selectList=[],selectData=[]}){
|
|
|
//校验:没选择任何指标
|
|
|
if(!this.isCheckAll&&!this.isIndeterminate){
|
|
|
return this.$message.warning('请选择需要添加的指标')
|
|
@@ -313,13 +351,14 @@ export default {
|
|
|
//const data = this.mergeAndDistinct(selectData,res.Data.SearchItem||[])
|
|
|
const data = selectData.concat(res.Data.SearchItem||[]).filter((item,index,self)=>{
|
|
|
return index ===self.findIndex(t=>t.EdbInfoId === item.EdbInfoId)
|
|
|
- })
|
|
|
+ })||[]
|
|
|
//再计算一次总和,若超出,则只获取没超出的部分
|
|
|
|
|
|
|
|
|
//加入到selectData中
|
|
|
this.$refs.batchSelectTable.addSelectData(data)
|
|
|
//自动填写指标系列名称
|
|
|
+ this.$refs.batchSelectFormula.formulaForm.name = selectData[0]?selectData.EdbName:data[0]?data[0].EdbName:''
|
|
|
},
|
|
|
async getTableData(type){
|
|
|
this.tableLoading=true
|
|
@@ -366,6 +405,13 @@ export default {
|
|
|
},
|
|
|
addFactorIndicators(){
|
|
|
//因子指标系列push
|
|
|
+ const selectData = this.$refs.batchSelectTable.selectData
|
|
|
+ const {name,formulaList} = this.$refs.batchSelectFormula.formulaForm
|
|
|
+ this.factorList.push({
|
|
|
+ name,formulaList,
|
|
|
+ selectList:selectData,
|
|
|
+ })
|
|
|
+ this.isAddFactorDialogShow = false
|
|
|
}
|
|
|
}
|
|
|
};
|