# 主页查询说明

主页查询 主页信息查询
Author songgangyu@expservice.com.cn

# 前端示例

检索
<template>
  <div>
    <ht-form ref="searchFm" ref-form="searchFm" divider="检索分栏" :form-list="searchList">
      <ht-search-bar>
        <ht-button @click="handleSearch()">检索</ht-button>
      </ht-search-bar>
    </ht-form>
    <ht-table
      ref="searchTable"
      ref-table="searchTable"
      :table-head="searchTableHead"
      :table-data="searchTableData"
    >
    </ht-table>
  </div>
</template>
<script>
// 实际引入JS
// import { searchInsertPage } from '@/api/oem/cms/orderMng/order';
export default {
  name: 'FormSearchIndex',
  components: {},
  data() {
    return {
      searchList: [
        {
          type: 'text',
          format: [0, 'isNumberLetter', 100],
          label: '查询条件1',
          field: 'outNo',
          colspan: 2
        },
        {
          type: 'text',
          format: [0, 'isNumberLetter', 50],
          label: '查询条件2',
          field: 'outNo2',
          colspan: 2
        },
        {
          type: 'text',
          format: [0, 'isNumberLetter', 50],
          label: '查询条件3',
          field: 'outNo3',
          colspan: 2
        },
        {
          type: 'text',
          format: [0, 'isNumberLetter', 50],
          label: '查询条件4',
          field: 'outNo4',
          colspan: 2
        }
      ],
      searchTableHead: [
        {
          label: '用户账号',
          prop: 'u@account',
          align: 'right',
          query: true
        },
        {
          label: '用户姓名',
          prop: 'u@userName',
          query: true
        },
        {
          type: 'tag',
          label: '部门',
          prop: 'd@dname',
          query: true
        },
        {
          label: '工号',
          prop: 'u@userSn'
        }
      ],
      searchTableData: {}
    };
  },
  mounted() {
    // 初始化执行查询
    this.$nextTick(() => {
      this.handleSearch2();
    });
  },
  methods: {
    /**
     * @todo: 查询(模拟数据,实际不需要)
     * @author: songgangyu@scisoft.cn
     * @Date: 2023-05-25 17:23:28
     */
    async handleSearch2(event) {
      try {
        this.searchTableData = {
          'current': 1,
          'pages': 1,
          'size': 10,
          'total': 7,
          'hitCount': true,
          'searchCount': true,
          'orders': [],
          'optimizeCountSql': true,
          'records':
          [{ 'transHash': {}},
            { 'userSn': '1011', 'userName': '用户01', 'account': '1011', 'dname': '测试', 'rownums': 1 },
            { 'userSn': '1012', 'userName': '用户02', 'account': '1012', 'dname': '研发', 'rownums': 2 },
            { 'userSn': '1013', 'userName': '用户03', 'account': '1013', 'dname': '商务', 'rownums': 3 },
            { 'userSn': '1014', 'userName': '用户04', 'account': '1014', 'dname': '经理', 'rownums': 4 },
            { 'userSn': '1015', 'userName': '用户05', 'account': '1015', 'dname': '测试', 'rownums': 5 },
            { 'userSn': '1016', 'userName': '用户06', 'account': '1016', 'dname': '测试', 'rownums': 6 },
            { 'userSn': '1017', 'userName': '用户07', 'account': '1017', 'dname': '测试', 'rownums': 7 }
          ] };
      } catch (e) {
        this.$notify.message(e, 'error');
      }
    },
    /**
     * @todo: 查询
     *  this.$crud.search(检索Form的ref, Table的ref, js.url)
     * @author: songgangyu@scisoft.cn
     * @Date: 2023-05-25 17:23:54
     */
    async handleSearch(event) {
      try {
        this.searchTableData = await this.$crud.search(this.$refs['searchFm'], this.$refs['searchTable'], searchInsertPage);
      } catch (e) {
        this.$notify.message(e, 'error');
      }
    }
  }
};
</script>




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Expand Copy

# 后端示例

  • Controller
  /**
   * @remark:Form查询Controller层
   * @param: params
   * @return: com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map < java.lang.String, java.lang.Object>>
   * @author: 宋刚宇
   * @date: 2023/5/30 10:18
   * @version: 1.0.1
   * Modification History:
   * Date       Author       Version          Description
   * -----------------------------------------------------------
   * 2023/5/30    宋刚宇         v1.0.1            init
   */
  @ApiOperation(value = "查询->信息", notes = "查询信息服务 带分页")
  @ApiImplicitParams({
      @ApiImplicitParam(name = "params", value = "查询条件参数", dataTypeClass = String.class)
  })
  @PostMapping(value = "/searchInsertPage")
  public IPage<Map<String, Object>> find(@RequestBody String params)
  {
    Page<Map<String, Object>> page = new Page<>();
    String conditions = MyUtil.getConditionsWhere(params, page);
    return csOemSeBaClaimUserService.find(page, conditions);
  }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  • Service
  /**
   * @remark:Form查询Service层
   * @param: page
   * @param: qc
   * @return: com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map < java.lang.String, java.lang.Object>>
   * @author: 宋刚宇
   * @date: 2023/5/30 10:23
   * @version: 1.0.1
   * Modification History:
   * Date       Author       Version          Description
   * -----------------------------------------------------------
   * 2023/5/30    宋刚宇         v1.0.1            init
   */
  IPage<Map<String, Object>> find(Page<Map<String, Object>> page, String qc);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • Impl
    /**Form查询Impl层
     * @remark:
     * @param: page
     * @param: conditions
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map < java.lang.String, java.lang.Object>>
     * @author: 宋刚宇
     * @date: 2023/5/30 10:24
     * @version: 1.0.1
     * Modification History:
     * Date       Author       Version          Description
     * -----------------------------------------------------------
     * 2023/5/30    宋刚宇         v1.0.1            init
     */
  @Override
  public IPage<Map<String, Object>> find(Page<Map<String, Object>> page, String conditions)
  {
    // 设置排序
    OrderItem oi = new OrderItem();
    oi.setColumn("cu.create_time");
    oi.setAsc(true);
    List<OrderItem> al = page.getOrders();
    al.add(oi);
    page.setOrders(al);
    return transResultService.transResult(csOemSeBaClaimUserMapper.find(page, conditions), getTransDic());
  }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  • Mapper
  /**
   * @remark:Form查询Mapper层  
   * @param: page
   * @param: qc
   * @return: com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map < java.lang.String, java.lang.Object>>
   * @author: 宋刚宇
   * @date: 2023/5/30 10:25
   * @version: 1.0.1
   * Modification History:
   * Date       Author       Version          Description
   * -----------------------------------------------------------
   * 2023/5/30    宋刚宇         v1.0.1            init
   */
  @SelectProvider(CsOemSeBaClaimUserSqlProvider.class)
  IPage<Map<String, Object>> find(Page<Map<String, Object>> page, String qc);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • Provide
  /**Form查询Provide层
   * @remark:
   * @param:
   * @return: java.lang.String
   * @author: 宋刚宇
   * @date: 2023/5/30 10:26
   * @version: 1.0.1
   * Modification History:
   * Date       Author       Version          Description
   * -----------------------------------------------------------
   * 2023/5/30    宋刚宇         v1.0.1            init
   */
  public static String find(Page<Map<String, Object>> page, String qc)
  {
    StringBuffer sql = new StringBuffer();
    sql.append(" select \n");
    sql.append(" cu.id id, \n");
    sql.append(" from cs_oem_se_ba_claim_user cu\n");
    sql.append(" WHERE \n");
    sql.append(qc);
    return sql.toString();
  }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 版本

  • v1.0.1