|
@@ -66,16 +66,24 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-show="operationVisible" class="operation-box flex1 flex flex-d-c ov-hidden">
|
|
|
- <div class="flex ">
|
|
|
- <div>选择参数设置</div>
|
|
|
- <div style="margin-left: 29%;font-weight: 700;">公式配置</div>
|
|
|
- </div>
|
|
|
+ <div>选择参数设置</div>
|
|
|
<div class="flex flex-d-c flex1 ov-hidden">
|
|
|
<el-row :gutter="20" class="flex1 ov-hidden">
|
|
|
<el-col :span="8" class="h-100p">
|
|
|
<el-card shadow="never" v-loading="treeLoad" class="h-100p ov-auto">
|
|
|
<el-scrollbar style="height: 100%">
|
|
|
-
|
|
|
+ <!-- <el-tree
|
|
|
+ class="filter-tree"
|
|
|
+ lazy
|
|
|
+ :load="loadNode"
|
|
|
+ @node-click="getNodeDetail"
|
|
|
+ :props="defaultProps"
|
|
|
+ :expand-on-click-node="false"
|
|
|
+ highlight-current
|
|
|
+ node-key="id"
|
|
|
+ ref="tree"
|
|
|
+ >
|
|
|
+ </el-tree> -->
|
|
|
<el-tree
|
|
|
class="filter-tree"
|
|
|
:data="treeData"
|
|
@@ -92,78 +100,70 @@
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
<el-col :span="16" class="h-100p flex flex-d-c ov-hidden">
|
|
|
- <div class="operation-box">
|
|
|
- <!-- 运算符选择区域 -->
|
|
|
- <div class="flex jc-sb operation-symbol-box">
|
|
|
-
|
|
|
- <div class="icon-box ">
|
|
|
- <span class="text-sm" >插入运算符:</span>
|
|
|
-
|
|
|
- <el-link :underline="false" type="primary" @click="addOperator('+')" icon="el-icon-circle-plus-outline"></el-link>
|
|
|
- <el-link :underline="false" type="primary" @click="addOperator('-')" icon="el-icon-remove-outline"></el-link>
|
|
|
- <el-link :underline="false" type="primary" @click="addOperator('*')" icon="el-icon-circle-close"></el-link>
|
|
|
- <el-link :underline="false" type="primary" @click="addOperator('%')">÷</el-link>
|
|
|
- <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets('(',false)">(</el-link>
|
|
|
- <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets(')',true)">)</el-link>
|
|
|
- <el-link :underline="false" type="primary" @click="addText">固定值</el-link>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- 操作
|
|
|
- <el-link :underline="false" icon="el-icon-delete" type="danger" @click="removeSelect"></el-link>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <div class="border-grey sele-ele-box1" >
|
|
|
- <draggable v-model="selectEleFormula">
|
|
|
- <formula-item
|
|
|
- v-for="(item,index) in selectEleFormula" :key="index"
|
|
|
- :item="item" @click="obj => eleFormulaClick(obj,index)"
|
|
|
- >
|
|
|
- </formula-item>
|
|
|
- </draggable>
|
|
|
- </div>
|
|
|
- <div class="flex mg-t-10" style="justify-content: space-between;width:100%;">
|
|
|
- <el-select v-model="eleTableId" @change="getTableEle" placeholder="请选择元素表1" style="width:45%">
|
|
|
- <el-option v-if="paramDataList.length" label="选择节点参数2" value="选择节点参数"></el-option>
|
|
|
- <el-option v-for="item in eleTableList" :key="item.id" :label="item.tableName" :value="(item.pkeyId!==null&&item.pkeyId!==-1)?item.pkeyId:item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- <!-- 搜索元素下拉框 -->
|
|
|
- <!-- <el-select v-model="input3" filterable clearable placeholder="搜索元素字段" @change="getInput" style="width:45%">
|
|
|
- <el-option
|
|
|
- v-for="item in eleList1"
|
|
|
- :key="item.id"
|
|
|
- :label="item.eName"
|
|
|
- :value="item.eName">
|
|
|
- </el-option>
|
|
|
- </el-select> -->
|
|
|
- <div class="text-align-c">
|
|
|
- <el-button size="small" @click="canceloperationVisible ">取消</el-button>
|
|
|
- <el-button size="small" @click="operationHandle" type="primary">保存</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="flex" style="justify-content: space-between;width:100%">
|
|
|
+ <el-select v-model="eleTableId" @change="getTableEle" placeholder="请选择元素表1" style="width:45%">
|
|
|
+ <el-option v-if="paramDataList.length" label="选择节点参数2" value="选择节点参数"></el-option>
|
|
|
+ <el-option v-for="item in eleTableList" :key="item.id" :label="item.tableName" :value="(item.pkeyId!==null&&item.pkeyId!==-1)?item.pkeyId:item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- 搜索元素下拉框 -->
|
|
|
+ <el-select v-model="input3" filterable clearable placeholder="搜索元素字段" @change="getInput" style="width:45%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in eleList1"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.eName"
|
|
|
+ :value="item.eName">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="mg-t-10 no-mb-col flex1" >
|
|
|
- <el-scrollbar style="height: 350px">
|
|
|
- <!-- <el-row v-loading="eleListable" v-if="eleList.length>0">
|
|
|
- <el-col :span="6" v-for="item in eleList" :key="item.id" >
|
|
|
- <div class="ele-box">
|
|
|
- <span v-if="item.k">{{item.name}}</span>
|
|
|
- <span v-else>{{item.eName}}</span>
|
|
|
- <el-checkbox v-model="item.checked" @change="value => eleChang(value,item)"></el-checkbox>
|
|
|
- </div>
|
|
|
-
|
|
|
- </el-col>
|
|
|
- </el-row> -->
|
|
|
- <!-- <el-row v-else style="text-align: center;line-height: 328px;border:1px solid #bbb">暂无数据</el-row> -->
|
|
|
- 777
|
|
|
- </el-scrollbar>
|
|
|
- </div>
|
|
|
-
|
|
|
+ <div class="mg-t-10 no-mb-col flex1 ov-hidden">
|
|
|
+ <el-scrollbar style="height: 100%">
|
|
|
+ <el-row v-loading="eleListable" v-if="eleList.length>0">
|
|
|
+ <el-col :span="6" v-for="item in eleList" :key="item.id" >
|
|
|
+ <div class="ele-box">
|
|
|
+ <span v-if="item.k">{{item.name}}</span>
|
|
|
+ <span v-else>{{item.eName}}</span>
|
|
|
+ <el-checkbox v-model="item.checked" @change="value => eleChang(value,item)"></el-checkbox>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-else style="text-align: center;line-height: 328px;border:1px solid #bbb">暂无数据</el-row>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ <div class="flex jc-sb">
|
|
|
+ <!-- <div>定位数据位置:</div> -->
|
|
|
+ <div class="icon-box">
|
|
|
+ <el-link :underline="false" icon="el-icon-delete" type="danger" @click="removeSelect"></el-link>
|
|
|
+ <el-link :underline="false" type="primary" @click="addOperator('+')" icon="el-icon-circle-plus-outline"></el-link>
|
|
|
+ <el-link :underline="false" type="primary" @click="addOperator('-')" icon="el-icon-remove-outline"></el-link>
|
|
|
+ <el-link :underline="false" type="primary" @click="addOperator('*')" icon="el-icon-circle-close"></el-link>
|
|
|
+ <el-link :underline="false" type="primary" @click="addOperator('%')">÷</el-link>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <!-- <el-link :underline="false" type="primary" class="mg-r-20" @click="eleAddFormula">元素添加到公式</el-link> -->
|
|
|
+ <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets('(',false)">(</el-link>
|
|
|
+ <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets(')',true)">)</el-link>
|
|
|
+ <!-- <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets('[',false)">【</el-link>
|
|
|
+ <el-link :underline="false" type="primary" class="mg-r-10" @click="addBrackets(']',true)">】</el-link> -->
|
|
|
+ <el-link :underline="false" type="primary" @click="addText">输入值</el-link>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="border-grey sele-ele-box" style="height:50px">
|
|
|
+ <draggable v-model="selectEleFormula">
|
|
|
+ <formula-item
|
|
|
+ v-for="(item,index) in selectEleFormula" :key="index"
|
|
|
+ :item="item" @click="obj => eleFormulaClick(obj,index)"
|
|
|
+ >
|
|
|
+ </formula-item>
|
|
|
+ </draggable>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
+ <div class="text-align-c">
|
|
|
+ <el-button size="small" @click="operationHandle" type="primary">保存</el-button>
|
|
|
+ <el-button size="small" @click="canceloperationVisible ">取消</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-show="!operationVisible && !showFunDetail && !deviationRange.show">
|
|
@@ -465,7 +465,6 @@ import {formulaStringToArray} from "./formulaStringToArray"
|
|
|
import draggable from 'vuedraggable'
|
|
|
import {formatArrayMore,restoreArrayMore,generateResult} from './component/funComponent/multiIfElseTools'
|
|
|
import dataChange from "./component/funComponent/dataChange"
|
|
|
-import tableFormWrite from "./component/table-form-write.vue";
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -485,8 +484,7 @@ export default {
|
|
|
ifelse,
|
|
|
|
|
|
deviationRange,
|
|
|
- dataChange,
|
|
|
- tableFormWrite
|
|
|
+ dataChange
|
|
|
},
|
|
|
props: {
|
|
|
wbsid:{
|
|
@@ -1408,7 +1406,7 @@ export default {
|
|
|
console.log('this.$refs.conditionList[0]',this.$refs.dynamiccomponent[0].conditionList);
|
|
|
let resMore=formatArrayMore(this.$refs.dynamiccomponent[0].conditionList);
|
|
|
const resJson=generateResult(this.$refs.dynamiccomponent[0].conditionList);
|
|
|
- let remark=this.$refs.dynamiccomponent[0].remark;
|
|
|
+ let remark=this.$refs.dynamiccomponent[0].result;
|
|
|
console.log(remark,'remark');
|
|
|
|
|
|
console.log(resJson,'resJson');
|
|
@@ -1690,7 +1688,7 @@ console.log(remark,'remark');
|
|
|
detail.formula = detail.formula.replace('FC.ifelseMulti','FC.ifelse');
|
|
|
this.isMore = true;
|
|
|
this.formulaDetailMap = detail.map;
|
|
|
- this.moreConditions = restoreArrayMore(detail.formulas,this.formulaDetailMap)
|
|
|
+ this.moreConditions = restoreArrayMore(detail.formulas,this.formulaDetailMap,detail.remark||'1')
|
|
|
|
|
|
}else if(detail&&detail.formula.includes('FC.switchCase')){
|
|
|
//数据获取
|