From 991c2109853e08eef374512fffd111706fa5bf84 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 31 三月 2025 10:54:51 +0800
Subject: [PATCH] 优化

---
 admin/src/views/platform/LogisticsRecord/subscribe.vue |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index e4e611f..fa8981f 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -13,10 +13,12 @@
     <div class="pt16">
       <el-button type="primary" @click="handleEdit" icon="el-icon-plus"
         v-permissions="['business:platformbooks:create']">鏂板缓</el-button>
+      <el-button type="primary" @click="complete(ids)">瀹屾垚浣滀笟</el-button>
       <el-button :loading="exLoading" @click="handleEx"
         v-permissions="['business:platformbooks:exportExcel']">瀵煎嚭</el-button>
     </div>
-    <el-table :height="tableHeightNew" v-loading="loading" :data="list" stripe>
+    <el-table :height="tableHeightNew" v-loading="loading" :data="list" @selection-change="handleSelectionChange" stripe>
+      <el-table-column type="selection" width="55"></el-table-column>
       <el-table-column prop="contractNum" label="鍚堝悓/鍗曟嵁缂栧彿" min-width="100" show-overflow-tooltip />
       <el-table-column prop="inReason" label="鍏ュ洯鍘熷洜" min-width="100" show-overflow-tooltip />
       <el-table-column prop="totalNum" label="鎬讳綔涓氶噺(涓囨敮)" min-width="100" show-overflow-tooltip />
@@ -25,6 +27,12 @@
       <el-table-column prop="driverName" label="椹鹃┒鍛�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="driverPhone" label="鑱旂郴鏂瑰紡" min-width="100" show-overflow-tooltip />
       <el-table-column prop="inTypeTemp" label="浣滀笟绫诲瀷" min-width="100" show-overflow-tooltip />
+      <el-table-column label="浣滀笟鐘舵��" min-width="100" show-overflow-tooltip>
+        <template v-slot="scope">
+          <span v-if="[2,3,4].includes(scope.row.status)">{{ statusMap[scope.row.jobStatus] || '' }}</span>
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
       <el-table-column prop="arriveDate" label="棰勭害鍒板満鏃堕棿" min-width="150" show-overflow-tooltip />
       <el-table-column label="瀹℃壒缁撴灉" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
@@ -37,10 +45,11 @@
       </el-table-column>
       <el-table-column prop="auditName" label="褰撳墠瀹℃壒浜�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150" show-overflow-tooltip />
-      <el-table-column prop="name" label="鎿嶄綔" min-width="120" align="center" fixed="right" show-overflow-tooltip>
+      <el-table-column prop="name" label="鎿嶄綔" min-width="170" align="center" fixed="right" show-overflow-tooltip>
         <template v-slot="scope">
           <el-button type="text" v-permissions="['business:platformbooks:detail']"
             @click="handleDetail(scope.row)">棰勭害璇︽儏</el-button>
+          <el-button type="text" @click="complete([scope.row.jobId])" v-if="[0,1].includes(scope.row.jobStatus)">瀹屾垚浣滀笟</el-button>
           <el-button type="text" class="red" v-permissions="['business:platformbooks:delete']"
             @click="handleDel(scope.row)">鍒犻櫎</el-button>
         </template>
@@ -106,12 +115,13 @@
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api'
+import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport, dealJobFinish } from '@/api'
 import { checkSurplusNum, deletebooksById } from '@/api/platform/platform'
 import DriverDetail from '@/views/task/driverDetail'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import UploadAvatarImage from '@/components/common/UploadAvatarImage'
 import { Message } from 'element-ui'
+import { statusMap } from '../config'
 import dayjs from 'dayjs'
 import BaseComputHeight from "@/components/base/BaseComputHeight"
 export default {
@@ -125,6 +135,7 @@
   },
   data() {
     return {
+      statusMap,
       isShowDriver: false,
       exLoading: false,
       loading: false,
@@ -189,6 +200,12 @@
             ]
           },
           {
+            filed: 'reasonId',
+            type: 'select',
+            label: '鍏ュ洯鍘熷洜',
+            options: []
+          },
+          {
             filed1: 'arriveDateStart',
             filed2: 'arriveDateEnd',
             type: 'datetime',
@@ -201,14 +218,37 @@
           }
         ],
         online: true
-      }
+      },
+      ids: []
     }
   },
   created() {
     this.changeRadio('0')
+    this.getplatformReasons()
     // this.getList()
   },
   methods: {
+    handleSelectionChange(ids) {
+      this.ids = ids.map(item => item.jobId)
+    },
+    complete(ids) {
+      var that = this;
+      if (ids.length === 0) {
+        return this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+      }
+      this.$confirm('鏄惁纭瀹屾垚浣滀笟锛�, 鏄惁纭?', '鎻愮ず', {
+        confirmButtonText: '纭',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        dealJobFinish(ids)
+          .then(res => {
+            that.getList()
+          })
+      }).catch(() => {
+
+      });
+    },
     checkSurplus() {
       const { arriveDate, reasonId, totalNum } = this.param
       if (!arriveDate || !reasonId || !totalNum) return
@@ -217,8 +257,6 @@
         reasonId,
         totalNum
       }).then(res => {
-        console.log('res', res)
-
         if (res == 0 || res < Number(totalNum)) {
           Message.error(`褰撴棩鍓╀綑鍙绾︿綔涓氶噺${res}涓囨敮涓嶈冻璇烽�夋嫨鍏朵粬鍒板満鏃ユ湡`)
         }
@@ -316,6 +354,16 @@
         this.reasonList = res || []
       })
     },
+    getplatformReasons() {
+      platformReasonList().then(res => {
+        this.queryFormConfig.formItems[4].options = (res || []).map(item => {
+          return {
+            value: item.id,
+            label: item.reason
+          }
+        })
+      })
+    },
     handleSub() {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {

--
Gitblit v1.9.3