Browse Source

Merge pull request 'wpd_conv' (#18) from wpd_conv into master

Reviewed-on: #18
pull/19/head
pengda 7 months ago
parent
commit
cafce37514
  1. 7
      config/define.php
  2. 58
      control/admin.php
  3. 33
      control/index.php
  4. 16
      data/dFormula.php
  5. 2
      index.php
  6. 179
      model/mFormula.php
  7. 2
      model/mPage.php
  8. 20
      view/css/global.css
  9. BIN
      view/images/index_logo.png
  10. 18
      view/js/common.js
  11. 54
      view/templates/admin/formula_add.html
  12. 54
      view/templates/admin/formula_list.html
  13. 18
      view/templates/admin/include/header.html
  14. 25
      view/templates/admin/include/leftmenu.html
  15. 18
      view/templates/admin/save_pass.html
  16. 155
      view/templates/admin/unit_conv.html
  17. 155
      view/templates/admin/unit_conv_add.html
  18. 18
      view/templates/admin/user_add.html
  19. 24
      view/templates/admin/user_list.html

7
config/define.php

@ -77,6 +77,13 @@
)
);
define('WEIGHT_LIANG', 1);
define('WEIGHT_SHENG', 2);
$GLOBALS['weight_convert_list'] = array(
WEIGHT_LIANG => '两',
WEIGHT_SHENG => '升',
);
$GLOBALS['weight_list'] = array(
"汉" => array(
'少许'=>'',

58
control/admin.php

@ -22,6 +22,13 @@ class admin extends publicBase {
}
}
public function logout() {
setcookie("uid", '', time() + 3600 * 24, '/');
setcookie("token", '', time() + 3600 * 24, '/');
header('Location: /admin/login');
}
public function user_list() {
$m_admin_user = new mAdminUser();
$list = $m_admin_user->getUserList();
@ -32,8 +39,6 @@ class admin extends publicBase {
public function user_add() {}
public function ajax_save_user() {
$this->_check_login(true);
$name = trim($this->post('name'));
$password = md5('123456');
@ -166,4 +171,53 @@ class admin extends publicBase {
$this->ajax_json(true, '操作成功');
}
public function unit_conv() {
$this->view['unit_list'] = $GLOBALS['weight_convert_list'];
$unit_type = trim($this->get('unit_type')) + 0;
$m_formula = new mFormula();
$condition = array();
if ($unit_type) $condition['unit_type'] = $unit_type;
$this->view['list'] = $m_formula->getUnitConvList($condition);
}
public function ajax_change_unit_conv() {
$id = $this->post('id') + 0;
$data = array(
'status' => $this->post('status') + 0
);
$m_formula = new mFormula();
$id = $m_formula->updateUnitConv($id, $data);
if (!$id) $this->ajax_json(false, '操作失败');
$this->ajax_json(true, '操作成功');
}
public function unit_conv_add() {
$this->view['unit_list'] = $GLOBALS['weight_convert_list'];
$id = $this->get('id');
if ($id) {
$mformula = new mFormula();
$data = $mformula->getUnitConvById($id);
$this->view['data'] = $data;
}
}
public function ajax_save_unit_conv() {
$id = $this->post('id') + 0;
$unit_type = trim($this->post('unit_type')) + 0;
$num = trim($this->post('num')) + 0;
$from = trim($this->post('from'));
$m_formula = new mFormula();
$id = $m_formula->saveUnitConv($id, $unit_type, $num, $from);
if (!$id) $this->ajax_json(false, $m_formula->getError());
$this->ajax_json(true, '操作成功', array('id' => $id));
}
}

33
control/index.php

@ -327,4 +327,37 @@ class index extends publicBase {
$this->view['data'] = array($data);
$this->setViewTpl('index/export_pdf.html');
}
public function ajax_unit_conv() {
$uinfo = $this->_check_login();
$unit_type = WEIGHT_LIANG;
$unit_name = $GLOBALS['weight_convert_list'][$unit_type];
$m_formula = new mFormula();
$unit_conv = $m_formula->getUnitTypeConv($unit_type);
$user_conv = $m_formula->getUserConv($uinfo['uid'], $unit_type);
foreach ($unit_conv as &$conv) {
$conv['conv_txt'] = "1{$unit_name}={$conv['num']}g";
if($user_conv['conv_id'] == $conv['id']){
$user_conv['conv_txt'] = "当前1{$unit_name}={$conv['num']}g";
}
}
$this->ajax_json(true, '获取成功', array('user_conv' => $user_conv, 'unit_conv' => $unit_conv));
}
public function ajax_set_user_conv() {
$uinfo = $this->_check_login();
$unit_type = trim($this->post('unit_type')) + 0;
$conv_id = trim($this->post('conv_id')) + 0;
$m_formula = new mFormula();
$res = $m_formula->saveUserConv($uinfo['uid'], $unit_type, $conv_id);
if (!$res) $this->ajax_json(false, $m_formula->getError());
$this->ajax_json(true, '保存成功');
}
}

16
data/dFormula.php

@ -44,6 +44,20 @@ class dFormula extends dBase {
'formula_id',
'use_num',
),
'tcm_unit_conv' => array(
'id',
'unit_type',
'num',
'from',
'status',
'create_date',
),
'tcm_user_conv' => array(
'id',
'uid',
'unit_type',
'conv_id',
),
);
protected $primary_keys = array(
@ -52,6 +66,8 @@ class dFormula extends dBase {
'tcm_herb' => 'id',
'tcm_collect_log' => 'id',
'tcm_formula_use_log' => 'id',
'tcm_unit_conv' => 'id',
'tcm_user_conv' => 'id',
);
}

2
index.php

@ -129,7 +129,7 @@
if ($is_super && $uinfo['is_super'] != 1) $this->ajax_json(false, '你没有该权限');
$this->para['_uinfo'] = $uinfo;
$this->view['_uinfo'] = $this->para['_uinfo'] = $uinfo;
return true;
}

179
model/mFormula.php

@ -12,6 +12,8 @@ class mFormula extends mBase {
private $herb_tbl;
private $collect_log_tbl;
private $formula_use_log_tbl;
private $unit_conv;
private $user_conv;
public function __construct() {
$this->obj = new dFormula();
@ -20,6 +22,8 @@ class mFormula extends mBase {
$this->herb_tbl = 'tcm_herb';
$this->collect_log_tbl = 'tcm_collect_log';
$this->formula_use_log_tbl = 'tcm_formula_use_log';
$this->unit_conv = 'tcm_unit_conv';
$this->user_conv = 'tcm_user_conv';
}
public function searchFormulaList($condition, $page_num, $page_size) {
@ -49,6 +53,16 @@ class mFormula extends mBase {
$formula_ids = array_column($data, 'id');
$formula_arr = $this->getFormulaHerbData($formula_ids);
$unit_conv = array();
$user_conv = $this->getUserConvList($uid);
if ($user_conv) {
$conv_ids = array_column($user_conv, 'conv_id');
if ($conv_ids) {
$unit_conv = $this->getUnitConvByIds($conv_ids);
$unit_conv = array_column($unit_conv, null, 'unit_type');
}
}
foreach ($data as &$da) {
if (isset($formula_arr[$da['id']])) $da['formula'] = $formula_arr[$da['id']];
@ -59,6 +73,9 @@ class mFormula extends mBase {
foreach ($da['formula'] as &$v) {
if (isset($original[$v['name']])) {
$num = $this->convByUserChoice($original[$v['name']]['num'], $unit_conv);
if ($num) $v['num'] = $num;
$v['num_str'] = $original[$v['name']]['num'];
$v['desc'] = $original[$v['name']]['desc'];
}
@ -70,6 +87,24 @@ class mFormula extends mBase {
return $data;
}
public function convByUserChoice($num_str, $unit_conv) {
if (!$unit_conv) return false;
$unit_name = preg_replace('/\d/', '', $num_str);
$unit_type = array_search($unit_name, $GLOBALS['weight_convert_list']);
if (!$unit_type) return false;
if (!isset($unit_conv[$unit_type])) return false;
$unit_num = filter_var($num_str, FILTER_SANITIZE_NUMBER_INT);
$conv_num = $unit_conv[$unit_type]['num'];
$num = $unit_num * $conv_num;
if (!$num) return false;
return $num;
}
public function searchFormulaTotal($condition) {
$where = "1=1";
if (!empty($condition)) {
@ -261,11 +296,24 @@ class mFormula extends mBase {
return $formula;
}
$unit_conv = array();
$user_conv = $this->getUserConvList($uid);
if ($user_conv) {
$conv_ids = array_column($user_conv, 'conv_id');
if ($conv_ids) {
$unit_conv = $this->getUnitConvByIds($conv_ids);
$unit_conv = array_column($unit_conv, null, 'unit_type');
}
}
//原方信息
$original = json_decode($original, true);
$original = array_column($original, null, 'name');
foreach ($formulaHerb as &$v) {
if (isset($original[$v['name']])) {
$num = $this->convByUserChoice($original[$v['name']]['num'], $unit_conv);
if ($num) $v['num'] = $num;
$v['num_str'] = $original[$v['name']]['num'];
$v['desc'] = $original[$v['name']]['desc'];
}
@ -611,4 +659,135 @@ class mFormula extends mBase {
return $this->obj->count($this->collect_log_tbl);
}
public function getUnitConvByIds($ids) {
return $this->obj->selectIn($this->unit_conv, array('id' => $ids), array('sql' => '`status`=?', 'vals' => array(0)));
}
public function getUnitConvById($id) {
return $this->obj->select($this->unit_conv, array('sql' => '`id`=?', 'vals' => array($id)));
}
public function getUnitTypeConv($unit_type) {
return $this->obj->selectAll($this->unit_conv, array('sql' => '`unit_type`=? and `status`=?', 'vals' => array($unit_type, 0)));
}
public function getUnitConvList($condition, $page_num = 1, $page_size = 500) {
$offset = ($page_num - 1) * $page_size;
$where = "1=1 ";
if (!empty($condition)) {
foreach ($condition as $key => $val) {
$where .= " and {$key}={$val}";
}
}
return $this->obj->selectAll($this->unit_conv, array('sql' => $where, 'vals' => array()), 'id desc ', array($offset, $page_size));
}
public function updateUnitConv($id, $info) {
return $this->obj->update($this->unit_conv, $info, array('sql' => '`id`=?', 'vals' => array($id)));
}
public function insertUnitConv($info) {
$id = $this->obj->insert($this->unit_conv, $info);
if (empty($id)) {
$this->writeLog('formula', 'save_error_log', '添加计量单位转换失败|' . json_encode($info, JSON_UNESCAPED_UNICODE));
return false;
}
return $id;
}
public function saveUnitConv($id, $unit_type, $num, $from) {
if (!$unit_type) {
$this->setError('请选择计量单位');
return false;
}
if (!$num) {
$this->setError('请填写转换克重');
return false;
}
if (empty($from)) {
$this->setError('请填写转换根据');
return false;
}
$data = array(
'unit_type' => $unit_type,
'num' => $num,
'from' => $from,
'status' => 1,
);
if (!$id) {
//添加药方 并添加药方药材关联关系
$id = $this->insertUnitConv($data);
if (!$id) {
$this->setError('添加失败');
return false;
}
} else {
//更新药方 并更新药方药材关联关系
$res = $this->updateUnitConv($id, $data);
if (!$res) {
$this->setError('更新失败');
return false;
}
}
return $id;
}
public function getUserConvList($uid) {
return $this->obj->selectAll($this->user_conv, array('sql' => '`uid`=?', 'vals' => array($uid)));
}
public function getUserConv($uid, $unit_type) {
return $this->obj->select($this->user_conv, array('sql' => '`uid`=? and `unit_type`=?', 'vals' => array($uid, $unit_type)));
}
public function saveUserConv($uid, $unit_type, $conv_id) {
if (!$unit_type || !$conv_id) {
$this->setError('参数错误');
return false;
}
$user_conv = $this->getUserConv($uid, $unit_type);
if ($user_conv) {
$res = $this->updateUserConv($user_conv['id'], array('conv_id' => $conv_id));
if (!$res) {
$this->setError('更新失败');
return false;
}
return true;
}
$res = $this->insertUserConv(array('uid' => $uid, 'unit_type' => $unit_type, 'conv_id' => $conv_id));
if (!$res) {
$this->setError('设置失败');
return false;
}
return true;
}
public function updateUserConv($id, $info) {
$res = $this->obj->update($this->user_conv, $info, array('sql' => '`id`=?', 'vals' => array($id)));
if (!$res) {
$this->writeLog('formula', 'save_error_log', '更新用户计量单位转换设置失败|' . $id . '|' . json_encode($info, JSON_UNESCAPED_UNICODE));
return false;
}
return true;
}
public function insertUserConv($info) {
$res = $this->obj->insert($this->user_conv, $info);
if (!$res) {
$this->writeLog('formula', 'save_error_log', '添加用户计量单位转换设置失败|' . json_encode($info));
return false;
}
return true;
}
}

2
model/mPage.php

@ -5,7 +5,7 @@ class Page extends publicBase {
public $totalnum; // 总记录数[必填],例:$page->setTotalnum(100);
public $page; // 当前页码[必填]
public $url; // 分页URL[必填]
public $pagesize=50; // 每页记录数
public $pagesize=20; // 每页记录数
public $viewpagenum=7; // 每页看到的页码数
public $virtualpage='...'; // 省略或跨越页码

20
view/css/global.css

@ -3568,7 +3568,8 @@ body{
display: block;
text-indent:-9999px;
margin: 6px 57px 0 0;
background:url('/agentsite/0.png') no-repeat;
background:url('../images/index_logo.png') no-repeat;
background-size: 80%;
}
.topbar-inner-logo {
@ -6073,7 +6074,7 @@ table {
border-radius: 0 0 4px 0;
}
.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
/*background-color: #f9f9f9;*/
}
.table tbody tr:hover td, .table tbody tr:hover th {
background-color: #f5f5f5;
@ -6990,4 +6991,19 @@ button.danger:hover{
text-shadow: none;
border-color: #d9534f;
background-position: 0 -10px;
}
/* 提示框的样式 */
.custom-alert {
position: fixed;
top: 30%;
right: 50%;
background-color: #787878;
color: white;
padding: 15px;
border-radius: 5px;
z-index: 1000;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
opacity: 1;
transition: opacity 0.5s ease;
}

BIN
view/images/index_logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

18
view/js/common.js

@ -0,0 +1,18 @@
function showAlert(text,href = ""){
// 创建提示框元素
var $alertBox = $('<div class="custom-alert">'+text+'</div>');
// 将提示框添加到页面中
$("#page").append($alertBox);
//2秒后自动隐藏并移除提示框
setTimeout(function() {
$alertBox.css("opacity", "0");
if(href){
window.location.href = href;
}
setTimeout(function() {
$alertBox.remove();
}, 500); // 给提示框一些时间淡出,然后再移除
}, 500);
}

54
view/templates/admin/formula_add.html

@ -9,17 +9,22 @@
<title>添加药方</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<div id="main">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div>
<div class="header">
<div class="flash-message"></div>
<ul class="tabs">
<li class="active"><a href="javascript:;">添加药方</a></li>
{if $data.id}
@ -112,7 +117,7 @@
<textarea cols="300" rows="30" style="margin-top: 20px"></textarea>
<!--end of main section-->
</div><!--end of container-->
</div><!--end of #page-->
</section><!--end of #page-->
{literal}
<script type="text/javascript">
@ -133,12 +138,12 @@
dataType: 'json',
success: function (response) {
if (response.status == true) {
showAlert('删除成功',"/admin/formula_list")
showAlert('删除成功', document.referrer)
return true;
}
if(response.data.code == 40002){
showAlert(response.info,"/admin/login")
showAlert('请登录','/admin/login')
return true;
}
@ -174,25 +179,6 @@
button.parentElement.parentElement.remove();
}
function showAlert(text,href = ""){
// 创建提示框元素
var $alertBox = $('<div class="custom-alert">'+text+'</div>');
// 将提示框添加到页面中
$("#page").append($alertBox);
//2秒后自动隐藏并移除提示框
setTimeout(function() {
$alertBox.css("opacity", "0");
if(href){
window.location.href = href;
}
setTimeout(function() {
$alertBox.remove();
}, 500); // 给提示框一些时间淡出,然后再移除
}, 500);
}
function submitForm(e) {
e.preventDefault(); // 阻止默认表单提交
@ -232,9 +218,9 @@
success: function (response) {
if (response.status == true) {
if(id){
showAlert('保存成功',"/admin/formula_list")
showAlert('保存成功',document.referrer)
}else{
showAlert('添加成功',"/admin/formula_list")
showAlert('添加成功',document.referrer)
}
return true;
}
@ -263,20 +249,6 @@
border-radius: 50px;
color: #fff;
}
/* 提示框的样式 */
.custom-alert {
position: fixed;
top: 30%;
right: 50%;
background-color: #787878;
color: white;
padding: 15px;
border-radius: 5px;
z-index: 1000;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
opacity: 1;
transition: opacity 0.5s ease;
}
</style>
{/literal}

54
view/templates/admin/formula_list.html

@ -9,12 +9,19 @@
<title>药方列表</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<div id="main" style="width: 100%;">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div class="entry">
<div class="modal-body">
@ -47,7 +54,6 @@
</div>
<div class="record-control">
<div class="flash-message"></div>
<ul class="tabs">
<li class="active"><a href="javascript:;">药方列表</a></li>
<div style="display:inline-block;float: right;">
@ -93,13 +99,13 @@
<td>{$item.id}</td>
<td>{$item.name}</td>
<td>{$item.source}</td>
<td style="padding: 20px">
<td style="padding: 10px">
<div class="formula-item" style="display: flex;flex-wrap: wrap;border-bottom: 1px dashed #ccc;padding-bottom: 10px;">
{foreach from=$item.formula item=value}
<span class="item" style="flex-basis: auto;white-space: nowrap;border: 1px dashed #f6f5f5;padding-right: 20px">{$value.name}{if $value.desc}({$value.desc}){/if} {$value.num_str}</span>
<span class="item" style="flex-basis: auto;white-space: nowrap;border: 1px dashed #f6f5f5;padding:0 20px 0 0">{$value.name}{if $value.desc}({$value.desc}){/if} {$value.num_str}</span>
{/foreach}
</div>
<div style="line-height: 30px;padding-top: 10px">{$item.method}</div>
<div style="line-height: 20px;padding-top: 10px">{$item.method}</div>
</td>
<td>
{if $item.uid==0}
@ -141,7 +147,7 @@
</div>
</div>
<!-- 设置价格 -->
</div><!--end of main section-->
</section><!--end of main section-->
</div><!--end of container-->
@ -149,25 +155,6 @@
{literal}
<script type="text/javascript">
function showAlert(text,href = ""){
// 创建提示框元素
var $alertBox = $('<div class="custom-alert">'+text+'</div>');
// 将提示框添加到页面中
$("#page").append($alertBox);
//2秒后自动隐藏并移除提示框
setTimeout(function() {
$alertBox.css("opacity", "0");
if(href){
window.location.href = href;
}
setTimeout(function() {
$alertBox.remove();
}, 500); // 给提示框一些时间淡出,然后再移除
}, 500);
}
function searchList() {
var status = $('#status').val();
var is_all = $('#is_all').val();
@ -216,12 +203,11 @@
success: function (response) {
if (response.status == true) {
showAlert('操作成功', window.location.href)
// window.location.reload()
return true;
}
if(response.data.code == 40002){
showAlert('操作成功','/admin/login')
showAlert('请登录','/admin/login')
return true;
}
@ -269,20 +255,6 @@
};
</script>
<style>
/* 提示框的样式 */
.custom-alert {
position: fixed;
top: 30%;
right: 50%;
background-color: #787878;
color: white;
padding: 15px;
border-radius: 5px;
z-index: 2000000;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
opacity: 1;
transition: opacity 0.5s ease;
}
.disabled-row{
background-color: #f2f2f2; /* 变灰 */
color: #aaa; /* 文字颜色变淡 */

18
view/templates/admin/include/header.html

@ -0,0 +1,18 @@
<nav class="topbar">
<div class="topbar-inner">
<div class="container">
<a class="brand" href="/admin/formula_list">医案小助手</a>
<div class="topbar-infomation">
<ul>
<li class="email_drop">
<a class='account' href="/admin/logout">
<span class="name">退出</span>
</a>
</li>
</ul>
</div>
</div>
</div>
</nav>

25
view/templates/admin/include/leftmenu.html

@ -0,0 +1,25 @@
<b>菜单栏</b>
<div class="input-search">
<a href_flag='/admin/formula_list' href="/admin/formula_list">药方列表</a>
</div>
<div class="input-search">
<a href_flag='/admin/unit_conv' href="/admin/unit_conv">计量单位转换</a>
</div>
{if $_uinfo.is_super}
<div class="input-search">
<a href_flag='/admin/user_list' href="/admin/user_list">管理员列表</a>
</div>
{/if}
<div class="input-search">
<a href_flag='/admin/save_pass' href="/admin/save_pass/username/{$_uinfo.username}">修改密码</a>
</div>
{literal}
<script>
$('.input-search').find('a').each(function(){
if(window.location.pathname == $(this).attr('href_flag')) {
$(this).css('color', 'white');
$(this).css('background', '#44b549');
}
});
</script>
{/literal}

18
view/templates/admin/save_pass.html

@ -9,19 +9,24 @@
<title>修改密码</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div class="record-control">
<div class="header">
<span style="font-size:14px;padding:5px">修改密码</span>
<div class="row">&nbsp;</div>
<div class="flash-message"></div>
<ul class="tabs"><li></li></ul>
</div>
</div>
@ -87,14 +92,17 @@
data: data,
dataType: 'json',
success: function (response) {
alert(response.info);
if (response.status == true) {
window.location.href = "/admin/formula_list"
showAlert('操作成功', window.location.href)
return true;
}
if(response.data.code == 40002){
window.location.href = "/admin/login";
showAlert('请登录','/admin/login')
return true;
}
showAlert(response.info)
},
error: function (xhr, status, error) {
console.error('错误:', response);

155
view/templates/admin/unit_conv.html

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html class="no-js" lang="zh-CN">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript" src="{$smarty.const.CSS_URL}/js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="{$smarty.const.CSS_URL}/js/jquery.form.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>计量单位转换列表</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div class="entry">
<div class="modal-body">
<table class="table table-striped table-bordered table-condensed">
<tbody class='js-bundle-record-list'>
<tr>
<td>
&nbsp;计量单位:&nbsp;
<select id="unit_type" style="width: 100px;">
<option value="0" {if $smarty.get.unit_type==0}selected{/if}>请选择</option>
{foreach from=$unit_list key=key item=item}
<option value="{$key}" {if $smarty.get.unit_type==$key}selected{/if}>1{$item}</option>
{/foreach}
</select>
&nbsp;&nbsp;&nbsp;
<button onclick="searchList();" class="button primary next" id="btnVer">搜索</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="main-content">
<div class="record-control">
<ul class="tabs">
<li class="active"><a href="javascript:;">计量单位转换列表</a></li>
<div style="display:inline-block;float: right;">
<button class="button primary next" onclick="to_add()">添加准换</button>
</div>
</ul>
</div>
</div>
<div class="entry">
<div class="modal-body">
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 10%">计量单位</th>
<th style="width: 10%">转换克重</th>
<th style="width: 60%">转换根据</th>
<th style="width: 15%">操作</th>
</tr>
</thead>
<tbody>
{foreach from=$list key=key item=item}
<tr>
<td>{$item.id}</td>
<td>1{$unit_list[$item.unit_type]}</td>
<td>{$item.num}g</td>
<td>{$item.from}</td>
<td>
{if $item.is_super == 0}
{if $item.status == 0}
<a href="javascript:;" onclick="to_disabled({$item.id},1)">禁用</a>
{else}
<a href="javascript:;" onclick="to_disabled({$item.id},0)">启用</a>
{/if}
{/if}
<a href="/admin/unit_conv_add/id/{$item.id}">编辑</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</section><!--end of main section-->
</div><!--end of container-->
</div><!--end of #page-->
{literal}
<script type="text/javascript">
function to_add() {
location.href = '/admin/unit_conv_add';
}
function searchList() {
var unit_type = $('#unit_type').val();
var url = '/admin/unit_conv';
if(unit_type > 0) url += '/unit_type/' + unit_type;
location.href = url;
}
function to_disabled(id, status) {
if (!confirm("确定要禁用吗?")) {
console.log("用户选择了确认");
return false;
}
const data = {
id: id,
status: status,
};
$.ajax({
url: '/admin/ajax_change_unit_conv', // 替换为你的服务器端处理文件
type: 'POST',
data: data,
dataType: 'json',
success: function (response) {
if (response.status == true) {
showAlert('操作成功', window.location.href)
return true;
}
if(response.data.code == 40002){
showAlert('请登录','/admin/login')
return true;
}
showAlert(response.info)
},
error: function (xhr, status, error) {
console.error('错误:', response);
alert('提交失败,请重试。');
}
});
}
</script>
{/literal}
</body>
</html>

155
view/templates/admin/unit_conv_add.html

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript" src="{$smarty.const.CSS_URL}/js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="{$smarty.const.CSS_URL}/js/jquery.form.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>添加用户</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div class="record-control">
<div class="header">
<span style="font-size:14px;padding:5px">添加转换</span>
<div class="row">&nbsp;</div>
<ul class="tabs"><li></li></ul>
</div>
</div>
<div id="domain-list">
<div class="entry">
<div class="modal-body">
<div class="wizard-container"><div>
<div class="inputs">
<div id="form_area">
<form id="conv-form" onsubmit="submitForm(event)">
<input id="id" name="id" type="hidden" value="{$data.id}">
<div class="row">&nbsp;</div>
<div class="row">
<label for="unit_type">计量单位<font color='red'>*</font></label>
<select id="unit_type" name="unit_type" style="width: 100px;">
{foreach from=$unit_list key=key item=item}
<option value="{$key}" {if $data.unit_type==$key}selected{/if}>1{$item}</option>
{/foreach}
</select>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<label for="num">转换克重<font color='red'>*</font></label>
<input type="text" id="num" name="num" maxlength="" style="width:100px" value="{$data.num}">&nbsp;g
</div>
<div class="row">&nbsp;</div>
<div class="row">
<label for="from">转换根据<font color='red'>*</font></label>
<textarea rows="3" cols="80" id="from" name="from">{$data.from}</textarea>
</div>
<div class="row">&nbsp;</div>
<div class="row" id="" style="position:relative;">
<label>&nbsp;</label>
<button class="button primary next submitlock" id="submitbtn" onclick="submitForm()"><span class="tdesc_text" style="color:white;">提交</span></button>
</div>
<div class="row">&nbsp;</div>
</form>
</div>
</div>
</div>
</div></div>
<div style="display: none;" id="formtips">
<div class="alert-message block-message info" style="color:red;"></div>
</div>
</div>
<!--end of a domain entry-->
</div>
<!-- 批量上传 <div id="onetickupload"></div> -->
</div>
</section>
<!--end of main section-->
</div><!--end of container-->
</div><!--end of #page-->
{literal}
<script type="text/javascript">
function submitForm(e) {
e.preventDefault(); // 阻止默认表单提交
const form = document.getElementById('conv-form');
const formData = new FormData(form);
const id = formData.get('id')
const data = {
id: formData.get('id'),
unit_type: formData.get('unit_type'),
num: formData.get('num'),
from: formData.get('from'),
};
$.ajax({
url: '/admin/ajax_save_unit_conv', // 替换为你的服务器端处理文件
type: 'POST',
data: data,
dataType: 'json',
success: function (response) {
if (response.status == true) {
if(id){
showAlert('保存成功', document.referrer)
}else{
showAlert('添加成功', document.referrer)
}
return true;
}
if(response.data.code == 40002){
showAlert(response.info,"/admin/login")
return true;
}
showAlert(response.info)
},
error: function (xhr, status, error) {
console.error('错误:', response);
alert('提交失败,请重试。');
}
});
}
</script>
<style>
.add-button {
width: 20px;
height: 20px;
background-color: #DD4B38;
border: none;
border-radius: 50px;
color: #fff;
}
</style>
{/literal}
</body>
</html>

18
view/templates/admin/user_add.html

@ -9,19 +9,24 @@
<title>添加用户</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div class="record-control">
<div class="header">
<span style="font-size:14px;padding:5px">添加用户</span>
<div class="row">&nbsp;</div>
<div class="flash-message"></div>
<ul class="tabs"><li></li></ul>
</div>
</div>
@ -81,14 +86,17 @@
data: {name:name},
dataType: 'json',
success: function (response) {
alert(response.info);
if (response.status == true) {
window.location.href = "/admin/user_list"
showAlert('操作成功', document.referrer)
return true;
}
if(response.data.code == 40002){
window.location.href = "/admin/login";
showAlert('请登录','/admin/login')
return true;
}
showAlert(response.info)
},
error: function (xhr, status, error) {
console.error('错误:', response);

24
view/templates/admin/user_list.html

@ -8,17 +8,22 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>管理员列表</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet"
type="text/css">
<link href="{$smarty.const.CSS_URL}/css/global.css?v={$smarty.const.CSS_JS_VERSION}" media="screen" rel="stylesheet" type="text/css">
<script src="{$smarty.const.CSS_URL}/js/common.js?v={$smarty.const.CSS_JS_VERSION}"></script>
</head>
<body>
<div id="page">
{include file="admin/include/header.html"}
<div class="container">
<section id="main" style="width: 100%;">
<aside id="sidebar" class="sidebar">
<div id="search" class="domain-search module">
{include file="admin/include/leftmenu.html"}
</div>
</aside>
<section id="main">
<div id="main-content">
<div class="record-control">
<div class="flash-message"></div>
<ul class="tabs">
<li class="active"><a href="javascript:;">管理员列表</a></li>
<div style="display:inline-block;float: right;">
@ -88,14 +93,17 @@
data: data,
dataType: 'json',
success: function (response) {
alert(response.info);
if (response.status == true) {
window.location.reload();
showAlert('操作成功', window.location.href)
return true;
}
if (response.data.code == 40002) {
window.location.href = "/admin/login";
if(response.data.code == 40002){
showAlert('请登录','/admin/login')
return true;
}
showAlert(response.info)
},
error: function (xhr, status, error) {
console.error('错误:', response);

Loading…
Cancel
Save