xieruidong 2 år sedan
förälder
incheckning
8c1be64546

+ 34 - 6
application/admin/view/category/add.html

@@ -49,17 +49,45 @@
         </div>
     </div>
     <div class="form-group">
-        <label for="c-img_left" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片')}:</label>
+        <label for="c-img_left0" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*342)')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
-                <input id="c-img_left" data-rule="required" class="form-control" size="50" name="row[img_left]" type="text" value="">
+                <input id="c-img_left0" data-rule="required" class="form-control" size="50" name="row[img_left][0]" type="text" value="">
                 <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="faupload-img_left" class="btn btn-danger faupload" data-input-id="c-img_left" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-img_left" class="btn btn-primary fachoose" data-input-id="c-img_left" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                    <span><button type="button" id="faupload-img_left0" class="btn btn-danger faupload" data-input-id="c-img_left0" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left0"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left0" class="btn btn-primary fachoose" data-input-id="c-img_left0" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                 </div>
-                <span class="msg-box n-right" for="c-img_left"></span>
+                <span class="msg-box n-right" for="c-img_left0"></span>
             </div>
-            <ul class="row list-inline faupload-preview" id="p-img_left"></ul>
+            <ul class="row list-inline faupload-preview" id="p-img_left0"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="c-img_left1" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*694)')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-img_left1" data-rule="required" class="form-control" size="50" name="row[img_left][1]" type="text" value="">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-img_left1" class="btn btn-danger faupload" data-input-id="c-img_left1" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left1"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left1" class="btn btn-primary fachoose" data-input-id="c-img_left1" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-img_left1"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-img_left1"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="c-img_left2" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*1036)')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-img_left2" data-rule="required" class="form-control" size="50" name="row[img_left][2]" type="text" value="">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-img_left2" class="btn btn-danger faupload" data-input-id="c-img_left2" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left2"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left2" class="btn btn-primary fachoose" data-input-id="c-img_left2" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-img_left2"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-img_left2"></ul>
         </div>
     </div>
     <!--<div class="form-group">

+ 34 - 6
application/admin/view/category/edit.html

@@ -45,17 +45,45 @@
         </div>
     </div>
     <div class="form-group">
-        <label for="c-img_left" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片')}:</label>
+        <label for="c-img_left0" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*342)')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
-                <input id="c-img_left" data-rule="required" class="form-control" size="50" name="row[img_left]" type="text" value="{$row.img_left}">
+                <input id="c-img_left0" data-rule="required" class="form-control" size="50" name="row[img_left][0]" type="text" value="{$row.img_left.0|default=''}">
                 <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="faupload-img_left" class="btn btn-danger faupload" data-input-id="c-img_left" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-img_left" class="btn btn-primary fachoose" data-input-id="c-img_left" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                    <span><button type="button" id="faupload-img_left0" class="btn btn-danger faupload" data-input-id="c-img_left0" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left0"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left0" class="btn btn-primary fachoose" data-input-id="c-img_left0" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                 </div>
-                <span class="msg-box n-right" for="c-img_left"></span>
+                <span class="msg-box n-right" for="c-img_left0"></span>
             </div>
-            <ul class="row list-inline faupload-preview" id="p-img_left"></ul>
+            <ul class="row list-inline faupload-preview" id="p-img_left0"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="c-img_left1" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*694)')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-img_left1" data-rule="required" class="form-control" size="50" name="row[img_left][1]" type="text" value="{$row.img_left.1|default=''}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-img_left1" class="btn btn-danger faupload" data-input-id="c-img_left1" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left1"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left1" class="btn btn-primary fachoose" data-input-id="c-img_left1" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-img_left1"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-img_left1"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="c-img_left2" class="control-label col-xs-12 col-sm-2">{:__('首页分类左方图片(248*1036)')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-img_left2" data-rule="required" class="form-control" size="50" name="row[img_left][2]" type="text" value="{$row.img_left.2|default=''}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-img_left2" class="btn btn-danger faupload" data-input-id="c-img_left2" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-img_left2"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-img_left2" class="btn btn-primary fachoose" data-input-id="c-img_left2" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-img_left2"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-img_left2"></ul>
         </div>
     </div>
     <!--<div class="form-group">

+ 99 - 0
application/admin/view/page/page_zhihuiyiliao.html

@@ -0,0 +1,99 @@
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport"
+          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>Document</title>
+    <script crossorigin="anonymous" integrity="sha512-PhuYrdDBtBeUjY7KTmjRYFFadw8uXXdTmzZyhCHZewYsqZJ0pxFCwU528jRoil42LXMW3ksegQT5zdjkfiR1IA==" src="https://lib.baomitu.com/vue/2.7.7/vue.min.js"></script>
+    <script crossorigin="anonymous" integrity="sha512-hybks56be1W1sC5RgFWfH7pn+uUlfCi6bPD8AbNvNlc7b1k69wwIxwhF05wobYemsndUkdoNWomx/kBD94xpgA==" src="https://lib.baomitu.com/element-ui/2.15.10/index.min.js"></script>
+    <link crossorigin="anonymous" integrity="sha512-2by4R3Ml3Olue9XwB86eM7YLPqZr1pOBFfdsSOFs/1SJ7NIOCz0QhK99lR7d4+B/aOYXOWnghUUV/gjaITrL1g==" href="https://lib.baomitu.com/element-ui/2.15.10/theme-chalk/index.min.css" rel="stylesheet">
+    <script src="/assets/libs/jquery/dist/jquery.min.js"></script>
+    <style type="text/css">
+        [v-cloak]{
+            display: none;
+        }
+        .add-img {
+            width: 60px;
+            height: 60px;
+            border: 1px dashed #E6E6E6;
+            border-radius: 4px;
+            justify-content: center;
+        }
+        .display-flex {
+            display: flex;
+            align-items: center;
+        }
+        .goods-images {
+            width: 80%;
+            border-radius: 4px;
+            position: relative;
+            border: 1px solid #7438D5;
+            margin-right: 10px;
+            margin-bottom: 10px;
+        }
+        .label-auto {
+            width: 100%;
+            height: 100%;
+        }
+        .del-image-btn {
+            position: absolute;
+            width: 14px;
+            height: 14px;
+            line-height: 14px;
+            text-align: center;
+            border-radius: 50%;
+            font-size: 12px;
+            font-weight: 600;
+            background: #7438D5;
+            color: #fff;
+            top: -7px;
+            right: -7px;
+        }
+        .sInput{
+            width: 200px;
+        }
+        .smInput{
+            width: 100px;
+        }
+        .sizeSpecItem{
+            width: 260px;
+            display: inline-block;
+        }
+        .mgtb10{
+            margin-top: 5px;
+        }
+    </style>
+</head>
+<body>
+<div id="app" v-cloak>
+    <el-form :model="form" ref="form" size="mini" label-width="120px" :rules="rules">
+        <el-form-item label="模块1背景图" prop="a.bg">
+            <img class="label-auto" @click="changeImg('image',it,'icon')"
+                 :src="Fast.api.cdnurl(form.a.bg||{$defIcon})"
+                 style="border-radius: 4px;width: 100px;height: 100px;"
+            >
+        </el-form-item>
+        <el-form-item label="模块1标题" prop="a.title">
+            <img class="label-auto" @click="changeImg('image',it,'icon')"
+                 :src="Fast.api.cdnurl(form.a.title)"
+                 style="border-radius: 4px;width: 100px;height: 100px;"
+            >
+        </el-form-item>
+        <el-form-item label="模块1介绍" prop="a.desc">
+            <img class="label-auto" @click="changeImg('image',it,'icon')"
+                 :src="Fast.api.cdnurl(form.a.desc)"
+                 style="border-radius: 4px;width: 100px;height: 100px;"
+            >
+        </el-form-item>
+    </el-form>
+    <div style="text-align: center">
+        <el-button type="primary" :loading="isLoad" @click="save">保存</el-button>
+    </div>
+</div>
+
+</body>
+<script>
+    var row={$row|json_encode};
+</script>
+</html>

+ 3 - 0
application/common/model/Category.php

@@ -26,6 +26,9 @@ class Category extends Model
         self::C_ZJ=>'支架',
         self::C_PEIJIAN=>'配件',
     ];
+    protected $type=[
+        'img_left'=>'array',
+    ];
 
     protected static function init()
     {

+ 73 - 0
public/assets/js/backend/page.js

@@ -112,6 +112,79 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 }
             });
         },
+        page_zhihuiyiliao: function () {
+            let _this=this
+            let app=new Vue({
+                el:'#app',
+                data:()=>({
+                    isLoad:false,
+                    rules:{},
+                    form:row.content,
+                }),
+                methods:{
+                    save(){
+                        for (let item of this.form){
+                            if(!item.icon||!item.name){
+                                this.$message.error('请填写必填内容')
+                                return
+                            }
+                        }
+                        _this.contentSave(this)
+                    },
+                    addImg(type, index, multiple) {
+                        let that = this;
+                        let ext
+                        if(type==='image'){
+                            ext='image/*'
+                        }else if(type==='video'){
+                            ext='video/mp4'
+                        }
+                        parent.Fast.api.open(`general/attachment/select?mimetype=${ext}&multiple=` + multiple, "选择图片", {
+                            callback: function (data) {
+                                switch (type) {
+                                    case "image":
+                                        data.url.split(',').forEach(item=>{
+                                            if(that.form.logo.length<that.logoLength) {
+                                                that.form.logo.push(item)
+                                            }
+                                        })
+                                        break;
+                                    case "video":
+                                        that.form.video=data.url
+                                        break;
+                                }
+                            }
+                        });
+                        return false;
+                    },
+                    changeImg(type,obj,name) {
+                        let that = this;
+                        let ext
+                        if(type==='image'){
+                            ext='image/*'
+                        }else if(type==='video'){
+                            ext='video/mp4'
+                        }
+                        parent.Fast.api.open(`general/attachment/select?mimetype=${ext}&multiple=0`, "选择图片", {
+                            callback: function (data) {
+                                switch (type) {
+                                    case "image":
+                                        that.$set(obj,name,data.url)
+                                        break;
+                                    case "video":
+                                        that.form.video=data.url
+                                        break;
+                                }
+                            }
+                        });
+                        return false;
+                    },
+                    delImg(index) {
+                        this.form.logo.splice(index,1)
+                    },
+                }
+            });
+        },
         contentSave(_this){
             _this.isLoad=true
             let form=JSON.stringify(_this.form)