Browse Source

对账列表 其他设置

zhengjinyi 5 years ago
parent
commit
9eab56e1d5

BIN
src/assets/login-logo@2x.png


+ 87 - 82
src/components/Ctiy/index.vue

@@ -1,38 +1,44 @@
 <template>
 <template>
-   <div>
-    <el-form-item :rules="rules" label="*会所地址:" :label-width="'130px'" style="width: 640px; margin-left:80px;text-align: right;">
+  <div>
+    <el-form-item :rules="rules" label="*会所地址:" :label-width="'130px'" style="width: 640px;text-align: right;">
       <el-select
       <el-select
         v-model="sheng"
         v-model="sheng"
+        placeholder="省级地区"
+        style="width:167px;"
         @change="choseProvince"
         @change="choseProvince"
-        placeholder="省级地区"  style="width:167px;">
+      >
         <el-option
         <el-option
           v-for="item in province"
           v-for="item in province"
           :key="item.id"
           :key="item.id"
           :label="item.value"
           :label="item.value"
-          :value="item.id">
-        </el-option>
+          :value="item.id"
+        />
       </el-select>
       </el-select>
       <el-select
       <el-select
         v-model="shi"
         v-model="shi"
+        placeholder="市级地区"
+        style="width:167px;"
         @change="choseCity"
         @change="choseCity"
-        placeholder="市级地区"  style="width:167px;">
+      >
         <el-option
         <el-option
           v-for="item in shi1"
           v-for="item in shi1"
           :key="item.id"
           :key="item.id"
           :label="item.value"
           :label="item.value"
-          :value="item.id">
-        </el-option>
+          :value="item.id"
+        />
       </el-select>
       </el-select>
       <el-select
       <el-select
         v-model="qu"
         v-model="qu"
+        placeholder="区级地区"
+        style="width:167px;"
         @change="choseBlock"
         @change="choseBlock"
-        placeholder="区级地区"  style="width:167px;">
+      >
         <el-option
         <el-option
           v-for="item in qu1"
           v-for="item in qu1"
           :key="item.id"
           :key="item.id"
           :label="item.value"
           :label="item.value"
-          :value="item.id">
-        </el-option>
+          :value="item.id"
+        />
       </el-select>
       </el-select>
     </el-form-item>
     </el-form-item>
   </div>
   </div>
@@ -42,98 +48,97 @@
 import axios from 'axios'
 import axios from 'axios'
 export default {
 export default {
   name: 'Ctiy',
   name: 'Ctiy',
-  data () {
+  data() {
     return {
     return {
-      mapJson:'http://localhost:9528/map.json',
-      province:'',
+      mapJson: 'http://localhost:9528/map.json',
+      province: '',
       sheng: '',
       sheng: '',
       shi: '',
       shi: '',
       shi1: [],
       shi1: [],
       qu: '',
       qu: '',
       qu1: [],
       qu1: [],
-      city:'',
-      block:'',
-       rules: {
+      city: '',
+      block: '',
+      rules: {
         sheng: [{ required: true, message: '请选择省份', trigger: 'blur' }],
         sheng: [{ required: true, message: '请选择省份', trigger: 'blur' }],
         shi: [{ required: true, message: '请选择市', trigger: 'blur' }],
         shi: [{ required: true, message: '请选择市', trigger: 'blur' }],
-        qu: [{ required: true, message: '请选择区县', trigger: 'blur' }],
-      },
+        qu: [{ required: true, message: '请选择区县', trigger: 'blur' }]
+      }
     }
     }
   },
   },
-  methods:{
+  created: function() {
+    this.getCityData()
+  },
+  methods: {
     // 加载china地点数据,三级
     // 加载china地点数据,三级
-      getCityData:function(){
-        var that = this
-        axios.get(this.mapJson).then(function(response){
-          if (response.status==200) {
-            var data = response.data
-            that.province = []
-            that.city = []
-            that.block = []
-            // 省市区数据分类
-            for (var item in data) {
-              if (item.match(/0000$/)) {//省
-                that.province.push({id: item, value: data[item], children: []})
-              } else if (item.match(/00$/)) {//市
-                that.city.push({id: item, value: data[item], children: []})
-              } else {//区
-                that.block.push({id: item, value: data[item]})
-              }
+    getCityData: function() {
+      var that = this
+      axios.get(this.mapJson).then(function(response) {
+        if (response.status == 200) {
+          var data = response.data
+          that.province = []
+          that.city = []
+          that.block = []
+          // 省市区数据分类
+          for (var item in data) {
+            if (item.match(/0000$/)) { // 省
+              that.province.push({ id: item, value: data[item], children: [] })
+            } else if (item.match(/00$/)) { // 市
+              that.city.push({ id: item, value: data[item], children: [] })
+            } else { // 区
+              that.block.push({ id: item, value: data[item] })
             }
             }
-            // 分类市级
-            for (var index in that.province) {
-              for (var index1 in that.city) {
-                if (that.province[index].id.slice(0, 2) === that.city[index1].id.slice(0, 2)) {
-                  that.province[index].children.push(that.city[index1])
-                }
+          }
+          // 分类市级
+          for (var index in that.province) {
+            for (var index1 in that.city) {
+              if (that.province[index].id.slice(0, 2) === that.city[index1].id.slice(0, 2)) {
+                that.province[index].children.push(that.city[index1])
               }
               }
             }
             }
-            // 分类区级
-            for(var item1 in that.city) {
-              for(var item2 in that.block) {
-                if (that.block[item2].id.slice(0, 4) === that.city[item1].id.slice(0, 4)) {
-                  that.city[item1].children.push(that.block[item2])
-                }
+          }
+          // 分类区级
+          for (var item1 in that.city) {
+            for (var item2 in that.block) {
+              if (that.block[item2].id.slice(0, 4) === that.city[item1].id.slice(0, 4)) {
+                that.city[item1].children.push(that.block[item2])
               }
               }
             }
             }
           }
           }
-          else{
-            console.log(response.status)
-          }
-        }).catch(function(error){console.log(typeof+ error)})
-      },
-      // 选省
-      choseProvince:function(e) {
-        for (var index2 in this.province) {
-          if (e === this.province[index2].id) {
-            this.shi1 = this.province[index2].children
-            this.shi = this.province[index2].children[0].value
-            this.qu1 =this.province[index2].children[0].children
-            this.qu = this.province[index2].children[0].children[0].value
-            this.E = this.qu1[0].id
-          }
+        } else {
+          console.log(response.status)
         }
         }
-      },
-      // 选市
-      choseCity:function(e) {
-        for (var index3 in this.city) {
-          if (e === this.city[index3].id) {
-            this.qu1 = this.city[index3].children
-            this.qu = this.city[index3].children[0].value
-            this.E = this.qu1[0].id
-            // console.log(this.E)
-          }
+      }).catch(function(error) { console.log(typeof +error) })
+    },
+    // 选省
+    choseProvince: function(e) {
+      for (var index2 in this.province) {
+        if (e === this.province[index2].id) {
+          this.shi1 = this.province[index2].children
+          this.shi = this.province[index2].children[0].value
+          this.qu1 = this.province[index2].children[0].children
+          this.qu = this.province[index2].children[0].children[0].value
+          this.E = this.qu1[0].id
+        }
+      }
+    },
+    // 选市
+    choseCity: function(e) {
+      for (var index3 in this.city) {
+        if (e === this.city[index3].id) {
+          this.qu1 = this.city[index3].children
+          this.qu = this.city[index3].children[0].value
+          this.E = this.qu1[0].id
+          // console.log(this.E)
         }
         }
-      },
-      // 选区
-      choseBlock:function(e) {
-        this.E=e;
-        // console.log(this.E)
-      },
+      }
     },
     },
-    created:function(){
-      this.getCityData()
+    // 选区
+    choseBlock: function(e) {
+      this.E = e
+      // console.log(this.E)
     }
     }
+  }
 }
 }
 </script>
 </script>
 
 

+ 5 - 5
src/components/Tinymce/components/EditorImage.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="upload-container">
   <div class="upload-container">
     <el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click=" dialogVisible=true">
     <el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click=" dialogVisible=true">
-      upload
+      上传
     </el-button>
     </el-button>
     <el-dialog :visible.sync="dialogVisible">
     <el-dialog :visible.sync="dialogVisible">
       <el-upload
       <el-upload
@@ -16,14 +16,14 @@
         list-type="picture-card"
         list-type="picture-card"
       >
       >
         <el-button size="small" type="primary">
         <el-button size="small" type="primary">
-          Click upload
+          点击上传
         </el-button>
         </el-button>
       </el-upload>
       </el-upload>
       <el-button @click="dialogVisible = false">
       <el-button @click="dialogVisible = false">
-        Cancel
+        取消
       </el-button>
       </el-button>
       <el-button type="primary" @click="handleSubmit">
       <el-button type="primary" @click="handleSubmit">
-        Confirm
+        确认
       </el-button>
       </el-button>
     </el-dialog>
     </el-dialog>
   </div>
   </div>
@@ -54,7 +54,7 @@ export default {
     handleSubmit() {
     handleSubmit() {
       const arr = Object.keys(this.listObj).map(v => this.listObj[v])
       const arr = Object.keys(this.listObj).map(v => this.listObj[v])
       if (!this.checkAllSuccess()) {
       if (!this.checkAllSuccess()) {
-        this.$message('Please wait for all images to be uploaded successfully. If there is a network problem, please refresh the page and upload again!')
+        this.$message('请等待所有图像成功上载。如果有网络问题,请刷新页面并重新上传!')
         return
         return
       }
       }
       this.$emit('successCBK', arr)
       this.$emit('successCBK', arr)

+ 1 - 1
src/components/Tinymce/index.vue

@@ -116,7 +116,7 @@ export default {
       const _this = this
       const _this = this
       window.tinymce.init({
       window.tinymce.init({
         selector: `#${this.tinymceId}`,
         selector: `#${this.tinymceId}`,
-        language: this.languageTypeList['en'],
+        language: this.languageTypeList['zh'],
         height: this.height,
         height: this.height,
         body_class: 'panel-body ',
         body_class: 'panel-body ',
         object_resizing: false,
         object_resizing: false,

+ 1 - 1
src/layout/components/Sidebar/Logo.vue

@@ -23,7 +23,7 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
-      title: '星范商城'
+      title: '星范商城后台管理系统'
     }
     }
   }
   }
 }
 }

+ 2 - 3
src/router/index.js

@@ -54,7 +54,6 @@ export const constantRoutes = [
       meta: { title: '首页', icon: 'dashboard' }
       meta: { title: '首页', icon: 'dashboard' }
     }]
     }]
   },
   },
-
   {
   {
     path: '/club',
     path: '/club',
     component: Layout,
     component: Layout,
@@ -172,7 +171,7 @@ export const constantRoutes = [
         path: 'refund',
         path: 'refund',
         name: 'Refund',
         name: 'Refund',
         component: () => import('@/views/order/refund'),
         component: () => import('@/views/order/refund'),
-        meta: { title: '用户退款列表', icon: 'guide' }
+        meta: { title: '用户退款列表', icon: 'skill' }
       }
       }
     ]
     ]
   },
   },
@@ -194,7 +193,7 @@ export const constantRoutes = [
         path: 'refund',
         path: 'refund',
         name: 'Refund',
         name: 'Refund',
         component: () => import('@/views/finance/refund'),
         component: () => import('@/views/finance/refund'),
-        meta: { title: '退款管理', icon: 'guide' }
+        meta: { title: '退款管理', icon: 'skill' }
       }
       }
     ]
     ]
   },
   },

+ 16 - 15
src/views/club/form.vue

@@ -1,29 +1,29 @@
 <template>
 <template>
-  <div class="app-container">
+  <div class="app-container" style=" width: 700px;margin: 0 auto;">
     <el-form ref="dataForm" :rules="rules" :model="form" label-position="left" label-width="130px">
     <el-form ref="dataForm" :rules="rules" :model="form" label-position="left" label-width="130px">
-      <el-form-item label="会所名称:" prop="classifyName" style="width: 500px; margin-left:80px;text-align: right;">
+      <el-form-item label="会所名称:" prop="classifyName" style="width: 500px;text-align: right;">
         <el-input v-model="form.classifyName" placeholder="请与营业执照的注册名称保持一致" maxlength="50" />
         <el-input v-model="form.classifyName" placeholder="请与营业执照的注册名称保持一致" maxlength="50" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="联系人:" prop="contacts" style="width: 500px; margin-left:80px;text-align: right;">
+      <el-form-item label="联系人:" prop="contacts" style="width: 500px; text-align: right;">
         <el-input v-model="form.contacts" placeholder="请填写联系人姓名" maxlength="10" />
         <el-input v-model="form.contacts" placeholder="请填写联系人姓名" maxlength="10" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="手机号:" prop="telephone" style="width: 500px; margin-left:80px;text-align: right;">
+      <el-form-item label="手机号:" prop="telephone" style="width: 500px; text-align: right;">
         <el-input v-model="form.telephone" placeholder="请填写你的常用号码" maxlength="11" />
         <el-input v-model="form.telephone" placeholder="请填写你的常用号码" maxlength="11" />
       </el-form-item>
       </el-form-item>
       <City :add-list="addList" @addlist="getCity" />
       <City :add-list="addList" @addlist="getCity" />
-      <el-form-item label="" prop="address" style="width: 500px; margin-left:80px;text-align: right;">
+      <el-form-item label="" prop="address" style="width: 500px; text-align: right;">
         <el-input v-model="form.address" placeholder="请填写会所详细的地址" />
         <el-input v-model="form.address" placeholder="请填写会所详细的地址" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="会所类型:" style="width: 270px; margin-left:80px;text-align: right;">
+      <el-form-item label="会所类型:" style="width: 270px; text-align: right;">
         <el-radio-group v-model="form.radio">
         <el-radio-group v-model="form.radio">
           <el-radio :label="0">医美</el-radio>
           <el-radio :label="0">医美</el-radio>
           <el-radio :label="1">生美</el-radio>
           <el-radio :label="1">生美</el-radio>
         </el-radio-group>
         </el-radio-group>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="营业执照编号:" prop="businessNum" style="width: 500px; margin-left:80px;text-align: right;">
+      <el-form-item label="营业执照编号:" prop="businessNum" style="width: 500px; text-align: right;">
         <el-input v-model="form.businessNum" placeholder="请填写统一社会信用代码" maxlength="18" />
         <el-input v-model="form.businessNum" placeholder="请填写统一社会信用代码" maxlength="18" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="营业执照:" prop="imageUrl" style="width:400px; margin-left:80px;text-align: right;">
+      <el-form-item label="营业执照:" prop="imageUrl" style="width:400px;text-align: right;">
         <div class="form-el-upload">
         <div class="form-el-upload">
           <el-upload
           <el-upload
             class="avatar-uploader"
             class="avatar-uploader"
@@ -38,7 +38,7 @@
           </el-upload>
           </el-upload>
         </div>
         </div>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="门头照:" prop="doorwayImageUrl" style="width:400px; margin-left:80px;text-align: right;">
+      <el-form-item label="门头照:" prop="doorwayImageUrl" style="width:400px; text-align: right;">
         <div class="form-el-upload">
         <div class="form-el-upload">
           <el-upload
           <el-upload
             class="avatar-uploader"
             class="avatar-uploader"
@@ -53,14 +53,14 @@
           </el-upload>
           </el-upload>
         </div>
         </div>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="是否上线:" prop="status" style="width: 200px; margin-left:80px;text-align: right;">
-        <el-select v-model="form.status" class="filter-item" placeholder="请选择">
-          <el-option label="是" value="1" />
-          <el-option label="否" value="2" />
-        </el-select>
+      <el-form-item label="是否上线:" style="width: 240px;text-align: right;">
+        <el-radio-group v-model="form.onRadio">
+          <el-radio :label="1">是</el-radio>
+          <el-radio :label="2">否</el-radio>
+        </el-radio-group>
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
-    <div slot="footer" class="dialog-footer" style="margin-left:420px;margin-top:80px">
+    <div slot="footer" class="dialog-footer" style="width:200px;margin:0 auto;padding:40px 0 80px 0;">
       <router-link :to="'/club/list/'">
       <router-link :to="'/club/list/'">
         <el-button>返回</el-button>
         <el-button>返回</el-button>
       </router-link>
       </router-link>
@@ -85,6 +85,7 @@ export default {
         businessNum: '',
         businessNum: '',
         address: '',
         address: '',
         radio: 1,
         radio: 1,
+        onRadio: 2,
         status: '是',
         status: '是',
         imageUrl: '',
         imageUrl: '',
         doorwayImageUrl: ''
         doorwayImageUrl: ''

+ 11 - 5
src/views/club/list.vue

@@ -3,16 +3,16 @@
     <div class="app-header-search">
     <div class="app-header-search">
       <el-form :inline="true" :model="form" class="demo-form-inline">
       <el-form :inline="true" :model="form" class="demo-form-inline">
         <el-form-item label="会所名称:">
         <el-form-item label="会所名称:">
-          <el-input v-model="form.classifyName" placeholder="请输入会所名称" maxlength="50" />
+          <el-input v-model="form.classifyName" placeholder="请输入会所名称" maxlength="50" style="width:200px" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="联系人:">
         <el-form-item label="联系人:">
-          <el-input v-model="form.contacts" placeholder="请输入联系人姓名" maxlength="10" />
+          <el-input v-model="form.contacts" placeholder="请输入联系人姓名" maxlength="10" style="width:150px" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="手机号:">
         <el-form-item label="手机号:">
-          <el-input v-model="form.telephone" placeholder="请输入手机号" maxlength="11" />
+          <el-input v-model="form.telephone" placeholder="请输入手机号" maxlength="11" style="width:130px" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="上线状态:">
         <el-form-item label="上线状态:">
-          <el-select v-model="form.status" placeholder="请选择">
+          <el-select v-model="form.status" placeholder="请选择" style="width:100px">
             <el-option label="已上线" value="shanghai" />
             <el-option label="已上线" value="shanghai" />
             <el-option label="已下线" value="beijing" />
             <el-option label="已下线" value="beijing" />
           </el-select>
           </el-select>
@@ -27,7 +27,12 @@
           />
           />
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
-          <el-button type="primary" @click="onSubmit">搜索</el-button>
+          <el-button type="success" @click="onSubmit">搜索</el-button>
+        </el-form-item>
+        <el-form-item>
+          <router-link :to="'/club/form/'">
+            <el-button type="primary" @click="onSubmit">上线会所</el-button>
+          </router-link>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
     </div>
     </div>
@@ -38,6 +43,7 @@
       border
       border
       fit
       fit
       highlight-current-row
       highlight-current-row
+      :header-cell-style="{background:'#eef1f6',color:'#606266'}"
     >
     >
       <el-table-column align="center" label="序号" width="50">
       <el-table-column align="center" label="序号" width="50">
         <template slot-scope="scope">
         <template slot-scope="scope">

+ 125 - 17
src/views/club/operateList.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    <div class="app-title">当前会所:商城测试演示会所</div>
+    <div class="app-title">当前会所: <span>商城测试演示会所</span> </div>
     <el-table
     <el-table
       v-loading="listLoading"
       v-loading="listLoading"
       :data="list"
       :data="list"
@@ -8,6 +8,7 @@
       border
       border
       fit
       fit
       highlight-current-row
       highlight-current-row
+      :header-cell-style="{background:'#eef1f6',color:'#606266'}"
     >
     >
       <el-table-column align="center" label="序号" width="50">
       <el-table-column align="center" label="序号" width="50">
         <template slot-scope="scope">
         <template slot-scope="scope">
@@ -17,15 +18,17 @@
       <el-table-column label="账号" width="150" align="center" prop="classifyNum" />
       <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="150" align="center" prop="classifyName" />
       <el-table-column label="手机号码" width="110" align="center" prop="telephone" />
       <el-table-column label="手机号码" width="110" align="center" prop="telephone" />
-      <el-table-column label="邀请码" width="100" align="center" prop="code">
+      <el-table-column label="邀请码" width="130" align="center" prop="code">
         <template slot-scope="{row}">
         <template slot-scope="{row}">
-          <span>{{ row.code }}</span>
-          <el-tag type="success">{{ row.status*1 === 1 ? '已使用' : '未使用' }}</el-tag>
+          <span v-if="row.codeType" style="text-align: center;float:left">{{ row.code }}</span>
+          <span v-if="row.codeType" :style="{color: rexpStautsColor(row.status)}">{{ rexpStautsText(row.status) }}</span>
+          <el-tag v-else type="info">—— ——</el-tag>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
       <el-table-column class-name="status-col" label="状态" width="100" align="center" prop="status">
       <el-table-column class-name="status-col" label="状态" width="100" align="center" prop="status">
         <template slot-scope="{row}">
         <template slot-scope="{row}">
-          <el-tag>{{ row.status*1 === 1 ? '已绑定' : '未绑定' }}</el-tag>
+          <i v-if="row.status === 2" class="el-icon-success" style="color:#67C23A;font-size: 20px;" />
+          <!-- <i v-else class="el-icon-error" style="color: #E6A23C;font-size: 20px;" /> -->
         </template>
         </template>
       </el-table-column>
       </el-table-column>
       <el-table-column align="center" label="微信昵称" width="110" prop="watchName" />
       <el-table-column align="center" label="微信昵称" width="110" prop="watchName" />
@@ -34,16 +37,16 @@
       <el-table-column align="center" label="绑定时间" width="160" prop="bindTime" />
       <el-table-column align="center" label="绑定时间" width="160" prop="bindTime" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="{row}">
         <template slot-scope="{row}">
-          <el-button type="primary" size="mini" @click="handleEdit(row)">编辑</el-button>
-          <el-button type="primary" size="mini" @click="handleUntying(row)">解绑</el-button>
-          <el-button type="primary" size="small" @click="handleUntying(row)">生成邀请码</el-button>
+          <el-button v-if="row.codeType" type="primary" size="mini" @click="handleEdit(row)">编辑</el-button>
+          <el-button v-if="row.codeType" type="primary" size="mini" @click="handleUntying(row)">解绑</el-button>
+          <el-button v-else type="primary" size="small" @click="handleGenerateCode(row)">生成邀请码</el-button>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
 
 
     <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="fetchData" />
     <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-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
       <el-form ref="dataForm" :rules="rules" :model="temp" label-position="left" label-width="70px" style="width: 400px; margin-left:24%;">
       <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-form-item label="姓名" prop="classifyName">
           <el-input v-model="temp.classifyName" />
           <el-input v-model="temp.classifyName" />
@@ -57,11 +60,11 @@
         <el-button type="primary" @click="dialogStatus==='create' ? createData() : updateData()">确定</el-button>
         <el-button type="primary" @click="dialogStatus==='create' ? createData() : updateData()">确定</el-button>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-    <el-dialog title="提示" :visible.sync="dialogVisible" width="10%">
-      <span>确定解绑该运营人员吗?</span>
+    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" width="20%">
+      <span>{{ dialogVisibleText }}</span>
       <span slot="footer" class="dialog-footer">
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+        <el-button type="primary" @click="handleConfirm()">确 定</el-button>
       </span>
       </span>
     </el-dialog>
     </el-dialog>
   </div>
   </div>
@@ -88,6 +91,8 @@ export default {
       listLoading: true,
       listLoading: true,
       total: 100,
       total: 100,
       dialogVisible: false,
       dialogVisible: false,
+      dialogVisibleText: '',
+      handleConfirmType: '',
       listQuery: {
       listQuery: {
         page: 1,
         page: 1,
         limit: 10,
         limit: 10,
@@ -106,7 +111,10 @@ export default {
       dialogFormVisible: false,
       dialogFormVisible: false,
       dialogStatus: '',
       dialogStatus: '',
       textMap: {
       textMap: {
+        edit: '编辑',
         update: '提示',
         update: '提示',
+        untying: '解绑',
+        generate: '生成邀请码',
         create: 'Create'
         create: 'Create'
       },
       },
       rules: {
       rules: {
@@ -138,7 +146,8 @@ export default {
             telephone: 13888888888,
             telephone: 13888888888,
             createTime: '2020-01-01:20:30:56',
             createTime: '2020-01-01:20:30:56',
             bindTime: '2020-01-01:20:30:56',
             bindTime: '2020-01-01:20:30:56',
-            status: 1
+            status: 0,
+            codeType: false
           },
           },
           {
           {
             id: 2,
             id: 2,
@@ -151,7 +160,36 @@ export default {
             telephone: 13888888888,
             telephone: 13888888888,
             createTime: '2020-01-01:20:30:56',
             createTime: '2020-01-01:20:30:56',
             bindTime: '2020-01-01:20:30:56',
             bindTime: '2020-01-01:20:30:56',
-            status: 1
+            status: 1,
+            codeType: true
+          },
+          {
+            id: 3,
+            organizeID: 1,
+            classifyName: '吴小研',
+            classifyNum: '2020010120201110',
+            watchName: '轻描淡写',
+            openID: 'o0dXI5ajSPa6PkOmjjq1aar93JW4',
+            code: '315654',
+            telephone: 13888888888,
+            createTime: '2020-01-01:20:30:56',
+            bindTime: '2020-01-01:20:30:56',
+            status: 2,
+            codeType: true
+          },
+          {
+            id: 3,
+            organizeID: 1,
+            classifyName: '吴小研',
+            classifyNum: '2020010120201110',
+            watchName: '轻描淡写',
+            openID: 'o0dXI5ajSPa6PkOmjjq1aar93JW4',
+            code: '315654',
+            telephone: 13888888888,
+            createTime: '2020-01-01:20:30:56',
+            bindTime: '2020-01-01:20:30:56',
+            status: 3,
+            codeType: true
           }
           }
         ]
         ]
       })
       })
@@ -160,7 +198,7 @@ export default {
     handleEdit(row) {
     handleEdit(row) {
       this.temp = Object.assign({}, row)
       this.temp = Object.assign({}, row)
       this.temp.timestamp = new Date(this.temp.timestamp)
       this.temp.timestamp = new Date(this.temp.timestamp)
-      this.dialogStatus = 'update'
+      this.dialogStatus = 'edit'
       this.dialogFormVisible = true
       this.dialogFormVisible = true
       this.$nextTick(() => {
       this.$nextTick(() => {
         this.$refs['dataForm'].clearValidate()
         this.$refs['dataForm'].clearValidate()
@@ -168,6 +206,73 @@ export default {
     },
     },
     handleUntying(row) {
     handleUntying(row) {
       this.dialogVisible = true
       this.dialogVisible = true
+      this.dialogStatus = 'untying'
+      this.dialogVisibleText = '确定解绑该运营人员吗?'
+      this.handleConfirmType = 'untying'
+    },
+    handleGenerateCode(row) {
+      this.dialogVisible = true
+      this.dialogStatus = 'generate'
+      this.dialogVisibleText = '确定生成邀请码,并短信提醒该人员?'
+      this.handleConfirmType = 'generate'
+    },
+    handleConfirm() {
+      switch (this.handleConfirmType) {
+        case 'untying':
+          this.untyingRequst()
+          break
+        case 'generate':
+          this.generateRequst()
+          break
+      }
+    },
+    untyingRequst() {
+      this.dialogVisible = false
+      this.$notify({
+        title: 'Success',
+        message: '解绑成功',
+        type: 'success',
+        duration: 2000
+      })
+    },
+    generateRequst() {
+      this.dialogVisible = false
+      this.$notify({
+        title: 'Success',
+        message: '邀请码生成成功',
+        type: 'success',
+        duration: 2000
+      })
+    },
+    rexpStautsText(status) {
+      let text = ''
+      switch (status) {
+        case 1:
+          text = '有效'
+          break
+        case 2:
+          text = '已使用'
+          break
+        case 3:
+          text = '已失效'
+          break
+      }
+      return text
+    },
+    rexpStautsColor(status) {
+      let textColor = ''
+      switch (status) {
+        case 1:
+          textColor = '#E6A441'
+          break
+        case 2:
+          textColor = '#417DE6'
+          break
+        case 3:
+          textColor = '#C5C5C5'
+          break
+      }
+      return textColor
     },
     },
     updateData() {
     updateData() {
       this.$refs['dataForm'].validate((valid) => {
       this.$refs['dataForm'].validate((valid) => {
@@ -214,10 +319,13 @@ export default {
 </script>
 </script>
 <style lang="scss">
 <style lang="scss">
   .app-title{
   .app-title{
-    line-height: 80px;
+    line-height: 40px;
     font-size: 18px;
     font-size: 18px;
     font-weight: bold;
     font-weight: bold;
     color: #999999;
     color: #999999;
+    margin-bottom: 10px;
+    span{
+      color: #417DE6;
+    }
   }
   }
 </style>
 </style>
-

+ 183 - 6
src/views/finance/list.vue

@@ -1,19 +1,196 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    {{ msg }}
+    <div class="app-header-search">
+      <el-form ref="dataSearch" :inline="true" :model="search" class="demo-form-inline">
+        <el-form-item label="订单ID:">
+          <el-input v-model="search.orderID" placeholder="请输入订单ID" maxlength="10" />
+        </el-form-item>
+        <el-form-item label="订单编号:">
+          <el-input v-model="search.orderNumber" placeholder="请输入订单编号" maxlength="20" />
+        </el-form-item>
+        <el-form-item label="客户名称:">
+          <el-input v-model="search.customer" placeholder="请输入客户名称" maxlength="15" />
+        </el-form-item>
+        <el-form-item label="创建时间:">
+          <el-date-picker
+            v-model="searchTimeVal"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="success" @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
+      :header-cell-style="{background:'#eef1f6',color:'#606266'}"
+    >
+      <el-table-column align="center" label="序号" width="50">
+        <template slot-scope="scope">
+          {{ scope.$index+1 }}
+        </template>
+      </el-table-column>
+      <el-table-column label="订单编码(ID)" align="center" prop="orderID" />
+      <el-table-column label="下单时间" align="center" prop="createTime" />
+      <el-table-column label="客户名称" align="center" prop="customer" />
+      <el-table-column label="应收金额(元)" align="center" prop="money" />
+      <el-table-column label="已收金额(元)" align="center" prop="money1" />
+      <el-table-column label="未收金额(元)" align="center" prop="money2" />
+      <el-table-column label="应付金额(元)" align="center" prop="money3" />
+      <el-table-column label="已付金额(元)" align="center" prop="money4" />
+      <el-table-column label="未付金额(元)" align="center" prop="money5" />
+      <el-table-column label="佣金(元)" align="center" prop="money6" />
+    </el-table>
+
+    <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="fetchData" />
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import { getCategory, updateCategory, createCategory } from '@/api/club'
+import Pagination from '@/components/Pagination'
+
 export default {
 export default {
+  components: { Pagination },
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        1: 'success',
+        0: 'gray'
+      }
+      return statusMap[status]
+    }
+  },
   data() {
   data() {
     return {
     return {
-      msg: '对账列表'
+      list: null,
+      listLoading: true,
+      searchTimeVal: '',
+      total: 100,
+      listQuery: {
+        page: 1,
+        limit: 10,
+        importance: undefined,
+        title: undefined,
+        type: undefined,
+        sort: '+id'
+      },
+      search: {
+
+      },
+      form: {
+        classifyName: '',
+        telephone: '',
+        contacts: '',
+        businessNum: '',
+        address: '',
+        radio: 1,
+        status: '请选择',
+        imageUrl: '',
+        doorwayImageUrl: ''
+      },
+      addPeople: {
+        classifyName: '',
+        telephone: ''
+      },
+      updateTatusId: '',
+      updateTatusType: '',
+      dialogVisible: false,
+      dialogVisibleText: '',
+      dialogFormVisible: false,
+      dialogStatus: '',
+      textMap: {
+        update: '添加运营人员',
+        create: 'Create',
+        titleText: '系统提示'
+      },
+      rules: {
+        classifyName: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
+        telephone: [{ required: true, message: '手机号码不能为空', trigger: 'blur' }]
+      }
+    }
+  },
+  created() {
+    this.fetchData()
+  },
+  methods: {
+    fetchData() {
+      this.listLoading = true
+      getCategory().then(response => {
+        this.list = response.data.items
+        this.listLoading = false
+      }).catch(() => {
+        // 封装静态数据
+        this.list = [
+          {
+            id: 1,
+            orderID: 'XD956566565656',
+            customer: '商城测试演示会所',
+            createTime: '2020-01-01:20:30:56',
+            money: 1200000,
+            money1: 1200000,
+            money2: 1200000,
+            money3: 1200000,
+            money4: 1200000,
+            money5: 1200000,
+            money6: 1200000
+          },
+          {
+            id: 1,
+            orderID: 'XD956566565656',
+            customer: '商城测试演示会所',
+            createTime: '2020-01-01:20:30:56',
+            money: 1200000,
+            money1: 1200000,
+            money2: 1200000,
+            money3: 1200000,
+            money4: 1200000,
+            money5: 1200000,
+            money6: 1200000
+          },
+          {
+            id: 1,
+            orderID: 'XD956566565656',
+            customer: '商城测试演示会所',
+            createTime: '2020-01-01:20:30:56',
+            money: 1200000,
+            money1: 1200000,
+            money2: 1200000,
+            money3: 1200000,
+            money4: 1200000,
+            money5: 1200000,
+            money6: 1200000
+          },
+          {
+            id: 1,
+            orderID: 'XD956566565656',
+            customer: '商城测试演示会所',
+            createTime: '2020-01-01:20:30:56',
+            money: 1200000,
+            money1: 1200000,
+            money2: 1200000,
+            money3: 1200000,
+            money4: 1200000,
+            money5: 1200000,
+            money6: 1200000
+          }
+        ]
+      })
+      this.listLoading = false
+    },
+    onSubmit() {
+      console.log('search')
     }
     }
   }
   }
 }
 }
-</script>
 
 
-<style scoped>
-
-</style>
+</script>

+ 1 - 0
src/views/goods/category.vue

@@ -12,6 +12,7 @@
       fit
       fit
       highlight-current-row
       highlight-current-row
       style="width:100%;margin-top:20px;"
       style="width:100%;margin-top:20px;"
+      :header-cell-style="{background:'#eef1f6',color:'#606266'}"
     >
     >
       <el-table-column align="center" label="序号">
       <el-table-column align="center" label="序号">
         <template slot-scope="scope">
         <template slot-scope="scope">

+ 1 - 0
src/views/goods/list.vue

@@ -47,6 +47,7 @@
       fit
       fit
       highlight-current-row
       highlight-current-row
       style="width:100%;margin-top:20px;"
       style="width:100%;margin-top:20px;"
+      :header-cell-style="{background:'#eef1f6',color:'#606266'}"
     >
     >
       <el-table-column align="center" label="序号">
       <el-table-column align="center" label="序号">
         <template slot-scope="scope">
         <template slot-scope="scope">

+ 33 - 10
src/views/login/index.vue

@@ -3,7 +3,8 @@
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
 
 
       <div class="title-container">
       <div class="title-container">
-        <h3 class="title">Login Form</h3>
+        <div class="logo"><img class="img" src="@/assets/logo.png" alt=""> </div>
+        <h3 class="title">星范商城后台管理系统</h3>
       </div>
       </div>
 
 
       <el-form-item prop="username">
       <el-form-item prop="username">
@@ -41,13 +42,13 @@
         </span>
         </span>
       </el-form-item>
       </el-form-item>
 
 
-      <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">Login</el-button>
+      <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">登录</el-button>
 
 
-      <div class="tips">
+      <!-- <div class="tips">
         <span style="margin-right:20px;">username: admin</span>
         <span style="margin-right:20px;">username: admin</span>
         <span> password: any</span>
         <span> password: any</span>
-      </div>
-
+      </div> -->
+      <div class="footer"><p>copyrigh © 2019星范商城后台V1.0.0</p></div>
     </el-form>
     </el-form>
   </div>
   </div>
 </template>
 </template>
@@ -167,7 +168,7 @@ $cursor: #fff;
     border: 1px solid rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.1);
     background: rgba(0, 0, 0, 0.1);
     background: rgba(0, 0, 0, 0.1);
     border-radius: 5px;
     border-radius: 5px;
-    color: #454545;
+    color: #999999;
   }
   }
 }
 }
 </style>
 </style>
@@ -175,7 +176,7 @@ $cursor: #fff;
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 $bg:#2d3a4b;
 $bg:#2d3a4b;
 $dark_gray:#889aa4;
 $dark_gray:#889aa4;
-$light_gray:#eee;
+$light_gray:#ffffff;
 
 
 .login-container {
 .login-container {
   min-height: 100%;
   min-height: 100%;
@@ -185,11 +186,13 @@ $light_gray:#eee;
 
 
   .login-form {
   .login-form {
     position: relative;
     position: relative;
-    width: 520px;
+    width: 450px;
     max-width: 100%;
     max-width: 100%;
-    padding: 160px 35px 0;
+    padding: 180px 35px 45px 35px;
     margin: 0 auto;
     margin: 0 auto;
     overflow: hidden;
     overflow: hidden;
+    background: $bg;
+    border-radius: 8px;
   }
   }
 
 
   .tips {
   .tips {
@@ -214,7 +217,17 @@ $light_gray:#eee;
 
 
   .title-container {
   .title-container {
     position: relative;
     position: relative;
-
+    .logo{
+      width: 80px;
+      height: 80px;
+      margin: 0 auto;
+      margin-bottom: 30px;
+      .img{
+        width: 100%;
+        height: 100%;
+        display: block;
+      }
+    }
     .title {
     .title {
       font-size: 26px;
       font-size: 26px;
       color: $light_gray;
       color: $light_gray;
@@ -233,5 +246,15 @@ $light_gray:#eee;
     cursor: pointer;
     cursor: pointer;
     user-select: none;
     user-select: none;
   }
   }
+  .footer{
+    padding-top: 40px;
+    font-size: 14px;
+    line-height: 28px;
+    color: #fff;
+    text-align: center;
+    p{
+      margin: 0;
+    }
+  }
 }
 }
 </style>
 </style>

+ 18 - 3
src/views/other/about.vue

@@ -1,14 +1,29 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    {{ msg }}
+    <tinymce v-model="content" :height="300" />
+    <div slot="footer" class="dialog-footer" style="width:1px;margin:0 auto;padding:40px 0 80px 0;">
+      <el-button type="primary" icon="el-icon-check" style="width:150px;" @click="onSubmite()">提交</el-button>
+    </div>
+    <div v-if="isContent" class="editor-content" v-html="content" />
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import Tinymce from '@/components/Tinymce'
 export default {
 export default {
+  components: {
+    Tinymce
+  },
   data() {
   data() {
     return {
     return {
-      msg: '关于我们'
+      isContent: false,
+      content: ''
+    }
+  },
+  methods: {
+    onSubmite() {
+      console.log(this.content)
+      this.isContent = true
     }
     }
   }
   }
 }
 }
@@ -16,4 +31,4 @@ export default {
 
 
 <style scoped>
 <style scoped>
 
 
-</style>
+</style>

+ 9 - 2
src/views/other/after.vue

@@ -1,11 +1,18 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    {{ msg }}
+    <Tinymce />
+    <div slot="footer" class="dialog-footer" style="width:1px;margin:0 auto;padding:40px 0 80px 0;">
+      <el-button type="primary" icon="el-icon-check" style="width:150px;" @click="onSubmite('dataForm')">提交</el-button>
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import Tinymce from '@/components/Tinymce'
 export default {
 export default {
+  components: {
+    Tinymce
+  },
   data() {
   data() {
     return {
     return {
       msg: '售后无忧'
       msg: '售后无忧'
@@ -16,4 +23,4 @@ export default {
 
 
 <style scoped>
 <style scoped>
 
 
-</style>
+</style>

+ 9 - 2
src/views/other/notes.vue

@@ -1,11 +1,18 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    {{ msg }}
+    <Tinymce v-model="content" />
+    <div slot="footer" class="dialog-footer" style="width:1px;margin:0 auto;padding:40px 0 80px 0;">
+      <el-button type="primary" icon="el-icon-check" style="width:150px;" @click="onSubmite('dataForm')">提交</el-button>
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import Tinymce from '@/components/Tinymce'
 export default {
 export default {
+  components: {
+    Tinymce
+  },
   data() {
   data() {
     return {
     return {
       msg: '购物须知'
       msg: '购物须知'
@@ -16,4 +23,4 @@ export default {
 
 
 <style scoped>
 <style scoped>
 
 
-</style>
+</style>

+ 70 - 6
src/views/other/password.vue

@@ -1,6 +1,19 @@
 <template>
 <template>
-  <div class="app-container">
-    {{ msg }}
+  <div class="app-container" style=" width: 400px;margin: 0 auto;padding-top:13%;">
+    <el-form ref="dataForm" :rules="rules" :model="password" label-position="left" label-width="130px">
+      <el-form-item label="旧密码:" prop="oldPassword" style="width: 380px;text-align: right;">
+        <el-input v-model="password.oldPassword" placeholder="请输入旧密码" maxlength="50" />
+      </el-form-item>
+      <el-form-item label="新密码:" prop="newPassword" style="width: 380px; text-align: right;">
+        <el-input v-model="password.newPassword" placeholder="请输入8-16位数字和字母的组合" maxlength="10" />
+      </el-form-item>
+      <el-form-item label="确认新密码:" prop="checkPassword" style="width: 380px; text-align: right;">
+        <el-input v-model="password.checkPassword" placeholder="请输入8-16位数字和字母的组合" maxlength="11" />
+      </el-form-item>
+    </el-form>
+    <div slot="footer" class="dialog-footer" style="width:1px;margin:0 auto;padding:40px 0 80px 0;">
+      <el-button type="primary" icon="el-icon-check" @click="onSubmite('dataForm')">保存</el-button>
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -8,12 +21,63 @@
 export default {
 export default {
   data() {
   data() {
     return {
     return {
-      msg: '修改密码'
+      password: {
+        oldPassword: '',
+        newPassword: '',
+        checkPassword: ''
+      },
+      rules: {
+        oldPassword: [{ required: true, message: '请输入旧密码', trigger: 'blur' }],
+        newPassword: [{ required: true, message: '请输入新的密码', trigger: 'blur' }],
+        checkPassword: [{ required: true, message: '请确认新的密码', trigger: 'blur' }]
+      }
+    }
+  },
+  methods: {
+    onSubmite(formData) {
+      this.$refs[formData].validate((valid) => {
+        if (!valid) {
+          console.log(this.form)
+        }
+      })
     }
     }
   }
   }
 }
 }
 </script>
 </script>
 
 
-<style scoped>
-
-</style>
+<style lang="scss">
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+  border-color: #409EFF;
+}
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 178px;
+  height: 178px;
+  line-height: 178px;
+  text-align: center;
+}
+.avatar {
+  width: 178px;
+  height: 178px;
+  display: block;
+}
+.el-form-item__label{
+    text-align: right !important;
+}
+.form-el-upload{
+  width: 180px;
+}
+.el-upload__tip{
+  line-height: 20px;
+  color: red;
+  text-align: left;
+}
+</style>