第一版后台测试
This commit is contained in:
parent
aa0df7d015
commit
cc045787ca
|
|
@ -8,8 +8,202 @@ use app\bj\controller\Common;
|
|||
use think\Log;
|
||||
use \think\Validate;
|
||||
|
||||
class Card extends Controller{
|
||||
public function demo(){
|
||||
echo '你好';
|
||||
class Card extends Base{
|
||||
protected $page_num = 10;
|
||||
protected $file_max = 1024*1024*5;//xxxMB
|
||||
public function index($page = 1){
|
||||
$data = input();
|
||||
$pd = true;
|
||||
$parameter = [];
|
||||
// $parameter['is_del'] = 0;
|
||||
if(array_key_exists('tt', $data)){
|
||||
$page = $data['page_num'];
|
||||
unset($data['page_num']);
|
||||
unset($data['tt']);
|
||||
$pd = false;
|
||||
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
|
||||
// $parameter['is_del'] = $data['status_num'];
|
||||
// }
|
||||
|
||||
// if($data['tel']){
|
||||
// $parameter['tel'] = $data['tel'];
|
||||
// }
|
||||
// if($data['email']){
|
||||
// $parameter['email'] = $data['email'];
|
||||
// }
|
||||
// if($data['s_time']){
|
||||
// $parameter['create_time'] = ['>=',$data['s_time']];
|
||||
// }
|
||||
// if($data['e_time']){
|
||||
// $parameter['create_time'] = ['<=',$data['e_time']];
|
||||
// }
|
||||
}
|
||||
$num = Db::table('app_card_data')->where($parameter)->count();
|
||||
$result = Db::table('app_card_data')->where($parameter)->order('is_del,id desc')->page($page,$this->page_num)->select();
|
||||
if(!$pd){
|
||||
$result['num'] = $num;
|
||||
$result['data'] = $result;
|
||||
return $this->msg(0,'success',$result);
|
||||
}
|
||||
$this->assign([
|
||||
'result' => $result,
|
||||
'num' => $num,
|
||||
]);
|
||||
return $this->fetch();
|
||||
}
|
||||
public function card_add(){
|
||||
return $this->fetch();
|
||||
}
|
||||
public function card_add_action(){
|
||||
$file = request()->file('upload_file_app');
|
||||
$data = request()->param();
|
||||
$num = Db::table('app_card_data')->where(['name'=>$data['card_name']])->count();
|
||||
|
||||
if($num > 0){
|
||||
return $this->msg(10001,'卡片已存在');
|
||||
}
|
||||
if($file){
|
||||
// 移动到框架应用根目录/public/uploads/ 目录下
|
||||
$file_name_new = $data['card_name'].'_'.time().'.'.$data['file_extension'];
|
||||
$info = $file->validate(['size'=>$this->file_max,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'card',$file_name_new);
|
||||
if($info){
|
||||
$result = Db::table('app_card_data')->insert([
|
||||
'name'=>$data['card_name'],
|
||||
'content'=>$data['content'],
|
||||
'create_time'=>date('Y-m-d H:i:s'),
|
||||
'pic'=>'http://tc.pcxbc.com/card/'.$file_name_new,
|
||||
'page_url_record'=>$data['page_url_record'],
|
||||
'page_url_report'=>$data['page_url_report'],
|
||||
'page_url_bluetooth'=>$data['page_url_bluetooth'],
|
||||
|
||||
]);
|
||||
if($result){
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
// 成功上传后 获取上传信息
|
||||
// 输出 jpg
|
||||
// echo $info->getExtension();
|
||||
// // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getSaveName();
|
||||
// // 输出 42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getFilename();
|
||||
}else{
|
||||
// 上传失败获取错误信息
|
||||
return $this->msg(10001, $file->getError());
|
||||
// echo $file->getError();
|
||||
}
|
||||
}else{
|
||||
return $this->msg(10001, '文件缺失');
|
||||
}
|
||||
|
||||
}
|
||||
public function card_edit(){
|
||||
$data = input();
|
||||
|
||||
$result = Db::table('app_card_data')->where(['id'=>$data['id']])->find();
|
||||
// dump($result);
|
||||
// die;
|
||||
$this->assign([
|
||||
'result' => $result
|
||||
]);
|
||||
return $this->fetch();
|
||||
}
|
||||
public function card_edit_action(){
|
||||
$file = request()->file('upload_file_app');
|
||||
$data = request()->param();
|
||||
$check_data = Db::table('app_card_data')->where(['id'=>$data['id']])->find();
|
||||
// dump($check_data);
|
||||
// dump($data);
|
||||
// die;
|
||||
if(!$check_data){
|
||||
return $this->msg(10001,'修改数据不存在');
|
||||
}
|
||||
if($file){
|
||||
// 移动到框架应用根目录/public/uploads/ 目录下
|
||||
$file_name_new = $data['card_name'].'_'.time().'.'.$data['file_extension'];
|
||||
$info = $file->validate(['size'=>$this->file_max,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'card',$file_name_new);
|
||||
if($info){
|
||||
$result = Db::table('app_card_data')->where(['id'=>$data['id']])->update([
|
||||
'name'=>$data['card_name'],
|
||||
'content'=>$data['content'],
|
||||
'pic'=>'http://tc.pcxbc.com/card/'.$file_name_new,
|
||||
'page_url_record'=>$data['page_url_record'],
|
||||
'page_url_report'=>$data['page_url_report'],
|
||||
'page_url_bluetooth'=>$data['page_url_bluetooth'],
|
||||
|
||||
]);
|
||||
|
||||
if($result){
|
||||
$file_name = basename($check_data['pic']);
|
||||
$filePath = ROOT_PATH . 'public' . DS . 'card' . DS . $file_name; // ROOT_PATH 是框架定义的根目录路径常量
|
||||
if (file_exists($filePath)) {
|
||||
if (unlink($filePath)) {
|
||||
// 删除成功
|
||||
// echo '文件删除成功!';
|
||||
} else {
|
||||
// 删除失败
|
||||
// echo '文件删除失败!';
|
||||
}
|
||||
} else {
|
||||
// 文件不存在
|
||||
// echo '文件不存在!';
|
||||
}
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
// 成功上传后 获取上传信息
|
||||
// 输出 jpg
|
||||
// echo $info->getExtension();
|
||||
// // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getSaveName();
|
||||
// // 输出 42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getFilename();
|
||||
}else{
|
||||
// 上传失败获取错误信息
|
||||
return $this->msg(10001, $file->getError());
|
||||
// echo $file->getError();
|
||||
}
|
||||
}else{
|
||||
$result = Db::table('app_card_data')->where(['id'=>$data['id']])->update([
|
||||
'name'=>$data['card_name'],
|
||||
'content'=>$data['content'],
|
||||
'page_url_record'=>$data['page_url_record'],
|
||||
'page_url_report'=>$data['page_url_report'],
|
||||
'page_url_bluetooth'=>$data['page_url_bluetooth'],
|
||||
]);
|
||||
|
||||
if($result){
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function card_del(){
|
||||
$data = input();
|
||||
if(is_array($data['id'])){
|
||||
$data['id'] = implode(',',$data['id']);
|
||||
$result = Db::table('app_card_data')->where("id in (".$data['id'].")")->update(['is_del'=>$data['is_del']]);
|
||||
}else{
|
||||
$result = Db::table('app_card_data')->where(['id'=>$data['id']])->update(['is_del'=>$data['is_del']]);
|
||||
}
|
||||
|
||||
if($result){
|
||||
return $this->msg(0,'success');
|
||||
}else{
|
||||
return $this->msg(10001,'success');
|
||||
}
|
||||
|
||||
// $num = Db::table('app_version_log')->where(['id'=>$data['id']])->update(['is_del'=>1]);
|
||||
// if($num){
|
||||
// return $this->msg([]);
|
||||
// }else{
|
||||
// return $this->msg(10002);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use think\Controller;
|
||||
use think\Db;
|
||||
use app\bj\controller\Common;
|
||||
use think\Log;
|
||||
use \think\Validate;
|
||||
|
||||
class Device extends Base{
|
||||
protected $page_num = 10;
|
||||
protected $file_max = 1024*1024*5;//xxxMB
|
||||
public function index($page = 1){
|
||||
$data = input();
|
||||
$pd = true;
|
||||
$parameter = [];
|
||||
// $parameter['is_del'] = 0;
|
||||
if(array_key_exists('tt', $data)){
|
||||
$page = $data['page_num'];
|
||||
unset($data['page_num']);
|
||||
unset($data['tt']);
|
||||
$pd = false;
|
||||
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
|
||||
// $parameter['is_del'] = $data['status_num'];
|
||||
// }
|
||||
|
||||
// if($data['tel']){
|
||||
// $parameter['tel'] = $data['tel'];
|
||||
// }
|
||||
// if($data['email']){
|
||||
// $parameter['email'] = $data['email'];
|
||||
// }
|
||||
// if($data['s_time']){
|
||||
// $parameter['create_time'] = ['>=',$data['s_time']];
|
||||
// }
|
||||
// if($data['e_time']){
|
||||
// $parameter['create_time'] = ['<=',$data['e_time']];
|
||||
// }
|
||||
}
|
||||
$num = Db::table('app_device_data')->where($parameter)->count();
|
||||
$result = Db::table('app_device_data')->where($parameter)->order('is_del,id desc')->page($page,$this->page_num)->select();
|
||||
if(!$pd){
|
||||
$result['num'] = $num;
|
||||
$result['data'] = $result;
|
||||
return $this->msg(0,'success',$result);
|
||||
}
|
||||
$this->assign([
|
||||
'result' => $result,
|
||||
'num' => $num,
|
||||
]);
|
||||
return $this->fetch();
|
||||
}
|
||||
public function device_add(){
|
||||
return $this->fetch();
|
||||
}
|
||||
public function device_add_action(){
|
||||
$file = request()->file('upload_file_app');
|
||||
$data = request()->param();
|
||||
$num = Db::table('app_device_data')->where(['name'=>$data['device_name'],'bluetooth_type'=>$data['bluetooth_type'],'device_model'=>$data['device_model']])->count();
|
||||
if($num > 0){
|
||||
return $this->msg(10001,'设备已存在');
|
||||
}
|
||||
if($file){
|
||||
// 移动到框架应用根目录/public/uploads/ 目录下
|
||||
$file_name_new = $data['device_model'].$data['bluetooth_type'].'_'.time().'.'.$data['file_extension'];
|
||||
$info = $file->validate(['size'=>$this->file_max,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'device',$file_name_new);
|
||||
if($info){
|
||||
$result = Db::table('app_device_data')->insert([
|
||||
'name'=>$data['device_name'],
|
||||
'content'=>$data['content'],
|
||||
'create_time'=>date('Y-m-d H:i:s'),
|
||||
'pic'=>'http://tc.pcxbc.com/device/'.$file_name_new,
|
||||
'bluetooth_type'=>$data['bluetooth_type'],
|
||||
'device_model'=>$data['device_model'],
|
||||
'page_measure'=>$data['page_measure'],
|
||||
|
||||
]);
|
||||
if($result){
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
// 成功上传后 获取上传信息
|
||||
// 输出 jpg
|
||||
// echo $info->getExtension();
|
||||
// // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getSaveName();
|
||||
// // 输出 42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getFilename();
|
||||
}else{
|
||||
// 上传失败获取错误信息
|
||||
return $this->msg(10001, $file->getError());
|
||||
// echo $file->getError();
|
||||
}
|
||||
}else{
|
||||
return $this->msg(10001, '文件缺失');
|
||||
}
|
||||
|
||||
}
|
||||
public function device_edit(){
|
||||
$data = input();
|
||||
|
||||
$result = Db::table('app_device_data')->where(['id'=>$data['id']])->find();
|
||||
// dump($result);
|
||||
// die;
|
||||
$this->assign([
|
||||
'result' => $result
|
||||
]);
|
||||
return $this->fetch();
|
||||
}
|
||||
public function device_edit_action(){
|
||||
$file = request()->file('upload_file_app');
|
||||
$data = request()->param();
|
||||
$check_data = Db::table('app_device_data')->where(['id'=>$data['id']])->find();
|
||||
// dump($check_data);
|
||||
// dump($data);
|
||||
// die;
|
||||
if(!$check_data){
|
||||
return $this->msg(10001,'修改数据不存在');
|
||||
}
|
||||
if($file){
|
||||
// 移动到框架应用根目录/public/uploads/ 目录下
|
||||
$file_name_new = $data['device_model'].$data['bluetooth_type'].'_'.time().'.'.$data['file_extension'];
|
||||
$info = $file->validate(['size'=>$this->file_max,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'device',$file_name_new);
|
||||
if($info){
|
||||
$result = Db::table('app_device_data')->where(['id'=>$data['id']])->update([
|
||||
'name'=>$data['device_name'],
|
||||
'content'=>$data['content'],
|
||||
'pic'=>'http://tc.pcxbc.com/device/'.$file_name_new,
|
||||
'bluetooth_type'=>$data['bluetooth_type'],
|
||||
'device_model'=>$data['device_model'],
|
||||
'page_measure'=>$data['page_measure'],
|
||||
]);
|
||||
|
||||
if($result){
|
||||
$file_name = basename($check_data['pic']);
|
||||
$filePath = ROOT_PATH . 'public' . DS . 'device' . DS . $file_name; // ROOT_PATH 是框架定义的根目录路径常量
|
||||
if (file_exists($filePath)) {
|
||||
if (unlink($filePath)) {
|
||||
// 删除成功
|
||||
// echo '文件删除成功!';
|
||||
} else {
|
||||
// 删除失败
|
||||
// echo '文件删除失败!';
|
||||
}
|
||||
} else {
|
||||
// 文件不存在
|
||||
// echo '文件不存在!';
|
||||
}
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
// 成功上传后 获取上传信息
|
||||
// 输出 jpg
|
||||
// echo $info->getExtension();
|
||||
// // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getSaveName();
|
||||
// // 输出 42a79759f284b767dfcb2a0197904287.jpg
|
||||
// echo $info->getFilename();
|
||||
}else{
|
||||
// 上传失败获取错误信息
|
||||
return $this->msg(10001, $file->getError());
|
||||
// echo $file->getError();
|
||||
}
|
||||
}else{
|
||||
$result = Db::table('app_device_data')->where(['id'=>$data['id']])->update([
|
||||
'name'=>$data['device_name'],
|
||||
'content'=>$data['content'],
|
||||
'bluetooth_type'=>$data['bluetooth_type'],
|
||||
'device_model'=>$data['device_model'],
|
||||
'page_measure'=>$data['page_measure'],
|
||||
]);
|
||||
|
||||
if($result){
|
||||
return $this->msg([]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function device_del(){
|
||||
$data = input();
|
||||
if(is_array($data['id'])){
|
||||
$data['id'] = implode(',',$data['id']);
|
||||
$result = Db::table('app_device_data')->where("id in (".$data['id'].")")->update(['is_del'=>$data['is_del']]);
|
||||
}else{
|
||||
$result = Db::table('app_device_data')->where(['id'=>$data['id']])->update(['is_del'=>$data['is_del']]);
|
||||
}
|
||||
|
||||
if($result){
|
||||
return $this->msg(0,'success');
|
||||
}else{
|
||||
return $this->msg(10001,'success');
|
||||
}
|
||||
|
||||
// $num = Db::table('app_version_log')->where(['id'=>$data['id']])->update(['is_del'=>1]);
|
||||
// if($num){
|
||||
// return $this->msg([]);
|
||||
// }else{
|
||||
// return $this->msg(10002);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
@ -19,15 +19,23 @@ class Login extends Controller{
|
|||
|
||||
public function login_action(){
|
||||
$data = input();
|
||||
$key_word1='教育';
|
||||
$key_word2='体测';
|
||||
// $key_word1='教育';
|
||||
// $key_word2='体测';
|
||||
// $data['name'] = md5($key_word1.$data['name'].$key_word2)
|
||||
// dump($data);
|
||||
// die;
|
||||
$result = Db::table('admin_user')->where(['user_name'=>$data['username'],'pass_word'=>$data['password']])->count();
|
||||
|
||||
if($data['name'] == 'a' && md5($key_word1.$data['password'].$key_word2) == '871365cc2db43a8f2c7544798b36ed78'){
|
||||
return $this->msg(10000,'success');
|
||||
if($result>0){
|
||||
return $this->msg(0,'success');
|
||||
}else{
|
||||
return $this->msg(10001,'error');
|
||||
}
|
||||
// if($data['name'] == 'a' && md5($key_word1.$data['password'].$key_word2) == '871365cc2db43a8f2c7544798b36ed78'){
|
||||
// return $this->msg(10000,'success');
|
||||
// }else{
|
||||
// return $this->msg(10001,'error');
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,9 +56,9 @@
|
|||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label"></label>
|
||||
<div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div>
|
||||
<!-- <input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn">
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button> -->
|
||||
<!-- <div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div> -->
|
||||
<!-- <input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn"> -->
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -105,54 +105,54 @@
|
|||
}
|
||||
});
|
||||
|
||||
$('#add').click(function(){
|
||||
function add_data(){
|
||||
if(pd === false){
|
||||
return
|
||||
}
|
||||
var formdata = new FormData();
|
||||
formdata.append('apk',$('#upload_file_app')[0].files[0])
|
||||
formdata.append('file_name',$('#file_name').val())
|
||||
formdata.append('version_num','V'+$('#version_num').val())
|
||||
formdata.append('version_num_original',$('#version_num').val())
|
||||
formdata.append('content',$('#content').val())
|
||||
// return
|
||||
if(pd){
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/appversion/app_add_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("增加成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("增加失败", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/appversion/app_add_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("增加成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("增加失败"+req.msg, {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
layui.use(['form', 'layer','jquery'],function() {
|
||||
|
|
@ -185,6 +185,8 @@
|
|||
//监听提交
|
||||
form.on('submit(add)',function(data) {
|
||||
//发异步,把数据提交给php
|
||||
console.log(5689);
|
||||
add_data()
|
||||
return false;
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,218 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>app版本管理</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script type="text/javascript" src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/jq.js"></script>
|
||||
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">
|
||||
<span class="x-red"></span>卡片图标</label>
|
||||
</label>
|
||||
<div class="layui-input-inline">
|
||||
<!-- <input type="text" id="L_email" name="email" required="" lay-verify="email" autocomplete="off" class="layui-input"> -->
|
||||
<input type="file" id="upload_file_app" lay-verify="upload_file_app" name="file_data">
|
||||
</div>
|
||||
<!-- <div class="layui-form-mid layui-word-aux">
|
||||
<span class="x-red">*</span>将会成为您唯一的登入名
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="card_name" class="layui-form-label">
|
||||
<span class="x-red"></span>卡片名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="card_name" name="card_name" required="" lay-verify="card_name" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_record" class="layui-form-label">
|
||||
<span class="x-red">*</span>手动记录路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_record" name="page_url_record" required="" lay-verify="page_url_record" autocomplete="off" class="layui-input"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_report" class="layui-form-label">
|
||||
<span class="x-red">*</span>报告页路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_report" name="page_url_report" required="" lay-verify="page_url_report" autocomplete="off" class="layui-input"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_bluetooth" class="layui-form-label">
|
||||
<span class="x-red">*</span>蓝牙路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_bluetooth" name="page_url_bluetooth" required="" lay-verify="page_url_bluetooth" autocomplete="off" class="layui-input"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="content" class="layui-form-label">
|
||||
<span class="x-red">*</span>描述</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="content" name="content" required="" lay-verify="content" autocomplete="off" class="layui-input"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label"></label>
|
||||
<!-- <div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div>
|
||||
<input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn"> -->
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var file_name_all = ''
|
||||
var file_name = ''
|
||||
var file_extension = ''
|
||||
var pd = true
|
||||
|
||||
$('#upload_file_app').on('change', function() {
|
||||
// 获取被选择的文件
|
||||
var fileInput = $(this)[0];
|
||||
var file = fileInput.files[0];
|
||||
|
||||
// 检查是否有文件被选择
|
||||
if (file) {
|
||||
// 获取文件的名称
|
||||
file_name_all = file.name;
|
||||
// 使用lastIndexOf和substring来获取文件名(不包括后缀)
|
||||
var lastIndex = file_name_all.lastIndexOf('.');
|
||||
file_name = lastIndex !== -1 ? file_name_all.substring(0, lastIndex) : file_name_all;
|
||||
// 获取文件后缀
|
||||
file_extension = lastIndex !== -1 ? file_name_all.substring(lastIndex + 1) : '';
|
||||
$('#file_name').val(file_name)
|
||||
console.log(file_name)
|
||||
console.log(file_extension)
|
||||
// formdata.append('apk',$('#upload_file_app')[0].files[0])
|
||||
}
|
||||
});
|
||||
|
||||
function add_data(){
|
||||
if(pd === false){
|
||||
return
|
||||
}
|
||||
var formdata = new FormData();
|
||||
formdata.append('upload_file_app',$('#upload_file_app')[0].files[0])
|
||||
formdata.append('card_name',$('#card_name').val())
|
||||
formdata.append('page_url_record',$('#page_url_record').val())
|
||||
formdata.append('page_url_report',$('#page_url_report').val())
|
||||
formdata.append('page_url_bluetooth',$('#page_url_bluetooth').val())
|
||||
formdata.append('content',$('#content').val())
|
||||
formdata.append('file_extension',file_extension)
|
||||
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/card/card_add_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("增加成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("增加失败"+req.msg, {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
layui.use(['form', 'layer','jquery'],function() {
|
||||
$ = layui.jquery;
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
//自定义验证规则
|
||||
form.verify({
|
||||
|
||||
upload_file_app: function(value) {
|
||||
if (value == '') {
|
||||
return '请先选择文件';
|
||||
}
|
||||
},
|
||||
card_name: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写文件名';
|
||||
}
|
||||
},
|
||||
// version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符(由数字跟英文"."组成)'],
|
||||
content: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写描述';
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(add)',function(data) {
|
||||
//发异步,把数据提交给php
|
||||
add_data()
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// });
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>app版本管理</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script type="text/javascript" src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/jq.js"></script>
|
||||
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">
|
||||
<span class="x-red"></span>卡片图标</label>
|
||||
</label>
|
||||
<div class="layui-input-inline">
|
||||
<!-- <input type="text" id="L_email" name="email" required="" lay-verify="email" autocomplete="off" class="layui-input"> -->
|
||||
<input type="file" id="upload_file_app" lay-verify="upload_file_app" name="file_data">
|
||||
</div>
|
||||
<!-- <div class="layui-form-mid layui-word-aux">
|
||||
<span class="x-red">*</span>将会成为您唯一的登入名
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="card_name" class="layui-form-label">
|
||||
<span class="x-red"></span>卡片名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="card_name" name="card_name" required="" lay-verify="card_name" autocomplete="off" class="layui-input" value="{$result.name}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_record" class="layui-form-label">
|
||||
<span class="x-red">*</span>手动记录路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_record" name="page_url_record" required="" lay-verify="page_url_record" autocomplete="off" class="layui-input" value="{$result.page_url_record}"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_report" class="layui-form-label">
|
||||
<span class="x-red">*</span>报告页路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_report" name="page_url_report" required="" lay-verify="page_url_report" autocomplete="off" class="layui-input" value="{$result.page_url_report}"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_url_bluetooth" class="layui-form-label">
|
||||
<span class="x-red">*</span>蓝牙路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_url_bluetooth" name="page_url_bluetooth" required="" lay-verify="page_url_bluetooth" autocomplete="off" class="layui-input" value="{$result.page_url_bluetooth}"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="content" class="layui-form-label">
|
||||
<span class="x-red">*</span>描述</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="content" name="content" required="" lay-verify="content" autocomplete="off" class="layui-input" value="{$result.content}"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label"></label>
|
||||
<!-- <div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div>
|
||||
<input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn"> -->
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">修改</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-fluid">
|
||||
<div id="official_1" class="layui-row">
|
||||
<div style="margin-left: 8%;margin-top: 5%;font-size: 25px;">请先下载模板文件,信息填写完成并上传该文件后点击生成</div>
|
||||
<img style="width: 90%;margin-left: 3%;"src="/uploads/code_demo.png?v=1.0" alt="">
|
||||
<div class="layui-form-item" style="width: 30%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤1:</span><a href="/uploads/code_demo.xlsx" class="layui-btn" lay-filter="add">下载模板文件</a>
|
||||
</div>
|
||||
<div class="layui-form-item" style="width: 50%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤2:</span><input type="file" id="data_excel" name="data_excel">
|
||||
</div>
|
||||
<div class="layui-form-item" style="width: 30%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤3:</span><button class="layui-btn" lay-filter="add" lay-submit="" onclick="add_data()">生成</button>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var id = "{$result.id}"
|
||||
var file_name_all = ''
|
||||
var file_name = ''
|
||||
var file_extension = ''
|
||||
var pd = true
|
||||
|
||||
$('#upload_file_app').on('change', function() {
|
||||
// 获取被选择的文件
|
||||
var fileInput = $(this)[0];
|
||||
var file = fileInput.files[0];
|
||||
|
||||
// 检查是否有文件被选择
|
||||
if (file) {
|
||||
// 获取文件的名称
|
||||
file_name_all = file.name;
|
||||
// 使用lastIndexOf和substring来获取文件名(不包括后缀)
|
||||
var lastIndex = file_name_all.lastIndexOf('.');
|
||||
file_name = lastIndex !== -1 ? file_name_all.substring(0, lastIndex) : file_name_all;
|
||||
// 获取文件后缀
|
||||
file_extension = lastIndex !== -1 ? file_name_all.substring(lastIndex + 1) : '';
|
||||
$('#file_name').val(file_name)
|
||||
// console.log($('#upload_file_app')[0].files[0])
|
||||
// formdata.append('apk',$('#upload_file_app')[0].files[0])
|
||||
}
|
||||
});
|
||||
|
||||
function edit_data(){
|
||||
if(pd === false){
|
||||
return
|
||||
}
|
||||
var formdata = new FormData();
|
||||
formdata.append('upload_file_app',$('#upload_file_app')[0].files[0])
|
||||
formdata.append('card_name',$('#card_name').val())
|
||||
formdata.append('page_url_record',$('#page_url_record').val())
|
||||
formdata.append('page_url_report',$('#page_url_report').val())
|
||||
formdata.append('page_url_bluetooth',$('#page_url_bluetooth').val())
|
||||
formdata.append('content',$('#content').val())
|
||||
formdata.append('file_extension',file_extension)
|
||||
formdata.append('id',id)
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/card/card_edit_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("修改成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("修改失败"+req.msg, {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
layui.use(['form', 'layer','jquery'],function() {
|
||||
$ = layui.jquery;
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
//自定义验证规则
|
||||
form.verify({
|
||||
|
||||
// upload_file_app: function(value) {
|
||||
// if (value == '') {
|
||||
// return '请先选择文件';
|
||||
// }
|
||||
// },
|
||||
file_name: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写文件名';
|
||||
}
|
||||
},
|
||||
// version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符(由数字跟英文"."组成)'],
|
||||
content: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写描述';
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(add)',function(data) {
|
||||
//发异步,把数据提交给php
|
||||
edit_data()
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// });
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,360 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>所有卡片管理</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<style>
|
||||
/* th{
|
||||
min-width:30px;
|
||||
} */
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="x-nav">
|
||||
<span class="layui-breadcrumb">
|
||||
<a href="">首页</a>
|
||||
<a href="">演示</a>
|
||||
<a>
|
||||
<cite>导航元素</cite></a>
|
||||
</span>
|
||||
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
|
||||
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
|
||||
</div>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<!-- <div class="layui-card-body ">
|
||||
<form class="layui-form layui-col-space5">
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="s_time">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="e_time">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入用户手机" autocomplete="off" class="layui-input" id="tel">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入用户邮箱" autocomplete="off" class="layui-input" id="email">
|
||||
</div>
|
||||
<div class="layui-input-inline layui-show-xs-block">
|
||||
<select name="contrller" id="status_num">
|
||||
<option value="">状态</option>
|
||||
<option value="0">启用</option>
|
||||
<option value="1">停用</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<div class="layui-btn" lay-submit="" lay-filter="sreach" onclick="find('y')"><i class="layui-icon"></i></div>
|
||||
</div>
|
||||
</form>
|
||||
</div> -->
|
||||
<div class="layui-card-header">
|
||||
<button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量停用</button>
|
||||
<!-- <button class="layui-btn" onclick="xadmin.open('添加用户','/appversion/app_add','100%','100%')"><i class="layui-icon"></i>添加</button> -->
|
||||
<button class="layui-btn" onclick="xadmin.open('添加版本','/card/card_add','80%','60%')"><i class="layui-icon"></i>添加</button>
|
||||
</div>
|
||||
<div class="layui-card-body layui-table-body layui-table-main">
|
||||
<table class="layui-table layui-form">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||
<th>ID</th>
|
||||
<th>卡片名称</th>
|
||||
<th>卡片图标</th>
|
||||
<th>卡片描述</th>
|
||||
<th>创建时间</th>
|
||||
<th>状态</th>
|
||||
<th>操作</th></tr>
|
||||
</thead>
|
||||
<tbody id='content'>
|
||||
|
||||
{volist name="result" id="vo"}
|
||||
<tr>
|
||||
<td><input type="checkbox" name="id" value="{$vo.id}" lay-skin="primary"></td>
|
||||
<td>{$vo.id}</td>
|
||||
<td>{$vo.name}</td>
|
||||
<td><img src="{$vo.pic}" alt=""></td>
|
||||
<td>{$vo.content}</td>
|
||||
<td>{$vo.create_time}</td>
|
||||
<td class="td-status">
|
||||
{if condition="$vo.is_del == 1"}
|
||||
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>
|
||||
{else /}
|
||||
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<button class="layui-btn" onclick="xadmin.open('修改','/card/card_edit?id={$vo.id}','80%','60%')">修改</button>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="layui-card-body ">
|
||||
<div id="page" style="text-align: center;">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-card-body ">
|
||||
<div class="page">
|
||||
<div>
|
||||
<a class="prev" href=""><<</a>
|
||||
<a class="num" href="">1</a>
|
||||
<span class="current">2</span>
|
||||
<a class="num" href="">3</a>
|
||||
<a class="num" href="">489</a>
|
||||
<a class="next" href="">>></a>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
var form
|
||||
layui.use(['laydate','form'], function(){
|
||||
var laydate = layui.laydate;
|
||||
form = layui.form;
|
||||
|
||||
|
||||
// 监听全选
|
||||
form.on('checkbox(checkall)', function(data){
|
||||
|
||||
if(data.elem.checked){
|
||||
$('tbody input').prop('checked',true);
|
||||
}else{
|
||||
$('tbody input').prop('checked',false);
|
||||
}
|
||||
form.render('checkbox');
|
||||
});
|
||||
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#s_time' //指定元素
|
||||
});
|
||||
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#e_time' //指定元素
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
var page_num;
|
||||
var laypage;
|
||||
var all_page = "{$num}";
|
||||
layui.use('laypage', function () {
|
||||
laypage = layui.laypage;
|
||||
|
||||
//执行一个laypage实例
|
||||
laypage.render({
|
||||
elem: 'page',
|
||||
count: all_page, //数据总数,从服务端得到
|
||||
limit: 10,
|
||||
groups:10,
|
||||
jump: function (obj, first) {
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
page_num = obj.curr;
|
||||
find("n")
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/*用户-停用*/
|
||||
function app_stop(obj,id){
|
||||
|
||||
// return
|
||||
var title = '',is_del,num
|
||||
if($(obj).attr('title')=='启用'){
|
||||
title = '停用'
|
||||
is_del = 1
|
||||
num = 5
|
||||
}else{
|
||||
title = '启用'
|
||||
is_del = 0
|
||||
num = 6
|
||||
}
|
||||
// console.log('点击时'+$(obj).attr('title')+'====='+id+'===传到后台是否删除:'+is_del)
|
||||
layer.confirm('确认要'+ title +'吗?',function(index){
|
||||
load()
|
||||
$.ajax({
|
||||
url:"/card/card_del", //请求的url地址
|
||||
dataType:"json", //返回格式为json
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:{"id":id,'is_del':is_del}, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
//请求成功时处理
|
||||
if(req['code'] == 0){
|
||||
//发异步把用户状态进行更改
|
||||
$(obj).attr('title',title)
|
||||
if(is_del == 1){
|
||||
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已'+ title);
|
||||
}else{
|
||||
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已'+ title);
|
||||
}
|
||||
layer.msg('已'+ title,{icon: num});
|
||||
}else{
|
||||
layer.msg('操作失败!',{icon: 5});
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
}});
|
||||
});
|
||||
}
|
||||
|
||||
function delAll (argument) {
|
||||
// layer.msg('停用成功', {icon: 2});
|
||||
// return
|
||||
var ids = [];
|
||||
// 获取选中的id
|
||||
$('tbody input').each(function(index, el) {
|
||||
if($(this).prop('checked')){
|
||||
ids.push($(this).val())
|
||||
}
|
||||
});
|
||||
if(ids.length <= 0){
|
||||
return
|
||||
}
|
||||
console.log(ids);
|
||||
layer.confirm('确认要停用吗?ID为:'+ids.toString(),function(index){
|
||||
//捉到所有被选中的,发异步进行删除
|
||||
$.ajax({
|
||||
url:"/card/card_del", //请求的url地址
|
||||
dataType:"json", //返回格式为json
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:{"id":ids,'is_del':1}, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
//请求成功时处理
|
||||
if(req['code'] == 0){
|
||||
//发异步把用户状态进行更改
|
||||
layer.msg('停用成功', {icon: 1});
|
||||
$(".layui-form-checked").not('.header').parents('tr').find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
|
||||
}else{
|
||||
layer.msg('操作失败!',{icon: 2});
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
}});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function find(pd) {
|
||||
if(!page_num || pd == 'y'){
|
||||
page_num = 1;
|
||||
}
|
||||
|
||||
page({
|
||||
"status_num":$('#status_num').val(),
|
||||
"tel":$('#tel').val(),
|
||||
"email":$('#email').val(),
|
||||
"s_time":$('#s_time').val(),
|
||||
"e_time":$('#e_time').val(),
|
||||
"page_num":page_num,
|
||||
"tt":1},pd);
|
||||
}
|
||||
function page(data,pd) {
|
||||
console.log(data)
|
||||
load()
|
||||
$.ajax({
|
||||
url: "member_list", //请求的url地址s
|
||||
dataType: "json", //返回格式为json
|
||||
async: true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data: data, //参数值
|
||||
type: "POST", //请求方式
|
||||
success: function (req) {
|
||||
console.log(req)
|
||||
c_load();
|
||||
if (req['code'] == 0) {
|
||||
|
||||
var str,str_s,str_c,str_all="";
|
||||
|
||||
for (let i = 0; i < req['data']['data'].length; i++) {
|
||||
if(req['data']['data'][i]['is_del'] == 1){
|
||||
str = '<span onclick="member_stop(this,\''+req['data']['data'][i]['id']+'\')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>'
|
||||
}else{
|
||||
str = '<span onclick="member_stop(this,\''+ req['data']['data'][i]['id'] +'\')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>'
|
||||
}
|
||||
str_c = "<tr>"+
|
||||
'<td><input type="checkbox" name="id" value="'+req['data']['data'][i]['id']+'" lay-skin="primary"></td>'+
|
||||
'<td>'+req['data']['data'][i]['id']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['token']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['tel']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['email']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['create_time']+'</td>'+
|
||||
'<td class="td-status">'+
|
||||
str+
|
||||
'</td>'
|
||||
'</tr>'
|
||||
str_all = str_all+str_c;
|
||||
}
|
||||
$('#content').html(str_all);
|
||||
|
||||
form.render();
|
||||
if(pd == 'y'){
|
||||
$("#page").html("")
|
||||
laypage.render({
|
||||
elem: 'page',
|
||||
count: req['data']['num'], //数据总数,从服务端得到
|
||||
limit: 10,
|
||||
groups:10,
|
||||
jump: function (obj, first) {
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
page_num = obj.curr;
|
||||
// page({"page":page_num,"tt":1});
|
||||
find("n")
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
layer.msg(req['msg'])
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
//请求出错处理
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,223 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>设备管理_add</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script type="text/javascript" src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/jq.js"></script>
|
||||
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">
|
||||
<span class="x-red">*</span>封面</label>
|
||||
</label>
|
||||
<div class="layui-input-inline">
|
||||
<!-- <input type="text" id="L_email" name="email" required="" lay-verify="email" autocomplete="off" class="layui-input"> -->
|
||||
<input type="file" id="upload_file_app" lay-verify="upload_file_app" name="file_data">
|
||||
</div>
|
||||
<!-- <div class="layui-form-mid layui-word-aux">
|
||||
<span class="x-red">*</span>将会成为您唯一的登入名
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="device_name" class="layui-form-label">
|
||||
<span class="x-red">*</span>设备名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="device_name" name="device_name" required="" lay-verify="device_name" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="device_model" class="layui-form-label">
|
||||
<span class="x-red">*</span>设备型号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="device_model" name="device_model" required="" lay-verify="device_model" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="bluetooth_type" class="layui-form-label">
|
||||
<span class="x-red">*</span>蓝牙类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="bluetooth_type" name="bluetooth_type" required="" lay-verify="bluetooth_type" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_measure" class="layui-form-label">
|
||||
<span class="x-red"></span>测量页路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_measure" name="page_measure" required="" lay-verify="page_measure" autocomplete="off" class="layui-input"></div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="content" class="layui-form-label">
|
||||
<span class="x-red"></span>描述</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="content" name="content" required="" lay-verify="content" autocomplete="off" class="layui-input"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label"></label>
|
||||
<!-- <div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div>
|
||||
<input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn"> -->
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var file_name_all = ''
|
||||
var file_name = ''
|
||||
var file_extension = ''
|
||||
var pd = true
|
||||
|
||||
$('#upload_file_app').on('change', function() {
|
||||
// 获取被选择的文件
|
||||
var fileInput = $(this)[0];
|
||||
var file = fileInput.files[0];
|
||||
|
||||
// 检查是否有文件被选择
|
||||
if (file) {
|
||||
// 获取文件的名称
|
||||
file_name_all = file.name;
|
||||
// 使用lastIndexOf和substring来获取文件名(不包括后缀)
|
||||
var lastIndex = file_name_all.lastIndexOf('.');
|
||||
file_name = lastIndex !== -1 ? file_name_all.substring(0, lastIndex) : file_name_all;
|
||||
// 获取文件后缀
|
||||
file_extension = lastIndex !== -1 ? file_name_all.substring(lastIndex + 1) : '';
|
||||
$('#file_name').val(file_name)
|
||||
console.log(file_name)
|
||||
console.log(file_extension)
|
||||
// formdata.append('apk',$('#upload_file_app')[0].files[0])
|
||||
}
|
||||
});
|
||||
|
||||
function add_data(){
|
||||
if(pd === false){
|
||||
return
|
||||
}
|
||||
var formdata = new FormData();
|
||||
formdata.append('upload_file_app',$('#upload_file_app')[0].files[0])
|
||||
formdata.append('device_name',$('#device_name').val())
|
||||
formdata.append('device_model',$('#device_model').val())
|
||||
formdata.append('bluetooth_type',$('#bluetooth_type').val())
|
||||
formdata.append('page_measure',$('#page_measure').val())
|
||||
formdata.append('content',$('#content').val())
|
||||
formdata.append('file_extension',file_extension)
|
||||
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/device/device_add_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("增加成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("增加失败"+req.msg, {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
layui.use(['form', 'layer','jquery'],function() {
|
||||
$ = layui.jquery;
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
//自定义验证规则
|
||||
form.verify({
|
||||
|
||||
upload_file_app: function(value) {
|
||||
if (value == '') {
|
||||
return '请先选择文件';
|
||||
}
|
||||
},
|
||||
device_name: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写设备名称';
|
||||
}
|
||||
},
|
||||
// version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符(由数字跟英文"."组成)'],
|
||||
device_model: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写设备类型';
|
||||
}
|
||||
},
|
||||
bluetooth_type: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写蓝牙类型';
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(add)',function(data) {
|
||||
//发异步,把数据提交给php
|
||||
add_data()
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// });
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,238 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>设备管理_edit</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script type="text/javascript" src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/jq.js"></script>
|
||||
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">
|
||||
<span class="x-red">*</span>封面</label>
|
||||
</label>
|
||||
<div class="layui-input-inline">
|
||||
<!-- <input type="text" id="L_email" name="email" required="" lay-verify="email" autocomplete="off" class="layui-input"> -->
|
||||
<input type="file" id="upload_file_app" lay-verify="upload_file_app" name="file_data">
|
||||
</div>
|
||||
<!-- <div class="layui-form-mid layui-word-aux">
|
||||
<span class="x-red">*</span>将会成为您唯一的登入名
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="device_name" class="layui-form-label">
|
||||
<span class="x-red">*</span>设备名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="device_name" name="device_name" required="" lay-verify="device_name" autocomplete="off" class="layui-input" value="{$result.name}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="device_model" class="layui-form-label">
|
||||
<span class="x-red">*</span>设备型号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="device_model" name="device_model" required="" lay-verify="device_model" autocomplete="off" class="layui-input" value="{$result.device_model}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="bluetooth_type" class="layui-form-label">
|
||||
<span class="x-red">*</span>蓝牙类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="bluetooth_type" name="bluetooth_type" required="" lay-verify="bluetooth_type" autocomplete="off" class="layui-input" value="{$result.bluetooth_type}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="page_measure" class="layui-form-label">
|
||||
<span class="x-red"></span>测量页路径</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="page_measure" name="page_measure" required="" lay-verify="page_measure" autocomplete="off" class="layui-input" value="{$result.page_measure}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="content" class="layui-form-label">
|
||||
<span class="x-red"></span>描述</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="content" name="content" required="" lay-verify="content" autocomplete="off" class="layui-input" value="{$result.content}"></div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label"></label>
|
||||
<!-- <div class="layui-btn" id="add" lay-filter="add" lay-submit="">增加</div>
|
||||
<input value="登录" lay-submit lay-filter="add" type="submit" class="layui-btn"> -->
|
||||
<button class="layui-btn" lay-filter="add" lay-submit="">修改</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-fluid">
|
||||
<div id="official_1" class="layui-row">
|
||||
<div style="margin-left: 8%;margin-top: 5%;font-size: 25px;">请先下载模板文件,信息填写完成并上传该文件后点击生成</div>
|
||||
<img style="width: 90%;margin-left: 3%;"src="/uploads/code_demo.png?v=1.0" alt="">
|
||||
<div class="layui-form-item" style="width: 30%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤1:</span><a href="/uploads/code_demo.xlsx" class="layui-btn" lay-filter="add">下载模板文件</a>
|
||||
</div>
|
||||
<div class="layui-form-item" style="width: 50%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤2:</span><input type="file" id="data_excel" name="data_excel">
|
||||
</div>
|
||||
<div class="layui-form-item" style="width: 30%;margin-left: 33%;margin-top: 5%;">
|
||||
<span>步骤3:</span><button class="layui-btn" lay-filter="add" lay-submit="" onclick="add_data()">生成</button>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var id = "{$result.id}"
|
||||
var file_name_all = ''
|
||||
var file_name = ''
|
||||
var file_extension = ''
|
||||
var pd = true
|
||||
|
||||
$('#upload_file_app').on('change', function() {
|
||||
// 获取被选择的文件
|
||||
var fileInput = $(this)[0];
|
||||
var file = fileInput.files[0];
|
||||
|
||||
// 检查是否有文件被选择
|
||||
if (file) {
|
||||
// 获取文件的名称
|
||||
file_name_all = file.name;
|
||||
// 使用lastIndexOf和substring来获取文件名(不包括后缀)
|
||||
var lastIndex = file_name_all.lastIndexOf('.');
|
||||
file_name = lastIndex !== -1 ? file_name_all.substring(0, lastIndex) : file_name_all;
|
||||
// 获取文件后缀
|
||||
file_extension = lastIndex !== -1 ? file_name_all.substring(lastIndex + 1) : '';
|
||||
$('#file_name').val(file_name)
|
||||
// console.log($('#upload_file_app')[0].files[0])
|
||||
// formdata.append('apk',$('#upload_file_app')[0].files[0])
|
||||
}
|
||||
});
|
||||
|
||||
function edit_data(){
|
||||
if(pd === false){
|
||||
return
|
||||
}
|
||||
var formdata = new FormData();
|
||||
formdata.append('upload_file_app',$('#upload_file_app')[0].files[0])
|
||||
formdata.append('device_name',$('#device_name').val())
|
||||
formdata.append('device_model',$('#device_model').val())
|
||||
formdata.append('bluetooth_type',$('#bluetooth_type').val())
|
||||
formdata.append('page_measure',$('#page_measure').val())
|
||||
formdata.append('content',$('#content').val())
|
||||
formdata.append('file_extension',file_extension)
|
||||
formdata.append('id',id)
|
||||
load()
|
||||
pd = false
|
||||
console.log('进来了')
|
||||
$.ajax({
|
||||
url:"/device/device_edit_action", //请求的url地址
|
||||
contentType:false,
|
||||
processData:false,
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:formdata, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
pd = true
|
||||
if(req.code == 0){
|
||||
layer.alert("修改成功", {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}else{
|
||||
layer.alert("修改失败"+req.msg, {icon: 6},function() {
|
||||
//关闭当前frame
|
||||
xadmin.close();
|
||||
// 可以对父窗口进行刷新
|
||||
xadmin.father_reload();
|
||||
});
|
||||
}
|
||||
//请求成功时处理
|
||||
|
||||
console.log(req)
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
pd = true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
layui.use(['form', 'layer','jquery'],function() {
|
||||
$ = layui.jquery;
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
//自定义验证规则
|
||||
form.verify({
|
||||
|
||||
// upload_file_app: function(value) {
|
||||
// if (value == '') {
|
||||
// return '请先选择文件';
|
||||
// }
|
||||
// },
|
||||
device_name: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写设备名称';
|
||||
}
|
||||
},
|
||||
// version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符(由数字跟英文"."组成)'],
|
||||
device_model: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写设备类型';
|
||||
}
|
||||
},
|
||||
bluetooth_type: function(value) {
|
||||
if (value == '') {
|
||||
return '必须填写蓝牙类型';
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(add)',function(data) {
|
||||
//发异步,把数据提交给php
|
||||
edit_data()
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// });
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,360 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="x-admin-sm">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>所有设备管理</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||||
<link rel="stylesheet" href="/x_admin/css/font.css">
|
||||
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||
<style>
|
||||
/* th{
|
||||
min-width:30px;
|
||||
} */
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="x-nav">
|
||||
<span class="layui-breadcrumb">
|
||||
<a href="">首页</a>
|
||||
<a href="">演示</a>
|
||||
<a>
|
||||
<cite>导航元素</cite></a>
|
||||
</span>
|
||||
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
|
||||
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
|
||||
</div>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<!-- <div class="layui-card-body ">
|
||||
<form class="layui-form layui-col-space5">
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="s_time">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="e_time">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入用户手机" autocomplete="off" class="layui-input" id="tel">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入用户邮箱" autocomplete="off" class="layui-input" id="email">
|
||||
</div>
|
||||
<div class="layui-input-inline layui-show-xs-block">
|
||||
<select name="contrller" id="status_num">
|
||||
<option value="">状态</option>
|
||||
<option value="0">启用</option>
|
||||
<option value="1">停用</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<div class="layui-btn" lay-submit="" lay-filter="sreach" onclick="find('y')"><i class="layui-icon"></i></div>
|
||||
</div>
|
||||
</form>
|
||||
</div> -->
|
||||
<div class="layui-card-header">
|
||||
<button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量停用</button>
|
||||
<!-- <button class="layui-btn" onclick="xadmin.open('添加用户','/appversion/app_add','100%','100%')"><i class="layui-icon"></i>添加</button> -->
|
||||
<button class="layui-btn" onclick="xadmin.open('添加版本','/device/device_add','50%','70%')"><i class="layui-icon"></i>添加</button>
|
||||
</div>
|
||||
<div class="layui-card-body layui-table-body layui-table-main">
|
||||
<table class="layui-table layui-form">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||
<th>ID</th>
|
||||
<th>设备名称</th>
|
||||
<th>设备图标</th>
|
||||
<th>设备描述</th>
|
||||
<th>创建时间</th>
|
||||
<th>状态</th>
|
||||
<th>操作</th></tr>
|
||||
</thead>
|
||||
<tbody id='content'>
|
||||
|
||||
{volist name="result" id="vo"}
|
||||
<tr>
|
||||
<td><input type="checkbox" name="id" value="{$vo.id}" lay-skin="primary"></td>
|
||||
<td>{$vo.id}</td>
|
||||
<td>{$vo.name}</td>
|
||||
<td><img src="{$vo.pic}" alt=""></td>
|
||||
<td>{$vo.content}</td>
|
||||
<td>{$vo.create_time}</td>
|
||||
<td class="td-status">
|
||||
{if condition="$vo.is_del == 1"}
|
||||
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>
|
||||
{else /}
|
||||
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<button class="layui-btn" onclick="xadmin.open('修改','/device/device_edit?id={$vo.id}','50%','70%')">修改</button>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="layui-card-body ">
|
||||
<div id="page" style="text-align: center;">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-card-body ">
|
||||
<div class="page">
|
||||
<div>
|
||||
<a class="prev" href=""><<</a>
|
||||
<a class="num" href="">1</a>
|
||||
<span class="current">2</span>
|
||||
<a class="num" href="">3</a>
|
||||
<a class="num" href="">489</a>
|
||||
<a class="next" href="">>></a>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
var form
|
||||
layui.use(['laydate','form'], function(){
|
||||
var laydate = layui.laydate;
|
||||
form = layui.form;
|
||||
|
||||
|
||||
// 监听全选
|
||||
form.on('checkbox(checkall)', function(data){
|
||||
|
||||
if(data.elem.checked){
|
||||
$('tbody input').prop('checked',true);
|
||||
}else{
|
||||
$('tbody input').prop('checked',false);
|
||||
}
|
||||
form.render('checkbox');
|
||||
});
|
||||
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#s_time' //指定元素
|
||||
});
|
||||
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#e_time' //指定元素
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
var page_num;
|
||||
var laypage;
|
||||
var all_page = "{$num}";
|
||||
layui.use('laypage', function () {
|
||||
laypage = layui.laypage;
|
||||
|
||||
//执行一个laypage实例
|
||||
laypage.render({
|
||||
elem: 'page',
|
||||
count: all_page, //数据总数,从服务端得到
|
||||
limit: 10,
|
||||
groups:10,
|
||||
jump: function (obj, first) {
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
page_num = obj.curr;
|
||||
find("n")
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/*用户-停用*/
|
||||
function app_stop(obj,id){
|
||||
|
||||
// return
|
||||
var title = '',is_del,num
|
||||
if($(obj).attr('title')=='启用'){
|
||||
title = '停用'
|
||||
is_del = 1
|
||||
num = 5
|
||||
}else{
|
||||
title = '启用'
|
||||
is_del = 0
|
||||
num = 6
|
||||
}
|
||||
// console.log('点击时'+$(obj).attr('title')+'====='+id+'===传到后台是否删除:'+is_del)
|
||||
layer.confirm('确认要'+ title +'吗?',function(index){
|
||||
load()
|
||||
$.ajax({
|
||||
url:"/device/device_del", //请求的url地址
|
||||
dataType:"json", //返回格式为json
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:{"id":id,'is_del':is_del}, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
//请求成功时处理
|
||||
if(req['code'] == 0){
|
||||
//发异步把用户状态进行更改
|
||||
$(obj).attr('title',title)
|
||||
if(is_del == 1){
|
||||
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已'+ title);
|
||||
}else{
|
||||
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已'+ title);
|
||||
}
|
||||
layer.msg('已'+ title,{icon: num});
|
||||
}else{
|
||||
layer.msg('操作失败!',{icon: 5});
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
}});
|
||||
});
|
||||
}
|
||||
|
||||
function delAll (argument) {
|
||||
// layer.msg('停用成功', {icon: 2});
|
||||
// return
|
||||
var ids = [];
|
||||
// 获取选中的id
|
||||
$('tbody input').each(function(index, el) {
|
||||
if($(this).prop('checked')){
|
||||
ids.push($(this).val())
|
||||
}
|
||||
});
|
||||
if(ids.length <= 0){
|
||||
return
|
||||
}
|
||||
console.log(ids);
|
||||
layer.confirm('确认要停用吗?ID为:'+ids.toString(),function(index){
|
||||
//捉到所有被选中的,发异步进行删除
|
||||
$.ajax({
|
||||
url:"/device/device_del", //请求的url地址
|
||||
dataType:"json", //返回格式为json
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:{"id":ids,'is_del':1}, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
c_load()
|
||||
//请求成功时处理
|
||||
if(req['code'] == 0){
|
||||
//发异步把用户状态进行更改
|
||||
layer.msg('停用成功', {icon: 1});
|
||||
$(".layui-form-checked").not('.header').parents('tr').find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
|
||||
}else{
|
||||
layer.msg('操作失败!',{icon: 2});
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
//请求出错处理
|
||||
}});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function find(pd) {
|
||||
if(!page_num || pd == 'y'){
|
||||
page_num = 1;
|
||||
}
|
||||
|
||||
page({
|
||||
"status_num":$('#status_num').val(),
|
||||
"tel":$('#tel').val(),
|
||||
"email":$('#email').val(),
|
||||
"s_time":$('#s_time').val(),
|
||||
"e_time":$('#e_time').val(),
|
||||
"page_num":page_num,
|
||||
"tt":1},pd);
|
||||
}
|
||||
function page(data,pd) {
|
||||
console.log(data)
|
||||
load()
|
||||
$.ajax({
|
||||
url: "member_list", //请求的url地址s
|
||||
dataType: "json", //返回格式为json
|
||||
async: true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data: data, //参数值
|
||||
type: "POST", //请求方式
|
||||
success: function (req) {
|
||||
console.log(req)
|
||||
c_load();
|
||||
if (req['code'] == 0) {
|
||||
|
||||
var str,str_s,str_c,str_all="";
|
||||
|
||||
for (let i = 0; i < req['data']['data'].length; i++) {
|
||||
if(req['data']['data'][i]['is_del'] == 1){
|
||||
str = '<span onclick="member_stop(this,\''+req['data']['data'][i]['id']+'\')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>'
|
||||
}else{
|
||||
str = '<span onclick="member_stop(this,\''+ req['data']['data'][i]['id'] +'\')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>'
|
||||
}
|
||||
str_c = "<tr>"+
|
||||
'<td><input type="checkbox" name="id" value="'+req['data']['data'][i]['id']+'" lay-skin="primary"></td>'+
|
||||
'<td>'+req['data']['data'][i]['id']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['token']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['tel']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['email']+'</td>'+
|
||||
'<td>'+req['data']['data'][i]['create_time']+'</td>'+
|
||||
'<td class="td-status">'+
|
||||
str+
|
||||
'</td>'
|
||||
'</tr>'
|
||||
str_all = str_all+str_c;
|
||||
}
|
||||
$('#content').html(str_all);
|
||||
|
||||
form.render();
|
||||
if(pd == 'y'){
|
||||
$("#page").html("")
|
||||
laypage.render({
|
||||
elem: 'page',
|
||||
count: req['data']['num'], //数据总数,从服务端得到
|
||||
limit: 10,
|
||||
groups:10,
|
||||
jump: function (obj, first) {
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
page_num = obj.curr;
|
||||
// page({"page":page_num,"tt":1});
|
||||
find("n")
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
layer.msg(req['msg'])
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
//请求出错处理
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//加载提示开启
|
||||
function load() {
|
||||
var index = layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
}
|
||||
// 关闭加载提示
|
||||
function c_load() {
|
||||
layer.close(layer.index)
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
|
|
@ -52,14 +52,12 @@
|
|||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<!-- <a onclick="xadmin.add_tab('APP账号数据列表','/admin/member_list')"> -->
|
||||
<a onclick="xadmin.add_tab('APP账号数据列表','/admin/member/member_list')">
|
||||
<a onclick="xadmin.add_tab('APP账号数据列表','/member/member_list')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>APP账号数据列表</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<!-- <a onclick="xadmin.add_tab('APP角色数据列表','/admin/user_list')"> -->
|
||||
<a onclick="xadmin.add_tab('APP角色数据列表','/admin/member/user_list')">
|
||||
<a onclick="xadmin.add_tab('APP角色数据列表','/member/user_list')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>APP角色数据列表</cite></a>
|
||||
</li>
|
||||
|
|
@ -72,32 +70,22 @@
|
|||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('APP用户自建卡片','order-list.html')">
|
||||
<a onclick="xadmin.add_tab('所有卡片管理','/card/index')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>APP用户自建卡片</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('系统默认卡片','order-list1.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>系统默认卡片</cite></a>
|
||||
<cite>所有卡片管理</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="订单管理"></i>
|
||||
<i class="iconfont left-nav-li" lay-tips="设备管理"></i>
|
||||
<cite>设备管理</cite>
|
||||
<i class="iconfont nav_right"></i></a>
|
||||
<ul class="sub-menu">
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('订单列表','order-list.html')">
|
||||
<a onclick="xadmin.add_tab('所有设备管理','/device/index')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>订单列表</cite></a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="xadmin.add_tab('订单列表1','order-list1.html')">
|
||||
<i class="iconfont"></i>
|
||||
<cite>订单列表1</cite></a>
|
||||
<cite>设备管理</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
|
@ -114,7 +102,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="城市联动"></i>
|
||||
<cite>城市联动</cite>
|
||||
|
|
@ -126,8 +114,8 @@
|
|||
<cite>三级地区联动</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="管理员管理"></i>
|
||||
<cite>管理员管理</cite>
|
||||
|
|
@ -154,8 +142,8 @@
|
|||
<cite>权限管理</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="系统统计"></i>
|
||||
<cite>系统统计</cite>
|
||||
|
|
@ -202,8 +190,8 @@
|
|||
<cite>仪表图</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="图标字体"></i>
|
||||
<cite>图标字体</cite>
|
||||
|
|
@ -215,8 +203,8 @@
|
|||
<cite>图标对应字体</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="其它页面"></i>
|
||||
<cite>其它页面</cite>
|
||||
|
|
@ -243,8 +231,8 @@
|
|||
<cite>更新日志</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="javascript:;">
|
||||
<i class="iconfont left-nav-li" lay-tips="第三方组件"></i>
|
||||
<cite>layui第三方组件</cite>
|
||||
|
|
@ -286,7 +274,7 @@
|
|||
<cite>notice 通知控件</cite></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,15 +46,15 @@
|
|||
url:"/admin/login_action", //请求的url地址
|
||||
dataType:"json", //返回格式为json
|
||||
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
data:{"name":data.field.username,"password":data.field.password}, //参数值
|
||||
data:{"username":data.field.username,"password":data.field.password}, //参数值
|
||||
type:"POST", //请求方式
|
||||
success:function(req){
|
||||
//请求成功时处理
|
||||
|
||||
if(req.code == 10000){
|
||||
if(req.code == 0){
|
||||
layer.msg('登录成功,准备跳转',function(){
|
||||
location.href='/admin/index'
|
||||
});
|
||||
},500);
|
||||
}else{
|
||||
layer.msg('登录失败',function(){
|
||||
pd = true
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||
<th>ID</th>
|
||||
<th>账号ID</th>
|
||||
<th>唯一token</th>
|
||||
<th>手机</th>
|
||||
<th>邮箱</th>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="e_time">
|
||||
</div> -->
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入Aan_ID" autocomplete="off" class="layui-input" id="aan_id">
|
||||
<input type="text" name="username" placeholder="请输入账号ID" autocomplete="off" class="layui-input" id="aan_id">
|
||||
</div>
|
||||
<div class="layui-inline layui-show-xs-block">
|
||||
<input type="text" name="username" placeholder="请输入昵称" autocomplete="off" class="layui-input" id="nickname">
|
||||
|
|
@ -74,8 +74,8 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||
<th>ID</th>
|
||||
<th>Aan_ID</th>
|
||||
<th>角色ID</th>
|
||||
<th>账号ID</th>
|
||||
<th>昵称</th>
|
||||
<th>生日</th>
|
||||
<th>性别</th>
|
||||
|
|
|
|||
|
|
@ -14,48 +14,44 @@ use app\app\controller\Skip;
|
|||
class Card extends Base{
|
||||
|
||||
protected $color = ['#FF5656','#FFAB00','#5AD06D','#6492F6','#3967D6'];
|
||||
// protected $db_name = ['2'=>'app_card_body_data','6'=>'app_card_skip_data'];
|
||||
// protected $db_content = [
|
||||
// '2'=>'height as v1,weight as v2,bmi as v3',
|
||||
// '6'=>'jump_num as v1,jump_time as v2,jump_kcal as v3'
|
||||
// ];
|
||||
|
||||
protected $age_limit = 16;
|
||||
protected $unit_symbol = ['score'=>'分','height'=>'CM','weight'=>'公斤','bmi'=>'','fat_r'=>'%','fat_w'=>'kg','muscle'=>'%','muscleval'=>'kg','water'=>'kg','bone'=>'kg','protein'=>'%','proteinval'=>'kg','kcal'=>'kcal','visceral'=>'','sfr'=>'%',];
|
||||
protected $unit_name = ['score'=>'身体得分','height'=>'身高','weight'=>'体重','bmi'=>'BMI','fat_r'=>'脂肪率','fat_w'=>'脂肪量','muscle'=>'肌肉率','muscleval'=>'肌肉量','water'=>'水分','bone'=>'骨重','protein'=>'蛋白率','proteinval'=>'蛋白量','kcal'=>'基础代谢','visceral'=>'内脏指数','sfr'=>'皮下脂肪','body_level'=>'肥胖等级','body_type'=>'身体类型'];
|
||||
protected $bhw_list = [
|
||||
'bmi'=>[
|
||||
['min_val'=>'0','max_val'=>'','text'=>'消瘦','color'=>'#ffda69'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'正常','color'=>'#5ad06d'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏重','color'=>'#ffab00'],
|
||||
['min_val'=>'','max_val'=>'50','text'=>'肥胖','color'=>'#ff5656'],
|
||||
['min_val'=>'0','max_val'=>'','text'=>'消瘦','color'=>'#FF5656'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'正常','color'=>'#FFAB00'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏重','color'=>'#5AD06D'],
|
||||
['min_val'=>'','max_val'=>'50','text'=>'肥胖','color'=>'#6492F6'],
|
||||
],
|
||||
'height'=>[
|
||||
['min_val'=>'0','max_val'=>'','text'=>'矮','color'=>'#ff5656'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏矮','color'=>'#ffab00'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'标准','color'=>'#5ad06d'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'标准','color'=>'#5AD06D'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏高','color'=>'#6492f6'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'高','color'=>'#3967d6'],
|
||||
],
|
||||
'weight'=>[
|
||||
['min_val'=>'0','max_val'=>'','text'=>'低','color'=>'#ff5656'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏低','color'=>'#ffab00'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'标准','color'=>'#5ad06d'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏高','color'=>'#ffab00'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'高','color'=>'#ff5656'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'标准','color'=>'#5AD06D'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'偏高','color'=>'#6492F6'],
|
||||
['min_val'=>'','max_val'=>'','text'=>'高','color'=>'#3967D6'],
|
||||
]
|
||||
];
|
||||
protected $standard_color = [
|
||||
'fat_r'=>['偏低'=>'#FFAB00','标准'=>'#5AD06D','偏高'=>'#6492F6','高'=>'#3967D6'],
|
||||
'fat_w'=>['偏低'=>'#FFAB00','标准'=>'#5AD06D','偏高'=>'#6492F6','高'=>'#3967D6'],
|
||||
'muscle'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'muscleval'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'water'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'proteinval'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'bone'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'protein'=>['不足'=>'#FF5656','标准'=>'#5AD06D','优'=>'#3967D6'],
|
||||
'kcal'=>['偏低'=>'#FF5656','优'=>'#3967D6'],
|
||||
'visceral'=>['标准'=>'#5AD06D','警惕'=>'#FFAB00','危险'=>'#FF5656'],
|
||||
'sfr'=>['不足'=>'#FF5656','标准'=>'#5AD06D','偏高'=>'#6492F6'],
|
||||
'fat_r'=>['偏低'=>'#FF5656','标准'=>'#FFAB00','偏高'=>'#5AD06D','高'=>'#6492F6'],
|
||||
'fat_w'=>['偏低'=>'#FF5656','标准'=>'#FFAB00','偏高'=>'#5AD06D','高'=>'#6492F6'],
|
||||
'muscle'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'muscleval'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'water'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'proteinval'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'bone'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'protein'=>['不足'=>'#FF5656','标准'=>'#FFAB00','优'=>'#5AD06D'],
|
||||
'kcal'=>['偏低'=>'#FF5656','优'=>'#5ad06d'],
|
||||
'visceral'=>['标准'=>'#5AD06D','警惕'=>'#6492F6','危险'=>'#3967D6'],
|
||||
'sfr'=>['不足'=>'#FF5656','标准'=>'#FFAB00','偏高'=>'#5AD06D'],
|
||||
];
|
||||
protected $result_end_data_mould = [
|
||||
'name'=>'',
|
||||
|
|
@ -79,7 +75,7 @@ class Card extends Base{
|
|||
|
||||
// 详细卡片信息
|
||||
// $data = ['id'=>'2']
|
||||
public function card_data_detailed($data=['aud_id'=>'26','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
public function card_data_detailed($data=['aud_id'=>'58','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
|
|
@ -87,6 +83,7 @@ class Card extends Base{
|
|||
if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){
|
||||
return $this->msg(10001);
|
||||
}
|
||||
// cache($data['token'], time());
|
||||
if($this->token_time_validate($data['token']) === false){
|
||||
return $this->msg(20001);
|
||||
}
|
||||
|
|
@ -116,7 +113,7 @@ class Card extends Base{
|
|||
|
||||
// 手动记录
|
||||
// $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1']
|
||||
public function card_manual_recording($data = ['aud_id'=>'61','time'=>'2024-06-06 10:10:15','height'=>'175','weight'=>'68','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
public function card_manual_recording($data = ['aud_id'=>'58','time'=>'2024-06-06 10:10:15','height'=>'175','weight'=>'68','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}else{
|
||||
|
|
@ -431,10 +428,11 @@ class Card extends Base{
|
|||
$result_data['adc'] = array_key_exists('impedance', $data)?$data['impedance']:550;
|
||||
$calculate_body_formula = new Calculatebody();
|
||||
$get_body_value = $calculate_body_formula->calculate_body_data_result($result_data);
|
||||
// dump($get_body_value);
|
||||
$get_body_value['gender'] = $user_data['gender'];
|
||||
$get_body_value['birthday'] = $user_data['birthday'];
|
||||
$get_body_value = $this->hwb_standard($get_body_value);
|
||||
// dump($get_body_value);
|
||||
|
||||
// dump($get_body_value['脂肪率']);
|
||||
// dump(implode(',',$get_body_value['脂肪率']));
|
||||
// die;
|
||||
|
|
@ -489,6 +487,7 @@ class Card extends Base{
|
|||
|
||||
$linshi_data = [];
|
||||
$month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday'])*100;
|
||||
// dump($month_num);
|
||||
$gender_val = $data['gender'];
|
||||
if($data['age'] < $this->age_limit){
|
||||
foreach ($data as $key => $value) {
|
||||
|
|
@ -559,6 +558,7 @@ class Card extends Base{
|
|||
$data['BMI2'] = $data['身高'].',无,无';
|
||||
}
|
||||
// dump($data);
|
||||
// die;
|
||||
return $data;
|
||||
// dump($data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ use app\app\controller\Skip;
|
|||
|
||||
class Cardparts extends Base{
|
||||
|
||||
protected $color = ['#FF5656','#FF5656','#5AD06D','#6492F6','#3967D6'];
|
||||
protected $color = ['#FF5656','#FFAB00','#5AD06D','#6492F6','#3967D6'];
|
||||
protected $parameter_aggregate_top = [
|
||||
'weight'=>'反映和衡量一个人健康状况的重要标志之一',
|
||||
'height'=>'人体纵向部分的长度,源于人体的纵向生长,受遗传因素的影响较大',
|
||||
|
|
@ -149,14 +149,14 @@ class Cardparts extends Base{
|
|||
// 内脏指数
|
||||
protected $visceral = [
|
||||
'man'=>[
|
||||
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#ff5656'],
|
||||
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#ffab00'],
|
||||
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
|
||||
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#5AD06D'],
|
||||
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#6492F6'],
|
||||
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#3967D6'],
|
||||
],
|
||||
'woman'=>[
|
||||
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#ff5656'],
|
||||
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#ffab00'],
|
||||
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
|
||||
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#5AD06D'],
|
||||
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#6492F6'],
|
||||
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#3967D6'],
|
||||
]
|
||||
];
|
||||
// 皮下脂肪
|
||||
|
|
@ -181,7 +181,8 @@ class Cardparts extends Base{
|
|||
// 除 bcdiv(,,20)
|
||||
// 计算部分内容的横线标准以及说明文字
|
||||
public function conversion_interval($data){
|
||||
|
||||
// dump($data);
|
||||
// die;
|
||||
// $data['gender'] = $data['gender']==2?'woman':'man';
|
||||
$gender = $data['gender']==2?'woman':'man';
|
||||
$age = $data['age']['value'];
|
||||
|
|
@ -203,6 +204,7 @@ class Cardparts extends Base{
|
|||
$temporary_arr['record_time'] = $date_temporary->format('Y年m月d日 H:i:s');
|
||||
// dump($data);
|
||||
// dump($temporary_arr);
|
||||
// die;
|
||||
// 处理格式(顶部)
|
||||
foreach ($this->parameter_aggregate_top as $key => $value) {
|
||||
$data[$key]['key_name'] = $key;
|
||||
|
|
@ -220,6 +222,8 @@ class Cardparts extends Base{
|
|||
array_push($temporary_arr['bottom_list'],$data[$key]);
|
||||
}
|
||||
|
||||
// dump($temporary_arr);
|
||||
// die;
|
||||
// 处理顶部list
|
||||
foreach ($temporary_arr['top_list'] as $key => $value) {
|
||||
if(count($temporary_arr['top_list'][$key]['list']) > 0){
|
||||
|
|
|
|||
|
|
@ -90,9 +90,9 @@ class Index extends Base{
|
|||
if(!is_array($verify_result)){
|
||||
return $this->msg(10001,$verify_result);
|
||||
}
|
||||
$result = Db::table('app_user_data')->insert($verify_result);
|
||||
$result = Db::table('app_user_data')->insertGetId($verify_result);
|
||||
if($result){
|
||||
return $this->msg([]);
|
||||
return $this->msg(['aud_id'=>$result]);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
|
|
@ -176,7 +176,7 @@ class Index extends Base{
|
|||
}
|
||||
|
||||
// 获取指定用户详细信息
|
||||
public function get_user_data_information($data = ['aud_id'=>26,'token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
public function get_user_data_information($data = ['aud_id'=>58,'token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
|
|
@ -247,15 +247,15 @@ class Index extends Base{
|
|||
}
|
||||
unset($user_card_list['ROW_NUMBER']);
|
||||
$user_card_list['card_order'] = explode(',',$user_card_list['card_order']);
|
||||
$all_card_list = Db::table('app_card_data')->field('id,name')->select();
|
||||
$all_card_list = Db::table('app_card_data')->field('id,name,pic')->select();
|
||||
// dump($user_card_list);
|
||||
// dump($all_card_list);
|
||||
$result = ['user'=>[],'all'=>[]];
|
||||
foreach ($all_card_list as $key => $value) {
|
||||
if(in_array($value['id'],$user_card_list['card_order'])){
|
||||
$result['user'][array_search($value['id'], $user_card_list['card_order'])] = ['id'=>$value['id'],'name'=>$value['name']];
|
||||
$result['user'][array_search($value['id'], $user_card_list['card_order'])] = ['id'=>$value['id'],'name'=>$value['name'],'pic'=>$value['pic']];
|
||||
}else{
|
||||
array_push($result['all'],['id'=>$value['id'],'name'=>$value['name']]);
|
||||
array_push($result['all'],['id'=>$value['id'],'name'=>$value['name'],'pic'=>$value['pic']]);
|
||||
}
|
||||
}
|
||||
ksort($result['user']);
|
||||
|
|
@ -315,6 +315,18 @@ class Index extends Base{
|
|||
}
|
||||
}
|
||||
|
||||
// 获取卡片路径及卡片数组处理start
|
||||
$card_all_data = Db::table('app_card_data')->field('id,page_url_record,page_url_report,page_url_bluetooth')->select();
|
||||
$card_all_data_result = [];
|
||||
foreach ($card_all_data as $key => $value) {
|
||||
$card_all_data_result[$value['id']] = [
|
||||
'page_url_record'=>$value['page_url_record'],
|
||||
'page_url_report'=>$value['page_url_report'],
|
||||
'page_url_bluetooth'=>$value['page_url_bluetooth']
|
||||
];
|
||||
}
|
||||
// 获取卡片路径及卡片数组处理end
|
||||
|
||||
// dump($db_arr);
|
||||
// die;
|
||||
// 添加目标体重于当前体重差数据
|
||||
|
|
@ -342,6 +354,9 @@ class Index extends Base{
|
|||
$temporary_arr['record_time'] = '';
|
||||
$temporary_arr['card_name'] = $this->card_data[$value][0];
|
||||
$temporary_arr['card_key'] = $this->card_data[$value][1];
|
||||
$temporary_arr['page_url_record'] = $card_all_data_result[$value]['page_url_record'];
|
||||
$temporary_arr['page_url_report'] = $card_all_data_result[$value]['page_url_report'];
|
||||
$temporary_arr['page_url_bluetooth'] = $card_all_data_result[$value]['page_url_bluetooth'];
|
||||
$temporary_arr['inside_data'] = [];
|
||||
foreach ($this->card_data[$value][2] as $k => $v) {
|
||||
array_push($temporary_arr['inside_data'],[
|
||||
|
|
@ -363,6 +378,9 @@ class Index extends Base{
|
|||
$temporary_arr['acd_id'] = $value;
|
||||
$temporary_arr['card_name'] = $this->card_data[$value][0];
|
||||
$temporary_arr['card_key'] = $this->card_data[$value][1];
|
||||
$temporary_arr['page_url_record'] = $card_all_data_result[$value]['page_url_record'];
|
||||
$temporary_arr['page_url_report'] = $card_all_data_result[$value]['page_url_report'];
|
||||
$temporary_arr['page_url_bluetooth'] = $card_all_data_result[$value]['page_url_bluetooth'];
|
||||
$temporary_arr['inside_data'] = [];
|
||||
if(array_key_exists($value,$db_arr)){
|
||||
$temporary_arr['id'] = $db_arr[$value]['id'];
|
||||
|
|
@ -403,27 +421,6 @@ class Index extends Base{
|
|||
}
|
||||
array_push($result,$temporary_arr);
|
||||
|
||||
|
||||
// $temporary_arr['acd_id'] = $value['acd_id'];
|
||||
// $temporary_arr['record_time'] = $value['record_time'];
|
||||
// $temporary_arr['card_name'] = $this->card_data[$value['acd_id']][0];
|
||||
// $temporary_arr['card_key'] = $this->card_data[$value['acd_id']][1];
|
||||
// $temporary_arr['inside_data'] = [];
|
||||
// if(array_key_exists($value['acd_id'],$this->card_data)){
|
||||
|
||||
// foreach ($this->card_data[$value['acd_id']][2] as $k => $v) {
|
||||
// $tem_arr_2 = explode(',', $db_arr[$key][$k."_data"]);
|
||||
// array_push($temporary_arr['inside_data'],[
|
||||
// 'key'=>$k,
|
||||
// 'name'=>$v[0],
|
||||
// 'value'=>$tem_arr_2[0],
|
||||
// 'unit'=>$v[1]!='无'?$v[1]:'',
|
||||
// 'standard'=>$tem_arr_2[1]!='无'?$tem_arr_2[1]:'',
|
||||
// 'color'=>$tem_arr_2[2]!='无'?$tem_arr_2[2]:''
|
||||
// ]);
|
||||
// }
|
||||
// }
|
||||
// array_push($result,$temporary_arr);
|
||||
}
|
||||
}
|
||||
return [$result,$target_current];
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ class Login extends Base{
|
|||
|
||||
public function check_code($data = 18530934717 , $code = 123456){
|
||||
// 默认验证码正确
|
||||
// return true;
|
||||
return true;
|
||||
// dump($data);
|
||||
// dump(cache($data));
|
||||
// die;
|
||||
|
|
|
|||
|
|
@ -28,6 +28,25 @@ Route::post('/admin/login_action', 'admin/login/login_action');
|
|||
Route::any('/admin/index', 'admin/index/index');
|
||||
Route::any('/admin/welcome', 'admin/index/welcome');
|
||||
|
||||
// APP账号角色管理
|
||||
Route::any('/member/member_list', 'admin/member/member_list');
|
||||
Route::any('/member/user_list', 'admin/member/user_list');
|
||||
|
||||
// 卡片管理
|
||||
Route::any('/card/index', 'admin/card/index');
|
||||
Route::any('/card/card_add', 'admin/card/card_add');
|
||||
Route::any('/card/card_add_action', 'admin/card/card_add_action');
|
||||
Route::any('/card/card_edit', 'admin/card/card_edit');
|
||||
Route::any('/card/card_edit_action', 'admin/card/card_edit_action');
|
||||
Route::any('/card/card_del', 'admin/card/card_del');
|
||||
// Route::any('/appversion/app_add_action', 'admin/appversion/app_add_action');
|
||||
// 设备管理
|
||||
Route::any('/device/index', 'admin/device/index');
|
||||
Route::any('/device/device_add', 'admin/device/device_add');
|
||||
Route::any('/device/device_add_action', 'admin/device/device_add_action');
|
||||
Route::any('/device/device_edit', 'admin/device/device_edit');
|
||||
Route::any('/device/device_edit_action', 'admin/device/device_edit_action');
|
||||
Route::any('/device/device_del', 'admin/device/device_del');
|
||||
// APP版本管理
|
||||
Route::any('/appversion/index', 'admin/appversion/index');
|
||||
Route::any('/appversion/app_add', 'admin/appversion/app_add');
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Loading…
Reference in New Issue