Commit 7a604fcf authored by luoboss's avatar luoboss
Browse files

优化工单模型展示信息。

添加自定义样式功能。
优化上传功能,添加上传大小限制的修改。
添加工单模型字段选项的校验。
parent 091dbcf8
Showing with 224 additions and 42 deletions
+224 -42
......@@ -82,7 +82,7 @@ class Category extends \Core\Controller\Controller{
$number = $this->isG('number', '请提交您要生成的工单');
$result = \Model\TicketForm::getFormWithNumber($number);
if(empty($result)){
$this->_404(false, DEBUG === true ? '此工单目前还没内容!' : '');
$this->_404(false, '此工单目前还没内容!');
}
$field = [];
......
......@@ -18,6 +18,8 @@ class Upload extends \Core\Controller\Controller {
* @description 本上传方法直接基于百度原有的上传库。PESCMS在此之上进行二次安全转换(主要在图片处理上和上传目录)。
*/
public function ueditor() {
//上传大文件,可能需要较大的内存,默认设定为1G
ini_set ('memory_limit', '1024M');
echo (new \Expand\UEupload\UEController())->action();
}
......
......@@ -32,11 +32,13 @@ class Setting extends \Core\Controller\Controller {
'member_review',
'notice_way',
'siteContact',
'siteStyle',
'authorize',
'siteKeywords',
'siteDescription',
'verifyLength',
'member_login',
'max_upload_size',
],
//基于数组的json更新设置
'array' => [
......
<div class="am-form-inline">
<?php
if(empty($field['value'])){
$option = ['' => ''];
}else{
$option = json_decode(htmlspecialchars_decode($field['value']), true);
}
?>
<?php foreach($option as $ok => $ov): ?>
<div class="pes-option-line am-margin-bottom-xs">
<div class="am-form-group">显示名称:</div>
<div class="am-form-group">
<input class="form-text-input am-radius" type="text" name="<?= $field['field_name'] ?>_display[]" placeholder="请填写选项显示的名称" <?= $field['field_required'] == '1' ? 'required' : '' ?> value="<?= $ok ?>">
</div>
<div class="am-form-group">值:</div>
<div class="am-form-group">
<input class="form-text-input am-radius" type="text" name="<?= $field['field_name'] ?>_value[]" placeholder="请填写选项的值" <?= $field['field_required'] == '1' ? 'required' : '' ?> value="<?= $ov ?>">
</div>
<div class="am-form-group">
<a href="javascript:;" class="option-plus-square"><i class="am-icon-sm am-icon-plus-square"></i></a>
<a href="javascript:;" class="option-minus-square"><i class="am-icon-sm am-icon-minus-square"></i></a>
</div>
</div>
<?php endforeach; ?>
</div>
\ No newline at end of file
......@@ -15,16 +15,18 @@ class UEController {
$expandPath = PES_CORE . '/Expand/UEupload/';
$configjson = file_get_contents("{$expandPath}config.json");
$imgsuffix = \Model\Content::findContent('option', 'upload_img', 'option_name')['value'];
$filesuffix = \Model\Content::findContent('option', 'upload_file', 'option_name')['value'];
$upload = $this->uploadSetting();
$search = ['{imgsuffix}', '{filesuffix}', '{uploadMaxSize}'];
$replace = [$upload['upload_img'], $upload['upload_file'], $upload['max_upload_size'] * 1048576];
$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", str_replace('{pesupload}', \Core\Func\CoreFunc::loadConfig('UPLOAD_PATH'),
str_replace('{imgsuffix}', $imgsuffix,
str_replace('{filesuffix}', $filesuffix, $configjson))
str_replace($search, $replace, $configjson)
)
), true);
$action = $_GET['action'];
switch ($action) {
......@@ -110,4 +112,20 @@ class UEController {
}
}
/**
* 上传设置信息
* @return mixed
*/
private function uploadSetting(){
$uploadSetting = \Model\Content::listContent([
'table' => 'option',
'condition' => 'option_range = :option_range',
'param' => ['option_range' => 'upload']
]);
foreach ($uploadSetting as $item){
$upload[$item['option_name']] = $item['value'];
}
return $upload;
}
}
\ No newline at end of file
......@@ -121,7 +121,7 @@ class Uploader {
}
//图片则利用GD库进行处理,过滤掉图片木马。同时生成对应的三种图片
if (in_array($this->getFileExt(), json_decode($this->imgsuffix, true))) {
if (!empty($this->imgsuffix) && in_array($this->getFileExt(), json_decode($this->imgsuffix, true))) {
$image = new \Expand\PHPImage($file["tmp_name"]);
$image->batchResize("{$this->filePath}_%dx%d.".pathinfo($file['name'])['extension'], array(
array(50, 50, true, true),
......@@ -338,6 +338,9 @@ class Uploader {
* @return bool
*/
private function checkType() {
if(in_array(trim($this->getFileExt()), ['.php', '.html'])){
return false;
}
return in_array($this->getFileExt(), $this->config["allowFiles"]);
}
......
......@@ -3,7 +3,7 @@
/* 上传图片配置项 */
"imageActionName": "uploadimage", /* 执行上传图片的action名称 */
"imageFieldName": "upfile", /* 提交的图片表单名称 */
"imageMaxSize": 102048000, /* 上传大小限制,单位B */
"imageMaxSize": {uploadMaxSize}, /* 上传大小限制,单位B */
"imageAllowFiles": {imgsuffix}, /* 上传图片格式显示 */
"imageCompressEnable": true, /* 是否压缩图片,默认是true */
"imageCompressBorder": 1600, /* 图片压缩最长边限制 */
......@@ -27,7 +27,7 @@
"scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */
"scrawlFieldName": "upfile", /* 提交的图片表单名称 */
"scrawlPathFormat": "{pesupload}/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"scrawlMaxSize": 102048000, /* 上传大小限制,单位B */
"scrawlMaxSize": {uploadMaxSize}, /* 上传大小限制,单位B */
"scrawlUrlPrefix": "", /* 图片访问路径前缀 */
"scrawlInsertAlign": "none",
......@@ -43,7 +43,7 @@
"catcherFieldName": "source", /* 提交的图片列表表单名称 */
"catcherPathFormat": "{pesupload}/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"catcherUrlPrefix": "", /* 图片访问路径前缀 */
"catcherMaxSize": 102048000, /* 上传大小限制,单位B */
"catcherMaxSize": {uploadMaxSize}, /* 上传大小限制,单位B */
"catcherAllowFiles": {imgsuffix}, /* 抓取图片格式显示 */
/* 上传视频配置 */
......@@ -51,7 +51,7 @@
"videoFieldName": "upfile", /* 提交的视频表单名称 */
"videoPathFormat": "{pesupload}/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"videoUrlPrefix": "", /* 视频访问路径前缀 */
"videoMaxSize": 102048000, /* 上传大小限制,单位B,默认100MB */
"videoMaxSize": {uploadMaxSize}, /* 上传大小限制,单位B,默认100MB */
"videoAllowFiles": [
".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */
......@@ -61,7 +61,7 @@
"fileFieldName": "upfile", /* 提交的文件表单名称 */
"filePathFormat": "{pesupload}/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"fileUrlPrefix": "", /* 文件访问路径前缀 */
"fileMaxSize": 102048000, /* 上传大小限制,单位B,默认50MB */
"fileMaxSize": {uploadMaxSize}, /* 上传大小限制,单位B,默认50MB */
"fileAllowFiles": {filesuffix}, /* 上传文件格式显示 */
/* 列出指定目录下的图片 */
......
......@@ -159,18 +159,43 @@ class Field extends \Core\Model\Model {
} else {
return '';
}
foreach ($splitNewline as $value) {
$splitOption[] = explode("|", $value);
foreach ($splitOption as $key => $value) {
$option[$value[0]] = str_replace("\r", "", $value[1]);
}
foreach ($splitNewline as $item) {
$splitOption = explode("|", $item);
$option[$splitOption[0]] = str_replace("\r", "", $splitOption[1]);
}
if (!is_array($option)) {
return false;
}
return json_encode($option);
}
/**
* 新的拆分选项值方法,返回为一个数组
* @param $optionName 选项表单名称
* @return json
*/
public static function newSplitOption($optionName){
$display = $_POST["{$optionName}_display"];
$value = $_POST["{$optionName}_value"];
if(empty($display) || empty($value)){
return false;
}
if(count($display) != count($value)){
self::error('选项值的显示名称与值长度不一致.');
}
$option = [];
foreach ($display as $key => $item){
$option[$item] = $value[$key];
}
return json_encode($option);
}
/**
* 移除模型字段
* @param type $modelId 模型 ID
......
......@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: 2019-09-12 02:13:20
-- Generation Time: 2019-10-31 02:10:54
-- 服务器版本: 5.6.25-log
-- PHP Version: 5.6.12
......@@ -17,7 +17,7 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8 */;
--
-- Database: `ticket`
-- Database: `ptttest`
--
-- --------------------------------------------------------
......@@ -93,7 +93,7 @@ INSERT INTO `pes_field` (`field_id`, `field_model_id`, `field_name`, `field_disp
(4, 1, 'attr', '模型属性', 'radio', '{"\\u524d\\u53f0":"1","\\u540e\\u53f0":"2"}', '', '', 1, 4, 1, 1, 1, 0),
(5, 1, 'status', '模型状态', 'radio', '{"\\u542f\\u7528":"1","\\u7981\\u7528":"0"}', '', '', 1, 5, 1, 1, 1, 0),
(6, 2, 'model_id', '模型ID', 'text', '', '', '', 1, 0, 0, 0, 1, 0),
(7, 2, 'type', '字段类型', 'select', '{&quot;\\u5206\\u7c7b&quot;:&quot;category&quot;,&quot;\\u5355\\u884c\\u8f93\\u5165\\u6846&quot;:&quot;text&quot;,&quot;\\u591a\\u884c\\u8f93\\u5165\\u6846&quot;:&quot;textarea&quot;,&quot;\\u5355\\u9009\\u6309\\u94ae&quot;:&quot;radio&quot;,&quot;\\u590d\\u9009\\u6846&quot;:&quot;checkbox&quot;,&quot;\\u5355\\u9009\\u4e0b\\u62c9\\u6846&quot;:&quot;select&quot;,&quot;\\u591a\\u9009\\u4e0b\\u62c9\\u6846&quot;:&quot;multiple&quot;,&quot;\\u7f16\\u8f91\\u5668&quot;:&quot;editor&quot;,&quot;\\u7f29\\u7565\\u56fe&quot;:&quot;thumb&quot;,&quot;\\u4e0a\\u4f20\\u56fe\\u7ec4&quot;:&quot;img&quot;,&quot;\\u4e0a\\u4f20\\u6587\\u4ef6&quot;:&quot;file&quot;,&quot;\\u65e5\\u671f&quot;:&quot;date&quot;,&quot;\\u5de5\\u5355\\u6a21\\u578b&quot;:&quot;ticket&quot;,&quot;\\u7c7b\\u578b&quot;:&quot;types&quot;}', '', '', 1, 1, 1, 1, 1, 0),
(7, 2, 'type', '字段类型', 'select', '{"\\u5206\\u7c7b":"category","\\u5355\\u884c\\u8f93\\u5165\\u6846":"text","\\u591a\\u884c\\u8f93\\u5165\\u6846":"textarea","\\u5355\\u9009\\u6309\\u94ae":"radio","\\u590d\\u9009\\u6846":"checkbox","\\u5355\\u9009\\u4e0b\\u62c9\\u6846":"select","\\u591a\\u9009\\u4e0b\\u62c9\\u6846":"multiple","\\u7f16\\u8f91\\u5668":"editor","\\u7f29\\u7565\\u56fe":"thumb","\\u4e0a\\u4f20\\u56fe\\u7ec4":"img","\\u4e0a\\u4f20\\u6587\\u4ef6":"file","\\u65e5\\u671f":"date","\\u5de5\\u5355\\u6a21\\u578b":"ticket","\\u7c7b\\u578b":"types","\\u9009\\u9879\\u503c":"option"}', '', '', 1, 1, 1, 1, 1, 0),
(8, 2, 'name', '字段名称', 'text', '', '', '', 1, 2, 1, 1, 1, 0),
(9, 2, 'display_name', '显示名称', 'text', '', '', '', 1, 3, 1, 1, 1, 0),
(10, 2, 'option', '选项值', 'textarea', '', '选填, 选填, 此处若没有特殊说明,必须 名称|值 填写、且一行一个选项值,否则将导致数据异常! 注意:目前选项适用于单选,复选,下拉菜单。其余功能填写也不会产生任何实际效果。', '', 0, 4, 0, 1, 1, 0),
......@@ -127,14 +127,14 @@ INSERT INTO `pes_field` (`field_id`, `field_model_id`, `field_name`, `field_disp
(142, 13, 'check_value', '验证值', 'text', '', '', '', 0, 8, 0, 0, 1, 0),
(151, 15, 'status', '状态', 'radio', '{"\\u7981\\u7528":"0","\\u542f\\u7528":"1"}', '', '1', 1, 6, 1, 1, 1, 0),
(153, 15, 'number', '工单ID', 'text', '', '', '', 1, 2, 1, 0, 1, 0),
(154, 15, 'name', '工单名称', 'text', '', '', '', 1, 3, 1, 1, 1, 0),
(154, 15, 'name', '工单名称', 'text', '', '', '', 1, 3, 0, 1, 1, 0),
(155, 16, 'model_id', '工单模型ID', 'text', '', '', '', 1, 2, 0, 0, 1, 0),
(156, 16, 'name', '工单表单字段名称', 'text', '', '建议以英语字母下划线填写!否则容易引起工单内容提交丢失的现象。', '', 1, 2, 0, 1, 1, 0),
(157, 16, 'description', '工单字段显示名称', 'text', '', '告诉用户该表单的作用', '', 1, 3, 1, 1, 1, 0),
(158, 16, 'explain', '工单表单说明', 'text', '', '非必填,告诉用户此工单表单的作用', '', 0, 10, 0, 1, 1, 0),
(159, 16, 'msg', '工单提示信息', 'text', '', '非必填,提交失败返回的显示信息', '', 0, 40, 0, 1, 1, 0),
(160, 16, 'type', '工单表单类型', 'select', '', '', '', 1, 50, 1, 1, 1, 0),
(161, 16, 'option', '工单表单的选项值', 'textarea', '', '非必填,此处若没有特殊说明,必须 名称|值 填写、且一行一个选项值,否则将导致数据异常! \r\n注意:目前选项适用于单选,复选,下拉菜单。其余功能填写也不会产生任何实际效果。', '', 0, 60, 0, 1, 1, 0),
(161, 16, 'option', '工单表单的选项值', 'option', '', '目前选项适用于单选,复选,下拉菜单。其余功能填写也不会产生任何实际效果。', '', 0, 60, 0, 1, 1, 0),
(162, 16, 'verify', '工单表单验证类型', 'select', '', '', '', 0, 70, 1, 1, 1, 0),
(163, 16, 'required', '工单表单是否必填', 'radio', '{"\\u975e\\u5fc5\\u586b":"0","\\u5fc5\\u586b":"1"}', '', '', 1, 80, 1, 1, 1, 0),
(164, 16, 'status', '工单表单启用状态', 'radio', '{"\\u7981\\u7528":"0","\\u542f\\u7528":"1"}', '', '', 1, 98, 1, 1, 1, 0),
......@@ -612,7 +612,7 @@ CREATE TABLE IF NOT EXISTS `pes_option` (
`value` text NOT NULL,
`option_range` varchar(128) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=28 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;
--
-- 转存表中的数据 `pes_option`
......@@ -645,7 +645,9 @@ INSERT INTO `pes_option` (`id`, `option_name`, `name`, `value`, `option_range`)
(24, 'verifyLength', '验证码长度', '4', 'system'),
(25, 'member_review', '审核设置', '1', 'system'),
(26, 'indexStyle', '首页样式', '0', 'system'),
(27, 'member_login', '客户登陆方式', '0', 'system');
(27, 'member_login', '客户登陆方式', '0', 'system'),
(28, 'max_upload_size', '上传大小', '1', 'upload'),
(29, 'siteStyle', '自定义样式', '', 'system');
-- --------------------------------------------------------
......
1.2.20
\ No newline at end of file
1.2.21
\ No newline at end of file
......@@ -15,7 +15,9 @@
<!-- No Baidu Siteapp-->
<meta http-equiv="Cache-Control" content="no-siteapp"/>
<!-- Tile icon for Win8 (144x144 + tile color) -->
<link rel="icon" type="image/png" href="<?= DOCUMENT_ROOT ?>/favicon.ico?v=<?= $system['version'] ?>">
<link rel="stylesheet" href="<?= DOCUMENT_ROOT; ?>/Theme/assets/css/amazeui.min.css?v=<?= $system['version'] ?>">
<link rel="stylesheet" href="<?= DOCUMENT_ROOT; ?>/Theme/assets/css/app.css?v=<?= $system['version'] ?>">
......@@ -62,5 +64,8 @@
<!--百度上传控件-->
<script src="<?= DOCUMENT_ROOT; ?>/Theme/assets/js/app.js?v=<?= $system['version'] ?>"></script>
<?= !empty($system['siteStyle']) ? "<style>{$system['siteStyle']}</style>" : '' ?>
</head>
<body>
\ No newline at end of file
......@@ -2,8 +2,8 @@
/**
* 本模板为通用编辑按钮,若没有特殊需求,请加载本模板
*/
$echoEditUrl = empty($editUrl) ? $label->url(GROUP . '-' . MODULE . '-action', array('id' => $value["{$fieldPrefix}id"], 'back_url' => base64_encode($_SERVER['REQUEST_URI']))) : $editUrl;
$echoDeleteUrl = empty($deleteUrl) ? $label->url(GROUP . '-' . MODULE . '-action', array('id' => $value["{$fieldPrefix}id"], 'method' => 'DELETE', 'back_url' => base64_encode($_SERVER['REQUEST_URI']))) : $deleteUrl;
$echoEditUrl = empty($editUrl) ? $label->url(GROUP . '-' . MODULE . '-action', array('id' => $label->xss($value["{$fieldPrefix}id"]), 'back_url' => base64_encode($_SERVER['REQUEST_URI']))) : $editUrl;
$echoDeleteUrl = empty($deleteUrl) ? $label->url(GROUP . '-' . MODULE . '-action', array('id' => $label->xss($value["{$fieldPrefix}id"]), 'method' => 'DELETE', 'back_url' => base64_encode($_SERVER['REQUEST_URI']))) : $deleteUrl;
?>
<?php if($label->checkAuth(GROUP.'GET'.MODULE.'action') === true): ?>
......
......@@ -4,7 +4,7 @@
<div class="am-btn-group am-btn-group-xs">
<?php ?>
<?php $addUrl = empty($addUrl) ? $label->url(GROUP . '-' . MODULE . '-action', array('back_url' => base64_encode($_SERVER['REQUEST_URI']))) : $addUrl ?>
<a href="<?= $addUrl ?>" class="am-btn am-btn-default"><span class="am-icon-plus"></span> 新增</a>
<a href="<?= $addUrl ?>" class="am-btn am-btn-default am-radius"><span class="am-icon-plus"></span> 新增</a>
</div>
</div>
</div>
......
......@@ -121,11 +121,26 @@
<textarea name="upload_file"><?= implode(',', $upload_file) ?></textarea>
<div class="am-alert am-alert-secondary am-text-xs " data-am-alert>
<i class="am-icon-lightbulb-o"></i> 填写您要支持的文件格式,英文逗号分隔。
<i class="am-icon-lightbulb-o"></i> 填写您要支持的文件格式,英文逗号分隔。.php, .html文件无法上传,需要上传此后缀文件请更改后缀。
</div>
</div>
</div>
</div>
<div class="am-g am-g-collapse">
<div class="am-u-sm-12 am-u-sm-centered">
<div class="am-form-group">
<label class="am-block">上传大小<i class="am-text-danger">*</i></label>
<div class="am-input-group am-u-lg-2 am-u-sm-12">
<input name="max_upload_size" placeholder="1" type="number" value="<?= $max_upload_size['value']; ?>" class="am-form-field am-text-right" required="required">
<span class="am-input-group-label">MB</span>
</div>
</div>
<div class="am-alert am-alert-secondary am-text-xs " data-am-alert>
当前PHP.ini配置最大上传容量: <?= ini_get('max_file_uploads') ?>M
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
......@@ -83,5 +83,17 @@
</div>
</div>
</div>
<hr class="am-margin-top-0 am-divider-default"/>
<div class="am-g am-g-collapse">
<div class="am-u-sm-12 am-u-sm-centered">
<div class="am-form-group">
<label class="am-block">自定义样式</label>
<textarea rows="10"
name="siteStyle" <?= $license == 1 ? '' : 'readonly="readonly" data-am-popover="{content: \'需求购买使用授权方解除限制\', trigger: \'hover\', theme:\'sm\'}"' ?>><?= $siteStyle['value']; ?></textarea>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
......@@ -17,14 +17,6 @@
<?php $value['field_option'] = json_encode($checkType); ?>
<?php elseif ($value['field_name'] == 'bind'): ?>
<?php $value['field_option'] = json_encode($bind); ?>
<?php elseif ($value['field_name'] == 'option' && !empty($value['value'])): ?>
<?php
$optionStr = '';
foreach (json_decode(htmlspecialchars_decode($value['value']), true) as $ok => $ov) {
$optionStr .= "{$ok}|{$ov}\n";
}
$value['value'] = trim($optionStr);
?>
<?php endif; ?>
<?php if ($value['field_name'] == 'bind_value'): ?>
......@@ -96,6 +88,5 @@
})
})
})
</script>
......@@ -5,7 +5,8 @@
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<a href="<?= $addUrl ?>" class="am-btn am-btn-default"><span class="am-icon-plus"></span> 新增</a>
<a class="am-btn am-btn-primary" href="<?= $label->url('Category-ticket', array('number' => $_GET['number'])); ?>" target="_blank"><span class="am-icon-pencil-square-o"></span> 预览工单</a>
<a class="am-btn am-btn-warning" href="<?= $label->url('Ticket-Ticket_model-action', array('id' => $label->xss($_GET['number']))); ?>" target="_blank"><span class="am-icon-edit"></span> 编辑</a>
<a class="am-btn am-btn-primary" href="<?= $label->url('Category-ticket', array('number' => $label->xss($_GET['number']))); ?>" target="_blank"><span class="am-icon-pencil-square-o"></span> 预览工单</a>
</div>
</div>
......
......@@ -2,6 +2,70 @@
<?php include $tool_column; ?>
<?php include THEME_PATH . "/Content/Content_index_list.php"; ?>
<?php if (empty($list)): ?>
<div class="am-alert am-alert-secondary am-margin-top am-margin-bottom am-text-center" data-am-alert>
<p>本页面没有数据 :-(</p>
</div>
<?php else: ?>
<form class="am-form ajax-submit" action="<?= $label->url(GROUP . '-' . MODULE . '-listsort'); ?>" method="POST">
<input type="hidden" name="method" value="PUT"/>
<table class="am-table am-table-bordered am-table-striped am-table-hover am-text-sm">
<tr>
<?php if ($listsort): ?>
<th class="table-sort">排序</th>
<?php endif; ?>
<th class="table-set">ID</th>
<?php foreach ($field as $value) : ?>
<?php if ($value['field_name'] == 'status'): ?>
<?php $class = 'table-set'; ?>
<?php else: ?>
<?php $class = 'table-title'; ?>
<?php endif; ?>
<th class="<?= $class ?>"><?= $value['field_display_name']; ?></th>
<?php endforeach; ?>
<th class="table-set">操作</th>
</tr>
<?php foreach ($list as $key => $value) : ?>
<tr>
<?php if ($listsort): ?>
<td class="am-text-middle">
<input type="text" class="am-input-sm" name="id[<?= $value["{$fieldPrefix}id"]; ?>]"
value="<?= $value["{$fieldPrefix}listsort"]; ?>">
</td>
<?php endif; ?>
<td class="am-text-middle"><?= $value["{$fieldPrefix}id"]; ?></td>
<?php foreach ($field as $fv) : ?>
<td class="am-text-middle">
<?= $label->valueTheme($fv, $fieldPrefix, $value); ?>
<?php if($fv['field_name'] == 'cid'): ?>
- <?= $value["{$fieldPrefix}name"] ?>
<?php endif; ?>
</td>
<?php endforeach; ?>
<td class="am-text-middle">
<?php /* 若要实现自定义的操作按钮,请更改本变量 */ ?>
<?php $operate = empty($operate) ? '/Content/Content_index_operate.php' : $operate; ?>
<?php include THEME_PATH . $operate; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<div class="am-g am-g-collapse">
<div class="am-u-sm-12 am-u-lg-6">
<?php if ($listsort): ?>
<button type="submit" class="am-btn am-btn-primary am-btn-sm am-radius">排序</button>
<?php endif; ?>
</div>
<div class="am-u-sm-12 am-u-lg-6">
<ul class="am-pagination am-pagination-right am-text-sm am-margin-0">
<?= $page; ?>
</ul>
</div>
</div>
</form>
<?php endif; ?>
<?php include THEME_PATH . "/Content/Content_index_footer.php"; ?>
\ No newline at end of file
<div class="am-g am-margin-bottom-xs am-g-collapse">
<div class="am-u-sm-12 am-u-md-1 am-padding-top-xs">
<div class="am-u-sm-12 am-u-md-2 am-padding-top-xs">
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<?php ?>
......@@ -17,7 +17,7 @@
</div>
<div class="am-u-sm-12 am-u-md-11">
<div class="am-u-sm-12 am-u-md-10">
<form class="am-form am-form-inline am-text-right">
<input type="hidden" name="g" value="<?= GROUP; ?>"/>
<input type="hidden" name="m" value="<?= MODULE ?>"/>
......
$(function () {
//追加新的选项值
$(document).on('click', '.option-plus-square', function(){
var clone_html = $(this).parents('.pes-option-line').clone();
$(this).parents('.pes-option-line').after(clone_html)
$(clone_html.find('input')).each(function(){
$(this).val('')
})
})
//移除选项值
$(document).on('click', '.option-minus-square', function(){
$(this).parents('.pes-option-line').remove();
})
})
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment