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