优化资产编辑和分类管理功能,完善虚拟资产配置
This commit is contained in:
@@ -215,8 +215,42 @@
|
||||
<el-divider content-position="left">虚拟资产配置</el-divider>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="虚拟资产ID">
|
||||
<el-input v-model="ruleForm.virtualAssetConfig.virtualAssetId" placeholder="请输入虚拟资产ID" />
|
||||
<el-form-item label="HTTP方法">
|
||||
<el-select v-model="ruleForm.virtualAssetConfig.method" placeholder="请选择HTTP方法" class="w100">
|
||||
<el-option label="GET" value="GET" />
|
||||
<el-option label="POST" value="POST" />
|
||||
<el-option label="PUT" value="PUT" />
|
||||
<el-option label="DELETE" value="DELETE" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="请求地址">
|
||||
<el-input v-model="ruleForm.virtualAssetConfig.requestURL" placeholder="请输入请求地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="认证类型">
|
||||
<el-select v-model="ruleForm.virtualAssetConfig.authType" placeholder="请选择认证类型" class="w100">
|
||||
<el-option label="无认证" value="none" />
|
||||
<el-option label="API Key" value="apikey" />
|
||||
<el-option label="Bearer Token" value="bearer" />
|
||||
<el-option label="OAuth" value="oauth" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24" v-if="ruleForm.virtualAssetConfig.authType && ruleForm.virtualAssetConfig.authType !== 'none'">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="认证配置">
|
||||
<el-input
|
||||
v-model="ruleForm.virtualAssetConfig.authConfig"
|
||||
type="textarea"
|
||||
:rows="4"
|
||||
placeholder='请输入认证配置JSON,例如:{"api_key": "your_api_key"}'
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -275,8 +309,12 @@
|
||||
<el-form-item label="例外日期">
|
||||
<div class="config-list-container">
|
||||
<div v-for="(exc, index) in ruleForm.serviceAssetConfig.schedule.exceptions" :key="index" class="config-list-item">
|
||||
<el-date-picker v-model="exc.date" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="日期" style="width: 130px" />
|
||||
<el-select v-model="exc.dayOfWeek" placeholder="星期" style="width: 90px">
|
||||
<el-select v-model="exc.exceptionType" placeholder="类型" style="width: 100px" @change="onExceptionTypeChange(exc)">
|
||||
<el-option label="指定日期" value="date" />
|
||||
<el-option label="指定星期" value="dayOfWeek" />
|
||||
</el-select>
|
||||
<el-date-picker v-if="exc.exceptionType === 'date'" v-model="exc.date" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="日期" style="width: 130px" />
|
||||
<el-select v-if="exc.exceptionType === 'dayOfWeek'" v-model="exc.dayOfWeek" placeholder="星期" style="width: 100px">
|
||||
<el-option v-for="d in 7" :key="d" :label="'周' + ['一','二','三','四','五','六','日'][d-1]" :value="String(d)" />
|
||||
</el-select>
|
||||
<el-select v-model="exc.status" placeholder="状态" style="width: 90px">
|
||||
@@ -330,6 +368,7 @@ interface TimeSlot {
|
||||
}
|
||||
|
||||
interface Exception {
|
||||
exceptionType: 'date' | 'dayOfWeek';
|
||||
date: string;
|
||||
status: number;
|
||||
reason: string;
|
||||
@@ -360,7 +399,10 @@ interface RuleForm {
|
||||
};
|
||||
};
|
||||
virtualAssetConfig: {
|
||||
virtualAssetId: string;
|
||||
method: string;
|
||||
requestURL: string;
|
||||
authType: string;
|
||||
authConfig: string;
|
||||
};
|
||||
serviceAssetConfig: {
|
||||
schedule: {
|
||||
@@ -424,7 +466,10 @@ const getInitialForm = (): RuleForm => ({
|
||||
},
|
||||
},
|
||||
virtualAssetConfig: {
|
||||
virtualAssetId: '',
|
||||
method: 'GET',
|
||||
requestURL: '',
|
||||
authType: 'none',
|
||||
authConfig: '',
|
||||
},
|
||||
serviceAssetConfig: {
|
||||
schedule: {
|
||||
@@ -490,6 +535,7 @@ const removeTimeSlot = (index: number) => {
|
||||
// 例外日期操作
|
||||
const addException = () => {
|
||||
ruleForm.serviceAssetConfig.schedule.exceptions.push({
|
||||
exceptionType: 'date',
|
||||
date: '',
|
||||
status: 1,
|
||||
reason: '',
|
||||
@@ -501,6 +547,15 @@ const removeException = (index: number) => {
|
||||
ruleForm.serviceAssetConfig.schedule.exceptions.splice(index, 1);
|
||||
};
|
||||
|
||||
// 例外类型切换时清空对应字段
|
||||
const onExceptionTypeChange = (exc: Exception) => {
|
||||
if (exc.exceptionType === 'date') {
|
||||
exc.dayOfWeek = '';
|
||||
} else {
|
||||
exc.date = '';
|
||||
}
|
||||
};
|
||||
|
||||
// 重置表单
|
||||
const resetForm = () => {
|
||||
const initial = getInitialForm();
|
||||
|
||||
Reference in New Issue
Block a user