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