From f7a5fb8c05a7ed70ee96043481fc074cdd9b0e51 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 25 九月 2024 08:41:57 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/views/task/task/index.vue |   51 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/zy-asrs-admin/src/views/task/task/index.vue b/zy-asrs-admin/src/views/task/task/index.vue
index c894643..cbc6ad8 100644
--- a/zy-asrs-admin/src/views/task/task/index.vue
+++ b/zy-asrs-admin/src/views/task/task/index.vue
@@ -19,6 +19,11 @@
 const editChild = ref(null)
 const showTaskDetlChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -139,14 +144,10 @@
     dataIndex: 'oper',
     key: 'oper',
     fixed: 'right',
-    width: 240,
+    width: 300,
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -162,6 +163,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/task/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -171,6 +174,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -289,6 +294,31 @@
   });
 }
 
+const handlePick = (record) => {
+  Modal.confirm({
+    title: formatMessage('page.pick', '鎷f枡'),
+    content: formatMessage('page.pick.confirm', '纭畾鎷f枡璇ラ」鍚楋紵'),
+    maskClosable: true,
+    onOk: async () => {
+      const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+      try {
+        post('/api/task/pick', record).then(resp => {
+          let result = resp.data;
+          if (result.code === 200) {
+            message.success(result.msg);
+          } else {
+            message.error(result.msg);
+          }
+          getPage()
+          hide()
+        })
+      } catch (error) {
+        message.error(formatMessage('common.fail', '璇锋眰澶辫触'));
+      }
+    },
+  });
+}
+
 </script>
 
 <script>
@@ -304,20 +334,25 @@
       <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
         style="width: 200px;" @search="onSearch" />
       <div class="table-header-right">
-        <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
+        <!-- <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button> -->
         <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
       </div>
     </div>
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
             <a-button type="link" primary @click="showDetl(record)">{{ formatMessage('page.task.orderDetl', '浠诲姟鏄庣粏')
               }}</a-button>
-            <a-button type="link" primary @click="handleComplete(record)">{{ formatMessage('page.complete', '瀹屾垚') }}</a-button>
+            <a-button v-if="record.taskType == 103" type="link" primary @click="handlePick(record)">{{
+              formatMessage('page.pick', '鎷f枡')
+            }}</a-button>
+            <a-button type="link" primary @click="handleComplete(record)">{{ formatMessage('page.complete', '瀹屾垚')
+              }}</a-button>
             <a-button type="link" danger @click="handleCancel(record)">{{ formatMessage('page.cancel', '鍙栨秷')
               }}</a-button>
           </div>

--
Gitblit v1.9.1