From e51ccb9bfc6712bd405ffd69d7365b542ef350f4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 29 四月 2026 11:56:17 +0800
Subject: [PATCH] 支付宝支付ddd
---
admin/src/components/business/OperaShopInfoWindow.vue | 3
admin/src/api/business/shopInfo.js | 3 +
admin/src/components/business/OperaPrinterEditWindow.vue | 74 ++++++++++++++++++++++++
small-program/utils/http.api.js | 2
admin/admin/index.html | 2
small-program/shop/pages/order-details/order-details.vue | 23 +++++++
admin/src/views/business/storeList.vue | 16 ++++
7 files changed, 119 insertions(+), 4 deletions(-)
diff --git a/admin/admin/index.html b/admin/admin/index.html
index 9a92c36..3ee3312 100644
--- a/admin/admin/index.html
+++ b/admin/admin/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>楂橀搧绔欒鏉庡瘎瀛樼鐞嗙郴缁�</title><link href="static/css/app.48a9fe75.css" rel="preload" as="style"><link href="static/css/chunk-vendors.d9e68312.css" rel="preload" as="style"><link href="static/js/app.b9055ec1.js" rel="preload" as="script"><link href="static/js/chunk-vendors.ff1e50a7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.d9e68312.css" rel="stylesheet"><link href="static/css/app.48a9fe75.css" rel="stylesheet"></head><body><div id="app"></div><script src="static/js/chunk-vendors.ff1e50a7.js"></script><script src="static/js/app.b9055ec1.js"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>楂橀搧绔欒鏉庡瘎瀛樼鐞嗙郴缁�</title><link href="static/css/app.973c4f23.css" rel="preload" as="style"><link href="static/css/chunk-vendors.d9e68312.css" rel="preload" as="style"><link href="static/js/app.c8723425.js" rel="preload" as="script"><link href="static/js/chunk-vendors.ff1e50a7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.d9e68312.css" rel="stylesheet"><link href="static/css/app.973c4f23.css" rel="stylesheet"></head><body><div id="app"></div><script src="static/js/chunk-vendors.ff1e50a7.js"></script><script src="static/js/app.c8723425.js"></script></body></html>
\ No newline at end of file
diff --git a/admin/src/api/business/shopInfo.js b/admin/src/api/business/shopInfo.js
index 3ec1001..e0ade04 100644
--- a/admin/src/api/business/shopInfo.js
+++ b/admin/src/api/business/shopInfo.js
@@ -17,6 +17,9 @@
export function updateById (data) {
return request.post('/business/shopInfo/updateShop', data)
}
+export function maintainPrinter (data) {
+ return request.post('/business/shopInfo/maintainPrinter', data)
+}
export function deleteById (id) {
return request.get(`/business/shopInfo/delete/${id}`)
diff --git a/admin/src/components/business/OperaPrinterEditWindow.vue b/admin/src/components/business/OperaPrinterEditWindow.vue
new file mode 100644
index 0000000..86bd5fd
--- /dev/null
+++ b/admin/src/components/business/OperaPrinterEditWindow.vue
@@ -0,0 +1,74 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="tip-warn" >
+ <i class="el-icon-warning"></i>
+ 姝e湪涓洪棬搴椼��<span style="color: red;font-weight: 600;">{{form.name}}</span>銆戣缃墦鍗版満淇℃伅</div>
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="鎵撳嵃鏈哄簭鍒楀彿" prop="printerSn">
+ <el-input v-model="form.printerSn" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import {maintainPrinter} from '@/api/business/shopInfo'
+export default {
+ name: 'OperaCategoryWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ isUploading: false,
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ name: null,
+ printerSn: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ printerSn: [{ required: true, message: '璇疯緭鍏ユ墦鍗版満搴忓垪鍙�' }]
+ }
+ }
+ },
+ methods: {
+ open (title, target) {
+ console.log("=======================",target)
+ this.title = title
+ this.visible = true
+ this.form = target
+
+ console.log("=======================", this.form)
+ },
+ __confirmEdit () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏇存柊鎺ュ彛
+ this.isWorking = true
+ maintainPrinter(this.form)
+ .then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('淇敼鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ }
+ }
+}
+</script>
diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 78edb32..bb4bd6c 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -290,9 +290,10 @@
components: { GlobalWindow, Pagination,OperaOrderDetail },
data () {
return {
+ title: '',
activeTab: 'performance',
storeInfo: {},
- visible:false,
+ visible: false,
searchForm: {
orderNo: '',
goodsInfo: '',
diff --git a/admin/src/views/business/storeList.vue b/admin/src/views/business/storeList.vue
index 8d86712..c55fd6b 100644
--- a/admin/src/views/business/storeList.vue
+++ b/admin/src/views/business/storeList.vue
@@ -19,6 +19,9 @@
<el-form-item label="鑱旂郴鐢佃瘽" prop="linkPhone">
<el-input v-model="searchForm.linkPhone" clearable placeholder="璇疯緭鍏ヨ仈绯荤數璇�" @keypress.enter.native="search"></el-input>
</el-form-item>
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="linkPhone">
+ <el-input v-model="searchForm.linkPhone" clearable placeholder="璇疯緭鍏ヨ仈绯荤數璇�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
<el-form-item label="娉ㄥ唽鏃堕棿" prop="createTimeStr">
<el-date-picker type="daterange" v-model="searchForm.createTimeStr" clearable value-format="yyyy-MM-dd"
range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="handleDateChange" />
@@ -56,6 +59,12 @@
<el-table-column prop="address" label="闂ㄥ簵鍦板潃" min-width="200px"></el-table-column>
<el-table-column prop="linkName" label="鑱旂郴浜�" min-width="100px"></el-table-column>
<el-table-column prop="linkPhone" label="鑱旂郴鐢佃瘽" min-width="120px"></el-table-column>
+ <el-table-column prop="printerSn" label="鎵撳嵃鏈哄簭鍒楀彿" min-width="160px">
+ <template slot-scope="{row}">
+ <span class="greenstate" style="cursor: pointer" @click="$refs.operaPrinterEditWindow.open('闂ㄥ簵鎵撳嵃鏈鸿缃�', row)" v-if="row.printerSn" >{{ row.printerSn }}</span>
+ <span class="redstate" style="cursor: pointer" v-else @click="$refs.operaPrinterEditWindow.open('闂ㄥ簵鎵撳嵃鏈鸿缃�', row)"> 鏈缃�</span>
+ </template>
+ </el-table-column>
<el-table-column prop="createTime" label="娉ㄥ唽鏃ユ湡" min-width="160px"></el-table-column>
<el-table-column label="璐﹀彿鐘舵��" min-width="100px">
<template slot-scope="{row}">
@@ -64,9 +73,10 @@
</el-switch>
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" min-width="150" fixed="right">
+ <el-table-column label="鎿嶄綔" min-width="180" fixed="right">
<template slot-scope="{row}">
<el-button type="text" @click="handleEdit(row)">缂栬緫</el-button>
+ <el-button type="text" @click="$refs.operaPrinterEditWindow.open('闂ㄥ簵鎵撳嵃鏈鸿缃�', row)">鎵撳嵃鏈鸿缃�</el-button>
<el-button type="text" @click="handleResetPwd(row)">閲嶇疆瀵嗙爜</el-button>
</template>
</el-table-column>
@@ -81,6 +91,7 @@
<!-- 闂ㄥ簵璇︽儏 -->
<OperaShopInfoWindow ref="operaShopInfoWindow" />
<!-- 缂栬緫闂ㄥ簵 -->
+ <OperaPrinterEditWindow ref="operaPrinterEditWindow" @success="search" />
<OperaShopEditWindow ref="operaShopEditWindow" @success="search" />
</TableLayout>
</template>
@@ -91,11 +102,12 @@
import Pagination from '@/components/common/Pagination'
import OperaShopInfoWindow from '@/components/business/OperaShopInfoWindow'
import OperaShopEditWindow from '@/components/business/OperaShopEditWindow'
+import OperaPrinterEditWindow from '@/components/business/OperaPrinterEditWindow'
import { changeStatus, resetPassword } from '@/api/business/shopInfo'
export default {
name: 'StoreList',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaShopInfoWindow, OperaShopEditWindow },
+ components: { TableLayout, Pagination, OperaShopInfoWindow, OperaShopEditWindow,OperaPrinterEditWindow },
data () {
return {
searchForm: {
diff --git a/small-program/shop/pages/order-details/order-details.vue b/small-program/shop/pages/order-details/order-details.vue
index c043d50..1e92830 100644
--- a/small-program/shop/pages/order-details/order-details.vue
+++ b/small-program/shop/pages/order-details/order-details.vue
@@ -234,6 +234,7 @@
<view class="btn kong" @click="contactPhoneDo(info.takePhone)" v-if="info.status === 1 || info.status === 5" >鑱旂郴瀹㈡埛</view>
<view class="btn kong" @click="contactPhoneDo(info.driverPhone)" v-if="info.type ===1&&(info.status === 4 || info.status === 3)">鑱旂郴楠戞墜</view>
<view class="btn you" v-if="info.status ===1 || info.status ===4 " @click="hexiaoOrder(info)" >鏀朵欢鏍搁攢</view>
+ <view class="btn you" v-if="info.status ==2 || info.status ===3 || info.status ===4 " @click="printerOrder(info)" >鎵撳嵃鏍囩</view>
<view class="btn you" v-if="info.status ===5 &&(info.overdueStatus ==0 || info.overdueStatus == 1)" @click="hexiaoOrder(info)" >纭鍒板簵</view>
<view class="btn you" v-if="info.status ===5 && (info.overdueStatus == 4 || info.overdueStatus == 2)" @click="hexiaoOrder(info)" >鍙栦欢鏍搁攢</view>
</view>
@@ -266,6 +267,7 @@
},
data() {
return {
+ loading:false,
id:null,
qrcodeImage:null,
showCancel:false,
@@ -307,6 +309,27 @@
cancelOrder(item){
this.showCancel = !this.showCancel
},
+ async printerOrder(){
+ if(this.loading){
+ return
+ }
+ this.loading =true
+ try{
+ var that =this
+ that.$u.api.printOrderLabel({ orderId: this.id }).then(res=>{
+ if (res.code === 200 ) {
+ uni.showToast({
+ title:'鍙戣捣鎵撳嵃璇锋眰鎴愬姛',
+ icon:'none'
+ })
+ }
+ that.loading =false
+ })
+ }catch(e){
+ this.loading =false
+ }
+
+ },
async cancelOrderDo(){
var that =this
let res = await that.$u.api.cancelOrder({ orderId: this.id });
diff --git a/small-program/utils/http.api.js b/small-program/utils/http.api.js
index 7ce6284..dff1fd7 100644
--- a/small-program/utils/http.api.js
+++ b/small-program/utils/http.api.js
@@ -60,7 +60,9 @@
let getActiveOrderTip= (params = {}) => vm.$u.http.get('web/config/getActiveOrderTip',{ params }); // 棣栭〉杩涜涓鍗曟彁绀�
let maintainInfo= (data = {}) => vm.$u.http.post('web/shopInfo/maintainInfo',data); // 鏌ヨ闂ㄥ簵缁存姢淇℃伅
let maintainShopInfo= (data = {}) => vm.$u.http.post('web/shopInfo/maintain',data); // 鏌ヨ闂ㄥ簵缁存姢淇℃伅
+ let printOrderLabel = (params = {}) => vm.$u.http.get('web/shopInfo/printOrderLabel/'+params.orderId,{ params }); //闂ㄥ簵璁㈠崟鎵撳嵃
vm.$u.api = {
+ printOrderLabel,
getActiveOrderTip,
logOutShop,
maintainShopInfo,
--
Gitblit v1.9.3