|
@@ -1,19 +1,252 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- {{ msg }}
|
|
|
+ <div class="app-header-search">
|
|
|
+ <el-form :inline="true" :model="form" class="demo-form-inline">
|
|
|
+ <el-form-item label="会所名称:">
|
|
|
+ <el-input v-model="form.classifyName" placeholder="请输入会所名称" maxlength="50" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="联系人:">
|
|
|
+ <el-input v-model="form.contacts" placeholder="请输入联系人姓名" maxlength="10" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="手机号:">
|
|
|
+ <el-input v-model="form.telephone" placeholder="请输入手机号" maxlength="11" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="上线状态:">
|
|
|
+ <el-select v-model="form.status" placeholder="请选择">
|
|
|
+ <el-option label="已上线" value="shanghai"></el-option>
|
|
|
+ <el-option label="已下线" value="beijing"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="创建时间:">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="searchTimeVal"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="onSubmit">搜索</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ v-loading="listLoading"
|
|
|
+ :data="list"
|
|
|
+ element-loading-text="Loading"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ >
|
|
|
+ <el-table-column align="center" label="序号" width="50">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.$index+1 }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="账号" width="150" align="center" prop="classifyNum" />
|
|
|
+ <el-table-column label="会所名称" width="150" align="center" prop="classifyName" />
|
|
|
+ <el-table-column label="联系人" width="80" align="center" prop="classifyPeo" />
|
|
|
+ <el-table-column label="手机号" width="110" align="center" prop="telephone" />
|
|
|
+ <el-table-column class-name="status-col" label="上线状态" width="150" align="center" prop="status">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-tag>
|
|
|
+ {{ row.status*1 === 1 ? '已下线' : '已上线' }}
|
|
|
+ </el-tag>
|
|
|
+ <el-button type="primary" size="mini" @click="handleEdit(row)">{{ row.status*1 === 1 ? '上线' : '下线' }}</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="会所地址" width="350" prop="address" />
|
|
|
+ <el-table-column align="center" label="创建时间" width="180" prop="createTime" />
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <router-link :to="'/club/form/'">
|
|
|
+ <el-button type="primary" size="mini">编辑</el-button>
|
|
|
+ </router-link>
|
|
|
+ <router-link :to="'/club/operateList/'">
|
|
|
+ <el-button type="primary" size="mini">查看运营人员</el-button>
|
|
|
+ </router-link>
|
|
|
+ <el-button type="success" size="mini" @click="handleEdit(row)">添加运营人员</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="fetchData" />
|
|
|
+
|
|
|
+ <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
|
|
|
+ <el-form ref="dataForm" :rules="rules" :model="temp" label-position="left" label-width="70px" style="width: 400px; margin-left:24%;">
|
|
|
+ <el-form-item label="姓名" prop="classifyName">
|
|
|
+ <el-input v-model="temp.classifyName" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="*手机号" prop="telephone">
|
|
|
+ <el-input v-model="temp.telephone" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogFormVisible = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialogStatus==='create' ? createData() : updateData()">保存</el-button>
|
|
|
+ <el-button type="primary" @click="dialogStatus==='create' ? createData() : updateData()">保存生成邀请码</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { getCategory, updateCategory, createCategory } from '@/api/goods'
|
|
|
+import Pagination from '@/components/Pagination'
|
|
|
+
|
|
|
export default {
|
|
|
+ components: { Pagination },
|
|
|
+ filters: {
|
|
|
+ statusFilter(status) {
|
|
|
+ const statusMap = {
|
|
|
+ 1: 'success',
|
|
|
+ 0: 'gray'
|
|
|
+ }
|
|
|
+ return statusMap[status]
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- msg: '会所列表'
|
|
|
+ list: null,
|
|
|
+ listLoading: true,
|
|
|
+ searchTimeVal: '',
|
|
|
+ total: 0,
|
|
|
+ listQuery: {
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ importance: undefined,
|
|
|
+ title: undefined,
|
|
|
+ type: undefined,
|
|
|
+ sort: '+id'
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ classifyName: '',
|
|
|
+ telephone: '',
|
|
|
+ contacts: '',
|
|
|
+ businessNum: '',
|
|
|
+ address: '',
|
|
|
+ radio: 1,
|
|
|
+ status: '请选择',
|
|
|
+ imageUrl: '',
|
|
|
+ doorwayImageUrl: ''
|
|
|
+ },
|
|
|
+ temp: {
|
|
|
+ id: 1,
|
|
|
+ organizeID: 1,
|
|
|
+ classifyName: '针剂',
|
|
|
+ classifyImage: 'dfgdfsgsd',
|
|
|
+ sort: 60,
|
|
|
+ status: 1,
|
|
|
+ postage: 1,
|
|
|
+ addTime: new Date(),
|
|
|
+ updateTime: new Date(),
|
|
|
+ delFlag: 0
|
|
|
+ },
|
|
|
+ dialogFormVisible: false,
|
|
|
+ dialogStatus: '',
|
|
|
+ textMap: {
|
|
|
+ update: '添加运营人员',
|
|
|
+ create: 'Create'
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ classifyName: [{ required: true, message: '分类名称不能为空', trigger: 'blur' }],
|
|
|
+ sort: [{ required: true, message: '分类名称不能为空', trigger: 'blur' }],
|
|
|
+ classifyImage: [{ type: 'file', required: true, message: '请上传分类图标', trigger: 'change' }],
|
|
|
+ postage: [{ required: true, message: '请选择邮费是否到付', trigger: 'change' }],
|
|
|
+ status: [{ required: true, message: '请选择状态', trigger: 'change' }]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.fetchData()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ fetchData() {
|
|
|
+ this.listLoading = true
|
|
|
+ getCategory().then(response => {
|
|
|
+ this.list = response.data.items
|
|
|
+ this.listLoading = false
|
|
|
+ }).catch(() => {
|
|
|
+ // 封装静态数据
|
|
|
+ this.list = [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ organizeID: 1,
|
|
|
+ classifyName: '商城测试演示会所',
|
|
|
+ classifyNum: '2020010120201110',
|
|
|
+ classifyPeo: '吴小研',
|
|
|
+ telephone: 138888888888,
|
|
|
+ address: '广东省深圳市福田区上步村1001号锦峰大厦A座',
|
|
|
+ createTime: '2020-01-01:20:30:56',
|
|
|
+ status: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ organizeID: 1,
|
|
|
+ classifyName: '商城测试演示会所',
|
|
|
+ classifyNum: '2020010120201110',
|
|
|
+ classifyPeo: '吴小研',
|
|
|
+ telephone: 138888888888,
|
|
|
+ address: '广东省深圳市福田区上步村1001号锦峰大厦A座',
|
|
|
+ createTime: '2020-01-01:20:30:56',
|
|
|
+ status: 1
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ this.listLoading = false
|
|
|
+ },
|
|
|
+ handleEdit(row) {
|
|
|
+ this.temp = Object.assign({}, row)
|
|
|
+ this.temp.timestamp = new Date(this.temp.timestamp)
|
|
|
+ this.dialogStatus = 'update'
|
|
|
+ this.dialogFormVisible = true
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs['dataForm'].clearValidate()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateData() {
|
|
|
+ this.$refs['dataForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ const tempData = Object.assign({}, this.temp)
|
|
|
+ tempData.updateTime = +new Date(tempData.updateTime)
|
|
|
+ updateCategory(tempData).then(() => {
|
|
|
+ for (const v of this.list) {
|
|
|
+ if (v.id === this.temp.id) {
|
|
|
+ const index = this.list.indexOf(v)
|
|
|
+ this.list.splice(index, 1, this.temp)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.dialogFormVisible = false
|
|
|
+ this.$notify({
|
|
|
+ title: 'Success',
|
|
|
+ message: '更新成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ createData() {
|
|
|
+ this.$refs['dataForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ createCategory(this.temp).then(() => {
|
|
|
+ this.list.unshift(this.temp)
|
|
|
+ this.dialogFormVisible = false
|
|
|
+ this.$notify({
|
|
|
+ title: 'Success',
|
|
|
+ message: '添加分类成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
-
|
|
|
-</style>
|
|
|
+</script>
|