|
@@ -31,9 +31,10 @@
|
|
|
</div>
|
|
|
<div class="bottomPartRight ">
|
|
|
<p class="poolTitle">操作界面:</p>
|
|
|
+ {{rightTagsList}}
|
|
|
<ul class="tagList operationPool operationPools">
|
|
|
<li class = "tagItem"
|
|
|
- v-for="(item) in rightTagsList2"
|
|
|
+ v-for="(item) in rightTagsList"
|
|
|
:key='item.id'
|
|
|
:style="getStyle2(item)?styles:null"
|
|
|
@click='selectRightTag(item)'
|
|
@@ -43,7 +44,7 @@
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="buttonBox">
|
|
|
- <div class="bottomPartMid bottomPartMidss fl" :class="(type == 1)?'':'bottomPartMids'">
|
|
|
+ <div class="bottomPartMid bottomPartMidss fl" :class="(ascription == 1)?'':'bottomPartMids'">
|
|
|
<p><span class="el-icon-arrow-up" @click="toggleTopDownList(1)"></span></p>
|
|
|
<p><span class="el-icon-arrow-down" @click="toggleTopDownList(2)"></span></p>
|
|
|
</div>
|
|
@@ -57,13 +58,12 @@ import { constants } from 'fs';
|
|
|
|
|
|
export default {
|
|
|
name: "QuestionTagGroup",
|
|
|
- props: ['type','sexType','options'],
|
|
|
+ props: ['ascription','sexType','options','type'],
|
|
|
data() {
|
|
|
return {
|
|
|
leftTagsList: [],
|
|
|
selectLeftTagsList: [],
|
|
|
rightTagsList: [],
|
|
|
- rightTagsList2: [],
|
|
|
selectRightTagsList: [],
|
|
|
searchVal: '',
|
|
|
styles:{
|
|
@@ -72,24 +72,44 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
- let tagList = this.options;
|
|
|
+ let tagList = this.transOptions(this.options);
|
|
|
if(tagList&&tagList.length > 0){
|
|
|
- this.rightTagsList2 = tagList;console.log(this.options,this.rightTagsList2)
|
|
|
- this.$emit('changeActionData',this.rightTagsList2);
|
|
|
- this.searchTagList();
|
|
|
+ this.rightTagsList = tagList;
|
|
|
+ this.$emit('changeActionData',this.rightTagsList);
|
|
|
}
|
|
|
+ console.log(this.options,this.rightTagsList)
|
|
|
+ //this.searchTagList();
|
|
|
},
|
|
|
watch: {
|
|
|
searchVal(newVal, preVal){
|
|
|
- if(newVal.trim() == ''){
|
|
|
- this.searchTagList()
|
|
|
- }else if(newVal.trim() != preVal.trim()){
|
|
|
- this.searchTagList()
|
|
|
- }
|
|
|
+ this.ifReflashTagList(newVal, preVal);
|
|
|
+ },
|
|
|
+ ascription(newVal, preVal){
|
|
|
+ this.ifReflashTagList(newVal, preVal);
|
|
|
},
|
|
|
+ sexType(newVal, preVal){
|
|
|
+ this.ifReflashTagList(newVal, preVal);
|
|
|
+ },
|
|
|
+ type(newVal, preVal){
|
|
|
+ this.ifReflashTagList(newVal, preVal);
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
- selectLeftTag(tag, index, e) {
|
|
|
+ transOptions(opt){
|
|
|
+ return opt&&opt.map((it)=>{
|
|
|
+ return Object.assign({},it,{id:it.questionId||it.id}); //模板是questionId,组合是id
|
|
|
+ });
|
|
|
+ },
|
|
|
+ ifReflashTagList(newVal='', preVal=''){
|
|
|
+ if(newVal.trim() == ''){
|
|
|
+ this.rightTagsList=[];
|
|
|
+ this.searchTagList();
|
|
|
+ }else if(newVal.trim() != preVal.trim()){
|
|
|
+ this.rightTagsList=[];
|
|
|
+ this.searchTagList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ selectLeftTag(tag) {
|
|
|
const hasTag = this.isHasTag(tag, this.selectLeftTagsList);
|
|
|
if (hasTag) {
|
|
|
this.selectLeftTagsList = this.selectLeftTagsList.filter(item => item.id !== tag.id)
|
|
@@ -121,11 +141,11 @@ export default {
|
|
|
return this.isHasTag(item, this.selectRightTagsList);
|
|
|
},
|
|
|
toggleTopDownList(type){
|
|
|
- if(this.selectRightTagsList.length == 0 || this.rightTagsList2.length == 0){
|
|
|
+ if(this.selectRightTagsList.length == 0 || this.rightTagsList.length == 0){
|
|
|
return;
|
|
|
}
|
|
|
const tmpRightSelect = JSON.parse(JSON.stringify(this.selectRightTagsList));
|
|
|
- const tmpRightLis = JSON.parse(JSON.stringify(this.rightTagsList2));
|
|
|
+ const tmpRightLis = JSON.parse(JSON.stringify(this.rightTagsList));
|
|
|
const numLen = tmpRightLis.length;
|
|
|
const numId = tmpRightSelect[0].id;
|
|
|
if(type == 1){
|
|
@@ -137,8 +157,8 @@ export default {
|
|
|
let tmp1 = tmpRightLis[i];
|
|
|
tmpRightLis.splice(i,1);
|
|
|
tmpRightLis.splice(i-1,0,tmp1);
|
|
|
- this.rightTagsList2 = [...tmpRightLis];
|
|
|
- this.$emit('changeActionData',this.rightTagsList2, false);
|
|
|
+ this.rightTagsList = [...tmpRightLis];
|
|
|
+ this.$emit('changeActionData',this.rightTagsList, false);
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -152,8 +172,8 @@ export default {
|
|
|
let tmp1 = tmpRightLis[i];
|
|
|
tmpRightLis.splice(i,1);
|
|
|
tmpRightLis.splice(i+1,0,tmp1);
|
|
|
- this.rightTagsList2 = [...tmpRightLis];
|
|
|
- this.$emit('changeActionData',this.rightTagsList2, false);
|
|
|
+ this.rightTagsList = [...tmpRightLis];
|
|
|
+ this.$emit('changeActionData',this.rightTagsList, false);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -165,12 +185,12 @@ export default {
|
|
|
this.rightTagsList = this.rightTagsList.filter(item => item.id !== this.selectRightTagsList[i].id);
|
|
|
}
|
|
|
for (let i = 0; i < this.selectRightTagsList.length; i++) {
|
|
|
- for (let j = 0; j < this.rightTagsList2.length; j++) {
|
|
|
- if(this.selectRightTagsList[i].id === this.rightTagsList2[j].id) {
|
|
|
- if(this.rightTagsList2.length === 1) {
|
|
|
- this.rightTagsList2 = [];
|
|
|
+ for (let j = 0; j < this.rightTagsList.length; j++) {
|
|
|
+ if(this.selectRightTagsList[i].id === this.rightTagsList[j].id) {
|
|
|
+ if(this.rightTagsList.length === 1) {
|
|
|
+ this.rightTagsList = [];
|
|
|
} else {
|
|
|
- this.rightTagsList2.splice(j, 1);
|
|
|
+ this.rightTagsList.splice(j, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -178,35 +198,34 @@ export default {
|
|
|
this.selectLeftTagsList = [];
|
|
|
this.selectRightTagsList = [];
|
|
|
this.searchTagList();
|
|
|
- this.$emit('changeActionData',this.rightTagsList2, false);
|
|
|
+ this.$emit('changeActionData',this.rightTagsList, false);
|
|
|
},
|
|
|
toRightList() {
|
|
|
this.rightTagsList.push(...this.selectLeftTagsList);
|
|
|
- for (let i = 0; i < this.selectLeftTagsList.length; i++) { //选中标签每个加入输入框,默认为逗号
|
|
|
- this.rightTagsList2.push(this.selectLeftTagsList[i]);
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
for (let i = 0; i < this.rightTagsList.length; i++) {
|
|
|
this.leftTagsList = this.leftTagsList.filter(item => item.id !== this.rightTagsList[i].id)
|
|
|
}
|
|
|
this.selectLeftTagsList = [];
|
|
|
this.selectRightTagsList = [];
|
|
|
this.searchTagList();
|
|
|
- this.$emit('changeActionData',this.rightTagsList2, false);
|
|
|
+ this.$emit('changeActionData',this.rightTagsList, false);
|
|
|
},
|
|
|
searchTagList() {
|
|
|
let notIds = [];
|
|
|
- for (let i = 0; i < this.rightTagsList2.length; i++) {
|
|
|
- if(typeof this.rightTagsList2[i].id === 'number') {
|
|
|
- notIds.push(this.rightTagsList2[i].id);
|
|
|
- }
|
|
|
-
|
|
|
+ for (let i = 0; i < this.rightTagsList.length; i++) {
|
|
|
+ notIds.push(this.rightTagsList[i].id);
|
|
|
}
|
|
|
+ const maps = {
|
|
|
+ '4':['1'], //独立组合只能添加独立填写单
|
|
|
+ '6':['4'] //混合组合只能添加独立组合填写单
|
|
|
+ };
|
|
|
let param = {
|
|
|
"tagName": this.searchVal,
|
|
|
- "type": '',
|
|
|
+ "type": this.ascription,
|
|
|
"notIds": notIds,
|
|
|
"sexType": this.sexType,
|
|
|
+ "tagType":maps[this.type]
|
|
|
};
|
|
|
api.questionSearch(param).then((res) => {
|
|
|
if (res.data.code === '0') {
|