10) $config_tpl_dir = ROOT.'/tpl'; $config_bgcolor = '#FB6D4C'; $config_menulist = array(); $foodList = fetchAll("select a.*, b.unit_name, c.type_name from tb_jtj_food a, tb_jtj_food_unit b, tb_jtj_food_type c where a.type_id=c.id and a.unit_id=b.id"); $foodInfo = data2kv($foodList, 'id', 'name'); $foodFullInfo = array(); foreach($foodList as $item) $foodFullInfo[$item['id']] = $item; $food_typeInfo = data2kv(fetchAll("select * from tb_jtj_food_type"), 'id', 'type_name'); $food_unitInfo = data2kv(fetchAll("select * from tb_jtj_food_unit"), 'id', 'unit_name'); $jtjadminInfo = data2kv(fetchAll("select * from tb_jtj_admin"), 'id', 'name'); $statusInfo = array( 0 => '待安排', 1 => '安排中', 2 => '已签收', ); $roleInfo = array( 1 => '管理员', 11 => '饭堂工作人员', 12 => '供应商', 13 => '饭堂收货核查人员', 14 => '膳食委员会人员', ); if($role == 1) { $config_menulist[] = array('title' => '食材管理', 'config' => 'food'); $config_menulist[] = array('title' => '食材类型管理', 'config' => 'food_type'); $config_menulist[] = array('title' => '食材单位管理', 'config' => 'food_unit'); $config_menulist[] = array('title' => '供应商管理', 'config' => 'supplier'); //$config_menulist[] = array('title' => '食材采购订单', 'config' => 'purchase'); } else if($role == 11) { //饭堂工作人员 $config_menulist[] = array('title' => '食材采购', 'config' => 'purchase'); } else if($role == 12) { //食材供应商 $config_menulist[] = array('title' => '食材采购订单', 'config' => 'purchase'); //$config_menulist[] = array('title' => '食材管理', 'config' => 'food'); } else if($role == 13 || $role == 14) { //饭堂收货核查人员 $config_menulist[] = array('title' => '食材采购签收', 'config' => 'purchase'); } //$config_menulist[] = array('title' => '修改密码', 'url'=> '?act=repass',); $config_upload['food'] = array( 'upload_dir' => '../backstage/uploadfiles/jtj_food/', 'upload_prefix' => '../backstage/', ); function jtj_login() { $token = g("token"); if(!$token) { gredirect("/m/index3.html"); exit; } $row = fetchOne("select * from tb_session where token = '{$token}' and expire_time>unix_timestamp()"); if(!$row) { gredirect("/m/index3.html"); exit; } $uid = $row['uid']; $uInfo = fetchOne("select a.* from tb_jtj_admin a, tb_jtj_admin_user b where b.admin_id=a.id and b.user_id = {$uid} and a.enable = '1'"); if(!$uInfo) { galert("未开放食材采购权限!请联系管理员开通!", "/m/index3.html"); } admin_auto_login($uInfo['id']); exit; } $hasPurchaseInfo = array(); function getPurchaseInfo($id) { global $hasPurchaseInfo; if($hasPurchaseInfo[$id]) return $hasPurchaseInfo[$id]; $hasPurchaseInfo[$id] = fetchOne('select a.*, b.name as admin_name, c.name as food_name, c.type_id as food_type_id, c.unit_id, d.type_name, e.unit_name from tb_jtj_purchase a, tb_jtj_admin b, tb_jtj_food c, tb_jtj_food_type d, tb_jtj_food_unit e where a.admin_id=b.id and a.food_id=c.id and c.type_id=d.id and c.unit_id=e.id and a.id='.$id); return $hasPurchaseInfo[$id]; } $config_page = array(); if($showtype == 'food' && $role == 1) { if($role == 12) { $food_typeInfo2 = array( $admin_food_type_id => $food_typeInfo[$admin_food_type_id] ); $food_typeInfo = $food_typeInfo2; $sqlext = ' and a.type_id='.$admin_food_type_id; } $listsql = 'select a.*, b.type_name, c.unit_name from tb_jtj_food a, tb_jtj_food_type b, tb_jtj_food_unit c where a.type_id=b.id and a.unit_id=c.id and a.isdel=0 '. $sqlext; $config_page['food'] = array( 'table' => 'tb_jtj_food', 'showpage' => 20, 'addbt' => '添加食材', 'showdel' => '1', 'delmode' => '1', 'orderby' => 'a.id desc', 'listsql' => $listsql, 'listtitles' => array( array('title' => '食材名称', 'width'=>150, 'zd' => 'name'), array('title' => '单位', 'width'=>100, 'zd' => 'unit_id', 'showtype' => 'arr', 'showarr' => $food_unitInfo), array('title' => '单价', 'width'=>100, 'zd' => 'price'), array('title' => '食材类型', 'width'=>120, 'zd' => 'type_id', 'showtype' => 'arr', 'showarr' => $food_typeInfo), array('title' => '图片', 'width'=>120, 'zdr' => 'pic', 'url' => '../backstage/%pic%', 'urltext' => '点击查看', 'showfor' => 'page'), array('title' => '添加时间', 'width'=>150, 'zd' => 'addtime'), array('title' => '操作', 'width'=>260, 'op'=>1), ), 'editheight' => '300', 'editable' => array( 'name' => array('must' => '1', 'type' => 'text', 'col' => 2), 'type_id' => array('must' => '1', 'type' => 'select', 'select' => array(''=>'请选择')+$food_typeInfo, 'col' => 2), 'unit_id' => array('must' => '1', 'type' => 'select', 'select' => array(''=>'请选择')+$food_unitInfo, 'col' => 2, 'title' => '单位'), 'price' => array('must' => '1', 'type' => 'text', 'col' => 2, 'tip' => '元'), 'pic' => array('must' => '1', 'type' => 'file', 'col' => 2, 'accept' => 'image/*', 'resize' => 1000), ), ); } if($showtype == 'food_type' && $role == 1) { $config_page['food_type'] = array( 'table' => 'tb_jtj_food_type', 'showpage' => 20, 'addbt' => '添加食材类型', 'showdel' => '0', //'delmode' => '1', 'orderby' => 'id desc', 'listtitles' => array( array('title' => '类型名称', 'width'=>100, 'zd' => 'type_name'), array('title' => '操作', 'width'=>260, 'op'=>1), ), 'editheight' => '200', 'editable' => array( 'type_name' => array('must' => '1', 'type' => 'text', 'col' => 2), ), ); } if($showtype == 'food_unit' && $role == 1) { $config_page['food_unit'] = array( 'table' => 'tb_jtj_food_unit', 'showpage' => 20, 'addbt' => '添加单位', 'showdel' => '0', //'delmode' => '1', 'orderby' => 'id desc', 'listtitles' => array( array('title' => '单位名称', 'width'=>100, 'zd' => 'unit_name'), array('title' => '操作', 'width'=>260, 'op'=>1), ), 'editheight' => '200', 'editable' => array( 'unit_name' => array('must' => '1', 'type' => 'text', 'col' => 2), ), ); } if($showtype == 'supplier' && $role == 1) { $config_page['supplier'] = array( 'table' => 'tb_jtj_admin', 'showpage' => 20, 'addbt' => '添加供应商', 'showdel' => '0', //'delmode' => '1', 'orderby' => 'id desc', 'listsql' => "select * from tb_jtj_admin where role = '12'", 'listtitles' => array( array('title' => '供应商名称', 'width'=>100, 'zd' => 'name'), array('title' => '登录帐号', 'width'=>100, 'zd' => 'un'), array('title' => '食材类型', 'width'=>200, 'zd' => 'food_type_id', 'showtype' => 'arr', 'showarr' => $food_typeInfo), array('title' => '联系人', 'width'=>100, 'zd' => 'lxr'), array('title' => '联系电话', 'width'=>100, 'zd' => 'cellphone'), array('title' => '操作', 'width'=>200, 'op'=>1), ), 'editheight' => '300', 'editable' => array( 'name' => array('must' => '1', 'type' => 'text', 'col' => 2), 'un' => array('must' => '1', 'type' => 'text', 'col' => 2), 'lxr' => array('must' => '1', 'type' => 'text', 'col' => 2), 'cellphone' => array('must' => '1', 'type' => 'text', 'col' => 2), 'food_type_id' => array('must' => '1', 'type' => 'select', 'select' => array(''=>'请选择')+$food_typeInfo, 'col' => 2, 'title' => '食材类型'), ), 'addsql' => array('role' => '12', 'pw' => '123'), ); } if($showtype == 'purchase' && $role >= 10) { if($isphone) { $btStyle = 'height:2.1rem; font-size:1.2rem;'; } function purchase_savecheck($id, $data) { global $config, $adminInfo; $food_id = pn("food_id"); $num = floatval(p("num")); $total_price = 0; $foodInfo = fetchOne("select * from tb_jtj_food where id = {$food_id}"); $price = $foodInfo['price']; if($foodInfo) { $total_price = $price*$num; } if($id && $data['status'] != 0) { echoRs(0, '该采购单状态不能进行修改操作!'); } $config['editaddsql']['price'] = $price; $config['editaddsql']['total_price'] = $total_price; } function getSigEdit($data, $edit_id, $isshow) { $html1 = ''; if($isshow) { if(!$data['confirm_sig']) { echo '暂无'; return ; } $html1 = ''; } echo '
'.$html1.'
'; } function getDetailValue($data, $edit_id, $zd) { global $foodInfo, $jtjadminInfo, $statusInfo; if($zd == 'food_id') { echo $foodInfo[$data[$zd]]; } else if($zd == 'confirm_aid' || $zd == 'anpai_aid' || $zd == 'admin_id') { echo $jtjadminInfo[$data[$zd]]; } else if($zd == 'status') { echo $statusInfo[$data[$zd]]; } else if($zd == 'price') { $info = getPurchaseInfo($edit_id); echo $data[$zd].'/'.$info['unit_name']; } else if($zd == 'num' || $zd == 'confirm_num') { $info = getPurchaseInfo($edit_id); echo $data[$zd].$info['unit_name']; } //$unit_name = $foodFullInfo[$data['food_id']]['unit_name']; } function add_unit($row) { return $row['num'].$row['unit_name']; } function get_editable($editable, $data) { global $config, $id, $extraJs, $foodFullInfo; $edit_type = r("edit_type"); //pe($data); $config['savebt_title'] = '提交'; if($edit_type == 'anpai') { $config['edit_m'] = 'anpai'; $extraJs .= "set_title_fdiv('确认收单');"; $config['savebt_title'] = '确认收单'; $unit_name = $foodFullInfo[$data['food_id']]['unit_name']; $editable = array( //'num' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '单价', 'style' => 'width:80px', 'tip' => $unit_name), 'price' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '实际单价', 'style' => 'width:100px', 'tip' => "/".$unit_name), ); } else if($edit_type == 'confirm') { $config['edit_m'] = 'confirm'; $extraJs .= "set_title_fdiv('签收');"; $extraJs .= "\$J('.signature').jSignature({'color': '#000','height': '150px'});"; $extraJs .= "signatureInitLen = \$J('.signature').jSignature('getData').length;"; $config['savebt_title'] = '确认签收'; $unit_name = $foodFullInfo[$data['food_id']]['unit_name']; $editable = array( 'num' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '实际数量', 'style' => 'width:80px', 'tip' => $unit_name), 'sig' => array('must' => '0', 'col' => 2, 'title' => '手写签名', 'func' => 'getSigEdit', 'notedit' => 1), ); } else if($edit_type == 'detail') { $editable = array( 'id' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '订单号'), 'admin_id' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '采购人', 'func' => 'getDetailValue', 'funcParam' => 'admin_id'), 'food_id' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '食材', 'func' => 'getDetailValue', 'funcParam' => 'food_id'), 'price' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '单价', 'func' => 'getDetailValue', 'funcParam' => 'price'), 'num' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '采购数量', 'func' => 'getDetailValue', 'funcParam' => 'num'), 'total_price' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '总价'), 'status' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '状态', 'func' => 'getDetailValue', 'funcParam' => 'status'), 'anpai_aid' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '发货人', 'func' => 'getDetailValue', 'funcParam' => 'anpai_aid'), 'anpai_time' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '发货时间'), 'confirm_aid' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '签收用户', 'func' => 'getDetailValue', 'funcParam' => 'confirm_aid'), 'confirm_time' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '签收时间'), 'confirm_num' => array('must' => '1', 'type' => 'text', 'col' => 1, 'title' => '签收数量', 'func' => 'getDetailValue', 'funcParam' => 'confirm_num'), 'confirm_sig' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '签收签名', 'func' => 'getSigEdit', 'funcParam' => 1), 'addtime' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '采购时间'), ); foreach($editable as $key => $item) { $editable[$key]['notedit'] = 1; } } return $editable; } function getEditBt($row) { global $adminid, $role, $btStyle; if($role == 11 && $row['status'] == 0) { return array('title' => '修改', 'edit' => '1', 'style' => $btStyle); } } function getAnpaiBt($row) { global $role, $btStyle; if($role == 12 && $row['status'] == 0) { return array('title' => '确认收单', 'onclick' => 'showInfo('.$row['id'].', \'anpai\')', 'bgcolor' => '#33DB6E', 'style' => $btStyle); } } function getConfirmBt($row) { global $role, $btStyle; if(($role == 13 || $role == 14) && $row['status'] == 1) { //饭堂收货核查人员 return array('title' => '确认签收', 'onclick' => 'showInfo('.$row['id'].', \'confirm\')', 'bgcolor' => '#33DB6E', 'style' => $btStyle); } } function getDetailBt($row) { global $role, $btStyle; //if($row['confirm_sig']) { return array('title' => '详情', 'onclick' => 'showInfo('.$row['id'].', \'detail\')', 'bgcolor' => '#2E4E95', 'style' => $btStyle, ); //} } function anpai($id) { global $role, $adminid, $admin_food_type_id; if($role != 12) exit; $price = floatval(p("price")); $id = intval($id); $pInfo = getPurchaseInfo($id); if(!$pInfo) exit; if($pInfo['food_type_id'] != $admin_food_type_id) exit; if($pInfo['status'] != 0) { echoRs(0, '该采购单状态不能进行确认收单操作!'); } $total_price = $pInfo['num'] * $price; query("update tb_jtj_purchase set anpai_aid={$adminid}, anpai_time=now(), price={$price}, total_price={$total_price}, status=1 where id=".$id); echoRs(1, '确认收单成功!'); } function p_confirm($id) { global $role, $adminid, $admin_food_type_id; if($role != 13 && $role != 14) exit; $num = floatval(p("num")); $id = intval($id); $pInfo = getPurchaseInfo($id); if(!$pInfo) exit; if($pInfo['status'] != 1) { echoRs(0, '该采购单状态不能进行签收操作!'); } $picdata = p("sig_data"); if(!$picdata) { echoRs(0, '未上传签名!'); } $path = saveUploadFile(2, $picdata, 'upload/'); if(!$path) { echoRs(0, '保存签名失败!请重试!'); } query("update tb_jtj_purchase set confirm_aid={$adminid}, confirm_time=now(), status=2, confirm_sig='{$path}',confirm_num={$num} where id=".$id); echoRs(1, '确认签收成功!'); } if($role == 11) { $sqlext = ' and a.admin_id='.$adminid; } else if($role == 12) { $sqlext = ' and c.type_id='.$admin_food_type_id; } $listsql = 'select a.*, b.name as admin_name, c.name as food_name, d.type_name, e.unit_name from tb_jtj_purchase a, tb_jtj_admin b, tb_jtj_food c, tb_jtj_food_type d, tb_jtj_food_unit e where a.admin_id=b.id and a.food_id=c.id and c.type_id=d.id and c.unit_id=e.id '.$sqlext; $config_page['purchase'] = array( 'table' => 'tb_jtj_purchase', 'showpage' => 20, 'showdel' => '0', //'delmode' => '1', 'orderby' => 'a.id desc', 'listsql' => $listsql, 'listtitles' => array( array('title' => '采购人', 'width'=>100, 'zd' => 'admin_name'), array('title' => '食材', 'width'=>150, 'zd' => 'food_name'), array('title' => '类型', 'width'=>150, 'zd' => 'type_name'), array('title' => '数量', 'width'=>100, 'zdr' => 'num', 'showtype' => 'func', 'showfunc' => 'add_unit'), array('title' => '总价', 'width'=>100, 'zd' => 'total_price'), array('title' => '采购时间', 'width'=>150, 'zd' => 'addtime'), array('title' => '状态', 'width'=>100, 'zd' => 'status', 'showtype' => 'arr', 'showarr' => $statusInfo), array('title' => '操作', 'width'=>260, 'op'=>1, 'hideedit' => 1), ), 'listbts' => array('getEditBt', 'getAnpaiBt', 'getConfirmBt', 'getDetailBt'), 'editheight' => '200', 'editable' => array( 'food_id' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '食材', 'type' => 'select', 'select' => array(''=>'请选择')+$foodInfo, 'onchange' => 'change_food_id(this.value)'), 'num' => array('must' => '1', 'type' => 'text', 'col' => 2, 'title' => '采购数量', 'style' => 'width:80px', 'tip' => ' '), ), 'editable_func' => 'get_editable', 'addsql' => array('admin_id' => $adminid), 'savecheck' => 'purchase_savecheck', 'addjs' => array('jtj.js', 'jSignature_J.js'), 'info_m' => array('anpai' => 'anpai', 'confirm' => 'p_confirm', ), ); if($role == 11) { $config_page['purchase']['addbt'] = '发起采购'; } } require_once("/home/www/sdb/admin_inc/admin.inc.php");