Browse Source

数据表添加前缀

huwhois 4 years ago
parent
commit
d6d86cf1bd

+ 2 - 2
app/controller/SaleCompany.php

@ -3,9 +3,9 @@ namespace app\controller;
3 3
4 4
use think\App;
5 5
use think\facade\View;
6
use app\model\SaleCompany as CompanyModel;
6
use app\model\Company as CompanyModel;
7 7
8
class SaleCompany extends Base
8
class Company extends Base
9 9
{
10 10
    protected $model;
11 11

+ 94 - 0
app/controller/Goods.php

@ -0,0 +1,94 @@
1
<?php
2
namespace app\controller;
3
4
use think\App;
5
use think\facade\View;
6
use app\model\Goods as GoodsModel;
7
use app\model\GoodsCategory as CategoryModel;
8
9
class Goods extends Base
10
{
11
    protected $model;
12
13
    public function __construct(App $app)
14
    {
15
        parent::__construct($app);
16
        $this->model = new GoodsModel();
17
    }
18
19
    public function index($key="")
20
    {
21
        $map = [];
22
        if ($key) {
23
            $map[] = ['name', 'LIKE', '%'.$key.'%'];
24
        }
25
26
        $limit = $this->request->cookie('limit') ? : 50;
27
28
        $list = $this->model->where($map)->paginate($limit);
29
        
30
        $page = $list->render();
31
32
        return View::fetch('',[
33
            'list' => $list,
34
            'key' => $key,
35
            'page' => $page,
36
            'limit' => $limit
37
        ]);
38
    }
39
40
    public function save()
41
    {
42
        $categoryModel = new CategoryModel();
43
        $categories = $categoryModel->column('name', 'id');
44
        if ($this->request->isPost()) {
45
            $param = $this->request->param();
46
            
47
            try {
48
                if ($param['id']) {
49
                    $seller = $this->model->find(intval($param['id']));
50
                } else {
51
                    $seller = new GoodsModel();
52
                    $seller->create_time = time();
53
                }
54
                $seller->name = $param['name'];
55
                $seller->price = $param['price'];
56
                $seller->category_id = $param['category_id'];
57
                $seller->category_name = $categories[$param['category_id']];
58
                
59
                $seller->save();
60
            } catch (\Exception $e) {
61
                $this->error($e->getMessage());
62
            }
63
64
            $this->success('操作成功', 'sale_goods/index');
65
        } else {
66
            $id = $this->request->has('id','route') ? intval($this->request->param('id')) : 0;
67
68
            if ($id) {
69
                $data = $this->model->find($id);
70
            } else {
71
                $data = [
72
                    'id' => 0,
73
                    'name' => '',
74
                    'price' => 0.00,
75
                    'category_id' => 1,
76
                ];
77
            }
78
79
            return View::fetch('', [
80
                'data' => $data,
81
                'categories' => $categories
82
            ]);
83
        }
84
    }
85
86
    public function delete($id)
87
    {
88
        if ($this->model->destroy($id)) {
89
            return json(['code'=>2]);
90
        } else {
91
            return json(['code'=>0]);
92
        }
93
    }
94
}

+ 5 - 5
app/controller/SaleSeller.php

@ -3,17 +3,17 @@ namespace app\controller;
3 3
4 4
use think\App;
5 5
use think\facade\View;
6
use app\model\SaleSeller as SaleSellerModel;
7
use app\model\SaleDepartment as DepartmentModel;
6
use app\model\Seller as SellerModel;
7
use app\model\Department as DepartmentModel;
8 8
9
class SaleSeller extends Base
9
class GoodsCategory extends Base
10 10
{
11 11
    protected $model;
12 12
13 13
    public function __construct(App $app)
14 14
    {
15 15
        parent::__construct($app);
16
        $this->model = new SaleSellerModel();
16
        $this->model = new SellerModel();
17 17
    }
18 18
19 19
    public function index()
@ -34,7 +34,7 @@ class SaleSeller extends Base
34 34
                if ($param['id']) {
35 35
                    $seller = $this->model->find(intval($param['id']));
36 36
                } else {
37
                    $seller = new SaleSellerModel();
37
                    $seller = new SellerModel();
38 38
                    $seller->create_time = time();
39 39
                }
40 40
                $seller->name = $param['name'];

+ 71 - 42
app/controller/SaleOrder.php

@ -3,13 +3,13 @@ namespace app\controller;
3 3
4 4
use think\App;
5 5
use think\facade\View;
6
use app\model\SaleOrder as OrderModel;
7
use app\model\SaleOrderItem as OrderItemModel;
8
use app\model\SaleOrderDetails as OrderDetailsModel;
9
use app\model\SaleDepartment as DepartmentModel;
6
use app\model\Order as OrderModel;
7
use app\model\OrderItem as OrderItemModel;
8
use app\model\OrderDetails as OrderDetailsModel;
9
use app\model\Department as DepartmentModel;
10 10
use think\facade\Db;
11 11
12
class SaleOrder extends Base
12
class Order extends Base
13 13
{
14 14
    protected $model;
15 15
    protected $itemModel;
@ -23,9 +23,18 @@ class SaleOrder extends Base
23 23
        $this->detailsModel = new OrderDetailsModel();
24 24
    }
25 25
26
    public function index($month=0, $key="")
26
    public function index()
27
    {
28
        return View::fetch();
29
    }
30
31
    public function lists($year=0, $month=0, $key="")
27 32
    {
28 33
        $map = [];
34
        if ($year) {
35
            $map[] = ['year','=', $year];
36
        }
37
29 38
        if ($key) {
30 39
            $map[] = ['company_name','LIKE', '%'.$key.'%'];
31 40
        }
@ -35,18 +44,19 @@ class SaleOrder extends Base
35 44
36 45
        $limit = $this->request->cookie('limit') ? : 50;
37 46
38
        $list = $this->detailsModel->where($map)->paginate([
47
        $list = $this->detailsModel->where($map)->order('id')->paginate([
39 48
            'list_rows' => $limit,
40 49
            'query' => $this->request->param()
41 50
        ]);
42
        // 取消合同统计
43
        $map[] = ['status', '=', 0];
51
        // 统计去除已取消合同
52
        $map[] = ['status', '<>', -1];
44 53
        $total_contract_money = $this->detailsModel->where($map)->sum('contract_money');
45 54
        $total_payment = $this->detailsModel->where($map)->sum('payment');
46 55
47 56
        $page = $list->render();
48 57
49 58
        return View::fetch('',[
59
            'year' => $year,
50 60
            'list' => $list,
51 61
            'page' => $page,
52 62
            'key' => $key,
@ -57,25 +67,32 @@ class SaleOrder extends Base
57 67
        ]);
58 68
    }
59 69
60
    public function save()
70
    public function save($year=0)
61 71
    {
62
        $departmentModel = new DepartmentModel();
63
        $departments = $departmentModel->column('name', 'id');
72
64 73
        if ($this->request->isPost()) {
65 74
            $param = $this->request->param();
66
            
75
            // var_dump($param);
76
            // exit;
67 77
            try {
68 78
                if ($param['id']) {
69
                    $seller = $this->model->find(intval($param['id']));
79
                    $order = $this->model->find(intval($param['id']));
70 80
                } else {
71
                    $seller = new OrderModel();
72
                    $seller->create_time = time();
81
                    $order = new OrderModel();
82
                    $order->create_time = time();
73 83
                }
74
                $seller->name = $param['name'];
75
                $seller->department_id = $param['department_id'];
76
                $seller->department_name = $departments[$param['department_id']];
84
                $order->no = $param['no'];
85
                $order->contract_no = $param['contract_no'];
86
                $order->contract_time = $param['contract_time'];
87
                $order->company_name = $param['company_name'];
88
                $order->department_name = $param['department_name'];
89
                $order->seller_name = $param['seller_name'];
90
                $order->consignor = $param['consignor'];
91
                $order->fare = $param['fare'];
92
                $order->agency = $param['agency'];
93
                $order->remark = $param['remark'];
77 94
                
78
                $seller->save();
95
                $order->save();
79 96
            } catch (\Exception $e) {
80 97
                $this->error($e->getMessage());
81 98
            }
@ -83,19 +100,26 @@ class SaleOrder extends Base
83 100
            $this->success('操作成功', 'sale_seller/index');
84 101
        } else {
85 102
            $id = $this->request->has('id','route') ? intval($this->request->param('id')) : 0;
86
87 103
            if ($id) {
88 104
                $data = $this->model->find($id);
89 105
            } else {
90 106
                $data = [
91
                    'id' => 0,
92
                    'name' => '',
93
                    'department_id' => 1,
107
                    'id' => '0',
108
                    'no' => '',
109
                    'contract_no' => '',
110
                    'contract_time' => '',
111
                    'company_name' => '',
112
                    'department_name' => '',
113
                    'seller_name' => '',
114
                    'consignor' => '',
115
                    'fare' => '0.00',
116
                    'agency' => '0.00',
117
                    'remark' => '',
94 118
                ];
95 119
            }
96
            return View::fetch('', [
120
            return View::fetch('',[
97 121
                'data' => $data,
98
                'departments' => $departments
122
                'year' => $year
99 123
            ]);
100 124
        }
101 125
    }
@ -109,14 +133,19 @@ class SaleOrder extends Base
109 133
        }
110 134
    }
111 135
136
137
112 138
    public function item($order_id)
113 139
    {
114 140
        $list = $this->itemModel->where('order_id', $order_id)->select();
115 141
        $orderInfo = $this->model->field('id,no,contract_no,company_name,contract_time')->find($order_id);
142
        $year = date('Y', strtotime($orderInfo->contract_time));
143
116 144
        return View::fetch('',[
117 145
            'list' => $list,
118 146
            'order_id' => $order_id,
119
            'orderInfo' => $orderInfo
147
            'orderInfo' => $orderInfo,
148
            'year' => $year,
120 149
        ]);
121 150
    }
122 151
@ -136,24 +165,24 @@ class SaleOrder extends Base
136 165
            // exit;
137 166
            try {
138 167
                if ($param['id']) {
139
                    $seller = $this->itemModel->find(intval($param['id']));
168
                    $order = $this->itemModel->find(intval($param['id']));
140 169
                } else {
141
                    $seller = new OrderItemModel();
170
                    $order = new OrderItemModel();
142 171
                }
143
                $seller->order_id = intval($param['order_id']);
144
                $seller->goods_category = $param['goods_category'];
145
                $seller->goods_name = $param['goods_name'];
146
                $seller->goods_price = $param['goods_price'];
147
                $seller->sales_amount = $param['sales_amount'];
148
                $seller->sales_price = $param['sales_price'];
149
                $seller->actual_amount = $param['actual_amount'];
150
                $seller->actual_price = $param['actual_price'];
151
                $seller->agency = $param['agency'];
152
                $seller->fare = $param['fare'];
153
                $seller->type = intval($param['type']);
154
                $seller->remark = $param['remark'];
172
                $order->order_id = intval($param['order_id']);
173
                $order->goods_category = $param['goods_category'];
174
                $order->goods_name = $param['goods_name'];
175
                $order->goods_price = $param['goods_price'];
176
                $order->sales_amount = $param['sales_amount'];
177
                $order->sales_price = $param['sales_price'];
178
                $order->actual_amount = $param['actual_amount'];
179
                $order->actual_price = $param['actual_price'];
180
                $order->agency = $param['agency'];
181
                $order->fare = $param['fare'];
182
                $order->type = intval($param['type']);
183
                $order->remark = $param['remark'];
155 184
                
156
                $seller->save();
185
                $order->save();
157 186
            } catch (\Exception $e) {
158 187
                // $this->error($e->getMessage());
159 188
                return json(['code'=>0, 'msg'=>$e->getMessage()]);

+ 77 - 0
app/controller/Seller.php

@ -0,0 +1,77 @@
1
<?php
2
namespace app\controller;
3
4
use think\App;
5
use think\facade\View;
6
use app\model\Seller as SellerModel;
7
use app\model\Department as DepartmentModel;
8
9
class Seller extends Base
10
{
11
    protected $model;
12
13
    public function __construct(App $app)
14
    {
15
        parent::__construct($app);
16
        $this->model = new SellerModel();
17
    }
18
19
    public function index()
20
    {
21
        $list = $this->model->select();
22
23
        return View::fetch('',['list'=>$list]);
24
    }
25
26
    public function save()
27
    {
28
        $departmentModel = new DepartmentModel();
29
        $departments = $departmentModel->column('name', 'id');
30
        if ($this->request->isPost()) {
31
            $param = $this->request->param();
32
            
33
            try {
34
                if ($param['id']) {
35
                    $seller = $this->model->find(intval($param['id']));
36
                } else {
37
                    $seller = new SellerModel();
38
                    $seller->create_time = time();
39
                }
40
                $seller->name = $param['name'];
41
                $seller->department_id = $param['department_id'];
42
                $seller->department_name = $departments[$param['department_id']];
43
                
44
                $seller->save();
45
            } catch (\Exception $e) {
46
                $this->error($e->getMessage());
47
            }
48
49
            $this->success('操作成功', 'sale_seller/index');
50
        } else {
51
            $id = $this->request->has('id','route') ? intval($this->request->param('id')) : 0;
52
53
            if ($id) {
54
                $data = $this->model->find($id);
55
            } else {
56
                $data = [
57
                    'id' => 0,
58
                    'name' => '',
59
                    'department_id' => 1,
60
                ];
61
            }
62
            return View::fetch('', [
63
                'data' => $data,
64
                'departments' => $departments
65
            ]);
66
        }
67
    }
68
69
    public function delete($id)
70
    {
71
        if ($this->model->destroy($id)) {
72
            return json(['code'=>2]);
73
        } else {
74
            return json(['code'=>0]);
75
        }
76
    }
77
}

+ 6 - 0
app/model/Company.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class Company extends \think\Model
5
{
6
}

+ 6 - 0
app/model/Department.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class Department extends \think\Model
5
{
6
}

+ 7 - 0
app/model/Goods.php

@ -0,0 +1,7 @@
1
<?php
2
namespace app\model;
3
use app\model\GoodsCategory;
4
5
class Goods extends \think\Model
6
{
7
}

+ 6 - 0
app/model/GoodsCategory.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class GoodsCategory extends \think\Model
5
{
6
}

+ 6 - 0
app/model/Order.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class Order extends \think\Model
5
{
6
}

+ 6 - 0
app/model/OrderDetails.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class OrderDetails extends \think\Model
5
{
6
}

+ 6 - 0
app/model/OrderItem.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class OrderItem extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleCompany.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleCompany extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleDepartment.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleDepartment extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleOrder.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleOrder extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleOrderDetails.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleOrderDetails extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleOrderItem.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleOrderItem extends \think\Model
5
{
6
}

+ 0 - 6
app/model/SaleSeller.php

@ -1,6 +0,0 @@
1
<?php
2
namespace app\model;
3
4
class SaleSeller extends \think\Model
5
{
6
}

+ 6 - 0
app/model/Seller.php

@ -0,0 +1,6 @@
1
<?php
2
namespace app\model;
3
4
class Seller extends \think\Model
5
{
6
}

+ 9 - 3
route/app.php

@ -13,6 +13,7 @@ use think\facade\Route;
13 13
Route::pattern([
14 14
    'name' => '\w+',
15 15
    'id'   => '\d+',
16
    'year'   => '\d+',
16 17
    'order_id'   => '\d+',
17 18
]);
18 19
@ -22,6 +23,11 @@ Route::get('think', function () {
22 23
23 24
Route::get('hello/:name', 'index/hello');
24 25
25
Route::get('sale_seller/index', 'sale_seller/index');
26
Route::rule('sale_seller/save/[:id]', 'sale_seller/save');
27
Route::rule('sale_order/item/:order_id', 'sale_order/item');
26
Route::get('seller/index', 'seller/index');
27
Route::rule('seller/save/[:id]', 'seller/save');
28
Route::get('order/index', 'order/index');
29
Route::get('order/lists/:year', 'order/lists');
30
Route::rule('order/item/:order_id', 'order/item');
31
Route::get('order/save/:year/:id', 'order/save');
32
Route::get('order/save/:year/:id', 'order/save');
33
Route::get('goods/save/:id', 'goods/save');

+ 9 - 0
view/layout.html

@ -10,6 +10,7 @@
10 10
    <link rel="stylesheet" href="/static/css/bootstrap.min.css">
11 11
    <script src="/static/js/jquery.min.js"></script>
12 12
    <script src="/static/js/bootstrap.min.js"></script>
13
    <script src="/static/js/JQuery.cookie.js"></script>
13 14
    <style type="text/css">
14 15
        @media print {
15 16
            .noprint {
@ -32,6 +33,8 @@
32 33
        <div class="col-md-12 lin-height text_center"><a href="/sale_order">销售订单</a></div>
33 34
        <div class="col-md-12 lin-height text_center"><a href="/index">提成汇总</a></div>
34 35
        <div class="col-md-12 lin-height text_center"><a href="/index/commission">计提数据录入</a></div>
36
        <div class="col-md-12 lin-height text_center"><a href="/sale_goods_category">产品类别管理</a></div>
37
        <div class="col-md-12 lin-height text_center"><a href="/sale_goods">产品管理</a></div>
35 38
        <div class="col-md-12 lin-height text_center"><a href="/sale_seller">销售员管理</a></div>
36 39
        <div class="col-md-12 lin-height text_center"><a href="/sale_company">购货单位管理</a></div>
37 40
    </aside>
@ -39,6 +42,12 @@
39 42
        {__CONTENT__}
40 43
    </section>
41 44
    <script>
45
        function changLimit() {
46
            var limit = $("#limit").val();
47
            $.cookie('limit', limit, { expires: 7, path: '/' });
48
            window.location.reload();
49
        }
50
42 51
        // function doPrint() {
43 52
        //     var bdhtml = window.document.body.innerHTML;
44 53
        //     var startprint = "<!--startprint-->";

+ 94 - 0
view/sale_goods/index.html

@ -0,0 +1,94 @@
1
{layout name="layout" /}
2
3
<nav class="breadcrumb">
4
    <span><a href="/">首页</a></span>
5
    <span>&gt;</span>
6
    <span><a href="javascript:void(0);">产品管理</a></span>
7
</nav>
8
9
<div class="content">
10
    <div class="row" style="margin: 0;">
11
        <div class="col-md-2 btn-top-box">
12
            <!-- <a href="javascript:;" class="btn btn-danger radius" onClick="del_all()">批量删除</a> -->
13
            <a href="/sale_goods/save/0" class="btn btn-success radius">新增</a>
14
        </div>
15
        <div class="col-md-6 btn-top-box">
16
            <form action="/sale_goods/index" method="get">
17
                <div class="col-md-4">
18
                    <input type="text" class="form-control" name="key" id="key" value="{$key}"
19
                        placeholder="请输入产品名称">
20
                </div>
21
                <div class="col-md-4" style="text-align:left;">
22
                    <div class="btn-group ">
23
                        <button type="submit" class="btn btn-success">搜索</button>
24
                    </div>
25
                    <div class="btn-group ">
26
                        <a href="/sale_goods/index" class="btn btn-danger">清除</a>
27
                    </div>
28
                </div>
29
            </form>
30
        </div>
31
        <div class="col-md-3">
32
            <span>每页行数:</span>
33
            <select name="limit" id="limit" onchange="changLimit()">
34
                {for start="10" end="101" step="10"}
35
                <option value="{$i}" {eq name="limit" value="$i"}selected{/eq}>{$i}</option>
36
                {/for}
37
            </select>
38
        </div>
39
    </div>
40
    <div class="col-md-10 mt-20">
41
        <table class=" table table-hover table-bordered">
42
            <thead>
43
                <tr>
44
                    <th width="25">
45
                        <input type="checkbox" value="" name="">
46
                    </th>
47
                    <th class="text-center">id</th>
48
                    <th class="text-center">类别</th>
49
                    <th class="text-center">名称</th>
50
                    <th class="text-center">价格</th>
51
                    <th class="text-center">操作</th>
52
                </tr>
53
            </thead>
54
            <tbody>
55
                {foreach $list as $value}
56
                <tr>
57
                    <td>
58
                        <input type="checkbox" value="{$value.id}" name="checkbox[]">
59
                    </td>
60
                    <td class="text-center">{$value.id}</td>
61
                    <td class="text-center">{$value.category_name}</td>
62
                    <td class="text-center">{$value.name}</td>
63
                    <td class="text-center">{$value.price}</td>
64
                    <td class="text-center td-manager">
65
                        <a href="/sale_goods/save/{$value['id']}">修改</a>
66
                        <a href="javascript:void(0);" class="ml-10" onClick="del('{$value.id}', this)">删除</a>
67
                    </td>
68
                </tr>
69
                {/foreach}
70
            </tbody>
71
        </table>
72
    </div>
73
    <div class="pagelist">
74
        {$page|raw}
75
    </div>
76
</div>
77
78
<!--请在下方写此页面业务相关的脚本-->
79
<script type="text/javascript">
80
    function del(id, obj) {
81
        $.post('/sale_goods/delete', {
82
            'id': id
83
        }, function (res) {
84
            if (res.code == 2) {
85
                $(obj).parents("tr").remove();
86
                alert('删除成功!');
87
            } else {
88
                alert('删除失败, 请稍后重试.');
89
                return false;
90
            }
91
        }, 'json');
92
    }
93
</script>
94
<!--请在上方写此页面业务相关的脚本-->

+ 67 - 0
view/sale_goods/save.html

@ -0,0 +1,67 @@
1
{layout name="layout" /}
2
3
<nav class="breadcrumb">
4
    <span><a href="/" class="maincolor">首页</a></span>
5
    <span>&gt;</span>
6
    <span><a href="/sale_goods">产品管理</a></span>
7
    <span>&gt;</span>
8
    <span><a href="javascript:void(0);">{empty name="data.id"}新增{else/}修改{/empty}</a></span>
9
</nav>
10
<div class="content">
11
    <div class="row">
12
        <div class="blank">
13
14
        </div>
15
    </div>
16
    <form role="form" id="form-seller" action="" method="POST">
17
        <input type="hidden" name="id" id="id" value="{$data.id}">
18
        <div class="row">
19
            <div class="col-md-2">
20
                <div class="form-group" style="text-align:right;line-height:40px;">
21
                    <label form-label for="name">名称:</label>
22
                </div>
23
            </div>
24
            <div class="col-md-4">
25
                <div class="form-group">
26
                    <input type="text" class="form-control" name="name" id="name" value="{$data.name}" placeholder="名称">
27
                </div>
28
            </div>
29
            <span style='color:red;' id="error_msg"></span>
30
        </div>
31
        <div class="row">
32
            <div class="col-md-2">
33
                <div class="form-group" style="text-align:right;line-height:40px;">
34
                    <label form-label for="price">价格:</label>
35
                </div>
36
            </div>
37
            <div class="col-md-4">
38
                <div class="form-group">
39
                    <input type="number" class="form-control" name="price" id="price" value="{$data.price}" placeholder="价格">
40
                </div>
41
            </div>
42
            <span style='color:red;' id="error_msg"></span>
43
        </div>
44
        <div class="row">
45
            <div class="col-md-2">
46
                <div class="form-group" style="text-align:right;line-height:40px;">
47
                    <label form-label for="category_id">种类:</label>
48
                </div>
49
            </div>
50
            <div class="col-md-4">
51
                <div class="form-group">
52
                    <select name="category_id" id="category_id" class="form-control">
53
                        {foreach $categories as $key=>$val}
54
                        <option value="{$key}" {eq name="data.category_id" value="$key"}selected{/eq}>{$val}</option>
55
                        {/foreach}
56
                    </select>
57
                </div>
58
            </div>
59
        </div>
60
        <div class="row">
61
            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
62
                <input class="btn btn-success radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
63
                <input class="btn btn-default radius" type="button" value="&nbsp;&nbsp;取消&nbsp;&nbsp;" onClick="window.history.back();">
64
            </div>
65
        </div>
66
    </form>
67
</div>

+ 26 - 120
view/sale_order/index.html

@ -7,130 +7,36 @@
7 7
</nav>
8 8
9 9
<div class="content">
10
    <div class="row" style="margin: 10px 0;">
11
        <div class="col-md-2 col-xs-3 text-center">
12
            <a href="/sale_order/save/0" class="btn btn-success radius">新增</a>
13
        </div>
14
        <div class="col-md-8">
15
            <form action="/sale_order/index" method="get">
16
                <label for="month" class="form-label col-md-2 text-right mt-5">
17
                    请选择月份 :
18
                </label>
19
                <div class="formControls col-md-2" style="width: 100px;">
20
                    <select class="form-control input-sm" name="month" id="month">
21
                        {for start="0" end="13"}
22
                        {eq name="i" value="0"}
23
                        <option value="{$i}"{eq name="month" value="0"}selected{/eq}>全年</option>
24
                        {else/}
25
                        <option value="{$i}"{eq name="month" value="$i"}selected{/eq}>{$i}月</option>
26
                        {/eq}
27
                        {/for}
28
                    </select>
29
                </div>
30
                <div class="col-md-4">
31
                    <input type="text" class="form-control" name="key" id="key" value="{$key}"
32
                        placeholder="请输入公司名称">
33
                </div>
34
                <div class="col-md-3" style="text-align:left;">
35
                    <div class="btn-group ">
36
                        <button type="submit" class="btn btn-success">搜索</button>
37
                    </div>
38
                    <div class="btn-group ">
39
                        <a href="/sale_order/index" class="btn btn-danger ml-10">清除</a>
40
                    </div>
10
    <div class="box-year">
11
        <div class="col-md-3">
12
            <a href="/sale_order/lists/2019">
13
                <h3>2019年度</h3>
14
                <div>
15
                    <img src="/static/images/nianbao4.png" alt="2019年度">
41 16
                </div>
42
            </form>
17
            </a>
18
        </div>
19
        <div class="col-md-3">
20
            <a href="/sale_order/lists/2020">
21
                <h3>2020年度</h3>
22
                <img src="/static/images/nianbao4.png" alt="2019年度">
23
            </a>
24
        </div>
25
        <div class="col-md-3">
26
            <a href="/sale_order/lists/2021">
27
                <h3>2021年度</h3>
28
                <img src="/static/images/nianbao4.png" alt="2019年度">
29
            </a>
30
        </div>
31
        <div class="col-md-3">
32
            <a href="/sale_order/lists/0">
33
                <h3>全部</h3>
34
                <img src="/static/images/nianbao4.png" alt="2019年度">
35
            </a>
43 36
        </div>
44
    </div>
45
    <div class="col-md-12" style="min-width: 1200px;">
46
        <table class="table table-hover table-bordered table-condensed">
47
            <thead>
48
                <tr class="text-center bg-info">
49
                    <td>统计</td>
50
                    <td colspan="11" class="text-left">
51
                        总销售金额 : ¥{$total_contract_money} | 总到款金额: ¥{$total_payment}
52
                    </td>
53
                    <td colspan="2">
54
                        <span>每页行数:</span>
55
                        <select name="limit" id="limit" onchange="changLimit()">
56
                            {for start="10" end="101" step="10"}
57
                            <option value="{$i}" {eq name="limit" value="$i"}selected{/eq}>{$i}</option>
58
                            {/for}
59
                        </select>
60
                    </td>
61
                </tr>
62
                <tr>
63
                    <th>序号</th>
64
                    <th>月份</th>
65
                    <th style="width: 250px;">购货单位</th>
66
                    <th style="min-width: 160px;">合同号</th>
67
                    <th>合同总金额</th>
68
                    <th>签订时间</th>
69
                    <th>运费</th>
70
                    <th>代理费</th>
71
                    <th>销售员</th>
72
                    <th>到款金额</th>
73
                    <th>未到款</th>
74
                    <th>末期余额</th>
75
                    <th>提成</th>
76
                    <th>操作</th>
77
                </tr>
78
            </thead>
79
            <tbody>
80
                {foreach $list as $value}
81
                <tr class="text-center">
82
                    <td>{$value.no}</td>
83
                    <td>{$value.month}</td>
84
                    <td class="text-left">{$value.company_name}</td>
85
                    <td class="text-left">{$value.contract_no}</td>
86
                    <td>{$value.contract_money}</td>
87
                    <td>{$value.contract_time}</td>
88
                    <td>{$value.fare}</td>
89
                    <td>{$value.agency}</td>
90
                    <td>{$value.seller_name}</td>
91
                    <td>{$value.payment}</td>
92
                    <td>{$value.contract_money-$value.payment|round=2}</td>
93
                    <td>--</td>
94
                    <td>{$value.is_commission}</td>
95
                    <td class="td-manager">
96
                        <a href="/sale_order/item/{$value.id}">产品明细</a>
97
                        <a href="javascript:void(0);" onclick="edit()">订单详情</a>
98
                        <a href="javascript:void(0);" onclick="del('{$value.id}', this)">删除</a>
99
                    </td>
100
                </tr>
101
                {/foreach}
102
            </tbody>
103
        </table>
104
    </div>
105
    <div class="pagelist">
106
        {$page|raw}
107 37
    </div>
108 38
</div>
109 39
110
<script src="/static/js/JQuery.cookie.js"></script>
111 40
<script>
112
    function changLimit() {
113
        var limit = $("#limit").val();
114
        $.cookie('limit', limit, { expires: 7, path: '/' });
115
        window.location.reload();
116
    }
117
118
    function del(id, obj) {
119
        $.ajax({
120
            url: "/sale_order/delete",
121
            type: "POST",
122
            data: {
123
                "id": id
124
            },
125
            dataType: 'json',
126
            success: function(data) {
127
                if (data.code == 2) {
128
                    $(obj).parents("tr").remove();
129
                } else {
130
                    alert(data.msg);
131
                }
132
                return false;
133
            }
134
        });
135
    }
41
   
136 42
</script>

+ 3 - 3
view/sale_order/item.html

@ -3,7 +3,7 @@
3 3
<nav class="breadcrumb">
4 4
    <span><a href="/">首页</a></span>
5 5
    <span>&gt;</span>
6
    <span><a href="/sale_order/index">销售订单</a></span>
6
    <span><a href="/sale_order/lists/{$year}">销售订单</a></span>
7 7
    <span>&gt;</span>
8 8
    <span>产品明细</span>
9 9
</nav>
@ -228,10 +228,10 @@
228 228
    function doSave() {
229 229
        var data = $("#goods-form").serializeArray();
230 230
        $.post('/sale_order/itemsave', data, function(res) {
231
            if (res.code == 0) {
231
            if (res.code == 2) {
232 232
                alert('保存成功');
233
                $("#goods-form")[0].reset();
233 234
                $('#myModal').modal('hide');
234
                $("#seller-form")[0].reset();
235 235
                window.location.reload();
236 236
            } else {
237 237
                alert(res.msg);

+ 133 - 0
view/sale_order/lists.html

@ -0,0 +1,133 @@
1
{layout name="layout" /}
2
3
<nav class="breadcrumb">
4
    <span><a href="/">首页</a></span>
5
    <span>&gt;</span>
6
    <span><a href="/sale_order/index">销售订单</a></span>
7
    <span>&gt;</span>
8
    <span>{$year!=0?$year:"全部"} 年度</span>
9
</nav>
10
11
<div class="content">
12
    <div class="row" style="margin: 10px 0;">
13
        <div class="col-md-2 col-xs-3 text-center">
14
            <a href="/sale_order/save/{$year}/0" class="btn btn-success radius">新增</a>
15
        </div>
16
        <div class="col-md-8">
17
            <form action="/sale_order/lists/{$year}" method="get">
18
                {notempty name="year"}
19
                <label for="month" class="form-label col-md-2 text-right mt-5">
20
                    请选择月份 :
21
                </label>
22
                <div class="formControls col-md-2" style="width: 100px;">
23
                    <select class="form-control input-sm" name="month" id="month">
24
                        {for start="0" end="13"}
25
                        {eq name="i" value="0"}
26
                        <option value="{$i}"{eq name="month" value="0"}selected{/eq}>全年</option>
27
                        {else/}
28
                        <option value="{$i}"{eq name="month" value="$i"}selected{/eq}>{$i}月</option>
29
                        {/eq}
30
                        {/for}
31
                    </select>
32
                </div>
33
                {/notempty}
34
                <div class="col-md-4">
35
                    <input type="text" class="form-control" name="key" id="key" value="{$key}"
36
                        placeholder="请输入公司名称">
37
                </div>
38
                <div class="col-md-3" style="text-align:left;">
39
                    <div class="btn-group ">
40
                        <button type="submit" class="btn btn-success">搜索</button>
41
                    </div>
42
                    <div class="btn-group ">
43
                        <a href="/sale_order/lists/{$year}" class="btn btn-danger ml-10">清除</a>
44
                    </div>
45
                </div>
46
            </form>
47
        </div>
48
    </div>
49
    <div class="col-md-12" style="min-width: 1200px;">
50
        <table class="table table-hover table-bordered table-condensed">
51
            <thead>
52
                <tr class="text-center bg-info">
53
                    <td>统计</td>
54
                    <td colspan="11" class="text-left">
55
                        总销售金额 : ¥{$total_contract_money} | 总到款金额: ¥{$total_payment}
56
                    </td>
57
                    <td colspan="2">
58
                        <span>每页行数:</span>
59
                        <select name="limit" id="limit" onchange="changLimit()">
60
                            {for start="10" end="101" step="10"}
61
                            <option value="{$i}" {eq name="limit" value="$i"}selected{/eq}>{$i}</option>
62
                            {/for}
63
                        </select>
64
                    </td>
65
                </tr>
66
                <tr>
67
                    <th>序号</th>
68
                    <th>月份</th>
69
                    <th style="width: 250px;">购货单位</th>
70
                    <th style="min-width: 160px;">合同号</th>
71
                    <th>合同总金额</th>
72
                    <th>签订时间</th>
73
                    <th>运费</th>
74
                    <th>代理费</th>
75
                    <th>销售员</th>
76
                    <th>到款金额</th>
77
                    <th>未到款</th>
78
                    <th>末期余额</th>
79
                    <th>提成</th>
80
                    <th>操作</th>
81
                </tr>
82
            </thead>
83
            <tbody>
84
                {foreach $list as $value}
85
                <tr class="text-center">
86
                    <td>{$value.no}</td>
87
                    <td>{$value.month}</td>
88
                    <td class="text-left">{$value.company_name}</td>
89
                    <td class="text-left"><a href="/sale_order/item/{$value.id}">{$value.contract_no}</a></td>
90
                    <td>{$value.contract_money}</td>
91
                    <td>{$value.contract_time}</td>
92
                    <td>{$value.fare}</td>
93
                    <td>{$value.agency}</td>
94
                    <td>{$value.seller_name}</td>
95
                    <td>{$value.payment}</td>
96
                    <td>{$value.contract_money-$value.payment|round=2}</td>
97
                    <td>--</td>
98
                    <td>{$value.is_commission}</td>
99
                    <td class="td-manager">
100
                        <a href="/sale_order/item/{$value.id}">产品明细</a>
101
                        <a href="/sale_order/save/{$year}/{$value.id}" onclick="edit()">修改</a>
102
                        <a href="javascript:void(0);" onclick="del('{$value.id}', this)">删除</a>
103
                    </td>
104
                </tr>
105
                {/foreach}
106
            </tbody>
107
        </table>
108
    </div>
109
    <div class="pagelist">
110
        {$page|raw}
111
    </div>
112
</div>
113
114
<script>
115
    function del(id, obj) {
116
        $.ajax({
117
            url: "/sale_order/delete",
118
            type: "POST",
119
            data: {
120
                "id": id
121
            },
122
            dataType: 'json',
123
            success: function(data) {
124
                if (data.code == 2) {
125
                    $(obj).parents("tr").remove();
126
                } else {
127
                    alert(data.msg);
128
                }
129
                return false;
130
            }
131
        });
132
    }
133
</script>

+ 98 - 79
view/sale_order/save.html

@ -1,89 +1,108 @@
1 1
{layout name="layout" /}
2 2
3
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
4
    <div class="modal-dialog" style="width: 800px;">
5
        <div class="modal-content">
6
            <div class="modal-header">
7
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
8
                    &times;
9
                </button>
10
                <h4 class="modal-title" id="myModalLabel">
11
                    新增销售单位
12
                </h4>
3
<nav class="breadcrumb">
4
    <span><a href="/" class="maincolor">首页</a></span>
5
    <span>&gt;</span>
6
    <span><a href="/sale_order/lists/{$year}">销售订单</a></span>
7
    <span>&gt;</span>
8
    <span><a href="javascript:void(0);">{empty name="data.id"}新增{else/}修改{/empty}</a></span>
9
</nav>
10
<div class="content">
11
    <div class="row">
12
        <div class="blank">
13
        </div>
14
    </div>
15
    <div class="col-md-10 col-md-offset-1">
16
    <form role="form" id="form-order" action="" method="POST">
17
        <input type="hidden" name="id" id="id" value="{$data.id}">
18
        <div class="row">
19
            <div class="col-md-4">
20
                <div class="form-group">
21
                    <label for="name">序号</label>
22
                    <input type="text" class="form-control" name="no" id="no" value="{$data.no}"
23
                        placeholder="序号, 格式 MHTxx">
24
                </div>
13 25
            </div>
14
            <div class="modal-body">
15
                <form role="form" id="company-form">
16
                    <input type="hidden" name="id" id="id" value="0">
17
                    <div class="row">
18
                        <div class="col-md-2">
19
                            <div class="form-group" style="text-align:right;line-height:40px;">
20
                                <label form-label for="name">公司名称:</label>
21
                            </div>
22
                        </div>
23
                        <div class="col-md-4">
24
                            <div class="form-group">
25
                                <input type="text" class="form-control" name="name" id="name" value="" placeholder="公司名称">
26
                            </div>
27
                        </div>
28
                        <span style='color:red;' id="error_msg"></span>
29
                    </div>
30
                    <div class="row">
31
                        <div class="col-md-2">
32
                            <div class="form-group" style="text-align:right;line-height:40px;">
33
                                <label form-label for="department">初期余额:</label>
34
                            </div>
35
                        </div>
36
                        <div class="col-md-4">
37
                            <div class="form-group">
38
                                <input type="number" class="form-control" name="initial_balance" id="initial_balance" value="" placeholder="初期余额">
39
                            </div>
40
                        </div>
41
                    </div>
42
                </form>
26
            <div class="col-md-4">
27
                <div class="form-group">
28
                    <label for="name">合同号</label>
29
                    <input type="text" class="form-control" name="contract_no" id="contract_no"
30
                        value="{$data.contract_no}" placeholder="合同号">
31
                </div>
43 32
            </div>
44
            <div class="modal-footer">
45
                <button type="button" class="btn btn-default" onclick="closeModel()">关闭</button>
46
                <button type="button" class="btn btn-primary" onclick="save()">保存</button>
33
            <div class="col-md-4">
34
                <div class="form-group">
35
                    <label for="name">销售时间</label>
36
                    <input type="date" class="form-control" name="contract_time" id="contract_time"
37
                        value="{$data.contract_time}" placeholder="销售时间">
38
                </div>
47 39
            </div>
48
        </div><!-- /.modal-content -->
49
    </div><!-- /.modal -->
40
        </div>
41
        <div class="row">
42
            <div class="col-md-4">
43
                <div class="form-group">
44
                    <label for="name">购货单位</label>
45
                    <input type="text" class="form-control" name="company_name" id="company_name"
46
                        value="{$data.company_name}" placeholder="购货单位">
47
                </div>
48
            </div>
49
            <div class="col-md-4">
50
                <div class="form-group">
51
                    <label for="name">部门</label>
52
                    <input type="text" class="form-control" name="department_name" id="department_name"
53
                        value="{$data.department_name}" placeholder="单价">
54
                </div>
55
            </div>
56
            <div class="col-md-4">
57
                <div class="form-group">
58
                    <label for="name">销售员</label>
59
                    <input type="text" class="form-control" name="seller_name" id="seller_name"
60
                        value="{$data.seller_name}" placeholder="销售员">
61
                </div>
62
            </div>
63
        </div>
64
        <div class="row">
65
            <div class="col-md-4">
66
                <div class="form-group">
67
                    <label for="name">发货人</label>
68
                    <input type="number" class="form-control" name="consignor" id="consignor"
69
                        value="{$data.consignor}" placeholder="发货人">
70
                </div>
71
            </div>
72
            <div class="col-md-4">
73
                <div class="form-group">
74
                    <label for="name">运费</label>
75
                    <input type="number" class="form-control" name="fare" id="fare" value="{$data.fare}"
76
                        placeholder="运费">
77
                </div>
78
            </div>
79
            <div class="col-md-4">
80
                <div class="form-group">
81
                    <label for="name">代理费</label>
82
                    <input type="number" class="form-control" name="agency" id="agency" value="{$data.agency}"
83
                        placeholder="代理费">
84
                </div>
85
            </div>
86
        </div>
87
        <div class="row">
88
            <div class="col-md-12">
89
                <div class="form-group">
90
                    <label for="name">备注</label>
91
                    <textarea class="form-control" name="remark" id="remark" rows="3">{$data.remark}</textarea>
92
                </div>
93
            </div>
94
        </div>
95
        <div class="row">
96
            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
97
                <input class="btn btn-default radius" type="button" value="&nbsp;&nbsp;取消&nbsp;&nbsp;"
98
                onClick="window.history.back();">
99
                <input class="btn btn-success radius ml-10" type="submit" value="&nbsp;&nbsp;保存&nbsp;&nbsp;">
100
            </div>
101
        </div>
102
    </form>
103
</div>
50 104
</div>
51 105
52 106
<script>
53
function closeModel() {
54
    $("#error_msg").html('');
55
    $("#company-form")[0].reset();
56
    $('#myModal').modal('hide');
57
}
58
59
function modify(id, name, initial_balance) {
60
    $("#id").val(id);
61
    $("#name").val(name);
62
    $("#initial_balance").val(initial_balance);
63
    $('#myModal').modal('show');
64
}
65
66
function save(params) {
67
    var id = $("#id").val();
68
    var name = $("#name").val();
69
    var initial_balance = Number($("#initial_balance").val());
70
    $.post('/index/company/save', {
71
        'id': id,
72
        'name': name,
73
        'initial_balance': initial_balance
74
    }, function(res) {
75
        if (res.code == 0) {
76
            alert('保存成功');
77
            $('#myModal').modal('hide');
78
            $("#company-form")[0].reset();
79
            window.location.reload();
80
        } else {
81
            // $("#company-form").children('div:first').append("<span style='color:red;'>" + res.msg + "</span>");
82
            $("#error_msg").html(res.msg);
83
        }
84
        return false;
85
    }, 'json');
86
    return false;
87
}
88 107
89 108
</script>