Browse Source

Revert "fix:submit agent page"

This reverts commit f0404123f11a5fe23bbe6bf22168fb164e79624b.
boweniac 7 months ago
parent
commit
3816d1b911

+ 0 - 1
.gitignore

@@ -33,7 +33,6 @@ pnpm-lock.yaml
 
 .history
 
-.env
 .env.development
 .env.production
 .vscode/launch.json

+ 0 - 74
src/api/wechat/agent.ts

@@ -1,74 +0,0 @@
-import { defHttp } from '@/utils/http/axios';
-import { ErrorMessageMode } from '/#/axios';
-import { BaseDataResp, BaseListReq, BaseResp, BaseIDsReq, BaseIDReq } from '@/api/model/baseModel';
-import { AgentInfo, AgentListResp } from './model/agentModel';
-
-enum Api {
-  CreateAgent = '/wechat-api/agent/create',
-  UpdateAgent = '/wechat-api/agent/update',
-  GetAgentList = '/wechat-api/agent/list',
-  DeleteAgent = '/wechat-api/agent/delete',
-  GetAgentById = '/wechat-api/agent',
-}
-
-/**
- * @description: Get agent list
- */
-
-export const getAgentList = (params: BaseListReq, mode: ErrorMessageMode = 'notice') => {
-  return defHttp.post<BaseDataResp<AgentListResp>>(
-    { url: Api.GetAgentList, params },
-    { errorMessageMode: mode },
-  );
-};
-
-/**
- *  @description: Create a new agent
- */
-export const createAgent = (params: AgentInfo, mode: ErrorMessageMode = 'notice') => {
-  return defHttp.post<BaseResp>(
-    { url: Api.CreateAgent, params: params },
-    {
-      errorMessageMode: mode,
-      successMessageMode: mode,
-    },
-  );
-};
-
-/**
- *  @description: Update the agent
- */
-export const updateAgent = (params: AgentInfo, mode: ErrorMessageMode = 'notice') => {
-  return defHttp.post<BaseResp>(
-    { url: Api.UpdateAgent, params: params },
-    {
-      errorMessageMode: mode,
-      successMessageMode: mode,
-    },
-  );
-};
-
-/**
- *  @description: Delete agents
- */
-export const deleteAgent = (params: BaseIDsReq, mode: ErrorMessageMode = 'notice') => {
-  return defHttp.post<BaseResp>(
-    { url: Api.DeleteAgent, params: params },
-    {
-      errorMessageMode: mode,
-      successMessageMode: mode,
-    },
-  );
-};
-
-/**
- *  @description: Get agent By ID
- */
-export const getAgentById = (params: BaseIDReq, mode: ErrorMessageMode = 'notice') => {
-  return defHttp.post<BaseDataResp<AgentInfo>>(
-    { url: Api.GetAgentById, params: params },
-    {
-      errorMessageMode: mode,
-    },
-  );
-};

+ 0 - 21
src/api/wechat/model/agentModel.ts

@@ -1,21 +0,0 @@
-import { BaseListResp } from '@/api/model/baseModel';
-
-/**
- *  @description: Agent info response
- */
-export interface AgentInfo {
-  id?: number;
-  createdAt?: number;
-  updatedAt?: number;
-  name?: string;
-  role?: string;
-  status?: number;
-  background?: string;
-  examples?: string;
-}
-
-/**
- *  @description: Agent list response
- */
-
-export type AgentListResp = BaseListResp<AgentInfo>;

+ 0 - 10
src/locales/lang/en/wechat.ts

@@ -103,14 +103,4 @@ export default {
     editBatchMsg: 'Edit BatchMsg',
     batchMsgList: 'BatchMsg List',
   },
-  agent: {
-    name: 'Name',
-    role: 'Role',
-    status: 'Status',
-    background: 'Background',
-    examples: 'Examples',
-    addAgent: 'Add Agent',
-    editAgent: 'Edit Agent',
-    agentList: 'Agent List',
-  },
 };

+ 0 - 10
src/locales/lang/zh-CN/wechat.ts

@@ -107,14 +107,4 @@ export default {
     editBatchMsg: '编辑 群发消息',
     batchMsgList: '群发消息 列表',
   },
-  agent: {
-    name: '角色名称',
-    role: '角色设定',
-    status: 'Status',
-    background: '背景介绍',
-    examples: '对话案例',
-    addAgent: '添加 Agent',
-    editAgent: '编辑 Agent',
-    agentList: 'Agent 列表',
-  },
 };

+ 0 - 75
src/views/wechat/agent/AgentDrawer.vue

@@ -1,75 +0,0 @@
-<template>
-  <BasicDrawer
-    v-bind="$attrs"
-    @register="registerDrawer"
-    showFooter
-    :title="getTitle"
-    width="35%"
-    @ok="handleSubmit"
-  >
-    <BasicForm @register="registerForm" />
-  </BasicDrawer>
-</template>
-<script lang="ts">
-  import { defineComponent, ref, computed, unref } from 'vue';
-  import { BasicForm, useForm } from '@/components/Form/index';
-  import { formSchema } from './agent.data';
-  import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
-  import { useI18n } from 'vue-i18n';
-
-  import { createAgent, updateAgent } from '@/api/wechat/agent';
-
-  export default defineComponent({
-    name: 'AgentDrawer',
-    components: { BasicDrawer, BasicForm },
-    emits: ['success', 'register'],
-    setup(_, { emit }) {
-      const isUpdate = ref(true);
-      const { t } = useI18n();
-
-      const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
-        labelWidth: 160,
-        baseColProps: { span: 24 },
-        layout: 'vertical',
-        schemas: formSchema,
-        showActionButtonGroup: false,
-      });
-
-      const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
-        resetFields();
-        setDrawerProps({ confirmLoading: false });
-
-        isUpdate.value = !!data?.isUpdate;
-
-        if (unref(isUpdate)) {
-          setFieldsValue({
-            ...data.record,
-          });
-        }
-      });
-
-      const getTitle = computed(() =>
-        !unref(isUpdate) ? t('wechat.agent.addAgent') : t('wechat.agent.editAgent'),
-      );
-
-      async function handleSubmit() {
-        const values = await validate();
-        setDrawerProps({ confirmLoading: true });
-        values['id'] = unref(isUpdate) ? Number(values['id']) : 0;
-        let result = unref(isUpdate) ? await updateAgent(values) : await createAgent(values);
-        if (result.code === 0) {
-          closeDrawer();
-          emit('success');
-        }
-        setDrawerProps({ confirmLoading: false });
-      }
-
-      return {
-        registerDrawer,
-        registerForm,
-        getTitle,
-        handleSubmit,
-      };
-    },
-  });
-</script>

+ 0 - 132
src/views/wechat/agent/agent.data.ts

@@ -1,132 +0,0 @@
-import { BasicColumn, FormSchema } from '@/components/Table';
-import { useI18n } from '@/hooks/web/useI18n';
-import { formatToDateTime } from '@/utils/dateUtil';
-import { updateAgent } from '@/api/wechat/agent';
-import { Switch } from 'ant-design-vue';
-import { h } from 'vue';
-
-const { t } = useI18n();
-
-export const columns: BasicColumn[] = [
-  {
-    title: t('wechat.agent.name'),
-    dataIndex: 'name',
-    width: 100,
-  },
-  {
-    title: t('wechat.agent.role'),
-    dataIndex: 'role',
-    width: 100,
-  },
-  {
-    title: t('wechat.agent.background'),
-    dataIndex: 'background',
-    width: 100,
-  },
-  {
-    title: t('wechat.agent.examples'),
-    dataIndex: 'examples',
-    width: 100,
-  },
-  {
-    title: t('common.status'),
-    dataIndex: 'status',
-    width: 50,
-    customRender: ({ record }) => {
-      if (!Reflect.has(record, 'pendingStatus')) {
-        record.pendingStatus = false;
-      }
-      return h(Switch, {
-        checked: record.status === 1,
-        checkedChildren: t('common.on'),
-        unCheckedChildren: t('common.off'),
-        loading: record.pendingStatus,
-        onChange(checked, _) {
-          record.pendingStatus = true;
-          const newStatus = checked ? 1 : 2;
-          updateAgent({ id: record.id, status: newStatus })
-            .then(() => {
-              record.status = newStatus;
-            })
-            .finally(() => {
-              record.pendingStatus = false;
-            });
-        },
-      });
-    },
-  },
-  {
-    title: t('common.createTime'),
-    dataIndex: 'createdAt',
-    width: 70,
-    customRender: ({ record }) => {
-      return formatToDateTime(record.createdAt);
-    },
-  },
-];
-
-export const searchFormSchema: FormSchema[] = [
-  {
-    field: 'name',
-    label: t('wechat.agent.name'),
-    component: 'Input',
-    colProps: { span: 8 },
-  },
-  {
-    field: 'role',
-    label: t('wechat.agent.role'),
-    component: 'Input',
-    colProps: { span: 8 },
-  },
-  {
-    field: 'background',
-    label: t('wechat.agent.background'),
-    component: 'Input',
-    colProps: { span: 8 },
-  },
-];
-
-export const formSchema: FormSchema[] = [
-  {
-    field: 'id',
-    label: 'ID',
-    component: 'Input',
-    show: false,
-  },
-  {
-    field: 'name',
-    label: t('wechat.agent.name'),
-    component: 'Input',
-    required: true,
-  },
-  {
-    field: 'role',
-    label: t('wechat.agent.role'),
-    component: 'Input',
-    required: true,
-  },
-  {
-    field: 'background',
-    label: t('wechat.agent.background'),
-    component: 'Input',
-    required: true,
-  },
-  {
-    field: 'examples',
-    label: t('wechat.agent.examples'),
-    component: 'Input',
-    required: true,
-  },
-  {
-    field: 'status',
-    label: t('wechat.agent.status'),
-    component: 'RadioButtonGroup',
-    defaultValue: 1,
-    componentProps: {
-      options: [
-        { label: t('common.on'), value: 1 },
-        { label: t('common.off'), value: 2 },
-      ],
-    },
-  },
-];

+ 0 - 152
src/views/wechat/agent/index.vue

@@ -1,152 +0,0 @@
-<template>
-  <div>
-    <BasicTable @register="registerTable">
-      <template #tableTitle>
-        <Button
-          type="primary"
-          danger
-          preIcon="ant-design:delete-outlined"
-          v-if="showDeleteButton"
-          @click="handleBatchDelete"
-        >
-          {{ t('common.delete') }}
-        </Button>
-      </template>
-      <template #toolbar>
-        <a-button type="primary" @click="handleCreate">
-          {{ t('wechat.agent.addAgent') }}
-        </a-button>
-      </template>
-      <template #bodyCell="{ column, record }">
-        <template v-if="column.key === 'action'">
-          <TableAction
-            :actions="[
-              {
-                icon: 'clarity:note-edit-line',
-                onClick: handleEdit.bind(null, record),
-              },
-              {
-                icon: 'ant-design:delete-outlined',
-                color: 'error',
-                popConfirm: {
-                  title: t('common.deleteConfirm'),
-                  placement: 'left',
-                  confirm: handleDelete.bind(null, record),
-                },
-              },
-            ]"
-          />
-        </template>
-      </template>
-    </BasicTable>
-    <AgentDrawer @register="registerDrawer" @success="handleSuccess" />
-  </div>
-</template>
-<script lang="ts">
-  import { createVNode, defineComponent, ref } from 'vue';
-  import { Modal } from 'ant-design-vue';
-  import { ExclamationCircleOutlined } from '@ant-design/icons-vue/lib/icons';
-  import { BasicTable, useTable, TableAction } from '@/components/Table';
-  import { Button } from '@/components/Button';
-
-  import { useDrawer } from '@/components/Drawer';
-  import AgentDrawer from './AgentDrawer.vue';
-  import { useI18n } from 'vue-i18n';
-
-  import { columns, searchFormSchema } from './agent.data';
-  import { getAgentList, deleteAgent } from '@/api/wechat/agent';
-
-  export default defineComponent({
-    name: 'AgentManagement',
-    components: { BasicTable, AgentDrawer, TableAction, Button },
-    setup() {
-      const { t } = useI18n();
-      const selectedIds = ref<number[] | string[]>();
-      const showDeleteButton = ref<boolean>(false);
-
-      const [registerDrawer, { openDrawer }] = useDrawer();
-      const [registerTable, { reload }] = useTable({
-        title: t('wechat.agent.agentList'),
-        api: getAgentList,
-        columns,
-        formConfig: {
-          labelWidth: 120,
-          schemas: searchFormSchema,
-        },
-        useSearchForm: true,
-        showTableSetting: true,
-        bordered: true,
-        showIndexColumn: false,
-        clickToRowSelect: false,
-        actionColumn: {
-          width: 30,
-          title: t('common.action'),
-          dataIndex: 'action',
-          fixed: undefined,
-        },
-        rowKey: 'id',
-        rowSelection: {
-          type: 'checkbox',
-          columnWidth: 20,
-          onChange: (selectedRowKeys, _selectedRows) => {
-            selectedIds.value = selectedRowKeys as number[];
-            showDeleteButton.value = selectedRowKeys.length > 0;
-          },
-        },
-      });
-
-      function handleCreate() {
-        openDrawer(true, {
-          isUpdate: false,
-        });
-      }
-
-      function handleEdit(record: Recordable) {
-        openDrawer(true, {
-          record,
-          isUpdate: true,
-        });
-      }
-
-      async function handleDelete(record: Recordable) {
-        const result = await deleteAgent({ ids: [record.id] });
-        if (result.code === 0) {
-          await reload();
-        }
-      }
-
-      async function handleBatchDelete() {
-        Modal.confirm({
-          title: t('common.deleteConfirm'),
-          icon: createVNode(ExclamationCircleOutlined),
-          async onOk() {
-            const result = await deleteAgent({ ids: selectedIds.value as number[] });
-            if (result.code === 0) {
-              showDeleteButton.value = false;
-              await reload();
-            }
-          },
-          onCancel() {
-            console.log('Cancel');
-          },
-        });
-      }
-
-      async function handleSuccess() {
-        await reload();
-      }
-
-      return {
-        t,
-        registerTable,
-        registerDrawer,
-        handleCreate,
-        handleEdit,
-        handleDelete,
-        handleSuccess,
-        handleBatchDelete,
-        showDeleteButton,
-      };
-    },
-  });
-</script>