Kaynağa Gözat

管理后台-商品管理:商品分类

panyong 3 yıl önce
ebeveyn
işleme
bac7921a73

+ 119 - 0
htmldev/manage/src/views/business/pms/category/details.vue

@@ -0,0 +1,119 @@
+<template>
+  <div>
+    <el-dialog :title="exData.id ? '编辑': '新增'"
+               :visible.sync="dialog"
+               width="50%"
+               :close-on-click-modal="false"
+               top="50px">
+      <el-form ref="form"
+               :model="form"
+               :rules="formRules"
+               label-width="160px">
+        <el-form-item prop="place_name"
+                      :rules="formRules.required"
+                      label="分类名称:">
+          <el-col :span="16">
+            <el-input v-model="form.place_name"
+                      placeholder="请输入座位名称"
+                      clearable></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item prop="order_sign_status"
+                      :rules="formRules.required"
+                      label="是否显示:">
+          <el-radio v-model="form.order_sign_status" label="1">显示</el-radio>
+          <el-radio v-model="form.order_sign_status" label="0">不显示</el-radio>
+        </el-form-item>
+        <el-form-item prop="place_name"
+                      :rules="formRules.InterNum"
+                      label="排序:">
+          <el-col :span="16">
+            <el-input v-model="form.place_name"
+                      type="number"
+                      placeholder="请输入顺序编号"
+                      clearable></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer text-center">
+        <el-button @click="dialog = false">取 消</el-button>
+        <el-button @click.prevent="addDomain">新增桌号</el-button>
+        <el-button type="primary" @click="handleSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { fen2Yuan, yuan2Fen } from '@/utils'
+
+export default {
+  components: {},
+  props: {
+    value: {
+      type: Boolean,
+      default: true
+    },
+    exData: {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    }
+  },
+  data () {
+    return {
+      dialog: !!this.value,
+      form: {
+        place_name: '' // 座位名称
+      }
+    }
+  },
+  methods: {
+    handleSubmit () {
+      const url = this.exData.id ? '/v1/bar/place/template/modify' : '/v1/bar/place/template/add'
+      this.$refs.form.validate(async valid => {
+        if (valid) {
+          const data = await this.$fetch(url, {
+            ...this.form,
+            place_price: yuan2Fen(this.form.place_price)
+          })
+          if (data.code === 200) {
+            this.$message.success('提交成功')
+            this.$emit('success')
+            this.dialog = false
+          }
+        }
+      })
+    }
+  },
+  mounted () {
+    if (this.exData.id) {
+      this.$set(this.form, 'id', this.exData.id)
+      for (const key in this.exData) {
+        if (this.form.hasOwnProperty(key)) {
+          let value = this.exData[key]
+          if ((Array.isArray(value) && value.length > 0) || value === 0 || value) {
+            if (key === 'place_price') {
+              value = fen2Yuan(value)
+            }
+            this.$set(this.form, key, value)
+          }
+        }
+      }
+    }
+  },
+  watch: {
+    dialog (val) {
+      if (!val) this.$emit('input', val)
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.top-tip {
+  margin-top: -20px;
+  margin-bottom: 20px;
+}
+</style>

+ 113 - 2
htmldev/manage/src/views/business/pms/category/index.vue

@@ -1,13 +1,124 @@
 <template>
-  <div>订单</div>
+  <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-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 label="ID" prop="id"></el-table-column>
+      <el-table-column label="分类名称" prop="place_name" width="240"></el-table-column>
+      <el-table-column label="商品数量" prop="place_desc"></el-table-column>
+      <el-table-column label="排序" prop="place_num"></el-table-column>
+      <el-table-column label="是否显示" prop="place_user_max"></el-table-column>
+      <el-table-column label="操作" width="220">
+        <template slot-scope="scope">
+          <el-button type="text"
+                     @click="edit(scope.row)">转移商品
+          </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 {
-  name: 'index'
+  mixins: [page],
+  components: {
+    detail,
+  },
+  data () {
+    return {
+      detailsDialog: {
+        show: false,
+        exData: {}
+      },
+      time: [],
+      searchForm: {},
+      tableData: [],
+      tableUrl: '/v1/bar/place/template/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('/v1/bar/place/template/delete', { id: row.id }, 'get')
+        if (data.code === 200) {
+          this.$message.success('删除成功')
+          this.init()
+        }
+      }).catch(() => {})
+    }
+  },
+  mounted () {
+    this.init()
+  },
 }
 </script>
 
 <style lang="scss" scoped>
+.el-dropdown {
+  margin: 0 10px;
 
+  .el-dropdown-link {
+    cursor: pointer;
+    color: #409EFF;
+  }
+}
 </style>

+ 1 - 1
htmldev/manage/src/views/business/sms/musicLib/index.vue

@@ -40,7 +40,7 @@
       <el-table-column label="操作">
         <template slot-scope="scope">
           <el-button type="text"
-                     @click="$router.push({name: 'BusinessShowPlayList', query: {id: scope.row.id, name: encodeURIComponent(scope.row.user_name) }})">
+                     @click="$router.push({name: 'BusinessSMSPlayList', query: {id: scope.row.id, name: encodeURIComponent(scope.row.user_name) }})">
             设置曲库
           </el-button>
         </template>