ソースを参照

vue_admin_action

Panda 3 ヶ月 前
コミット
9176a3623c

+ 7 - 4
application/admin/controller/VueDemo.php

@@ -4,6 +4,7 @@ namespace app\admin\controller;
 
 use app\common\model\UserModel;
 use App\Utils\AppResult;
+use think\Request;
 
 /**
  * Admin 模块父级
@@ -24,8 +25,10 @@ class VueDemo extends VueModule
                 // 请求类型是否为POST
                 if ($this->isPost) {
                     // 条件语句
-                    if (!empty($params['keyword'])) $this->model->where('title', 'like', "%{$params['keyword']}%");
-                    if (!empty($params['status'])) $this->model->where('status', $params['status']);
+                    if (!empty($params['keyword'])) {
+                        $this->model->where('nickname|mobile', 'like', "%{$params['keyword']}%");
+                    }
+                    if (!empty($params['gender'])) $this->model->where('gender', $params['gender']);
                 }
                 break;
 //            case 'insert':
@@ -39,8 +42,8 @@ class VueDemo extends VueModule
         return parent::callAction($method, $parameters); // TODO: Change the autogenerated stub
     }
 
-    public function __construct(array $attributes = [])
+    public function __construct(Request $request = null)
     {
-        parent::__construct();
+        parent::__construct($request);
     }
 }

+ 2 - 3
application/admin/controller/VueModule.php

@@ -19,7 +19,7 @@ class VueModule extends Backend
     protected       $model;  // 在子类中赋值
     protected array $params       = [];    // 请求参数
     protected array $unset_fields = ['status'];    // 初始化隐藏字段
-    protected int   $statusValue  = 2;    // 状态默认值
+    protected int   $statusValue  = 1;    // 状态默认值
     protected bool  $isPost;              // 请求类型是否为POST
 
     public function __construct(Request $request = null)
@@ -40,7 +40,7 @@ class VueModule extends Backend
      */
     public function callAction($method, $parameters = [])
     {
-        return $this->{$method}(...array_values($parameters));
+        return $this;
     }
 
     /**
@@ -54,7 +54,6 @@ class VueModule extends Backend
             $params = $this->params;
 
             $query = $this->model;
-
             // 自动排序
             if ($orderBy = AdminData::orderBy()) {
                 foreach ($orderBy as $order) {

+ 28 - 44
application/admin/view/vue_demo/index.html

@@ -30,19 +30,13 @@
     <div class="form-container-header">
         <el-form :inline="true" :model="tables.search" size="small">
             <el-form-item>
-                <el-input v-model="tables.search.deviceCode" placeholder="按设备号搜索" clearable></el-input>
+                <el-input v-model="tables.search.keyword" placeholder="按昵称|手机号关键词搜索" clearable></el-input>
             </el-form-item>
             <el-form-item>
-                <el-input v-model="tables.search.deviceType" placeholder="按设备型号搜索" clearable></el-input>
-            </el-form-item>
-            <el-form-item>
-                <el-input v-model="tables.search.watchName" placeholder="按设备名称搜索" clearable></el-input>
-            </el-form-item>
-            <el-form-item>
-                <el-select v-model="tables.search.activationStatus" placeholder="-- 按状态搜索 --" clearable>
+                <el-select v-model="tables.search.gender" placeholder="-- 按性别搜索 --" clearable>
                     <el-option label="状态(全部)" value=""></el-option>
-                    <el-option key="0" label="未激活" value="0"></el-option>
-                    <el-option key="1" label="已激活" value="1"></el-option>
+                    <el-option key="0" label="女" value="0"></el-option>
+                    <el-option key="1" label="男" value="1"></el-option>
                 </el-select>
             </el-form-item>
 
@@ -65,42 +59,30 @@
                 tooltip-effect="dark"
                 ref="formContainerTables"
                 row-key="id">
-            <el-table-column prop="id" label="#ID" align="center" width="60"></el-table-column>
-            <el-table-column prop="avatar" label="头像" align="center" width="80">
+            <el-table-column prop="id" label="#ID" align="center" min-width="60"></el-table-column>
+            <el-table-column prop="avatar" label="头像" align="center" min-width="80">
                 <template slot-scope="scope">
                     <va-image :src="scope.row.avatar" :key="scope.row.avatar" class="tables-image"></va-image>
                 </template>
             </el-table-column>
-            <el-table-column prop="nickname" label="昵称" align="center" width="100"></el-table-column>
-            <el-table-column prop="mobile" label="手机号" align="center" width="100"></el-table-column>
+            <el-table-column prop="nickname" label="昵称" align="center"></el-table-column>
+            <el-table-column prop="mobile" label="手机号" align="center"></el-table-column>
 
-            <el-table-column prop="gender" label="性别" align="center" width="60">
+            <el-table-column prop="gender" label="性别" align="center">
                 <template slot-scope="scope">
                     <el-tag v-if="scope.row.gender == 0" size="mini" type="danger" effect="plain">女</el-tag>
                     <el-tag v-if="scope.row.gender == 1" size="mini" type="success" effect="plain">男</el-tag>
                 </template>
             </el-table-column>
-            <el-table-column prop="birthday_type" label="生日类型" align="center" width="80">
+
+            <el-table-column prop="birthday" label="生日" align="center"></el-table-column>
+            <el-table-column prop="money" label="金额" align="center">
                 <template slot-scope="scope">
-                    <el-tag v-if="scope.row.birthday_type == 1" size="mini" type="danger" effect="plain">阴历</el-tag>
-                    <el-tag v-if="scope.row.birthday_type == 2" size="mini" type="success" effect="plain">阳历</el-tag>
+                    <el-tag size="mini" effect="plain">¥{{scope.row.money}}</el-tag>
                 </template>
             </el-table-column>
-            <el-table-column prop="birthday" label="生日" align="center"></el-table-column>
-
-            <el-table-column prop="watch_id" label="手表用户ID" align="center"></el-table-column>
-            <el-table-column prop="watch_no" label="手表编号" align="center"></el-table-column>
-            <el-table-column prop="watch_activation_no" label="手表激活码" align="center"></el-table-column>
-            <el-table-column prop="watch_bind_time" label="手表绑定时间" align="center" :formatter="formatTableDate" width="160" sortable></el-table-column>
-            <el-table-column prop="watch_end_time" label="手表到期时间" align="center" :formatter="formatTableDate" width="160" sortable></el-table-column>
+            <el-table-column prop="createtime" label="创建时间" align="center" :formatter="formatTableDate" min-width="160" sortable></el-table-column>
 
-            <el-table-column prop="urgent" label="紧急联系人姓名" align="center"></el-table-column>
-            <el-table-column prop="urgent_phone" label="紧急联系人手机号" align="center"></el-table-column>
-            <el-table-column prop="urgent_relation" label="紧急联系人关系" align="center"></el-table-column>
-            <el-table-column prop="province" label="省" align="center"></el-table-column>
-            <el-table-column prop="city" label="市" align="center"></el-table-column>
-            <el-table-column prop="district" label="区" align="center"></el-table-column>
-            <el-table-column prop="area" label="地址详情" align="center"></el-table-column>
             <el-table-column prop="options" label="操作" align="left" fixed="right" width="160">
                 <template slot-scope="scope">
                     <el-button size="mini" warning type="text" @click="tablesRowsUpdate(scope.row)" v-if="permissions.update">
@@ -132,17 +114,19 @@
                 </template>
             </el-table-column>
         </el-table>
-        <div class="Va-container-tables-pagination-box"><el-pagination
-                class="Va-container-tables-pagination"
-                @size-change="tablesPaginationSizeChange"
-                @current-change="tablesPaginationCurrentChange"
-                :current-page.sync="tables.pagination.page"
-                :page-sizes="tables.pagination.sizes"
-                :page-size="tables.pagination.size"
-                :layout="tables.pagination.layouts"
-                :total="tables.pagination.total"
-                data-7512a93d>
-        </el-pagination></div>
+        <div class="Va-container-tables-pagination-box">
+            <el-pagination
+                    class="Va-container-tables-pagination"
+                    @size-change="tablesPaginationSizeChange"
+                    @current-change="tablesPaginationCurrentChange"
+                    :current-page.sync="tables.pagination.page"
+                    :page-sizes="tables.pagination.sizes"
+                    :page-size="tables.pagination.size"
+                    :layout="tables.pagination.layouts"
+                    :total="tables.pagination.total"
+                    data-7512a93d>
+            </el-pagination>
+        </div>
     </div>
 </div>
 {/block}
@@ -197,7 +181,7 @@
 
             tablesResetsEvent() {
                 var that = this;
-                that.tables.search = {keyword: '', status: ''};
+                that.tables.search = {};
                 that.tablesGetTableList();
             },
         },