Browse Source

单选框和下拉框组件支持固定选项拖动排序

lwx_v14
liwenxuan 1 year ago
parent
commit
e9201fa819
  1. 41
      src/components/DesignForm/formControlPropertiNew.vue

41
src/components/DesignForm/formControlPropertiNew.vue

@ -1282,7 +1282,7 @@ const delSelectOption = (index: number, type?: string) => {
//liwenxuan 20240508 checkbox start
let delflag = true
let breakFlag = 0
if(controlData.value.type === 'checkbox'&& controlData.value.config.optionsType==0){
if((controlData.value.type === 'checkbox'||controlData.value.type === 'radio'||controlData.value.type === 'select')&& controlData.value.config.optionsType==0){
//,indexvalue,index liwenxuan 20240815 start
for(let i = 0;i<controlData.value.options.length;i++){
if(controlData.value.options[i].value==index){
@ -1291,26 +1291,29 @@ const delSelectOption = (index: number, type?: string) => {
}
}
//,indexvalue,index liwenxuan 20240815 end
for(var i = 0;i < controlData.value.control.glxxszForCheckBox.length;i ++){
if(breakFlag>0){
break
}
for(var j = 0; j < controlData.value.control.glxxszForCheckBox[i].selectedOptions.length; j++){
if(controlData.value.control.glxxszForCheckBox[i].selectedOptions[j] === controlData.value.options[index].value){
let del =confirm("您本次删除的选项已在关联选项设置中有所配置,相关关联选项设置将被删除,是否确定删除?");
if (del==true){
breakFlag++
break
}else{
delflag = false
breakFlag++
break
if(controlData.value.type === 'checkbox'){
for(var i = 0;i < controlData.value.control.glxxszForCheckBox.length;i ++){
if(breakFlag>0){
break
}
for(var j = 0; j < controlData.value.control.glxxszForCheckBox[i].selectedOptions.length; j++){
if(controlData.value.control.glxxszForCheckBox[i].selectedOptions[j] === controlData.value.options[index].value){
let del =confirm("您本次删除的选项已在关联选项设置中有所配置,相关关联选项设置将被删除,是否确定删除?");
if (del==true){
breakFlag++
break
}else{
delflag = false
breakFlag++
break
}
}
}
}
}
}
}
if(delflag === true){
//
@ -3973,7 +3976,7 @@ const radioChangeSet = (val:any) => {
</el-select>
</el-form-item>
<template v-if="controlData.config.optionsType === 0">
<div v-if="controlData.type !== 'cascader'&&controlData.type !== 'checkbox'">
<div v-if="controlData.type !== 'cascader'&&controlData.type !== 'checkbox'&&controlData.type !== 'radio'&&controlData.type !== 'select'">
<el-form-item
v-for="(item, index) in controlData.options"
:key="index"
@ -3995,7 +3998,7 @@ const radioChangeSet = (val:any) => {
</el-form-item>
</div>
<!-- 多选选择框选项拖动功能 liwenxuan 20240815 start -->
<div v-if="controlData.type !== 'cascader'&&controlData.type == 'checkbox'">
<div v-if="controlData.type !== 'cascader'&&(controlData.type == 'checkbox'||controlData.type == 'radio'||controlData.type == 'select')">
<draggable
:list="controlData.options"
:force-fallback="true"

Loading…
Cancel
Save