|
@@ -7,8 +7,8 @@
|
|
|
width="60%"
|
|
|
@ok="handleSubmit"
|
|
|
>
|
|
|
- <Form ref="formRef" :model="formModel" :rules="formRules">
|
|
|
- <FormItem label="标题" name="title" :rules="[{ required: true, message: '请输入' }]">
|
|
|
+ <Form ref="formRef" :model="formModel" :labelCol="{ span: 3 }">
|
|
|
+ <FormItem label="标题" name="title" :rules="[{ required: true, message: '请输入标题' }]">
|
|
|
<Input v-model:value="formModel.title" placeholder="请输入标题" />
|
|
|
</FormItem>
|
|
|
<FormItem label="分类" name="categoryId" :rules="[{ required: true, message: '请选择分类' }]">
|
|
@@ -160,27 +160,34 @@
|
|
|
<PlusOutlined />
|
|
|
添加使用教程
|
|
|
</Button>
|
|
|
- <div v-for="(item, index) in formModel.tutorial" :key="item.id" style="margin-top: 16px">
|
|
|
- <Space direction="horizontal" align="baseline" style="display: flex">
|
|
|
- <FormItem label="序号" name="['tutorial', index, 'index']">
|
|
|
- <Input v-model:value="item.index" placeholder="序号" />
|
|
|
- </FormItem>
|
|
|
- <FormItem label="标题" name="['tutorial', index, 'title']">
|
|
|
- <Input v-model:value="item.title" placeholder="标题" />
|
|
|
- </FormItem>
|
|
|
- <FormItem label="内容" name="['tutorial', index, 'content']">
|
|
|
- <Input.TextArea
|
|
|
- v-model:value="item.content"
|
|
|
- placeholder="内容"
|
|
|
- autoSize="{ minRows: 2, maxRows: 4 }"
|
|
|
- />
|
|
|
- </FormItem>
|
|
|
- <Button type="link" danger @click="removeTutorial(index)">
|
|
|
- <MinusCircleOutlined />
|
|
|
- 删除
|
|
|
- </Button>
|
|
|
- </Space>
|
|
|
- </div>
|
|
|
+ <Space v-for="(item, index) in formModel.tutorial" :key="index" direction="horizontal" align="baseline" style="display: flex; margin-top: 16px;">
|
|
|
+ <FormItem label="序号" :name="['tutorial', index, 'index']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入序号',
|
|
|
+ }">
|
|
|
+ <Input v-model:value="item.index" placeholder="序号" />
|
|
|
+ </FormItem>
|
|
|
+ <FormItem label="标题" :name="['tutorial', index, 'title']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入标题',
|
|
|
+ }">
|
|
|
+ <Input v-model:value="item.title" placeholder="标题" />
|
|
|
+ </FormItem>
|
|
|
+ <FormItem label="内容" :name="['tutorial', index, 'content']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入内容',
|
|
|
+ }">
|
|
|
+ <Input.TextArea
|
|
|
+ v-model:value="item.content"
|
|
|
+ placeholder="内容"
|
|
|
+ autoSize="{ minRows: 2, maxRows: 4 }"
|
|
|
+ />
|
|
|
+ </FormItem>
|
|
|
+ <Button type="link" danger @click="removeTutorial(index)">
|
|
|
+ <MinusCircleOutlined />
|
|
|
+ 删除
|
|
|
+ </Button>
|
|
|
+ </Space>
|
|
|
</div>
|
|
|
</FormItem>
|
|
|
|
|
@@ -225,20 +232,32 @@
|
|
|
</Button>
|
|
|
<div
|
|
|
v-for="(item, index) in formModel.workExperience"
|
|
|
- :key="item.id"
|
|
|
+ :key="index"
|
|
|
style="margin-top: 16px"
|
|
|
>
|
|
|
<Space direction="horizontal" align="baseline" style="display: flex">
|
|
|
- <FormItem name="['workExperience', index, 'startDateStr']">
|
|
|
+ <FormItem :name="['workExperience', index, 'startDateStr']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入开始日期',
|
|
|
+ }">
|
|
|
<DatePicker v-model:value="item.startDateStr" placeholder="开始日期" />
|
|
|
</FormItem>
|
|
|
- <FormItem name="['workExperience', index, 'endDateStr']">
|
|
|
+ <FormItem :name="['workExperience', index, 'endDateStr']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入结束日期',
|
|
|
+ }">
|
|
|
<DatePicker v-model:value="item.endDateStr" placeholder="结束日期" />
|
|
|
</FormItem>
|
|
|
- <FormItem name="['workExperience', index, 'company']" style="width: 100%">
|
|
|
+ <FormItem :name="['workExperience', index, 'company']" style="width: 100%" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入公司名称',
|
|
|
+ }">
|
|
|
<Input v-model:value="item.company" placeholder="公司名称" />
|
|
|
</FormItem>
|
|
|
- <FormItem name="['workExperience', index, 'experience']">
|
|
|
+ <FormItem :name="['workExperience', index, 'experience']" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入工作经验',
|
|
|
+ }">
|
|
|
<Input.TextArea v-model:value="item.experience" placeholder="工作经验" />
|
|
|
</FormItem>
|
|
|
<Button type="link" danger @click="removeWorkExperience(index)">
|
|
@@ -249,6 +268,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</FormItem>
|
|
|
+ <FormItem label="API Base" name="apiBase" :rules="[{ required: true, message: '请输入API Base' }]">
|
|
|
+ <Input v-model:value="formModel.apiBase" placeholder="请输入API Base" />
|
|
|
+ </FormItem>
|
|
|
+ <FormItem label="API Key" name="apiKey" :rules="[{ required: true, message: '请输入API Key' }]">
|
|
|
+ <Input v-model:value="formModel.apiKey" placeholder="请输入API Key" />
|
|
|
+ </FormItem>
|
|
|
</Form>
|
|
|
</BasicDrawer>
|
|
|
</template>
|
|
@@ -325,6 +350,8 @@
|
|
|
],
|
|
|
videoUrl: [],
|
|
|
workExperience: [],
|
|
|
+ apiBase: '',
|
|
|
+ apiKey: ''
|
|
|
});
|
|
|
|
|
|
const updateId = ref(undefined);
|
|
@@ -354,6 +381,8 @@
|
|
|
],
|
|
|
videoUrl: [],
|
|
|
workExperience: [],
|
|
|
+ apiBase: '',
|
|
|
+ apiKey: ''
|
|
|
});
|
|
|
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
|
|
|
formRef.value.resetFields(); // 重置表单
|
|
@@ -501,8 +530,6 @@
|
|
|
// 提交表单的逻辑...
|
|
|
setDrawerProps({ confirmLoading: true });
|
|
|
values['id'] = unref(isUpdate) ? updateId.value : undefined;
|
|
|
- console.log(values)
|
|
|
- return
|
|
|
let result = unref(isUpdate) ? await updateEmployee(values) : await createEmployee(values);
|
|
|
if (result.code === 0) {
|
|
|
closeDrawer();
|