Commit a7fdefcf authored by 燕南天's avatar 燕南天

前后台项目完善

parent b359f2cf
......@@ -3,12 +3,12 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
<title>xule_pro</title>
<title>娱乐汇</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript">document.documentElement.style.fontSize = document.documentElement.clientWidth / 750*100 + 'px'; </script>
<script type="text/javascript">document.documentElement.style.fontSize = document.documentElement.clientWidth / 750*100*0.9 + 'px'; </script>
</body>
</html>
......@@ -17,6 +17,9 @@ export default {
pagination: {
el: ".swiper-pagination",
clickable: true
},
autoplay:{
delay:2500
}
}
};
......
......@@ -26,7 +26,7 @@ export default {
@r:100rem;
.list-item{
display: flex;
justify-content: space-between;
// justify-content: space-between;
box-sizing: border-box;
padding: 30/@r;
border-bottom: solid 1px #dedede;
......@@ -42,6 +42,7 @@ export default {
}
.item-infro{
width: 540/@r;
margin-left: 20/@r;
.name{
font-size: 32/@r;
color: #333;
......
......@@ -18,11 +18,11 @@ export default {
<style lang="less" scoped>
@r:100rem;
.staff-item{
width: 220/@r;
height: 280/@r;
width: 240/@r;
height: 300/@r;
position: relative;
margin-bottom: 15/@r;
margin-left: 15/@r;
margin-bottom: 20/@r;
margin-left: 20/@r;
box-shadow: 2px 2px 2px rgba(0,0,0,.2);
&:nth-child(3n+1){
margin-left: 0;
......
......@@ -125,6 +125,7 @@ export default {
.staff-wrapper {
display: flex;
flex-wrap: wrap;
// justify-content: space-between
padding: 0 30 / @r;
}
</style>
......
......@@ -3,7 +3,14 @@
<c-header title="商家详情"></c-header>
<div class="shop-main-infro">
<div class="img" :style="{'background-image':`url(${shopData.storeHomePic})`}"></div>
<swiper :options="swiperOption">
<swiper-slide v-for="(item,index) in shopImgs" :key="index">
<div class="img" :style="{'background-image':`url(${item})`}"></div>
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
<div class="infro-wrapper">
<div class="shop-name">{{shopData.storeName}}</div>
<div class="infro"><i class="iconfont icon-shijian"></i> {{shopData.storeBusinessTimeStart}}-{{shopData.storeBusinessTimeEnd}} <i class="iconfont icon-xiaofei"></i>{{shopData.consumeInterval}}</div>
......@@ -57,6 +64,16 @@ export default {
components:{CHeader,SInfroContent,NoData},
data(){
return {
swiperOption: {
pagination: {
el: ".swiper-pagination",
clickable: true,
type: 'fraction'
},
autoplay:{
delay:2500
}
},
shopData:{
storeName:'',
province:'',
......@@ -65,7 +82,9 @@ export default {
storePosition:'',
storeDetails:''
},
workerData:[]
workerData:[],
shopImgs:[]
}
},
beforeMount(){
......@@ -77,6 +96,7 @@ export default {
const param = {storeId:id}
shopDetails.storeDetails(param).then(res=>{
this.shopData = res.data
this.buildShopImg()
shopDetails.searchWorkerResult(param).then(res=>{
this.workerData = res.data
})
......@@ -84,6 +104,10 @@ export default {
},
toWorkerDetails(id){
this.$router.push({ path:`/workerDetails/${id}`})
},
buildShopImg(){
this.shopImgs = this.shopData.storePic?this.shopData.storePic.split(','):[]
// this.shopImgs.unshift(this.shopData.storeHomePic)
}
}
}
......@@ -107,7 +131,7 @@ export default {
bottom: 0;
padding: 10/@r 30/@r;
background: rgba(0, 0, 0, .5);
z-index: 10000;
.shop-name{
font-size: 36/@r;
color: #fff;
......@@ -145,13 +169,13 @@ export default {
.employee-item{
border-radius: 10/@r;
overflow: hidden;
width: 330/@r;
height: 400/@r;
width: 370/@r;
height: 450/@r;
background: #f0f0f0;
margin-bottom: 30/@r;
position: relative;
.img{
height: 250/@r;
height: 300/@r;
background: rgba(222,75,75,.5) ;
background-color: #dedede;
background-size:cover;
......@@ -207,6 +231,22 @@ export default {
}
}
.swiper-pagination-fraction{
font-size: 40/@r;
// font-weight: 700;
width: inherit;
color: #fff;
background: rgba(0, 0,0, .3);
padding: 10/@r 40/@r;
border-radius: 40/@r;
right: 20/@r;
top: 20/@r;
left: inherit;
bottom: inherit;
.swiper-pagination-current{
color: #de4b4b!important;
font-weight: 700!important;
}
}
</style>
......@@ -2,7 +2,12 @@
<div class="page-wrapper">
<c-header title="人员详情"></c-header>
<div class="worker-details" id="scrollContainer">
<div class="img" :style="{'background-image':`url(${workerData.workerHomePic})`}"></div>
<swiper :options="swiperOption">
<swiper-slide v-for="(item,index) in workerImgs" :key="index">
<div class="img" :style="{'background-image':`url(${item})`}"></div>
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
<div class="infro">
<div class="name">{{workerData.workerName}}<span class="clicks"><i class="iconfont icon-xinaixin"></i>{{workerData.clicks}}</span></div>
......@@ -64,11 +69,22 @@ export default {
components:{CHeader},
data(){
return {
swiperOption: {
pagination: {
el: ".swiper-pagination",
clickable: true,
type: 'fraction'
},
autoplay:{
delay:2500
}
},
workerData:{
workerName:'',
workerHomePic:'',
workerResume:''
}
},
workerImgs:[]
}
},
mounted(){
......@@ -85,12 +101,13 @@ export default {
}
workerDetails.workerDetails(param).then(res=>{
this.workerData = res.data
this.buildWorkerImg()
})
},
handleScroll(){
buildWorkerImg(){
this.workerImgs = this.workerData.workerPic?this.workerData.workerPic.split(','):[]
// this.workerImgs.unshift(this.workerData.workerHomePic)
},
toStoreDetails(id){
......@@ -242,6 +259,22 @@ export default {
}
}
}
.swiper-pagination-fraction{
font-size: 40/@r;
// font-weight: 700;
width: inherit;
color: #fff;
background: rgba(0, 0,0, .3);
padding: 10/@r 40/@r;
border-radius: 40/@r;
right: 40/@r;
left: inherit;
.swiper-pagination-current{
color: #de4b4b!important;
font-weight: 700!important;
}
}
</style>
......@@ -15,11 +15,11 @@ export default {
<style lang="less" scoped>
@r:100rem;
.staff-item{
width: 220/@r;
height: 280/@r;
width: 240/@r;
height: 300/@r;
position: relative;
margin-bottom: 15/@r;
margin-left: 15/@r;
margin-bottom: 20/@r;
margin-left: 20/@r;
box-shadow: 2px 2px 2px rgba(0,0,0,.2);
&:nth-child(3n+1){
margin-left: 0;
......
......@@ -68,5 +68,7 @@ export default {
.nodata-wrapper{
padding-top: 200/@r;
}
</style>
......@@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<!-- 激活chrome frame内核插件 -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<title>内部资讯管理系统</title>
<title>娱乐汇管理系统</title>
<!-- <link rel="stylesheet" type="text/css" href="http://at.alicdn.com/t/font_674196_89pa9pmfyd0cz0k9.css"> -->
</head>
<body>
......
......@@ -2,7 +2,8 @@
<div class="model-container">
<el-card shadow="never">
<div slot="header" class="clearfix">
<span><i class="iconfont icon-sousuo"></i>快捷搜索</span>
<span>
<i class="iconfont icon-sousuo"></i>快捷搜索</span>
<div class="btns-wrapper-right">
<el-button type="primary" plain @click="seachFun">确定</el-button>
<el-button type="warning" plain @click="resetFun" :disabled="isActiveReset">重置</el-button>
......@@ -11,7 +12,9 @@
<el-row :gutter="15">
<el-col :span="4">
<el-col class="input-name" :span="7">管理员名称</el-col>
<el-col :span="17"><el-input placeholder="请输入关键字" v-model="seacherParam.administratorsName" @keyup.enter.native="seachFun"></el-input></el-col>
<el-col :span="17">
<el-input placeholder="请输入关键字" v-model="seacherParam.administratorsName" @keyup.enter.native="seachFun"></el-input>
</el-col>
</el-col>
<!-- <el-col :xl="4" :lg="6" :md="6" :sm="8" id="visReason">
......@@ -28,7 +31,6 @@
</el-col>
</el-col> -->
</el-row>
</el-card>
......@@ -42,7 +44,6 @@
<div class="table-wrapper">
<el-table empty-text="暂无数据" :stripe="true" :data="dataOption" v-loading="!dataOption">
<el-table-column prop="administratorsName" label="姓名"></el-table-column>
<!-- <el-table-column label="性别">
<template slot-scope="scope">
......@@ -55,7 +56,7 @@
<!-- <el-table-column prop="qrCode" label="二维码"></el-table-column> -->
<el-table-column label="二维码">
<template slot-scope="scope">
<img :src="scope.row.qrCode" style="width:80px;height:80px;"/>
<img :src="scope.row.qrCode" style="width:80px;height:80px;" />
</template>
</el-table-column>
......@@ -71,21 +72,15 @@
</el-table-column> -->
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="primary" circle class="table-icon" @click="check(scope.row)"><i class="iconfont icon-chakan"></i></el-button>
<el-button type="primary" circle class="table-icon" @click="check(scope.row)">
<i class="iconfont icon-chakan"></i>
</el-button>
<el-button type="primary" icon="el-icon-edit" circle class="table-icon" @click="edit(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页处理 -->
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNo"
:page-sizes="[10, 20, 30]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="rowCount">
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNo" :page-sizes="[10, 20, 30]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="rowCount">
</el-pagination>
</div>
......@@ -95,22 +90,19 @@
<!-- 添加dialog -->
<!-- 查看,编辑dialog -->
<el-dialog
:title="dialogTitle"
:visible.sync="dialogState"
width="30%"
:before-close="handleClose">
<el-dialog :title="dialogTitle" :visible.sync="dialogState" width="30%" :before-close="handleClose">
<div class="dialog-body-content">
<el-row :gutter="15">
<el-col :span="8" class="content-left"><label>名称</label></el-col>
<el-col :span="8" class="content-left">
<label>名称</label>
</el-col>
<el-col :span="16" class="content-right">
<el-input v-if="dialogType===1 || dialogType===2" size="small" placeholder="请输入管理员名称" v-model="dialogBindData.administratorsName"></el-input>
<span v-else>{{dialogBindData.administratorsName}}</span>
</el-col>
</el-row>
<!-- <el-row :gutter="15" v-if="dialogType===3">
<el-col :span="8" class="content-left"><label>审核状态</label></el-col>
<el-col :span="16" class="content-right">
......@@ -122,18 +114,20 @@
</el-col>
</el-row> -->
<el-row :gutter="15">
<el-col :span="8" class="content-left"><label>电话</label></el-col>
<el-col :span="8" class="content-left">
<label>电话</label>
</el-col>
<el-col :span="16" class="content-right">
<el-input v-if="dialogType===1 || dialogType===2" size="small" placeholder="请输入电话号码" v-model="dialogBindData.contactNumber"></el-input>
<span v-else>{{dialogBindData.contactNumber}}</span>
</el-col>
</el-row>
<el-row :gutter="15">
<el-col :span="8" class="content-left"><label>微信</label></el-col>
<el-col :span="8" class="content-left">
<label>微信</label>
</el-col>
<el-col :span="16" class="content-right">
<el-input v-if="dialogType===1 || dialogType===2" size="small" placeholder="请输入微信号" v-model="dialogBindData.wechat"></el-input>
<span v-else>{{dialogBindData.wechat}}</span>
......@@ -141,7 +135,9 @@
</el-row>
<el-row :gutter="15">
<el-col :span="8" class="content-left"><label>QQ</label></el-col>
<el-col :span="8" class="content-left">
<label>QQ</label>
</el-col>
<el-col :span="16" class="content-right">
<el-input v-if="dialogType===1 || dialogType===2" size="small" placeholder="请输入QQ" v-model="dialogBindData.qq"></el-input>
<span v-else>{{dialogBindData.qq}}</span>
......@@ -149,28 +145,22 @@
</el-row>
<el-row :gutter="15">
<el-col :span="8" class="content-left"><label>二维码</label></el-col>
<el-col :span="8" class="content-left">
<label>二维码</label>
</el-col>
<el-col :span="16" class="content-right">
<up-load-img
ref="imgComponent"
v-if="dialogType===1 || dialogType===2"
width="120"
height="120"
resPath="qrCode"
:type="dialogType===2"
:viewUrl="this.dialogBindData.qrCode"
@emitSuccess="handleImgLoad">
<up-load-img ref="imgComponent" v-if="dialogType===1 || dialogType===2" width="120" height="120" resPath="qrCode" :type="dialogType===2" :viewUrl="this.dialogBindData.qrCode" @emitSuccess="handleImgLoad">
</up-load-img>
<img @click="magnify(dialogBindData.qrCode)" v-else :src="dialogBindData.qrCode" width="120" height="120">
</el-col>
</el-row>
</div>
<div class="btns-wrapper">
<el-button size="small" @click="handleClose" :disabled="dialogType===3"><i class="iconfont icon-quxiao"></i>取消</el-button>
<el-button v-if="!submmitSuccess" type="primary" size="small" @click="submmitFun" :disabled="dialogType===3"><i class="iconfont icon-tijiao"></i>提交</el-button>
<el-button size="small" @click="handleClose" :disabled="dialogType===3">
<i class="iconfont icon-quxiao"></i>取消</el-button>
<el-button v-if="!submmitSuccess" type="primary" size="small" @click="submmitFun" :disabled="dialogType===3">
<i class="iconfont icon-tijiao"></i>提交</el-button>
<el-button v-else :loading="true" type="primary" size="small" :disabled="true">提交</el-button>
</div>
</el-dialog>
......@@ -188,7 +178,7 @@ export default {
return {
seacherParam: {
administratorsName: "",
isAuditing:""
isAuditing: ""
},
//审核状态 选择数据项
......@@ -207,14 +197,13 @@ export default {
dialogState: false,
dialogType: 1, // 1--增加 2--编辑 3--查看
dialogBindData: {
administratorsName: "",
contactNumber: "",
wechat: "",
qq:"",
qrCode:"",
isAuditing:1,
qq: "",
qrCode: "",
isAuditing: 1,
createTime: "",
repairWorkerIdCard: ""
},
......@@ -292,9 +281,13 @@ export default {
}
},
submmitFun() {
// 发送添加请求
const isSubmitActive = this.dialogBindData.administratorsName&&this.dialogBindData.contactNumber&&this.dialogBindData.wechat&&this.dialogBindData.qq&&this.dialogBindData.qrCode;
const isSubmitActive =
this.dialogBindData.administratorsName &&
this.dialogBindData.contactNumber &&
this.dialogBindData.wechat &&
this.dialogBindData.qq &&
this.dialogBindData.qrCode;
if (isSubmitActive) {
this.submmitSuccess = true;
admin.addOrEditAdministrators(this.dialogBindData).then(res => {
......@@ -372,10 +365,7 @@ export default {
},
handleImgLoad(url) {
this.dialogBindData.qrCode = url;
},
}
},
computed: {
// 激活重置按钮
......
......@@ -330,6 +330,13 @@ export default {
isAvailable: 1,
linkUrl: this.dialogBindData.linkUrl
};
let submitParam =
param.advertTitle&&
param.advertPicUrl&&
param.advertContent
if(!!submitParam){
this.submmitSuccess = true;
adver.addOrEditAdvert(param).then(res => {
this.getList(() => {
......@@ -341,6 +348,13 @@ export default {
this.handleClose();
});
});
}else{
this.$message({
message: "请完善信息",
type: "warning"
});
}
},
//关闭弹框
handleClose() {
......
......@@ -2,7 +2,7 @@
<div class="login-container" :style="{backgroundImage:'url(' + bgImg + ')' }">
<el-form class="login-form" autoComplete="on" :model="loginForm" :rules="loginRules" ref="loginForm" label-position="left">
<div class="title-container">
<h3 class="title">内部资讯管理系统</h3>
<h3 class="title">娱乐汇管理系统</h3>
</div>
<el-form-item prop="username">
<span class="svg-container svg-container_login">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment