|
@@ -34,6 +34,7 @@
|
|
|
@click.native="inputFocusHandle"
|
|
|
@change="chooseTarget"
|
|
|
@blur="search_have_more = false"
|
|
|
+ :disabled="operationForm.view"
|
|
|
>
|
|
|
<i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
<el-option
|
|
@@ -69,6 +70,7 @@
|
|
|
width="110"
|
|
|
align="center"
|
|
|
label="操作"
|
|
|
+ v-if="!operationForm.view"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<span class="deletesty" @click="delTarget">删除</span>
|
|
@@ -103,6 +105,7 @@
|
|
|
label-width="80px"
|
|
|
:model="formData"
|
|
|
:rules="formRules"
|
|
|
+ :disabled="operationForm.view"
|
|
|
>
|
|
|
<el-form-item label="指标名称" prop="targetName">
|
|
|
<el-input
|
|
@@ -118,12 +121,11 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="指标目录" prop="menu">
|
|
|
- <el-cascader
|
|
|
+ <el-cascader v-if="isOpenSmooth"
|
|
|
v-model="formData.menu"
|
|
|
:options="catalogArr"
|
|
|
:props="levelProps"
|
|
|
clearable
|
|
|
- :emitPath="false"
|
|
|
placeholder="请选择指标目录"
|
|
|
/>
|
|
|
</el-form-item>
|
|
@@ -155,8 +157,36 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 批量计算 -->
|
|
|
- <div class="batch-wrap" v-else></div>
|
|
|
- <div class="dia-bot">
|
|
|
+ <div class="batch-wrap" v-else>
|
|
|
+ <ul class="target-ul">
|
|
|
+ <li class="target-li" v-for="(list, index) in targetList" :key="index">
|
|
|
+ <span class="li-tag">{{ list.tag }}</span>
|
|
|
+ <el-select v-model="list.target" v-loadMore="searchLoad" :filterable="!list.target" clearable
|
|
|
+ placeholder="请输入指标名称" style="width: 400px" @change="chooseTarget"
|
|
|
+ @clear="clearHandle(index)" remote :remote-method="searchTarget"
|
|
|
+ @click.native="inputFocusHandle">
|
|
|
+ <i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
+ <el-option v-for="item in searchOptions" :key="item.EdbInfoId"
|
|
|
+ :label="$parent.currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
|
|
|
+ :value="item.EdbInfoId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ <i class="el-icon-tickets" style="color:#409EFF;font-size:18px"
|
|
|
+ @click="$emit('lookHistory',list.target)" v-if="list.target" />
|
|
|
+
|
|
|
+ <i class="el-icon-error del-tag" v-if="index > 1" @click="delTarget(index)" />
|
|
|
+ <span class="target-date" v-if="list.start_date">{{
|
|
|
+ `${list.start_date}至${list.end_date}`
|
|
|
+ }}</span>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <span class="add-icon" @click="addTargetHandle">
|
|
|
+ <i class="el-icon-circle-plus-outline" style="color: #5882ef; font-size: 16px" />
|
|
|
+ 添加更多指标
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="dia-bot" v-if="!operationForm.view">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
style="margin-right: 20px"
|
|
@@ -180,6 +210,8 @@
|
|
|
<script>
|
|
|
import { dataBaseInterface } from '@/api/api.js';
|
|
|
import { formRules } from './util';
|
|
|
+const tag_arr = [];
|
|
|
+for(let i=0;i<26;i++) tag_arr.push(String.fromCharCode(65+i));
|
|
|
export default {
|
|
|
props:{
|
|
|
isOpenSmooth:{
|
|
@@ -200,6 +232,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ /* 常规 */
|
|
|
formData:{
|
|
|
targetName:'',
|
|
|
unit:'',
|
|
@@ -214,6 +247,7 @@ export default {
|
|
|
label: 'ClassifyName',
|
|
|
value: 'ClassifyId',
|
|
|
children: 'Children',
|
|
|
+ emitPath: false,
|
|
|
},
|
|
|
|
|
|
select_target:'',
|
|
@@ -258,6 +292,10 @@ export default {
|
|
|
],
|
|
|
dataList:[],
|
|
|
|
|
|
+ /* 批量 */
|
|
|
+ targetList:[],
|
|
|
+ formDataList:[],
|
|
|
+
|
|
|
loading:false,
|
|
|
};
|
|
|
},
|
|
@@ -268,16 +306,22 @@ export default {
|
|
|
if(this.operationForm.edb_id){
|
|
|
this.select_target = this.operationForm.oldedb_id
|
|
|
this.getDataList()
|
|
|
- this.setDefaultOption(this.operationForm)
|
|
|
+ this.setDefaultOption(this.operationForm,'edit')
|
|
|
+ //回显时的默认options
|
|
|
+ this.searchOptions = [
|
|
|
+ {
|
|
|
+ EdbInfoId: this.operationForm.oldedb_id,
|
|
|
+ EdbName: this.operationForm.oldEdb_name,
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
- }else{
|
|
|
- this.init()
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
init(){
|
|
|
-
|
|
|
+ this.$refs.form.resetFields();
|
|
|
+ Object.assign(this.$data, this.$options.data());
|
|
|
},
|
|
|
searchLoad() {
|
|
|
if(!this.search_have_more) return;
|
|
@@ -329,9 +373,9 @@ export default {
|
|
|
this.dataList = [];
|
|
|
}
|
|
|
},
|
|
|
- setDefaultOption(obj){
|
|
|
+ setDefaultOption(obj,type){
|
|
|
this.formData = {
|
|
|
- targetName:obj.EdbName+'指数修匀',
|
|
|
+ targetName:`${obj.EdbName}${type==='edit'?'':'指数修匀'}`,
|
|
|
unit:obj.Unit,
|
|
|
frequency:obj.Frequency,
|
|
|
menu:obj.ClassifyId||'',
|
|
@@ -357,7 +401,16 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- handleSelectBtnClick(){},
|
|
|
+ handleSelectBtnClick(){
|
|
|
+ //计算指标打开弹窗,基础指标打开新页面
|
|
|
+ if(this.tableData[0].EdbType===2){
|
|
|
+ this.$emit('lookHistory',this.select_target)
|
|
|
+ }else{
|
|
|
+ const {ClassifyId,UniqueCode,EdbInfoId} = this.tableData[0]
|
|
|
+ let {href} = this.$router.resolve({path:`/database`,query:{code:UniqueCode,id:EdbInfoId,classifyId:ClassifyId}});
|
|
|
+ window.open(href,'_blank');
|
|
|
+ }
|
|
|
+ },
|
|
|
delTarget(){},
|
|
|
scrollHandle(){},
|
|
|
async saveHandle(){
|