Skip to content

Commit

Permalink
新增快递公司管理
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuzhongpei committed Nov 2, 2017
1 parent 4a50ca4 commit ff8bb10
Show file tree
Hide file tree
Showing 7 changed files with 301 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,11 @@ public interface ExpressCompanyMapper extends BaseMapper<ExpressCompany> {
* @return
*/
List<ExpressCompany> getExpressCompanys(QueryParam param);

/**
* 查询总记录数
* @param param
* @return
*/
long getCount(QueryParam param);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,15 @@
LIMIT #{start}, #{pageSize}
</if>
</select>
<!-- 查询总记录数 -->
<select id="getCount" parameterType="QueryParam" resultType="java.lang.Long">
SELECT COUNT(id)
FROM express_company
<if test="null != whereSql">
<where>
#{whereSql}
</where>
</if>
</select>

</mapper>
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,17 @@ public interface IExpressCompanyService extends IService<ExpressCompany> {
* @return
*/
List<ExpressCompany> getExpressCompanys(QueryParam param);

/**
* 查询总记录数
* @param param
* @return
*/
long getCount(QueryParam param);

/**
* 保存快递公司
* @param company
*/
void saveExpressCompany(ExpressCompany company);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.snailst.express.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.snailst.express.entity.ExpressCompany;
import com.snailst.express.entity.QueryParam;
import com.snailst.express.mapper.ExpressCompanyMapper;
Expand All @@ -11,7 +12,7 @@

/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author zhuzhongpei
Expand All @@ -30,4 +31,30 @@ public class ExpressCompanyServiceImpl extends ServiceImpl<ExpressCompanyMapper,
public List<ExpressCompany> getExpressCompanys(QueryParam param) {
return baseMapper.getExpressCompanys(param);
}

/**
* 查询总记录数
*
* @param param
* @return
*/
@Override
public long getCount(QueryParam param) {
return baseMapper.getCount(param);
}

/**
* 保存快递公司
*
* @param company
*/
@Override
public void saveExpressCompany(ExpressCompany company) {
if (company.getId() == null) {
baseMapper.insert(company);
} else {
baseMapper.update(company, new EntityWrapper<ExpressCompany>()
.eq("id", company.getId()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;

import java.util.List;

Expand Down Expand Up @@ -41,12 +38,47 @@ public class ExpressCompanyController extends BaseController {
@ResponseBody
public ResponseEntity<Res> getExpressCompanys(@RequestBody QueryParam param) {
try {
long totalRecord = expressCompanyService.getCount(param);
List<ExpressCompany> expressCompanys = expressCompanyService.getExpressCompanys(param);
return SUCCESS(expressCompanys);
return SUCCESS(new Res(expressCompanys, totalRecord));
} catch (Exception e) {
logger.error("获取所有的快递公司失败,{}", e.getMessage());
return FAILED();
}
}

/**
* 保存
*
* @param company
* @return
*/
@RequestMapping(value = "/save_express_company", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Res> saveExpressCompany(@RequestBody ExpressCompany company) {
try {
expressCompanyService.saveExpressCompany(company);
return SUCCESS();
} catch (Exception e) {
return FAILED();
}
}

/**
* 删除快递单
* @param id
* @return
*/
@RequestMapping(value = "/del_express_company", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Res> delExpressCompany(@RequestParam Long id) {
try {
expressCompanyService.deleteById(id);
return SUCCESS();
} catch (Exception e) {
logger.error("删除快递公司失败,{}", e.getMessage());
return FAILED();
}
}

}
200 changes: 200 additions & 0 deletions src/main/resources/templates/express_company.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
<!DOCTYPE html>
<html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"/>
<title>小豆芽的物流管理程序</title>
</head>
<body>
<div th:fragment="express_company">
<!-- 新增面板 -->
<el-dialog v-bind:title="title" v-bind:visible.sync="express_company_dialog_visible" width="30%">
<el-form v-bind:label-position="labelPosition" v-bind:rules="express_company_rules" ref="express_company_form" v-bind:label-width="formLabelWidth" v-bind:model="express_company_form">
<el-form-item label="快递公司" prop="name">
<el-input v-model="express_company_form.name"></el-input>
</el-form-item>
<el-form-item label="公司代码" prop="code">
<el-input type="textarea" v-bind:rows="2" v-model="express_company_form.code"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button v-on:click="express_company_reset('express_company_form')">取 消</el-button>
<el-button type="primary" v-on:click="express_company_save('express_company_form')">确 定</el-button>
</div>
</el-dialog>
<!-- 按钮组 -->
<div class="button-group">
<el-button v-on:click="express_company_dialog_visible = true" type="primary">新增</el-button>
</div>
<!-- 订单列表 -->
<el-table
:data="express_company"
height="550"
border
style="width: 100%">
<el-table-column
fixed
label="操作"
width="80">
<template slot-scope="scope">
<i class="el-icon-edit" title="修改" v-on:click="express_company_update(scope.row)"></i>
<i class="el-icon-delete" title="删除" v-on:click="express_company_del(scope.row)"></i>
</template>
</el-table-column>
<el-table-column
prop="name"
label="快递公司"
width="200">
</el-table-column>
<el-table-column
prop="code"
label="快递公司代码"
width="200">
</el-table-column>
</el-table>
<!-- 分页条 -->
<el-pagination
v-on:current-change="express_company_page_change"
v-bind:page-size="express_company_size"
layout="total, prev, pager, next"
v-bind:total="express_company_total">
</el-pagination>
</div>
<div th:fragment="express_company_script">
<script th:inline="javascript">
/*<![[CDATA[*/
var EXPRESS_COMPANY_OPTIONS = {
data() {
return {
express_company: [],
express_company_dialog_visible: false,
express_company_current_page: 1,
express_company_total: 0,
express_company_size: 20,
express_company_form: {
id: '',
code: '',
name: ''
},
express_company_rules: {
name: [
{required: true, message: '快递公司不能为空', trigger: 'blur'}
],
code: [
{required: true, message: '快递公司代码', trigger: 'blur'}
]
}
}
},
methods: {
/**
* 翻页
* @param page 页码
*/
express_company_page_change(page) {
this.express_company_current_page = page;
this.express_company_load();
},
/**
* 加载快递公司列表
*/
express_company_load() {
var me = this;
axios.post('/express_companys', {
isPaging: true,
currentNumber: this.express_company_current_page
}).then(function (response) {
var res = response.data;
if(res.code == '200'){
me.express_company = res.data;
me.express_company_total = res.totalRecords;
}else{
me.$message.error("加载快递公司列失败");
}
}).catch(function (error) {
me.$message.error("加载快递公司列表失败");
});
},
/**
* 保存
*/
express_company_save(formName) {
var me = this;
this.$refs[formName].validate((valid) => {
if (valid) {
axios.post('/save_express_company', me.express_company_form)
.then(function (response) {
// 成功
var res = response.data;
if(res.code == "200"){
me.express_company_dialog_visible = false;
me.$message({
message: '保存成功',
type: 'success'
});
me.express_company_load();
}
}).catch(function (error) {
// 失败
me.$message.error("快递公司加载失败");
});
} else {
return false;
}
});
},
/**
* 重置form表单
*/
express_company_reset(formName) {
// 重置form表单
this.$refs[formName].resetFields();
// 关闭Dialog
this.express_company_dialog_visible = false;
},
/**
* 修改快递公司
*/
express_company_update(row) {
this.express_company_form = {
id: row.id + '',
name: row.name,
code: row.code
};
this.express_company_dialog_visible = true;
},
/**
* 删除快递公司
*/
express_company_del(row) {
var me = this;
this.$confirm('此操作将永久删除该快递公司, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 确认
axios.delete("/del_express_company?id="+row.id+"")
.then(function (response) {
var res = response.data;
if(res.code == '200'){
me.$message({
message: '删除成功',
type: 'success'
});
}
me.express_company_load();
}).catch(function (error) {
me.$message.error("删除失败");
});
}).catch(() => {
// 取消
});
}
}
};
/*]]*/
</script>
</div>
</body>
</html>
8 changes: 6 additions & 2 deletions src/main/resources/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,17 @@
<el-main>
<el-tabs type="border-card" v-on:tab-click="tab_click" value="order_load">
<el-tab-pane label="订单管理" name="order_load">
<div th:include="order::order"></div>
<div th:replace="order::order"></div>
</el-tab-pane>
<el-tab-pane label="单号管理" name="express_code_load">
<div th:replace="express_code::express_code"></div>
</el-tab-pane>
<el-tab-pane label="商品管理" name="goods_load">
<div th:replace="goods::goods"></div>
</el-tab-pane>
<el-tab-pane label="快递公司管理" name="EXPRESS_COMPANY"></el-tab-pane>
<el-tab-pane label="快递公司管理" name="express_company_load">
<div th:replace="express_company::express_company"></div>
</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
Expand All @@ -97,12 +99,14 @@
<div th:replace="order::order_script"></div>
<div th:replace="express_code::express_code_script"></div>
<div th:replace="goods::goods_script"></div>
<div th:replace="express_company::express_company_script"></div>
<script th:inline="javascript">
var LODOP;
/*<![CDATA[*/
var Profile = Vue.extend(ORDER_OPTIONS)
.extend(EXPRESS_CODE_OPTIONS)
.extend(GOODS_OPTIONS)
.extend(EXPRESS_COMPANY_OPTIONS)
.extend({
mounted: function () {
var me = this;
Expand Down

0 comments on commit ff8bb10

Please sign in to comment.