From 090ea2c7d46a7082e978e6c0134d3fbeafaa34a0 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 16 四月 2025 16:44:20 +0800
Subject: [PATCH] 提交
---
admin/src/views/platform/LogisticsRecord/waybill.vue | 2
admin/src/views/index.vue | 8 +++
h5/pages/staff/task/visitorApprove.vue | 12 +++--
admin/src/assets/icons/8.png | 0
h5/main.js | 2 +
admin/src/views/statistics/platformRecord.vue | 1
h5/pages/staff/task/visitorReport.vue | 35 ++++++++++++++++-
admin/src/views/platform/LogisticsRecord/subscribe.vue | 2
h5/package.json | 3 +
screen/src/views/LogisticsEfficiency.vue | 6 +-
h5/package-lock.json | 39 +++++++++++++++++++
h5/manifest.json | 1
12 files changed, 96 insertions(+), 15 deletions(-)
diff --git a/admin/src/assets/icons/8.png b/admin/src/assets/icons/8.png
new file mode 100644
index 0000000..1d96ef4
--- /dev/null
+++ b/admin/src/assets/icons/8.png
Binary files differ
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index 85b9087..623c258 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -240,7 +240,8 @@
{ name: '璁垮鎶ュ', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' },
{ name: '闅愭偅闅忔墜鎷�', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' },
{ name: '棰勭害浼氳瀹�', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' },
- { name: '鑰冨嫟宸ヤ綔鍙�', path: '', url: require('@/assets/icons/home_func4.png') }
+ { name: '鑰冨嫟宸ヤ綔鍙�', path: '', url: require('@/assets/icons/home_func4.png') },
+ { name: '椋熷爞娑堣垂鍏ュ彛', path: '', url: require('@/assets/icons/8.png') }
],
isShowDetail: false,
isShowReport: false,
@@ -350,6 +351,11 @@
window.open(res, '_blank')
})
}
+ if (item.name == '椋熷爞娑堣垂鍏ュ彛') {
+ getAppHeaderNav(6).then(res => {
+ window.open(res, '_blank')
+ })
+ }
this.$router.push(item.path)
},
updateDate () {
diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index 38694f2..cedb20e 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -49,7 +49,7 @@
<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" @click="complete([scope.row.jobId])" v-if="[0,1,2].includes(scope.row.jobStatus)">瀹屾垚浣滀笟</el-button>
<el-button type="text" class="red" v-permissions="['business:platformbooks:delete']"
@click="handleDel(scope.row)">鍒犻櫎</el-button>
</template>
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index fbd03ce..a4e9be5 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -47,7 +47,7 @@
</el-table-column>
<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 type="text" @click="complete([scope.row.id])" v-if="[0,1,2].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']"
diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue
index 1673dbf..6c36e50 100644
--- a/admin/src/views/statistics/platformRecord.vue
+++ b/admin/src/views/statistics/platformRecord.vue
@@ -30,6 +30,7 @@
<span>{{ scope.row.billCode || scope.row.contractNum }}</span>
</template>
</el-table-column>
+ <el-table-column prop="totalNum" label="鎬讳綔涓氶噺(涓囧彧)" min-width="100" show-overflow-tooltip />
</el-table>
<div class="mt20">
<Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
diff --git a/h5/main.js b/h5/main.js
index 8a3b147..b3b40a8 100644
--- a/h5/main.js
+++ b/h5/main.js
@@ -6,6 +6,8 @@
import store from './store/index.js'
import Tabbar from '@/components/tarbar.vue'
import navigation from '@/components/Header.vue'
+// import Vconsole from 'vconsole'
+// let vConsole = new Vconsole();
Vue.config.productionTip = false
diff --git a/h5/manifest.json b/h5/manifest.json
index 98170d5..090169f 100644
--- a/h5/manifest.json
+++ b/h5/manifest.json
@@ -5,6 +5,7 @@
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
+ "sassImplementationName": "node-sass",
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
"usingComponents" : true,
diff --git a/h5/package-lock.json b/h5/package-lock.json
index c8598e1..e0ea285 100644
--- a/h5/package-lock.json
+++ b/h5/package-lock.json
@@ -4,10 +4,38 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@babel/runtime": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz",
+ "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ }
+ },
+ "copy-text-to-clipboard": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
+ "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q=="
+ },
+ "core-js": {
+ "version": "3.41.0",
+ "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.41.0.tgz",
+ "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA=="
+ },
"dayjs": {
"version": "1.11.13",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
+ },
+ "mutation-observer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
+ "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
+ },
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"uniapp-qrcode": {
"version": "1.0.2",
@@ -18,6 +46,17 @@
"version": "2.0.37",
"resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.37.tgz",
"integrity": "sha512-iBcWNmQa01Wr+z004G6XIVPDctOrJIAx7LObQceUAPxZh6kJYjIOAMp5JE1K4VpoMV5bKYDpCd0gmX+M4nTEQQ=="
+ },
+ "vconsole": {
+ "version": "3.15.1",
+ "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz",
+ "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
+ "requires": {
+ "@babel/runtime": "^7.17.2",
+ "copy-text-to-clipboard": "^3.0.1",
+ "core-js": "^3.11.0",
+ "mutation-observer": "^1.0.3"
+ }
}
}
}
diff --git a/h5/package.json b/h5/package.json
index d08f0eb..3f666de 100644
--- a/h5/package.json
+++ b/h5/package.json
@@ -15,6 +15,7 @@
"dependencies": {
"dayjs": "^1.11.13",
"uniapp-qrcode": "^1.0.2",
- "uview-ui": "^2.0.37"
+ "uview-ui": "^2.0.37",
+ "vconsole": "^3.15.1"
}
}
diff --git a/h5/pages/staff/task/visitorApprove.vue b/h5/pages/staff/task/visitorApprove.vue
index af5b291..4e5ca1e 100644
--- a/h5/pages/staff/task/visitorApprove.vue
+++ b/h5/pages/staff/task/visitorApprove.vue
@@ -68,7 +68,7 @@
<view class="avatar">
<image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" />
<image v-else-if="item.approveType == 1 || item.approveType == 0" class="img"
- src="@/static/staff/ic_shenpiren@2x.png" />
+ src="@/static/staff/ic_shenpiren@2x.png" />
<image v-else-if="item.faceImg" :src="item.faceImg" class="img"></image>
<span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span>
<image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png"
@@ -140,7 +140,8 @@
<script>
import {
getVisitedDetail, // 璁垮棰勭害璇︽儏
- carUseBookAppr
+ carUseBookAppr,
+ visitsCancel
} from '@/api'
export default {
data() {
@@ -186,7 +187,7 @@
cancelShow: false
}
},
- onLoad(op) {
+ onLoad(op) {
uni.setStorageSync('ywinfo',{})
this.id = op.id
this.getDetail()
@@ -195,6 +196,7 @@
// 鍙栨秷棰勭害
cancel() {
visitsCancel(this.id).then(res => {
+ this.cancelShow = false
this.getDetail()
})
},
@@ -255,7 +257,7 @@
})
},
handleSub(status) {
- // this.param.flag =
+ // this.param.flag =
this.param = {
status
}
@@ -578,4 +580,4 @@
margin: 0 -30rpx;
}
}
-</style>
\ No newline at end of file
+</style>
diff --git a/h5/pages/staff/task/visitorReport.vue b/h5/pages/staff/task/visitorReport.vue
index d8f611e..b9c62cd 100644
--- a/h5/pages/staff/task/visitorReport.vue
+++ b/h5/pages/staff/task/visitorReport.vue
@@ -100,7 +100,10 @@
info.approveDateVO.canBeApproved != null &&
info.approveDateVO.canBeApproved == 1
" class="main_footer">
+ <view class="btn" @click="cancelShow = true" v-if="checkAuth('business:visits:cancel') && [0,1,2,5].includes(info.status)">鍙栨秷棰勭害</view>
+ <view style="width: 30rpx; height: 100%;"></view>
<view class="btn" @click="handleSub(3)">鎷掔粷</view>
+ <view style="width: 30rpx; height: 100%;"></view>
<view class="btn agree" @click="handleSub(2)">鍚屾剰</view>
</view>
@@ -111,17 +114,27 @@
" placeholder-class="placeholder9" />
<view class="main_footer">
<view class="btn" @click="showApprModal = false">鍙栨秷</view>
+ <view style="width: 30rpx; height: 100%;"></view>
<view class="btn agree" @click="onSubmit">鎻愪氦</view>
</view>
</view>
</u-popup>
+ <!-- 鍙栨秷棰勭害寮圭獥 -->
+ <u-modal
+ :show="cancelShow"
+ :showCancelButton="true"
+ title="绯荤粺鎻愮ず"
+ content='纭畾鍙栨秷褰撳墠棰勭害鍚楋紵'
+ @cancel="cancelShow = false"
+ @confirm="cancel" />
</view>
</template>
<script>
import {
getVisitedReDetail, // 璁垮棰勭害璇︽儏
- carUseBookAppr
+ carUseBookAppr,
+ visitsCancel
} from '@/api'
export default {
data() {
@@ -129,6 +142,9 @@
showApprModal: false,
param: {},
info: {},
+ userInfo: uni.getStorageSync('userInfo') || {
+ permissions: []
+ },
id: '',
type: '',
@@ -146,7 +162,8 @@
2: '宸查�氳繃',
3: '宸叉嫆缁�',
4: '宸插彇娑�',
- }
+ },
+ cancelShow: false
}
},
onLoad(op) {
@@ -155,6 +172,17 @@
this.getDetail()
},
methods: {
+ checkAuth(str) {
+ const permissions = this.userInfo.permissions || []
+ return permissions.indexOf(str) > -1
+ },
+ // 鍙栨秷棰勭害
+ cancel() {
+ visitsCancel(this.id).then(res => {
+ this.cancelShow = false
+ this.getDetail()
+ })
+ },
getDetail() {
const { id } = this
getVisitedReDetail({ id }).then(res => {
@@ -476,7 +504,8 @@
background: #ffffff;
.btn {
- width: 336rpx;
+ // width: 336rpx;
+ flex: 1;
height: 88rpx;
line-height: 88rpx;
background: #ffffff;
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index e4bfd5b..b64832b 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -17,7 +17,7 @@
<div class="com_header">
<div class="title">
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>绱鍑哄簱閲忕粺璁�</div>
+ <div>绱鍑哄簱閲忕粺璁★紙涓囧彧锛�</div>
</div>
<div class="tabs">
<div class="tab" :class="{ active: activeTab1 == 0 }" @click="tabClick1(0)">鏈湀</div>
@@ -293,7 +293,7 @@
<div :class="{ orange: item.num < 200 }" class="item two-swiper-slide swiper-slide"
v-for="item in data6.stockList">
<div class="la">{{ item.name }}</div>
- <div class="val">{{ item.num }}涓囨敮</div>
+ <div class="val">{{ item.num }}{{item.name.indexOf('鎵樼洏') === -1 ? '涓囨敮' : '涓�'}}</div>
</div>
</div>
</div>
@@ -1990,4 +1990,4 @@
object-fit: cover;
z-index: -1;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3