Commit 2925dd6b authored by xd's avatar xd

Merge branch 'master' of http://114.67.93.201/xulili/ybf

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