yuhaitao14 7 years ago
parent
commit
3bc00d735b

+ 79 - 0
shop/src/main/java/com/zskk/shop/controller/admin/ManagerUserController.java

@@ -0,0 +1,79 @@
+/**
+* @版权信息 (@copyright Copyright 2017-XXXX JDJR.COM All Right Reserved);
+* @see
+* @author 于海涛 京东金融【技术研发部-证券及营销平台研发部-营销平台研发部】
+* @version 1.0
+* @date 2018年6月7日
+*/
+
+package com.zskk.shop.controller.admin;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.alibaba.druid.sql.visitor.functions.Ucase;
+import com.zskk.shop.controller.AbstractController;
+import com.zskk.shop.controller.bean.ControllerResult;
+import com.zskk.shop.controller.bean.UserInfoBean;
+import com.zskk.shop.dao.entry.ManagerUser;
+import com.zskk.shop.exception.ErrorConstant;
+import com.zskk.shop.exception.ZSKKException;
+import com.zskk.shop.service.ManagerUserService;
+import com.zskk.shop.service.UserCenterService;
+
+@Controller
+@RequestMapping("/manage/muser")
+public class ManagerUserController extends AbstractController {
+
+	@Autowired
+	private ManagerUserService managerUserService;
+	
+	@Autowired
+	private UserCenterService userCenterService;
+	
+	@RequestMapping("/queryAll")
+	@ResponseBody
+	public ControllerResult queryAll(){
+		return new ControllerResult(managerUserService.queryAll());
+	}
+	@RequestMapping("/add")
+	@ResponseBody
+	public ControllerResult add(@RequestParam("uid") String uid, @RequestParam("uname") String uname, @RequestParam("uphone") String uphone){
+		UserInfoBean user = this.getUserInfo();
+		ManagerUser muser = new ManagerUser();
+		muser.setUid(uid);
+		muser.setUname(uname);
+		muser.setUphone(uphone);
+		muser.setCuid(user.getUser().getUserid());
+		muser.setCuname(user.getUser().getName());
+		
+		managerUserService.add(muser);
+		return new ControllerResult(Boolean.TRUE);
+	}
+	
+	@RequestMapping("setStatus")
+	@ResponseBody
+	public ControllerResult setStatus(@RequestParam("id") Integer id, @RequestParam("status") Integer status){
+		ManagerUser muser = managerUserService.queryById(id);
+		if (muser == null){
+			throw new ZSKKException(ErrorConstant.PARAM_ERROR);
+		}
+		if (!status.equals(1) && !status.equals(0)){
+			throw new ZSKKException(ErrorConstant.PARAM_ERROR);
+		}
+		managerUserService.setstatus(muser, status);
+		return new ControllerResult(Boolean.TRUE);
+	}
+	
+	@RequestMapping("sarch")
+	@ResponseBody
+	public ControllerResult search(@RequestParam("search") String search){
+		if (search.isEmpty()){
+			throw new ZSKKException(ErrorConstant.PARAM_ERROR);
+		}
+		return new ControllerResult(userCenterService.queryUser(search));
+	}
+}

+ 1 - 0
shop/src/main/java/com/zskk/shop/controller/admin/SysLabelController.java

@@ -45,6 +45,7 @@ public class SysLabelController  extends AbstractController {
 	}
 	
 	@RequestMapping("/save")
+	@ResponseBody
 	public ControllerResult save(SysLabel label){
 		if (label.getId().equals(0)){
 			sysLabelService.addLabel(label.getName(), label.getStatus());

+ 1 - 1
shop/src/main/java/com/zskk/shop/controller/web/GoodController.java

@@ -46,7 +46,7 @@ public class GoodController extends AbstractController {
 		GoodPrice price 				= goodService.queryGoodPrice(gid);
 		List<GoodAd> ads 				= goodService.queryGoodAds(gid);
 		List<GoodDescribe> describes 	= goodService.queryGoodDescribes(gid);
-		List<SysLabel> labels			= sysLabelService.queryAll();
+		List<SysLabel> labels			= sysLabelService.queryLabels();
 		List<String> tjCheckList		= tjCenterService.getDJDetail("49");
 		
 		GoodBean bean = goodService.toDetailGoodBean(base, price, ads, describes);

+ 1 - 1
shop/src/main/java/com/zskk/shop/controller/web/IndexController.java

@@ -70,6 +70,6 @@ public class IndexController extends AbstractController {
 	}
 	
 	private List<SysLabel> queryAllSysLabel(){
-		return sysLabelService.queryAll();
+		return sysLabelService.queryLabels();
 	}
 }

+ 23 - 0
shop/src/main/java/com/zskk/shop/dao/ManagerUserMapper.java

@@ -0,0 +1,23 @@
+/**
+* @版权信息 (@copyright Copyright 2017-XXXX JDJR.COM All Right Reserved);
+* @see
+* @author 于海涛 京东金融【技术研发部-证券及营销平台研发部-营销平台研发部】
+* @version 1.0
+* @date 2018年6月7日
+*/
+
+package com.zskk.shop.dao;
+
+import java.util.List;
+
+import com.zskk.shop.dao.entry.ManagerUser;
+
+public interface ManagerUserMapper {
+	public List<ManagerUser> queryAllMUsers();
+	public ManagerUser queryOneById(Integer id);
+	public ManagerUser queryOneByUid(String uid);
+	
+	public void add(ManagerUser muser);
+	
+	public Integer update(ManagerUser muser);
+}

+ 1 - 0
shop/src/main/java/com/zskk/shop/dao/SysLabelMapper.java

@@ -15,6 +15,7 @@ import com.zskk.shop.dao.entry.SysLabel;
 
 public interface SysLabelMapper {
 	public List<SysLabel> queryAllLabels();
+	public List<SysLabel> queryLabels();
 	
 	public SysLabel queryLabel(Integer id);
 	

+ 68 - 0
shop/src/main/java/com/zskk/shop/dao/entry/ManagerUser.java

@@ -0,0 +1,68 @@
+/**
+* @版权信息 (@copyright Copyright 2017-XXXX JDJR.COM All Right Reserved);
+* @see
+* @author 于海涛 京东金融【技术研发部-证券及营销平台研发部-营销平台研发部】
+* @version 1.0
+* @date 2018年6月7日
+*/
+
+package com.zskk.shop.dao.entry;
+
+public class ManagerUser {
+	private Integer id;
+	private String uid;
+	private String uname;
+	private String uphone;
+	private String cuid;
+	private String cuname;
+	private Integer status;
+	private Integer ctime;
+	public Integer getId() {
+		return id;
+	}
+	public void setId(Integer id) {
+		this.id = id;
+	}
+	public String getUid() {
+		return uid;
+	}
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+	public String getCuid() {
+		return cuid;
+	}
+	public void setCuid(String cuid) {
+		this.cuid = cuid;
+	}
+	public String getUname() {
+		return uname;
+	}
+	public void setUname(String uname) {
+		this.uname = uname;
+	}
+	public String getUphone() {
+		return uphone;
+	}
+	public void setUphone(String uphone) {
+		this.uphone = uphone;
+	}
+	public String getCuname() {
+		return cuname;
+	}
+	public void setCuname(String cuname) {
+		this.cuname = cuname;
+	}
+	public Integer getCtime() {
+		return ctime;
+	}
+	public void setCtime(Integer ctime) {
+		this.ctime = ctime;
+	}
+	public Integer getStatus() {
+		return status;
+	}
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+}

+ 48 - 0
shop/src/main/java/com/zskk/shop/service/ManagerUserService.java

@@ -0,0 +1,48 @@
+/**
+* @版权信息 (@copyright Copyright 2017-XXXX JDJR.COM All Right Reserved);
+* @see
+* @author 于海涛 京东金融【技术研发部-证券及营销平台研发部-营销平台研发部】
+* @version 1.0
+* @date 2018年6月7日
+*/
+
+package com.zskk.shop.service;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zskk.shop.dao.ManagerUserMapper;
+import com.zskk.shop.dao.entry.ManagerUser;
+import com.zskk.shop.utils.ToolsUtil;
+
+@Service
+public class ManagerUserService {
+	
+	@Autowired
+	private ManagerUserMapper managerUserMapper;
+	
+	public List<ManagerUser> queryAll(){
+		return managerUserMapper.queryAllMUsers();
+	}
+	
+	public ManagerUser queryById(Integer id){
+		return managerUserMapper.queryOneById(id);
+	}
+	
+	public ManagerUser queryByUid(String uid){
+		return managerUserMapper.queryOneByUid(uid);
+	}
+	
+	public void add(ManagerUser user){
+		user.setStatus(1);
+		user.setCtime(ToolsUtil.getNow());
+		managerUserMapper.add(user);
+	}
+	
+	public Integer setstatus(ManagerUser user, Integer status){
+		user.setStatus(status);
+		return managerUserMapper.update(user);
+	}
+}

+ 4 - 0
shop/src/main/java/com/zskk/shop/service/SysLabelService.java

@@ -37,6 +37,10 @@ public class SysLabelService {
 		return sysLabelMapper.queryAllLabels();
 	}
 	
+	public List<SysLabel> queryLabels(){
+		return sysLabelMapper.queryLabels();
+	}
+	
 	public List<GoodLabel> queryLabelGoods(Integer lid){
 		return sysLabelMapper.queryLabelGoodids(lid);
 	}

+ 28 - 0
shop/src/main/java/com/zskk/shop/service/UserCenterService.java

@@ -8,15 +8,19 @@
 
 package com.zskk.shop.service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
+import java.util.UUID;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.zskk.shop.controller.bean.AccountBean;
 import com.zskk.shop.controller.bean.ControllerResult;
 import com.zskk.shop.controller.bean.UserBean;
@@ -68,6 +72,30 @@ public class UserCenterService {
 		}
 	}
 	
+	/**
+	 * 查询用户
+	 * @param search
+	 * @return
+	 */
+	public List<UserBean> queryUser(String search){
+		Map<String, String> params = new HashMap<>();
+		params.put("search", search);
+		params.put("nonce", UUID.randomUUID().toString());
+		params.put("sign", this.sign(params));
+		try{
+			String content = HttpClient.doPost(uccenter + "account/queryUsers", params);
+			JSONObject obj = JSON.parseObject(content);
+			if (obj.containsKey("code") && obj.getInteger("code").equals(0)){
+				return JSON.parseArray(obj.getString("obj"), UserBean.class);
+			}else{
+				return new ArrayList<>(0);
+			}
+		}catch (Exception e) {
+			LogUtil.sysError(e.getMessage(), e);
+			return new ArrayList<>(0);
+		}
+	}
+	
 	public String sign(Map<String, String> params){
 		return signService.sign(params, secret);
 	}

+ 31 - 0
shop/src/main/resource/mapper/ManagerUserMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zskk.shop.dao.ManagerUserMapper">
+	<sql id="select">
+		id, uid, uname, uphone, cuid, cuname, status, ctime
+	</sql>
+	<select id="queryAllMUsers" resultType="com.zskk.shop.dao.entry.ManagerUser">
+		select <include refid="select"></include>
+		from manager_user
+	</select>
+	<select id="queryOneById" resultType="com.zskk.shop.dao.entry.ManagerUser">
+		select <include refid="select"></include>
+		from manager_user
+		where id=#{id}
+	</select>
+	<select id="queryOneByUid" resultType="com.zskk.shop.dao.entry.ManagerUser">
+		select <include refid="select"></include>
+		from manager_user
+		where uid=#{uid} 
+		limit 1
+	</select>
+	<insert id="add" parameterType="com.zskk.shop.dao.entry.ManagerUser">
+		insert into manager_user(uid, uname, uphone, cuid, cuname, status, ctime)
+		values(#{uid}, #{uname}, #{uphone}, #{cuid}, #{cuname}, #{status}, #{ctime})
+	</insert>
+	<update id="update" parameterType="com.zskk.shop.dao.entry.ManagerUser">
+		update manager_user set uid=#{uid}, uname=#{uname}, uphone=#{uphone}, 
+			cuid=#{cuid}, cuname=#{cuname}, status=#{status}, ctime=#{ctime}
+		where id=#{id}
+	</update>
+</mapper>

+ 7 - 1
shop/src/main/resource/mapper/SysLabelMapper.xml

@@ -3,8 +3,14 @@
 <mapper namespace="com.zskk.shop.dao.SysLabelMapper">
 	<select id="queryAllLabels" resultType="com.zskk.shop.dao.entry.SysLabel">
 		select *
-		from sys_label where status=1
+		from sys_label
 	</select>
+	<select id="queryLabels">
+		select *
+		from sys_label
+		where status=1
+	</select>
+	
 	<select id="queryLabel" resultType="com.zskk.shop.dao.entry.SysLabel">
 		select *
 		from sys_label

+ 6 - 0
shop/static/manager/src/api/index.js

@@ -68,4 +68,10 @@ export default {
     getGoodDescribe: (params, vue) => post(`${serverPath}manage/getGoodDescribe`, params, vue),
     saveGoodDescribe: (params, vue) => post(`${serverPath}manage/saveGoodDescribe`, params, vue),
     getSysLabels: (params, vue) => post(`${serverPath}manage/label/labels`, params, vue),
+    getLabel: (params, vue) => post(`${serverPath}manage/label/get`, params, vue),
+    saveLabel: (params, vue) => post(`${serverPath}manage/label/save`, params, vue),
+    queryAllMUsers: (params, vue) => post(`${serverPath}/manage/muser/queryAll`, params, vue),
+    setMUserStatus: (params, vue) => post(`${serverPath}/manage/muser/setStatus`, params, vue),
+    sarchUsers: (params, vue) => post(`${serverPath}/manage/muser/sarch`, params, vue),
+    addMUser: (params, vue) => post(`${serverPath}/manage/muser/add`, params, vue),
 }

+ 1 - 0
shop/static/manager/src/components/Sidebar.vue

@@ -41,6 +41,7 @@ export default {
       var items   = []
       items.push({ icon: '', index: '/goodsManager', title: '商品管理'})
       items.push({ icon: '', index: '/sysLabelManager', title: '系统标签'})
+      items.push({ icon: '', index: '/manageUser', title: '用户管理'})
       this.items  = items
       for (var i in items){
           var item = items[i]

+ 108 - 0
shop/static/manager/src/components/page/AddManageUser.vue

@@ -0,0 +1,108 @@
+<template>
+    <div>
+        <div class="title">
+            <el-tag type="danger" class="alert">
+                <strong>注意:</strong>&nbsp;&nbsp;&nbsp;&nbsp;您添加的用户必须是已注册的用户,如果还还没有注册请先
+                <a href="http://testuc.pacsonline.cn/#/reg" target="_black">注册</a>
+            </el-tag>
+        </div>
+
+        <div v-bind:class="{hidden:step!=1}">
+            <el-tag class="alert">第一步:输入手机号/用户名查询用户</el-tag>
+            <el-input v-model="search" placeholder="请输入手机号/用户名"></el-input>
+            <div class="next">
+                <el-button type="primary" @click="goBack">取消</el-button>
+                <el-button type="primary" @click="searchUser">下一步</el-button>
+            </div>
+        </div>
+        <div v-bind:class="{hidden:step!=2}">
+            <el-tag class="alert">第二步:选择用户</el-tag>
+            <el-table :data="items">
+                <el-table-column label="选择">
+                    <template slot-scope="scope">
+                        <el-radio v-model="userid" :label="scope.row.userid">&nbsp</el-radio>
+                    </template>
+                </el-table-column>
+                <el-table-column label="用户名称" prop="name"></el-table-column>
+                <el-table-column label="用户手机号" prop="phone"></el-table-column>
+                <el-table-column label="身份证" prop="idcard"></el-table-column>
+            </el-table>
+            <div class="next">
+                <el-button type="primary" @click="up">上一步</el-button>
+                <el-button type="primary" @click="save">完成</el-button>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      step: 1,
+      search: '',
+      items: [],
+      userid: false
+    }
+  },
+  methods: {
+    searchUser: function() {
+        if (this.search.length == 0){
+            return
+        }
+      this.$http.sarchUsers({ search: this.search }, this).then(res => {
+        if (res.code === 0) {
+          this.items = res.obj
+          this.step = this.step + 1
+        }
+      })
+    },
+    goBack() {
+      this.$router.back()
+    },
+    up: function(){
+        this.step = this.step - 1
+    },
+    save: function() {
+      let that = this
+      if (this.userid) {
+        this.items.forEach(it => {
+          if (it.userid === this.userid) {
+            var params = {
+              uid: it.userid,
+              uname: it.name,
+              uphone: it.phone
+            }
+            this.$http.addMUser(params, this).then(res => {
+              if (res.code === 0) {
+                this.$message({
+                  message: '操作成功',
+                  type: 'success',
+                  duration: 1000,
+                  onClose: function() {
+                    that.goBack()
+                  }
+                })
+              }
+            })
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+<style>
+.title {
+  margin-bottom: 20px;
+}
+.alert {
+  width: 100%;
+}
+.hidden {
+  display: none;
+}
+.next {
+  text-align: center;
+  margin-top: 20px;
+}
+</style>

+ 67 - 0
shop/static/manager/src/components/page/EditLabel.vue

@@ -0,0 +1,67 @@
+<template>
+    <el-form ref="form" :model="form" label-width="120px">
+        <el-form-item label="标签名称">
+            <el-input v-model="form.name"></el-input>
+        </el-form-item>
+        <el-form-item label="标签状态">
+            <el-switch v-model="form.status" active-color="#13ce66" inactive-color="#ff4949">
+            </el-switch>
+        </el-form-item>
+        <el-form-item>
+            <el-button type="primary" @click="save">保存</el-button>
+            <el-button @click="goBack">取消</el-button>
+        </el-form-item>
+    </el-form>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      form: {
+        id: 0,
+        name: '',
+        status: true
+      }
+    }
+  },
+  methods: {
+    save: function() {
+      var that = this
+      this.$http
+        .saveLabel(
+          {
+            id: this.form.id,
+            name: this.form.name,
+            status: this.form.status ? 1 : 0
+          },
+          this
+        )
+        .then(res => {
+          if (res.code === 0) {
+            this.$message({
+              message: '操作成功',
+              type: 'success',
+              duration: 1000,
+              onClose: function() {
+                that.$router.push('/sysLabelManager')
+              }
+            })
+          }
+        })
+    },
+    goBack: function() {
+      this.$router.back()
+    }
+  },
+  mounted: function() {
+    var id = this.$route.query.id
+    this.$http.getLabel({ id: id }, this).then(res => {
+      if (res.code === 0) {
+        this.form.id = id
+        this.form.name = res.obj.name
+        this.form.status = res.obj.status === 1
+      }
+    })
+  }
+}
+</script>

+ 49 - 26
shop/static/manager/src/components/page/GoodsManager.vue

@@ -37,25 +37,33 @@
                     <el-button type="text" size="small" @click="goEditGoodsDescribe(scope.row)">编辑详细</el-button>
                 </template>
             </el-table-column>
-            <el-table-column label="状态" prop="status" :formatter="statusFormater">
+            <el-table-column label="状态">
+                <template slot-scope="scope">
+                    <template v-if="scope.row.status === 1">
+                        <p class="online">启用</p>
+                    </template>
+                    <template v-else>
+                        <p class="offline">禁用</p>
+                    </template>
+                </template>
             </el-table-column>
             <el-table-column label="绑定套餐" prop="packageName">
                 <template slot-scope="scope">
                     <template v-if="scope.row.packageid === '0'">
-                        <el-button type="text" size="small" >去绑定</el-button>
+                        <el-button type="text" size="small">去绑定</el-button>
                     </template>
                     <template v-else>
-                        <el-button type="text" size="small" >{{scope.row.packageName}}</el-button>
+                        <el-button type="text" size="small">{{scope.row.packageName}}</el-button>
                     </template>
                 </template>
             </el-table-column>
             <el-table-column label="操作" width="250px">
                 <template slot-scope="scope">
                     <template v-if="scope.row.status == 0">
-                        <el-button type="success"  @click="setStatus(scope.row)">启用</el-button>
+                        <el-button type="success" @click="setStatus(scope.row)">启用</el-button>
                     </template>
                     <template v-else>
-                        <el-button type="warning"    @click="setStatus(scope.row)">禁用</el-button>
+                        <el-button type="danger" @click="setStatus(scope.row)">禁用</el-button>
                     </template>
                     <el-button type="text" size="small" @click="goEdit(scope.row)">编辑</el-button>
                     <a :href="serverPath + 'good/detail/' + scope.row.gid" target="_black">
@@ -80,9 +88,9 @@ export default {
       items: [],
       totalCount: 0,
       status: '-1',
-      search:'',
+      search: '',
 
-      serverPath:process.env.SERVER_PATH
+      serverPath: process.env.SERVER_PATH
     }
   },
   methods: {
@@ -113,32 +121,41 @@ export default {
         return '离线'
       }
     },
-    setStatus: function(row){
-        let msg = row.status === 1? "禁用": "启用"
+    setStatus: function(row) {
+      let msg = row.status === 1 ? '禁用' : '启用'
 
-        this.$confirm('您确定要将此商品设置为 "' + msg + '" , 是否继续?', '提示', {
+      this.$confirm(
+        '您确定要将此商品设置为 "' + msg + '" , 是否继续?',
+        '提示',
+        {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
-        }).then(() => {
-          this.$http.setGoodStatus({gid: row.gid, status:(row.status === 1? false: true)}, this).then(res =>{
-              if (res.code === 0){
-                  row.status = row.status === 1? 0: 1;
-                  this.$message({
-                      message: '操作成功',
-                      type:'success'
-                  })
+        }
+      )
+        .then(() => {
+          this.$http
+            .setGoodStatus(
+              { gid: row.gid, status: row.status === 1 ? false : true },
+              this
+            )
+            .then(res => {
+              if (res.code === 0) {
+                row.status = row.status === 1 ? 0 : 1
+                this.$message({
+                  message: '操作成功',
+                  type: 'success'
+                })
               }
-          })
-        }).catch(() => {
-                  
-        });
+            })
+        })
+        .catch(() => {})
     },
-    goEdit: function (row){
-        this.$router.push({path:'/editGoods', query:{gid: row.gid}})
+    goEdit: function(row) {
+      this.$router.push({ path: '/editGoods', query: { gid: row.gid } })
     },
-    goEditGoodsDescribe: function(row){
-        this.$router.push({path:'/editGoodsDescribe', query:{gid: row.gid}})
+    goEditGoodsDescribe: function(row) {
+      this.$router.push({ path: '/editGoodsDescribe', query: { gid: row.gid } })
     }
   },
   mounted: function() {
@@ -152,4 +169,10 @@ export default {
   margin-top: 10px;
   text-align: center;
 }
+.online {
+  color: #67c23a;
+}
+.offline {
+  color: #f56c6c;
+}
 </style>

+ 76 - 0
shop/static/manager/src/components/page/ManageUser.vue

@@ -0,0 +1,76 @@
+<template>
+    <div>
+        <el-button type="primary" @click="goAddMUser">添加管理用户</el-button>
+        <el-table :data="items">
+            <el-table-column label="用户名称" prop="uname"></el-table-column>
+            <el-table-column label="用户手机号" prop="uphone"></el-table-column>
+            <el-table-column label="状态">
+                <template slot-scope="scope">
+                    <template v-if="scope.row.status === 1">
+                        <p class="online">启用</p>
+                    </template>
+                    <template v-else>
+                        <p class="offline">禁用</p>
+                    </template>
+                </template>
+            </el-table-column>
+            <el-table-column label="创建者" prop="cuname"></el-table-column>
+            <el-table-column label="操作">
+                <template slot-scope="scope">
+                    <template v-if="scope.row.status == 0">
+                        <el-button type="success" @click="setStatus(scope.row)">启用</el-button>
+                    </template>
+                    <template v-else>
+                        <el-button type="danger" @click="setStatus(scope.row)">禁用</el-button>
+                    </template>
+                </template>
+            </el-table-column>
+        </el-table>
+    </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      items: []
+    }
+  },
+  methods: {
+    getMUsers: function() {
+      this.$http.queryAllMUsers({}, this).then(res => {
+        if (res.code == 0) {
+          this.items = res.obj
+        }
+      })
+    },
+    setStatus: function(row) {
+      var status = row.status === 1 ? 0 : 1
+      this.$http
+        .setMUserStatus({ id: row.id, status: status }, this)
+        .then(res => {
+          if (res.code === 0) {
+            this.$message({
+              message: '操作成功',
+              type: 'success'
+            })
+            row.status = status
+          }
+        })
+    },
+    goAddMUser () {
+        this.$router.push("/addManageUser")
+    }
+  },
+  mounted: function() {
+      this.getMUsers();
+  }
+}
+</script>
+<style>
+.online {
+  color: #67c23a;
+}
+.offline {
+  color: #f56c6c;
+}
+</style>

+ 39 - 16
shop/static/manager/src/components/page/SysLabelManager.vue

@@ -1,28 +1,51 @@
 <template>
     <el-table :data="items">
         <el-table-column label="标签名称" prop="name"></el-table-column>
-        <el-table-column label="操作">
-             <template slot-scope="scope">
-                    <el-button type="text" size="small">编辑</el-button>
-                    <el-button type="text" size="small">删除</el-button>
+        <el-table-column label="标签状态">
+            <template slot-scope="scope">
+                <template v-if="scope.row.status === 1">
+                    <p class="online">启用</p>
                 </template>
-
+                <template v-else>
+                    <p class="offline">禁用</p>
+                </template>
+            </template>
+        </el-table-column>
+        <el-table-column label="操作">
+            <template slot-scope="scope">
+                <el-button type="text" size="small" @click="goEdit(scope.row)">编辑</el-button>
+            </template>
         </el-table-column>
     </el-table>
 </template>
 <script>
 export default {
-    data: function(){
-        return {
-            items:[]
-        }
-    },
-    mounted: function (){
-        this.$http.getSysLabels({}, this).then(res => {
-            if (res.code === 0){
-                this.items = res.obj;
-            }
-        })
+  data: function() {
+    return {
+      items: []
     }
+  },
+  methods: {
+    goEdit: function(row) {
+      this.$router.push({ path: '/editLabel', query: { id: row.id } })
+    }
+  },
+  mounted: function() {
+    this.$http.getSysLabels({}, this).then(res => {
+      if (res.code === 0) {
+        this.items = res.obj
+      }
+    })
+  }
 }
 </script>
+
+<style>
+    .online {
+        color: #67c23a
+    }
+    .offline {
+        color: #f56c6c;
+    }
+</style>
+

+ 13 - 1
shop/static/manager/src/router/index.js

@@ -25,13 +25,25 @@ export default new Router({
                 {
                     path: '/sysLabelManager',
                     component: resolve => require(['../components/page/SysLabelManager'], resolve)
+                },
+                {
+                    path: '/editLabel',
+                    component: resolve => require(['../components/page/EditLabel'], resolve)
+                },
+                {
+                    path: '/manageUser',
+                    component: resolve => require(['../components/page/ManageUser'], resolve)
+                },
+                {
+                    path: '/addManageUser',
+                    component: resolve => require(['../components/page/AddManageUser'], resolve)
                 }
             ]
         },
         {
             path: '/demo',
             name: 'demo',
-            component: resolve => require(['../components/page/SysLabelManager'], resolve)
+            component: resolve => require(['../components/page/ManageUser'], resolve)
         }
     ]
 })