Commit 46abeb0a3fd2b38e85f01e09613960834088cc78

Authored by u123231312
1 parent d9c28367

菜品库管理

@@ -449,4 +449,97 @@ class Template extends Common{ @@ -449,4 +449,97 @@ class Template extends Common{
449 return view(); 449 return view();
450 } 450 }
451 451
  452 + //菜品库管理
  453 + public function Vegetable(){
  454 + if(Request::isAjax()){
  455 + //构建数组
  456 + $data = Request::except('file');
  457 + if(empty($data['pic'])){
  458 + $result['code'] = 0;
  459 + $result['msg'] = '请确保文件已经上传成功!';
  460 + $result['url'] = url('Vegetable');
  461 + return $result;
  462 + }
  463 + if(empty($data['class'])){
  464 + $result['code'] = 0;
  465 + $result['msg'] = '请选择菜系!';
  466 + $result['url'] = url('Vegetable');
  467 + return $result;
  468 + }
  469 + $list= file_get_contents(UNDER_LINE.'App.Cookbook.VegetableManage&data='.json_encode($data));
  470 + $array = json_decode($list,TRUE);
  471 + if($array['ret']==200){
  472 + $result['code'] = 1;
  473 + $result['msg'] = 'SUCCESS!';
  474 + $result['url'] = url('Vegetable');
  475 + }else{
  476 + $result['code'] = 0;
  477 + $result['msg'] = $array['msg'];
  478 + $result['url'] = url('Vegetable');
  479 + }
  480 + return $result;
  481 + }
  482 + //模拟菜系
  483 + $arrayCai = array(
  484 + 1 => '湘菜',
  485 + 2 => '粤菜',
  486 + 3 => '川菜',
  487 + 4 => '东北菜',
  488 + 5 => '湖南菜',
  489 + );
  490 + $this->assign ('arrayCai',$arrayCai);
  491 + $this->assign ( 'title','菜品库' );
  492 + return $this->fetch();
  493 + }
  494 + //iframe
  495 + public function batchAdd(){
  496 + $arr = array(1,2,3,4);
  497 + if(Request::isAjax()){
  498 + //构建数组
  499 + $data = Request::except('file');
  500 + //print_r($arr);die;
  501 + for($i=1;$i<=count($arr);$i++){
  502 + $str = 'pic'.$i;
  503 + if($data[$str] == ""){
  504 + $result['code'] = 0;
  505 + $result['msg'] = '请检查文件是否全部上传成功!';
  506 + $result['url'] = url('batchAdd');
  507 + return $result;
  508 + }
  509 + if($data['class1']==0){
  510 + $result['code'] = 0;
  511 + $result['msg'] = '请至少选择一个菜系!';
  512 + $result['url'] = url('batchAdd');
  513 + return $result;
  514 + }
  515 + if($data['class'.$i]==0){
  516 + $data['class'.$i]=$data['class1'];
  517 + }
  518 + }
  519 +
  520 + $list= file_get_contents(UNDER_LINE.'App.Cookbook.VegetableManage&data='.json_encode($data).'&flag=1');
  521 + $array = json_decode($list,TRUE);
  522 + if($array['ret']==200){
  523 + $result['code'] = 1;
  524 + $result['msg'] = 'SUCCESS!';
  525 + $result['url'] = url('batchAdd');
  526 + }else{
  527 + $result['code'] = 0;
  528 + $result['msg'] = $array['msg'];
  529 + $result['url'] = url('batchAdd');
  530 + }
  531 + return $result;
  532 + }
  533 + //模拟菜系
  534 + $arrayCai = array(
  535 + 1 => '湘菜',
  536 + 2 => '粤菜',
  537 + 3 => '川菜',
  538 + 4 => '东北菜',
  539 + 5 => '湖南菜',
  540 + );
  541 + $this->assign ('arrayCai',$arrayCai);
  542 + $this->assign ('list',$arr);
  543 + return $this->fetch();
  544 + }
452 } 545 }
  1 +{include file="common/head"/}
  2 +<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
  3 + <!--<form class="layui-form layui-form-pane">
  4 + <div class="layui-form-item" id="container">
  5 + <label class="layui-form-label">菜品名称</label>
  6 + <div class="layui-input-1">
  7 + <input type="text" name="name" ng-model="field.name" lay-verify="required" placeholder="{:lang('pleaseEnter')}图片/视频名称" class="layui-input">
  8 + </div>
  9 + <label class="layui-form-label">菜系</label>
  10 + <div class="layui-input-1">
  11 + <select name="class" id="class" lay-filter="myselect">
  12 + <option value="">请选择类别</option>
  13 + <option value="22222">22222</option>
  14 + </select>
  15 + </div>
  16 + <label class="layui-form-label">菜品简介</label>
  17 + <div class="layui-input-2">
  18 + <textarea name="content" style="text-align:left;" class="layui-input"></textarea>
  19 + </div>
  20 + <label class="layui-form-label">菜品图片</label>
  21 + <input type="hidden" name="pic" id="pic" value="{{field.pic}}">
  22 + <div class="layui-input-1">
  23 + <div class="layui-upload">
  24 + <button type="button" class="layui-btn layui-btn-primary" id="adBtn"><i class="icon icon-upload3"></i>点击上传</button>
  25 + <div class="layui-upload-list">
  26 + <img class="layui-upload-img" id="adPic">
  27 + <p id="demoText"></p>
  28 + <video src="" id="adVideo" controls="controls" style="width: 300px;height: 200px;display: none">
  29 + 您的浏览器不支持 video 标签。
  30 + </video>
  31 + </div>
  32 + </div>
  33 + </div>
  34 + </div>
  35 +
  36 + <div class="layui-form-item">
  37 + <button type="button" class="layui-btn" lay-submit="" lay-filter="submit">{:lang('submit')}</button>
  38 + </div>
  39 + </div>
  40 + </form>-->
  41 + <div id="mainContent" class="main-content">
  42 + <form class="layui-form layui-form-pane">
  43 + <div class="table-responsive">
  44 + <table class="layui-table">
  45 + <thead>
  46 + <tr>
  47 + <th class='col-name required has-btn'>菜品名称</th>
  48 + <th class='w-150px'>菜系</th>
  49 + <th class='w-100px hidden'>菜品简介</th>
  50 + <th class='w-150px hidden'>菜品图片</th>
  51 + </tr>
  52 + </thead>
  53 + <tbody>
  54 + {volist name="list" id="vo"}
  55 + <tr>
  56 + <td>
  57 + <div class="layui-input-10">
  58 + <input type="text" name="name{$vo}" ng-model="field.name{$vo}" lay-verify="required" placeholder="{:lang('pleaseEnter')}图片/视频名称" class="layui-input">
  59 + </div>
  60 + </td>
  61 + <td>
  62 + <select name="class{$vo}" id="class{$vo}" lay-filter="myselect{$vo}">
  63 + <option value="0">同上</option>
  64 + {volist name="arrayCai" id="item"}
  65 + <option value="{$key}">{$item}</option>
  66 + {/volist}
  67 + </select>
  68 + </td>
  69 + <td>
  70 + <textarea name="spec{$vo}" id="spec{$vo}" rows="1" class="layui-input"></textarea>
  71 + </td>
  72 + <td>
  73 + <input type="hidden" name="pic{$vo}" id="pic{$vo}" value="{{field.pic}}">
  74 + <div class="layui-input-1">
  75 + <div class="layui-upload">
  76 + <button type="button" class="layui-btn layui-btn-primary adbtncil" id="{$vo}"><i class="icon icon-upload3"></i>点击上传</button>
  77 + <p style="display:none" id="tip{$vo}"><font color="#FF0000" size="5px;">✔</font>️</p>
  78 + </div>
  79 + </div>
  80 + </td>
  81 + </tr>
  82 + {/volist}
  83 + </tbody>
  84 + <tfoot>
  85 + <tr>
  86 + <td colspan="4">
  87 + <button type="button" class="layui-btn" lay-submit="" lay-filter="submit">{:lang('submit')}</button>
  88 + <a href='javascript:history.go(-1);' class='layui-btn layui-btn-primary' >返回</a>
  89 + </td>
  90 + </tr>
  91 + </tfoot>
  92 + </table>
  93 + </div>
  94 + </form>
  95 + </div>
  96 +
  97 +
  98 +
  99 +</div>
  100 +{include file="common/foot"/}
  101 +<script src="/static/common/js/angular.min.js"></script>
  102 +<script>
  103 + var m = angular.module('hd',[]);
  104 + m.controller('ctrl',['$scope',function($scope) {
  105 + $scope.field = {type_id:'',name:'',url:'',open:1,sort:50,pic:'',content:''};
  106 + layui.use(['form','layer','upload'], function () {
  107 + var form = layui.form, $ = layui.jquery, upload = layui.upload;
  108 + if($scope.field.pic){
  109 + adPic.src = $scope.field.pic;
  110 + }
  111 + form.on('submit(submit)', function (data) {
  112 + // 提交到方法 默认为本身
  113 + var loading = layer.load(1, {shade: [0.1, '#fff']});
  114 + $.post("{:url('batchAdd')}", data.field, function (res) {
  115 + layer.close(loading);
  116 + if (res.code > 0) {
  117 + layer.msg(res.msg, {time: 1800, icon: 1}, function () {
  118 + location.href = res.url;
  119 + });
  120 + } else {
  121 + layer.msg(res.msg, {time: 1800, icon: 2});
  122 + }
  123 + });
  124 + });
  125 +
  126 + //GIF/视频上传
  127 + var uploadInst = upload.render({
  128 + elem: '.adbtncil'
  129 + ,url: '{:url("UpFiles/qncloud")}'
  130 + ,before: function(obj){
  131 + //预读本地文件示例,不支持ie8
  132 + obj.preview(function(index, file, result){
  133 + //console.log(index); //得到文件索引
  134 + //不处理
  135 + });
  136 + },done: function(res){
  137 + var item = this.item;
  138 + if(res.code>0){
  139 + $('#pic'+item.context.id).val(res.url);
  140 + $('#tip'+item.context.id).css('display', 'block');
  141 + return layer.msg('上传成功');
  142 + }else{
  143 + //如果上传失败
  144 + return layer.msg('上传失败');
  145 + }
  146 + }
  147 + });
  148 + });
  149 + }]);
  150 +</script>
@@ -10,6 +10,9 @@ @@ -10,6 +10,9 @@
10 <a href="{:url('uploadFile')}" class="layui-btn layui-btn-sm"> 10 <a href="{:url('uploadFile')}" class="layui-btn layui-btn-sm">
11 <i class="fa fa-file-image-o"></i> GIF图片、短视频上传 11 <i class="fa fa-file-image-o"></i> GIF图片、短视频上传
12 </a> 12 </a>
  13 + <a href="{:url('Vegetable')}" class="layui-btn layui-btn-sm">
  14 + <i class="fa fa-file-image-o"></i> 菜品库
  15 + </a>
13 </blockquote> 16 </blockquote>
14 <table class="layui-table" id="list" lay-filter="list"></table> 17 <table class="layui-table" id="list" lay-filter="list"></table>
15 </div> 18 </div>
@@ -10,6 +10,9 @@ @@ -10,6 +10,9 @@
10 <a href="{:url('uploadFile')}" class="layui-btn layui-btn-sm layui-btn-danger"> 10 <a href="{:url('uploadFile')}" class="layui-btn layui-btn-sm layui-btn-danger">
11 <i class="fa fa-file-image-o"></i> GIF图片、短视频上传 11 <i class="fa fa-file-image-o"></i> GIF图片、短视频上传
12 </a> 12 </a>
  13 + <a href="{:url('Vegetable')}" class="layui-btn layui-btn-sm">
  14 + <i class="fa fa-file-image-o"></i> 菜品库
  15 + </a>
13 </blockquote> 16 </blockquote>
14 <form class="layui-form layui-form-pane"> 17 <form class="layui-form layui-form-pane">
15 <div class="layui-form-item"> 18 <div class="layui-form-item">
  1 +{include file="common/head"/}
  2 +<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
  3 + <fieldset class="layui-elem-field layui-field-title">
  4 + <legend>{$title}</legend>
  5 + </fieldset>
  6 + <blockquote class="layui-elem-quote">
  7 + <a href="{:url('sellerList')}" class="layui-btn layui-btn-sm">
  8 + <i class="fa fa-file-image-o"></i> 商家信息列表
  9 + </a>
  10 + <a href="{:url('uploadFile')}" class="layui-btn layui-btn-sm">
  11 + <i class="fa fa-file-image-o"></i> GIF图片、短视频上传
  12 + </a>
  13 + <a href="{:url('Vegetable')}" class="layui-btn layui-btn-sm layui-btn-danger">
  14 + <i class="fa fa-file-image-o"></i> 菜品库
  15 + </a>
  16 + </blockquote>
  17 + <form class="layui-form layui-form-pane">
  18 + <div class="layui-form-item" id="container">
  19 + <label class="layui-form-label">菜品名称</label>
  20 + <div class="layui-input-1">
  21 + <input type="text" name="name" ng-model="field.name" lay-verify="required" placeholder="{:lang('pleaseEnter')}图片/视频名称" class="layui-input">
  22 + </div>
  23 + <label class="layui-form-label">菜系</label>
  24 + <div class="layui-input-1">
  25 + <select name="class" id="class" lay-filter="myselect">
  26 + {volist name="arrayCai" id="item"}
  27 + <option value="{$key}">{$item}</option>
  28 + {/volist}
  29 + </select>
  30 + </div>
  31 + <label class="layui-form-label">菜品简介</label>
  32 + <div class="layui-input-2">
  33 + <textarea name="content" style="text-align:left;" class="layui-input"></textarea>
  34 + </div>
  35 + <label class="layui-form-label">菜品图片</label>
  36 + <input type="hidden" name="pic" id="pic" value="{{field.pic}}">
  37 + <div class="layui-input-1">
  38 + <div class="layui-upload">
  39 + <button type="button" class="layui-btn layui-btn-primary" id="adBtn"><i class="icon icon-upload3"></i>点击上传</button>
  40 + <div class="layui-upload-list">
  41 + <img class="layui-upload-img" id="adPic">
  42 + <p id="demoText"></p>
  43 + <video src="" id="adVideo" controls="controls" style="width: 300px;height: 200px;display: none">
  44 + 您的浏览器不支持 video 标签。
  45 + </video>
  46 + </div>
  47 + </div>
  48 + </div>
  49 + </div>
  50 +
  51 + <div class="layui-form-item">
  52 + <button type="button" class="layui-btn" lay-submit="" lay-filter="submit">{:lang('submit')}</button>
  53 + <a href="JavaScript:;" onclick="clickIframe();" class="layui-btn layui-btn-primary">批量添加</a>
  54 + </div>
  55 + </div>
  56 + </form>
  57 +</div>
  58 +{include file="common/foot"/}
  59 +<script src="/static/common/js/angular.min.js"></script>
  60 +<script>
  61 + var m = angular.module('hd',[]);
  62 + m.controller('ctrl',['$scope',function($scope) {
  63 + $scope.field = {type_id:'',name:'',url:'',open:1,sort:50,pic:'',content:''};
  64 + layui.use(['form','layer','upload'], function () {
  65 + var form = layui.form, $ = layui.jquery, upload = layui.upload;
  66 + if($scope.field.pic){
  67 + adPic.src = $scope.field.pic;
  68 + }
  69 + form.on('submit(submit)', function (data) {
  70 + // 提交到方法 默认为本身
  71 + var loading = layer.load(1, {shade: [0.1, '#fff']});
  72 + $.post("{:url('Vegetable')}", data.field, function (res) {
  73 + layer.close(loading);
  74 + if (res.code > 0) {
  75 + layer.msg(res.msg, {time: 1800, icon: 1}, function () {
  76 + location.href = res.url;
  77 + });
  78 + } else {
  79 + layer.msg(res.msg, {time: 1800, icon: 2});
  80 + }
  81 + });
  82 + });
  83 + //GIF/视频上传
  84 + var uploadInst = upload.render({
  85 + elem: '#adBtn'
  86 + ,url: '{:url("UpFiles/qncloud")}'
  87 + ,before: function(obj){
  88 + //预读本地文件示例,不支持ie8
  89 + obj.preview(function(index, file, result){
  90 + if(result.substring(5,10)=="image"){
  91 + $('#adPic').attr('src', result); //图片链接(base64)
  92 + $('#adPic').css('display', 'block');
  93 + $("#adVideo").css('display', 'none');
  94 + }else{
  95 + $("#adVideo").get(0).src=result; //图片链接(base64)
  96 + $("#adVideo").css('display', 'block');
  97 + $('#adPic').css('display', 'none');
  98 + }
  99 + });
  100 + },done: function(res){
  101 + if(res.code>0){
  102 + $('#pic').val(res.url);
  103 + return layer.msg('上传成功');
  104 + }else{
  105 + //如果上传失败
  106 + return layer.msg('上传失败');
  107 + }
  108 + }
  109 + ,error: function(){
  110 + //演示失败状态,并实现重传
  111 + var demoText = $('#demoText');
  112 + demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  113 + demoText.find('.demo-reload').on('click', function(){
  114 + uploadInst.upload();
  115 + });
  116 + }
  117 + });
  118 +
  119 +
  120 + });
  121 + }]);
  122 + function clickIframe(){
  123 + //iframe弹层
  124 + layer.open({
  125 + type: 2,
  126 + title: '批量添加',
  127 + shadeClose: true,
  128 + shade: 0.8,
  129 + area: ['90%', '90%'],
  130 + content: 'batchAdd/' //iframe的url
  131 + });
  132 + }
  133 +</script>