luzhenxing 3 months ago
parent
commit
17d3ba2b71
1 changed files with 57 additions and 30 deletions
  1. 57 30
      src/views/wechat/employee/EmployeeDrawer.vue

+ 57 - 30
src/views/wechat/employee/EmployeeDrawer.vue

@@ -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();