This commit is contained in:
DESKTOP-369JRHT\12997 2024-07-06 15:32:29 +08:00
commit 34e4e66d46
15 changed files with 316 additions and 370 deletions

View File

@ -77,6 +77,9 @@
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
.el-input__inner:focus {
border-color: #FF9655 !important;
}
// to fix el-date-picker css style
.el-range-separator {

View File

@ -5,26 +5,38 @@
<div slot="header" class="clearfix">
<i class="el-icon-back" @click="goToAbout">返回 | </i>
<!-- <el-link icon="el-icon-edit" :underline="false" @click="goToAbout">编辑</el-link>-->
<span>| 盘点详情</span>
<span> 盘点详情</span>
</div>
<div style="height: 90px; display: flex; justify-content: space-between;">
<div style="height: 100%; display: flex; justify-content: space-between;">
<div style="height: 100%; width: 70%; display: flex; justify-content: space-between;">
<div style="height: 100%; width: 70%; display: flex; justify-content: space-between;font-family: YouSheBiaoTiHei">
<div class="box">
<span style="font-size: 24px;color: #0DC291;font-weight: bold">{{numberOfTanks}}</span>
<span>油罐数量</span>
<span style="font-size: 26px;color: #0DC291;font-weight: bold;">{{numberOfTanks}}</span>
<span style="display: flex">
<div style="background-color: #0DC291;width: 10px;height: 10px;border-radius: 50%;margin-top: 6px;margin-right: 10px"></div>
油罐数量
</span>
</div>
<div class="box" >
<span style="font-size: 24px;color: #3B6ADE;font-weight: bold" >{{inventoryVolume}}</span>
<span>盘点升数</span>
<span style="font-size: 26px;color: #3B6ADE;font-weight: bold" >{{inventoryVolume}}</span>
<span style="display: flex">
<div style="background-color: #3B6ADE;width: 10px;height: 10px;border-radius: 50%;margin-top: 6px;margin-right: 10px"></div>
盘点升数
</span>
</div>
<div class="box">
<span style="font-size: 24px;color: #FF4347;font-weight: bold">{{stockDifference}}</span>
<span>库存差异(L)</span>
<span style="font-size: 26px;color: #FF4347;font-weight: bold">{{stockDifference}}</span>
<span style="display: flex">
<div style="background-color: #FF4347;width: 10px;height: 10px;border-radius: 50%;margin-top: 6px;margin-right: 10px"></div>
库存差异(L)
</span>
</div>
<div class="box">
<span style="font-size: 24px;color: #FF9655;font-weight: bold">{{profitLossAmount}}</span>
<span>盈亏总额()</span>
<span style="font-size: 26px;color: #FF9655;font-weight: bold">{{profitLossAmount}}</span>
<span style="display: flex">
<div style="background-color: #FF9655;width: 10px;height: 10px;border-radius: 50%;margin-top: 6px;margin-right: 10px"></div>
盈亏总额()
</span>
</div>
</div>
@ -53,10 +65,10 @@
</div>
</div>
<div style="height: 100%; width: 30%; display: flex; align-items: center; justify-content: flex-end;">
<el-button type="primary" v-if="state=='await'" :disabled="saveFlag" @click="saveInventory()">保存</el-button>
<el-button type="warning" v-if="state=='await'" :disabled="saveFlag" @click="saveInventory()">保存</el-button>
<el-button type="success" v-if="state=='await'" :disabled="auditFlag" @click="audit">保存并审核</el-button>
<el-button type="success" v-if="state=='ysh'" :disabled="auditFlag" @click="storage">盘点并处理库存</el-button>
<el-button type="warning" v-if="state =='await' || state=='ysh'" :disabled="voidFlag" @click="abolition()">作废</el-button>
<el-button type="danger" plain v-if="state =='await' || state=='ysh'" :disabled="voidFlag" @click="abolition()">作废</el-button>
</div>
</div>
@ -65,20 +77,22 @@
<el-card style="margin-top: 20px" >
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-if="state =='await'"
type="primary"
icon="el-icon-plus"
@click="orderAdd"
>添加盘点油罐</el-button>
<span style="font-size: 20px;font-weight: bold">盘点详情</span>
</el-col>
<el-col :span="1.5">
<el-alert
title="为了保证盘点我准确性,请在非收银期间段内进行盘点、否则会导致盘点信息异常"
:closable="false"
type="error">
</el-alert>
<el-alert
title="为了保证盘点我准确性,请在非收银期间段内进行盘点、否则会导致盘点信息异常"
:closable="false"
type="error">
</el-alert>
</el-col>
<el-col :span="15" style="text-align: right">
<el-button v-if="state =='await'"
type="primary"
icon="el-icon-plus"
@click="orderAdd"
>添加盘点油罐</el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
</el-row>
@ -878,7 +892,8 @@ export default {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
align-items: start;
padding-left: 20px;
}
</style>

View File

@ -2,79 +2,85 @@
<div class="app-container">
<el-row>
<el-col :span="18">
<el-card class="card" style="height: 75vh">
<el-card class="card">
<div slot="header" class="clearfix">
<span>{{ store.name }}{{store.description? "("+store.description+")":"" }}</span>
<span>{{ store.name }}{{ store.description ? "(" + store.description + ")" : "" }}</span>
</div>
<el-row>
<el-col :span="12">
<!-- <el-col :span="12">-->
<!-- 上传图片-->
<div style="display: flex">
<span style="margin-right: 10px">店铺logo</span>
<imgUpload1 v-if="flag" :imgUrl="store.logo" :limit="1" @input="getImgUrl"></imgUpload1>
</div>
<!-- 上传图片-->
<div style="display: flex; margin-top: 20px ">
<span style="margin-right: 20px">门头照</span>
<imgUpload1 v-if="flag" :doorUrl="store.doorstepPhoto" @input="getDoorImgUrl"></imgUpload1>
</div>
<!-- 上传图片-->
<div style="display: flex">
<span style="margin-right: 10px">店铺logo</span>
<imgUpload1 v-if="flag" :imgUrl="store.logo" :limit="1" @input="getImgUrl"></imgUpload1>
</div>
<!-- 上传图片-->
<div style="display: flex; margin-top: 20px ">
<span style="margin-right: 20px">门头照</span>
<imgUpload1 v-if="flag" :doorUrl="store.doorstepPhoto" @input="getDoorImgUrl"></imgUpload1>
</div>
<div style="display: flex;margin-bottom: 20px">
<p>退款密码
<el-input v-model="store.refPass" style="width: 50%" show-password></el-input>
</p>
</div>
</el-col>
<el-col :span="12">
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<map-componment :pform="form" ref="mapRef" @pform="getForm"></map-componment>
<div style="display: flex;margin-bottom: 20px">
<span style="margin-right: 10px">店铺福利</span>
<el-checkbox-group v-model="welfare" ref="" @change="getCheckbox">
<el-checkbox
v-for="dict in dict.type.store_welfare"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-checkbox>
</el-checkbox-group>
</div>
<map-componment :pform="form" ref="mapRef" @pform="getForm"></map-componment>
<div style="display: flex;margin-bottom: 20px">
<span style="margin-right: 10px">店铺福利</span>
<el-checkbox-group v-model="welfare" ref="" @change="getCheckbox">
<el-checkbox
v-for="dict in dict.type.store_welfare"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-checkbox>
</el-checkbox-group>
</div>
</el-col>
<!-- </el-col>-->
</el-row>
<el-button type="primary" @click="submitStore">保存信息</el-button>
</el-card>
<el-button type="primary" @click="submitStore">保存信息</el-button>
</el-card>
</el-col>
<el-col :span="6">
<el-card class="card" style="margin-left: 20px; height: 75vh">
<div slot="header" class="clearfix">
<span>油站二维码</span>
</div>
<el-button style="margin-left: 0px" type="text" v-if="type==0" @click="getQRCodeInfoByStoreId(1)">切换样式</el-button><br/>
<el-button style="margin-left: 0px" type="text" v-if="type==1" @click="getQRCodeInfoByStoreId(0)">切换样式</el-button><br/>
<img id="collection" class="qrcode" :src="baseUrl + collectionImg" /><br/>
<el-button class="but" type="primary"
icon="el-icon-download"
@click="handleDownloadqrCode('collection')">
下载油站二维码
</el-button>
</el-card>
<el-card class="card" style="margin-left: 20px;">
<div slot="header" class="clearfix">
<span>油站二维码</span>
</div>
<div style="position: relative;">
<img id="collection" class="qrcode" :src="baseUrl + collectionImg"/><br/>
<div style="display: flex;justify-content: center;position: absolute;bottom: 25px;left: 90px" >
<el-button type="warning" size="small"
@click="handleDownloadqrCode('collection')">
下载图片
</el-button>
<el-button style="margin-left: 10px;color: #409EFF" size="small" v-if="type==0" @click="getQRCodeInfoByStoreId(1)">切换样式
</el-button>
<br/>
<el-button style="margin-left: 10px;color: #409EFF" size="small" v-if="type==1" @click="getQRCodeInfoByStoreId(0)">切换样式
</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<!-- <el-card class="card">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收款二维码</span>-->
<!-- </div>-->
<!-- <img id="payment" class="qrcode" :src="paymentImg" /><br/>-->
<!-- <el-button class="but" type="primary"-->
<!-- icon="el-icon-download"-->
<!-- @click="handleDownloadqrCode('payment')">-->
<!-- 下载收款二维码-->
<!-- </el-button>-->
<!-- </el-card>-->
<!-- <el-card class="card">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收款二维码</span>-->
<!-- </div>-->
<!-- <img id="payment" class="qrcode" :src="paymentImg" /><br/>-->
<!-- <el-button class="but" type="primary"-->
<!-- icon="el-icon-download"-->
<!-- @click="handleDownloadqrCode('payment')">-->
<!-- 下载收款二维码-->
<!-- </el-button>-->
<!-- </el-card>-->
</div>
</template>
<script>
@ -87,7 +93,7 @@ import imgUpload from "@/components/ImageUpload/index.vue"
import imgUpload1 from "@/components/map/imgUpload.vue"
export default {
components:{
components: {
mapComponment,
imgUpload,
imgUpload1,
@ -99,20 +105,22 @@ export default {
type: Object
}
},
data(){
return{
flag:false,
data() {
return {
flag: false,
//
uploadFiles: [
{name:"nihao",
url:'http://localhost:8080/static/uploadImages/20231218/c4b1c4fc7cfc4dd4a4acf1e922cacc86.png'}
{
name: "nihao",
url: 'http://localhost:8080/static/uploadImages/20231218/c4b1c4fc7cfc4dd4a4acf1e922cacc86.png'
}
],
//
collectionImg:'',
collectionImg: '',
//
paymentImg:'',
paymentImg: '',
qrcode: {},
store:{},
store: {},
//
map: null,
polygons: [],
@ -135,9 +143,9 @@ export default {
loading: false,
//
options: [],
welfare:[],
type:0,
baseUrl:process.env.VUE_APP_BASE_API,
welfare: [],
type: 0,
baseUrl: process.env.VUE_APP_BASE_API,
}
},
created() {
@ -151,23 +159,23 @@ export default {
this.dataForm.coverImage = file.data.fileName;
},
// url
getImgUrl(val){
getImgUrl(val) {
let list = val.split("/static")
this.store.logo = "/static"+list[list.length-1]
this.store.logo = "/static" + list[list.length - 1]
},
// url
getDoorImgUrl(val){
getDoorImgUrl(val) {
let list = val.split(",")
let doorUrl = []
list.forEach(item => {
doorUrl.push("/static"+item.split("/static")[1])
doorUrl.push("/static" + item.split("/static")[1])
})
// console.log(list,doorUrl)
this.store.doorstepPhoto = JSON.stringify(doorUrl)
// this.store.doorstepPhoto = val
},
getForm(data){
if (data != undefined){
getForm(data) {
if (data != undefined) {
this.form.lat = data.lat;
this.form.lng = data.lng;
this.form.address = data.address;
@ -178,12 +186,12 @@ export default {
ljStoreInfo().then(response => {
this.store = response.data
// console.log(response.data)
this.$emit("getUrl",this.store)
this.$emit("getUrl", this.store)
this.form.lat = this.store.latitude;
this.form.lng = this.store.longitude;
this.form.address = this.store.address;
this.form.refPass = this.store.refPass;
if (this.store.welfare!=null){
if (this.store.welfare != null) {
this.welfare = this.store.welfare.split(",")
}
this.$refs.mapRef.initAMap();
@ -192,11 +200,11 @@ export default {
})
},
getCheckbox(){
getCheckbox() {
this.store.welfare = this.welfare.toString();
},
submitStore(){
submitStore() {
this.store.latitude = this.form.lat;
this.store.longitude = this.form.lng;
this.store.address = this.form.address;
@ -207,21 +215,21 @@ export default {
},
//
getQRCodeInfo(){
getQRCodeInfo() {
listQRCode().then(response => {
this.qrcode = response.data.records;
this.getQRcode();
})
},
//
getQRCodeInfoByStoreId(type){
getQRCodeInfoByStoreId(type) {
this.type = type
QRCodeByStoreId({type:type}).then(response => {
QRCodeByStoreId({type: type}).then(response => {
this.collectionImg = response.data;
})
},
// url
getQRcode(){
getQRcode() {
let opts = {
errorCorrectionLevel: "L",//
type: "image/png",//
@ -235,17 +243,17 @@ export default {
light: "#fff"//
}
};
if (this.qrcode.length > 0){
if (this.qrcode.length > 0) {
//this.QRlink url
QRCode.toDataURL(this.qrcode[0].collection, opts , (err, url) => {
QRCode.toDataURL(this.qrcode[0].collection, opts, (err, url) => {
if (err) throw err
//dataQRImgUrl
this.collectionImg= url
this.collectionImg = url
})
QRCode.toDataURL(this.qrcode[0].payment, opts , (err, url) => {
QRCode.toDataURL(this.qrcode[0].payment, opts, (err, url) => {
if (err) throw err
//dataQRImgUrl
this.paymentImg= url
this.paymentImg = url
})
}
},
@ -255,9 +263,9 @@ export default {
let imgUrl = canvas.toDataURL("image/png"); // canvas base64
let a = document.createElement('a')
a.href = imgUrl;
if (id=='collection'){
if (id == 'collection') {
a.download = "门店二维码"; //
}else {
} else {
a.download = "收款二维码"; //
}
document.body.appendChild(a);
@ -270,25 +278,28 @@ export default {
</script>
<style lang="scss" scoped>
.app-container{
width: 100%;
height: 100%;
background: #f6f8f9;
}
.card{
margin: 15px auto;
}
.qrcode{
width: 300px;
margin-top: 0px;
}
.but{
margin-top: 20px;
margin-left: 50px;
width: 180px;
}
.copy{
width: 50%;
margin-top: 20px;
}
.app-container {
width: 100%;
height: 100%;
background: #f6f8f9;
}
.card {
margin: 15px auto;
}
.qrcode {
width: 350px;
margin-top: 0px;
}
.but {
margin-top: 20px;
margin-left: 50px;
}
.copy {
width: 50%;
margin-top: 20px;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -77,6 +77,9 @@
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
.el-input__inner:focus {
border-color: #FF9655 !important;
}
// to fix el-date-picker css style
.el-range-separator {

View File

@ -1,177 +1,67 @@
<template>
<div class="app-container">
<el-card >
<el-row :gutter="24">
<el-form ref="queryParams" :model="queryParams" label-width="40px">
<el-col :span="4">
<el-form-item label="名称">
<el-input v-model="queryParams.storeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="店铺状态">
<el-option label="启用" value="qy"></el-option>
<el-option label="禁用" value="jy"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item label="套餐">
<el-select v-model="form.region" placeholder="店铺套餐">
<el-option label="店铺套餐一" value="shanghai"></el-option>
<el-option label="店铺套餐二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="时间">
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-col> -->
<el-col :span="4">
<el-button type="primary" icon="el-icon-search" @click="getlist()">搜索</el-button>
<el-button type="" icon="el-icon-refresh" @click="res()">重置</el-button>
</el-col>
</el-form>
</el-row>
</el-card>
<el-card style="margin-top: 20px" v-for="(item,index) in arrlist" :key="index">
<div slot="header" class="clearfix">
<span>{{item.storeName || ''}}</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">进入</el-button>-->
<div class="bannser">
<img src="../../assets/images/banner.png" alt="" >
</div>
<div class="box-wrap">
<div class="zong-box" v-for="(items,index) in item.storeList" :key="index" >
<div class="pur-box" @click="godetails(items.id)">
<el-tag type="success" v-if="items.status=='qy'">启用</el-tag>
<el-tag type="danger" v-else>禁用</el-tag>
<div class="disper-box">
<div class="box-img">
<img v-if="items.logo" :src="imagePath + items.logo" style="width: 96px;height: 96px">
<img v-else src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png" style="width: 96px;height: 96px">
</div>
<div >
<div class="title">{{items.name || ''}}</div>
<div class="box-hui">
<div>注册时间</div>
<div>{{ items.createTime.substring(0,10) || ''}}</div>
</div>
<div class="box-hui">
<div>联系人</div>
<div>{{items.contact || '暂无'}}</div>
</div>
<div class="box-hui">
<div>联系电话</div>
<div>{{items.phone || '暂无'}}</div>
</div>
</div>
</div>
<div class="b-bs">
<div class="left-box">
<div class="san-box">
<div>
<img src="../../assets/images/l-one.png" style="width: 80px;height: 80px">
</div>
<div class="hui-bottom">
<div>
<div class="shang-biao">{{item.storeList.length || 0}}</div>
<div class="xia-biao">创建门店数</div>
</div>
<div>
<!-- <div class="shang-biao">{{ items.userNum}}</div> -->
<div class="shang-biao">{{ items.userNum}}</div>
<div class="xia-biao">会员数</div>
</div>
<div>
<div class="shang-biao">{{ items.orderNum}}</div>
<div class="xia-biao">支付订单</div>
</div>
<div>
<div class="r-title">568</div>
<div class="r-size">合作油站总数</div>
</div>
</div>
<div class="san-box" style="background: linear-gradient( 90deg, #FFDC9B 0%, #FFC154 100%);">
<div>
<img src="../../assets/images/l-two.png" style="width: 80px;height: 80px">
</div>
<div>
<div class="r-title">568</div>
<div class="r-size">合作油站总数</div>
</div>
</div>
<div class="san-box" style="background: linear-gradient( 90deg, #9CDCA0 0%, #5BC557 100%);">
<div>
<img src="../../assets/images/l-three.png" style="width: 80px;height: 80px">
</div>
<div>
<div class="r-title">568</div>
<div class="r-size">合作油站总数</div>
</div>
</div>
</div>
</el-card>
<div class="right-box">
<div class="title_">
<div>通知中心</div>
<div style="font-size: 12px;color: #BBBBBB;display: flex;align-items: center">更多 <i class="el-icon-arrow-right"></i> </div>
</div>
<div class="hang_" v-for="(item,index) in 4" :key="index" >到期提醒百业兴智慧油站系统将于2024年07月10日到期...</div>
</div>
</div>
<div class="b-bs">
<div class="left-box-t"> </div>
<div class="right-box-t"> </div>
</div>
</div>
</template>
<script>
import { Storelist,getUserNumApi,
getOrderNumApi } from "@/api/service/service";
export default {
name: 'service',
dicts: ['zhzt'],
data(){
return{
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
form: {},
imagePath: process.env.VUE_APP_SERVER_URL,
arrlist:[],
value1:'',
queryParams: {
storeName: '',
status: '',
pageNo: 1,
pageSize: 10,
},
}
},
async mounted() {
await this.getlist()
},
methods:{
async getlist(){
await Storelist(this.queryParams).then(res=>{
console.log(res)
this.arrlist = res.data.records
})
},
res() {
this.queryParams= {
storeName: '',
status: '',
pageNo: 1,
pageSize: 10,
}
this.getlist()
},
godetails(id){
this.$router.push({
path:'/Service/details',
query:{
id:id
}
})
},
}
}
@ -183,84 +73,105 @@ getOrderNumApi } from "@/api/service/service";
width: 100%;
height: 100%;
/* height: 100vh; */
background: white;
background: #f4f5f9;
}
.ding-top{
.bannser{
width: 100%;
height: 230px;
border-radius: 8px;
overflow: hidden;
img{
width: 100%;
height: 100%;
}
}
.b-bs{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 20px;
}
.left-box{
background: #FFFFFF;
border-radius: 10px 10px 10px 10px;
border: 1px solid #FFFFFF;
height: 192px;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 15px;
}
.left-box-t{
box-sizing: border-box;
padding: 15px;
border-radius: 8px;
background: #fff;
border: 1px solid #FFFFFF;
height: 380px;
}
.box-dis{
display: flex;
align-items: center;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
.right-box{
width: 435px;
border-radius: 8px;
background: #fff;
border: 1px solid #FFFFFF;
height: 192px;
box-sizing: border-box;
padding: 15px;
}
.clearfix:after {
clear: both
.right-box-t{
width: 435px;
border-radius: 8px;
background: #fff;
border: 1px solid #FFFFFF;
height: 380px;
box-sizing: border-box;
padding: 15px;
}
.box-wrap{
.san-box{
width: 360px;
height: 150px;
box-sizing: border-box;
border-radius: 8px;
background: linear-gradient( 90deg, #70CAFD 0%, #02AAFE 100%);
margin: 15px 0px;
margin-right: 15px;
box-sizing: border-box;
padding: 20px 40px;
display: flex;
align-items: center;
justify-content: space-between;
}
.r-title{
font-weight: bold;
font-size: 42px;
color: #FFFFFF;
text-align: center;
}
.r-size{
font-size: 14px;
color: #FFFFFF;
}
.title_{
font-size: 16px;
color: #333333;
font-weight: bold;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.zong-box{
width: 18%;
overflow: hidden;
border-radius: 8px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
margin-bottom: 30px;
margin-right: 30px;
}
.pur-box{
width: 100%;
padding: 10px;
}
.disper-box{
display: flex;
margin-top: 10px;
}
.box-img{
width: 96px;
height: 96px;
border-radius: 8px;
overflow: hidden;
margin-right: 10px;
}
.box-hui{
display: flex;
align-items: center;
font-size: 14px;
color: #99a9bf;
margin-top: 4px;
}
.title{
font-size: 18px;
font-weight: bold;
}
.hui-bottom{
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-around;
background: #fafafc;
padding: 20px 10px;
}
.shang-biao{
font-size: 16px;
font-weight: bold;
width: 100%;
text-align: center;
}
.xia-biao{
width: 100%;
text-align: center;
font-size: 12px;
}
.hang_{
width: 100%;
white-space: nowrap; //
overflow: hidden; //
text-overflow: ellipsis; //
font-size: 14px;
color: #777777;
margin: 14px auto;
overflow: auto;
}
</style>

View File

@ -339,7 +339,7 @@ public class LJStaffServiceImpl extends ServiceImpl<LJStaffMapper, LJStaff> impl
LJStaff staff = this.selectStaffById(id);
LJStore store = storeService.selectStoreByStoreId(staff.getStoreId());
//在图片上生成二维码
String backgroundImage = "static/qrCodeImg/laigeyouhui_bg.jpg";
String backgroundImage = "static/qrCodeImg/mendian_bg2.png";
String logoImage = "static/qrCodeImg/logo.png";
// if (StringUtils.isNotEmpty(store.getLogo())){
// logoImage = store.getLogo();

View File

@ -69,10 +69,10 @@ public class QrCodeUtils {
g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);
//使用工具类生成二维码
// Image image = createQrCode(logoStream, url, 360, 360);
Image image = createQrCode(logoStream, url, 270, 270);
Image image = createQrCode(logoStream, url, 294, 294);
//将小图片绘到大图片上,500,300 .表示你的小图片在大图片上的位置
// g.drawImage(image, (bufImg.getWidth()-360)/2, 320, null);
g.drawImage(image, (bufImg.getWidth()-270)/2, 153, null);
g.drawImage(image, (bufImg.getWidth()-294)/2, 139, null);
// 设置字体样式字体大小
// g.setFont(new Font("TimesRoman", Font.BOLD, 20));
g.setFont(chineseFont());
@ -90,18 +90,18 @@ public class QrCodeUtils {
LJStaff staff1 = staffService.selectStaffByStoreId(storeId);
// 店铺名称位置文字绘制到指定位置
g.drawString(store.getName(), returnX(g,bufImg.getWidth(),store.getName()), 300);
g.drawString(store.getName(), returnX(g,bufImg.getWidth(),store.getName()), 560);
// 加油员姓名位置文字绘制到指定位置
if (ObjectUtil.isNotEmpty(staff)) {
g.drawString("加油员:"+staff.getRealName(), returnX(g, bufImg.getWidth(), "加油员:"+staff.getRealName()), 750);
g.drawString("加油员:"+staff.getRealName(), 50, 680);
}
// 站长名称位置文字绘制到指定位置
g.drawString("站长名称:"+staff1.getRealName(), returnX(g, bufImg.getWidth(), "站长名称:"+staff1.getRealName()), 810);
g.drawString("站长名称:"+staff1.getRealName(), 50, 590);
// 服务监督电话位置文字绘制到指定位置
g.drawString("服务监督电话:"+staff1.getMobile(), returnX(g, bufImg.getWidth(), "服务监督电话:"+staff1.getMobile()), 870);
g.drawString("服务监督电话:"+staff1.getMobile(), 50, 620);
// 店铺地址位置文字绘制到指定位置
// g.drawString(store.getAddress(), returnX(g,bufImg.getWidth(),store.getAddress()), 900);
drawStringWithMultiLine(g,store.getAddress(), bufImg.getWidth()-20,20,940,10 );
drawStringWithMultiLine(g,store.getAddress(), bufImg.getWidth()-90,51,650,5 );
}else {
drawStringWithMultiLine(g,"欢迎光临", bufImg.getWidth()-20,20,940,10 );
g.drawString("欢迎光临:", returnX(g, bufImg.getWidth(), "服务监督电话:"), 870);
@ -306,17 +306,17 @@ public class QrCodeUtils {
// Font font = Font.createFont(Font.TRUETYPE_FONT, new ClassPathResource("classpath:font/msyh.ttc").getFile());
// b = font.deriveFont(Font.BOLD, 40);
b = new Font("TimesRoman", Font.BOLD, 40);
b = new Font("TimesRoman", Font.BOLD, 16);
} else {
prefixFont = "/usr/share/fonts" + File.separator + "msyh.ttc";
try {
Font font = Font.createFont(Font.TRUETYPE_FONT, new File(prefixFont));
b = font.deriveFont(Font.BOLD, 40);
b = font.deriveFont(Font.BOLD, 16);
// b = new Font("msyh", Font.BOLD, 40);
} catch (Exception e) {
//如果发生异常执行默认的字体
b = new Font("msyh", Font.BOLD, 40);
b = new Font("msyh", Font.BOLD, 16);
log.error(e.getMessage(),"找不到字体");
}

View File

@ -60,9 +60,9 @@ public class QRCodeServiceImpl extends ServiceImpl<QRCodeMapper, QRCode> impleme
//在图片上生成二维码
String backgroundImage = "";
if (type.equals("0")){
backgroundImage = "static/qrCodeImg/mendian_bg1.png";
}else {
backgroundImage = "static/qrCodeImg/mendian_bg2.png";
}else {
backgroundImage = "static/qrCodeImg/mendian_bg1.png";
}
String logoImage = "static/qrCodeImg/logo.png";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -77,6 +77,9 @@
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
.el-input__inner:focus {
border-color: #FF9655 !important;
}
// to fix el-date-picker css style
.el-range-separator {