|
@@ -39,6 +39,7 @@ function getCalculateBtnText(){
|
|
|
[61,'转季值计算'],
|
|
|
[62,'累计值计算'],
|
|
|
[63,'年初至今计算'],
|
|
|
+ [72,'指数修匀计算'],
|
|
|
])
|
|
|
str=btnTextMap.get(source.value)
|
|
|
|
|
@@ -59,6 +60,7 @@ function handleTabChange(){
|
|
|
classifyName:'',
|
|
|
frequency:'',
|
|
|
numberN:1,
|
|
|
+ alphaVal:'',
|
|
|
},
|
|
|
{
|
|
|
tag:letterOpts[1],
|
|
@@ -69,6 +71,7 @@ function handleTabChange(){
|
|
|
classifyName:'',
|
|
|
frequency:'',
|
|
|
numberN:1,
|
|
|
+ alphaVal:'',
|
|
|
}
|
|
|
]
|
|
|
}
|
|
@@ -101,6 +104,7 @@ const edbList=ref([
|
|
|
classifyName:'',
|
|
|
frequency:'',
|
|
|
numberN:1,
|
|
|
+ alphaVal:'',
|
|
|
},
|
|
|
{
|
|
|
tag:letterOpts[1],
|
|
@@ -111,6 +115,7 @@ const edbList=ref([
|
|
|
classifyName:'',
|
|
|
frequency:'',
|
|
|
numberN:1,
|
|
|
+ alphaVal:'',
|
|
|
}
|
|
|
])
|
|
|
function handleAddEdbList(){
|
|
@@ -129,6 +134,7 @@ function handleAddEdbList(){
|
|
|
classifyName:'',
|
|
|
frequency:'',
|
|
|
numberN:1,
|
|
|
+ alphaVal:'',
|
|
|
};
|
|
|
edbList.value.push(item);
|
|
|
}
|
|
@@ -152,6 +158,10 @@ function handleConfirmSelectEDB(e){
|
|
|
edbList.value[currentEdbInfoIndex.value].name=obj.targetName
|
|
|
edbList.value[currentEdbInfoIndex.value].unit=obj.unit
|
|
|
edbList.value[currentEdbInfoIndex.value].frequency=obj.frequency
|
|
|
+
|
|
|
+ if([72].includes(source.value)){//指数修匀设置默认指标目录为选择的指标目录
|
|
|
+ selectEDBClassifyINS.value?.getSelectClassifyOpt(e.ClassifyId)//获取选择的分类目录
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 选择指标后设置基础信息
|
|
@@ -227,6 +237,12 @@ function setBaseInfo(obj,list){
|
|
|
unit: '无',
|
|
|
frequency: obj.Frequency
|
|
|
}
|
|
|
+ case 72:
|
|
|
+ return {
|
|
|
+ targetName:`${obj.EdbName}指数修匀`,
|
|
|
+ unit: obj.Unit,
|
|
|
+ frequency: obj.Frequency
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -235,6 +251,7 @@ const showSeeEDBDataList=ref(false)
|
|
|
|
|
|
const edbNameInputFocus=ref(false)//指标名称输入框聚焦
|
|
|
const numberNInputFocus=ref(false)//N值输入框聚焦
|
|
|
+const alphaValInputFocus=ref(false)//alpha值输入框聚焦
|
|
|
|
|
|
// 选择单位
|
|
|
const showSelectUnit=ref(false)
|
|
@@ -244,7 +261,13 @@ function onConfirmSelectUnit(value){
|
|
|
|
|
|
//选择分类
|
|
|
const showSelectClassify=ref(false)
|
|
|
+const selectEDBClassifyINS=ref(null)
|
|
|
function handleConfirmClassify({value,selectedOptions}){
|
|
|
+ if(selectedOptions.length===0){
|
|
|
+ edbList.value[currentEdbInfoIndex.value].classify=''
|
|
|
+ edbList.value[currentEdbInfoIndex.value].classifyName=''
|
|
|
+ return
|
|
|
+ }
|
|
|
edbList.value[currentEdbInfoIndex.value].classify=value
|
|
|
edbList.value[currentEdbInfoIndex.value].classifyName=`${selectedOptions[0].ClassifyName}/${selectedOptions[1].ClassifyName}/${selectedOptions[2].ClassifyName}`
|
|
|
}
|
|
@@ -276,7 +299,7 @@ async function handleSave(){
|
|
|
CalculateInfo: {
|
|
|
ClassifyId: item.classify,
|
|
|
EdbName: item.name,
|
|
|
- Formula: String(item.numberN),
|
|
|
+ Formula: [72].includes(source.value)?String(item.alphaVal) : String(item.numberN),
|
|
|
Frequency:item.frequency,
|
|
|
FromEdbInfoId: item.edbData.EdbInfoId,
|
|
|
MoveFrequency: "天",
|
|
@@ -287,6 +310,24 @@ async function handleSave(){
|
|
|
}
|
|
|
})
|
|
|
console.log(params);
|
|
|
+ // 判断alpha的值
|
|
|
+ if([72].includes(source.value)){
|
|
|
+ let msg=[]
|
|
|
+ params.forEach(item=>{
|
|
|
+ if(item.CalculateInfo.Formula<=0||item.CalculateInfo.Formula>=1){
|
|
|
+ msg.push(item.CalculateId)
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ if(msg.length){
|
|
|
+ showDialog({
|
|
|
+ allowHtml:true,
|
|
|
+ message:'指标'+msg.join('、')+'的alpha值不合法'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
saveBtnLoading.value=true
|
|
|
const res=await apiDataEDB.batchAddCalculateEDB(params)
|
|
|
saveBtnLoading.value=false
|
|
@@ -448,6 +489,23 @@ async function handleSave(){
|
|
|
<svg-icon class="edit-icon" name="edit" :color="numberNInputFocus?'#0052D9':'#333333'"/>
|
|
|
</template>
|
|
|
</van-field>
|
|
|
+ <!-- 指数修匀 alpha 值 -->
|
|
|
+ <van-field
|
|
|
+ v-if="[72].includes(source)"
|
|
|
+ v-model.number="edbList[currentEdbInfoIndex].alphaVal"
|
|
|
+ type="number"
|
|
|
+ label="alpha值"
|
|
|
+ placeholder="请输入alpha值"
|
|
|
+ input-align="right"
|
|
|
+ required
|
|
|
+ @focus="alphaValInputFocus=true"
|
|
|
+ @blur="alphaValInputFocus=false"
|
|
|
+ :disabled="isPreview"
|
|
|
+ >
|
|
|
+ <template #right-icon>
|
|
|
+ <svg-icon v-if="!isPreview" class="edit-icon" name="edit" :color="alphaValInputFocus?'#0052D9':'#333333'"/>
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
@@ -473,7 +531,7 @@ async function handleSave(){
|
|
|
<SelectEDBUnit v-model:show="showSelectUnit" @select="onConfirmSelectUnit"/>
|
|
|
|
|
|
<!-- 选择分类 -->
|
|
|
- <SelectEDBClassify v-model:show="showSelectClassify" @select="handleConfirmClassify" />
|
|
|
+ <SelectEDBClassify ref="selectEDBClassifyINS" v-model:show="showSelectClassify" @select="handleConfirmClassify" />
|
|
|
|
|
|
<!-- 选择频度 -->
|
|
|
<SelectEDBFrequency v-model:show="showSelectFrequency" @select="handleConfirmFrequency"/>
|