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/waybill.vue   |   47 +++++++++++++++++++++--
 admin/src/views/platform/LogisticsRecord/subscribe.vue |   60 +++++++++++++++++++++++++++---
 admin/src/api/platform/index.js                        |    4 ++
 admin/.env.development                                 |    4 +-
 4 files changed, 102 insertions(+), 13 deletions(-)

diff --git a/admin/.env.development b/admin/.env.development
index 4e60f1f..ec01dc7 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -3,6 +3,6 @@
 
 # VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
 #  VUE_APP_API_URL  = 'http://localhost:10010'
-# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
-VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
+VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
+# VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
 
diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js
index f7f1afa..3f5ff28 100644
--- a/admin/src/api/platform/index.js
+++ b/admin/src/api/platform/index.js
@@ -128,3 +128,7 @@
     download: true
   })
 }
+// 鎵嬪姩瀹屾垚浣滀笟
+export function dealJobFinish (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformJob/dealJobFinish', data)
+}
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) {
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index 802fd43..13224c8 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -11,10 +11,12 @@
       </template>
     </QueryForm>
     <div class="pt16">
+      <el-button type="primary" @click="complete(ids)">瀹屾垚浣滀笟</el-button>
       <el-button :loading="exLoading" @click="handleEx"
         v-permissions="['business:platformjob: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="billCode" label="杩愬崟鍙�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="carCodeFront" label="杞︾墝鍓嶇収鍙�" min-width="100" show-overflow-tooltip />
       <!-- <el-table-column prop="carCodeBack" label="杞︾墝鍚庣収鍙�" min-width="100" show-overflow-tooltip /> -->
@@ -27,7 +29,7 @@
         <span v-if="scope.row.platformWmsJob">{{ scope.row.platformWmsJob.contractNum }}</span>
       </template>
       </el-table-column>-->
-      <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="scope.row.type == '0'">鑷湁杞﹀嵏璐�</span>
           <span v-if="scope.row.type == '1'">鑷湁杞﹁璐�</span>
@@ -37,13 +39,14 @@
         </template>
       </el-table-column>
       <el-table-column prop="ioCreatedate" label="鍒涘缓鏃堕棿" min-width="150" show-overflow-tooltip />
-      <el-table-column prop="name" label="浣滀笟鐘舵��" min-width="100" show-overflow-tooltip>
+      <el-table-column label="浣滀笟鐘舵��" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
           <span>{{ statusMap[scope.row.status] }}</span>
         </template>
       </el-table-column>
-      <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" @click="complete([scope.row.id])" v-if="[0,1].includes(scope.row.status)">瀹屾垚浣滀笟</el-button>
           <el-button v-if="scope.row.status == '12'" type="text" class="red"
             v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">鍒犻櫎</el-button>
           <el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']"
@@ -61,7 +64,7 @@
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import { platformJobPage, platformJobExport, platformJobDel } from '@/api'
+import { platformJobPage, platformJobExport, platformJobDel, dealJobFinish } from '@/api'
 import { statusMap } from '../config'
 import WaybillDetailRef from "../components/WaybillDetail.vue"
 import GlobalWindow from '@/components/common/GlobalWindow'
@@ -139,6 +142,18 @@
             ]
           },
           {
+            filed: 'type',
+            type: 'select',
+            label: '浣滀笟绫诲瀷',
+            options: [
+              { value: 0, label: '鑷湁杞﹀嵏璐�' },
+              { value: 1, label: '鑷湁杞﹁璐�' },
+              { value: 2, label: '澶栧崗杞﹀嵏璐�' },
+              { value: 3, label: '澶栧崗杞﹁璐�' },
+              { value: 4, label: '甯傚叕鍙稿鍗忚溅鍗歌揣' }
+            ]
+          },
+          {
             filed1: 'createDateStart',
             filed2: 'createDateEnd',
             type: 'datetime',
@@ -152,12 +167,34 @@
         ],
         online: true
       },
+      ids: []
     }
   },
   created() {
     this.changeRadio('0')
   },
   methods: {
+    handleSelectionChange(ids) {
+      this.ids = ids.map(item => item.id)
+    },
+    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(() => {
+
+      });
+    },
     changeRadio(day) {
       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
       this.filters.createDateStart = arr[0]

--
Gitblit v1.9.3