Commit a3dc34e7 authored by xulili's avatar xulili

柜组接口

parent c0c3ef7d
import request from '@/utils/request' import request from '@/utils/request'
export function getList() { export function getList(params) {
  return request({   return request({
    url: 'admin/auth/shop/shopPage',     url: 'admin/auth/shop/shopPage',
    method: 'get',     method: 'get',
  }) params
   })
} }
export function getDetail(inData) { export function getDetail(inData) {
  return request({   return request({
...@@ -13,5 +14,25 @@ export function getList() { ...@@ -13,5 +14,25 @@ export function getList() {
    params: inData     params: inData
  })   })
} }
export function stallDetail(params) {
return request({
url: '/admin/auth/shop/newShopPage',
method: 'get',
params: params
})
}
export function stallSave(params) {
return request({
url: '/admin/auth/shop/save',
method: 'post',
params
})
}
export function stallDel(params) {
return request({
url: '/admin/auth/shop/delete',
method: 'post',
params
})
}
\ No newline at end of file
<template> <template>
<div class="ct"> <div class="ct">
<el-dialog <el-dialog :visible.sync="counterDialog" width="800px"
:visible.sync="counterDialog" class="dialog" :show-close="false" :before-close="handleClose" top="5vh"
width="65%"
class="dialog"
:show-close="false"
:before-close="handleClose"
> >
<div class="choose"> <div class="choose">
<div class="title"> <div class="title">
...@@ -30,29 +26,29 @@ ...@@ -30,29 +26,29 @@
placeholder="请输入柜组名称" placeholder="请输入柜组名称"
/> />
</el-form-item> </el-form-item>
<el-form-item label="柜组负责人:" prop="people"> <el-form-item label="柜组负责人:" prop="principal">
<el-select <el-select
size="small" size="small"
v-model="formData.people" v-model="formData.principal"
placeholder="请选择柜组负责人" placeholder="请选择柜组负责人"
style="width:240px" style="width:240px"
> >
<el-option <el-option
v-for="item in personList" v-for="item in personList"
:key="item.id" :key="item.id"
:label="item.name" :label="item.userName"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="柜组编号:" prop="code"> <el-form-item label="柜组编号:" prop="num">
<el-input <el-input
size="small" size="small"
v-model="formData.code" v-model="formData.num"
style="width:240px" style="width:240px"
placeholder="请输入柜组编号" placeholder="请输入柜组编号"
/> />
</el-form-item> </el-form-item>
<el-form-item label="所在区域:" prop="area"> <el-form-item label="所在区域:" prop="area">
<el-input <el-input
size="small" size="small"
...@@ -62,23 +58,21 @@ ...@@ -62,23 +58,21 @@
/> />
</el-form-item> </el-form-item>
<div class="cs"> <div class="cs">
<el-form-item label="门店:"> </el-form-item> <el-form-item label="门店:" prop="stallIds">
<div>
<el-transfer <el-transfer
style="text-align: left; display: inline-block" style="text-align: left; display: inline-block"
v-model="value4" v-model="formData.stallIds"
:left-default-checked="[]" :left-default-checked="[]"
:right-default-checked="[]" :right-default-checked="[]"
:titles="['选择', '已选']" :titles="['选择', '已选']"
:button-texts="['删除', '添加']" :button-texts="['删除', '添加']"
@change="handleChange" @change="handleChange"
:data="data" :data="stallData"
> >
<span slot-scope="{ option }" <span slot-scope="{ option }">{{ option.name }}</span
>{{ option.key }} - {{ option.label }}</span
> >
</el-transfer> </el-transfer>
</div> </el-form-item>
</div> </div>
</el-form> </el-form>
</div> </div>
...@@ -99,65 +93,43 @@ ...@@ -99,65 +93,43 @@
</template> </template>
<script> <script>
import { stallDetail, stallSave } from "@/api/in/counter"
export default { export default {
data() { data() {
const generateData = _ => { const nameValidate = (rule, value, callback) => {
const data = []; let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
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)) { if (!reg.test(value)) {
callback(new Error('含有非法字符(只能输入字母、汉字)!')) callback(new Error('含有非法字符(只能输入字母、汉字)!'))
} else { } else {
callback() callback()
} }
} }
return { return {
counterDialog: false, counterDialog: false,
data: generateData(), value4: [],
value: [1],
value4: [1],
renderFunc(h, option) {
return (
<span>
{option.key} - {option.label}
</span>
);
},
formData: { formData: {
name: "", name: "",
code: "", num: "",
people: "" principal:"",
area:'',
stallIds: [],
}, },
personList: [ personList: [],
{ stallData: [],
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
],
rules: { rules: {
name: [{ required: true, message: "请输入柜组名称", trigger: "blur" }, name: [{ required: true, message: "请输入柜组名称", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' }, { max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }], { validator: nameValidate, trigger: "blur" }],
people: [ principal: [
{ required: true, message: "请选择活动负责人", trigger: "change" } { required: true, message: "请选择活动负责人", trigger: "change" }
], ],
code: [{ required: true, message: "请输入柜组编号", trigger: "blur" }, num: [{ required: true, message: "请输入柜组编号", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' }, { max: 50, message: '长度在50个字符以内', trigger: 'blur' }],
{ validator: nameValidate, trigger: "blur" }], stallIds:[
{ required: true, message: "请选择门店", trigger: "blur" },
{ required: true, message: "请选择门店", trigger: "change" },
],
area: [{ required: true, message: "请输入所在区域", trigger: "blur" }, area: [{ required: true, message: "请输入所在区域", trigger: "blur" },
{ max: 50, message: '长度在50个字符以内', trigger: 'blur' }, { max: 50, message: '长度在50个字符以内', trigger: 'blur' },
{ validator: nameValidate, trigger: "blur" }] { validator: nameValidate, trigger: "blur" }]
...@@ -165,6 +137,9 @@ export default { ...@@ -165,6 +137,9 @@ export default {
} }
}; };
}, },
mounted(){
this.getPersonList()
},
methods: { methods: {
handleChange() {}, handleChange() {},
handleClose(done) { handleClose(done) {
...@@ -179,15 +154,35 @@ export default { ...@@ -179,15 +154,35 @@ export default {
this.counterDialog = false; this.counterDialog = false;
}, },
handleFinish(formName) { handleFinish(formName) {
let _this = this
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.counterDialog = false; // 调用新增接口
// 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 { } else {
console.log('error submit!!'); console.log('error submit!!');
return false; 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:{ watch:{
counterDialog(){ counterDialog(){
......
<template> <template>
<div class="ct"> <div class="ct">
<el-dialog <el-dialog :visible.sync="detailDialog" width="65%" :show-close="false" >
:visible.sync="detailDialog"
width="65%"
:show-close="false"
>
<div class="choose"> <div class="choose">
<div class="title"> <div class="title">
<div class="cg">柜组详情</div> <div class="cg">柜组详情</div>
...@@ -102,26 +98,8 @@ export default { ...@@ -102,26 +98,8 @@ export default {
people: "" people: ""
}, },
tableData: [], tableData: [],
personList: [ personList: [],
{ counter:[]
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
],
counter:[
{
id: "1",
name: "张三"
},
{
id: "2",
name: "李四"
}
]
}; };
}, },
created() { created() {
...@@ -139,9 +117,9 @@ export default { ...@@ -139,9 +117,9 @@ export default {
let data = res.data let data = res.data
this.formData.name = data.shop.name this.formData.name = data.shop.name
this.formData.code = data.shop.num this.formData.code = data.shop.num
this.formData.people = data.shop.principal this.formData.people = data.principal.userName
this.formData.area = data.shop.area this.formData.area = data.shop.area
this.tableData = data.stall_unselected this.tableData = data.shop.adminStallList
}) })
}, },
...@@ -157,9 +135,9 @@ export default { ...@@ -157,9 +135,9 @@ export default {
watch:{ watch:{
detailDialog(newValue) { detailDialog(newValue) {
// this.getDetail() // this.getDetail()
}, },
} }
}; };
</script> </script>
......
...@@ -4,30 +4,25 @@ ...@@ -4,30 +4,25 @@
<div class="searchs"> <div class="searchs">
<div class="buttons"> <div class="buttons">
<el-button class="button buttonlight" size="small" @click="addCounter">添加柜组</el-button> <el-button class="button buttonlight" size="small" @click="addCounter">添加柜组</el-button>
<el-button class="button buttondark" size="small">批量删除</el-button> <el-button class="button buttondark" size="small" v-if="multipleSelection.length>1" @click="handleDelBatch">批量删除</el-button>
</div> </div>
<!-- 搜索区 --> <!-- 搜索区 -->
<el-form <el-form
class="searchzone" class="searchzone"
:inline="true" :inline="true"
:model="data.search" :model="form"
label-width="auto" label-width="auto"
> >
<el-form-item label="关键词"> <el-form-item label="关键词">
<el-input <el-input size="small" v-model="form.keyWords" style="width:160px"
size="small" placeholder="请输入关键词" clearable/>
v-model="data.search.keys"
style="width:160px"
placeholder="请输入关键词"
/>
</el-form-item> </el-form-item>
<el-button class="button buttondark" size="small" style="margin-top:4px;">搜索</el-button> <el-button class="button buttondark" size="small" style="margin-top:4px;" @click="handleSearch">搜索</el-button>
</el-form> </el-form>
</div> </div>
<div class="lists"> <div class="lists">
<el-table <el-table
stripe stripe
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
tooltip-effect="dark" tooltip-effect="dark"
...@@ -95,16 +90,11 @@ ...@@ -95,16 +90,11 @@
<edit-counter ref="editCounter" :msgId="editId" v-if="editDialog" @handleEditClose="handleEditClose"></edit-counter> <edit-counter ref="editCounter" :msgId="editId" v-if="editDialog" @handleEditClose="handleEditClose"></edit-counter>
</div> </div>
</template> </template>
<script> <script>
import CounterDetail from "./components/counterDetail" import CounterDetail from "./components/counterDetail"
import AddCounter from "./components/addCounter" import AddCounter from "./components/addCounter"
import EditCounter from "./components/editCounter" import EditCounter from "./components/editCounter"
import { getList } from "@/api/in/counter" import { getList,stallDel } from "@/api/in/counter"
export default { export default {
components: { components: {
CounterDetail, CounterDetail,
...@@ -138,17 +128,6 @@ export default { ...@@ -138,17 +128,6 @@ export default {
] ]
} }
}, },
data: {
search: {
bar: "",
taskType: "",
date: "",
keys: ""
},
page: {
nowPageNum: 4
}
},
detailDialog: false, detailDialog: false,
counterDialog: false, counterDialog: false,
editDialog: false, editDialog: false,
...@@ -156,10 +135,14 @@ export default { ...@@ -156,10 +135,14 @@ export default {
page:{ page:{
currentPage:1, currentPage:1,
size:20, size:20,
total:100 total:0
},
form:{
keyWords:''
}, },
msgId: "", msgId: "",
editId: "" editId: "",
multipleSelection:[]
}; };
}, },
mounted() { mounted() {
...@@ -167,33 +150,64 @@ export default { ...@@ -167,33 +150,64 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
getList().then(res => { let param = {}
this.tableData = res.data.adminShops 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'){
_this.tableData = res.data.adminShops
}
}) })
}, },
listPick() {}, listPick(val) {
this.multipleSelection = val;
},
handleEdit(id) { handleEdit(id) {
this.editId = id this.editId = id
this.editDialog = true this.editDialog = true
this.$refs.editCounter.counterDialog = true this.$refs.editCounter.counterDialog = true
}, },
//删除
handleDelete(id) { handleDelete(id) {
let _this = this
this.$confirm('确定删除该柜组吗?', { this.$confirm('确定删除该柜组吗?', {
}).then(() => { }).then(() => {
this.$message.success("删除成功") stallDel({shopIds:id}).then(res=>{
_this.$message(res.data)
})
}).catch(() => { }).catch(() => {
this.$message.info("取消删除") 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=>{
_this.$message(res.data)
})
}).catch(() => {
this.$message.info("取消删除")
});
}, },
handleEditClose() { handleEditClose() {
this.editDialog = false this.editDialog = false
}, },
pagesSizeChange() {}, pagesSizeChange() {},
pagesNowPageChange() {}, pagesNowPageChange() {},
handleDetail(id) { handleDetail(id) {
this.msgId = id this.msgId = id
this.detailDialog = true this.detailDialog = true
this.$refs.counterDetail.detailDialog = true this.$refs.counterDetail.detailDialog = true
}, },
handleDetailClose() { handleDetailClose() {
this.detailDialog = false this.detailDialog = false
...@@ -207,11 +221,18 @@ export default { ...@@ -207,11 +221,18 @@ export default {
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
}, },
//搜索 根据搜索条件查询
handleSearch(){
this.getList()
},
}, },
/* mounted() { /* mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.tableHeight = window.innerHeight - 120; this.tableHeight = window.innerHeight - 120;
}) })
} */ } */
} }
</script> </script>
......
...@@ -583,7 +583,7 @@ export default { ...@@ -583,7 +583,7 @@ export default {
}else { }else {
this.groupId = data.id this.groupId = data.id
this.getGroupMember(1,1) this.getGroupMember(1,1)
} }
}, },
getGroupMember(page,ctPage) { getGroupMember(page,ctPage) {
this.page.currentPage = ctPage this.page.currentPage = ctPage
...@@ -609,7 +609,7 @@ export default { ...@@ -609,7 +609,7 @@ export default {
this.page.total = Number(res.data.total); this.page.total = Number(res.data.total);
this.totalNumber = Number(res.data.total) this.totalNumber = Number(res.data.total)
}); });
}, },
synchronismMember() { synchronismMember() {
this.isShow = true; this.isShow = true;
this.$emit("isShow", this.isShow); this.$emit("isShow", this.isShow);
...@@ -619,7 +619,7 @@ export default { ...@@ -619,7 +619,7 @@ export default {
}, },
removeFinish() { removeFinish() {
this.handleTypeChange(1,1) this.handleTypeChange(1,1)
this.moveDialogShow = false; this.moveDialogShow = false;
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
let ctPage = val let ctPage = val
...@@ -654,7 +654,7 @@ export default { ...@@ -654,7 +654,7 @@ export default {
}, },
handleMemberChange(val) { handleMemberChange(val) {
console.log(val,"val"); console.log(val,"val");
let ids = [] let ids = []
val.map(function(item) { val.map(function(item) {
ids.push(item.id) ids.push(item.id)
......
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