魏熙美 6 年之前
父節點
當前提交
265a20385b

+ 7
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/dao/TpActivitySignInMapper.java 查看文件

3
 
3
 
4
 import com.community.huiju.model.TpActivitySignIn;
4
 import com.community.huiju.model.TpActivitySignIn;
5
 import org.apache.ibatis.annotations.Mapper;
5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
6
 
7
 
7
 @Mapper
8
 @Mapper
8
 public interface TpActivitySignInMapper {
9
 public interface TpActivitySignInMapper {
17
     int updateByPrimaryKeySelective(TpActivitySignIn record);
18
     int updateByPrimaryKeySelective(TpActivitySignIn record);
18
 
19
 
19
     int updateByPrimaryKey(TpActivitySignIn record);
20
     int updateByPrimaryKey(TpActivitySignIn record);
21
+
22
+    /**
23
+     * 查询当前人员是否已签到
24
+     *
25
+     */
26
+    TpActivitySignIn selectSing(@Param("activityId") Integer activityId,@Param("userID") Integer userID);
20
 }
27
 }

+ 13
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpActivity.java 查看文件

47
      * 报名状态
47
      * 报名状态
48
      */
48
      */
49
     private String signStatus;
49
     private String signStatus;
50
+    /**
51
+     * 签到状态
52
+     * 0已签到,1未签到
53
+     */
54
+    private  Integer signType;
55
+
56
+    public void setSignType(Integer signType) {
57
+        this.signType = signType;
58
+    }
59
+
60
+    public Integer getSignType() {
61
+        return signType;
62
+    }
50
 
63
 
51
     private List<String> imgList;
64
     private List<String> imgList;
52
 
65
 

+ 4
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/SocialServiceImpl.java 查看文件

203
         if (null != tpUser) {
203
         if (null != tpUser) {
204
             tpActivity.setUserName(tpUser.getUserName());
204
             tpActivity.setUserName(tpUser.getUserName());
205
         }
205
         }
206
+        //查看当前人是否签到
207
+        TpActivitySignIn tpActivitySignIn= tpActivitySignInMapper.selectSing(activityId,userId);
208
+        Integer signType=tpActivitySignIn==null?0:1;
209
+        tpActivity.setSignType(signType);
206
 
210
 
207
         //返回报名状态
211
         //返回报名状态
208
         Integer signNum = tpActivitySignupMapper.findTpActivetitySignByUserId(tpActivity.getId(), communityId, userId);
212
         Integer signNum = tpActivitySignupMapper.findTpActivetitySignByUserId(tpActivity.getId(), communityId, userId);

+ 37
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserVerifyServicelmpl.java 查看文件

41
     @Autowired
41
     @Autowired
42
     private TaUserMapper taUserMapper;
42
     private TaUserMapper taUserMapper;
43
 
43
 
44
+    @Autowired
45
+    private TpMessageMapper tpMessageMapper;
46
+
44
     /**
47
     /**
45
      * 期
48
      * 期
46
      */
49
      */
246
                 // 插入楼栋信息数据
249
                 // 插入楼栋信息数据
247
                 insertTpBuildingOwnerInfo(userElement, user, null);
250
                 insertTpBuildingOwnerInfo(userElement, user, null);
248
             }
251
             }
249
-
252
+            //审核通过后推送消息(临时数据)
253
+            String[] messageArr= new String[14];
254
+            messageArr[0]="账号已审核通过,看看下面的消息了解下APP如何使用吧!";
255
+            messageArr[1]="点击顶部小区名称,切换到其他房产或小区,或关联更多房产";
256
+            messageArr[2]="点击上方 人脸录入,为自己或家人录入人脸信息,家人未注册可先替TA注册";
257
+            messageArr[3]="点击上方 访客邀请,将生成的二维码发送给访客,访客即可使用二维码开门";
258
+            messageArr[4]="点击上方 公区监控,查看小区公共区域视频直播,看看大家都在干什么";
259
+            messageArr[5]="点击上方 智能家居,安装APP玩转室内智能家居设备";
260
+            messageArr[6]="想知道物业公告和社区活动?点击底部 论坛 查看";
261
+            messageArr[7]="参与社区议事,发布二手/求购/租赁等热门话题,点击底部 论坛 话题";
262
+            messageArr[8]="点击底部开锁图标,获取开门二维码,即可扫码开门";
263
+            messageArr[9]="楼道灯不亮,电梯坏了,通下水道,找保洁?点击底部 服务 报修";
264
+            messageArr[10]="想投诉施工扰民、乱搭乱建、乱停车?点击底部 服务 投诉";
265
+            messageArr[11]="有很急的事需要马上联系物业?点击底部 服务 物业 电话联系物业";
266
+            messageArr[12]="家人想刷脸进门不会操作?点击底部 个人 房屋成员管理 邀请新成员为TA录入人脸";
267
+            messageArr[13]="物业费水电费不想跑去物业交?点击底部 个人 物业相关缴费 一键缴费";
268
+            for (String count:messageArr) {
269
+                TpMessage message = new TpMessage();
270
+                message.setCommunityId(userVerify.getCommunityId());
271
+                message.setMessageType("6");
272
+                message.setAdviceType("1");
273
+                message.setModelType("1");
274
+                message.setUuid(userElement.getId());
275
+                message.setUuidType("1");
276
+                message.setSource("1");
277
+                message.setMessageContent(count);
278
+                message.setStatus("1");
279
+                message.setResult("");
280
+                message.setMeaasgeTypeId("");
281
+                message.setReadStatus("0");
282
+                message.setCreateUser(userElement.getId());
283
+                message.setCreateDate(new Date());
284
+                tpMessageMapper.insert(message);
285
+            }
250
             responseBean.addSuccess("操作成功!");
286
             responseBean.addSuccess("操作成功!");
251
             return responseBean;
287
             return responseBean;
252
         }
288
         }

+ 10
- 0
CODE/smart-community/app-api/src/main/resources/mapper/TpActivitySignInMapper.xml 查看文件

139
       create_date = #{createDate,jdbcType=TIMESTAMP}
139
       create_date = #{createDate,jdbcType=TIMESTAMP}
140
     where id = #{id,jdbcType=INTEGER}
140
     where id = #{id,jdbcType=INTEGER}
141
   </update>
141
   </update>
142
+  <select id="selectSing" resultMap="BaseResultMap">
143
+    select
144
+    <include refid="Base_Column_List" />
145
+    from
146
+    tp_activity_sign_in
147
+    where
148
+    activity_id = #{activityId,jdbcType=INTEGER}
149
+    and ta_user_id = #{userID,jdbcType=INTEGER}
150
+  </select>
151
+
142
 </mapper>
152
 </mapper>

+ 1
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/ActivityController.java 查看文件

80
             @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "Login-Type", value = "值为 web"),
80
             @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "Login-Type", value = "值为 web"),
81
             @ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id活动编号;activityTitle活动标题;" +
81
             @ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id活动编号;activityTitle活动标题;" +
82
                     "activityCarouselImg轮播图;activityContent活动详情;contentImg活动内容配图;signUpMax活动人数上限;" +
82
                     "activityCarouselImg轮播图;activityContent活动详情;contentImg活动内容配图;signUpMax活动人数上限;" +
83
-                    "registrationEndTime报名活动结束时间;sort权重;status状态 0 是已作废 1 是已发布   2 是草稿,radio:1是需要二维码,2是不需要")
83
+                    "registrationEndTime报名活动结束时间;sort权重;status状态 0 是已作废 1 是已发布   2 是草稿,signInCode:1是需要二维码,2是不需要")
84
     })
84
     })
85
     @RequestMapping(value = "/activity/update", method = RequestMethod.PUT)
85
     @RequestMapping(value = "/activity/update", method = RequestMethod.PUT)
86
     public ResponseBean updateActivity(@RequestBody String parameter, HttpSession session) {
86
     public ResponseBean updateActivity(@RequestBody String parameter, HttpSession session) {

+ 5
- 2
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TaUserVerifyServiceImpl.java 查看文件

7
 import com.community.commom.constant.Constant;
7
 import com.community.commom.constant.Constant;
8
 import com.community.commom.mode.ResponseBean;
8
 import com.community.commom.mode.ResponseBean;
9
 import com.community.commom.session.UserElement;
9
 import com.community.commom.session.UserElement;
10
+import com.community.huiju.dao.MessageMapper;
10
 import com.community.huiju.dao.TaUserMapper;
11
 import com.community.huiju.dao.TaUserMapper;
11
 import com.community.huiju.dao.TaUserVerifyMapper;
12
 import com.community.huiju.dao.TaUserVerifyMapper;
12
 import com.community.huiju.dao.UserMapper;
13
 import com.community.huiju.dao.UserMapper;
14
+import com.community.huiju.model.Message;
13
 import com.community.huiju.model.TaUser;
15
 import com.community.huiju.model.TaUser;
14
 import com.community.huiju.model.TaUserVerify;
16
 import com.community.huiju.model.TaUserVerify;
15
 import com.community.huiju.model.User;
17
 import com.community.huiju.model.User;
18
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
19
 import org.springframework.stereotype.Service;
21
 import org.springframework.stereotype.Service;
20
 
22
 
23
+import java.time.LocalDateTime;
24
+import java.util.Date;
21
 import java.util.List;
25
 import java.util.List;
22
 
26
 
23
 /**
27
 /**
67
         String status = verifyStatus == true ? Constant.APPROVED : Constant.REJECTED;
71
         String status = verifyStatus == true ? Constant.APPROVED : Constant.REJECTED;
68
         userVerify.setVerifyStatus(status);
72
         userVerify.setVerifyStatus(status);
69
         userVerify.setVerifyName(user.getUserName());
73
         userVerify.setVerifyName(user.getUserName());
70
-
71
-        taUserVerifyMapper.updateById(userVerify);
72
         responseBean.addSuccess("操作成功!");
74
         responseBean.addSuccess("操作成功!");
75
+
73
         return responseBean;
76
         return responseBean;
74
     }
77
     }
75
 }
78
 }

+ 10
- 18
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpActivityServiceImpl.java 查看文件

236
                 // 扫码签到
236
                 // 扫码签到
237
 
237
 
238
                 if (radio==1){
238
                 if (radio==1){
239
-                    try {
240
-                       InputStream inputStream= QRCode.encode(qrCodePerproties.getUrl(),tpActivity.getId()+"");
241
-                        String codeUrl= imageServiceI.getImageUrl(inputStream);
239
+
240
+//                       InputStream inputStream= QRCode.encode(qrCodePerproties.getUrl(),tpActivity.getId()+"");
241
+//                        String codeUrl= imageServiceI.getImageUrl(inputStream);
242
+
242
                         TdImages tdImages= new TdImages();
243
                         TdImages tdImages= new TdImages();
243
-                        tdImages.setImageUrl(codeUrl);
244
+                        tdImages.setImageUrl(qrCodePerproties.getUrl() + tpActivity.getId());
244
                         tdImages.setUuid(tpActivity.getId());
245
                         tdImages.setUuid(tpActivity.getId());
245
                         tdImages.setType("activityCode");
246
                         tdImages.setType("activityCode");
246
                         tdImages.setCreateUser(userElement.getId());
247
                         tdImages.setCreateUser(userElement.getId());
247
                         tdImages.setCreateTime(LocalDateTime.now());
248
                         tdImages.setCreateTime(LocalDateTime.now());
248
                         tdImagesMapper.insert(tdImages);
249
                         tdImagesMapper.insert(tdImages);
249
-                    } catch (WriterException e) {
250
-                        e.printStackTrace();
251
-                    } catch (IOException e) {
252
-                        e.printStackTrace();
253
-                    }
250
+
254
 
251
 
255
                 }
252
                 }
256
 
253
 
344
          tdImagesMapper.delete(queryWrapper);
341
          tdImagesMapper.delete(queryWrapper);
345
 
342
 
346
         if (radio==1){
343
         if (radio==1){
347
-            try {
348
-                InputStream inputStream= QRCode.encode(qrCodePerproties.getUrl(), tpActivity.getId()+"");
349
-                String codeUrl= imageServiceI.getImageUrl(inputStream);
344
+
345
+//                InputStream inputStream= QRCode.encode(qrCodePerproties.getUrl(), tpActivity.getId()+"");
346
+//                String codeUrl= imageServiceI.getImageUrl(inputStream);
350
                 TdImages tdImages= new TdImages();
347
                 TdImages tdImages= new TdImages();
351
-                tdImages.setImageUrl(codeUrl);
348
+                tdImages.setImageUrl(qrCodePerproties.getUrl() + tpActivity.getId());
352
                 tdImages.setUuid(tpActivity.getId());
349
                 tdImages.setUuid(tpActivity.getId());
353
                 tdImages.setType(Constant.ACTIVITY);
350
                 tdImages.setType(Constant.ACTIVITY);
354
                 tdImages.setCreateUser(userElement.getId());
351
                 tdImages.setCreateUser(userElement.getId());
355
                 tdImages.setCreateTime(LocalDateTime.now());
352
                 tdImages.setCreateTime(LocalDateTime.now());
356
                 tdImagesMapper.insert(tdImages);
353
                 tdImagesMapper.insert(tdImages);
357
-            } catch (WriterException e) {
358
-                e.printStackTrace();
359
-            } catch (IOException e) {
360
-                e.printStackTrace();
361
-            }
362
 
354
 
363
         }
355
         }
364
 
356
 

+ 1
- 0
VUECODE/smart-property-manage/package.json 查看文件

23
     "js-cookie": "2.2.0",
23
     "js-cookie": "2.2.0",
24
     "normalize.css": "7.0.0",
24
     "normalize.css": "7.0.0",
25
     "nprogress": "0.2.0",
25
     "nprogress": "0.2.0",
26
+    "qrcode": "^1.3.3",
26
     "qs": "^6.6.0",
27
     "qs": "^6.6.0",
27
     "vue": "2.5.17",
28
     "vue": "2.5.17",
28
     "vue-amap": "^0.5.8",
29
     "vue-amap": "^0.5.8",

+ 1
- 1
VUECODE/smart-property-manage/src/api/activity.js 查看文件

39
     url: '/activity/update',
39
     url: '/activity/update',
40
     method: 'put',
40
     method: 'put',
41
     data: {
41
     data: {
42
-      radio: data.radio,
42
+      signInCode: data.signInCode,
43
       id: data.id,
43
       id: data.id,
44
       activityTitle: data.activityTitle,
44
       activityTitle: data.activityTitle,
45
       activityCarouselImg: data.activityCarouselImg, // 轮播图
45
       activityCarouselImg: data.activityCarouselImg, // 轮播图

+ 10
- 1
VUECODE/smart-property-manage/src/views/social/activity/edi/index.vue 查看文件

50
             placeholder="选择日期"/>
50
             placeholder="选择日期"/>
51
         </div>
51
         </div>
52
       </el-form-item>
52
       </el-form-item>
53
+      <el-form-item>
54
+      <div style="display: flex;">
55
+          <span style="width: 200px;transform:translateY(-1%);">是否需要报名人扫码签到</span>
56
+          <el-radio v-model="ruleForm.signInCode" label="1" style="padding-left:4%;font-weight:bold;font-size:12px;transform:translateY(30%);">需要</el-radio>
57
+          <el-radio v-model="ruleForm.signInCode" label="2" style="padding-left:8%;font-weight:bold;font-size:12px;transform:translateY(30%);">不需要</el-radio> 
58
+      </div>
59
+      </el-form-item>
53
       <el-form-item prop="sort">
60
       <el-form-item prop="sort">
54
         <div style="display: flex; justify-content: flex-start;">
61
         <div style="display: flex; justify-content: flex-start;">
55
           <span style="width: 120px;">权重值</span>
62
           <span style="width: 120px;">权重值</span>
70
   data() {
77
   data() {
71
     return {
78
     return {
72
       ruleForm: {
79
       ruleForm: {
80
+        signInCode: '',
73
         id: '',
81
         id: '',
74
         activityTitle: '',
82
         activityTitle: '',
75
         activityCarouselImg: '', // 轮播图
83
         activityCarouselImg: '', // 轮播图
78
         signUpMax: '', //  活动人数上限
86
         signUpMax: '', //  活动人数上限
79
         registrationEndTime: '', // 报名活动结束时间
87
         registrationEndTime: '', // 报名活动结束时间
80
         sort: 1, // 权重
88
         sort: 1, // 权重
81
-        status: '' // 状态 0 是已作废 1 是已发布   2 是草稿 3 是已修改
89
+        status: '', // 状态 0 是已作废 1 是已发布   2 是草稿 3 是已修改
90
+        radio: ''
82
       },
91
       },
83
       activityContentList: [], // 活动配图预览列表
92
       activityContentList: [], // 活动配图预览列表
84
       imageUrl: '', // 轮播图预览
93
       imageUrl: '', // 轮播图预览

+ 55
- 24
VUECODE/smart-property-manage/src/views/social/activity/info/index.vue 查看文件

6
       {{ ruleForm.activityContent }}
6
       {{ ruleForm.activityContent }}
7
     </div>
7
     </div>
8
     <div class="activityContextImg">
8
     <div class="activityContextImg">
9
-      <img v-for="item in ruleForm.contentImg" :src="item" width="80" height="80" >
9
+      <img v-for="item in ruleForm.contentImg" :src="item" width="80" height="80" />
10
     </div>
10
     </div>
11
+    <span v-if="ruleForm.signInCode=='1'">
11
     <div style="display: flex;">
12
     <div style="display: flex;">
12
           <span style="width: 200px;transform:translateY(25%);">是否需要报名人扫码签到</span>
13
           <span style="width: 200px;transform:translateY(25%);">是否需要报名人扫码签到</span>
13
-          <el-radio v-model="ruleForm.radio" label="1" style="padding-left:4%;font-weight:bold;font-size:12px;transform:translateY(30%);">需要</el-radio>
14
-          <el-radio v-model="ruleForm.radio" label="2" style="padding-left:8%;font-weight:bold;font-size:12px;transform:translateY(30%);">不需要</el-radio> 
15
-          <el-button type="primary" style="float:left;" @click="singn">查看签到名单</el-button> 
14
+          <el-radio v-model="ruleForm.signInCode" label="1" style="padding-left:4%;font-weight:bold;font-size:12px;transform:translateY(30%);">需要</el-radio>
15
+          <el-radio v-model="ruleForm.signInCode" label="2" style="padding-left:8%;font-weight:bold;font-size:12px;transform:translateY(30%);">不需要</el-radio> 
16
+          <span style="padding-left:20%"><el-button type="primary" style="float:left;" @click="singn">查看签到名单</el-button></span> 
16
     </div>
17
     </div>
17
-      <div style="padding-left:30%;">
18
-        <div><img :src="ruleForm.activityCode" width="200" height="200" ></div>
19
-        
20
-        <a :href="ruleForm.activityCode" download="图片">
21
-      <img :src="ruleForm.activityCode" alt="图片">
22
-        </a>
23
-
24
-        <!-- <a download="图片" :href="ruleForm.activityCode + 'admin/miniProgram.jpg'">点击下载</a>
25
-        <div><el-button type="primary" style="float:left;" @click=" downloadCodeImg()">查看签到名单</el-button> </div> -->
26
-      </div>
18
+    <div style="padding-left:30%;">
19
+        <div><img :src="qrcode" width="200" height="200" ></div>
20
+        <a :href="qrcode" download="qrcode.jpg"  style="color:#00BFFF;padding-left:15%">点击下载</a>
21
+    </div>
22
+    </span>
27
     <div class="progress">
23
     <div class="progress">
28
       <div class="text-progress">
24
       <div class="text-progress">
29
         <span class="people-number">已报名人数 {{ ruleForm.signUpCount }}</span>
25
         <span class="people-number">已报名人数 {{ ruleForm.signUpCount }}</span>
32
       </div>
28
       </div>
33
       <div class="circular"/>
29
       <div class="circular"/>
34
       <div class="people-limit">限制{{ ruleForm.signUpMax }}人</div>
30
       <div class="people-limit">限制{{ ruleForm.signUpMax }}人</div>
35
-      <a type="primary" style="float: left;" @click="lockSignUp">查看报名名单</a>
31
+      <el-button type="primary" style="float: left;" @click="lockSignUp">查看报名名单</el-button>
36
     </div>
32
     </div>
37
     <span>报名截止时间:{{ formatDate(ruleForm.registrationEndTime) }}</span>
33
     <span>报名截止时间:{{ formatDate(ruleForm.registrationEndTime) }}</span>
38
     <div class="bom-button">
34
     <div class="bom-button">
42
 </template>
38
 </template>
43
 
39
 
44
 <script>
40
 <script>
41
+import html2canvas from 'html2canvas';
42
+import QRCode from 'qrcode'
45
 
43
 
46
 export default {
44
 export default {
47
   name: 'Index',
45
   name: 'Index',
61
         sort: 1, // 权重
59
         sort: 1, // 权重
62
         status: '' // 状态 0 是已作废 1 是已发布   2 是草稿 3 是已修改
60
         status: '' // 状态 0 是已作废 1 是已发布   2 是草稿 3 是已修改
63
       },
61
       },
62
+      codeIMG: '',
63
+      ownerDocument: '',
64
       isEdi: true, // 显示修改按钮
64
       isEdi: true, // 显示修改按钮
65
-      innerW: 0 // 进度条
65
+      innerW: 0, // 进度条
66
+      qrcode: '',
66
     }
67
     }
67
   },
68
   },
68
   mounted() {
69
   mounted() {
76
         this.ruleForm = resData.info
77
         this.ruleForm = resData.info
77
         this.codeIMG =resData.info.activityCode
78
         this.codeIMG =resData.info.activityCode
78
         this.ruleForm.contentImg = resData.contentImg
79
         this.ruleForm.contentImg = resData.contentImg
79
-        if (this.ruleForm.signUpMax !== 0) {
80
-          const tempNum = 450 / this.ruleForm.signUpMax
81
-          this.innerW = this.ruleForm.signUpCount * tempNum
82
-          console.log(this.$refs.innerDiv.style.width)
83
-          console.log(this.innerW)
84
-        }
80
+
81
+        QRCode.toDataURL(this.codeIMG, (err, url)=> {
82
+          this.qrcode = url
83
+        })
85
         if (this.ruleForm.status === '0') {
84
         if (this.ruleForm.status === '0') {
86
           this.isEdi = false
85
           this.isEdi = false
87
         }
86
         }
121
   alink.href = this.ruleForm.activityCode;
120
   alink.href = this.ruleForm.activityCode;
122
   alink.download = "pic"; //图片名
121
   alink.download = "pic"; //图片名
123
   alink.click();
122
   alink.click();
124
-  }
125
-  
123
+  },
124
+
125
+   dataURLToBlob(dataurl) {//ie 图片转格式
126
+          var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
127
+            bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
128
+          while (n--) {
129
+            u8arr[n] = bstr.charCodeAt(n);
130
+          }
131
+          return new Blob([u8arr], {type: mime})
132
+        },
133
+        
134
+        downloadResult() {
135
+          html2canvas(document.getElementById('mymap')).then(canvas => {
136
+				this.imgmap = canvas.toDataURL()
137
+				console.log(999, this.imgmap)
138
+				if (window.navigator.msSaveOrOpenBlob) {
139
+					var bstr = atob(this.imgmap.split(',')[1])
140
+					var n = bstr.length
141
+					var u8arr = new Uint8Array(n)
142
+					while (n--) {
143
+						u8arr[n] = bstr.charCodeAt(n)
144
+					}
145
+					var blob = new Blob([u8arr])
146
+					window.navigator.msSaveOrOpenBlob(blob, 'chart-download' + '.' + 'png')
147
+				} else {
148
+					// 这里就按照chrome等新版浏览器来处理
149
+					const a = document.createElement('a')
150
+					a.href = this.imgmap
151
+					a.setAttribute('download', 'chart-download')
152
+					a.click()
153
+				}
154
+ 
155
+			});
156
+        }
126
 }
157
 }
127
   }
158
   }
128
 </script>
159
 </script>

+ 378
- 354
文档/MYSQL/smartCommunity.pdb
文件差異過大導致無法顯示
查看文件


+ 378
- 354
文档/MYSQL/smartCommunity.pdm
文件差異過大導致無法顯示
查看文件