weiximei 6 年 前
コミット
61b76a8135

+ 67
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TransactionController.java ファイルの表示

@@ -0,0 +1,67 @@
1
+package com.community.huiju.controller;
2
+
3
+
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.commom.session.UserElement;
6
+import com.community.huiju.common.base.BaseController;
7
+import com.community.huiju.model.TpTransaction;
8
+import com.community.huiju.service.ITransactionService;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiImplicitParam;
11
+import io.swagger.annotations.ApiImplicitParams;
12
+import io.swagger.annotations.ApiOperation;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.cloud.context.config.annotation.RefreshScope;
15
+import org.springframework.web.bind.annotation.RequestBody;
16
+import org.springframework.web.bind.annotation.RequestMapping;
17
+import org.springframework.web.bind.annotation.RequestMethod;
18
+import org.springframework.web.bind.annotation.RequestParam;
19
+import org.springframework.web.bind.annotation.RestController;
20
+
21
+import javax.servlet.http.HttpSession;
22
+
23
+/**
24
+ * <p>
25
+ * 物业web端二手交易表 前端控制器
26
+ * </p>
27
+ *
28
+ * @author jobob
29
+ * @since 2018-12-29
30
+ */
31
+@RestController
32
+@RefreshScope
33
+@RequestMapping("/")
34
+@Api(value = "二手租赁相关信息", description = "二手租赁相关信息Api")
35
+public class TransactionController extends BaseController {
36
+	
37
+	@Autowired
38
+	private ITransactionService transactionService;
39
+	
40
+	@ApiOperation(value = "根据搜索条件获取二手租赁列表", notes = "根据搜索条件获取二手租赁列表")
41
+	@ApiImplicitParams({
42
+			@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "transactionId", value = "帖子编号"),
43
+			@ApiImplicitParam(paramType = "query", dataType = "String", name = "transactionTitle", value = "帖子标题(模糊查询)"),
44
+			@ApiImplicitParam(paramType = "query", dataType = "String", name = "status", value = "发布状态"),
45
+			@ApiImplicitParam(paramType = "query", dataType = "String", name = "isReported", value = "是否被举报"),
46
+			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageNum", value = "分页第几页"),
47
+			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")
48
+	})
49
+	@RequestMapping(value = "/transactions",method = RequestMethod.GET)
50
+	public ResponseBean getList(@RequestParam(value = "transactionId", required = false) Integer transactionId,
51
+	                            @RequestParam(value = "transactionTitle", required = false) String transactionTitle,
52
+	                            @RequestParam(value = "status", required = false) String status,
53
+	                            @RequestParam(value = "isReported", required = false) String isReported,
54
+	                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
55
+	                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, HttpSession session){
56
+		ResponseBean responseBean = new ResponseBean();
57
+		UserElement userElement = getUserElement(session);
58
+		TpTransaction tpTransaction = new TpTransaction();
59
+		tpTransaction.setId(transactionId);
60
+		tpTransaction.setTransactionTitle(transactionTitle);
61
+		tpTransaction.setStatus(status);
62
+		tpTransaction.setIsReported(isReported);
63
+		tpTransaction.setCommunityId(userElement.getCommunityId());
64
+		responseBean = transactionService.getTransactionList(tpTransaction,pageNum,pageSize);
65
+		return responseBean;
66
+	}
67
+}

+ 21
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTransactionMapper.java ファイルの表示

@@ -0,0 +1,21 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.community.huiju.model.TpTransaction;
6
+import org.apache.ibatis.annotations.Param;
7
+
8
+import java.util.List;
9
+
10
+/**
11
+ * <p>
12
+ * 物业web端二手交易表 Mapper 接口
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2018-12-29
17
+ */
18
+public interface TpTransactionMapper extends BaseMapper<TpTransaction> {
19
+	
20
+	List<TpTransaction> selectListByParams(IPage page,@Param("tpTransaction") TpTransaction tpTransaction);
21
+}

+ 95
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTransaction.java ファイルの表示

@@ -0,0 +1,95 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import lombok.Data;
5
+import lombok.EqualsAndHashCode;
6
+import lombok.experimental.Accessors;
7
+
8
+import java.io.Serializable;
9
+import java.time.LocalDateTime;
10
+
11
+/**
12
+ * <p>
13
+ * 物业web端二手交易表
14
+ * </p>
15
+ *
16
+ * @author jobob
17
+ * @since 2018-12-29
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@TableName("tp_transaction")
23
+public class TpTransaction implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+    
27
+    private Integer id;
28
+    
29
+    /**
30
+     * 小区id
31
+     */
32
+    private Integer communityId;
33
+
34
+    /**
35
+     * 住户app的用户id
36
+     */
37
+    private Integer taUserId;
38
+
39
+    /**
40
+     * 交易标题
41
+     */
42
+    private String transactionTitle;
43
+
44
+    /**
45
+     * 交易内容
46
+     */
47
+    private String transactionContent;
48
+
49
+    /**
50
+     * 查看人数
51
+     */
52
+    private Integer viewCount;
53
+
54
+    /**
55
+     * 0 是已作废 1 是已发布   
56
+     */
57
+    private String status;
58
+
59
+    /**
60
+     * 0 代表 二手(卖二手物品)  1 是代表 求购 (买二手物品) 2 是代表 租赁(租二手物品)
61
+     */
62
+    private String type;
63
+
64
+    /**
65
+     * 是否被举报 1是被举报 0或null是没被举报
66
+     */
67
+    private String isReported;
68
+
69
+    /**
70
+     * 创建人
71
+     */
72
+    private Integer createUser;
73
+
74
+    /**
75
+     * 创建时间
76
+     */
77
+    private LocalDateTime createDate;
78
+
79
+    /**
80
+     * 更新人
81
+     */
82
+    private Integer updateUser;
83
+
84
+    /**
85
+     * 更新时间
86
+     */
87
+    private LocalDateTime updateDate;
88
+    
89
+    /**
90
+     * 创建人
91
+     */
92
+    private String userName;
93
+
94
+
95
+}

+ 19
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/ITransactionService.java ファイルの表示

@@ -0,0 +1,19 @@
1
+package com.community.huiju.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.commom.session.UserElement;
6
+import com.community.huiju.model.TpTransaction;
7
+
8
+/**
9
+ * <p>
10
+ * 物业web端二手交易表 服务类
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2018-12-29
15
+ */
16
+public interface ITransactionService extends IService<TpTransaction> {
17
+	
18
+	ResponseBean getTransactionList(TpTransaction tpTransaction, Integer pageNum, Integer pageSize);
19
+}

+ 47
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TransactionServiceImpl.java ファイルの表示

@@ -0,0 +1,47 @@
1
+package com.community.huiju.service.impl;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
+import com.community.commom.mode.ResponseBean;
9
+import com.community.commom.session.UserElement;
10
+import com.community.huiju.dao.TpTransactionMapper;
11
+import com.community.huiju.model.TpBuildingOwnerInfo;
12
+import com.community.huiju.model.TpTransaction;
13
+import com.community.huiju.service.ITransactionService;
14
+import com.google.common.collect.Maps;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.stereotype.Service;
17
+
18
+import java.util.List;
19
+import java.util.Map;
20
+
21
+/**
22
+ * <p>
23
+ * 物业web端二手交易表 服务实现类
24
+ * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2018-12-29
28
+ */
29
+@Service
30
+public class TransactionServiceImpl extends ServiceImpl<TpTransactionMapper, TpTransaction> implements ITransactionService {
31
+	
32
+	@Autowired
33
+	private TpTransactionMapper tpTransactionMapper;
34
+	
35
+	@Override
36
+	public ResponseBean getTransactionList(TpTransaction tpTransaction, Integer pageNum, Integer pageSize) {
37
+		ResponseBean responseBean = new ResponseBean();
38
+		Page page = new Page(pageNum,pageSize);
39
+		// 分页查询
40
+		List<TpTransaction> list = tpTransactionMapper.selectListByParams(page,tpTransaction);
41
+		Map<String, Object> map = Maps.newHashMap();
42
+		map.put("list",list);
43
+		map.put("total",page.getTotal());
44
+		responseBean.addSuccess(map);
45
+		return responseBean;
46
+	}
47
+}

+ 35
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpTransactionMapper.xml ファイルの表示

@@ -0,0 +1,35 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.TpTransactionMapper">
4
+    <select id="selectListByParams" resultType="com.community.huiju.model.TpTransaction">
5
+        SELECT
6
+            t.id,
7
+            t.community_id AS communityId,
8
+            t.transaction_title AS transactionTitle,
9
+            t.view_count AS viewCount,
10
+            t.`status`,
11
+            t.type,
12
+            t.is_reported AS isReported,
13
+            t.create_date AS createDate,
14
+            u.user_name AS userName
15
+        FROM
16
+            tp_transaction t
17
+            LEFT JOIN ta_user u ON t.ta_user_id = u.id
18
+            AND u.community_id = #{tpTransaction.communityId}
19
+        WHERE
20
+            1 = 1
21
+            AND t.community_id = #{tpTransaction.communityId}
22
+        <if test="tpTransaction.id != null and tpTransaction.id != ''">
23
+            and t.id = #{tpTransaction.id}
24
+        </if>
25
+        <if test="tpTransaction.transactionTitle != null and tpTransaction.transactionTitle != ''">
26
+            and t.transaction_title like concat('%',#{tpTransaction.transactionTitle,jdbcType=VARCHAR},'%')
27
+        </if>
28
+        <if test="tpTransaction.status != null and tpTransaction.status != ''">
29
+            and t.status = #{tpTransaction.status}
30
+        </if>
31
+        <if test="tpTransaction.isReported != null and tpTransaction.isReported != ''">
32
+            and t.is_reported = #{tpTransaction.isReported}
33
+        </if>
34
+    </select>
35
+</mapper>

+ 9
- 0
VUECODE/smart-property-manage/src/api/transaction.js ファイルの表示

@@ -0,0 +1,9 @@
1
+import request from '@/utils/request'
2
+
3
+export function fetchList(query) {
4
+  return request({
5
+    url: '/transactions',
6
+    method: 'get',
7
+    params: query
8
+  })
9
+}

+ 3
- 1
VUECODE/smart-property-manage/src/store/index.js ファイルの表示

@@ -6,6 +6,7 @@ import banner from './modules/banner'
6 6
 import community from './modules/community'
7 7
 import trunkIndex from './modules/trunkIndex'
8 8
 import batchImport from './modules/batchImport'
9
+import transaction from './modules/transaction'
9 10
 import getters from './getters'
10 11
 import buildingOwnerInfo from './modules/buildingOwnerInfo'
11 12
 import activity from './modules/activity'
@@ -21,7 +22,8 @@ const store = new Vuex.Store({
21 22
     trunkIndex,
22 23
     batchImport,
23 24
     buildingOwnerInfo,
24
-    activity
25
+    activity,
26
+    transaction
25 27
   },
26 28
   getters
27 29
 })

+ 36
- 0
VUECODE/smart-property-manage/src/store/modules/transaction.js ファイルの表示

@@ -0,0 +1,36 @@
1
+import { fetchList } from '@/api/transaction'
2
+
3
+const transaction = {
4
+  namespaced: true,
5
+  state: {
6
+    total: '',
7
+    transactionList: []
8
+  },
9
+
10
+  mutations: {
11
+    SET_LIST: (state, list) => {
12
+      state.transactionList = list
13
+    },
14
+    SET_TOTAL: (state, total) => {
15
+      state.total = total
16
+    }
17
+  },
18
+
19
+  actions: {
20
+    // fetchList,获取社区列表
21
+    FetchTransactionList({ commit }, listQuery) {
22
+      return new Promise((resolve, reject) => {
23
+        fetchList(listQuery).then(response => {
24
+          const data = response.data
25
+          commit('SET_LIST', data.list)
26
+          commit('SET_TOTAL', data.total)
27
+          resolve()
28
+        }).catch(error => {
29
+          reject(error)
30
+        })
31
+      })
32
+    }
33
+  }
34
+}
35
+
36
+export default transaction

+ 266
- 7
VUECODE/smart-property-manage/src/views/social/transaction/index.vue ファイルの表示

@@ -1,13 +1,272 @@
1
-
2 1
 <template>
3
-  <div>二手求购租赁</div>
2
+  <div class="app-container">
3
+    <div class="filter-container">
4
+      <el-input v-model="listQuery.transactionId" placeholder="帖子编号" style="width: 200px;" class="filter-item" @keyup.enter.native="handleFilter"/>
5
+      <el-input v-model="listQuery.transactionTitle" placeholder="帖子标题" style="width: 200px;" class="filter-item" @keyup.enter.native="handleFilter"/>
6
+      <el-select v-model="listQuery.status" placeholder="发布状态" style="width: 130px" class="filter-item">
7
+        <el-option label="已发布" value="1"/>
8
+        <el-option label="已作废" value="0"/>
9
+      </el-select>
10
+      <el-select v-model="listQuery.isReported" placeholder="是否被举报" class="filter-item" style="width: 130px">
11
+        <el-option label="无举报" value="0"/>
12
+        <el-option label="被举报" value="1"/>
13
+      </el-select>
14
+      <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查询</el-button>
15
+      <el-button v-waves class="filter-item" type="info" icon="el-icon-warning" @click="clearListQuery">清空</el-button>
16
+    </div>
17
+
18
+    <el-table
19
+      v-loading="listLoading"
20
+      :key="tableKey"
21
+      :data="transactionList"
22
+      border
23
+      fit
24
+      highlight-current-row
25
+      style="width: 100%; margin-top: 20px;"
26
+      @sort-change="sortChange">
27
+      <el-table-column
28
+        label="序号"
29
+        align="center"
30
+        type="index"
31
+        width="50"/>
32
+      <el-table-column label="编号" align="center">
33
+        <template slot-scope="scope">
34
+          <span>{{ scope.row.id }}</span>
35
+        </template>
36
+      </el-table-column>
37
+      <el-table-column label="类型" align="center">
38
+        <template slot-scope="scope">
39
+          <span v-if="scope.row.type === '0'">二手</span>
40
+          <span v-if="scope.row.type === '1'">求购</span>
41
+          <span v-if="scope.row.type === '2'">租赁</span>
42
+        </template>
43
+      </el-table-column>
44
+      <el-table-column label="标题" align="center">
45
+        <template slot-scope="scope">
46
+          <span>{{ scope.row.transactionTitle }}</span>
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column label="查看人数" align="center">
50
+        <template slot-scope="scope">
51
+          <span>{{ scope.row.viewCount }}</span>
52
+        </template>
53
+      </el-table-column>
54
+      <el-table-column label="发布人" align="center">
55
+        <template slot-scope="scope">
56
+          <span>{{ scope.row.userName }}</span>
57
+        </template>
58
+      </el-table-column>
59
+      <el-table-column label="发布时间" align="center">
60
+        <template slot-scope="scope">
61
+          <span>{{ formatDate(scope.row.createDate) }}</span>
62
+        </template>
63
+      </el-table-column>
64
+      <el-table-column label="发布状态" align="center">
65
+        <template slot-scope="scope">
66
+          <span v-if="scope.row.status === '0'">已作废</span>
67
+          <span v-if="scope.row.status === '1'">已发布</span>
68
+        </template>
69
+      </el-table-column>
70
+      <el-table-column label="举报状态" align="center">
71
+        <template slot-scope="scope">
72
+          <span>{{ scope.row.isReported === '1' ? "被举报" : "无举报" }}</span>
73
+        </template>
74
+      </el-table-column>
75
+    </el-table>
76
+
77
+    <!-- <pagination v-show="total>0" :total="total" :current-page.sync="listQuery.pageNum" :limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 20, 30]" @pagination="getList" /> -->
78
+    <el-pagination
79
+      :total="total"
80
+      :current-page="listQuery.pageNum"
81
+      :page-sizes="[5, 10, 20, 30]"
82
+      :page-size="listQuery.pageSize"
83
+      layout="total, sizes, prev, pager, next, jumper"
84
+      @size-change="handleSizeChange"
85
+      @current-change="handleCurrentChange"/>
86
+
87
+  </div>
4 88
 </template>
89
+
5 90
 <script>
91
+import { mapState, mapActions, mapMutations } from 'vuex'
92
+import waves from '@/directive/waves' // Waves directive
93
+import { parseTime } from '@/utils'
94
+
6 95
 export default {
7
-  name: 'Index'
96
+  computed: {
97
+    ...mapState('transaction', {
98
+      transactionList: s => s.transactionList,
99
+      total: s => s.total
100
+    })
101
+  },
102
+  directives: { waves },
103
+  data() {
104
+    var _self = this
105
+    return {
106
+      events: {
107
+        click: (e) => {
108
+          // _self.postData.Coordinate = e.lnglat.lat + ',' + e.lnglat.lng
109
+          _self.detail.longitude = e.lnglat.lng
110
+          _self.detail.latitude = e.lnglat.lat
111
+        }
112
+      },
113
+      markers: [],
114
+      searchOption: {
115
+        city: '南京',
116
+        citylimit: false
117
+      },
118
+      listLoading: true,
119
+      listQuery: {
120
+        pageNum: 1,
121
+        pageSize: 20,
122
+        transactionId: undefined,
123
+        transactionTitle: undefined,
124
+        status: undefined,
125
+        isReported: undefined
126
+      },
127
+      tableKey: 0,
128
+      downloadLoading: false
129
+    }
130
+  },
131
+  created() {
132
+    this.getList()
133
+  },
134
+  methods: {
135
+    ...mapMutations('transaction', {
136
+    }),
137
+    ...mapActions('transaction', [
138
+      'FetchTransactionList'
139
+    ]),
140
+    setCurrent(item) {
141
+      this.setDetail({ ...item })
142
+    },
143
+    getList() {
144
+      this.listLoading = true
145
+      this.FetchTransactionList(this.listQuery).then(() => {
146
+        this.listLoading = false
147
+      }).catch(() => {
148
+        this.loading = false
149
+        console.log('get list error')
150
+      })
151
+    },
152
+    clearListQuery() {
153
+      this.listQuery.pageNum = 1
154
+      this.listQuery.pageSize = 20
155
+      this.listQuery.transactionId = undefined
156
+      this.listQuery.transactionTitle = undefined
157
+      this.listQuery.status = undefined
158
+      this.listQuery.isReported = undefined
159
+      this.getList()
160
+    },
161
+    handleFilter() {
162
+      this.listQuery.pageNum = 1
163
+      this.getList()
164
+    },
165
+    handleModifyStatus(row, status) {
166
+      this.$message({
167
+        message: '操作成功',
168
+        type: 'success'
169
+      })
170
+      row.status = status
171
+    },
172
+    sortChange(data) {
173
+      const { prop, order } = data
174
+      if (prop === 'id') {
175
+        this.sortByID(order)
176
+      }
177
+    },
178
+    handleSizeChange(val) {
179
+      // console.log(`每页 ${val} 条`);
180
+      this.listQuery.pageSize = val
181
+      this.getList()
182
+    },
183
+    handleCurrentChange(val) {
184
+      // console.log(`当前页: ${val}`);
185
+      this.listQuery.pageNum = val
186
+      this.getList()
187
+    },
188
+    sortByID(order) {
189
+      if (order === 'ascending') {
190
+        this.listQuery.sort = '+id'
191
+      } else {
192
+        this.listQuery.sort = '-id'
193
+      }
194
+      this.handleFilter()
195
+    },
196
+    handleUpdate(row) {
197
+      this.setCurrent(row)
198
+      this.dialogStatus = 'update'
199
+      this.dialogFormVisible = true
200
+      this.$nextTick(() => {
201
+        this.$refs['dataForm'].clearValidate()
202
+      })
203
+      this.getEditCityList()
204
+      this.getEditDistrictList()
205
+    },
206
+    handleLook(row) {
207
+      this.setCurrent(row)
208
+      this.dialogLookFormVisible = true
209
+      this.$nextTick(() => {
210
+        this.$refs['dataForm'].clearValidate()
211
+      })
212
+      this.getEditCityList()
213
+      this.getEditDistrictList()
214
+    },
215
+    handleCreate() {
216
+      this.resetDetail()
217
+      this.dialogStatus = 'create'
218
+      this.dialogFormVisible = true
219
+      this.$nextTick(() => {
220
+        this.$refs['dataForm'].clearValidate()
221
+      })
222
+    },
223
+    handleDelete(row) {
224
+      this.$notify({
225
+        title: '成功',
226
+        message: '删除成功',
227
+        type: 'success',
228
+        duration: 2000
229
+      })
230
+      const index = this.list.indexOf(row)
231
+      this.list.splice(index, 1)
232
+    },
233
+    handleDownload() {
234
+      this.downloadLoading = true
235
+      import('@/vendor/Export2Excel').then(excel => {
236
+        const tHeader = ['timestamp', 'title', 'type', 'importance', 'status']
237
+        const filterVal = ['timestamp', 'title', 'type', 'importance', 'status']
238
+        const data = this.formatJson(filterVal, this.list)
239
+        excel.export_json_to_excel({
240
+          header: tHeader,
241
+          data,
242
+          filename: 'table-list'
243
+        })
244
+        this.downloadLoading = false
245
+      })
246
+    },
247
+    padDate(value) {
248
+      value = value < 10 ? '0' + value : value
249
+      return value
250
+    },
251
+    formatDate(val) {
252
+      var value = new Date(val)
253
+      var year = value.getFullYear()
254
+      var month = this.padDate(value.getMonth() + 1)
255
+      var day = this.padDate(value.getDate())
256
+      var hour = this.padDate(value.getHours())
257
+      var minutes = this.padDate(value.getMinutes())
258
+      var seconds = this.padDate(value.getSeconds())
259
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
260
+    },
261
+    formatJson(filterVal, jsonData) {
262
+      return jsonData.map(v => filterVal.map(j => {
263
+        if (j === 'timestamp') {
264
+          return parseTime(v[j])
265
+        } else {
266
+          return v[j]
267
+        }
268
+      }))
269
+    },
270
+  }
8 271
 }
9 272
 </script>
10
-
11
-<style scoped>
12
-
13
-</style>

+ 376
- 352
文档/MYSQL/smartCommunity.pdb
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 316
- 304
文档/MYSQL/smartCommunity.pdm
ファイル差分が大きすぎるため省略します
ファイルの表示


バイナリ
文档/计划/V181228/智慧社区V181228计划.mpp ファイルの表示