Ver código fonte

feat(场景列表): 编辑场景

tangning 3 anos atrás
pai
commit
6fe4e8e4d5
3 arquivos alterados com 41 adições e 9 exclusões
  1. 12 0
      src/api/scene/list.ts
  2. 6 0
      src/api/scene/model.ts
  3. 23 9
      src/views/scenes/editorModal.vue

+ 12 - 0
src/api/scene/list.ts

@@ -5,6 +5,7 @@ import {
   SceneEditParam,
   SceneDownloadParam,
   GetDownloadProcessModel,
+  UpdateParams,
 } from './model';
 import { Result } from '/#/axios';
 
@@ -13,6 +14,7 @@ enum Api {
   generateSceneEditToken = '/zfb-api/zfb/api/platform/generateSceneEditToken',
   downloadSceneData = '/zfb-api/zfb/scene/downloadSceneData',
   getDownloadProcess = '/zfb-api/zfb/scene/getDownloadProcess',
+  update = '/zfb-api/zfb/scene/update',
   generateDefaultLiveRoom = '/basic-api/scene/generateDefaultLiveRoom',
 }
 
@@ -20,6 +22,16 @@ enum Api {
  * @description: Get sample list value
  */
 
+export const UpdateApi = (params: UpdateParams) =>
+  defHttp.post<Result>({
+    url: Api.update,
+    params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
+
 export const ListApi = (params: PageParams) =>
   defHttp.post<RentListGetResultModel>({
     url: Api.pageList,

+ 6 - 0
src/api/scene/model.ts

@@ -13,6 +13,12 @@ export interface InfoParams {
   id?: number | string;
   token?: string;
 }
+export interface UpdateParams {
+  sceneNum?: string;
+  isShow?: string;
+  appListPicUrl?: string;
+}
+
 export interface SceneDownloadParam {
   sceneNum?: string;
 }

+ 23 - 9
src/views/scenes/editorModal.vue

@@ -7,13 +7,17 @@
     @ok="handleOk"
   >
     <div class="pt-3px pr-3px">
-      <BasicForm @register="registerForm" />
+      <BasicForm @register="registerForm">
+        <template #text="{ model, field }">
+          {{ model[field] }}
+        </template>
+      </BasicForm>
     </div>
   </BasicModal>
 </template>
 <script lang="ts">
   import { defineComponent, ref, unref } from 'vue';
-  import { delApi } from '/@/api/staff/list';
+  import { UpdateApi } from '/@/api/scene/list';
   import { uploadLiveApi } from '/@/api/scene/live';
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
@@ -36,10 +40,16 @@
       const { createMessage } = useMessage();
       const schemas: FormSchema[] = [
         {
+          field: 'sceneNum',
+          component: 'Input',
+          label: 'sceneNum',
+          show: false,
+        },
+        {
           field: 'sceneName',
           component: 'Input',
           label: '场景名称',
-          required: true,
+          slot: 'text',
           colProps: {
             span: 22,
           },
@@ -48,6 +58,7 @@
           field: 'picList',
           label: '直播间图片',
           component: 'Upload',
+          required: true,
           componentProps: {
             api: uploadLiveApi,
             maxSize: 5,
@@ -65,7 +76,7 @@
           },
         },
         {
-          field: 'livestreamStatus',
+          field: 'isShow',
           component: 'RadioGroup',
           label: t('routes.scenes.livestream'),
           required: true,
@@ -101,16 +112,19 @@
       function onDataReceive(data) {
         data = unref(data);
         console.log('onDataReceive', data);
-        setFieldsValue(data);
+        setFieldsValue({
+          ...data,
+          sceneNum: data.num,
+        });
         // 方式1;
       }
 
       async function handleOk() {
         let data = await validate();
-        let res = await delApi({
-          toUserPhone: data.toUserPhone,
-          userId: modelRef.value.userId,
-          toUserId: modelRef.value.toUserId,
+        console.log('data', data);
+        let res = await UpdateApi({
+          ...data,
+          appListPicUrl: data.picList[0],
         });
         context && context.emit('reload', res);
         createMessage.success(t('common.optSuccess'));