|
@@ -2,6 +2,7 @@
|
|
|
import { showToast } from 'vant';
|
|
|
import {ref} from 'vue'
|
|
|
import SelectEDB from './SelectEDB.vue'
|
|
|
+import EDBHistory from '@/views/dataEDB/components/EDBHistory.vue'
|
|
|
|
|
|
const letterOpts = [];//字母数据
|
|
|
function initLetterOpt(){
|
|
@@ -17,25 +18,29 @@ const edbList=ref([
|
|
|
tag:letterOpts[0],
|
|
|
target:'',
|
|
|
startDate:'',
|
|
|
- endDate:''
|
|
|
+ endDate:'',
|
|
|
+ name:''
|
|
|
},
|
|
|
{
|
|
|
tag:letterOpts[1],
|
|
|
target:'',
|
|
|
startDate:'',
|
|
|
- endDate:''
|
|
|
+ endDate:'',
|
|
|
+ name:''
|
|
|
},
|
|
|
{
|
|
|
tag:letterOpts[2],
|
|
|
target:'',
|
|
|
startDate:'',
|
|
|
- endDate:''
|
|
|
+ endDate:'',
|
|
|
+ name:''
|
|
|
},
|
|
|
{
|
|
|
tag:letterOpts[3],
|
|
|
target:'',
|
|
|
startDate:'',
|
|
|
- endDate:''
|
|
|
+ endDate:'',
|
|
|
+ name:''
|
|
|
}
|
|
|
])
|
|
|
function handleAddEdbList(){
|
|
@@ -49,7 +54,8 @@ function handleAddEdbList(){
|
|
|
tag: letterOpts[index+1],
|
|
|
target: '',
|
|
|
start_date: '',
|
|
|
- end_date: ''
|
|
|
+ end_date: '',
|
|
|
+ name:''
|
|
|
};
|
|
|
edbList.value.push(item);
|
|
|
}
|
|
@@ -64,8 +70,23 @@ function handleShowSelectEDB(index){
|
|
|
whichIndex=index
|
|
|
showSelectEDB.value=true
|
|
|
}
|
|
|
+function handleConfirmSelectEDB(e){
|
|
|
+ edbList.value[whichIndex].target=e.EdbInfoId
|
|
|
+ edbList.value[whichIndex].startDate=e.StartDate
|
|
|
+ edbList.value[whichIndex].endDate=e.EndDate
|
|
|
+ edbList.value[whichIndex].name=e.EdbName
|
|
|
+}
|
|
|
|
|
|
+// 显示指标溯源
|
|
|
+const showEDBHistory=ref(false)
|
|
|
+const edbHistoryId=ref(0)
|
|
|
+function handleShowEDBHistory(item){
|
|
|
+ edbHistoryId.value=item.target
|
|
|
+ showEDBHistory.value=true
|
|
|
+}
|
|
|
|
|
|
+// 计算公式
|
|
|
+const formulaVal=ref('')
|
|
|
|
|
|
|
|
|
</script>
|
|
@@ -80,13 +101,15 @@ function handleShowSelectEDB(index){
|
|
|
@click-input="handleShowSelectEDB(index)"
|
|
|
>
|
|
|
<template #left-icon>
|
|
|
- <div class="left-icon"></div>
|
|
|
+ <div class="left-icon">
|
|
|
+ <svg-icon name="edb-history-tag" size="24px" v-if="item.target" @click="handleShowEDBHistory(item)"/>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<template #input>
|
|
|
<div class="edb-info-box">
|
|
|
- <div class="edb-info" v-if="true">
|
|
|
- <span class="name">指标名称</span>
|
|
|
- <span class="time">2019-11-25至2023-08-23</span>
|
|
|
+ <div class="edb-info" v-if="item.target">
|
|
|
+ <span class="name">{{item.name}}</span>
|
|
|
+ <span class="time">{{item.startDate}}至{{item.endDate}}</span>
|
|
|
</div>
|
|
|
<span class="placeholder" v-else>请选择指标</span>
|
|
|
</div>
|
|
@@ -102,23 +125,28 @@ function handleShowSelectEDB(index){
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="section formula-box">
|
|
|
- <!-- <van-field
|
|
|
- v-model="item.target"
|
|
|
- :label="item.tag"
|
|
|
- is-link
|
|
|
- readonly
|
|
|
- input-align="right"
|
|
|
- placeholder="请选择指标"
|
|
|
+ <van-field
|
|
|
+ label="计算公式"
|
|
|
+ required
|
|
|
>
|
|
|
- <template #left-icon>
|
|
|
- <div class="left-icon"></div>
|
|
|
+ <template #input>
|
|
|
+ <div>
|
|
|
+ <input class="formula-input" type="text" placeholder="请输入公式" v-model="formulaVal">
|
|
|
+ <div class="formula-tips">
|
|
|
+ <p>公式示例:A*0.5+B*C*1.2+120-MAX(A,B,C)</p>
|
|
|
+ <p>函数支持:MAX(),MIN(),ln(A),log(a,A)</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
- </van-field> -->
|
|
|
+ </van-field>
|
|
|
</section>
|
|
|
</div>
|
|
|
|
|
|
<!-- 选择指标 -->
|
|
|
- <SelectEDB v-model:show="showSelectEDB"/>
|
|
|
+ <SelectEDB v-model:show="showSelectEDB" @select="handleConfirmSelectEDB"/>
|
|
|
+
|
|
|
+ <!-- 指标溯源 -->
|
|
|
+ <EDBHistory v-model:show="showEDBHistory" :edbInfoId="edbHistoryId"/>
|
|
|
</template>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@@ -168,4 +196,18 @@ function handleShowSelectEDB(index){
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+.formula-box{
|
|
|
+ .formula-input{
|
|
|
+ display: block;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background-color: $page-bg-grey;
|
|
|
+ padding: 12px 32px;
|
|
|
+ border-radius: 12px;
|
|
|
+ line-height: 1.7;
|
|
|
+ }
|
|
|
+ .formula-tips{
|
|
|
+ font-size: 24px;
|
|
|
+ color: $font-grey_999;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|