소스 검색

增加标签头维护

xwh 4 년 전
부모
커밋
ebd8719684

+ 193 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/GoodsLabelHeadController.java

@@ -0,0 +1,193 @@
+package com.kmall.admin.controller;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import com.kmall.admin.entity.GoodsLabelHeadEntity;
+import com.kmall.admin.entity.SysOssEntity;
+import com.kmall.admin.fromcomm.entity.SysUserEntity;
+import com.kmall.admin.service.GoodsLabelHeadService;
+import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.common.constant.Dict;
+import com.kmall.common.fileserver.util.FileManager;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import com.kmall.common.utils.RRException;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+
+/**
+ * 标签头维护表Controller
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2020-09-11 14:24:36
+ */
+@RestController
+@RequestMapping("goodslabelhead")
+public class GoodsLabelHeadController {
+    @Autowired
+    private GoodsLabelHeadService goodsLabelHeadService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+//    @RequiresPermissions("goodslabelhead:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        String merchSn = null;
+        Integer storeId = null;
+        SysUserEntity sysUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
+        if(!"1".equals(sysUser.getRoleType())){
+            merchSn = sysUser.getMerchSn();
+            storeId = sysUser.getStoreId();
+        }
+        params.put("merchSn",merchSn);
+        params.put("storeId",storeId);
+        Query query = new Query(params);
+        List<GoodsLabelHeadEntity> goodsLabelHeadList = goodsLabelHeadService.queryList(query);
+        int total = goodsLabelHeadService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(goodsLabelHeadList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+//    @RequiresPermissions("goodslabelhead:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        GoodsLabelHeadEntity goodsLabelHead = goodsLabelHeadService.queryObject(id);
+
+        return R.ok().put("goodsLabelHead", goodsLabelHead);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+//    @RequiresPermissions("goodslabelhead:save")
+    @ResponseBody
+    public R save(@RequestBody GoodsLabelHeadEntity goodsLabelHead) {
+        goodsLabelHeadService.save(goodsLabelHead);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+//    @RequiresPermissions("goodslabelhead:update")
+    @ResponseBody
+    public R update(@RequestBody GoodsLabelHeadEntity goodsLabelHead) {
+        goodsLabelHeadService.update(goodsLabelHead);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+//    @RequiresPermissions("goodslabelhead:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]ids) {
+        goodsLabelHeadService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        String merchSn = null;
+        Integer storeId = null;
+        SysUserEntity sysUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
+        if(!"1".equals(sysUser.getRoleType())){
+            merchSn = sysUser.getMerchSn();
+            storeId = sysUser.getStoreId();
+        }
+        params.put("merchSn",merchSn);
+        params.put("storeId",storeId);
+        List<GoodsLabelHeadEntity> list = goodsLabelHeadService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+
+
+
+
+    /**
+     * 上传文件
+     */
+    @RequestMapping("/upload")
+    public R upload(@RequestParam("file") MultipartFile file) throws Exception {
+        if (file.isEmpty()) {
+            throw new RRException("上传文件不能为空");
+        }
+//        int AllowImgFileSize=0; //允许上传图片文件的大小 0为无限制 单位:KB
+//        Long size = file.getSize();
+//        int ImgFileSize=Math.round(size/1024*100)/100;//取得图片文件的大小
+//        if(ImgFileSize > 200){
+//            throw new RRException("上传图片,不能超过 300k");
+//        }
+        //上传文件
+        String url = FileManager.upload(file);
+
+        //保存文件信息
+        GoodsLabelHeadEntity goodsLabelHeadEntity = new GoodsLabelHeadEntity();
+        String merchSn = null;
+        Integer storeId = null;
+        SysUserEntity sysUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
+        if(!"1".equals(sysUser.getRoleType())){
+            merchSn = sysUser.getMerchSn();
+            storeId = sysUser.getStoreId();
+        }
+        goodsLabelHeadEntity.setMerchSn(merchSn);
+        goodsLabelHeadEntity.setCreaterSn(ShiroUtils.getUserId().toString());
+        goodsLabelHeadEntity.setCreateTime(new Date());
+        goodsLabelHeadEntity.setLabelHeadUrl(url);
+        goodsLabelHeadEntity.setIsValid(Dict.isValid.item_0.getItem());
+        goodsLabelHeadEntity.setLabelHeadName(file.getOriginalFilename());
+        goodsLabelHeadEntity.setStoreId(storeId);
+
+        goodsLabelHeadService.save(goodsLabelHeadEntity);
+        R r = R.ok();
+        r.put("url", url);
+        r.put("goodsLabelHead", goodsLabelHeadEntity);
+        return r;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}

+ 16 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/GoodsLabelHeadDao.java

@@ -0,0 +1,16 @@
+package com.kmall.admin.dao;
+
+
+import com.kmall.admin.entity.GoodsLabelHeadEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 标签头维护表Dao
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2020-09-11 14:24:36
+ */
+public interface GoodsLabelHeadDao extends BaseDao<GoodsLabelHeadEntity> {
+
+}

+ 222 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/GoodsLabelHeadEntity.java

@@ -0,0 +1,222 @@
+package com.kmall.admin.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 标签头维护表实体
+ * 表名 mall_goods_label_head
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2020-09-11 14:24:36
+ */
+public class GoodsLabelHeadEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    private Integer id;
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+    /**
+     * 门店编号
+     */
+    private Integer storeId;
+    /**
+     * 标签头名称
+     */
+    private String labelHeadName;
+    /**
+     * 标签头url
+     */
+    private String labelHeadUrl;
+    /**
+     * 排序
+     */
+    private Integer sortOrder;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:编号
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:编号
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:商户编号
+     */
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn;
+    }
+
+    /**
+     * 获取:商户编号
+     */
+    public String getMerchSn() {
+        return merchSn;
+    }
+    /**
+     * 设置:门店编号
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店编号
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:标签头名称
+     */
+    public void setLabelHeadName(String labelHeadName) {
+        this.labelHeadName = labelHeadName;
+    }
+
+    /**
+     * 获取:标签头名称
+     */
+    public String getLabelHeadName() {
+        return labelHeadName;
+    }
+    /**
+     * 设置:标签头url
+     */
+    public void setLabelHeadUrl(String labelHeadUrl) {
+        this.labelHeadUrl = labelHeadUrl;
+    }
+
+    /**
+     * 获取:标签头url
+     */
+    public String getLabelHeadUrl() {
+        return labelHeadUrl;
+    }
+    /**
+     * 设置:排序
+     */
+    public void setSortOrder(Integer sortOrder) {
+        this.sortOrder = sortOrder;
+    }
+
+    /**
+     * 获取:排序
+     */
+    public Integer getSortOrder() {
+        return sortOrder;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 73 - 0
kmall-admin/src/main/java/com/kmall/admin/service/GoodsLabelHeadService.java

@@ -0,0 +1,73 @@
+package com.kmall.admin.service;
+
+
+import com.kmall.admin.entity.GoodsLabelHeadEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 标签头维护表Service接口
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2020-09-11 14:24:36
+ */
+public interface GoodsLabelHeadService {
+
+    /**
+     * 根据主键查询实体
+     *
+     * @param id 主键
+     * @return 实体
+     */
+    GoodsLabelHeadEntity queryObject(Integer id);
+
+    /**
+     * 分页查询
+     *
+     * @param map 参数
+     * @return list
+     */
+    List<GoodsLabelHeadEntity> queryList(Map<String, Object> map);
+
+    /**
+     * 分页统计总数
+     *
+     * @param map 参数
+     * @return 总数
+     */
+    int queryTotal(Map<String, Object> map);
+
+    /**
+     * 保存实体
+     *
+     * @param goodsLabelHead 实体
+     * @return 保存条数
+     */
+    int save(GoodsLabelHeadEntity goodsLabelHead);
+
+    /**
+     * 根据主键更新实体
+     *
+     * @param goodsLabelHead 实体
+     * @return 更新条数
+     */
+    int update(GoodsLabelHeadEntity goodsLabelHead);
+
+    /**
+     * 根据主键删除
+     *
+     * @param id
+     * @return 删除条数
+     */
+    int delete(Integer id);
+
+    /**
+     * 根据主键批量删除
+     *
+     * @param ids
+     * @return 删除条数
+     */
+    int deleteBatch(Integer[]ids);
+}

+ 59 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsLabelHeadServiceImpl.java

@@ -0,0 +1,59 @@
+package com.kmall.admin.service.impl;
+
+import com.kmall.admin.dao.GoodsLabelHeadDao;
+import com.kmall.admin.entity.GoodsLabelHeadEntity;
+import com.kmall.admin.service.GoodsLabelHeadService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 标签头维护表Service实现类
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2020-09-11 14:24:36
+ */
+@Service("goodsLabelHeadService")
+public class GoodsLabelHeadServiceImpl implements GoodsLabelHeadService {
+    @Autowired
+    private GoodsLabelHeadDao goodsLabelHeadDao;
+
+    @Override
+    public GoodsLabelHeadEntity queryObject(Integer id) {
+        return goodsLabelHeadDao.queryObject(id);
+    }
+
+    @Override
+    public List<GoodsLabelHeadEntity> queryList(Map<String, Object> map) {
+        return goodsLabelHeadDao.queryList(map);
+    }
+
+    @Override
+    public int queryTotal(Map<String, Object> map) {
+        return goodsLabelHeadDao.queryTotal(map);
+    }
+
+    @Override
+    public int save(GoodsLabelHeadEntity goodsLabelHead) {
+        return goodsLabelHeadDao.save(goodsLabelHead);
+    }
+
+    @Override
+    public int update(GoodsLabelHeadEntity goodsLabelHead) {
+        return goodsLabelHeadDao.update(goodsLabelHead);
+    }
+
+    @Override
+    public int delete(Integer id) {
+        return goodsLabelHeadDao.delete(id);
+    }
+
+    @Override
+    public int deleteBatch(Integer[]ids) {
+        return goodsLabelHeadDao.deleteBatch(ids);
+    }
+}

+ 143 - 0
kmall-admin/src/main/resources/mybatis/mapper/GoodsLabelHeadDao.xml

@@ -0,0 +1,143 @@
+<?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.kmall.admin.dao.GoodsLabelHeadDao">
+
+    <resultMap type="com.kmall.admin.entity.GoodsLabelHeadEntity" id="goodsLabelHeadMap">
+        <result property="id" column="id"/>
+        <result property="merchSn" column="merch_sn"/>
+        <result property="storeId" column="store_id"/>
+        <result property="labelHeadName" column="label_head_name"/>
+        <result property="labelHeadUrl" column="label_head_url"/>
+        <result property="sortOrder" column="sort_order"/>
+        <result property="isValid" column="is_valid"/>
+        <result property="createrSn" column="creater_sn"/>
+        <result property="createTime" column="create_time"/>
+        <result property="moderSn" column="moder_sn"/>
+        <result property="modTime" column="mod_time"/>
+        <result property="tstm" column="tstm"/>
+    </resultMap>
+
+	<select id="queryObject" resultType="com.kmall.admin.entity.GoodsLabelHeadEntity">
+		select
+			`id`,
+			`merch_sn`,
+			`store_id`,
+			`label_head_name`,
+			`label_head_url`,
+			`sort_order`,
+			`is_valid`,
+			`creater_sn`,
+			`create_time`,
+			`moder_sn`,
+			`mod_time`,
+			`tstm`
+		from mall_goods_label_head
+		where id = #{id}
+	</select>
+
+	<select id="queryList" resultType="com.kmall.admin.entity.GoodsLabelHeadEntity">
+		select
+    		`id`,
+    		`merch_sn`,
+    		`store_id`,
+    		`label_head_name`,
+    		`label_head_url`,
+    		`sort_order`,
+    		`is_valid`,
+    		`creater_sn`,
+    		`create_time`,
+    		`moder_sn`,
+    		`mod_time`,
+    		`tstm`
+		from mall_goods_label_head
+		WHERE 1=1
+		and is_valid='0'
+		<if test="merchSn != null and merchSn.trim() != ''">
+			AND merch_sn=#{merchSn}
+		</if>
+		<if test="merchSn != null and merchSn.trim() != '' and storeId != null and storeId.trim() != ''">
+			AND store_id=#{storeId} AND store_id IS NULL AND merch_sn=#{merchSn}
+		</if>
+        <choose>
+            <when test="sidx != null and sidx.trim() != ''">
+                order by ${sidx} ${order}
+            </when>
+			<otherwise>
+                order by sort_order desc
+			</otherwise>
+        </choose>
+		<if test="offset != null and limit != null">
+			limit #{offset}, #{limit}
+		</if>
+	</select>
+	
+ 	<select id="queryTotal" resultType="int">
+		select count(*) from mall_goods_label_head
+		WHERE 1=1
+		and is_valid='0'
+		<if test="merchSn != null and merchSn.trim() != ''">
+			AND merch_sn=#{merchSn}
+		</if>
+		<if test="merchSn != null and merchSn.trim() != '' and storeId != null and storeId.trim() != ''">
+			AND store_id=#{storeId} AND store_id IS NULL AND merch_sn=#{merchSn}
+		</if>
+	</select>
+	 
+	<insert id="save" parameterType="com.kmall.admin.entity.GoodsLabelHeadEntity" useGeneratedKeys="true" keyProperty="id">
+		insert into mall_goods_label_head(
+			`merch_sn`,
+			`store_id`,
+			`label_head_name`,
+			`label_head_url`,
+			`sort_order`,
+			`is_valid`,
+			`creater_sn`,
+			`create_time`,
+			`moder_sn`,
+			`mod_time`,
+			`tstm`)
+		values(
+			#{merchSn},
+			#{storeId},
+			#{labelHeadName},
+			#{labelHeadUrl},
+			#{sortOrder},
+			#{isValid},
+			#{createrSn},
+			#{createTime},
+			#{moderSn},
+			#{modTime},
+			#{tstm})
+	</insert>
+	 
+	<update id="update" parameterType="com.kmall.admin.entity.GoodsLabelHeadEntity">
+		update mall_goods_label_head 
+		<set>
+			<if test="merchSn != null">`merch_sn` = #{merchSn}, </if>
+			<if test="storeId != null">`store_id` = #{storeId}, </if>
+			<if test="labelHeadName != null">`label_head_name` = #{labelHeadName}, </if>
+			<if test="labelHeadUrl != null">`label_head_url` = #{labelHeadUrl}, </if>
+			<if test="sortOrder != null">`sort_order` = #{sortOrder}, </if>
+			<if test="isValid != null">`is_valid` = #{isValid}, </if>
+			<if test="createrSn != null">`creater_sn` = #{createrSn}, </if>
+			<if test="createTime != null">`create_time` = #{createTime}, </if>
+			<if test="moderSn != null">`moder_sn` = #{moderSn}, </if>
+			<if test="modTime != null">`mod_time` = #{modTime}, </if>
+			<if test="tstm != null">`tstm` = #{tstm}</if>
+		</set>
+		where id = #{id}
+	</update>
+	
+	<delete id="delete">
+		delete from mall_goods_label_head where id = #{value}
+	</delete>
+	
+	<delete id="deleteBatch">
+		delete from mall_goods_label_head where id in 
+		<foreach item="id" collection="array" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</delete>
+
+</mapper>

+ 82 - 0
kmall-admin/src/main/webapp/WEB-INF/page/shop/goodslabelhead.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>标签头维护表</title>
+    #parse("sys/header.html")
+</head>
+<body>
+<div id="rrapp" v-cloak>
+	<div v-show="showList">
+        <Row :gutter="16">
+            <div class="search-group">
+                <i-col span="4">
+                    <i-input v-model="q.name" @on-enter="query" placeholder="名称"/>
+                </i-col>
+                <i-button @click="query">查询</i-button>
+                <i-button @click="reloadSearch">重置</i-button>
+            </div>
+            <div class="buttons-group">
+<!--                <i-button type="info" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</i-button>-->
+<!--                <i-button type="warning" @click="update"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</i-button>-->
+                <i-button type="error" @click="del"><i class="fa fa-trash-o"></i>&nbsp;删除</i-button>
+                <i-col style="display: inline-grid;">
+                    <Upload :show-upload-list="false" :on-success="uploadExcelSuccess" :on-error="uploadExcelError" :on-format-error="uploadExcelFormatError"
+                            :format="['jpg','jpeg','png']"
+                            action="../goodslabelhead/upload">
+                        <i-button type="ghost" icon="ios-cloud-upload-outline">标签头导入</i-button>
+                    </Upload>
+                </i-col>
+            </div>
+        </Row>
+	    <table id="jqGrid"></table>
+	    <div id="jqGridPager"></div>
+    </div>
+
+    <Card v-show="!showList">
+        <p slot="title">{{title}}</p>
+		<i-form ref="formValidate" :model="goodsLabelHead" :rules="ruleValidate" :label-width="80">
+            <Form-item label="商户编号" prop="merchSn">
+                <i-input v-model="goodsLabelHead.merchSn" placeholder="商户编号"/>
+            </Form-item>
+            <Form-item label="门店编号" prop="storeId">
+                <i-input v-model="goodsLabelHead.storeId" placeholder="门店编号"/>
+            </Form-item>
+            <Form-item label="标签头名称" prop="labelHeadName">
+                <i-input v-model="goodsLabelHead.labelHeadName" placeholder="标签头名称"/>
+            </Form-item>
+            <Form-item label="标签头url" prop="labelHeadUrl">
+                <i-input v-model="goodsLabelHead.labelHeadUrl" placeholder="标签头url"/>
+            </Form-item>
+            <Form-item label="排序" prop="sortOrder">
+                <i-input v-model="goodsLabelHead.sortOrder" placeholder="排序"/>
+            </Form-item>
+            <Form-item label="是否有效,0:有效,1:无效" prop="isValid">
+                <i-input v-model="goodsLabelHead.isValid" placeholder="是否有效,0:有效,1:无效"/>
+            </Form-item>
+            <Form-item label="创建人编号" prop="createrSn">
+                <i-input v-model="goodsLabelHead.createrSn" placeholder="创建人编号"/>
+            </Form-item>
+            <Form-item label="创建时间,yyyy-MM-dd HH:mm:ss" prop="createTime">
+                <i-input v-model="goodsLabelHead.createTime" placeholder="创建时间,yyyy-MM-dd HH:mm:ss"/>
+            </Form-item>
+            <Form-item label="修改人编号" prop="moderSn">
+                <i-input v-model="goodsLabelHead.moderSn" placeholder="修改人编号"/>
+            </Form-item>
+            <Form-item label="修改时间,yyyy-MM-dd HH:mm:ss" prop="modTime">
+                <i-input v-model="goodsLabelHead.modTime" placeholder="修改时间,yyyy-MM-dd HH:mm:ss"/>
+            </Form-item>
+            <Form-item label="时间戳" prop="tstm">
+                <i-input v-model="goodsLabelHead.tstm" placeholder="时间戳"/>
+            </Form-item>
+            <Form-item>
+                <i-button type="primary" @click="handleSubmit('formValidate')">提交</i-button>
+                <i-button type="warning" @click="reload" style="margin-left: 8px"/>返回</i-button>
+                <i-button type="ghost" @click="handleReset('formValidate')" style="margin-left: 8px">重置</i-button>
+            </Form-item>
+        </i-form>
+	</Card>
+</div>
+
+<script src="${rc.contextPath}/js/shop/goodslabelhead.js?_${date.systemTime}"></script>
+</body>
+</html>

+ 1 - 1
kmall-admin/src/main/webapp/WEB-INF/page/shop/goodstransportinfodetail.html

@@ -59,7 +59,7 @@
                 <i-input v-model="goodsTransportInfoDetail.originCountry" placeholder="原产地"/>
             </Form-item>
             <Form-item label="数量" prop="num">
-                <i-input type="number" v-model="goodsTransportInfoDetail.num" placeholder="数量"/>
+                <i-input v-model="goodsTransportInfoDetail.num" placeholder="数量"/>
             </Form-item>
             <!--<Form-item label="创建人编号" prop="createrSn">-->
                 <!--<i-input v-model="goodsTransportInfoDetail.createrSn" placeholder="创建人编号"/>-->

+ 176 - 0
kmall-admin/src/main/webapp/js/shop/goodslabelhead.js

@@ -0,0 +1,176 @@
+$(function () {
+    $("#jqGrid").jqGrid({
+        url: '../goodslabelhead/list',
+        datatype: "json",
+        colModel: [
+			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
+			{label: '商户编号', name: 'merchSn', index: 'merch_sn', width: 80},
+			{label: '门店编号', name: 'storeId', index: 'store_id', width: 80},
+			{label: '标签头名称', name: 'labelHeadName', index: 'label_head_name', width: 80},
+			{label: '标签头url', name: 'labelHeadUrl', index: 'label_head_url', width: 80},
+			// {label: '排序', name: 'sortOrder', index: 'sort_order', width: 80},
+			{label: '是否有效', name: 'isValid', index: 'is_valid', width: 80,formatter: function (value) {
+				if (value == '0') {
+					return '有效';
+				} else if (value == '1') {
+					return '无效';
+				}
+				return '';
+			}}
+			// {label: '创建人编号', name: 'createrSn', index: 'creater_sn', width: 80},
+			// {label: '创建时间', name: 'createTime', index: 'create_time', width: 80},
+			// {label: '修改人编号', name: 'moderSn', index: 'moder_sn', width: 80},
+			// {label: '修改时间', name: 'modTime', index: 'mod_time', width: 80},
+			// {label: '时间戳', name: 'tstm', index: 'tstm', width: 80}
+			],
+		viewrecords: true,
+        height: 550,
+        rowNum: 10,
+        rowList: [10, 30, 50],
+        rownumbers: true,
+        rownumWidth: 25,
+        autowidth: true,
+        multiselect: true,
+        pager: "#jqGridPager",
+        jsonReader: {
+            root: "page.list",
+            page: "page.currPage",
+            total: "page.totalPage",
+            records: "page.totalCount"
+        },
+        prmNames: {
+            page: "page",
+            rows: "limit",
+            order: "order"
+        },
+        gridComplete: function () {
+            $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
+        }
+    });
+});
+
+let vm = new Vue({
+	el: '#rrapp',
+	data: {
+        showList: true,
+        title: null,
+		goodsLabelHead: {},
+		ruleValidate: {
+			name: [
+				{required: true, message: '名称不能为空', trigger: 'blur'}
+			]
+		},
+		q: {
+		    name: ''
+		}
+	},
+	methods: {
+		query: function () {
+			vm.reload();
+		},
+		add: function () {
+			vm.showList = false;
+			vm.title = "新增";
+			vm.goodsLabelHead = {};
+		},
+		update: function (event) {
+            let id = getSelectedRow();
+			if (id == null) {
+				return;
+			}
+			vm.showList = false;
+            vm.title = "修改";
+
+            vm.getInfo(id)
+		},
+		saveOrUpdate: function (event) {
+            let url = vm.goodsLabelHead.id == null ? "../goodslabelhead/save" : "../goodslabelhead/update";
+			$.ajax({
+				type: "POST",
+			    url: url,
+			    contentType: "application/json",
+			    data: JSON.stringify(vm.goodsLabelHead),
+                success: function (r) {
+                    if (r.code === 0) {
+                        alert('操作成功', function (index) {
+                            vm.reload();
+                        });
+                    } else {
+                        alert(r.msg);
+                    }
+                }
+			});
+		},
+		uploadExcelSuccess: function (data) {
+			// console.log(data);
+			if(data.code==0){
+				alert('导入成功', function (index) {
+					$("#jqGrid").trigger("reloadGrid");
+				});
+			}else{
+				alert(data.msg);
+			}
+		},
+		uploadExcelError: function () {
+			alert('上传出现异常,请重试!');
+		},
+		uploadExcelFormatError: function (file) {
+			this.$Notice.warning({
+				title: '文件格式不正确',
+				desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 jpeg 或 png 格式的文件。'
+			});
+		},
+		del: function (event) {
+            let ids = getSelectedRows();
+			if (ids == null){
+				return;
+			}
+
+			confirm('确定要删除选中的记录?', function () {
+				$.ajax({
+					type: "POST",
+				    url: "../goodslabelhead/delete",
+				    contentType: "application/json",
+				    data: JSON.stringify(ids),
+				    success: function (r) {
+						if (r.code == 0) {
+							alert('操作成功', function (index) {
+								$("#jqGrid").trigger("reloadGrid");
+							});
+						} else {
+							alert(r.msg);
+						}
+					}
+				});
+			});
+		},
+		getInfo: function(id){
+			$.get("../goodslabelhead/info/"+id, function (r) {
+                vm.goodsLabelHead = r.goodsLabelHead;
+            });
+		},
+        reloadSearch: function() {
+            vm.q = {
+                name: ''
+            }
+            vm.reload();
+		},
+		reload: function (event) {
+			vm.showList = true;
+            let page = $("#jqGrid").jqGrid('getGridParam', 'page');
+			$("#jqGrid").jqGrid('setGridParam', {
+                postData: {'name': vm.q.name},
+                page: page
+            }).trigger("reloadGrid");
+            vm.handleReset('formValidate');
+		},
+        handleSubmit: function (name) {
+            handleSubmitValidate(this, name, function () {
+                vm.saveOrUpdate()
+            });
+        },
+        handleReset: function (name) {
+            handleResetForm(this, name);
+        }
+	}
+});

+ 11 - 2
kmall-admin/src/main/webapp/js/shop/goodstransportinfodetail.js

@@ -61,9 +61,9 @@ let vm = new Vue({
 		goodsTransportInfoDetail: {},
         ruleValidate: {
             sku:{required: true, message: 'sku不能为空', trigger: 'blur'},
-            supplierId:{ type:"number",  required: true, message: '供应商id不能为空', trigger: 'blur'},
+            supplierId:{   required: true, message: '供应商id不能为空', trigger: 'blur'},
             originCountry:{required: true, message: '原产地不能为空', trigger: 'blur'},
-            num:{ type:"number", required: true, message: '数量不能为空', trigger: 'blur'}
+            num:{ required: true, message: '数量不能为空', trigger: 'blur'}
         },
 		q: {
             wayStatus: null,
@@ -90,6 +90,15 @@ let vm = new Vue({
             vm.getInfo(transItemId)
 		},
 		saveOrUpdate: function (event) {
+            var re =  /^[1-9]+[0-9]*]*$/;
+            if (!re.test(vm.goodsTransportInfoDetail.num)) {
+                alert("数量请输入数字");
+                return false;
+            }
+            if (!re.test(vm.goodsTransportInfoDetail.supplierId)) {
+                alert("供应商id请输入数字");
+                return false;
+            }
             let url = vm.goodsTransportInfoDetail.transItemId == null ? "../goodstransportinfodetail/save" : "../goodstransportinfodetail/update";
 			$.ajax({
 				type: "POST",