|
|
|
@ -1191,7 +1191,7 @@ const delSelectOption = (index: number, type?: string) => { |
|
|
|
//liwenxuan 20240508 checkbox 删除选项时提醒 start |
|
|
|
let delflag = true |
|
|
|
let breakFlag = 0 |
|
|
|
if(controlData.value.type === 'checkbox'){ |
|
|
|
if(controlData.value.type === 'checkbox'&& controlData.value.config.optionsType==0){ |
|
|
|
for(var i = 0;i < controlData.value.control.glxxszForCheckBox.length;i ++){ |
|
|
|
if(breakFlag>0){ |
|
|
|
break |
|
|
|
@ -2452,30 +2452,32 @@ watch(()=>controlData.value.control,(newVal) => { |
|
|
|
//radio,select添加选项时同步配置选项 |
|
|
|
watch(()=>controlData.value.options, (changedOptions:any) => { |
|
|
|
if(controlData.value.type === "radio" || controlData.value.type === "select"){ |
|
|
|
if(changedOptions.length===0){ |
|
|
|
//删没了option |
|
|
|
controlData.value.control.glxxsz = [] |
|
|
|
}else{ |
|
|
|
if(changedOptions.length < controlData.value.control.glxxsz.length){ |
|
|
|
//删除了某个option |
|
|
|
controlData.value.control.glxxsz = controlData.value.control.glxxsz.filter((item: { optionValue: any }) => changedOptions.find((bItem: { value: any }) => item.optionValue == bItem.value)) |
|
|
|
if(controlData.value.config.optionsType==0){ |
|
|
|
if(changedOptions.length===0){ |
|
|
|
//删没了option |
|
|
|
controlData.value.control.glxxsz = [] |
|
|
|
}else{ |
|
|
|
for(var i = 0; i < changedOptions.length; i++){ |
|
|
|
if(controlData.value.control.glxxsz[i]===undefined){ |
|
|
|
//新增了某个option |
|
|
|
controlData.value.control.glxxsz.push( |
|
|
|
{ |
|
|
|
conditionField: controlData.value.name, |
|
|
|
optionLabel: changedOptions[i].label, |
|
|
|
optionValue: changedOptions[i].value, |
|
|
|
tableIndex: i, |
|
|
|
id: uuidv4().replaceAll('-','').toString(), |
|
|
|
} |
|
|
|
) |
|
|
|
}else{ |
|
|
|
//修改了某个option |
|
|
|
controlData.value.control.glxxsz[i].optionLabel = changedOptions[i].label |
|
|
|
controlData.value.control.glxxsz[i].optionValue = changedOptions[i].value |
|
|
|
if(changedOptions.length < controlData.value.control.glxxsz.length){ |
|
|
|
//删除了某个option |
|
|
|
controlData.value.control.glxxsz = controlData.value.control.glxxsz.filter((item: { optionValue: any }) => changedOptions.find((bItem: { value: any }) => item.optionValue == bItem.value)) |
|
|
|
}else{ |
|
|
|
for(var i = 0; i < changedOptions.length; i++){ |
|
|
|
if(controlData.value.control.glxxsz[i]===undefined){ |
|
|
|
//新增了某个option |
|
|
|
controlData.value.control.glxxsz.push( |
|
|
|
{ |
|
|
|
conditionField: controlData.value.name, |
|
|
|
optionLabel: changedOptions[i].label, |
|
|
|
optionValue: changedOptions[i].value, |
|
|
|
tableIndex: i, |
|
|
|
id: uuidv4().replaceAll('-','').toString(), |
|
|
|
} |
|
|
|
) |
|
|
|
}else{ |
|
|
|
//修改了某个option |
|
|
|
controlData.value.control.glxxsz[i].optionLabel = changedOptions[i].label |
|
|
|
controlData.value.control.glxxsz[i].optionValue = changedOptions[i].value |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -2487,18 +2489,22 @@ watch(()=>controlData.value.options, (changedOptions:any) => { |
|
|
|
|
|
|
|
|
|
|
|
function createRowForGlxxsz(){ |
|
|
|
controlData.value.control.glxxszForCheckBox.push( |
|
|
|
{ |
|
|
|
conditionField: controlData.value.name, |
|
|
|
selectedOptions:[], |
|
|
|
showFields:[], |
|
|
|
id: uuidv4().replaceAll('-','').toString(), |
|
|
|
} |
|
|
|
) |
|
|
|
if(controlData.value.config.optionsType==0){ |
|
|
|
controlData.value.control.glxxszForCheckBox.push( |
|
|
|
{ |
|
|
|
conditionField: controlData.value.name, |
|
|
|
selectedOptions:[], |
|
|
|
showFields:[], |
|
|
|
id: uuidv4().replaceAll('-','').toString(), |
|
|
|
} |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function deleteRowForGlxxsz(row: { id: any }){ |
|
|
|
controlData.value.control.glxxszForCheckBox = controlData.value.control.glxxszForCheckBox.filter((item: { id: any }) => item.id!=row.id) |
|
|
|
if(controlData.value.config.optionsType==0){ |
|
|
|
controlData.value.control.glxxszForCheckBox = controlData.value.control.glxxszForCheckBox.filter((item: { id: any }) => item.id!=row.id) |
|
|
|
} |
|
|
|
} |
|
|
|
/* */ |
|
|
|
|
|
|
|
@ -2515,6 +2521,13 @@ function handleDetermineoptionsValue3(){ |
|
|
|
//liwenxuan20240426 单选多选下拉 关联选项设置 end |
|
|
|
|
|
|
|
|
|
|
|
function optionsTypeChanged(){ |
|
|
|
controlData.value.config.optionsFun = '' |
|
|
|
controlData.value.options = [] |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const optionsCss = [ |
|
|
|
@ -3122,13 +3135,13 @@ const loadNextPage = () => { |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-if="showHide(['switch'],true)"> |
|
|
|
<div v-if="showHide(['switch'],true)&&controlData.config.optionsType==0"> |
|
|
|
<el-button @click="handelGlxxszDialogSwitch">关联选项设置</el-button> |
|
|
|
</div> |
|
|
|
<div v-if="showHide(['radio','select',],true)"> |
|
|
|
<div v-if="showHide(['radio','select',],true)&&controlData.config.optionsType==0"> |
|
|
|
<el-button @click="handelGlxxszDialog">关联选项设置</el-button> |
|
|
|
</div> |
|
|
|
<div v-if="showHide(['checkbox',],true)"> |
|
|
|
<div v-if="showHide(['checkbox',],true)&&controlData.config.optionsType==0"> |
|
|
|
<el-button @click="handelGlxxszDialogCheckbox">关联选项设置</el-button> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
@ -3157,7 +3170,7 @@ const loadNextPage = () => { |
|
|
|
<el-form-item label="选项数据源" class="form_cont"> |
|
|
|
<el-select |
|
|
|
v-model="controlData.config.optionsType" |
|
|
|
@change="controlData.config.optionsFun = ''" |
|
|
|
@change="optionsTypeChanged" |
|
|
|
> |
|
|
|
<el-option :value="0" label="固定选项" /> |
|
|
|
<el-option :value="3" label="系统表单字段"/> |
|
|
|
|