xiaodai2017 пре 2 година
родитељ
комит
cc0d132c63
39 измењених фајлова са 168 додато и 830 уклоњено
  1. 1 2
      src/components/PageListModall/pageListModal.vue
  2. 2 2
      src/components/PageModal/src/page-modal.vue
  3. 29 1
      src/utils/column-helper.ts
  4. 6 7
      src/views/interest/account/index.vue
  5. 1 3
      src/views/interest/role/index.vue
  6. 21 15
      src/views/mobile/exchangeOrder/index.vue
  7. 3 0
      src/views/mobile/exchangeStock/config/_details.ts
  8. 3 2
      src/views/mobile/exchangeStock/cpns/addModel.vue
  9. 6 7
      src/views/mobile/exchangeStock/index.vue
  10. 6 7
      src/views/mobile/shopStock/index.vue
  11. 3 6
      src/views/mobile/user/config/modal.config.ts
  12. 7 9
      src/views/mobile/user/index.vue
  13. 5 7
      src/views/operate/SetUserVideo/index.vue
  14. 6 7
      src/views/operate/batchCreatUser/index.vue
  15. 6 13
      src/views/operate/batchSetVideo/index.vue
  16. 15 19
      src/views/operate/setComCard/config/modal.config.ts
  17. 7 8
      src/views/operate/setComCard/index.vue
  18. 2 2
      src/views/operate/setComGood/config/modal.config.ts
  19. 7 9
      src/views/operate/setComGood/index.vue
  20. 6 7
      src/views/operate/setService/index.vue
  21. 1 3
      src/views/operate/setTheme/index.vue
  22. 0 1
      src/views/parameter/card/config/modal.config.ts
  23. 5 6
      src/views/parameter/card/index.vue
  24. 5 7
      src/views/parameter/company/index.vue
  25. 6 7
      src/views/parameter/good/index.vue
  26. 6 8
      src/views/parameter/video/index.vue
  27. 0 121
      src/views/stock/stockCount/config/content.config.ts
  28. 0 15
      src/views/stock/stockCount/config/options.ts
  29. 0 45
      src/views/stock/stockCount/config/search.config.ts
  30. 0 21
      src/views/stock/stockCount/index.vue
  31. 0 96
      src/views/stock/stockWarning/config/content.config.ts
  32. 0 7
      src/views/stock/stockWarning/config/options.ts
  33. 0 66
      src/views/stock/stockWarning/config/search.config.ts
  34. 0 21
      src/views/stock/stockWarning/index.vue
  35. 0 126
      src/views/stock/survey/config/content.config.ts
  36. 0 10
      src/views/stock/survey/config/options.ts
  37. 0 54
      src/views/stock/survey/config/search.config.ts
  38. 0 78
      src/views/stock/survey/index.vue
  39. 3 5
      src/views/system/logistics/index.vue

+ 1 - 2
src/components/PageListModall/pageListModal.vue

@@ -8,12 +8,11 @@ import { modalProps } from "./types";
 const props = defineProps(modalProps);
 const { modalConfig } = props;
 const { title, searchConfig, contentConfig } = modalConfig;
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig
 );
-const pageContentRef = ref<InstanceType<typeof PageContent>>(null);
 // const emit = defineEmits(["confirmBtnClick"]);
 
 const dialogVisible = ref(false);

+ 2 - 2
src/components/PageModal/src/page-modal.vue

@@ -96,7 +96,7 @@ defineExpose({
     <!-- 表单 -->
     <BasicForm
       ref="formRef"
-      v-if="!prviewDescription"
+      v-if="!isPreview"
       v-bind="modalConfig"
       v-model:form-data="formData"
       :disabled="isPreview"
@@ -104,7 +104,7 @@ defineExpose({
 
     <!-- 预览详情为描述列表 -->
     <Description
-      v-if="prviewDescription"
+      v-if="isPreview"
       :config="modalConfig"
       :default-info="defaultInfo"
     >

+ 29 - 1
src/utils/column-helper.ts

@@ -1,4 +1,4 @@
-import { h } from "vue";
+import { h, unref } from "vue";
 import { ElTag, ElImage } from "element-plus";
 import { isArray } from "/@/utils/validate";
 export function renderCategory(prop = "can") {
@@ -42,6 +42,34 @@ export function renderStatusList(options: any[]) {
   });
   return h("div", {}, arr2);
 }
+export function renderVideoList(prop: string) {
+  return {
+    cellRenderer({ row }) {
+      // const list: any[] = unref(row[prop]);
+      if (isArray(row[prop])) {
+        const arr2 = [];
+        console.log(row[prop]);
+
+        row[prop].forEach(item => {
+          arr2.push(
+            h(
+              ElTag,
+              {
+                type: ""
+              },
+              {
+                default: () => item?.video_name || "--"
+              }
+            )
+          );
+        });
+        return h("div", {}, arr2);
+      } else {
+        return "";
+      }
+    }
+  };
+}
 
 export function renderImage(prop = "image") {
   return {

+ 6 - 7
src/views/interest/account/index.vue

@@ -7,11 +7,14 @@ import modalConfig from "./config/modal.config";
 import { PageModal, usePageModal } from "/@/components/PageModal";
 import { PageContent } from "/@/components/PageContent";
 import { httpDetail } from "/@/api/interest/account";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { useResponseHandle } from "/@/hooks/useAsync";
-const pageContentRef = ref<PageContentInstance | null>(null);
 import resetPassword from "/@/components/resetPassword.vue";
 const pageName = "account";
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -22,11 +25,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const responseHandle = useResponseHandle();
 const passwordModelId = ref("");
 const passwordModel = ref(false);

+ 1 - 3
src/views/interest/role/index.vue

@@ -5,12 +5,10 @@ import searchConfig from "./config/search.config";
 import contentConfig from "./config/content.config";
 import { PageContent } from "/@/components/PageContent";
 import { httpDetail } from "/@/api/interest/role";
-import type { PageContentInstance } from "/@/components/PageContent";
 import addEdit from "./addEdit.vue";
-const pageContentRef = ref<PageContentInstance | null>(null);
 const pageName = "role";
 
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig

+ 21 - 15
src/views/mobile/exchangeOrder/index.vue

@@ -1,30 +1,36 @@
 <script setup lang="ts">
-import { ref, unref } from "vue";
+import { ref } from "vue";
 import searchConfig from "./config/search.config";
 import contentConfig from "./config/content.config";
 import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModal";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { PageSearch, usePageSearch } from "/@/components/PageSearch";
 import { exportPageContent } from "/@/utils/export";
 import ExeclUpload from "./cpns/execl-files-upload/index.vue";
+import { httpDetail } from "/@/api/mobile/exchangeOrder";
+import { useResponseHandle } from "/@/hooks/useAsync";
 const pageName = "order";
+const responseHandle = useResponseHandle();
+const { pageContentRef, handleResetClick, handleSearchClick, getMergeParams } =
+  usePageSearch(undefined, undefined, searchConfig);
 
-const pageContentRef = ref<PageContentInstance | null>(null);
-const { handleResetClick, handleSearchClick, getMergeParams } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
-
-const { pageModalRef, handleConfrim, defaultInfo } = usePageModal({
-  pageContentRef
-});
-const pageParams = ref(null);
+const { pageModalRef, handlePreviewData, handleConfrim, defaultInfo } =
+  usePageModal({
+    pageContentRef
+  });
 const execlUploadRef = ref<InstanceType<typeof ExeclUpload>>(null);
-async function handleDetailData(id, type) {
+
+async function handleDetailData(id) {
+  const { code, data, message } = await httpDetail({ id: id });
+  responseHandle({
+    code,
+    message,
+    handler: () => {
+      handlePreviewData(data);
+    }
+  });
   // actionModalRef.value.onShow("兑换商品库存", type, id);
 }
 function getParams() {
@@ -58,7 +64,7 @@ function getParams() {
   <PageContent
     ref="pageContentRef"
     :content-config="contentConfig"
-    @preview-btn-click="({ id }) => handleDetailData(id, 'preview')"
+    @preview-btn-click="({ id }) => handleDetailData(id)"
   />
   <ExeclUpload ref="execlUploadRef" @onSuccess="handleResetClick" />
   <PageModal

+ 3 - 0
src/views/mobile/exchangeStock/config/_details.ts

@@ -31,6 +31,9 @@ export const projectFormConfig: FormConfig = {
 };
 
 export const bargainColumns: DescriptionColumns = [
+
+
+  
   {
     field: "account_username",
     label: "账户",

+ 3 - 2
src/views/mobile/exchangeStock/cpns/addModel.vue

@@ -85,6 +85,7 @@ const initData = async () => {
 };
 defineExpose({
   onShow: async (basicTitle: string, readonly: ActionType, id: string) => {
+    dialogVisible.value = true;
     type.value = readonly;
     const readTitle = createBasicTitle(type.value);
     title.value =
@@ -92,7 +93,7 @@ defineExpose({
     Object.keys(ruleForm).forEach(key => {
       ruleForm[key] = form[key];
     });
-    dialogVisible.value = true;
+
     confirmLoading.value = false;
     uID.value = id;
     bargain.value = {};
@@ -122,7 +123,7 @@ defineExpose({
       ref="ruleFormRef"
       v-loading="confirmLoading"
       :model="ruleForm"
-      v-show="type !== 'preview'"
+      v-if="type !== 'preview'"
       :rules="projectFormRules"
       label-width="100px"
       :disabled="type === 'preview'"

+ 6 - 7
src/views/mobile/exchangeStock/index.vue

@@ -7,7 +7,6 @@ import contentConfig from "./config/content.config";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
 import {
@@ -28,18 +27,18 @@ import contentConfig1 from "./config/content.config1";
 
 const responseHandle = useResponseHandle();
 const ladderModalRef = ref<InstanceType<typeof LadderModal>>(null);
-const pageContentRef = ref<PageContentInstance | null>(null);
 const modelRef = ref<InstanceType<typeof OrderDialog>>(null);
 const actionModalRef = ref<InstanceType<typeof addModel>>(null);
-const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
-  usePageModal({
-    pageContentRef
-  });
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig
 );
+const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
+  usePageModal({
+    pageContentRef
+  });
+
 const { formItems } = projectFormConfig;
 const PageListModalReff = ref<InstanceType<typeof PageListModall>>(null);
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 6 - 7
src/views/mobile/shopStock/index.vue

@@ -7,7 +7,6 @@ import contentConfig from "./config/content.config";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
 import {
@@ -28,18 +27,18 @@ import contentConfig1 from "./config/content.config1";
 
 const responseHandle = useResponseHandle();
 const ladderModalRef = ref<InstanceType<typeof LadderModal>>(null);
-const pageContentRef = ref<PageContentInstance | null>(null);
 const modelRef = ref<InstanceType<typeof OrderDialog>>(null);
 const actionModalRef = ref<InstanceType<typeof addModel>>(null);
-const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
-  usePageModal({
-    pageContentRef
-  });
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig
 );
+const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
+  usePageModal({
+    pageContentRef
+  });
+
 const { formItems } = projectFormConfig;
 const PageListModalReff = ref<InstanceType<typeof PageListModall>>(null);
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 3 - 6
src/views/mobile/user/config/modal.config.ts

@@ -1,8 +1,5 @@
 import { ModalConfig } from "/@/components/PageModal/src/types";
-import { h, unref } from "vue";
-import { ElTag, ElImage } from "element-plus";
-
-import { renderStatusList } from "/@/utils/column-helper";
+import { renderVideoList } from "/@/utils/column-helper";
 const modalConfig: ModalConfig = {
   title: "账号",
   colLayout: { span: 12 },
@@ -53,10 +50,10 @@ const modalConfig: ModalConfig = {
       field: "video_list",
       type: "array",
       label: "直播视频",
-      slot: "status",
+      slot: "video_list",
       placeholder: "直播视频",
       span: 24
-      // render: (_, row) => renderStatusList(row.video_list).cellRenderer({ row })
+      // render: (_, row) => renderVideoList("video_list").cellRenderer({ row })
     },
     {
       field: "remark",

+ 7 - 9
src/views/mobile/user/index.vue

@@ -7,12 +7,11 @@ import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { useResponseHandle } from "/@/hooks/useAsync";
 import { httpDetail } from "/@/api/mobile/user";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
-import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
+// import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
 // import resetPassword from "/@/components/resetPassword.vue";
 
 import {
@@ -24,8 +23,11 @@ import { Video } from "/@/components/RemoteSelect";
 import { ElForm } from "element-plus";
 const { formItems } = projectFormConfig;
 const formData = ref<Record<string, any>>(createDefaultData(formItems));
-const pageContentRef = ref<PageContentInstance | null>(null);
-
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -35,11 +37,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const responseHandle = useResponseHandle();
 const Video_id = ref("");
 async function handleDetailData(row, type) {

+ 5 - 7
src/views/operate/SetUserVideo/index.vue

@@ -7,8 +7,11 @@ import modalConfig from "./config/modal.config";
 import { PageModal, usePageModal } from "/@/components/PageModal";
 import { PageContent } from "/@/components/PageContent";
 
-import type { PageContentInstance } from "/@/components/PageContent";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const pageName = "setUserVideo";
 const {
   pageModalRef,
@@ -20,11 +23,6 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
 </script>
 
 <template>

+ 6 - 7
src/views/operate/batchCreatUser/index.vue

@@ -7,7 +7,6 @@ import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { Company, Card } from "/@/components/RemoteSelect";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
@@ -20,16 +19,16 @@ import { ElForm } from "element-plus";
 
 import dayjs from "dayjs";
 // import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
-const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
-  usePageModal({
-    pageContentRef
-  });
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig
 );
+const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
+  usePageModal({
+    pageContentRef
+  });
+
 const { formItems } = projectFormConfig;
 
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 6 - 13
src/views/operate/batchSetVideo/index.vue

@@ -8,7 +8,6 @@ import modalConfig from "./config/modal.config";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import { PageContent } from "/@/components/PageContent";
 import { ComCard } from "/@/components/RemoteSelect";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
 import {
@@ -18,26 +17,20 @@ import {
 } from "/@/components/BasicForm";
 import { Video } from "/@/components/RemoteSelect";
 const { formItems } = projectFormConfig;
-const pageContentRef = ref<PageContentInstance | null>(null);
 const formData = ref<Record<string, any>>(createDefaultData(formItems));
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);
 const pageName = "batchSetVideo";
 const Video_id = ref("");
-const {
-  pageModalRef,
-  handleUpdateData,
-  handleCreateData,
-  handlePreviewData,
-  handleConfrim,
-  defaultInfo
-} = usePageModal({
-  pageContentRef
-});
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig
 );
+const { pageModalRef, handleCreateData, handleConfrim, defaultInfo } =
+  usePageModal({
+    pageContentRef
+  });
+
 function handleCreate() {
   basicFormRef.value.validate(isValid => {
     if (!isValid) return;

+ 15 - 19
src/views/operate/setComCard/config/modal.config.ts

@@ -9,10 +9,11 @@ const modalConfig: ModalConfig = {
   labelWidth: "85px",
   formItems: [
     {
-      field: "id",
+      field: "combination",
       type: "remote-select",
-      label: "业务企业",
-      placeholder: "业务企业",
+      label: "公司卡类型",
+      placeholder: "公司卡类型",
+      labelWidth: "85px",
       otherOptions: {
         api: httpCompanylist,
         requesetProp: "title",
@@ -20,24 +21,19 @@ const modalConfig: ModalConfig = {
         responseValPro: "id",
         prop: "list"
       },
-      span: 12,
-      rules: [{ required: true, trigger: "change", message: "请选择业务企业" }]
+      span: 24,
+      rules: [
+        { required: true, trigger: "change", message: "请选择公司卡类型" }
+      ]
     },
     {
-      field: "name2",
-      type: "remote-select",
-      label: "卡类型",
-      placeholder: "卡类型",
-      otherOptions: {
-        api: httpCardlist,
-        responseLabelProp: "title",
-        responseValPro: "id",
-        requesetProp: "",
-        isRoot: false,
-        prop: "list"
-      },
-      span: 12,
-      rules: [{ required: true, trigger: "change", message: "请选择卡类型" }]
+      field: "remark",
+      type: "input",
+      labelWidth: "85px",
+      label: "备注",
+      placeholder: "备注",
+      span: 24,
+      rules: [{ required: true, trigger: "change", message: "请输入备注" }]
     }
   ]
 };

+ 7 - 8
src/views/operate/setComCard/index.vue

@@ -6,7 +6,6 @@ import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { Company, Card } from "/@/components/RemoteSelect";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
@@ -16,14 +15,18 @@ import {
   createDefaultData
 } from "/@/components/BasicForm";
 import { ElImage } from "element-plus";
-import { httpDetail } from "/@/api/operate/setService";
+import { httpDetail } from "/@/api/operate/setComCard";
 import { ElForm } from "element-plus";
 import { ref, unref } from "vue";
 import dayjs from "dayjs";
 import { useResponseHandle } from "/@/hooks/useAsync";
 const responseHandle = useResponseHandle();
 // import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -34,11 +37,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const { formItems } = projectFormConfig;
 
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 2 - 2
src/views/operate/setComGood/config/modal.config.ts

@@ -11,8 +11,8 @@ const modalConfig: ModalConfig = {
     {
       field: "id",
       type: "remote-select",
-      label: "业务企业",
-      placeholder: "业务企业",
+      label: "公司卡类型",
+      placeholder: "公司卡类型",
       otherOptions: {
         api: httpCompanylist,
         requesetProp: "title",

+ 7 - 9
src/views/operate/setComGood/index.vue

@@ -6,7 +6,6 @@ import contentConfig from "./config/content.config";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { ComCard } from "/@/components/RemoteSelect";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
@@ -17,15 +16,18 @@ import {
 } from "/@/components/BasicForm";
 import LadderTable from "./cpns/ladder-table.vue";
 import { ElImage } from "element-plus";
-import { httpDetail } from "/@/api/operate/setService";
+import { httpDetail } from "/@/api/operate/setComGood";
 import { ElForm } from "element-plus";
 import { ref, unref } from "vue";
 import dayjs from "dayjs";
 import { useResponseHandle } from "/@/hooks/useAsync";
 import OrderDialog from "/@/components/PageListModal";
 const responseHandle = useResponseHandle();
-// import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -36,11 +38,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const { formItems } = projectFormConfig;
 const modelRef = ref<InstanceType<typeof OrderDialog>>(null);
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 6 - 7
src/views/operate/setService/index.vue

@@ -6,7 +6,6 @@ import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { Company, Card } from "/@/components/RemoteSelect";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
@@ -23,7 +22,11 @@ import dayjs from "dayjs";
 import { useResponseHandle } from "/@/hooks/useAsync";
 const responseHandle = useResponseHandle();
 // import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -34,11 +37,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const { formItems } = projectFormConfig;
 
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 1 - 3
src/views/operate/setTheme/index.vue

@@ -4,14 +4,12 @@ import { PageSearch, usePageSearch } from "/@/components/PageSearch";
 import searchConfig from "./config/search.config";
 import contentConfig from "./config/content.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import addModel from "./cpns/addModel.vue";
 const actionModalRef = ref<InstanceType<typeof addModel>>(null);
 
-const pageContentRef = ref<PageContentInstance | null>(null);
 const pageName = "setTheme";
 
-const { handleResetClick, handleSearchClick } = usePageSearch(
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig

+ 0 - 1
src/views/parameter/card/config/modal.config.ts

@@ -3,7 +3,6 @@ const modalConfig: ModalConfig = {
   title: "卡类型",
   width: "500px",
   colLayout: { span: 24 },
- ,
   itemStyle: {},
   contact: "card",
   labelWidth: "100px",

+ 5 - 6
src/views/parameter/card/index.vue

@@ -8,7 +8,11 @@ import { PageModal, usePageModal } from "/@/components/PageModal";
 import { PageContent } from "/@/components/PageContent";
 
 import type { PageContentInstance } from "/@/components/PageContent";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const pageName = "card";
 const {
   pageModalRef,
@@ -20,11 +24,6 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
 </script>
 
 <template>

+ 5 - 7
src/views/parameter/company/index.vue

@@ -7,8 +7,11 @@ import modalConfig from "./config/modal.config";
 import { PageModal, usePageModal } from "/@/components/PageModal";
 import { PageContent } from "/@/components/PageContent";
 
-import type { PageContentInstance } from "/@/components/PageContent";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const pageName = "company";
 const {
   pageModalRef,
@@ -20,11 +23,6 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
 </script>
 
 <template>

+ 6 - 7
src/views/parameter/good/index.vue

@@ -6,7 +6,6 @@ import contentConfig from "./config/content.config";
 import { PageModal, usePageModal } from "/@/components/PageModalShell";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { projectFormConfig } from "./config/_details";
 import { projectFormRules } from "./config/_rules";
 import {
@@ -27,7 +26,11 @@ import { Unit } from "/@/components/RemoteSelect";
 const responseHandle = useResponseHandle();
 const ladderModalRef = ref<InstanceType<typeof LadderModal>>(null);
 // import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -38,11 +41,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const { formItems } = projectFormConfig;
 // const modelRef = ref<InstanceType<typeof OrderDialog>>(null);
 const basicFormRef = ref<InstanceType<typeof ElForm>>(null);

+ 6 - 8
src/views/parameter/video/index.vue

@@ -7,11 +7,13 @@ import PageAuth from "/@/components/PageAuth";
 import { PageModal, usePageModal } from "/@/components/PageModal";
 import modalConfig from "./config/modal.config";
 import { PageContent } from "/@/components/PageContent";
-import type { PageContentInstance } from "/@/components/PageContent";
 import { useResponseHandle } from "/@/hooks/useAsync";
 import { httpDetail } from "/@/api/parameter/video";
-const pageContentRef = ref<PageContentInstance | null>(null);
-
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
+  undefined,
+  undefined,
+  searchConfig
+);
 const {
   pageModalRef,
   handleUpdateData,
@@ -22,11 +24,7 @@ const {
 } = usePageModal({
   pageContentRef
 });
-const { handleResetClick, handleSearchClick } = usePageSearch(
-  undefined,
-  undefined,
-  searchConfig
-);
+
 const responseHandle = useResponseHandle();
 async function handleDetailData(row, type) {
   const { id } = row;

+ 0 - 121
src/views/stock/stockCount/config/content.config.ts

@@ -1,121 +0,0 @@
-import { ContentConfig } from "/@/components/PageContent";
-
-import { httpList } from "/@/api/sellOut/zixunOrder";
-
-import { h } from "vue";
-import { ElImage } from "element-plus";
-import { projectOptions, statusOptions } from "./options";
-import { renderStatus } from "/@/utils/column-helper";
-
-const columns = [
-  {
-    type: "selection",
-    width: 55,
-    hide: ({ checkList }) => !checkList.includes("勾选列")
-  },
-  {
-    label: "序号",
-    type: "index",
-    width: 70,
-    hide: ({ checkList }) => !checkList.includes("序号列")
-  },
-  {
-    prop: "infoNo",
-    label: "竞价编号",
-    width: "180"
-  },
-  {
-    prop: "bargain_num",
-    label: "竞价次数",
-    width: "100"
-  },
-
-  {
-    prop: "good_img",
-    label: "图片",
-    width: "80",
-    cellRenderer({ row }) {
-      return h(ElImage, {
-        previewSrcList: [row.good_img],
-        src: row.good_img,
-        previewTeleported: true
-      });
-    }
-  },
-  {
-    prop: "good_name",
-    label: "商品名称",
-    "min-width": "120"
-  },
-
-  {
-    prop: "status",
-    label: "状态",
-    width: "120px",
-    cellRenderer({ row }) {
-      return renderStatus(statusOptions, row.status);
-    }
-  },
-  {
-    prop: "is_project",
-    label: "竞价单类型",
-    width: "120px",
-    cellRenderer({ row }) {
-      return renderStatus(projectOptions, row.is_project);
-    }
-  },
-
-  {
-    prop: "khNo",
-    label: "客户编号",
-    width: "160"
-  },
-  {
-    prop: "khname",
-    label: "客户名称",
-    "min-width": "135"
-  },
-
-  {
-    prop: "budget_price",
-    label: "预算单价",
-    width: 110
-  },
-  {
-    prop: "num",
-    label: "竞价数量",
-    width: 110
-  },
-  {
-    prop: "company_name",
-    label: "申请人部门",
-    minWidth: "150px"
-  },
-  {
-    prop: "creater",
-    label: "申请人",
-    width: "80"
-  },
-
-  {
-    prop: "addtime",
-    label: "添加时间",
-    width: 142
-  },
-  {
-    label: "操作",
-    fixed: "right",
-    width: 60,
-    slot: "operation"
-  }
-];
-
-const contentConfig: ContentConfig = {
-  title: "竞价单管理",
-  columns,
-  apis: {
-    httpList
-  }
-};
-
-export default contentConfig;

+ 0 - 15
src/views/stock/stockCount/config/options.ts

@@ -1,15 +0,0 @@
-export const statusOptions = [
-  { id: "0", label: "待发布竞标" },
-  { id: "1", label: "招标进行中" },
-  { id: "2", label: "招标已结束" },
-  { id: "3", label: "待选择商品" },
-  { id: "4", label: "已选商品待下单" },
-  { id: "5", label: "已成功转单" },
-  { id: "6", label: "已取消转单" },
-  { id: "7", label: "招标已暂停" }
-];
-
-export const projectOptions = [
-  { id: "0", label: "非项目竞价单" },
-  { id: "1", label: "项目竞价单" }
-];

+ 0 - 45
src/views/stock/stockCount/config/search.config.ts

@@ -1,45 +0,0 @@
-import { statusOptions } from "./options";
-import { FormConfig } from "/@/components/PageSearch";
-import { convertOptions } from "/@/utils/column-helper";
-
-const searchFormConfig: FormConfig = {
-  formItems: [
-    {
-      field: "status",
-      type: "select",
-      placeholder: "状态",
-      options: convertOptions(statusOptions)
-    },
-    {
-      field: "supplierName",
-      type: "input",
-      placeholder: "企业客户"
-    },
-    {
-      field: "group",
-      type_field: "group_type",
-      type: "input_group",
-      otherOptions: {
-        inputGroupOptions: [
-          { value: "zxNo", label: "竞价单编号" },
-          { value: "cpName", label: "商品名称" },
-          { value: "salesman", label: "申请人" },
-          { value: "company_name", label: "申请人部门" }
-        ]
-      }
-    },
-    {
-      field: "timer",
-      type: "date_picker",
-      otherOptions: {
-        type: "daterange",
-        startProp: "start",
-        endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
-      }
-    }
-  ]
-};
-
-export default searchFormConfig;

+ 0 - 21
src/views/stock/stockCount/index.vue

@@ -1,21 +0,0 @@
-<script setup lang="ts">
-import { usePageSearch } from "/@/components/PageSearch";
-import searchConfig from "./config/search.config";
-import contentConfig from "./config/content.config";
-import PageContainer, { type Hooks } from "/@/components/PageContainer";
-
-const pageName = "zixunOrder";
-
-const hooks: Hooks = {
-  pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
-};
-</script>
-
-<template>
-  <PageContainer
-    :hooks="hooks"
-    :page-name="pageName"
-    :search-config="searchConfig"
-    :content-config="contentConfig"
-  />
-</template>

+ 0 - 96
src/views/stock/stockWarning/config/content.config.ts

@@ -1,96 +0,0 @@
-import { ContentConfig } from "/@/components/PageContent";
-
-import { statusOptions } from "./options";
-import { httpList } from "/@/api/sellOut/returnOrder";
-import { renderStatus } from "/@/utils/column-helper";
-
-const columns = [
-  {
-    type: "selection",
-    width: 55,
-    hide: ({ checkList }) => !checkList.includes("勾选列")
-  },
-  {
-    label: "序号",
-    type: "index",
-    width: 70,
-    hide: ({ checkList }) => !checkList.includes("序号列")
-  },
-  {
-    prop: "thNo",
-    label: "售后退货单编号",
-    width: "180"
-  },
-  {
-    prop: "good_code",
-    label: "商品属性编号",
-    width: "180"
-  },
-  {
-    prop: "good_name",
-    label: "商品名称",
-    width: "150"
-  },
-
-  {
-    prop: "customer_code",
-    label: "客户编号",
-    width: "180"
-  },
-  {
-    prop: "return_num",
-    label: "退货数量",
-    width: "140"
-  },
-  {
-    prop: "normal_num",
-    label: "正常数量",
-    width: "140"
-  },
-  {
-    prop: "post_fee",
-    label: "邮费"
-  },
-
-  {
-    prop: "post_company",
-    label: "物流公司",
-    width: "140"
-  },
-  {
-    prop: "post_code",
-    label: "快递单号",
-    width: "180"
-  },
-
-  {
-    prop: "status",
-    label: "状态",
-    width: "100px",
-    cellRenderer({ row }) {
-      return renderStatus(statusOptions, row.status);
-    }
-  },
-  {
-    prop: "addtime",
-    label: "申请时间",
-    sortable: true,
-    width: 150
-  },
-  {
-    label: "操作",
-    fixed: "right",
-    width: 60,
-    slot: "operation"
-  }
-];
-
-const contentConfig: ContentConfig = {
-  title: "售后退货单",
-  columns,
-  apis: {
-    httpList
-  }
-};
-
-export default contentConfig;

+ 0 - 7
src/views/stock/stockWarning/config/options.ts

@@ -1,7 +0,0 @@
-export const statusOptions = [
-  { id: "0", label: "待申请" },
-  { id: "1", label: "待验收" },
-  { id: "2", label: "待验收审核" },
-  { id: "3", label: "待业务审核" },
-  { id: "4", label: "完成退货" }
-];

+ 0 - 66
src/views/stock/stockWarning/config/search.config.ts

@@ -1,66 +0,0 @@
-import { statusOptions } from "./options";
-import { httpKHList, httpPostList } from "/@/api/other";
-import { FormConfig } from "/@/components/PageSearch";
-import { convertOptions } from "/@/utils/column-helper";
-
-const searchFormConfig: FormConfig = {
-  formItems: [
-    {
-      field: "timer",
-      type: "date_picker",
-      otherOptions: {
-        type: "daterange",
-        startProp: "start",
-        endProp: "end",
-        startPlaceholder: "开始时间",
-        endPlaceholder: "结束时间"
-      }
-    },
-    {
-      field: "post_compay",
-      type: "remote-select",
-      placeholder: "物流公司",
-      otherOptions: {
-        api: httpPostList,
-        requestProp: "post_compay",
-        responseLabelProp: "name",
-        responseValProp: "name",
-        isRoot: true
-      }
-    },
-    {
-      field: "customer_code",
-      type: "remote-select",
-      placeholder: "客户公司",
-      otherOptions: {
-        api: httpKHList,
-        requestProp: "companyName",
-        responseLabelProp: "companyName",
-        responseValProp: "companyNo",
-        prop: "item"
-      }
-    },
-    {
-      field: "status",
-      type: "select",
-      placeholder: "退货单状态",
-      options: convertOptions(statusOptions)
-    },
-    {
-      field: "group",
-      type_field: "group_type",
-      type: "input_group",
-      otherOptions: {
-        inputGroupOptions: [
-          { value: "thNo", label: "售后退货单编号" },
-          { value: "return_code", label: "售后申请单编号" },
-          { value: "out_code", label: "发货申请单编号" },
-          { value: "order_code", label: "销售订单编号" },
-          { value: "post_code", label: "快递单号" }
-        ]
-      }
-    }
-  ]
-};
-
-export default searchFormConfig;

+ 0 - 21
src/views/stock/stockWarning/index.vue

@@ -1,21 +0,0 @@
-<script setup lang="ts">
-import { usePageSearch } from "/@/components/PageSearch";
-import searchConfig from "./config/search.config";
-import contentConfig from "./config/content.config";
-import PageContainer, { type Hooks } from "/@/components/PageContainer";
-
-const pageName = "stockWarning";
-
-const hooks: Hooks = {
-  pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
-};
-</script>
-
-<template>
-  <PageContainer
-    :hooks="hooks"
-    :pageName="pageName"
-    :search-config="searchConfig"
-    :content-config="contentConfig"
-  />
-</template>

+ 0 - 126
src/views/stock/survey/config/content.config.ts

@@ -1,126 +0,0 @@
-import { ContentConfig } from "/@/components/PageContent";
-
-import { httpList } from "/@/api/stock/survey";
-
-import { statusOptions } from "./options";
-import { renderStatus } from "/@/utils/column-helper";
-import { CG_ORDER_TYPE_OPTIONS } from "/@/config/status";
-
-const columns = [
-  {
-    type: "selection",
-    width: 55,
-    hide: ({ checkList }) => !checkList.includes("勾选列")
-  },
-  {
-    label: "序号",
-    type: "index",
-    width: 70,
-    hide: ({ checkList }) => !checkList.includes("序号列")
-  },
-  {
-    prop: "good_log_code",
-    label: "业务编号",
-    width: "180"
-  },
-  {
-    prop: "good_name",
-    label: "商品名称",
-    width: "160px"
-  },
-  {
-    prop: "spuCode",
-    label: "商品成本编码",
-    width: "180"
-  },
-  {
-    prop: "is_stock",
-    label: "是否库存品",
-    width: "130",
-    cellRenderer({ row }) {
-      return row.is_stock === "0" ? "否" : "是";
-    }
-  },
-  {
-    prop: "action_type_cn",
-    label: "库存来源",
-    width: "90px"
-  },
-  {
-    prop: "type",
-    label: "变化类别",
-    width: "130",
-    ...renderStatus(statusOptions, "type")
-  },
-  {
-    prop: "stock",
-    label: "变动数量",
-    width: "90px"
-  },
-  {
-    prop: "companyNo",
-    label: "业务公司编号",
-    width: "150px"
-  },
-  {
-    prop: "company",
-    label: "业务公司名称",
-    "min-width": "150px"
-  },
-  {
-    prop: "code",
-    label: "仓库所在公司编号",
-    width: "150px"
-  },
-  {
-    prop: "name",
-    label: "仓库所在公司名称",
-    "min-width": "150px"
-  },
-  {
-    prop: "wsm_code",
-    label: "仓库编号",
-    width: "165px"
-  },
-  {
-    prop: "wsm_name",
-    label: "仓库名称",
-    "min-width": "100px"
-  },
-
-  {
-    prop: "action_name",
-    label: "操作人",
-    width: "70px"
-  },
-  {
-    prop: "reviewer",
-    label: "操作人部门",
-    width: "130px",
-    cellRenderer({ row }) {
-      return row.item ? row.item.map(str => str).join(" ") : "--";
-    }
-  },
-  {
-    prop: "addtime",
-    label: "操作时间",
-    width: "145px",
-    sortable: true
-  },
-  {
-    label: "操作",
-    fixed: "right",
-    width: 60,
-    slot: "operation"
-  }
-];
-
-const contentConfig: ContentConfig = {
-  title: "库存概况",
-  columns,
-  apis: {
-    httpList
-  }
-};
-
-export default contentConfig;

+ 0 - 10
src/views/stock/survey/config/options.ts

@@ -1,10 +0,0 @@
-export const statusOptions = [
-  {
-    id: "1",
-    label: "增加"
-  },
-  {
-    id: "2",
-    label: "减少"
-  }
-];

+ 0 - 54
src/views/stock/survey/config/search.config.ts

@@ -1,54 +0,0 @@
-import { statusOptions } from "./options";
-import { FormConfig } from "/@/components/PageSearch";
-import { convertOptions } from "/@/utils/column-helper";
-
-const searchFormConfig: FormConfig = {
-  formItems: [
-    {
-      field: "status",
-      type: "select",
-      placeholder: "业务公司",
-      options: convertOptions(statusOptions)
-    },
-    {
-      field: "timer",
-      type: "date_picker",
-      otherOptions: {
-        type: "daterange",
-        startProp: "start",
-        endProp: "end",
-        startPlaceholder: "创建开始时间",
-        endPlaceholder: "创建结束时间"
-      }
-    },
-    {
-      field: "last_timer",
-      type: "date_picker",
-      otherOptions: {
-        type: "daterange",
-        startProp: "last_start",
-        endProp: "last_end",
-        startPlaceholder: "最晚入库开始时间",
-        endPlaceholder: "最晚入库结束时间"
-      }
-    },
-    {
-      field: "group",
-      type_field: "group_type",
-      type: "input_group",
-      otherOptions: {
-        inputGroupOptions: [
-          { value: "cgdNo", label: "采购单编码" },
-          { value: "good_code", label: "商品成本编号" },
-          { value: "good_name", label: "商品名称" },
-          { value: "apply_name", label: "商品创建人" },
-          { value: "supplierNo", label: "采购供应商编号" },
-          { value: "orderCode", label: "订单编号" },
-          { value: "company_name", label: "商品创建人部门" }
-        ]
-      }
-    }
-  ]
-};
-
-export default searchFormConfig;

+ 0 - 78
src/views/stock/survey/index.vue

@@ -1,78 +0,0 @@
-<script setup lang="ts">
-import { ref, watch } from "vue";
-import RemoteSelect from "/@/components/RemoteSelect";
-import contentConfig from "./config/content.config";
-import SearchWorkCompany from "/@/components/SearchWorkCompany";
-import SearchStock from "/@/components/SearchStock";
-
-import {
-  PageContent,
-  type PageContentInstance
-} from "/@/components/PageContent";
-
-import { httpSupplierlist, httpGoodstat } from "/@/api/other";
-import { useAsync } from "/@/hooks/useAsync";
-
-const pageContentRef = ref<PageContentInstance | null>(null);
-
-const { run: goodStatRun } = useAsync<Record<string, string>>({
-  initalData: {}
-});
-
-const data = ref({
-  companyNo: "",
-  supplier_code: "",
-  stock_code: ""
-});
-
-watch(
-  () => data,
-  () => {
-    pageContentRef.value.getPageData(data.value);
-    goodStatRun(httpGoodstat(data.value));
-  },
-  {
-    deep: true
-  }
-);
-</script>
-
-<template>
-  <div class="bg-white">
-    <div class="flex gap-2 p-2">
-      <SearchWorkCompany v-model="data.companyNo" />
-      <RemoteSelect
-        v-model="data.supplier_code"
-        :api="httpSupplierlist"
-        placeholder="供应商公司"
-        request-prop="name"
-        response-label-prop="name"
-        response-val-prop="code"
-        :disabled="!data.companyNo"
-      />
-      <SearchStock
-        v-model="data.stock_code"
-        :company-no="data.companyNo"
-        :supplier-no="data.supplier_code"
-        :disabled="!data.companyNo || !data.supplier_code"
-      />
-    </div>
-
-    <div class="flex justify-around">
-      <div class="text-center w-[128px] h-[128px] border-gray-100 border">
-        <h1>当前库存</h1>
-      </div>
-      <div class="text-center w-[128px] h-[128px] border-gray-100 border">
-        <h1>待入库</h1>
-      </div>
-      <div class="text-center w-[128px] h-[128px] border-gray-100 border">
-        <h1>待出库</h1>
-      </div>
-      <div class="text-center w-[128px] h-[128px] border-gray-100 border">
-        <h1>可用库存</h1>
-      </div>
-    </div>
-
-    <PageContent ref="pageContentRef" :content-config="contentConfig" />
-  </div>
-</template>

+ 3 - 5
src/views/system/logistics/index.vue

@@ -1,12 +1,10 @@
 <script setup lang="ts">
-import { ref } from "vue";
 import { PageContent } from "/@/components/PageContent";
 import contentConfig from "./config/content.config";
-import { PageSearch, usePageSearch } from "/@/components/PageSearch";
 import searchConfig from "./config/search.config";
-import type { PageContentInstance } from "/@/components/PageContent";
-const pageContentRef = ref<PageContentInstance | null>(null);
-const { handleResetClick, handleSearchClick } = usePageSearch(
+import { PageSearch, usePageSearch } from "/@/components/PageSearch";
+
+const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch(
   undefined,
   undefined,
   searchConfig