소스 검색

字典增加可以搜索子项目

sugangqiang 1 년 전
부모
커밋
e23d7a2fe5
3개의 변경된 파일21개의 추가작업 그리고 1개의 파일을 삭제
  1. 12 1
      app/admin/view/dict/index.html
  2. 8 0
      app/common/api/DictApi.php
  3. 1 0
      public/static/modular/system/dict/dict.js

+ 12 - 1
app/admin/view/dict/index.html

@@ -19,6 +19,15 @@
                                     <input type="text" class="form-control" id="condition" placeholder="">
                                 </div>                            
                             </div>
+                            <div class="col-sm-3">
+                                <div class="input-group input-group-sm">
+                                    <div class="input-group-btn">
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">项目
+                                        </button>
+                                    </div>
+                                    <input type="text" class="form-control" id="item" placeholder="">
+                                </div>                            
+                            </div>
                             <div class="col-sm-3">
                                 <button type="button" class="btn btn-sm btn-primary " onclick="Dict.search()" id="">
                                     <i class="fa fa-search"></i>&nbsp;搜索
@@ -55,5 +64,7 @@
         </div>
     </div>
 </div>
-<script src="/static/modular/system/dict/dict.js"></script>
+<script type="text/javascript">
+    document.write('<script src="/static/modular/system/dict/dict.js?v=' + (new Date()).getTime() + '"><\/script>');
+</script>
 {/block}

+ 8 - 0
app/common/api/DictApi.php

@@ -94,11 +94,19 @@ class DictApi {
         $offset = trim($request->param("offset")) ?: 0;
         $limit = trim($request->param("limit")) ?: 10;
         $name = trim($request->param("condition"));
+        $item = trim($request->param("item"));
         $where = [];
         $where[] = ["pid", "=", "0"];
         if ($name) {
             $where[] = ["name", "like", "%" . $name . "%"];
         }
+        if ($item) {
+            $_where[] = ["pid", "<>", "0"];
+            $_where[] = ["name", "like", "%" . $item . "%"];
+            $ids = Dict::where($_where)->column("pid");
+            $ids = array_unique($ids);
+            $where[] = ["id", "in", $ids];
+        }
         $count = Dict::where($where)->count();
         $list = Dict::where($where)->limit($offset, $limit)->order("id " . $order)->select()->toArray();
         foreach ($list as &$item) {

+ 1 - 0
public/static/modular/system/dict/dict.js

@@ -93,6 +93,7 @@ Dict.delete = function () {
 Dict.search = function () {
     var queryData = {};
     queryData['condition'] = $("#condition").val();
+    queryData['item'] = $("#item").val();
     Dict.table.refresh({query: queryData});
 };