feat(后台): 班组相关调整 包含统计金额
							parent
							
								
									932eca2be1
								
							
						
					
					
						commit
						0c6c3f7d68
					
				| 
						 | 
				
			
			@ -25,12 +25,14 @@ class Outsource extends Base
 | 
			
		|||
     */
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        $worksiteId = input('worksite_id/d');
 | 
			
		||||
        if ($this->request->isPost()) {
 | 
			
		||||
            $params = input('searchParams/a');
 | 
			
		||||
            $page   = input('page/d', 1);
 | 
			
		||||
            $size   = input('size/d', 20);
 | 
			
		||||
 | 
			
		||||
            $where = [];
 | 
			
		||||
            $where[] = ['worksite_id', '=', $worksiteId];
 | 
			
		||||
            if (!empty($params)) {
 | 
			
		||||
                foreach ($params as $key => $param) {
 | 
			
		||||
                    $param = trim($param);
 | 
			
		||||
| 
						 | 
				
			
			@ -61,6 +63,7 @@ class Outsource extends Base
 | 
			
		|||
            return $this->json(0, 'success', $res);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $this->data['worksiteId'] = $worksiteId;
 | 
			
		||||
        return $this->view();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -71,6 +74,7 @@ class Outsource extends Base
 | 
			
		|||
     */
 | 
			
		||||
    public function add()
 | 
			
		||||
    {
 | 
			
		||||
        $worksiteId = input('worksite_id/d');
 | 
			
		||||
        if ($this->request->isPost()) {
 | 
			
		||||
            try {
 | 
			
		||||
                $input = input('post.');
 | 
			
		||||
| 
						 | 
				
			
			@ -87,6 +91,7 @@ class Outsource extends Base
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $this->data['worksiteId'] = $worksiteId;
 | 
			
		||||
        return $this->view();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -370,18 +370,46 @@ class Worksite extends Base
 | 
			
		|||
     * 项目支出汇总
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    public function outlay(): View
 | 
			
		||||
    public function outlay()
 | 
			
		||||
    {
 | 
			
		||||
        $id = input('worksite_id/d');
 | 
			
		||||
 | 
			
		||||
        $pay       = PayMonthLog::where('worksite_id', $id)->where('status', '>', PayMonthLog::COMMON_OFF)->sum('paid_amount');
 | 
			
		||||
        $outsource = \app\model\WorksiteOutsource::where('worksite_id', $id)->sum('amount');
 | 
			
		||||
        if ($this->request->post()) {
 | 
			
		||||
            $search = input('searchParams/a');
 | 
			
		||||
            $begin = $search['begin'] ?? '';
 | 
			
		||||
            $end = $search['end'] ?? '';
 | 
			
		||||
 | 
			
		||||
        $item['total']     = $pay + $outsource;
 | 
			
		||||
        $item['pay']       = $pay;
 | 
			
		||||
        $item['outsource'] = $outsource;
 | 
			
		||||
            $where = [];
 | 
			
		||||
            if (!empty($begin)) {
 | 
			
		||||
                $where[] = ['time', '>=', str_replace('-', '', $begin)];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!empty($end)) {
 | 
			
		||||
                $where[] = ['time', '<=', str_replace('-', '', $end)];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $list = PayMonthLog::alias('pml')
 | 
			
		||||
                ->leftJoin('account a', 'a.id = pml.account_id')
 | 
			
		||||
                ->leftJoin('outsource o', 'o.id = a.outsource_id')
 | 
			
		||||
                ->where('pml.worksite_id', $id)
 | 
			
		||||
                ->where($where)
 | 
			
		||||
                ->where('a.outsource_id', '>', 0)
 | 
			
		||||
                ->where('pml.status', '>', PayMonthLog::COMMON_OFF)
 | 
			
		||||
                ->where('pml.paid_amount', '>', 0)
 | 
			
		||||
                ->field('pml.*,a.outsource_id,o.name as team_name,sum(pml.paid_amount) as paid')
 | 
			
		||||
                ->group('a.outsource_id')
 | 
			
		||||
                ->select();
 | 
			
		||||
            $res['total'] = $list->count();
 | 
			
		||||
            $res['list'] = $list;
 | 
			
		||||
            return $this->json(0, 'success', $res);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $pay       = PayMonthLog::where('worksite_id', $id)->where('status', '>', PayMonthLog::COMMON_OFF)->sum('paid_amount');
 | 
			
		||||
 | 
			
		||||
        $item['total']     = $pay;
 | 
			
		||||
 | 
			
		||||
        $this->data['item'] = $item;
 | 
			
		||||
        $this->data['worksiteId'] = $id;
 | 
			
		||||
        return $this->view();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -197,9 +197,10 @@ class Index extends Base
 | 
			
		|||
     */
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        $position   = Position::list();
 | 
			
		||||
        $role       = input('role');
 | 
			
		||||
        $worksiteId = input('worksite_id/d');
 | 
			
		||||
        $position    = Position::list();
 | 
			
		||||
        $role        = input('role');
 | 
			
		||||
        $worksiteId  = input('worksite_id/d');
 | 
			
		||||
        $outsourceId = input('outsource_id/d');
 | 
			
		||||
        if ($this->request->isPost()) {
 | 
			
		||||
            $page         = input('page/d', 1);
 | 
			
		||||
            $size         = input('size/d', 20);
 | 
			
		||||
| 
						 | 
				
			
			@ -207,10 +208,14 @@ class Index extends Base
 | 
			
		|||
            if (input('role')) {
 | 
			
		||||
                $searchParams['role'] = input('role');
 | 
			
		||||
            }
 | 
			
		||||
            if (input('worksite_id')) {
 | 
			
		||||
            if (input('worksite_id') && $worksiteId > 0) {
 | 
			
		||||
                $searchParams['worksite_id'] = input('worksite_id');
 | 
			
		||||
            }
 | 
			
		||||
            $search                      = [];
 | 
			
		||||
 | 
			
		||||
            if (input('outsource_id') && $outsourceId > 0) {
 | 
			
		||||
                $searchParams['outsource_id'] = input('outsource_id');
 | 
			
		||||
            }
 | 
			
		||||
            $search = [];
 | 
			
		||||
            if ($searchParams) {
 | 
			
		||||
                foreach ($searchParams as $key => $param) {
 | 
			
		||||
                    if ($param || $param == '0') {
 | 
			
		||||
| 
						 | 
				
			
			@ -267,6 +272,7 @@ class Index extends Base
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        $this->data['worksiteId']   = $worksiteId;
 | 
			
		||||
        $this->data['outsourceId']  = $outsourceId;
 | 
			
		||||
        $this->data['role']         = $role;
 | 
			
		||||
        $this->data['positionList'] = $position;
 | 
			
		||||
        return $this->view();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,15 +49,18 @@ class PayLog extends Base
 | 
			
		|||
        $month = date('m', strtotime($time));
 | 
			
		||||
        $day   = date('d', strtotime($time));
 | 
			
		||||
 | 
			
		||||
        $outsourceId = Account::where('id', $accountId)->value('outsource_id');
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            self::create([
 | 
			
		||||
                'account_id'  => $accountId,
 | 
			
		||||
                'worksite_id' => $worksiteId,
 | 
			
		||||
                'time'        => $time,
 | 
			
		||||
                'indexs'      => $indexs,
 | 
			
		||||
                'year'        => $year,
 | 
			
		||||
                'month'       => $month,
 | 
			
		||||
                'day'         => $day,
 | 
			
		||||
                'account_id'   => $accountId,
 | 
			
		||||
                'worksite_id'  => $worksiteId,
 | 
			
		||||
                'outsource_id' => $outsourceId,
 | 
			
		||||
                'time'         => $time,
 | 
			
		||||
                'indexs'       => $indexs,
 | 
			
		||||
                'year'         => $year,
 | 
			
		||||
                'month'        => $month,
 | 
			
		||||
                'day'          => $day,
 | 
			
		||||
            ]);
 | 
			
		||||
        } catch (\Exception $exception) {
 | 
			
		||||
            //弱网时,可能会出现并发提交,忽略indexs唯一索引报错
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ class Pay
 | 
			
		|||
            ->chunk(300, function ($items) {
 | 
			
		||||
                $update     = [];
 | 
			
		||||
                $indexsList = [];
 | 
			
		||||
                $ids = $items->column('id');
 | 
			
		||||
                $ids        = $items->column('id');
 | 
			
		||||
                \think\facade\Log::write($ids);
 | 
			
		||||
                // 每查询一次就增加一次handle_count 避免未处理成功后 死循环一直查询
 | 
			
		||||
                (new ClockLog)->whereIn('id', $ids)->save([
 | 
			
		||||
| 
						 | 
				
			
			@ -191,13 +191,14 @@ class Pay
 | 
			
		|||
                    $indexs = $item['account_id'].'-'.$item['worksite_id'].'-'.$time;
 | 
			
		||||
                    if (!isset($insert[$indexs])) {
 | 
			
		||||
                        $insert[$indexs] = [
 | 
			
		||||
                            'account_id'  => $item['account_id'],
 | 
			
		||||
                            'worksite_id' => $item['worksite_id'],
 | 
			
		||||
                            'indexs'      => $indexs,
 | 
			
		||||
                            'time'        => $time,
 | 
			
		||||
                            'year'        => $year,
 | 
			
		||||
                            'month'       => $month,
 | 
			
		||||
                            'created_at'  => date('Y-m-d H:i:s'),
 | 
			
		||||
                            'account_id'   => $item['account_id'],
 | 
			
		||||
                            'worksite_id'  => $item['worksite_id'],
 | 
			
		||||
                            'outsource_id' => $item['outsource_id'],
 | 
			
		||||
                            'indexs'       => $indexs,
 | 
			
		||||
                            'time'         => $time,
 | 
			
		||||
                            'year'         => $year,
 | 
			
		||||
                            'month'        => $month,
 | 
			
		||||
                            'created_at'   => date('Y-m-d H:i:s'),
 | 
			
		||||
 | 
			
		||||
                            'amount'          => $item['amount'],
 | 
			
		||||
                            'base_amount'     => $item['base_amount'],
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -245,4 +245,173 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect', 'laydate'
 | 
			
		|||
            },
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($('.location-detail-page').length > 0) {
 | 
			
		||||
        miniTab.listen();
 | 
			
		||||
 | 
			
		||||
        // 渲染表格
 | 
			
		||||
        let listUrl = $('#table-container').data('url');
 | 
			
		||||
        let insTb = table.render({
 | 
			
		||||
            elem: '#table-container',
 | 
			
		||||
            title: '列表',
 | 
			
		||||
            defaultToolbar: ['filter', 'exports', {
 | 
			
		||||
                title: '搜索' //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
 | 
			
		||||
                , layEvent: 'search'
 | 
			
		||||
                , icon: 'layui-icon-search'
 | 
			
		||||
            }],
 | 
			
		||||
            toolbar: '#toolbar-tpl',
 | 
			
		||||
            method: 'POST',
 | 
			
		||||
            url: listUrl,
 | 
			
		||||
            page: false,
 | 
			
		||||
            limit: 20,
 | 
			
		||||
            limits: [20,50,100,200,500,1000],
 | 
			
		||||
            request: {
 | 
			
		||||
                pageName: 'page',
 | 
			
		||||
                limitName: 'size',
 | 
			
		||||
            },
 | 
			
		||||
            parseData: function (res) {
 | 
			
		||||
                return {
 | 
			
		||||
                    "code": res.code, //解析接口状态
 | 
			
		||||
                    "msg": res.msg, //解析提示文本
 | 
			
		||||
                    "count": res.data.total, //解析数据长度
 | 
			
		||||
                    "data": res.data.list //解析数据列表
 | 
			
		||||
                };
 | 
			
		||||
            },
 | 
			
		||||
            cols: [[
 | 
			
		||||
                {type: 'checkbox'},
 | 
			
		||||
                {field: 'team_name', title: '班组', minWidth: 200},
 | 
			
		||||
                {field: 'paid', title: '支出金额', minWidth: 150},
 | 
			
		||||
                // {field: 'status_text', title: '状态', minWidth: 200},
 | 
			
		||||
                // {templet: '#row-operate', minWidth: 380, align: 'center', title: '操作'}
 | 
			
		||||
            ]],
 | 
			
		||||
            done: function () {
 | 
			
		||||
                Tools.setInsTb(insTb);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //监听工具条 注意区别toolbar和tool  toolbar是表头上的工具条 tool是行中的工具条
 | 
			
		||||
        table.on('toolbar(table-container-filter)', function (obj) {
 | 
			
		||||
            let layEvent = obj.event;
 | 
			
		||||
            let insTb = Tools.getInsTb();
 | 
			
		||||
            let url = $($(this).context).data('href')
 | 
			
		||||
            let title = $($(this).context).data('title')
 | 
			
		||||
            let width = $($(this).context).data('width') ? $($(this).context).data('width') : '100%';
 | 
			
		||||
            let height = $($(this).context).data('height') ? $($(this).context).data('height') : '100%';
 | 
			
		||||
 | 
			
		||||
            let checkStatus = table.checkStatus('table-container');
 | 
			
		||||
            let selected = checkStatus.data;
 | 
			
		||||
            let ids = [];
 | 
			
		||||
 | 
			
		||||
            switch (layEvent) {
 | 
			
		||||
                // toolbar 删除
 | 
			
		||||
                case 'del':
 | 
			
		||||
                    if (checkStatus.data.length <= 0) {
 | 
			
		||||
                        layer.msg('请先选择数据');
 | 
			
		||||
                        return false;
 | 
			
		||||
                    }
 | 
			
		||||
                    // let selected = checkStatus.data;
 | 
			
		||||
                    // let ids = [];
 | 
			
		||||
 | 
			
		||||
                    $.each(selected, function (index, val) {
 | 
			
		||||
                        ids.push(val.id);
 | 
			
		||||
                    })
 | 
			
		||||
                    delRow(url, ids, insTb);
 | 
			
		||||
                    return false;
 | 
			
		||||
                // toolbar 刷新
 | 
			
		||||
                case 'refresh':
 | 
			
		||||
                    refreshTab(insTb);
 | 
			
		||||
                    return false;
 | 
			
		||||
                // toolbar 搜索
 | 
			
		||||
                case 'search':
 | 
			
		||||
                    let search = $('.table-search-fieldset');
 | 
			
		||||
                    if (search.hasClass('div-show')) {
 | 
			
		||||
                        search.css('display', 'none').removeClass('div-show');
 | 
			
		||||
                    } else {
 | 
			
		||||
                        search.css('display', 'block').addClass('div-show');
 | 
			
		||||
                    }
 | 
			
		||||
                    return false;
 | 
			
		||||
                // 其他 默认为打开弹出层
 | 
			
		||||
                default:
 | 
			
		||||
                    if (layEvent !== 'LAYTABLE_COLS' && layEvent !== 'LAYTABLE_EXPORT') {
 | 
			
		||||
                        openLayer(url, title, width, height);
 | 
			
		||||
                        return false;
 | 
			
		||||
                    }
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //监听行工具条
 | 
			
		||||
        table.on('tool(table-container-filter)', function (obj) {
 | 
			
		||||
            let data = obj.data;
 | 
			
		||||
            let layEvent = obj.event;
 | 
			
		||||
            let url = $($(this).context).data('href');
 | 
			
		||||
            let title = $($(this).context).data('title');
 | 
			
		||||
            let width = $($(this).context).data('width') ? $($(this).context).data('width') : '100%';
 | 
			
		||||
            let height = $($(this).context).data('height') ? $($(this).context).data('height') : '100%';
 | 
			
		||||
            let insTb = Tools.getInsTb();
 | 
			
		||||
 | 
			
		||||
            switch (layEvent) {
 | 
			
		||||
                // 行 删除
 | 
			
		||||
                case 'del':
 | 
			
		||||
                    let ids = [data.id];
 | 
			
		||||
                    delRow(url, ids, insTb);
 | 
			
		||||
                    return false;
 | 
			
		||||
                //其他 默认为打开弹出层
 | 
			
		||||
                default:
 | 
			
		||||
                    openLayer(url, title, width, height);
 | 
			
		||||
                    return false;
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        changeSwitch('changeSaleable');//监听上下架
 | 
			
		||||
 | 
			
		||||
        let modifyUrl = $('#row-modify').data('url');
 | 
			
		||||
 | 
			
		||||
        table.on('edit(table-container)', function (obj) {
 | 
			
		||||
            let id = obj.data.id;
 | 
			
		||||
            $.ajax(modifyUrl, {
 | 
			
		||||
                data: {"id": id, "field": obj.field, "value": obj.value}
 | 
			
		||||
                ,dataType : 'json'
 | 
			
		||||
                ,type: 'POST'
 | 
			
		||||
            })
 | 
			
		||||
                .done(function (res) {
 | 
			
		||||
                    if (res.code === 0) {
 | 
			
		||||
                        insTb.reload();
 | 
			
		||||
                    }
 | 
			
		||||
                })
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // switch变更
 | 
			
		||||
        function changeSwitch(filter) {
 | 
			
		||||
            form.on('switch(' + filter + ')', function (obj) {
 | 
			
		||||
                let val = obj.elem.checked ? 1 : 0;
 | 
			
		||||
                $.post(modifyUrl, {id: this.value, field: this.name, value: val}, function (res) {
 | 
			
		||||
                    layer.msg(res.msg)
 | 
			
		||||
                    if (res.code !== 0) {
 | 
			
		||||
                        //操作不成功则刷新页面
 | 
			
		||||
                        insTb.reload();
 | 
			
		||||
                    }
 | 
			
		||||
                })
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 监听搜索操作
 | 
			
		||||
        form.on('submit(data-search-btn)', function (data) {
 | 
			
		||||
            //执行搜索重载
 | 
			
		||||
            table.reload('table-container', {
 | 
			
		||||
                page: {curr: 1}
 | 
			
		||||
                , where: data.field
 | 
			
		||||
            }, 'data');
 | 
			
		||||
 | 
			
		||||
            return false;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        laydate.render({
 | 
			
		||||
            elem: '#date-begin'
 | 
			
		||||
            ,type: 'month'
 | 
			
		||||
        });
 | 
			
		||||
        laydate.render({
 | 
			
		||||
            elem: '#date-end'
 | 
			
		||||
            ,type: 'month'
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@
 | 
			
		|||
                    </div>
 | 
			
		||||
                </fieldset>
 | 
			
		||||
                <div>
 | 
			
		||||
                    <table id="table-container" class="layui-table" data-url="/manager/account/index/index?worksite_id={$worksiteId ?? 0}{:empty($role) ? '' : '&role='.$role}" lay-filter="table-container-filter"></table>
 | 
			
		||||
                    <table id="table-container" class="layui-table" data-url="/manager/account/index/index?worksite_id={$worksiteId ?? 0}{:empty($role) ? '' : '&role='.$role}{:empty($outsourceId) ? '' : '&outsource_id='.$outsourceId}" lay-filter="table-container-filter"></table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,8 @@
 | 
			
		|||
 | 
			
		||||
            <div class="layui-form-item">
 | 
			
		||||
                <div class="layui-input-block">
 | 
			
		||||
                    <button class="layui-btn layui-btn-normal" data-url="/manager/outsource/add" lay-submit lay-filter="saveBtn">确认保存</button>
 | 
			
		||||
                    <input type="hidden" name="worksite_id" value="{$worksiteId ?? 0}">
 | 
			
		||||
                    <button class="layui-btn layui-btn-normal" data-url="/manager/outsource/add?worksite_id={$worksiteId ?? 0}" lay-submit lay-filter="saveBtn">确认保存</button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,7 +24,7 @@
 | 
			
		|||
                    </div>
 | 
			
		||||
                </fieldset>
 | 
			
		||||
                <div class="image-table">
 | 
			
		||||
                    <table id="table-container" class="layui-table" data-url="/manager/outsource/index" lay-filter="table-container-filter"></table>
 | 
			
		||||
                    <table id="table-container" class="layui-table" data-url="/manager/outsource/index?worksite_id={$worksiteId ?? 0}" lay-filter="table-container-filter"></table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -39,13 +39,14 @@
 | 
			
		|||
<!-- 操作列 -->
 | 
			
		||||
<script type="text/html" id="row-operate">
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/outsource/edit.html?id={{d.id}}" data-title="编辑" lay-event="edit">编辑</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/account/index/index.html?outsource_id={{d.id}}&role=1" data-title="班组【{{d.name}}】工人列表" lay-event="edit">工人列表</a>
 | 
			
		||||
<!--    <a class="layui-btn layui-btn-danger layui-btn-xs" data-href="/manager/outsource/del.html" lay-event="del">删除</a>-->
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<!-- toolbar -->
 | 
			
		||||
<script type="text/html" id="toolbar-tpl">
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh lay-event="refresh"><i class="fa fa-refresh"></i></a>
 | 
			
		||||
    <a class="layui-btn layui-btn-normal layui-btn-sm" data-href="/manager/outsource/add.html" data-title="添加" lay-event="add">添加</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-normal layui-btn-sm" data-href="/manager/outsource/add.html?worksite_id={$worksiteId ?? 0}" data-title="添加" lay-event="add">添加</a>
 | 
			
		||||
<!--    <a class="layui-btn layui-btn-danger layui-btn-sm" data-href="/manager/outsource/del.html" lay-event="del">删除</a>-->
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
<!-- 操作列 -->
 | 
			
		||||
<script type="text/html" id="row-operate">
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/worksite/edit.html?id={{d.id}}" data-title="编辑" lay-event="edit">编辑</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/worksite-outsource/index.html?worksite_id={{d.id}}" data-title="【{{d.name}}】分包单位" lay-event="detail">分包单位</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/outsource/index.html?worksite_id={{d.id}}" data-title="【{{d.name}}】班组" lay-event="detail">班组</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/account/index/index.html?worksite_id={{d.id}}&role=1" data-title="【{{d.name}}】工人列表" lay-event="detail">工人列表</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/worksite/outlay.html?worksite_id={{d.id}}" data-title="【{{d.name}}】项目开支汇总" lay-event="detail">项目开支汇总</a>
 | 
			
		||||
    <a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/project-log/index.html?worksite_id={{d.id}}" data-title="【{{d.name}}】项目日志" lay-event="detail">项目日志</a>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
{layout name="manager/layout" /}
 | 
			
		||||
<div class="layui-bg-gray location-detail-page" style="padding: 30px;">
 | 
			
		||||
    <div class="layui-row layui-col-space15">
 | 
			
		||||
        <div class="layui-col-xs12 layui-col-md4">
 | 
			
		||||
        <div class="layui-col-xs12 layui-col-md12">
 | 
			
		||||
 | 
			
		||||
            <div class="layui-card top-panel">
 | 
			
		||||
                <div class="layui-card-header">工地总支出</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -15,35 +15,36 @@
 | 
			
		|||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="layui-col-xs12 layui-col-md4">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="layui-row layui-col-space15">
 | 
			
		||||
        <fieldset class="table-search-fieldset" style="display: none;border-color: #eee;border-width: 1px;">
 | 
			
		||||
            <legend>搜索信息</legend>
 | 
			
		||||
            <div style="margin: 10px 10px 10px 10px">
 | 
			
		||||
                <form class="layui-form layui-form-pane" action="">
 | 
			
		||||
                    <div class="layui-form-item">
 | 
			
		||||
                        <div class="layui-inline">
 | 
			
		||||
                            <label class="layui-form-label">开始时间</label>
 | 
			
		||||
                            <div class="layui-input-inline">
 | 
			
		||||
                                <input type="text" name="begin" id="date-begin" autocomplete="off" class="layui-input">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
            <div class="layui-card top-panel">
 | 
			
		||||
                <div class="layui-card-header">工地工资支出</div>
 | 
			
		||||
                <div class="layui-card-body">
 | 
			
		||||
                    <div class="layui-row layui-col-space5">
 | 
			
		||||
                        <div class="layui-col-xs9 layui-col-md9 top-panel-number">
 | 
			
		||||
                            {$item.pay ?? 0}
 | 
			
		||||
                        <div class="layui-inline">
 | 
			
		||||
                            <label class="layui-form-label">结束时间</label>
 | 
			
		||||
                            <div class="layui-input-inline">
 | 
			
		||||
                                <input type="text" name="end" id="date-end" autocomplete="off" class="layui-input">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
                        <div class="layui-inline">
 | 
			
		||||
                            <button type="submit" class="layui-btn layui-btn-primary"  lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                </form>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="layui-col-xs12 layui-col-md4">
 | 
			
		||||
 | 
			
		||||
            <div class="layui-card top-panel">
 | 
			
		||||
                <div class="layui-card-header">分包单位支出</div>
 | 
			
		||||
                <div class="layui-card-body">
 | 
			
		||||
                    <div class="layui-row layui-col-space5">
 | 
			
		||||
                        <div class="layui-col-xs9 layui-col-md9 top-panel-number">
 | 
			
		||||
                            {$item.outsource ?? 0}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
        </fieldset>
 | 
			
		||||
        <table id="table-container" class="layui-table" data-url="/manager/worksite/outlay?worksite_id={$worksiteId ?? 0}" lay-filter="table-container-filter"></table>
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
<script src="__MANAGER__/js/account/account.js?v={:mt_rand()}"></script>
 | 
			
		||||
<script src="__MANAGER__/js/worksite/worksite.js?v={:mt_rand()}"></script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue