if (isset($_GET['id'])) { ?> <!-- EDITING ITEM --> <div class="content"> <div class="content-header"> <h4><a href="?p=admin">Main Menu</a> / <a href="?p=admin&sub=shop">Shop Items</a> / Edit</h4> </div> <!-- .content-header --> <div class="main-content"> <?php if (isset($_POST['action'])) { if ($_POST['action'] == 'edit') { if (isset($_POST['delete'])) { deleteItem(); } else { editItem(); } } } ?> <form method="POST" action="?p=admin&sub=shop&id=<?php echo $_GET['id']; ?> " class="form label-inline"> <input type="hidden" name="action" value="edit"> <?php $edit_info = $DB->selectRow("SELECT * FROM `mw_shop_items` WHERE `id`='" . $_GET['id'] . "'"); ?> <!-- Item Number --> <div class="field">
function getBudgetItemsByBudgetId($budgetId, $isGBK = false) { global $mysql; $res = array(); $arr = $mysql->DBGetAsMap(" select * from `budget_item` where `budgetId` = '?' and `isDeleted` = 'false' ORDER BY LEFT( itemCode, 2 ) ASC , ( SUBSTRING( itemCode, 2 ) ) *1 DESC ", $budgetId); $count = 0; $smallCount = array(0, 0, 0, 0, 0, 0); $directFee = 0; $isFirstSmallCount = true; $NOPQRSItems = array(); foreach ($arr as $val) { $itemCode = $val['itemCode']; $itemUnit = $val['itemUnit']; $itemAmount = $val['itemAmount'] == "" || $val['itemAmount'] == null ? 0 : $val['itemAmount']; $discount = $val['discount']; $budgetId = $val['budgetId']; $itemName = $isGBK ? str2GBK($val['itemName']) : $val['itemName']; $itemUnit = $isGBK ? str2GBK($val['itemUnit']) : $val['itemUnit']; //这几项需要单独计算 if (in_array($itemCode, array('N', 'O', 'P', 'Q', 'R', 'S'))) { $NOPQRSItems[$itemCode] = $val; continue; } // itemCode 长度为1时认为是大项 if (strlen($itemCode) == 1) { if ($isFirstSmallCount) { //第一个大项出现时不输出小计 $isFirstSmallCount = false; } else { //增加一行小计 $res[$count++] = array('budgetItemId' => 'NULL' . $count, 'itemName' => $isGBK ? str2GBK('小计') : '小计', 'budgetId' => $budgetId, 'mainMaterialTotalPrice' => $smallCount[0], 'auxiliaryMaterialTotalPrice' => $smallCount[1], 'manpowerTotalPrice' => $smallCount[2], 'machineryTotalPrice' => $smallCount[3], 'manpowerTotalCost' => $smallCount[4], 'mainMaterialTotalCost' => $smallCount[5]); $directFee += $smallCount[0]; $directFee += $smallCount[1]; $directFee += $smallCount[2]; $directFee += $smallCount[3]; $smallCount = array(0, 0, 0, 0, 0, 0); } //输出大项 $res[$count++] = array('itemName' => $itemName, 'basicItemId' => $val['basicItemId'], 'itemCode' => $val['itemCode'], 'budgetId' => $val['budgetId'], 'budgetItemId' => $val['budgetItemId'], 'isEditable' => true); continue; } //正常输出项 $res[$count] = $val; $res[$count]['itemName'] = $itemName; $res[$count]['itemAmount'] = $itemAmount; $res[$count]['itemUnit'] = $itemUnit; $res[$count]['mainMaterialPrice'] = $val['mainMaterialPrice'] * $discount / 100; $res[$count]['auxiliaryMaterialPrice'] = $val['auxiliaryMaterialPrice'] * $discount / 100; $res[$count]['manpowerPrice'] = $val['manpowerPrice'] * $discount / 100; $res[$count]['machineryPrice'] = $val['machineryPrice'] * $discount / 100; $res[$count]['orgMainMaterialPrice'] = "原价:" . $val['mainMaterialPrice'] . " " . ($discount == 100 ? "" : $discount / 10 . "折"); $res[$count]['orgAuxiliaryMaterialPrice'] = "原价:" . $val['auxiliaryMaterialPrice'] . " " . ($discount == 100 ? "" : $discount / 10 . "折"); $res[$count]['orgManpowerPrice'] = "原价:" . $val['manpowerPrice'] . " " . ($discount == 100 ? "" : $discount / 10 . "折"); $res[$count]['orgMachineryPrice'] = "原价:" . $val['machineryPrice'] . " " . ($discount == 100 ? "" : $discount / 10 . "折"); //损耗=(主材单价+辅料单价)*0.05,按折扣后的价格 $loss = ($res[$count]['mainMaterialPrice'] + $res[$count]['auxiliaryMaterialPrice']) * 0.05; if ($val['lossPercent'] != $loss) { $val['lossPercent'] = $loss; editItem($val); } $res[$count]['lossPercent'] = $loss; //主材总价=(主菜单价+损耗)* 数量,按折扣后的价格 $mainMaterialTotalPrice = $itemAmount * ($res[$count]['mainMaterialPrice'] + $loss); $res[$count]['mainMaterialTotalPrice'] = $mainMaterialTotalPrice; $res[$count]['auxiliaryMaterialTotalPrice'] = $itemAmount * $res[$count]['auxiliaryMaterialPrice']; $res[$count]['manpowerTotalPrice'] = $itemAmount * $res[$count]['manpowerPrice']; $res[$count]['machineryTotalPrice'] = $itemAmount * $res[$count]['machineryPrice']; $res[$count]['remark'] = $val['remark'] == 'NULL' ? '' : ($isGBK ? str2GBK($val['remark']) : addslashes(nl2br(str_replace("\n", "<br />", $val['remark'])))); $res[$count]['isEditable'] = true; /** 2.辅材总价=辅材单价*数量 3.人工总价=人工单价*数量 4.机械总价=机械单价*数量 6.小计=各类小项总价之和 7.合计=所有小巷综合 **/ $smallCount[0] += $res[$count]['mainMaterialTotalPrice']; $smallCount[1] += $res[$count]['auxiliaryMaterialTotalPrice']; $smallCount[2] += $res[$count]['manpowerTotalPrice']; $smallCount[3] += $res[$count]['machineryTotalPrice']; $smallCount[4] += $res[$count]['manpowerCost']; $smallCount[5] += $res[$count]['mainMaterialCost']; foreach ($res[$count] as $key => $val) { if ($val === "" || $val === null) { //去除空值,减少网络数据量 unset($res[$count][$key]); } } $count++; } //如果 isFirstSmallCount 还是初始化的状态true说明没有一行小计,false的时候,说明至少有一个大项输出了。 if (!$isFirstSmallCount) { //最后一行小计 $res[$count++] = array('budgetItemId' => 'NULL' . $count, 'itemName' => $isGBK ? str2GBK('小计') : '小计', 'budgetId' => $budgetId, 'mainMaterialTotalPrice' => $smallCount[0], 'auxiliaryMaterialTotalPrice' => $smallCount[1], 'manpowerTotalPrice' => $smallCount[2], 'machineryTotalPrice' => $smallCount[3], 'manpowerTotalCost' => $smallCount[4], 'mainMaterialTotalCost' => $smallCount[5], 'isEditable' => false); $directFee += $smallCount[0]; $directFee += $smallCount[1]; $directFee += $smallCount[2]; $directFee += $smallCount[3]; $smallCount = array(0, 0, 0, 0, 0, 0); } //增加一行空行 $res[$count++] = array('budgetItemId' => 'NULL' . $count, 'budgetId' => $budgetId, 'isEditable' => false); //计算其他项 $totalFee = $directFee; //N 工程直接费 $itemUnit = '元'; $itemName = '工程直接费'; $itemCode = 'N'; $item = $NOPQRSItems[$itemCode]; $budgetItemId = $item['budgetItemId']; $fee = $directFee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); if ($fee != $item['mainMaterialPrice']) { $item['mainMaterialPrice'] = $fee; $arr = editItem($item); // update } // O 设计费 $itemUnit = '元'; $itemName = '设计费3%'; $itemCode = 'O'; $item = $NOPQRSItems[$itemCode]; $itemAmount = $item['itemAmount']; $budgetItemId = $item['budgetItemId']; $fee = $directFee * $itemAmount; $totalFee += $fee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'itemAmount' => $itemAmount, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); if ($fee != $item['mainMaterialPrice']) { $item['mainMaterialPrice'] = $fee; $arr = editItem($item); // update } // P 效果图 $itemUnit = '张'; $itemName = '效果图'; $itemCode = 'P'; $item = $NOPQRSItems[$itemCode]; $itemAmount = $item['itemAmount']; $budgetItemId = $item['budgetItemId']; $fee = 500 * $itemAmount; $totalFee += $fee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'itemAmount' => $itemAmount, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); // Q 5%管理费 $itemUnit = '元'; $itemName = '5%管理费'; $itemCode = 'Q'; $item = $NOPQRSItems[$itemCode]; $itemAmount = $item['itemAmount']; $budgetItemId = $item['budgetItemId']; $fee = $directFee * $itemAmount; $totalFee += $fee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'itemAmount' => $itemAmount, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); if ($fee != $item['mainMaterialPrice']) { $item['mainMaterialPrice'] = $fee; $arr = editItem($item); // update } // R 税金 $itemUnit = '元'; $itemName = '税金'; $itemCode = 'R'; $item = $NOPQRSItems[$itemCode]; $itemAmount = $item['itemAmount']; $budgetItemId = $item['budgetItemId']; $fee = $directFee * $itemAmount; $totalFee += $fee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'itemAmount' => $itemAmount, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); if ($fee != $item['mainMaterialPrice']) { $item['mainMaterialPrice'] = $fee; $arr = editItem($item); // update } // S 工程总造价 $itemUnit = '元'; $itemName = '工程总造价'; $itemCode = 'S'; $item = $NOPQRSItems[$itemCode]; $budgetItemId = $item['budgetItemId']; $itemAmount = ''; $fee = $totalFee; $res[$count++] = array('budgetItemId' => $budgetItemId, 'itemName' => $isGBK ? str2GBK($itemName) : $itemName, 'budgetId' => $budgetId, 'itemCode' => $itemCode, 'itemUnit' => $isGBK ? str2GBK($itemUnit) : $itemUnit, 'itemAmount' => $itemAmount, 'mainMaterialTotalPrice' => $fee, 'isEditable' => false); if ($fee != $item['mainMaterialPrice']) { $item['mainMaterialPrice'] = $fee; $arr = editItem($item); // update } foreach ($res as $count => $bItem) { //保留小数点后两位,不足补0 foreach ($bItem as $key => $val) { if (!in_array($key, array('itemAmount', 'mainMaterialTotalPrice', 'auxiliaryMaterialTotalPrice', 'manpowerTotalPrice', 'mainMaterialTotalCost', 'lossPercent', 'manpowerTotalCost', 'machineryTotalPrice', 'mainMaterialPrice', 'auxiliaryMaterialPrice', 'machineryPrice', 'manpowerPrice'))) { continue; } $res[$count][$key] = formatNumber($val); } } return $res; }
break; case 'editItem': $id = $_POST['id']; $type_item_id = $_POST['type_item_id']; $website_category_id = $_POST['website_category_id']; $guid = $_POST['guid']; $url = $_POST['url']; $title = $_POST['title']; $width_image = $_POST['width_image']; $height_image = $_POST['height_image']; $image = $_POST['image']; $alt_image = $_POST['alt_image']; $description = $_POST['description']; $date_publication = $_POST['date_publication']; $author = $_POST['author']; echo editItem($id, $type_item_id, $website_category_id, $guid, $url, $title, $width_image, $height_image, $image, $alt_image, $description, $date_publication, $author); break; case 'createItem': $type_item_id = $_POST['type_item_id']; $website_category_id = $_POST['website_category_id']; $url = $_POST['url']; $title = $_POST['title']; $width_image = $_POST['width_image']; $height_image = $_POST['height_image']; $image = $_POST['image']; $alt_image = $_POST['alt_image']; $description = $_POST['description']; $date_publication = $_POST['date_publication']; $author = $_POST['author']; echo createItem($type_item_id, $website_category_id, $url, $title, $width_image, $height_image, $image, $alt_image, $description, $date_publication, $author); break;
<?php require_once "../includes/LIB-project1.php"; require_once "../includes/Database.class.php"; $dbObj = new Database(); //null = no custom css $css = array("main.css", "bootstrap.min.css"); $curr_page = "My Account"; //even though the page is Admin, still considered "Account" //if editItem is set, pass the id to get the filled out form with items //if submit is set, work on validation and then updating if set //else display table to select item to edit if (isset($_POST['editItem'])) { $pageHTML = editItem($_POST['editItem'], $dbObj); unset($_POST['editItem']); unset($_POST['submit']); } else { if (isset($_POST['submit'])) { $pageHTML = validate($dbObj); unset($_POST['submit']); $pageHTML .= getTable($dbObj); } else { //else print out table of database items $pageHTML = getTable($dbObj); } } //set up the framework for the html header include "../includes/HTML_template.php"; $dbObj->closeDbh();
break; case 'blogcategorymulti': case 'blogcategory': $cache->call('showBlogCategory', $id, $gid, $access, $pop, $now); break; case 'archivesection': showArchiveSection($id, $gid, $access, $pop, $option); break; case 'archivecategory': showArchiveCategory($id, $gid, $access, $pop, $option, $now); break; case 'edit': editItem($id, $gid, $access, 0, $task, $Itemid); break; case 'new': editItem(0, $gid, $access, $sectionid, $task, $Itemid); break; case 'save': mosCache::cleanCache('com_content'); saveContent($access); break; case 'cancel': cancelContent($access); break; case 'emailform': emailContentForm($id); break; case 'emailsend': emailContentSend($id); break; case 'vote':
$res = addItem($_REQUEST); break; //添加大项 //添加大项 case "addBigItem": $res = addBigItem($_REQUEST); break; //删除项,不区分大项,小项 //删除项,不区分大项,小项 case "delItem": $res = delItem($_REQUEST['budgetItemId']); break; //修改项,不区分大项,小项 //修改项,不区分大项,小项 case "editItem": $res = editItem($_REQUEST); break; //修改预算 //修改预算 case "edit": $res = editBudget($_REQUEST); break; //删除预算 //删除预算 case "delete": $res = delBudget($_REQUEST["budgetId"]); break; //根据id获取预算 //根据id获取预算 case "view": $res = getBudgetsByBudgetId($_REQUEST["budgetId"]);
?> "></div> </div> </form> <?php if (isset($_SESSION['AutorMessage'])) { echo "<p class='Text'>" . $_SESSION['AutorMessage'] . "</p>"; unset($_SESSION['AutorMessage']); } $newAutorName = $_POST['autorName']; if (isset($_POST['edit']) && !empty($autorName)) { if ($newAutorName == $autorName) { LocalRedirect("/autors/"); } $autorSearch = getList(1, array('ID'), null, array('UF_NAME' => $newAutorName)); $autorId = $_POST['id']; if (!empty($autorSearch)) { $_SESSION['AutorMessage'] = "Автор с таким именем уже существует!"; LocalRedirect("edit_autor.php?id_autor={$autorId}"); } $editItem = array('UF_NAME' => $newAutorName); $result = editItem(1, $autorId, $editItem); if ($result->isSuccess()) { $_SESSION['AutorMessage'] = "Имя автора " . $newAutorName . " изменено!"; } else { $_SESSION['AutorMessage'] = "При изменении имени автора произошла ошибка!"; } LocalRedirect("/autors/"); } require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php";
"> <input type="hidden" name="bookTitle" value="<?php echo $bookTitle; ?> "> </div> </form> <?php if (isset($_POST['editBookTitle'])) { $newTitle = $_POST['bookTitle']; if ($newTitle == $_POST['oldTitle'] || empty($newTitle)) { LocalRedirect("/books/"); } $editItem = array('UF_TITLE' => $newTitle); $result = editItem(2, $_POST['bookId'], $editItem); if ($result->isSuccess()) { $_SESSION['BookMessage'] = "Название книги " . $newTitle . " изменено!"; } else { $_SESSION['BookMessage'] = "При изменении названия книги произошла ошибка!"; } LocalRedirect("/books/"); } if (isset($_POST['autorDelete'])) { $autorSearch = getList(3, array('ID'), null, array('UF_ID_BOOK' => $_POST['bookId'], 'UF_ID_AUTOR' => $_POST['autorId'])); $result = delItem(3, $autorSearch[0]['ID']); if ($result->isSuccess()) { $_SESSION['BookMessage'] = "Список авторов книги " . $_POST['bookTitle'] . " изменен!"; } else { $_SESSION['BookMessage'] = "При изменении списка авторов произошла ошибка!"; }