初始上传
This commit is contained in:
746
addon/cashier/source/os/pages/printer/add.vue
Executable file
746
addon/cashier/source/os/pages/printer/add.vue
Executable file
@@ -0,0 +1,746 @@
|
||||
<template>
|
||||
<base-page>
|
||||
<view class="printer ">
|
||||
<view class="common-wrap common-form body-overhide">
|
||||
<view class="common-title">打印机设置</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机名称
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<input type="text" v-model="savedata.printer_name" class="form-input" />
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机类型
|
||||
</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="printerTypeChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="cloud" :checked="savedata.printer_type == 'cloud'" />
|
||||
云打印机
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="local" :checked="savedata.printer_type == 'local'" />
|
||||
本地打印机
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="network" :checked="savedata.printer_type == 'network'" />
|
||||
网络打印机
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="savedata.printer_type == 'cloud'">
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机品牌
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<view class="form-input">易联云</view>
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机编号
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<input type="text" v-model="savedata.printer_code" class="form-input" />
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机密钥
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<input type="text" v-model="savedata.printer_key" class="form-input" />
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
应用id
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<input type="text" v-model="savedata.open_id" class="form-input" />
|
||||
</view>
|
||||
<text class="form-word-aux-line">应用id(易联云-开发者中心后台应用中心里获取)</text>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
apiKey
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<input type="text" v-model="savedata.apikey" class="form-input" />
|
||||
</view>
|
||||
<text class="form-word-aux-line">apiKey(易联云-开发者中心后台应用中心里获取)</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-show="savedata.printer_type == 'local'">
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机端口
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<view class="form-input">
|
||||
<input type="text" v-model="savedata.host" class="form-input" /></view>
|
||||
</view>
|
||||
<text class="form-word-aux">打印机端口 (可以填写打印机端口号:如LPT1 或 本地网络共享打印机:如\\192.168.1.100\POS_NAME)</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-show="savedata.printer_type == 'network'">
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机IP
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<view class="form-input">
|
||||
<input type="text" v-model="savedata.ip" class="form-input" /></view>
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印机端口
|
||||
</label>
|
||||
<view class="form-input-inline">
|
||||
<view class="form-input">
|
||||
<input type="text" v-model="savedata.port" class="form-input" /></view>
|
||||
</view>
|
||||
<text class="form-word-aux"></text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-show="savedata.printer_type == 'local' || savedata.printer_type == 'network'">
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">
|
||||
<text class="required">*</text>
|
||||
打印宽度
|
||||
</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="printWidthChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="58mm" :checked="savedata.print_width == '58mm'" />
|
||||
58mm
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="80mm" :checked="savedata.print_width == '80mm'" />
|
||||
80mm
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-title">支付打印</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">支付打印</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="orderPayChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.order_pay_open == 1" />
|
||||
开启
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="0" :checked="savedata.order_pay_open == 0" />
|
||||
关闭
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.order_pay_open == 1">
|
||||
<label class="form-label">打印模板</label>
|
||||
<view class="form-input-inline " v-if="template.goodsorder && template.goodsorder.length">
|
||||
<uni-data-select v-model="orderPayTempIndex" :localdata="template.goodsorder"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.order_pay_open == 1">
|
||||
<label class="form-label">打印联数</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="orderPayNumChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.order_pay_print_num == 1" />
|
||||
1
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="2" :checked="savedata.order_pay_print_num == 2" />
|
||||
2
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="3" :checked="savedata.order_pay_print_num == 3" />
|
||||
3
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="4" :checked="savedata.order_pay_print_num == 4" />
|
||||
4
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.order_pay_open == 1">
|
||||
<label class="form-label">订单类型</label>
|
||||
<view class="form-block">
|
||||
<checkbox-group class="form-checkbox-group" @change="orderPayTypeChange">
|
||||
<label class="form-checkbox-item" v-for="(item, index) in orderType">
|
||||
<checkbox :value="item.type.toString()" :checked="savedata.order_pay_order_type.includes(item.type.toString()) || savedata.order_pay_order_type.includes(parseInt(item.type))" />
|
||||
{{ item.name }}
|
||||
</label>
|
||||
</checkbox-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-title">收货打印</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">收货打印</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="takeDeliveryChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.take_delivery_open == 1" />
|
||||
开启
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="0" :checked="savedata.take_delivery_open == 0" />
|
||||
关闭
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.take_delivery_open == 1">
|
||||
<label class="form-label">打印模板</label>
|
||||
<view class="form-input-inline" v-if="template.goodsorder && template.goodsorder.length">
|
||||
<uni-data-select v-model="takeDeliveryTempIndex" :localdata="template.goodsorder"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.take_delivery_open == 1">
|
||||
<label class="form-label">打印联数</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="takeDeliveryNumChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.take_delivery_print_num == 1" />
|
||||
1
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="2" :checked="savedata.take_delivery_print_num == 2" />
|
||||
2
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="3" :checked="savedata.take_delivery_print_num == 3" />
|
||||
3
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="4" :checked="savedata.take_delivery_print_num == 4" />
|
||||
4
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.take_delivery_open == 1">
|
||||
<label class="form-label">订单类型</label>
|
||||
<view class="form-block">
|
||||
<checkbox-group class="form-checkbox-group" @change="takeDeliveryTypeChange">
|
||||
<label class="form-checkbox-item" v-for="(item, index) in orderType">
|
||||
<checkbox :value="item.type.toString()" :checked="savedata.take_delivery_order_type.includes(item.type.toString()) || savedata.take_delivery_order_type.includes(parseInt(item.type))" />
|
||||
{{ item.name }}
|
||||
</label>
|
||||
</checkbox-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-title">手动打印</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">手动打印</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="manualChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.manual_open == 1" />
|
||||
开启
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="0" :checked="savedata.manual_open == 0" />
|
||||
关闭
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.manual_open == 1">
|
||||
<label class="form-label">打印模板</label>
|
||||
<view class="form-input-inline" v-if="template.goodsorder && template.goodsorder.length">
|
||||
<uni-data-select v-model="manualTempIndex" :localdata="template.goodsorder"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.manual_open == 1">
|
||||
<label class="form-label">打印联数</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="manualNumChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.print_num == 1" />
|
||||
1
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="2" :checked="savedata.print_num == 2" />
|
||||
2
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="3" :checked="savedata.print_num == 3" />
|
||||
3
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="4" :checked="savedata.print_num == 4" />
|
||||
4
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-title">充值打印</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">充值打印</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="rechargeChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.recharge_open == 1" />
|
||||
开启
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="0" :checked="savedata.recharge_open == 0" />
|
||||
关闭
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.recharge_open == 1">
|
||||
<label class="form-label">打印模板</label>
|
||||
<view class="form-input-inline" v-if="template.recharge && template.recharge.length">
|
||||
<uni-data-select v-model="rechargeTempIndex" :localdata="template.recharge"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.recharge_open == 1">
|
||||
<label class="form-label">打印联数</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="rechargeNumChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.recharge_print_num == 1" />
|
||||
1
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="2" :checked="savedata.recharge_print_num == 2" />
|
||||
2
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="3" :checked="savedata.recharge_print_num == 3" />
|
||||
3
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="4" :checked="savedata.recharge_print_num == 4" />
|
||||
4
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-title">收银交班打印</view>
|
||||
<view class="common-form-item">
|
||||
<label class="form-label">收银交班打印</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="changeShiftsChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.change_shifts_open == 1" />
|
||||
开启
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="0" :checked="savedata.change_shifts_open == 0" />
|
||||
关闭
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.change_shifts_open == 1">
|
||||
<label class="form-label">打印模板</label>
|
||||
<view class="form-input-inline" v-if="template.change_shifts && template.change_shifts.length">
|
||||
<uni-data-select v-model="changeShiftsTempIndex" :localdata="template.change_shifts"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="common-form-item" v-if="savedata.change_shifts_open == 1">
|
||||
<label class="form-label">打印联数</label>
|
||||
<view class="form-inline">
|
||||
<radio-group @change="changeShiftsNumChange" class="form-radio-group">
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="1" :checked="savedata.change_shifts_print_num == 1" />
|
||||
1
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="2" :checked="savedata.change_shifts_print_num == 2" />
|
||||
2
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="3" :checked="savedata.change_shifts_print_num == 3" />
|
||||
3
|
||||
</label>
|
||||
<label class="radio form-radio-item">
|
||||
<radio value="4" :checked="savedata.change_shifts_print_num == 4" />
|
||||
4
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="common-btn-wrap">
|
||||
<button type="default" class="primary-btn" @click="saveFn">保存</button>
|
||||
<button type="default" class="default-btn" @click="back">返回</button>
|
||||
</view>
|
||||
</view>
|
||||
</base-page>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import uniDataSelect from '@/components/uni-data-select/uni-data-select.vue';
|
||||
import {
|
||||
getPrinterInfo,
|
||||
getTemplate,
|
||||
getOrderType,
|
||||
editPrinter,
|
||||
addPrinter
|
||||
} from '@/api/printer.js'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
uniDataSelect
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
printer_id: 0,
|
||||
savedata: {
|
||||
printer_name: '',
|
||||
brand: 'yilianyun',
|
||||
printer_code: '',
|
||||
printer_key: '',
|
||||
open_id: '',
|
||||
apikey: '',
|
||||
printer_type: 'cloud',
|
||||
|
||||
order_pay_open: 0,
|
||||
order_pay_template_id: 0,
|
||||
order_pay_print_num: 1,
|
||||
order_pay_order_type: [],
|
||||
|
||||
take_delivery_open: 0,
|
||||
take_delivery_template_id: 0,
|
||||
take_delivery_print_num: 1,
|
||||
take_delivery_order_type: [],
|
||||
|
||||
manual_open: 0,
|
||||
template_id: 0,
|
||||
print_num: 1,
|
||||
|
||||
recharge_open: 0,
|
||||
recharge_template_id: 0,
|
||||
recharge_print_num: 1,
|
||||
|
||||
change_shifts_open: 0,
|
||||
change_shifts_template_id: 0,
|
||||
change_shifts_print_num: 1,
|
||||
host: '',
|
||||
ip: '',
|
||||
port: '',
|
||||
print_width: '58mm'
|
||||
},
|
||||
time: {
|
||||
start: '08:30',
|
||||
end: '23:30'
|
||||
},
|
||||
interval: 30,
|
||||
advance: '',
|
||||
max: '',
|
||||
week: [],
|
||||
flag: false,
|
||||
template: {},
|
||||
orderPayTempIndex: 0,
|
||||
takeDeliveryTempIndex: 0,
|
||||
manualTempIndex: 0,
|
||||
rechargeTempIndex: 0,
|
||||
changeShiftsTempIndex: 0,
|
||||
orderType: []
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
if (option.printer_id) {
|
||||
this.printer_id = option.printer_id;
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
uni.setLocale('zh-Hans');
|
||||
this.getTemplate();
|
||||
this.getOrderTypeFn();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
getPrinterInfo(this.printer_id).then(res => {
|
||||
if (res.code >= 0) {
|
||||
this.savedata = res.data;
|
||||
this.orderPayTempIndex = this.savedata.order_pay_template_id;
|
||||
this.takeDeliveryTempIndex = this.savedata.take_delivery_template_id;
|
||||
this.manualTempIndex = this.savedata.template_id;
|
||||
this.rechargeTempIndex = this.savedata.recharge_template_id;
|
||||
this.changeShiftsTempIndex = this.savedata.change_shifts_template_id;
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
this.$util.redirectTo('/pages/printer/list');
|
||||
},
|
||||
getTemplate() {
|
||||
getTemplate().then(res => {
|
||||
if (res.code == 0) {
|
||||
let template = {};
|
||||
res.data.map((item, index) => {
|
||||
if (!template[item.type]) template[item.type] = [];
|
||||
var obj = {};
|
||||
obj.text = item.template_name;
|
||||
obj.value = item.template_id;
|
||||
template[item.type].push(obj);
|
||||
});
|
||||
this.template = template;
|
||||
if (this.printer_id) {
|
||||
this.getData();
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
getOrderTypeFn() {
|
||||
getOrderType().then(res => {
|
||||
if (res.code == 0) {
|
||||
this.orderType = res.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
printerTypeChange(e) {
|
||||
this.savedata.printer_type = e.detail.value;
|
||||
},
|
||||
printWidthChange(e) {
|
||||
this.savedata.print_width = e.detail.value;
|
||||
},
|
||||
orderPayChange(e) {
|
||||
this.savedata.order_pay_open = e.detail.value;
|
||||
},
|
||||
orderPayNumChange(e) {
|
||||
this.savedata.order_pay_print_num = e.detail.value;
|
||||
},
|
||||
orderPayTypeChange(e) {
|
||||
this.savedata.order_pay_order_type = e.detail.value;
|
||||
},
|
||||
takeDeliveryChange(e) {
|
||||
this.savedata.take_delivery_open = e.detail.value;
|
||||
},
|
||||
takeDeliveryNumChange(e) {
|
||||
this.savedata.take_delivery_print_num = e.detail.value;
|
||||
},
|
||||
takeDeliveryTypeChange(e) {
|
||||
this.savedata.take_delivery_order_type = e.detail.value;
|
||||
},
|
||||
manualChange(e) {
|
||||
this.savedata.manual_open = e.detail.value;
|
||||
},
|
||||
manualNumChange(e) {
|
||||
this.savedata.print_num = e.detail.value;
|
||||
},
|
||||
rechargeChange(e) {
|
||||
this.savedata.recharge_open = e.detail.value;
|
||||
},
|
||||
rechargeNumChange(e) {
|
||||
this.savedata.recharge_print_num = e.detail.value;
|
||||
},
|
||||
changeShiftsChange(e) {
|
||||
this.savedata.change_shifts_open = e.detail.value;
|
||||
},
|
||||
changeShiftsNumChange(e) {
|
||||
this.savedata.change_shifts_print_num = e.detail.value;
|
||||
},
|
||||
check() {
|
||||
let data = Object.assign({}, this.savedata);
|
||||
if (!data.printer_name) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机名称'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (data.printer_type == 'cloud') {
|
||||
if (!data.printer_code) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机编号'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!data.printer_key) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机密钥'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!data.open_id) {
|
||||
this.$util.showToast({
|
||||
title: '请输入应用id'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!data.apikey) {
|
||||
this.$util.showToast({
|
||||
title: '请输入apikey'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (data.printer_type == 'local') {
|
||||
if (!data.host) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机打印机端口'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (data.printer_type == 'network') {
|
||||
if (!data.ip) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机打印机地址'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!data.port) {
|
||||
this.$util.showToast({
|
||||
title: '请输入打印机打印机端口'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
saveFn() {
|
||||
if (this.check()) {
|
||||
let data = this.savedata;
|
||||
data.take_delivery_order_type = data.take_delivery_order_type.toString();
|
||||
data.order_pay_order_type = data.order_pay_order_type.toString();
|
||||
|
||||
data.order_pay_template_id = this.orderPayTempIndex;
|
||||
data.take_delivery_template_id = this.takeDeliveryTempIndex;
|
||||
data.template_id = this.manualTempIndex;
|
||||
data.recharge_template_id = this.rechargeTempIndex;
|
||||
data.change_shifts_template_id = this.changeShiftsTempIndex;
|
||||
|
||||
let action = '';
|
||||
if (this.printer_id > 0) {
|
||||
data.printer_id = this.printer_id;
|
||||
action = editPrinter(data)
|
||||
} else {
|
||||
action = addPrinter(data)
|
||||
}
|
||||
|
||||
if (this.flag) return false;
|
||||
this.flag = true;
|
||||
action.then(res => {
|
||||
this.flag = false;
|
||||
this.$util.showToast({
|
||||
title: res.message
|
||||
});
|
||||
if (res.code >= 0) {
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages/printer/list');
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
timeTurnTimeStamp(time) {
|
||||
let data = time.split(':');
|
||||
return data[0] * 3600 + data[1] * 60;
|
||||
},
|
||||
timeFormat(time) {
|
||||
let h = time / 3600;
|
||||
let i = (time % 3600) / 60;
|
||||
h = h < 10 ? '0' + h : h;
|
||||
i = i < 10 ? '0' + i : i;
|
||||
return h + ':' + i;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.common-title {
|
||||
font-size: 0.18rem;
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
/deep/ .uni-select{
|
||||
border-width: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.printer{
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.common-wrap {
|
||||
background-color: #fff;
|
||||
@extend %body-overhide;
|
||||
padding: 0.2rem 0.2rem 0.88rem 0.2rem;
|
||||
|
||||
}
|
||||
.common-btn-wrap{
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
padding: 0.24rem 0.2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
button{
|
||||
line-height: 0.4rem;
|
||||
height: 0.4rem;
|
||||
margin: 0;
|
||||
flex: 1;
|
||||
&.primary-btn{
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
367
addon/cashier/source/os/pages/printer/list.vue
Executable file
367
addon/cashier/source/os/pages/printer/list.vue
Executable file
@@ -0,0 +1,367 @@
|
||||
<template>
|
||||
<base-page>
|
||||
<view class="printerlist">
|
||||
<view class="printerlist-box">
|
||||
<view class="printerlist-left">
|
||||
<view class="printer-title">
|
||||
打印机
|
||||
<text class="iconfont icongengduo1"></text>
|
||||
</view>
|
||||
<view class="printer-list-wrap">
|
||||
<block v-if="list.length > 0">
|
||||
<scroll-view scroll-y="true" class="printer-list-scroll all-scroll" @scrolltolower="getPrinterListFn">
|
||||
<view class="item" @click="printerSelect(item, index)" v-for="(item, index) in list" :key="index" :class="index == selectprinterKeys ? 'itemhover' : ''">
|
||||
<view class="item-right">
|
||||
<view class="printer-name">{{ item.printer_name }}</view>
|
||||
<view class="printer-money">{{ printerType(item.printer_type) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</block>
|
||||
<view class="notYet" v-else-if="!one_judge && list.length == 0">暂无打印机</view>
|
||||
</view>
|
||||
<view class="add-printer">
|
||||
<button type="default" class="primary-btn" @click="addprinter">添加打印机</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="printerlist-right" v-show="!one_judge">
|
||||
<view class="printer-title">打印机详情</view>
|
||||
<view class="printer-information">
|
||||
<block v-if="JSON.stringify(detail) != '{}'">
|
||||
<view class="title">基本信息</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>名称:</view>
|
||||
<view>{{ detail.printer_name }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>打印机类型:</view>
|
||||
<view>{{ printerType(detail.printer_type) }}</view>
|
||||
</view>
|
||||
<block v-if="detail.printer_type == 'cloud'">
|
||||
<view class="information">
|
||||
<view>品牌:</view>
|
||||
<view>{{ brandList[detail.brand] }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>打印机编号:</view>
|
||||
<view>{{ detail.printer_code }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>打印机秘钥:</view>
|
||||
<view>{{ detail.printer_key }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>应用id:</view>
|
||||
<view>{{ detail.open_id }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>apiKey:</view>
|
||||
<view>{{ detail.apikey }}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-if="detail.printer_type == 'local'">
|
||||
<view class="information">
|
||||
<view>打印机端口:</view>
|
||||
<view>{{ detail.host }}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-if="detail.printer_type == 'network'">
|
||||
<view class="information">
|
||||
<view>打印机地址:</view>
|
||||
<view>{{ detail.ip }}</view>
|
||||
</view>
|
||||
<view class="information">
|
||||
<view>打印机端口:</view>
|
||||
<view>{{ detail.host }}</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="information">
|
||||
<view>添加时间:</view>
|
||||
<view>{{ detail.create_time ? $util.timeFormat(detail.create_time) : '--' }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="title">支付打印</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>支付打印:</view>
|
||||
<view>{{ detail.order_pay_open ? '开启' : '关闭' }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.order_pay_open">
|
||||
<view>打印模板:</view>
|
||||
<view>
|
||||
{{ template[detail.order_pay_template_id] ? template[detail.order_pay_template_id].template_name : '--' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.order_pay_open">
|
||||
<view>打印联数:</view>
|
||||
<view>{{ detail.order_pay_print_num }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.order_pay_open">
|
||||
<view>订单类型:</view>
|
||||
<view>
|
||||
<block v-for="(item, index) in detail.order_pay_order_type" :key="index">
|
||||
<text v-if="item" class="order-type">{{ detail['order_type_list'][item]['name'] }}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="title">收货打印</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>收货打印:</view>
|
||||
<view>{{ detail.take_delivery_open ? '开启' : '关闭' }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.take_delivery_open">
|
||||
<view>打印模板:</view>
|
||||
<view>
|
||||
{{ template[detail.take_delivery_template_id] ? template[detail.take_delivery_template_id].template_name : '--' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.take_delivery_open">
|
||||
<view>打印联数:</view>
|
||||
<view>{{ detail.take_delivery_print_num }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.take_delivery_open">
|
||||
<view>订单类型:</view>
|
||||
<view>
|
||||
<block v-for="(item, index) in detail.take_delivery_order_type" :key="index">
|
||||
<text v-if="item" class="order-type">{{ detail['order_type_list'][item]['name'] }}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="title">手动打印</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>手动打印:</view>
|
||||
<view>{{ detail.manual_open ? '开启' : '关闭' }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.manual_open">
|
||||
<view>打印模板:</view>
|
||||
<view>
|
||||
{{ template[detail.template_id] ? template[detail.template_id].template_name : '--' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.manual_open">
|
||||
<view>打印联数:</view>
|
||||
<view>{{ detail.print_num }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="title">充值打印</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>充值打印:</view>
|
||||
<view>{{ detail.recharge_open ? '开启' : '关闭' }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.recharge_open">
|
||||
<view>打印模板:</view>
|
||||
<view>
|
||||
{{ template[detail.recharge_template_id] ? template[detail.recharge_template_id].template_name : '--' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.recharge_open">
|
||||
<view>打印联数:</view>
|
||||
<view>{{ detail.recharge_print_num }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="title">收银交班打印</view>
|
||||
<view class="information-box">
|
||||
<view class="box-left">
|
||||
<view class="information">
|
||||
<view>收银交班打印:</view>
|
||||
<view>{{ detail.change_shifts_open ? '开启' : '关闭' }}</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.change_shifts_open">
|
||||
<view>打印模板:</view>
|
||||
<view>
|
||||
{{ template[detail.change_shifts_template_id] ? template[detail.change_shifts_template_id].template_name : '--' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="information" v-if="detail.change_shifts_open">
|
||||
<view>打印联数:</view>
|
||||
<view>{{ detail.change_shifts_print_num }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<image class="cart-empty" src="@/static/cashier/cart_empty.png" mode="widthFix" />
|
||||
</block>
|
||||
</view>
|
||||
<view class="button-box" v-if="JSON.stringify(detail) != '{}'">
|
||||
<button class="default-btn" @click="$refs.deletePop.open()">删除</button>
|
||||
<button class="default-btn" @click="editprinter(detail.printer_id)">修改</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 删除 -->
|
||||
<uni-popup ref="deletePop" type="center">
|
||||
<view class="confirm-pop">
|
||||
<view class="title">确定要删除吗?</view>
|
||||
<view class="btn">
|
||||
<button type="primary" class="default-btn btn save" @click="$refs.deletePop.close()">取消</button>
|
||||
<button type="primary" class="primary-btn btn" @click="deletePrinterFn(detail.printer_id)">确定</button>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</base-page>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getPrinterList,
|
||||
getTemplate,
|
||||
getPrinterInfo,
|
||||
deletePrinter
|
||||
} from '@/api/printer.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
selectprinterKeys: 0,
|
||||
search_text: '',
|
||||
page: 1,
|
||||
// 每次返回数据数
|
||||
page_size: 8,
|
||||
// 第一次请求列表做详情渲染判断
|
||||
one_judge: true,
|
||||
//详情数据
|
||||
detail: {},
|
||||
brandList: {
|
||||
yilianyun: '易联云',
|
||||
'365': '365'
|
||||
},
|
||||
template: {},
|
||||
list: [],
|
||||
repeatFlag: false,
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
// 初始化请求打印机列表数据
|
||||
this.getTemplateFn();
|
||||
},
|
||||
methods: {
|
||||
printerType(printerType) {
|
||||
var str = '';
|
||||
switch (printerType) {
|
||||
case 'cloud':
|
||||
str = '云打印机';
|
||||
break;
|
||||
case 'local':
|
||||
str = '本地打印机';
|
||||
break;
|
||||
case 'network':
|
||||
str = '网络打印机';
|
||||
break;
|
||||
}
|
||||
return str;
|
||||
},
|
||||
switchStoreAfter() {
|
||||
this.search()
|
||||
},
|
||||
printerSelect(item, keys) {
|
||||
this.selectprinterKeys = keys;
|
||||
this.getPrinterDetail(item.printer_id);
|
||||
},
|
||||
// 搜索员工
|
||||
search() {
|
||||
this.page = 1;
|
||||
this.list = [];
|
||||
this.one_judge = true;
|
||||
this.getPrinterListFn();
|
||||
},
|
||||
addprinter() {
|
||||
this.$util.redirectTo('/pages/printer/add');
|
||||
},
|
||||
editprinter(printer_id) {
|
||||
this.$util.redirectTo('/pages/printer/add', {
|
||||
printer_id: printer_id
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 请求的列表数据
|
||||
*/
|
||||
getPrinterListFn() {
|
||||
getPrinterList({
|
||||
page: this.page,
|
||||
page_size: this.page_size
|
||||
}).then(res => {
|
||||
if (res.data.list.length == 0 && this.one_judge) {
|
||||
this.detail = {};
|
||||
this.one_judge = false;
|
||||
}
|
||||
if (res.code >= 0 && res.data.list.length != 0) {
|
||||
this.page += 1;
|
||||
if (this.list.length == 0) {
|
||||
this.list = res.data.list;
|
||||
} else {
|
||||
this.list = this.list.concat(res.data.list);
|
||||
}
|
||||
|
||||
//初始时加载一遍详情数据
|
||||
if (this.one_judge) {
|
||||
this.getPrinterDetail(this.list[0].printer_id);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
getTemplateFn() {
|
||||
getTemplate().then(res => {
|
||||
if (res.code == 0) {
|
||||
let template = {};
|
||||
res.data.forEach(item => {
|
||||
template[item.template_id] = item;
|
||||
})
|
||||
this.template = template;
|
||||
this.getPrinterListFn();
|
||||
}
|
||||
})
|
||||
},
|
||||
getPrinterDetail(printer_id) {
|
||||
getPrinterInfo(printer_id).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.detail = res.data;
|
||||
this.one_judge = false;
|
||||
}
|
||||
})
|
||||
},
|
||||
deletePrinterFn(printer_id) {
|
||||
if (this.repeatFlag) return;
|
||||
this.repeatFlag = true;
|
||||
deletePrinter(printer_id).then(res => {
|
||||
this.repeatFlag = false;
|
||||
if (res.code >= 0) {
|
||||
this.page = 1;
|
||||
this.list = [];
|
||||
this.one_judge = true;
|
||||
this.$refs.deletePop.close()
|
||||
this.getPrinterListFn();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import './public/css/printer.scss';
|
||||
</style>
|
||||
280
addon/cashier/source/os/pages/printer/public/css/printer.scss
Executable file
280
addon/cashier/source/os/pages/printer/public/css/printer.scss
Executable file
@@ -0,0 +1,280 @@
|
||||
.printerlist {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
.printerlist-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #ffffff;
|
||||
display: flex;
|
||||
.printerlist-left {
|
||||
width: 5rem;
|
||||
height: 100%;
|
||||
border-right: 0.01rem solid #e6e6e6;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.notYet {
|
||||
color: #e6e6e6;
|
||||
font-size: 0.4rem;
|
||||
margin-top: 3rem;
|
||||
text-align: center;
|
||||
}
|
||||
.add-printer {
|
||||
padding: 0.24rem 0.2rem;
|
||||
background: #fff;
|
||||
|
||||
button {
|
||||
height: .4rem;
|
||||
line-height: .4rem;
|
||||
}
|
||||
}
|
||||
.printer-title {
|
||||
text-align: center;
|
||||
line-height: 0.6rem;
|
||||
font-size: 0.18rem;
|
||||
font-weight: 500;
|
||||
height: 0.6rem;
|
||||
border-bottom: 0.01rem solid #e6e6e6;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
.icongengduo1 {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0.2rem;
|
||||
transform: translateY(-50%);
|
||||
font-size: 0.3rem;
|
||||
color: $primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
.printer-list-wrap {
|
||||
flex: 1;
|
||||
height: 0;
|
||||
}
|
||||
.printer-list-scroll {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.itemhover {
|
||||
background: var(--primary-color-light-9);
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0.2rem;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 0.01rem solid #e6e6e6;
|
||||
image {
|
||||
width: 0.7rem;
|
||||
height: 0.7rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.item-right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: 0.6rem;
|
||||
.printer-name {
|
||||
font-size: 0.16rem;
|
||||
}
|
||||
.printer-money {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.printerlist-right {
|
||||
width: 0;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
.printer-title {
|
||||
text-align: center;
|
||||
line-height: 0.6rem;
|
||||
font-size: 0.18rem;
|
||||
font-weight: 500;
|
||||
height: 0.6rem;
|
||||
border-bottom: 0.01rem solid #e6e6e6;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
.icongengduo1,.iconguanbi1 {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0.2rem;
|
||||
transform: translateY(-50%);
|
||||
font-size: 0.3rem;
|
||||
color: $primary-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.printer-information {
|
||||
width: 100%;
|
||||
padding: 0.2rem 0.2rem 0.88rem 0.2rem;
|
||||
box-sizing: border-box;
|
||||
height: calc(100% - 0.6rem);
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
.title {
|
||||
font-size: 0.18rem;
|
||||
margin-bottom: 0.32rem;
|
||||
}
|
||||
.title2 {
|
||||
margin-bottom: 0.35rem;
|
||||
}
|
||||
.information-box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.box-left {
|
||||
width: 5rem;
|
||||
.information {
|
||||
width: 100%;
|
||||
padding-left: 0.1rem;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.15rem;
|
||||
|
||||
view {
|
||||
color: #303133;
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
view:nth-child(1) {
|
||||
width: 1.3rem;
|
||||
margin-right: 0.16rem;
|
||||
text-align: right;
|
||||
}
|
||||
view:nth-child(2) {
|
||||
width: 74%;
|
||||
margin-right: 0.23rem;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.information:last-child {
|
||||
margin-bottom: 0.35rem;
|
||||
}
|
||||
}
|
||||
.printer-img {
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
}
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
height: 2.6rem;
|
||||
box-sizing: border-box;
|
||||
.table-all {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 0.38rem;
|
||||
box-sizing: border-box;
|
||||
.table-td {
|
||||
font-size: 0.14rem;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.table-th {
|
||||
height: 0.56rem;
|
||||
background: #f7f8fa;
|
||||
}
|
||||
.table-tb {
|
||||
width: 100%;
|
||||
height: calc(100% - 0.56rem);
|
||||
.table-tr {
|
||||
height: 0.7rem;
|
||||
border-bottom: 0.01rem solid #e6e6e6;
|
||||
box-sizing: border-box;
|
||||
.table-td {
|
||||
image {
|
||||
width: 0.5rem;
|
||||
height: 0.5rem;
|
||||
}
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
view {
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
/deep/ .uni-scroll-view::-webkit-scrollbar {
|
||||
width: 0.05rem;
|
||||
height: 0.3rem;
|
||||
}
|
||||
/deep/ .uni-scroll-view::-webkit-scrollbar-thumb {
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: inset 0 0 0.05rem rgba(0, 0, 0, 0.2);
|
||||
background: rgba(193, 193, 193, 1);
|
||||
}
|
||||
|
||||
.printer-information::-webkit-scrollbar {
|
||||
width: 0.05rem;
|
||||
height: 0.3rem;
|
||||
}
|
||||
.printer-information::-webkit-scrollbar-thumb {
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: inset 0 0 0.05rem rgba(0, 0, 0, 0.2);
|
||||
background: rgba(193, 193, 193, 1);
|
||||
}
|
||||
|
||||
.button-box {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding: 0.24rem 0.2rem;
|
||||
box-sizing: border-box;
|
||||
button {
|
||||
width: 1rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
margin: 0;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
}
|
||||
.button-box:after {
|
||||
overflow: hidden;
|
||||
content: '';
|
||||
height: 0;
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.cart-empty {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 2.1rem;
|
||||
}
|
||||
.order-type{
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
Reference in New Issue
Block a user