Authored by ‘superliu’

对比分析添加选择菜单选项

@@ -143,8 +143,14 @@ @@ -143,8 +143,14 @@
143 </el-radio-group> 143 </el-radio-group>
144 </div> 144 </div>
145 <div v-if="!isAdd " style="padding: 3px 10px;"> 145 <div v-if="!isAdd " style="padding: 3px 10px;">
  146 + <el-select style="width: 100%" v-model="form.addFirstPId" placeholder="请选择菜单" filterable @change="dataFilter">
  147 + <el-option v-for="item in firstMenu" :key="item.id" :label="item.name" :value="item.id" />
  148 + </el-select>
  149 + </div>
  150 + <div v-if="!isAdd " style="padding: 3px 10px;">
146 <el-input v-model="form.parentName" placeholder="请输入场景分类"/> 151 <el-input v-model="form.parentName" placeholder="请输入场景分类"/>
147 </div> 152 </div>
  153 +
148 <div v-if="!isAdd " style="padding: 3px 10px;"> 154 <div v-if="!isAdd " style="padding: 3px 10px;">
149 <el-input v-model="form.desc" placeholder="请输入场景分类描述"/> 155 <el-input v-model="form.desc" placeholder="请输入场景分类描述"/>
150 </div> 156 </div>
@@ -159,10 +165,10 @@ @@ -159,10 +165,10 @@
159 </el-option> 165 </el-option>
160 </el-select> 166 </el-select>
161 </div> 167 </div>
162 -<!-- xwx 2021-12-13注 基于任务167注-->  
163 -<!-- <div class="add-top-title" style=" padding: 20px 20px 20px 20px;font-size: 16px;">-->  
164 -<!-- <span>比对分析场景</span>-->  
165 -<!-- </div>--> 168 + <!-- xwx 2021-12-13注 基于任务167注-->
  169 + <!-- <div class="add-top-title" style=" padding: 20px 20px 20px 20px;font-size: 16px;">-->
  170 + <!-- <span>比对分析场景</span>-->
  171 + <!-- </div>-->
166 <div style="padding: 3px 10px;"> 172 <div style="padding: 3px 10px;">
167 <el-input v-model="form.scene.name" placeholder="请输入场景名称"/> 173 <el-input v-model="form.scene.name" placeholder="请输入场景名称"/>
168 </div> 174 </div>
@@ -147,18 +147,20 @@ export default { @@ -147,18 +147,20 @@ export default {
147 const tabSecondList = Vue.ref([]); 147 const tabSecondList = Vue.ref([]);
148 let dialogFormVisible = Vue.ref(false); 148 let dialogFormVisible = Vue.ref(false);
149 let parentList = Vue.ref([]); 149 let parentList = Vue.ref([]);
  150 + let firstMenu = Vue.ref([]);
150 151
151 var isEdit=Vue.ref(false); 152 var isEdit=Vue.ref(false);
152 var isAdd = Vue.ref(false); 153 var isAdd = Vue.ref(false);
153 - if(false==id){  
154 - isEdit=false;  
155 - }else{  
156 - isEdit=true;  
157 - } 154 + if(false==id){
  155 + isEdit=false;
  156 + }else{
  157 + isEdit=true;
  158 + }
158 let count=Vue.ref(0); 159 let count=Vue.ref(0);
159 let countFirst=Vue.ref(0); 160 let countFirst=Vue.ref(0);
160 161
161 let form = Vue.ref({ 162 let form = Vue.ref({
  163 + addFirstPId:'',
162 parentId: '', 164 parentId: '',
163 parentName: '', 165 parentName: '',
164 desc: '', 166 desc: '',
@@ -286,6 +288,19 @@ export default { @@ -286,6 +288,19 @@ export default {
286 getChartData(); 288 getChartData();
287 } 289 }
288 290
  291 + //根菜单选择事件
  292 + let dataFilter=(val)=>{
  293 + if (val) { //val存在
  294 + this.options = this.firstMenu.filter((item) => {
  295 + if (!!~item.label.indexOf(val) || !!~item.label.toUpperCase().indexOf(val.toUpperCase())) {
  296 + return true
  297 + }
  298 + })
  299 + } else { //val为空时,还原数组
  300 + this.options = this.firstMenu;
  301 + }
  302 + }
  303 +
289 let addRes = (row, index) => { 304 let addRes = (row, index) => {
290 tabFirstList.value.push(row); 305 tabFirstList.value.push(row);
291 activeName.value = 'first' 306 activeName.value = 'first'
@@ -410,6 +425,7 @@ export default { @@ -410,6 +425,7 @@ export default {
410 } 425 }
411 426
412 let analysisChange = (val) => { 427 let analysisChange = (val) => {
  428 +
413 if (val && val === true && parentList.value.length == 0) { 429 if (val && val === true && parentList.value.length == 0) {
414 // 加载数据 430 // 加载数据
415 proxy.$http.post(`/api-web/ContrastAnalysis/selectScene`, {}, function (res) { 431 proxy.$http.post(`/api-web/ContrastAnalysis/selectScene`, {}, function (res) {
@@ -417,6 +433,7 @@ export default { @@ -417,6 +433,7 @@ export default {
417 parentList.value = res.data; 433 parentList.value = res.data;
418 } 434 }
419 }); 435 });
  436 +
420 } 437 }
421 } 438 }
422 let saveAnalysis = () => { 439 let saveAnalysis = () => {
@@ -424,6 +441,7 @@ export default { @@ -424,6 +441,7 @@ export default {
424 let formVal = form.value; 441 let formVal = form.value;
425 let parentName = formVal.parentName; 442 let parentName = formVal.parentName;
426 let parentId = formVal.parentId; 443 let parentId = formVal.parentId;
  444 + let addFirstPId=formVal.addFirstPId;
427 let desc = formVal.scene.desc; 445 let desc = formVal.scene.desc;
428 let name = formVal.scene.name; 446 let name = formVal.scene.name;
429 let sort = formVal.scene.sort; 447 let sort = formVal.scene.sort;
@@ -467,6 +485,12 @@ export default { @@ -467,6 +485,12 @@ export default {
467 proxy.$global.showMsg("请输入场景分类!","warning"); 485 proxy.$global.showMsg("请输入场景分类!","warning");
468 return; 486 return;
469 } 487 }
  488 + //判断根节点菜单是否选中
  489 + if(addFirstPId==''){
  490 + proxy.$global.showMsg("请选择菜单!","warning");
  491 + return;
  492 + }
  493 + addParam['addFirstPId']=addFirstPId;
470 addParam['parentName'] = parentName; 494 addParam['parentName'] = parentName;
471 addParam['desc'] = formVal.desc; 495 addParam['desc'] = formVal.desc;
472 url = '/api-web/ContrastAnalysis/insertScene'; 496 url = '/api-web/ContrastAnalysis/insertScene';
@@ -486,6 +510,7 @@ export default { @@ -486,6 +510,7 @@ export default {
486 onReset(); 510 onReset();
487 // 清空数据 511 // 清空数据
488 form.value = { 512 form.value = {
  513 + addFirstPId:'',
489 parentId: '', 514 parentId: '',
490 parentName: '', 515 parentName: '',
491 desc: '', 516 desc: '',
@@ -532,6 +557,14 @@ export default { @@ -532,6 +557,14 @@ export default {
532 busTypeList.value = res.data; 557 busTypeList.value = res.data;
533 } 558 }
534 }) 559 })
  560 +
  561 +
  562 + //LH 加载新增树菜单
  563 + proxy.$http.get(`/api-web/ContrastAnalysis/getRootMenu`,{menuName:''}, function (res) {
  564 + if (res.length>0 ) {
  565 + firstMenu.value = res;
  566 + }
  567 + });
535 } 568 }
536 569
537 570
@@ -596,6 +629,7 @@ export default { @@ -596,6 +629,7 @@ export default {
596 timeRangeArr, 629 timeRangeArr,
597 loadTimeRange, 630 loadTimeRange,
598 timeRangeChange, 631 timeRangeChange,
  632 + dataFilter,//根菜单选择事件
599 633
600 isAdd, 634 isAdd,
601 isEdit, 635 isEdit,
@@ -604,6 +638,7 @@ export default { @@ -604,6 +638,7 @@ export default {
604 showDialogForm, 638 showDialogForm,
605 saveAnalysis, 639 saveAnalysis,
606 parentList, 640 parentList,
  641 + firstMenu,//菜单
607 getChartData, 642 getChartData,
608 count, 643 count,
609 countFirst 644 countFirst