<template> <div class="main"> <div class="title">全部门店( 共5个 )</div> <div class="searchs"> <div class="buttons"> <el-button class="button buttonlight" size="small" @click="addStore">添加门店</el-button> <el-button class="button buttondark" size="small">批量删除</el-button> </div> <!-- 搜索区 --> <el-form class="searchzone" :inline="true" :model="data.search" label-width="auto"> <el-form-item label="关键词"> <el-input size="small" v-model="data.search.keys" style="width:160px" placeholder="请输入关键词" /> </el-form-item> <el-button class="button buttondark" size="small" style="margin-top:4px;">搜索</el-button> </el-form> </div> <div class="lists"> <el-table stripe class="list" ref="multipleTable" :data="list.main" tooltip-effect="dark" style="width: 100%" @selection-change="listPick" height="calc(100vh - 360px)" > <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="type" label="门店类型" align="center" width="120"></el-table-column> <el-table-column prop="principal" label="门店负责人" align="center" width="120"></el-table-column> <el-table-column prop="shopId" label="所属柜组" align="center" width="120"></el-table-column> <el-table-column prop="location" label="位置" align="center" width="120"></el-table-column> <el-table-column prop="signNum" label="门牌号" align="center" width="120"></el-table-column> <el-table-column label="操作" align="center" fixed="right" width="200"> <template slot-scope="scope"> <el-button type="text" @click="storeGetStoreDetail(scope.row.id)" class="btn">详情</el-button> <el-button type="text" @click="testButtonClick(scope.row.id)" class="btn">编辑</el-button> <el-button type="text" @click="storeDelStore(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-store ref="addStore"></add-store> <store-detail ref="storeDetail"></store-detail> <div class="ztask-dialogs"> <el-dialog title="门店详情" :visible.sync="zcache.status.seeDialog" width="50%" :before-close="dialogSeeClose" > <div class="dialogMain"> <el-form :model="zdata.see" label-width="120px"> <el-row> <el-col :span="24"> <el-form-item label="门店名称:"> <el-input :disabled="true" v-model="zdata.see.storeName" autocomplete="off" placeholder="门店名称缺失" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="门店类型:"> <el-input :disabled="true" v-model="zdata.see.storeType" autocomplete="off" placeholder="门店类型为空" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="所属柜组:"> <el-input :disabled="true" v-model="zdata.see.storeFromBar" autocomplete="off" placeholder="柜组信息未知" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="门店负责人:"> <el-input :disabled="true" v-model="zdata.see.storeBossName" autocomplete="off" placeholder="门店负责人未知" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="门牌号:"> <el-input :disabled="true" v-model="zdata.see.storeDoorId" autocomplete="off" placeholder="门牌号未知" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="位置:"> <el-input :disabled="true" v-model="zdata.see.storeAddress" autocomplete="off" placeholder="位置未知" ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="店员:"> <el-table class="list" :data="zdata.see.storeManList" tooltip-effect="dark"> <el-table-column type="index" width="50" align="center"></el-table-column> <el-table-column prop="userName" label="门店名称" align="center"></el-table-column> <el-table-column prop="userId" label="门店类型" align="center"></el-table-column> <el-table-column prop="mobile" label="门店类型" align="center"></el-table-column> </el-table> </el-form-item> </el-col> </el-row> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="dialogSeeClose">关 闭</el-button> <!-- <el-button size="small" type="primary" @click="dialogSeeSubmitSend('seeForm')">任务下发</el-button> --> </span> </el-dialog> </div> </div> </template> <script> import AddStore from "./components/addStore"; import StoreDetail from "./components/storeDetail"; import { ApiStoreGetMainList, ApiStoreGetStoreDetail, ApiStoreDelStore } from "@api/in/store"; import axios from "axios"; const zlog = console.log.bind(console); export default { components: { AddStore, StoreDetail }, data() { return { zcache: { status: { seeDialog: false } }, zdata: { see: { storeName: "storeName", storeType: "storeType", storeFromBar: "storeFromBar", storeBossName: "storeBossName", storeDoorId: "storeDoorId", storeAddress: "storeAddress", storeManList: [ { userName: "Alice", userId: "wx0001", mobile: "110" }, { userName: "Bob", userId: "wx0002", mobile: "120" } ] } }, page: { currentPage: 1, size: 20, total: 100 }, list: { testMain: [ { id: "1001", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1002", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1003", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1003", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1003", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1003", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" }, { id: "1003", taskName: "2019年男装销售任务", taskType: "拉新", bar: "男装", taskContent: "任务内容任务内容任务内容...", sendDate: "2019/02/08" } ], main: [], man: [], search: { bar: [ { id: "1", name: "全部" }, { id: "2", name: "测试" } ], taskType: [ { id: "1", name: "全部" }, { id: "2", name: "测试" } ] } }, tableHeight: window.innerHeight * 0.5, data: { search: { bar: "", taskType: "", date: "", keys: "" }, page: { nowPageNum: 4 } }, msgId: "", detailDialog: false }; }, watch: { // addStoreDialog() { addStoreDialog() { if ((this.$refs.addStore.addStoreDialog = false)) { this.storeGetMainList(); } } }, // created() { // this.storeGetMainList(); // zlog('--->Created!') // }, mounted() { this.storeGetMainList(); }, methods: { matchManIdAndManName(inId) { let manList = this.list.man; let manName = "未知"; for (let i = 0; i < this.list.man.length; i++) { let item = manList[i]; if (item.id == inId) { manName = item.userName; } } return manName; }, transManIdToManName() { let mainList = this.list.main; let id = ""; let name = ""; for (let i = 0; i < mainList.length; i++) { id = this.list.main[i].principal; name = this.matchManIdAndManName(id); this.list.main[i].principal = name; } }, storeGetMainList() { // zlog("--->In Get API!"); let postData = { pageNum: 1 }; ApiStoreGetMainList(postData).then(res => { this.list.main = res.data.pageInfo_adminStalls.list[0]; this.list.man = res.data.pageInfo_principals.list[0]; this.transManIdToManName(); }); }, storeGetStoreDetail(inData) { let postData = { isDetail: true, stallId: inData }; ApiStoreGetStoreDetail(postData) .then(res => { this.zdata.see.storeName = res.data.adminStall.name; this.zdata.see.storeType = res.data.adminStall.type; this.zdata.see.storeFromBar = res.data.adminStall.shopId; this.zdata.see.storeBossName = res.data.principal.userName; this.zdata.see.storeDoorId = res.data.adminStall.signNum; this.zdata.see.storeAddress = res.data.adminStall.location; this.zdata.see.storeManList = res.data.clerks_unselected }) .catch(err => {}); this.zcache.status.seeDialog = true; // let postData = { // isDetail: true, // stallId: inData // }; // this.msgId = id; // this.detailDialog = true; // this.$refs.storeDetail.detailDialog = true; // ApiStoreGetStoreDetail(postData).then(res => { // }); }, storeDelStore(inData) { let postData = { stallId: 123456 }; ApiStoreDelStore(inData) .then(res => { console.log("--->delRes =", res); if (res.result == "success") { this.$message({ message: "删除成功", type: "success" }); this.storeGetMainList(); } else { this.$message({ message: "删除失败!", type: "error" }); } }) .catch(err => { this.$message({ message: "删除失败!", type: "error" }); }); }, listPick() {}, testButtonClick() {}, pagesSizeChange() {}, pagesNowPageChange() {}, setListsHeadStyle({ row, column, rowIndex, columnIndex }) { if (rowIndex === 0) { return "background-color: #0B0F32; border-right: 1px solid white;color: white;"; } else { return ""; } }, addStore() { this.$refs.addStore.addStoreDialog = true; }, handleDetail() { this.$refs.storeDetail.detailDialog = true; }, handleCurrentChange(val) { console.log(`当前页: ${val}`); }, dialogSeeClose() { this.zcache.status.seeDialog = false; } } }; </script> <style lang="scss" scoped> .btn { font-size: 14px; font-weight: bold; color: rgba(102, 102, 102, 1); } .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; } .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; } .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>