123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- <?php
- //任务订单列表
- namespace app\back\admin;
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
- use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
- use app\back\lib\xls\Client;
- use app\admin\controller\Admin;
- use app\common\builder\ZBuilder;
- use think\Db;
- use app\common\controller\Common;
- class TaskList extends Admin {
- /**
- *
- * @edit 待付款页面
- * @info 待验收页面
- * @check 已完成页面
- */
- public function index()
- {
- $map = $this->getMap();
- $data_list = DB::table('dp_task_list')->where($map)
- ->order('time desc')
- ->paginate();
- // 广告主
- $name_ad = Db::table('dp_user_list')->where('role_id',1)->column('name');
- // 核代
- $name_hedai = Db::table('dp_user_list')->where('role_id',0)->column('name');
-
- $sum_data = DB::table('dp_task_list')->where($map)->select();
- $params = [
- "sum_0_data"=>0,"sum_1_data"=>0,"sum_2_data"=>0,
- ];
-
- foreach ($sum_data as $value) {
-
- if ($value["status"]==0) {
- $params["sum_0_data"] += $value["money"];
- // code...
- }
- if ($value["status"]==1) {
- $params["sum_1_data"] += $value["money"];
- // code...
- }
- if ($value["status"]==2) {
- $params["sum_2_data"] += $value["money"];
- // code...
- }
-
- # code...
- }
- cookie('dp_task_list', $map);
- return ZBuilder::make('table')
- ->setTableName('task_list') // 设置数据表名
- ->addColumns([ // 批量添加列
- ['id', '任务订单ID'],
- ['name','任务订单名称'],
- ['time', '创建时间'],
- ['begin_time', '投放时间'],
- ['name_ad', '广告主'],
- ['name_hedai', '核代'],
- ['money', '金额'],
- ['status', '状态','status','',[0=>'待付款',1=>'已验收付款',2=>'已完成']],
- ['right_button', '操作','btn'],
- ])
- ->hideCheckbox()
- ->setRowList($data_list) // 设置表格数据
- ->setSearchArea([
- ['select', 'name_ad', '广告主','','',$name_ad ],
- ['select', 'name_hedai', '核代','','',$name_hedai],
- ['daterange', 'time', '创建时间','',''],
- ['daterange', 'begin_time', '预计投放时间','',''],
- ['select', 'status', '任务状态','','', [0=>'待付款',1=>'已验收付款',2=>'已完成']],
- ['text', 'id', '任务订单ID'],
- ]) //筛选条件
- ->setHeight('auto')
- ->addTopButton('add',['title'=>'新增任务'])
- ->addTopButton('export', [
- 'title' => '导出订单',
- 'class' => 'btn btn-success',
- 'icon' => 'fa fa-fw fa-file-excel-o',
- 'href' => '/admin.php/back/task_list/export.html?' . $this->request->query()
- ])
- ->addRightButtons(['edit'=>['title'=>'操作','icon'=>'fa fa-fw fa-gears'], 'delete','info'=>[
- 'title' => '操作',
- 'icon' => 'fa fa-fw fa-gears',
- 'href' => url('info', ['id' => '__id__'])
- ],'check'=>[
- 'title' => '查看',
- 'icon' => 'fa fa-fw fa-check',
- 'href' => url('check', ['id' => '__id__'])
- ],'supplement'=>[
- 'title' => '补充',
- 'icon' => 'fa fa-fw fa-plus-circle',
- 'href' => url('supplement', ['id' => '__id__'])
- ]]) //操作按钮
- ->replaceRightButton(['status' => ['in', '1,2']], '', 'delete')
- ->replaceRightButton(['status' => ['in', '1,2']], '', 'edit')
- ->replaceRightButton(['status' => ['in', '0,2']], '', 'info')
- ->replaceRightButton(['status' => ['in', '0,1']], '', 'check')
- ->replaceRightButton(['status' => ['in', '0,2']], '', 'supplement')
- ->setExtraHtmlFile('dp_task_list', 'toolbar_top', $params)
- ->fetch(); // 渲染页面
- }
- // -----------------新增任务
- public function add()
- {
- if ($this->request->isPost()) {
- // 表单数据
- $data = $this->request->post();
- $ad_index = $data['name_ad'];
- $hedai_index = $data['name_hedai'];
- $data['ad_id']= Db::table('dp_user_list')->where('role_id',1)->where('status',1)->select()[$ad_index]['id'];
- $data['name_ad']= Db::table('dp_user_list')->where('role_id',1)->where('status',1)->select()[$ad_index]['name'];
- $data['hedai_id']= Db::table('dp_user_list')->where('role_id',0)->where('status',1)->select()[$hedai_index]['id'];
- $data['name_hedai']= Db::table('dp_user_list')->where('role_id',0)->where('status',1)->select()[$hedai_index]['name'];
- if ($data["name"] =='') {
- return $this->error('任务名称不能为空');
- }
- if ($data["money"] =='') {
- return $this->error('金额不能为空');
- }
- if ($data["begin_time"] =='') {
- return $this->error('投放时间不能为空');
- }
- if ($data["end_time"] =='') {
- return $this->error('投放时间不能为空');
- }
- if ($data["name_ad"] =='') {
- return $this->error('广告主不能为空');
- }
- if ($data["name_hedai"] =='') {
- return $this->error('核代不能为空');
- }
- $r = DB::table('dp_task_list')->insert($data);
- if ($r) {
- $this->success('新增成功', 'index');
- } else {
- $this->error('新增失败');
- }
- }
- // 广告主
- $name_ad_list = Db::table('dp_user_list')->where('role_id',1)->where('status',1)->column('name');
- // 核代
- $name_hedai_list = Db::table('dp_user_list')->where('role_id',0)->where('status',1)->column('name');
- return ZBuilder::make('form')
- ->addFormItems([ // 批量添加列
- ['text', 'name', '任务名称', '<span class="text-danger">必填</span>'],
- ['textarea', 'describe', '任务描述'],
- ['text', 'money', '金额', '<span class="text-danger">必填</span>'],
- ['select', 'name_ad', '广告主', '<span class="text-danger">必选</span>', $name_ad_list],
- ['select', 'name_hedai', '核代', '<span class="text-danger">必选</span>',$name_hedai_list],
- ['date', 'begin_time', '预计投放时间','<span class="text-danger">必选</span>'],
- ['date', 'end_time', '预计投放结束时间','<span class="text-danger">必选</span>'],
- ['date', 'payback_time', '预计回款时间'],
- ['text', 'money_back', '预计回款金额'],
- ['files', 'accessory_add', '上传附件'],
- ['flowdiagram','',"",'0'],
- ])
- ->fetch(); // 渲染页面
- }
- // --------------待付款页面
- public function edit($id = '')
- {
- $dataInfo = Db::table('dp_task_list')->where('id',$id)->find();
- // 用户id
- $uid = session('user_auth')['uid'];
- // 用户昵称
- $username = get_nickname($uid);
- if($dataInfo['payback_time']==0){
- $dataInfo['payback_time']='';
- }
- // 提交待付款保存数据
- if ($this->request->isPost()) {
- // 表单数据
- $data = $this->request->post();
- $r =Db::table('dp_task_list')
- ->where('id', $id)
- ->update([
- 'user_id_pay' => $uid,
- 'user_name_pay' => $username,
- 'status' => 1,
- 'accessory_pay'=>$data['accessory_pay']
- ]);
- if ($r) {
- $this->success('提交成功', 'index');
- } else {
- $this->error('提交失败');
- }
- }
- return ZBuilder::make('form')
- ->addFormItems([ // 批量添加列
- ['static', 'name', '任务名称'],
- ['static', 'describe', '任务描述'],
- ['static', 'money', '金额'],
- ['static', 'name_ad', '广告主'],
- ['static', 'name_hedai', '核代'],
- ['static', 'begin_time', '预计投放时间'],
- ['static', 'end_time', '预计投放结束时间'],
- ['static', 'payback_time', '预计回款时间'],
- ['static', 'money_back', '预计回款金额'],
- ['archives', 'accessory_add', '附件'],
- ['flowdiagram','',"",'1',"0"],
- ['hr'],
- ['files', 'accessory_pay', '付款附件'],
- ])
- ->setFormData($dataInfo)
- ->submitConfirm()
- ->setBtnTitle('submit', '确定付款')
- ->fetch(); // 渲染页面
- }
- //------------------- 付款验收页面
- public function info($id = '')
- {
- $dataInfo = Db::table('dp_task_list')->where('id',$id)->find();
- // 用户id
- $uid = session('user_auth')['uid'];
- // 用户昵称
- $username = get_nickname($uid);
- if($dataInfo['payback_time']==0){
- $dataInfo['payback_time']='';
- }
- // 提交验收保存数据
- if ($this->request->isPost()) {
- // 表单数据
- $data = $this->request->post();
- $r =Db::table('dp_task_list')
- ->where('id', $id)
- ->update([
- 'user_id_check' => $uid, //验收人id
- 'user_name_check' => $username, //验收人username
- 'status' => 2,
- 'accessory_check'=>$data['accessory_check']
- ]);
- if ($r) {
- $this->success('提交成功', 'index');
- } else {
- $this->error('提交失败');
- }
- }
- return ZBuilder::make('form')
- ->addFormItems([ // 批量添加列
- ['static', 'name', '任务名称'],
- ['static', 'describe', '任务描述'],
- ['static', 'money', '金额'],
- ['static', 'name_ad', '广告主'],
- ['static', 'name_hedai', '核代'],
- ['static', 'begin_time', '预计投放时间'],
- ['static', 'end_time', '预计投放结束时间'],
- ['static', 'payback_time', '预计回款时间'],
- ['static', 'money_back', '预计回款金额'],
- ['archives', 'accessory_add', '附件'],
- ['flowdiagram','',"",'1',"1","0"],
- ['hr'],
- ['archives', 'accessory_pay', '付款附件'],
- ['static', 'user_name_pay', '审核人'],
- ['static', 'content_check', '补充'],
- ['files', 'accessory_check', '验收付款附件'],
- ])
- ->setFormData($dataInfo)
- ->layout(['accessory_pay' => 4, 'user_name_pay' => 4,'content_check'=>4])
- ->submitConfirm()
- ->setBtnTitle('submit', '确定验收')
- ->fetch(); // 渲染页面
- }
- // -----------------------已完成页面
- public function check($id = '')
- {
- $dataInfo = Db::table('dp_task_list')->where('id',$id)->find();
- if($dataInfo['payback_time']==0){
- $dataInfo['payback_time']='';
- }
- return ZBuilder::make('form')
- ->addFormItems([ // 批量添加列
- ['static', 'name', '任务名称'],
- ['static', 'describe', '任务描述'],
- ['static', 'money', '金额'],
- ['static', 'name_ad', '广告主'],
- ['static', 'name_hedai', '核代'],
- ['static', 'begin_time', '预计投放时间'],
- ['static', 'end_time', '预计投放结束时间'],
- ['static', 'payback_time', '预计回款时间'],
- ['static', 'money_back', '预计回款金额'],
- ['archives', 'accessory_add', '附件'],
- ['flowdiagram','',"",'1',"1","1"],
- ['hr'],
- ['archives', 'accessory_pay', '付款附件'],
- ['static', 'user_name_pay', '审核人'],
- ['static', 'content_check', '补充'],
- ['archives', 'accessory_check', '已验收付款附件'],
- ['static', 'user_name_check', '审核人'],
- ])
- ->setFormData($dataInfo)
- ->layout(['accessory_pay' => 6, 'user_name_pay' => 3,'content_check'=>3])
- ->layout(['accessory_check' => 7, 'user_name_check' => 4])
- ->submitConfirm()
- ->hideBtn('submit')
- ->fetch(); // 渲染页面
- }
- //------------------- 补充
- public function supplement($id = '')
- {
- // $data_list = Db::table('dp_task_list')->where('id',$id)->value('content_check');
- $data_list = Db::table('dp_task_list')->where('id',$id)->find();
- // 提交验收保存数据
- if ($this->request->isPost()) {
- // 表单数据
- $data = $this->request->post();
- if($data['content_check']==''){
- return $this->error('补充信息不能为空');
- }
- $r =Db::table('dp_task_list')
- ->where('id', $id)
- ->update([
- 'content_check' => $data['content_check'], //验收补充内容
- ]);
- if ($r) {
- $this->success('提交成功', 'index');
- } else {
- $this->error('提交失败');
- }
- }
- return ZBuilder::make('form')
- ->addFormItems([ // 批量添加列
- ['textarea', 'content_check', '补充'],
- ])
- ->setFormData($data_list)
- ->fetch(); // 渲染页面
- }
- //导出
- public function export()
- {
- $map = $this->getMap();
- $data_list = DB::table('dp_task_list')->field(['id', 'name', 'time','name_ad','name_hedai','money','status'])->where($map)->select();
- // 转换状态值并保存在新字段中
- foreach ($data_list as &$data) {
- if ($data['status'] == 0) {
- $data['status_text'] = '待付款';
- } elseif ($data['status'] == 1) {
- $data['status_text'] = '已验收付款';
- }else{
- $data['status_text'] = '已完成';
- }
- }
- // 设置表头信息(对应字段名,宽度,显示表头名称)
- $cellName = [
- ['id', 10, '任务ID'],
- ['name', 10, '任务名称'],
- ['time', 10, '时间'],
- ['name_ad', 20, '广告主'],
- ['name_hedai', 20, '核代'],
- ['money', 20, '金额'],
- ['status_text', 20, '状态'],
-
- ];
- // 调用插件(传入插件名,[导出文件名、表头信息、具体数据])
- plugin_action('Excel/Excel/export', ['任务订单管理列表'.date('Y-m-d H:i:s'), $cellName, $data_list]);
- }
- }
|