cloudroam
2025-01-07 d74e45ef218e7cced6291d1bc88c5c72e68282e3
pages/regular/sys.vue
@@ -22,12 +22,24 @@
                            <el-upload v-if="param.paramControlType === 'image'" :action="uploadUrl"
                                list-type="picture-card" :file-list="formModels[item.id][param.paramKey]"
                                :limit="param.paramLimit"
                                :limit="param.paramLimit"
                                :on-preview="handlePictureCardPreview"
                                :on-remove="(file) => handleRemove(file, param)"
                                :on-success="(response, file, fileList) => handleUploadSuccess(response, file, fileList, param)">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                          <el-switch v-if="param.paramControlType === 'switch'" v-model="formModels[item.id][param.paramKey]"
                                     active-text="启用" inactive-text="禁用"></el-switch>
                          <el-radio-group v-if="param.paramControlType === 'radio'"
                                          v-model="formModels[item.id][param.paramValue]">
                            <el-radio v-for="option in dictOptions[param.paramDict]" :key="option.value"
                                      :label="option.value">
                              {{ option.label }}
                            </el-radio>
                          </el-radio-group>
                          <el-checkbox-group v-if="param.paramControlType === 'checkbox'" v-model="formModels[item.id][param.paramKey]">
                            <el-checkbox v-for="option in dictOptions[param.paramDict]" :key="option.value" :label="option.value">{{ option.label }}</el-checkbox>
                          </el-checkbox-group>
                        </el-form-item>
                        <el-form-item v-if="item.paramList && item.paramList.length > 0">
@@ -64,6 +76,7 @@
            formModels: {}, // 存储每个 tab 的 formModel
            srcFormModels: {}, // 原始表单数据
            formRules: {}, // 存储每个 tab 的 formRules
            dictOptions: [], // 存储字典选项
        };
    },
@@ -73,6 +86,7 @@
    },
    async mounted() {
        await this.getConfigParamGroup();
        await this.getDictOptions(); // 获取字典选项
    },
    methods: {
@@ -334,6 +348,10 @@
            this.activeName = this.tabList[index]?.paramGroup
        },
      getDictOptions() {
        // 模拟 API 调用获取字典选项
        this.dictOptions = { radioDict: [{ value: '1', label: 'Option 1' }, { value: '2', label: 'Option 2' }] };
      },
    },
};
</script>