Commit 8d87583b authored by Z's avatar Z

Z: Dot: store strict search done.next unstrict search.

parents 38a69f35 2925dd6b
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
})
}
<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,25 +26,25 @@ ...@@ -30,25 +26,25 @@
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="请输入柜组编号"
/> />
...@@ -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,19 +93,9 @@ ...@@ -99,19 +93,9 @@
</template> </template>
<script> <script>
import { stallDetail, stallSave } from "@/api/in/counter"
export default { export default {
data() { 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) => { const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/ let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
if (!reg.test(value)) { if (!reg.test(value)) {
...@@ -122,42 +106,30 @@ export default { ...@@ -122,42 +106,30 @@ export default {
} }
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:'',
personList: [ stallIds: [],
{
id: "1",
name: "张三"
}, },
{ personList: [],
id: "2", stallData: [],
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
}) })
}, },
......
<template> <template>
<div class="ct"> <div class="ct">
<el-dialog <el-dialog
title="请选择分组"
:visible.sync="moveDialog" :visible.sync="moveDialog"
width="30%" width="30%"
:show-close="false" :show-close="false"
...@@ -202,10 +203,10 @@ export default { ...@@ -202,10 +203,10 @@ export default {
padding: 6px 5px; padding: 6px 5px;
} }
.ct >>> .el-dialog__header { .ct >>> .el-dialog__header {
padding: 0 !important; border-bottom: 1px solid #f8f8f8;
} }
.ct >>> .el-dialog__body { .ct >>> .el-dialog__body {
padding: 40px; padding: 20px 40px;
} }
.ct >>> .el-transfer-panel { .ct >>> .el-transfer-panel {
width: 250px; width: 250px;
......
...@@ -4,25 +4,20 @@ ...@@ -4,25 +4,20 @@
<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">
...@@ -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,20 +150,51 @@ export default { ...@@ -167,20 +150,51 @@ 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(() => {
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(() => { }).catch(() => {
this.$message.info("取消删除") this.$message.info("取消删除")
}); });
...@@ -207,6 +221,13 @@ export default { ...@@ -207,6 +221,13 @@ export default {
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
}, },
//搜索 根据搜索条件查询
handleSearch(){
this.getList()
},
}, },
/* mounted() { /* mounted() {
this.$nextTick(() => { this.$nextTick(() => {
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
:props="orgData" :props="orgData"
:data="data1" :data="data1"
node-key="id" node-key="id"
default-expand-all
expand-on-click-node expand-on-click-node
@node-click="handleTreeClick" @node-click="handleTreeClick"
> >
......
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