lizhen vor 4 Wochen
Ursprung
Commit
24e35e34ac

+ 1 - 0
application/admin/lang/zh-cn/unishop/product.php

@@ -5,6 +5,7 @@ return [
     'Category name'    => '分类名称',
     'Title'          => '产品标题',
     'Info'          => '产品简介',
+    'Activetime'          => '活动时间',
     'Image'          => '主图',
     'Images'         => '组图',
     'Desc'           => '详情',

+ 16 - 0
application/admin/model/unishop/Product.php

@@ -28,6 +28,11 @@ class Product extends Model
     protected $updateTime = 'updatetime';
     protected $deleteTime = 'deletetime';
 
+    // 追加属性
+    protected $append = [
+        'activetime_text'
+    ];
+
     protected static function init()
     {
         self::afterInsert(function ($row) {
@@ -36,6 +41,17 @@ class Product extends Model
         });
     }
 
+    public function getActivetimeTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['activetime']) ? $data['activetime'] : '');
+        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+
+    protected function setActivetimeAttr($value)
+    {
+        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+    }
+
     /**
      * 关联分类
      * @return \think\model\relation\BelongsTo

+ 10 - 44
application/admin/view/unishop/product/add.html

@@ -5,12 +5,7 @@
 </style>
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Category_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-category_id" data-rule="required" data-source="unishop/category/selectpage" data-field="name" data-order-by="weigh asc" class="form-control selectpage" name="row[category_id]" type="text" value="">
-        </div>
-    </div>
+
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -24,6 +19,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Activetime')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-activetime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm" data-use-current="true" name="row[activetime]" type="text" value="{:date('Y-m-d H:i')}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
@@ -42,25 +43,7 @@
             <ul class="row list-inline plupload-preview" id="p-image"></ul>
         </div>
     </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Images')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <div class="input-group">
-                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[images]" type="text">
-                <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload"
-                                  data-input-id="c-images"
-                                  data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp"
-                                  data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose"
-                                  data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i
-                            class="fa fa-list"></i> {:__('Choose')}</button></span>
-                </div>
-                <span class="msg-box n-right" for="c-images"></span>
-            </div>
-            <ul class="row list-inline plupload-preview" id="p-images"></ul>
-        </div>
-    </div>
+
 
     <style>
         table tr td, table tr th {
@@ -89,12 +72,7 @@
         </div>
     </div>
 
-    <!--<div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Look')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-look" data-rule="required" min="0" class="form-control" name="row[look]" type="number" value="0">
-        </div>
-    </div>-->
+
 
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
@@ -102,19 +80,7 @@
             <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0">
         </div>
     </div>
-<!--    <div class="form-group">-->
-<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Assign delivery')}:</label>-->
-<!--        <div class="col-xs-12 col-sm-8">-->
-<!--            <input id="c-delivery_id" data-rule="" data-source="unishop/delivery/index" class="form-control selectpage"-->
-<!--                   name="row[delivery_id]" type="text" value="">-->
-<!--        </div>-->
-<!--    </div>-->
-    <!--<div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Server')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            {:build_checkboxs('row[server][]', $servers, [], ['class'=>'form-control', 'required'=>''])}
-        </div>
-    </div>-->
+
 
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Switch')}:</label>

+ 8 - 25
application/admin/view/unishop/product/edit.html

@@ -5,12 +5,7 @@
 </style>
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Category_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-category_id" data-rule="required" data-source="unishop/category/selectpage" data-field="name" data-order-by="weigh asc" class="form-control selectpage" name="row[category_id]" type="text" value="{$row.category_id}">
-        </div>
-    </div>
+
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -24,6 +19,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Activetime')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-activetime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm" data-use-current="true" name="row[activetime]" type="text" value="{:$row.activetime?datetime($row.activetime):''}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
@@ -42,25 +43,7 @@
             <ul class="row list-inline plupload-preview" id="p-image"></ul>
         </div>
     </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Images')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <div class="input-group">
-                <input id="c-images" data-rule="required" class="form-control" size="50" name="row[images]" type="text" value="{$row.images}">
-                <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="plupload-images" class="btn btn-danger plupload"
-                                  data-input-id="c-images"
-                                  data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp"
-                                  data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose"
-                                  data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i
-                            class="fa fa-list"></i> {:__('Choose')}</button></span>
-                </div>
-                <span class="msg-box n-right" for="c-images"></span>
-            </div>
-            <ul class="row list-inline plupload-preview" id="p-images"></ul>
-        </div>
-    </div>
+
 
     <style>
         table tr td, table tr th {

+ 5 - 4
public/assets/js/backend/unishop/product.js

@@ -12,7 +12,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload', 'vue'], fun
     //使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象
     var specComponent = Vue.extend({
         template: '<div>' +
-            '        <div class="form-group">\n' +
+            '        <div style="display: none" class="form-group">\n' +
             '            <label class="control-label col-xs-12 col-sm-2">' + __('use_spec') + '</label>\n' +
             '            <div class="col-xs-12 col-sm-8">\n' +
             '                <input type="radio" name="row[use_spec]" value="0" v-model="use_spec"/>否\n' +
@@ -602,8 +602,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload', 'vue'], fun
                     [
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
-                        {field: 'category_id', title: __('Category_id'), visible: false},
-                        {
+                        // {field: 'category_id', title: __('Category_id'), visible: false},
+                       /* {
                             field: 'category', title: __('Category name'), formatter: function (value, row, index) {
                                 if (value) {
                                     if (value.parent) {
@@ -614,7 +614,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload', 'vue'], fun
                                 }
                                 return value;
                             }
-                        },
+                        },*/
                         {field: 'title', title: __('Title')},
                         {
                             field: 'image',
@@ -622,6 +622,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload', 'vue'], fun
                             events: Table.api.events.image,
                             formatter: Table.api.formatter.image
                         },
+                        {field: 'activetime', title: __('Activetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {
                             field: 'images',
                             title: __('Images'),