Prechádzať zdrojové kódy

管理后台-创建门店

panyong 3 rokov pred
rodič
commit
75db1ed2cf

+ 20 - 1
htmldev/manage/src/router/modules/business.js

@@ -11,7 +11,26 @@ const businessRouter = {
       path: 'outlet',
       component: () => import('@/views/business/outlet/index'),
       name: 'BusinessOutlet',
-      meta: { title: '门店管理', icon: 'el-icon-s-shop' }
+      meta: { title: '门店管理', icon: 'el-icon-s-shop' },
+      redirect: '/business/outlet/list',
+      children: [
+        {
+          path: 'list',
+          component: () => import('@/views/business/outlet/list/index'),
+          name: 'BusinessOutletList',
+          meta: { title: '门店列表' }
+        },
+        {
+          hidden: true,
+          path: 'detail',
+          component: () => import('@/views/business/outlet/detail/index'),
+          name: 'BusinessOutletDetail',
+          meta: { title: '门店详情', noCache: true },
+          props: (route) => ({
+            id: route.query.id
+          })
+        }
+      ]
     },
     {
       path: 'place',

+ 19 - 0
htmldev/manage/src/views/business/outlet/detail/index.vue

@@ -0,0 +1,19 @@
+<template>
+  <div>{{ id }}</div>
+</template>
+
+<script>
+export default {
+  name: 'index',
+  props: {
+    id: {
+      type: [String, Number],
+      default: ''
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 127
htmldev/manage/src/views/business/outlet/index.vue

@@ -1,134 +1,8 @@
 <template>
-  <div class="padding-20">
-    <div class="search-box">
-      <el-form ref="form" :inline="true" :model="searchForm" clearable label-width="100px" class="mt-10">
-        <el-form-item label="创建时间:">
-          <el-date-picker
-            :editable="false"
-            v-model="time"
-            @change="timearr => {timearr ? (searchForm.start_time = timearr[0] + ' 00:00:00', searchForm.end_time = timearr[1] + ' 23:59:59') : searchForm.start_time = searchForm.end_time = undefined}"
-            type="daterange"
-            value-format="yyyy-MM-dd"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item label="部门名称:">
-          <el-input v-model="searchForm.department_name" placeholder="请输入部门名称" clearable></el-input>
-        </el-form-item>
-        <el-form-item class="ml-10">
-          <el-button icon="el-icon-search" type="primary" @click="searchSubmit">查询</el-button>
-        </el-form-item>
-        <el-form-item class="ml-10">
-          <el-button icon="el-icon-plus"
-                     type="primary"
-                     @click="add">新增
-          </el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-table :data="tableData"
-              stripe
-              v-loading="tableLoading"
-              fit
-              class="marginT-10 order-table"
-              border
-              :max-height="vheight">
-      <el-table-column fixed label="编号" prop="id"></el-table-column>
-      <el-table-column label="酒吧名称" prop="bar_name"></el-table-column>
-      <el-table-column label="门店地址" prop="bar_address"></el-table-column>
-      <el-table-column label="门店图片">
-        <template slot-scope="scope">
-          <el-image
-            style="width: 100px; height: 100px"
-            :src="scope.row.bar_img_url"
-            :preview-src-list="scope.row.bar_img_url[0]">
-          </el-image>
-        </template>
-      </el-table-column>
-      <el-table-column label="酒吧状态">
-        <template slot-scope="scope">
-          <p>{{ ['无效', '有效'][scope.row.bar_status] }}</p>
-        </template>
-      </el-table-column>
-      <el-table-column label="点歌开始时间" prop="bar_song_start_time"></el-table-column>
-      <el-table-column label="点歌结束时间" prop="bar_song_end_time"></el-table-column>
-      <el-table-column label="酒吧座位预定开始时间" prop="bar_place_reserve_start_time"></el-table-column>
-      <el-table-column label="酒吧座位预定结束时间" prop="bar_place_reserve_end_time"></el-table-column>
-      <el-table-column label="备注"></el-table-column>
-      <el-table-column fixed="right" label="操作" width="200">
-        <template slot-scope="scope">
-          <el-button type="text" @click="edit(scope.row)">编辑</el-button>
-          <el-button type="text" @click="del(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      class="marginT-20"
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :hide-on-single-page="true"
-      :current-page="page"
-      :page-size="page_size"
-      :page-sizes="[10, 20, 100, 200, 300, 400]"
-      background
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="totalCount"/>
-    <detail v-if="detailsDialog.show"
-            v-model="detailsDialog.show"
-            :exData="detailsDialog.exData"
-            @success="init"></detail>
-  </div>
+  <router-view/>
 </template>
 
 <script>
-import page from '@/mixin/page'
-import detail from './details'
-
-export default {
-  mixins: [page],
-  components: {
-    detail,
-  },
-  data () {
-    return {
-      detailsDialog: {
-        show: false,
-        exData: {}
-      },
-      time: [],
-      searchForm: {},
-      tableData: [],
-      tableUrl: '/v1/bar/list'
-    }
-  },
-  methods: {
-    add () {
-      this.detailsDialog.exData = {}
-      this.detailsDialog.show = true
-    },
-    edit (row) {
-      this.detailsDialog.exData = row
-      this.detailsDialog.show = true
-    },
-    del (row) {
-      this.$confirm('确定要删除吗', '确认', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(async () => {
-        const data = await this.$fetch('/api/auth/department/del', { id: row.id })
-        if (data.code === 200) {
-          this.$message.success('删除成功')
-          this.init()
-        }
-      }).catch(() => {})
-    }
-  },
-  mounted () {
-    this.init()
-  },
-}
 </script>
 
 <style lang="scss" scoped>

+ 0 - 0
htmldev/manage/src/views/business/outlet/details.vue → htmldev/manage/src/views/business/outlet/list/details.vue


+ 138 - 0
htmldev/manage/src/views/business/outlet/list/index.vue

@@ -0,0 +1,138 @@
+<template>
+  <div class="padding-20">
+    <div class="search-box">
+      <el-form ref="form" :inline="true" :model="searchForm" clearable label-width="100px" class="mt-10">
+        <el-form-item label="创建时间:">
+          <el-date-picker
+            :editable="false"
+            v-model="time"
+            @change="timearr => {timearr ? (searchForm.start_time = timearr[0] + ' 00:00:00', searchForm.end_time = timearr[1] + ' 23:59:59') : searchForm.start_time = searchForm.end_time = undefined}"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item label="部门名称:">
+          <el-input v-model="searchForm.department_name" placeholder="请输入部门名称" clearable></el-input>
+        </el-form-item>
+        <el-form-item class="ml-10">
+          <el-button icon="el-icon-search" type="primary" @click="searchSubmit">查询</el-button>
+        </el-form-item>
+        <el-form-item class="ml-10">
+          <el-button icon="el-icon-plus"
+                     type="primary"
+                     @click="add">新增
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-table :data="tableData"
+              stripe
+              v-loading="tableLoading"
+              fit
+              class="marginT-10 order-table"
+              border
+              :max-height="vheight">
+      <el-table-column fixed label="编号" prop="id"></el-table-column>
+      <el-table-column label="酒吧名称" prop="bar_name"></el-table-column>
+      <el-table-column label="门店地址" prop="bar_address"></el-table-column>
+      <el-table-column label="门店图片">
+        <template slot-scope="scope">
+          <el-image
+            style="width: 100px; height: 100px"
+            :src="scope.row.bar_img_url"
+            :preview-src-list="scope.row.bar_img_url[0]">
+          </el-image>
+        </template>
+      </el-table-column>
+      <el-table-column label="酒吧状态">
+        <template slot-scope="scope">
+          <p>{{ ['无效', '有效'][scope.row.bar_status] }}</p>
+        </template>
+      </el-table-column>
+      <el-table-column label="点歌开始时间" prop="bar_song_start_time"></el-table-column>
+      <el-table-column label="点歌结束时间" prop="bar_song_end_time"></el-table-column>
+      <el-table-column label="酒吧座位预定开始时间" prop="bar_place_reserve_start_time"></el-table-column>
+      <el-table-column label="酒吧座位预定结束时间" prop="bar_place_reserve_end_time"></el-table-column>
+      <el-table-column label="备注"></el-table-column>
+      <el-table-column fixed="right" label="操作" width="200">
+        <template slot-scope="scope">
+          <el-button type="text"
+                     @click="$router.push({name: 'BusinessOutletDetail', query: { id: scope.row.id }})">查看
+          </el-button>
+          <el-button type="text" @click="edit(scope.row)">编辑</el-button>
+          <el-button type="text" @click="del(scope.row)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      class="marginT-20"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :hide-on-single-page="true"
+      :current-page="page"
+      :page-size="page_size"
+      :page-sizes="[10, 20, 100, 200, 300, 400]"
+      background
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="totalCount"/>
+    <detail v-if="detailsDialog.show"
+            v-model="detailsDialog.show"
+            :exData="detailsDialog.exData"
+            @success="init"></detail>
+  </div>
+</template>
+
+<script>
+import page from '@/mixin/page'
+import detail from './details'
+
+export default {
+  mixins: [page],
+  components: {
+    detail,
+  },
+  data () {
+    return {
+      detailsDialog: {
+        show: false,
+        exData: {}
+      },
+      time: [],
+      searchForm: {},
+      tableData: [],
+      tableUrl: '/v1/bar/list'
+    }
+  },
+  methods: {
+    add () {
+      this.detailsDialog.exData = {}
+      this.detailsDialog.show = true
+    },
+    edit (row) {
+      this.detailsDialog.exData = row
+      this.detailsDialog.show = true
+    },
+    del (row) {
+      this.$confirm('确定要删除吗', '确认', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async () => {
+        const data = await this.$fetch('/api/auth/department/del', { id: row.id })
+        if (data.code === 200) {
+          this.$message.success('删除成功')
+          this.init()
+        }
+      }).catch(() => {})
+    }
+  },
+  mounted () {
+    this.init()
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+</style>