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