Commit f844f059 authored by xd's avatar xd

修改侧边栏和删除后台管理系统的代码

parent 920c80e0
......@@ -155,10 +155,10 @@ export default {
}
},
barInfo: {
fans: "299",
personalFans: "77",
newFans: "11",
allNewFans: "15"
fans: "0",
personalFans: "0",
newFans: "0",
allNewFans: "0"
},
menuInfo: {
icon: {
......@@ -350,11 +350,17 @@ export default {
})
.then(res => {
console.log(res, "粉丝");
this.test.barInfo.fans = res.data.data.length;
sessionStorage.setItem("allFans", res.data.data.length);
let newList = []
res.data.data.forEach(item => {
if(item != null) {
newList.push(item)
}
})
this.test.barInfo.fans = newList.length
sessionStorage.setItem("allFans", newList.length)
})
.catch(err => {
console.log(err);
console.log(err)
});
},
getNewFans() {
......@@ -576,12 +582,10 @@ export default {
background-color: rgb(237, 239, 243);
width: 100%;
height: auto;
/*padding: ;*/
padding-bottom: 94px;
display: flex;
flex-direction: column;
justify-content: start;
overflow: auto;
}
......@@ -630,7 +634,6 @@ export default {
}
.manInfo-switch {
/*border: 1px solid greenyellow;*/
width: 100px;
height: 18px;
......@@ -727,9 +730,7 @@ export default {
}
.main-actives {
/*border: 1px solid lightcoral;*/
width: 100%;
/*margin-bottom: 94px;*/
margin-top: 36px;
padding: 0px 12px;
background-color: white;
......
<template>
<d2-container>
<div class="container">
<div class="left">
<div class="img"><img src="../img/active1.png" alt=""></div>
<div class="btn">
<div class="btn-l">配置</div>
<div class="btn-r">预览</div>
</div>
</div>
<div class="right">
<div class="img"><img src="../img/active2.png" alt=""></div>
<div class="btn">
<div class="btn-l">配置</div>
<div class="btn-r">预览</div>
</div>
</div>
</div>
</d2-container>
</template>
<script>
export default {};
</script>
<style scoped>
.container {
padding: 16px;
display: flex;
}
.left,.right{
display: flex;
flex-direction: column;
width: 440px;
height: 500px;
background: #f8f8f8;
margin-right: 24px;
box-sizing:border-box;
padding: 16px;
}
.img {
width: 408px;
height: 408px;
}
.img img {
width: 100%;
}
.btn {
height: 72px;
display: flex;
align-items: center;
justify-content: space-between;
}
.btn-l,.btn-r {
width:198px;
height:40px;
background:rgba(232,233,254,1);
box-shadow:0px 1px 3px 0px rgba(221,221,221,1);
border-radius:4px;
border:1px solid rgba(78,89,199,1);
font-size: 14px;
font-weight:800;
color:rgba(78,89,199,1);
display: flex;
align-items: center;
justify-content: center;
}
.btn-r {
background:rgba(78,89,199,1);
color:#fff;
}
</style>
<template>
<d2-container>
<template slot="header">header</template>
active/shop/index.vue
<template slot="footer">footer</template>
</d2-container>
</template>
<template>
<div class="dialogs">
<!-- <el-dialog title="创建任务" :visible.sync="dialogVisible" width="480px" -->
<el-dialog title="佣金配置" :visible.sync="dialogVisible" width="480px"
:before-close="handleClose" class="addGoods">
<div class="dialogMain">
<el-form :model="form" :rules="formRules" ref="addform" label-width="130px">
<el-form-item label="商品:" prop="goods">
<el-input v-model="form.goodName"></el-input>
</el-form-item>
<el-form-item label="价格:">
<el-input disabled="true" v-model="form.goodPrice"></el-input>
</el-form-item>
<el-form-item label="库存:">
<el-input v-model.number="form.goodNum"></el-input>
</el-form-item>
<el-form-item label="佣金:" prop="charges">
<el-radio-group v-model="form.goodBackType">
<el-radio :label="1">佣金</el-radio>
<el-radio :label="2">百分比</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.goodBackType===1" label="金额:" label-width="176px" class="chargeInput" >
<el-input v-model="form.goodBackPrice"></el-input>
<span class="unit">元 ( ¥ )</span>
</el-form-item>
<el-form-item v-if="form.goodBackType===2" label="佣金比例:" label-width="176px" class="chargeInput" >
<el-input v-model="form.goodBackPercent"></el-input>
<span class="unit">( % )</span>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="handleCancel('addform')">取 消</el-button>
<el-button size="small" type="primary" @click="handleSubmit('addform')">提交</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'add_goods',
data(){
return{
dialogVisible:false,
form:{
goodName: '膳魔师',
goodPrice: '200',
goodNum: '44',
goodBackType: 2,
goodBackPrice: '20',
goodBackPercent: '10',
goods:'膳魔师',
price:'200',
charges:1,
num:44
},
formRules:{
goods: [
{ required: true, message: '请输入商品', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
}
}
},
methods:{
// 弹窗关闭
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
handleSubmit(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
handleCancel(formName){
this.$refs[formName].resetFields();
this.dialogVisible = false
},
},
watch:{
dialogVisible(){
if(this.dialogVisible){
if(this.$refs.addform){
this.$refs.addform.resetFields();
}
}
}
}
}
</script>
<style scoped>
</style>
<template>
<d2-container class="pRelative">
<div class="searchs">
<!-- 搜索区 -->
<div>
<el-button class="button buttondark" size="small">批量上架</el-button>
</div>
<el-form class="searchzone" :inline="true" :model="formData" label-width="auto">
<el-form-item label="门店">
<el-select
size="small"
v-model="formData.store"
placeholder="请选择门店"
style="width:160px;"
>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select
size="small"
v-model="formData.status"
placeholder="请选择状态"
style="width:160px;"
>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关键词">
<el-input size="small" v-model="formData.keys" style="width:160px" placeholder="请输入关键词" />
</el-form-item>
<el-button class="button buttondark" size="small">搜索</el-button>
</el-form>
</div>
<el-table
:data="data"
class="list"
style="width: 100%"
empty-text="暂无商品信息"
height="calc(100% - 120px)"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column prop="goodName" label="商品名称" align="center"></el-table-column>
<el-table-column prop="goodPrice" label="门店" align="center"></el-table-column>
<el-table-column prop="goodNum" label="门店id" align="center"></el-table-column>
<el-table-column prop="goodBackMoney" label="价格" align="center"></el-table-column>
<el-table-column prop="goodStatus" label="佣金" align="center"></el-table-column>
<el-table-column prop="goodStatus" label="状态" align="center">
<template slot-scope="scope">
<span>{{scope.row.goodStatus === 'up' ? '上架' : '下架'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodStatus" label="上架时间" align="center"></el-table-column>
<!-- 查看详情 -->
<el-table-column
fixed="right"
align="center"
label="操作"
width="140"
@selection-change="listPick"
>
<template slot-scope="scope">
<el-button type="text" @click="handleAdd">{{scope.row.goodStatus === 'up' ? '下架' : '上架'}}</el-button>
<el-button type="text" @click="handleAdd">佣金配置</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.size"
layout="total, prev, pager, next, jumper"
:total="page.total"
></el-pagination>
<add-goods ref="addGoods"></add-goods>
</d2-container>
</template>
<script>
import addGoods from "./components/add_goods";
export default {
data() {
return {
formData: {
status: "",
keys: ""
},
statusList: [],
data: [
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "膳魔师",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "up"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "象印",
goodPrice: "180元",
goodNum: "14",
goodBackMoney: "18元",
goodStatus: "down"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "Dior",
goodPrice: "240元",
goodNum: "60",
goodBackMoney: "40元",
goodStatus: "down"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "ASICS",
goodPrice: "450元",
goodNum: "120",
goodBackMoney: "20元",
goodStatus: "up"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "NIKE",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "up"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "Adidas",
goodPrice: "540元",
goodNum: "210",
goodBackMoney: "30元",
goodStatus: "down"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "膳魔师",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "up"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "膳魔师",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "up"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "膳魔师",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "down"
},
{
imgUrl:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100",
goodName: "膳魔师",
goodPrice: "200元",
goodNum: "44",
goodBackMoney: "20元",
goodStatus: "up"
}
],
page: {
currentPage: 1,
size: 20,
total: 100
}
};
},
components: { addGoods },
methods: {
handleCurrentChange(val) {
this.page.currentPage = val
console.log(`当前页: ${val}`);
},
listPick() {},
handleAdd() {
this.$refs.addGoods.dialogVisible = true;
},
handleSelectionChange(val) {
console.log(val,'批量选择');
}
}
};
</script>
<style lang="scss">
</style>
<template>
<d2-container>
<template slot="header">header</template>
home/main/index.vue
<template slot="footer">footer</template>
</d2-container>
</template>
This diff is collapsed.
<template>
<div class="ct">
<el-dialog :visible.sync="counterDialog" width="800px"
class="dialog" :show-close="false" :before-close="handleClose" top="5vh"
>
<div class="choose">
<div class="title">
<div class="cg">添加柜组</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<div class="br">
<el-form
class="searchzone"
:model="formData"
label-width="auto"
ref="addCounter"
:rules="rules"
>
<el-form-item label="柜组名称:" prop="name">
<el-input
size="small"
v-model="formData.name"
style="width:240px"
placeholder="请输入柜组名称"
/>
</el-form-item>
<el-form-item label="柜组负责人:" prop="principal">
<el-select
size="small"
v-model="formData.principal"
placeholder="请选择柜组负责人"
style="width:240px"
>
<el-option
v-for="item in personList"
:key="item.id"
:label="item.userName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜组编号:" prop="num">
<el-input
size="small"
v-model="formData.num"
style="width:240px"
placeholder="请输入柜组编号"
/>
</el-form-item>
<el-form-item label="所在区域:" prop="area">
<el-input
size="small"
v-model="formData.area"
style="width:240px"
placeholder="请输入所在区域"
/>
</el-form-item>
<div class="cs">
<el-form-item label="门店:" prop="stallIds">
<el-transfer
style="text-align: left; display: inline-block"
v-model="formData.stallIds"
:left-default-checked="[]"
:right-default-checked="[]"
:titles="['选择', '已选']"
:button-texts="['删除', '添加']"
@change="handleChange"
:data="stallData"
>
<span slot-scope="{ option }">{{ option.name }}</span
>
</el-transfer>
</el-form-item>
</div>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCancel('addCounter')" size="small"
>取 消</el-button
>
<el-button
type="primary"
@click="handleFinish('addCounter')"
size="small"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
import { stallDetail, stallSave } from "@/api/in/counter"
export default {
data() {
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) {
callback(new Error('含有非法字符(只能输入字母、汉字)!'))
} else {
callback()
}
}
return {
counterDialog: false,
value4: [],
formData: {
name: "",
num: "",
principal:"",
area:'',
stallIds: [],
},
personList: [],
stallData: [],
rules: {
name: [{ required: true, message: "请输入柜组名称", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }],
principal: [
{ required: true, message: "请选择活动负责人", trigger: "change" }
],
num: [{ required: true, message: "请输入柜组编号", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' }],
stallIds:[
{ required: true, message: "请选择门店", trigger: "blur" },
{ required: true, message: "请选择门店", trigger: "change" },
],
area: [{ required: true, message: "请输入所在区域", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }]
}
};
},
mounted(){
this.getPersonList()
},
methods: {
handleChange() {},
handleClose(done) {
this.$confirm("确认关闭?")
.then(_ => {
this.counterDialog = false;
})
.catch(_ => {});
},
handleCancel(formName) {
this.$refs[formName].resetFields();
this.counterDialog = false;
},
handleFinish(formName) {
let _this = this
this.$refs[formName].validate((valid) => {
if (valid) {
// 调用新增接口
// this.counterDialog = false;
let formData = JSON.parse(JSON.stringify(_this.formData))
delete formData.stallIds
formData.stallIds = _this.formData.stallIds.join(',')
stallSave(formData).then(res=>{
_this.$message(formData.res.data)
})
} else {
console.log('error submit!!');
return false;
}
});
},
// 柜组负责人 门店列表
getPersonList(){
let _this = this
stallDetail().then(res => {
_this.personList = res.data.principals_unselected
_this.stallData = res.data.stalls_unselected.map((v,i)=>{
v.key = v.id
return v
})
})
}
},
watch:{
counterDialog(){
if(this.counterDialog){
if(this.$refs.addCounter){
this.$refs.addCounter.resetFields();
}
}
}
}
};
</script>
<style scoped>
.dialog >>> .el-dialog {
height: calc(100vh - 208px);
overflow: auto;
}
.cs {
display: flex;
}
.ct >>> .el-transfer-panel {
width: 180px;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 60px;
}
</style>
......@@ -51,7 +51,7 @@
/>
</el-form-item>
<el-form-item label="设置主管:" prop="clerkId" v-if="detail == 1">
<el-cascader :props="props" v-model="deptId" :options="parentDeptList" :show-all-levels="false" filterable style="width: 30%;margin-right:15px;" @change="handleParentChange" ></el-cascader>
<el-cascader :props="props" v-model="deptId" :disabled="ifDisabled" :options="parentDeptList" :show-all-levels="false" filterable style="width: 30%;margin-right:15px;" @change="handleParentChange" ></el-cascader>
<el-select v-model="addForm.clerkId" filterable multiple placeholder="请选择" style="width: 30%;" clearble>
<el-option
v-for="item in peopleList"
......@@ -83,13 +83,15 @@ export default {
}
},
data() {
// 中英文验证规则
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) {
callback(new Error("含有非法字符(只能输入字母、汉字)!"))
// 检查名称
const checkLabel = (rule, value, callback) => {
let labelReg = /^[\u4e00-\u9fa5A-Za-z0-9\-\_]*$/;
if (value == "") {
callback(new Error("请输入部门名称"));
} else if (!labelReg.test(value)) {//引入methods中封装的检查手机格式的方法
callback(new Error("只可以输入中文、字母、数字和减号!"));
} else {
callback()
callback();
}
}
return {
......@@ -114,6 +116,7 @@ export default {
clerkId: []
},
detail: 2,
ifDisabled: false,
deptId: '',
// 上级部门
parentDeptList: [],
......@@ -121,11 +124,10 @@ export default {
orgTree: [],
rules: {
label: [
{ required: true, message: "请输入部门名称", trigger: "blur" },
{ required: true, validator: checkLabel, trigger: "blur" },
{ max: 50, message: "长度在50个字符以内", trigger: "blur" }
],
parentId: [{ required: true, message: "请选择上级部门", trigger: "change" }]
},
deptOption: {
value: 'id',
......@@ -215,11 +217,16 @@ export default {
let data = Object.assign(this.addForm,{ clerkIds })
delete data.clerkId
addGroup(data).then(res => {
if(res.result == "success") {
if(res.data.isSuccessful == 0) {
this.$message.error(res.data.msg)
this.$message.error("门店id不能重复")
}else{
this.$emit("handleAddFinish")
}
}else {
this.$message.error(res.data)
}
})
} else {
return false;
......@@ -231,9 +238,10 @@ export default {
},
// 获取所有人员
getGroupMember(id) {
this.ifDisabled = true
getAllPeopleList({ id }).then(res => {
console.log(res,'人员')
this.peopleList = res.data
this.ifDisabled = false
})
}
}
......
<template>
<div class="ct">
<el-dialog
:visible.sync="addStoreDialog"
class="dialog"
width="65%"
:show-close="false"
:before-close="handleClose"
>
<div class="choose">
<div class="title">
<div class="cg">添加门店</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<div class="br">
<!-- <el-form :model="zdata.post" label-width="auto" ref="addStore" :rules="zrule"> -->
<el-form :model="zdata.post" label-width="auto" ref="addStore">
<!-- <el-form :model="zdata.post" label-width="auto" ref="createForm" :rules="rules"> -->
<el-form-item label="门店名称:" prop="storeName">
<el-input
size="small"
v-model="zdata.post.storeName"
style="width:240px;"
placeholder="请输入门店名称"
/>
</el-form-item>
<el-form-item label="门店类型:" prop="storeType">
<el-select
size="small"
v-model="zdata.post.storeTypeId"
placeholder="请选择门店类型"
style="width:240px"
>
<el-option
v-for="item in zlist.storeType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="门店负责人:" prop="people">
<el-select
size="small"
v-model="zdata.post.storeBossId"
placeholder="请选择门店负责人"
style="width:240px"
>
<el-option
v-for="item in zlist.storeBossId"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属柜组:" prop="counter">
<el-select
size="small"
v-model="zdata.post.storeFromBarId"
placeholder="请选择所属柜组"
style="width:240px"
>
<el-option
v-for="item in zlist.storeFromBarId"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="门牌号:" prop="number">
<el-input
size="small"
v-model="zdata.post.storeDoorCode"
style="width:240px"
placeholder="请输入门牌号"
/>
</el-form-item>
<el-form-item label="位置:" prop="area">
<el-input
size="small"
v-model="zdata.post.storeAddress"
style="width:240px"
placeholder="请输入位置"
/>
</el-form-item>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCancel('addStore')" size="small">取 消</el-button>
<!-- <el-button type="primary" @click="addStoreSubmit('createForm')" size="small">确 定</el-button> -->
<el-button type="primary" @click="addStoreSubmit" size="small">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { ApiStoreAddStore } from "@api/in/store"
const zlog = console.log.bind(console)
export default {
data() {
// 中英文验证规则
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) {
callback(new Error("含有非法字符(只能输入字母、汉字)!"))
} else {
callback();
}
};
return {
zlist: {
storeType: [
{
id: "0",
name: "普通"
},
{
id: "1",
name: "专柜"
}
],
storeBossId: [
{
id: "2001200138020920001",
name: "王月云"
},
{
id: "2001200138020930002",
name: "李强"
}
],
storeFromBarId: [
{
id: "2001201134572130000",
name: "柜组一号"
},
{
id: "2001201135500920000",
name: "柜组二号"
}
]
},
zdata: {
post: {
storeName: "",
storeTypeId: "",
storeBossId: "",
storeFromBarId: "",
storeDoorCode: "",
storeAddress: ""
}
},
rules: {
// name: [
// { required: true, message: "请输入柜组名称F", trigger: "blur" },
// { validator: nameValidate, trigger: "blur" },
// { max: 50, message: "长度在50个字符以内", trigger: "blur" }
// ],
type: [{ required: true, message: "请选择门店类型", trigger: "change" }]
// people: [
// { required: true, message: "请选择门店负责人", trigger: "change" }
// ],
// counter: [
// { required: true, message: "请选择所属柜组", trigger: "change" }
// ],
// number: [{ max: 50, message: "长度在50个字符以内", trigger: "blur" }],
// area: [{ max: 50, message: "长度在100个字符以内", trigger: "blur" }]
},
addStoreDialog: false
};
},
methods: {
handleClose(done) {
this.$confirm("确认关闭?")
.then(_ => {
this.addStoreDialog = false;
})
.catch(_ => {});
},
handleCancel(formName) {
this.$refs[formName].resetFields();
this.addStoreDialog = false;
},
addStoreSubmit(inDataName = "") {
let postData = {
name: this.zdata.post.storeName,
stallType: Number(this.zdata.post.storeTypeId),
principal: Number(this.zdata.post.storeBossId),
shopId: this.zdata.post.storeFromBarId,
signNum: this.zdata.post.storeDoorCode,
location: this.zdata.post.storeAddress,
};
console.log("--->postData =", postData);
ApiStoreAddStore(postData)
.then(res => {
if (res.result == "success") {
this.$message({
message: "添加成功",
type: "success"
});
this.addStoreDialog = false;
}
})
.catch(err => {
});
},
handleChange() {}
},
watch: {
addStoreDialog() {
if (this.addStoreDialog) {
if (this.$refs.addStore) {
this.$refs.addStore.resetFields();
}
}
}
}
};
</script>
<style scoped>
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
}
.ct >>> .el-transfer-panel {
width: 180px;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 60px;
/* border: 2px solid red; */
}
.cs {
display: flex;
}
</style>
<template>
<div class="ct">
<el-dialog :visible.sync="detailDialog" width="65%" :show-close="false" >
<div class="choose">
<div class="title">
<div class="cg">柜组详情</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<div class="br">
<el-form
class="searchzone"
:model="formData"
label-width="auto"
disabled
>
<el-form-item label="柜组名称:">
<el-input
size="small"
v-model="formData.name"
style="width:240px"
placeholder="请输入柜组名称"
/>
</el-form-item>
<el-form-item label="柜组编号:">
<el-input
size="small"
v-model="formData.code"
style="width:240px"
placeholder="请输入柜组编号"
/>
</el-form-item>
<el-form-item label="柜组负责人:">
<el-input
size="small"
v-model="formData.people"
style="width:240px"
/>
</el-form-item>
<el-form-item label="所在区域:">
<el-input
size="small"
v-model="formData.area"
style="width:240px"
placeholder="请输入所在区域"
/>
</el-form-item>
<div class="tb">
<el-form-item label="门店:"> </el-form-item>
<el-table
stripe
class="list"
ref="multipleTable table"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
>
<el-table-column
type="index"
label="序号"
width="60"
></el-table-column>
<el-table-column
prop="name"
label="柜组名称"
align="center"
></el-table-column>
<el-table-column
prop="signNum"
label="门牌号"
align="center"
></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { getDetail } from "@/api/in/counter"
export default {
props: {
msgId: {
type: String,
default: ''
}
},
data() {
return {
detailDialog: false,
formData: {
name: "",
code: "",
people: ""
},
tableData: [],
personList: [],
counter:[]
};
},
created() {
this.getDetail()
},
methods: {
getDetail() {
this.detailDialog = true
let params = {
isDetail: true,
shopId: this.msgId
}
getDetail(params).then(res => {
console.log(res,"详情");
let data = res.data
this.formData.name = data.shop.name
this.formData.code = data.shop.num
this.formData.people = data.principal.userName
this.formData.area = data.shop.area
this.tableData = data.shop.adminStallList
})
},
handleClose(done) {
this.$confirm("确认关闭?")
.then(_ => {
this.detailDialog = false;
his.$emit('handleDetailClose',"false")
})
.catch(_ => {});
},
},
watch:{
detailDialog(newValue) {
// this.getDetail()
},
}
};
</script>
<style>
</style>
<style scoped>
.tb {
display: flex;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
}
.ct >>> .el-transfer-panel {
width: 250px;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 60px;
}
</style>
<template>
<div class="ct">
<el-dialog
:visible.sync="counterDialog"
width="65%"
class="dialog"
:show-close="false"
:before-close="handleClose"
>
<div class="choose">
<div class="title">
<div class="cg">修改柜组</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<div class="br">
<el-form
class="searchzone"
:model="formData"
label-width="auto"
ref="addCounter"
:rules="rules"
>
<el-form-item label="柜组名称:" prop="name">
<el-input
size="small"
v-model="formData.name"
style="width:240px"
placeholder="请输入柜组名称"
/>
</el-form-item>
<el-form-item label="柜组负责人:" prop="people">
<el-select
size="small"
v-model="formData.people"
placeholder="请选择柜组负责人"
style="width:240px"
>
<el-option
v-for="item in personList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜组编号:" prop="code">
<el-input
size="small"
v-model="formData.code"
style="width:240px"
placeholder="请输入柜组编号"
/>
</el-form-item>
<el-form-item label="所在区域:" prop="area">
<el-input
size="small"
v-model="formData.area"
style="width:240px"
placeholder="请输入所在区域"
/>
</el-form-item>
<div class="cs">
<el-form-item label="门店:"> </el-form-item>
<div>
<el-transfer
style="text-align: left; display: inline-block"
v-model="value4"
:left-default-checked="[]"
:right-default-checked="[]"
:titles="['选择', '已选']"
:button-texts="['删除', '添加']"
@change="handleChange"
:data="data"
>
<span slot-scope="{ option }"
>{{ option.key }} - {{ option.label }}</span
>
</el-transfer>
</div>
</div>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCancel('addCounter')" size="small"
>取 消</el-button
>
<el-button
type="primary"
@click="handleFinish('addCounter')"
size="small"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
import { getDetail } from "@/api/in/counter"
export default {
props: {
msgId: {
type: String,
default: ''
}
},
data() {
const generateData = _ => {
const data = [];
for (let i = 1; i <= 15; i++) {
data.push({
key: i,
label: `备选项 ${i}`
});
}
return data;
}
// 中英文验证规则
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) {
callback(new Error('含有非法字符(只能输入字母、汉字)!'))
} else {
callback()
}
}
return {
counterDialog: false,
data: generateData(),
value: [1],
value4: [1],
renderFunc(h, option) {
return (
<span>
{option.key} - {option.label}
</span>
);
},
formData: {
name: "",
code: "",
people: ""
},
personList: [
{
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
],
rules: {
name: [{ required: true, message: "请输入柜组名称", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }],
people: [
{ required: true, message: "请选择活动负责人", trigger: "change" }
],
code: [{ required: true, message: "请输入柜组编号", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }],
area: [{ required: true, message: "请输入所在区域", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }]
}
};
},
created() {
this.getDetail()
},
methods: {
getDetail() {
this.counterDialog = true
let params = {
isDetail: true,
shopId: this.msgId
}
getDetail(params).then(res => {
console.log(res,"详情");
let data = res.data
this.formData.name = data.shop.name
this.formData.code = data.shop.num
this.formData.people = data.shop.principal
this.formData.area = data.shop.area
})
},
handleChange() {},
handleClose(done) {
this.$confirm("确认关闭?")
.then(_ => {
this.counterDialog = false;
this.$emit('handleEditClose',"false")
})
.catch(_ => {});
},
handleCancel(formName) {
this.$refs[formName].resetFields();
this.counterDialog = false;
this.$emit('handleEditClose',"false")
},
handleFinish(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.counterDialog = false;
this.$emit('handleEditClose',"false")
} else {
console.log('error submit!!');
return false;
}
});
},
},
watch:{
counterDialog(){
if(this.counterDialog){
if(this.$refs.addCounter){
this.$refs.addCounter.resetFields();
}
}
}
}
};
</script>
<style scoped>
.dialog >>> .el-dialog {
height: calc(100vh - 208px);
overflow: auto;
}
.cs {
display: flex;
}
.ct >>> .el-transfer-panel {
width: 180px;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 60px;
}
</style>
......@@ -50,7 +50,7 @@
/>
</el-form-item>
<el-form-item label="设置主管:" prop="clerkId" v-if="detail == 1">
<el-cascader :props="props" v-model="deptId" :options="parentDeptList" :show-all-levels="false" filterable style="width: 30%;margin-right:15px;" @change="handleParentChange" ></el-cascader>
<el-cascader :props="props" v-model="deptId" :options="parentDeptList" :disabled="ifDisabled" :show-all-levels="false" filterable style="width: 30%;margin-right:15px;" @change="handleParentChange" ></el-cascader>
<el-select v-model="addForm.clerkId" filterable multiple placeholder="请选择" style="width: 30%;" clearble>
<el-option
v-for="item in peopleList"
......@@ -86,13 +86,15 @@ export default {
}
},
data() {
// 中英文验证规则
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) {
callback(new Error("含有非法字符(只能输入字母、汉字)!"))
// 检查名称
const checkLabel = (rule, value, callback) => {
let labelReg = /^[\u4e00-\u9fa5A-Za-z0-9\-\_]*$/;
if (value == "") {
callback(new Error("请输入部门名称"));
} else if (!labelReg.test(value)) {//引入methods中封装的检查手机格式的方法
callback(new Error("只可以输入中文、字母、数字和减号!"));
} else {
callback()
callback();
}
}
return {
......@@ -124,7 +126,7 @@ export default {
orgTree: [],
rules: {
label: [
{ required: true, message: "请输入部门名称", trigger: "blur" },
{ required: true, validator: checkLabel, trigger: "blur" },
{ max: 50, message: "长度在50个字符以内", trigger: "blur" }
],
parentId: [{ required: true, message: "请选择上级部门", trigger: "change" }]
......@@ -150,6 +152,7 @@ export default {
}, 1000);
}
},
ifDisabled: false,
props: {
value: 'id',
children: 'children',
......@@ -248,30 +251,16 @@ export default {
} else {
return false;
}
});
})
},
// 获取所有人员
getGroupMember(id) {
this.ifDisabled = true
getAllPeopleList({ id }).then(res => {
console.log(res,'人员')
this.peopleList = res.data
this.ifDisabled = false
})
},
/* handleNodeClick(item, node, self) {
// console.log(item,node,self)
this.params.d_parentId = item.id;
this.paramsForShow.father_name = item.label;
},
checkChange(item, node, self) {},
showTreeData() {
this.showTree = !this.showTree;
},
*/
}
}
};
</script>
......
<template>
<div>
<div>
<el-row class="tac">
<el-col>
<el-menu
:default-active="index"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
>
<el-menu-item index="1">
<span class="circle"><d2-icon-svg name="mail"/></span>
<span slot="title">通讯录管理</span>
</el-menu-item>
<el-menu-item index="2">
<span class="circle"><d2-icon-svg name="counter"/></span>
<span slot="title">柜组管理</span>
</el-menu-item>
<el-menu-item index="3">
<span class="circle"><d2-icon-svg name="store"/></span>
<span slot="title">门店管理</span>
</el-menu-item>
</el-menu>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
data () {
return {
index: '1'
}
},
methods: {
handleClose () {},
handleOpen () {}
}
}
</script>
<style scoped>
.tac {
width:248px;
height: 100%;
}
.tac >>> .el-menu {
border-right: none;
}
.circle {
display: inline-block;
width: 24px;
height: 24px;
background:rgba(255,255,255,1);
box-shadow: 0px 1px 2px 0px rgba(78,89,199,1);
border-radius: 50%;
line-height: 24px;
text-align: center;
margin-right: 12px;
}
.theme-d2 .el-menu-item svg, .theme-d2 .el-submenu__title svg {
margin-right: 0;
}
</style>
<template>
<div class="ct">
<el-dialog :visible.sync="detailDialog" width="65%" :show-close="false">
<div class="choose">
<div class="title">
<div class="cg">门店详情</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<div class="br">
<el-form class="searchzone" :model="formData" label-width="auto" disabled>
<el-form-item label="门店名称:">
<el-input
size="small"
v-model="formData.name"
style="width:240px"
placeholder="请输入门店名称"
/>
</el-form-item>
<el-form-item label="门店类型:">
<el-select
size="small"
v-model="formData.type"
placeholder="请选择门店类型"
style="width:240px"
>
<el-option
v-for="item in personList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="门店负责人:">
<el-select
size="small"
v-model="formData.people"
placeholder="请选择柜组负责人"
style="width:240px"
>
<el-option
v-for="item in personList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属柜组:">
<el-select
size="small"
v-model="formData.counter"
placeholder="请选择所属柜组"
style="width:240px"
>
<el-option
v-for="item in counter"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="位置:">
<el-input
size="small"
v-model="formData.area"
style="width:240px"
placeholder="请输入位置"
/>
</el-form-item>
<el-form-item label="门牌号:">
<el-input
size="small"
v-model="formData.number"
style="width:240px"
placeholder="请输入门牌号"
/>
</el-form-item>
<div class="tb">
<el-form-item label="绑定店员:"></el-form-item>
<el-table
stripe
class="list"
ref="multipleTable table"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
>
<el-table-column type="index" label="序号" width="60"></el-table-column>
<el-table-column prop="taskName" label="门店名称" align="center"></el-table-column>
<el-table-column prop="number" label="门牌号" align="center"></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: {
msgId: {
type: String,
default: ""
}
},
data() {
const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/;
if (!reg.test(value)) {
callback(new Error("含有非法字符(只能输入字母、汉字)!"));
} else {
callback();
}
};
return {
formData: {
name: "",
code: "",
people: "",
type: "",
number: "",
area: ""
},
personList: [
{
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
],
counter: [
{
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
],
tableData: [],
detailDialog: false
};
},
created() {
this.getDetail();
},
methods: {
getDetail() {
this.detailDialog = false
// let params = {
// isDetail: true,
// shopId: this.msgId
// }
// getDetail(params).then(res => {
// console.log(res,"详情");
// let data = res.data
// this.formData.name = data.shop.name
// this.formData.code = data.shop.num
// this.formData.people = data.shop.principal
// this.formData.area = data.shop.area
// this.tableData = data.stall_unselected
// })
},
handleClose() {
this.detailDialog = false;
}
}
};
</script>
<style scoped>
.tb {
display: flex;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
}
.ct >>> .el-transfer-panel {
width: 250px;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 60px;
}
</style>
<template>
<div class="main">
<div class="title">全部柜组( 共<span>{{page.total}}</span>个 )</div>
<div class="searchs">
<div class="buttons">
<el-button class="button buttonlight" size="small" @click="addCounter">添加柜组</el-button>
<el-button class="button buttondark" size="small" v-if="multipleSelection.length>1" @click="handleDelBatch">批量删除</el-button>
</div>
<!-- 搜索区 -->
<el-form
class="searchzone"
:inline="true"
:model="form"
label-width="auto"
>
<el-form-item label="关键词">
<el-input size="small" v-model="form.keyWords" style="width:160px"
placeholder="请输入关键词" clearable/>
</el-form-item>
<el-button class="button buttondark" size="small" style="margin-top:4px;" @click="handleSearch">搜索</el-button>
</el-form>
</div>
<div class="lists">
<el-table
stripe
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%;"
height="calc(100vh - 360px)"
@selection-change="listPick"
>
<el-table-column type="selection" width="60"></el-table-column>
<el-table-column
prop="name"
label="柜组"
align="center"
></el-table-column>
<el-table-column
prop="principalName"
label="柜组负责人"
align="center"
></el-table-column>
<el-table-column
prop="num"
label="柜组编号"
align="center"
></el-table-column>
<el-table-column
prop="area"
label="所在区域"
align="center"
></el-table-column>
<el-table-column
prop="adminStallList.length"
label="门店数量"
align="center"
width="120"
></el-table-column>
<el-table-column label="创建时间" width="120" align="center" prop="createDate"/>
<el-table-column label="操作" align="center" fixed="right" width="200">
<template slot-scope="scope">
<el-button type="text" class="btn" @click="handleDetail(scope.row.id)" >详情</el-button>
<el-button type="text" class="btn" @click="handleEdit(scope.row.id)" >编辑</el-button >
<el-button type="text" @click="handleDelete(scope.row.id)" class="listButtonRed">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.size"
layout="total, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div>
<add-counter ref="addCounter"></add-counter>
<counter-detail ref="counterDetail" :msgId="msgId" v-if="detailDialog" @handleDetailClose="handleDetailClose"></counter-detail>
<edit-counter ref="editCounter" :msgId="editId" v-if="editDialog" @handleEditClose="handleEditClose"></edit-counter>
</div>
</template>
<script>
import CounterDetail from "./components/counterDetail"
import AddCounter from "./components/addCounter"
import EditCounter from "./components/editCounter"
import { getList,stallDel } from "@/api/in/counter"
export default {
components: {
CounterDetail,
AddCounter,
EditCounter
},
data() {
return {
tableData: [],
list: {
search: {
bar: [
{
id: "1",
name: "全部"
},
{
id: "2",
name: "测试"
}
],
taskType: [
{
id: "1",
name: "全部"
},
{
id: "2",
name: "测试"
}
]
}
},
detailDialog: false,
counterDialog: false,
editDialog: false,
tableHeight: window.innerHeight * 0.5 ,
page:{
currentPage:1,
size:10,
total:0
},
form:{
keyWords:''
},
msgId: "",
editId: "",
multipleSelection:[]
};
},
mounted() {
this.getListData()
},
methods: {
getListData() {
let param = {}
let _this = this
param.keyWords = this.form.keyWords? this.form.keyWords : 0
param.pageNum = this.page.currentPage
getList(param).then(res => {
if(res.result == 'fail'){
_this.$message.error(res.errorMsg)
_this.tableData = []
}
if(res.result == 'success'){
let data = res.data.pageInfo.list
_this.tableData = data.map((v,i)=>{
let obj = {}
for(let key in v.adminShop){
obj[key] = v.adminShop[key]
obj.principalName = v.principal
}
return obj
})
_this.page.total = Number(res.data.pageInfo.total)
}
})
},
listPick(val) {
this.multipleSelection = val;
},
handleEdit(id) {
this.editId = id
this.editDialog = true
this.$refs.editCounter.counterDialog = true
},
//删除
handleDelete(id) {
let _this = this
this.$confirm('确定删除该柜组吗?', {
}).then(() => {
stallDel({shopIds:id}).then(res=>{
if(res.result == 'fail'){
_this.$message.error(res.errorMsg)
}
if(res.result == 'success'){
_this.getListData()
}
})
}).catch(() => {
this.$message.info("取消删除")
});
},
//批量删除
handleDelBatch(){
let _this = this
let delIds = this.multipleSelection.map(v=>{
return v.id
}).join(',')
this.$confirm('确定批量删除柜组吗?', {
}).then(() => {
stallDel({shopIds:delIds}).then(res=>{
if(res.result == 'fail'){
_this.$message.error(res.errorMsg)
}
if(res.result == 'success'){
_this.getListData()
}
})
}).catch(() => {
this.$message.info("取消删除")
});
},
handleEditClose() {
this.editDialog = false
},
pagesSizeChange() {},
pagesNowPageChange() {},
handleDetail(id) {
this.msgId = id
this.detailDialog = true
this.$refs.counterDetail.detailDialog = true
},
handleDetailClose() {
this.detailDialog = false
},
addCounter() {
this.$refs.addCounter.counterDialog= true
},
addCounterFinish() {
this.counterDialog = false
},
handleCurrentChange(val) {
this.page.currentPage = val
this.getListData()
},
//搜索 根据搜索条件查询
handleSearch(){
this.getListData()
},
},
/* mounted() {
this.$nextTick(() => {
this.tableHeight = window.innerHeight - 120;
})
} */
}
</script>
<style lang="scss" scoped>
.main {
position: relative;
background-color: #fff;
box-sizing: border-box;
height: 100%;
padding: 0px 16px 16px;
display: flex;
flex-direction: column;
justify-content: flex-start;
width: 100%;
box-shadow: 0px 2px 4px 0px #ddd;
}
.searchs {
height: 40px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.buttons {
width: 266px;
display: flex;
flex-direction: row;
justify-content: flex-start;
}
.buttonlight {
background-color: #e8e9fe;
color: #4e59c7;
border: 1px solid #4e59c7;
box-sizing: border-box;
}
.btn {
font-size:14px;
// font-weight:bold;
color:rgba(102,102,102,1);
}
.buttondark {
width: 88px;
height: 32px;
background-color: #4e59c7;
color: #ffffff;
border: 1px solid #4e59c7;
box-sizing: border-box;
}
.searchzone {
height: 40px;
width: auto;
min-width: 654px;
text-align: right;
}
.lists {
height: auto;
min-height: 70%;
width: 100%;
margin-top: 20px;
}
.listButtonRed {
color: #D0021B;
// font-weight: bold;
}
.pages {
height: 40px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}
.title {
height: 48px;
line-height: 48px;
color:rgba(56,56,56,1);
border-bottom: 1px solid #f8f8f8;
margin-bottom: 16px;
}
</style>
......@@ -30,28 +30,16 @@
</div> -->
<div class="content">
<mail v-if="index == '1' && isHistoryShow == false" @isShow="contorlHistoryShow"></mail>
<counter v-if="index == '2'"></counter>
<store v-if="index == '3'"></store>
<org v-if="index == '4'"></org>
<history v-if="isHistoryShow == true" @isShow="contorlHistoryShow"></history>
<mail></mail>
</div>
</d2-container>
</template>
<script>
import Mail from "./mail";
import Store from "./store";
import Org from "./org";
import Counter from "./counter";
import History from "./components/history";
export default {
components: {
Mail,
Store,
Org,
Counter,
History
Mail
},
data () {
return {
......
......@@ -24,6 +24,7 @@
default-expand-all
expand-on-click-node
@node-click="handleTreeClick"
:highlight-current="true"
>
</el-tree>
</div>
......@@ -167,8 +168,6 @@ export default {
addDialogShow: false,
editDialogShow: false,
deleteDialogShow: false,
counterDialog: false,
storeDialog: false,
nameDialog: false,
allNumber: "",
wNumber: "",
......@@ -409,8 +408,15 @@ export default {
}
};
</script>
<style >
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: #d0d0d0 !important;
}
</style>
<style scoped>
.trees >>> .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: #d0d0d0 !important;
}
.lines {
height: 55px;
align-items: center;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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