From 9486476bd79bb3bc6eeef2b1b69e6222fcd18b00 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 14 二月 2025 17:31:45 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp

---
 apps/bMiniApp/src/app.config.ts                                          |    1 
 apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.config.ts |    3 +
 apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.vue       |   36 ++++++++++++
 apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue           |   80 ++++++++++++++++++++++++++
 apps/bMiniApp/src/constants/router.ts                                    |    1 
 apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue              |    6 +-
 packages/components/src/Card/FlexJobCard.vue                             |    4 +
 apps/bMiniApp/src/assets/jx-qrcode.png                                   |    0 
 apps/bMiniApp/project.private.config.json                                |    7 ++
 apps/bMiniApp/src/components/Searchbar/BlSearchbar.vue                   |   34 +++++++++++
 10 files changed, 169 insertions(+), 3 deletions(-)

diff --git a/apps/bMiniApp/project.private.config.json b/apps/bMiniApp/project.private.config.json
index ed2ef1f..ccb2035 100644
--- a/apps/bMiniApp/project.private.config.json
+++ b/apps/bMiniApp/project.private.config.json
@@ -9,6 +9,13 @@
         "miniprogram": {
             "list": [
                 {
+                    "name": "瀹夋帓浠诲姟",
+                    "pathName": "subpackages/task/batchTaskList/batchTaskList",
+                    "query": "id=57a8f533-2a46-7a88-e008-3a1775810dd2",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
                     "name": "浠诲姟绠$悊",
                     "pathName": "subpackages/task/taskManage/taskManage",
                     "query": "",
diff --git a/apps/bMiniApp/src/app.config.ts b/apps/bMiniApp/src/app.config.ts
index 8b9b688..54ee05b 100644
--- a/apps/bMiniApp/src/app.config.ts
+++ b/apps/bMiniApp/src/app.config.ts
@@ -82,6 +82,7 @@
         'taskCheckDetail/taskCheckDetail',
         'taskHandleCheckDetail/taskHandleCheckDetail',
         'taskManage/taskManage',
+        'batchTaskList/batchTaskList',
       ],
     },
     {
diff --git a/apps/bMiniApp/src/assets/jx-qrcode.png b/apps/bMiniApp/src/assets/jx-qrcode.png
new file mode 100644
index 0000000..232c801
--- /dev/null
+++ b/apps/bMiniApp/src/assets/jx-qrcode.png
Binary files differ
diff --git a/apps/bMiniApp/src/components/Searchbar/BlSearchbar.vue b/apps/bMiniApp/src/components/Searchbar/BlSearchbar.vue
new file mode 100644
index 0000000..3e7ee41
--- /dev/null
+++ b/apps/bMiniApp/src/components/Searchbar/BlSearchbar.vue
@@ -0,0 +1,34 @@
+<template>
+  <nut-searchbar shape="round" class="bole-search-bar" v-model.trim="model" v-bind="$attrs">
+    <template #leftin>
+      <Search2 />
+    </template>
+  </nut-searchbar>
+</template>
+
+<script setup lang="ts">
+import { Search2 } from '@nutui/icons-vue-taro';
+
+defineOptions({
+  name: 'BlSearchbar',
+});
+
+// type Props = {};
+
+// const props = withDefaults(defineProps<Props>(), {});
+const model = defineModel<string>();
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.bole-search-bar {
+  padding: 0;
+  background-color: transparent;
+
+  .nut-searchbar__search-input {
+    box-shadow: none;
+    border: 1px solid boleGetCssVar('color', 'primary');
+  }
+}
+</style>
diff --git a/apps/bMiniApp/src/constants/router.ts b/apps/bMiniApp/src/constants/router.ts
index 6d82c1c..1d664e3 100644
--- a/apps/bMiniApp/src/constants/router.ts
+++ b/apps/bMiniApp/src/constants/router.ts
@@ -37,6 +37,7 @@
   taskCheckDetail = '/subpackages/task/taskCheckDetail/taskCheckDetail',
   taskHandleCheckDetail = '/subpackages/task/taskHandleCheckDetail/taskHandleCheckDetail',
   taskManage = '/subpackages/task/taskManage/taskManage',
+  batchTaskList = '/subpackages/task/batchTaskList/batchTaskList',
 
   jobApplicationManage = '/subpackages/jobApplicationManage/jobApplicationManage/jobApplicationManage',
   jobApplicationDetail = '/subpackages/jobApplicationManage/jobApplicationDetail/jobApplicationDetail',
diff --git a/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
new file mode 100644
index 0000000..b251fc7
--- /dev/null
+++ b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
@@ -0,0 +1,80 @@
+<template>
+  <div class="searchbar-container">
+    <BlSearchbar
+      v-model.trim="searchValue"
+      placeholder="鎼滅储濮撳悕/韬唤璇佸彿"
+      @search="handleSearch"
+      @change="handleSearch"
+    ></BlSearchbar>
+  </div>
+  <InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps">
+    <template #renderItem="{ item }">
+      <FlexJobCard :showFooterLeft="false">
+        <template #footerRight>
+          <nut-button type="primary">瀹夋帓</nut-button>
+          <!-- <div class="batch-task-card-status">宸插畨鎺�</div> -->
+        </template>
+      </FlexJobCard>
+    </template>
+  </InfiniteLoading>
+</template>
+
+<script setup lang="ts">
+import Taro from '@tarojs/taro';
+import { useInfiniteLoading } from '@12333/hooks';
+import { OrderInputType } from '@12333/constants';
+import * as orderServices from '@12333/services/api/Order';
+import _ from 'lodash';
+import { trim } from '@12333/utils';
+import { FlexJobCard } from '@12333/components';
+
+defineOptions({
+  name: 'InnerPage',
+});
+
+const searchValue = ref('');
+
+const queryState = reactive({
+  searchValueTrim: '',
+});
+
+const handleSearch = _.debounce(function () {
+  queryState.searchValueTrim = trim(searchValue.value);
+}, 300);
+
+const { infiniteLoadingProps } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.FrontOrderListInput = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }],
+      },
+    };
+
+    return orderServices.getFrontOrderList(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['orderServices/getFrontOrderList', queryState],
+  }
+);
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.searchbar-container {
+  padding: boleGetCssVar('size', 'body-padding-h');
+  padding-top: 0;
+}
+
+.batchTaskList-page-wrapper {
+  .batch-task-card-status {
+    line-height: 52px;
+    color: boleGetCssVar('text-color', 'primary');
+    font-size: 24px;
+  }
+}
+</style>
diff --git a/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.config.ts b/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.config.ts
new file mode 100644
index 0000000..305fdb1
--- /dev/null
+++ b/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+  disableScroll: true,
+});
diff --git a/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.vue b/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.vue
new file mode 100644
index 0000000..1f09ece
--- /dev/null
+++ b/apps/bMiniApp/src/subpackages/task/batchTaskList/batchTaskList.vue
@@ -0,0 +1,36 @@
+<template>
+  <PageLayoutWithBg class="batchTaskList-page-wrapper" title="瀹夋帓浠诲姟">
+    <!-- <Image :src="IconQrcode" class="qrcode" @tap="handeClick" /> -->
+    <InnerPage />
+  </PageLayoutWithBg>
+</template>
+
+<script setup lang="ts">
+import IconQrcode from '@/assets/jx-qrcode.png';
+import Taro from '@tarojs/taro';
+import { Image } from '@tarojs/components';
+import InnerPage from './InnerPage.vue';
+
+defineOptions({
+  name: 'batchTaskList',
+});
+
+function handeClick() {
+  Taro.previewImage({
+    current: IconQrcode,
+    urls: [IconQrcode],
+  });
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.batchTaskList-page-wrapper {
+  .qrcode {
+    width: 200px;
+    height: 200px;
+    margin: 400px auto 0;
+  }
+}
+</style>
diff --git a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
index 9913fbf..3161d44 100644
--- a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
@@ -17,13 +17,13 @@
     :key="queryState.status"
   >
     <template #renderItem="{ item }">
-      <TaskCard @click="goSubmitTaskDetail(item)" />
+      <JobApplicationCard @click="goSubmitTaskDetail(item)" />
     </template>
   </InfiniteLoading>
 </template>
 
 <script setup lang="ts">
-import { TaskCard, ProTabs, ProTabPane } from '@12333/components';
+import { JobApplicationCard, ProTabs, ProTabPane } from '@12333/components';
 import Taro from '@tarojs/taro';
 import { useInfiniteLoading } from '@12333/hooks';
 import { OrderInputType } from '@12333/constants';
@@ -58,7 +58,7 @@
 
 function goSubmitTaskDetail(item: API.FrontOrderList) {
   Taro.navigateTo({
-    url: `${RouterPath.taskCheckDetail}?id=${item.id}`,
+    url: `${RouterPath.batchTaskList}?id=${item.id}`,
   });
 }
 </script>
diff --git a/packages/components/src/Card/FlexJobCard.vue b/packages/components/src/Card/FlexJobCard.vue
index 9764a3c..4eed133 100644
--- a/packages/components/src/Card/FlexJobCard.vue
+++ b/packages/components/src/Card/FlexJobCard.vue
@@ -119,6 +119,10 @@
       --nut-button-default-font-size: 24px;
       --nut-button-default-height: 52px;
       --nut-button-default-line-height: 49px;
+
+      .nut-button {
+        min-width: 144rpx;
+      }
     }
   }
 }

--
Gitblit v1.9.1