| | |
| | | <!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> |
| | | <!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> |
| | |
| | | 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}`) |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="tip-warn" > |
| | | <i class="el-icon-warning"></i> |
| | | æ£å¨ä¸ºé¨åºã<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> |
| | |
| | | components: { GlobalWindow, Pagination,OperaOrderDetail }, |
| | | data () { |
| | | return { |
| | | title: '', |
| | | activeTab: 'performance', |
| | | storeInfo: {}, |
| | | visible:false, |
| | | visible: false, |
| | | searchForm: { |
| | | orderNo: '', |
| | | goodsInfo: '', |
| | |
| | | <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" /> |
| | |
| | | <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}"> |
| | |
| | | </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> |
| | |
| | | <!-- é¨åºè¯¦æ
--> |
| | | <OperaShopInfoWindow ref="operaShopInfoWindow" /> |
| | | <!-- ç¼è¾é¨åº --> |
| | | <OperaPrinterEditWindow ref="operaPrinterEditWindow" @success="search" /> |
| | | <OperaShopEditWindow ref="operaShopEditWindow" @success="search" /> |
| | | </TableLayout> |
| | | </template> |
| | |
| | | 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: { |
| | |
| | | <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> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | loading:false, |
| | | id:null, |
| | | qrcodeImage:null, |
| | | showCancel:false, |
| | |
| | | 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 }); |
| | |
| | | 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, |