dingxin 6 lat temu
rodzic
commit
782baa10c2
20 zmienionych plików z 191 dodań i 178 usunięć
  1. 5
    5
      CODE/smart-community/app-api/src/main/resources/mapper/TpActivityMapper.xml
  2. 2
    2
      CODE/smart-community/app-api/src/main/resources/mapper/TpAnnouncementMapper.xml
  3. 0
    22
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpActivityServiceImpl.java
  4. 1
    1
      CODE/smart-community/property-api/src/main/resources/mapper/TpAnnouncementMapper.xml
  5. 1
    1
      CODE/smart-community/property-api/src/main/resources/mapper/TpRentalHouseMapper.xml
  6. 4
    4
      VUECODE/smart-property-manage/src/views/bill/info/index.vue
  7. 1
    1
      VUECODE/smart-property-manage/src/views/bill/license/index.vue
  8. 4
    4
      VUECODE/smart-property-manage/src/views/building/audit/index.vue
  9. 1
    0
      VUECODE/smart-property-manage/src/views/building/buildingdata/index.vue
  10. 5
    5
      VUECODE/smart-property-manage/src/views/building/index.vue
  11. 27
    20
      VUECODE/smart-property-manage/src/views/social/activity/add/index.vue
  12. 32
    27
      VUECODE/smart-property-manage/src/views/social/activity/edi/index.vue
  13. 4
    4
      VUECODE/smart-property-manage/src/views/social/activity/index.vue
  14. 10
    11
      VUECODE/smart-property-manage/src/views/social/activity/info/index.vue
  15. 40
    26
      VUECODE/smart-property-manage/src/views/social/announcement/add.vue
  16. 8
    7
      VUECODE/smart-property-manage/src/views/social/announcement/details.vue
  17. 37
    33
      VUECODE/smart-property-manage/src/views/social/announcement/edit.vue
  18. 5
    1
      VUECODE/smart-property-manage/src/views/social/announcement/index.vue
  19. 2
    2
      VUECODE/smart-property-manage/src/views/social/transaction/transactionAdd.vue
  20. 2
    2
      VUECODE/smart-property-manage/src/views/social/transaction/transactionEdit.vue

+ 5
- 5
CODE/smart-community/app-api/src/main/resources/mapper/TpActivityMapper.xml Wyświetl plik

@@ -6,7 +6,7 @@
6 6
     <result column="community_id" property="communityId" jdbcType="INTEGER" />
7 7
     <result column="activity_title" property="activityTitle" jdbcType="VARCHAR" />
8 8
     <result column="activity_carousel_img" property="activityCarouselImg" jdbcType="VARCHAR" />
9
-    <result column="activity_content" property="activityContent" jdbcType="VARCHAR" />
9
+    <result column="activity_content" property="activityContent" jdbcType="LONGVARCHAR" />
10 10
     <result column="user_name" property="userName" jdbcType="VARCHAR" />
11 11
     <result column="sort" property="sort" jdbcType="INTEGER" />
12 12
     <result column="sign_up_count" property="signUpCount" jdbcType="INTEGER" />
@@ -47,7 +47,7 @@
47 47
       status, create_user, create_date, 
48 48
       update_user, update_date)
49 49
     values (#{id,jdbcType=INTEGER}, #{communityId,jdbcType=INTEGER}, #{activityTitle,jdbcType=VARCHAR}, 
50
-      #{activityCarouselImg,jdbcType=VARCHAR}, #{activityContent,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, 
50
+      #{activityCarouselImg,jdbcType=VARCHAR}, #{activityContent,jdbcType=LONGVARCHAR}, #{sort,jdbcType=INTEGER},
51 51
       #{signUpCount,jdbcType=INTEGER}, #{signUpMax,jdbcType=INTEGER}, #{viewCount,jdbcType=INTEGER}, 
52 52
       #{registrationStartTime,jdbcType=TIMESTAMP}, #{registrationEndTime,jdbcType=TIMESTAMP}, 
53 53
       #{activityStartTime,jdbcType=TIMESTAMP}, #{activityEndTime,jdbcType=TIMESTAMP}, 
@@ -126,7 +126,7 @@
126 126
         #{activityCarouselImg,jdbcType=VARCHAR},
127 127
       </if>
128 128
       <if test="activityContent != null" >
129
-        #{activityContent,jdbcType=VARCHAR},
129
+        #{activityContent,jdbcType=LONGVARCHAR},
130 130
       </if>
131 131
       <if test="sort != null" >
132 132
         #{sort,jdbcType=INTEGER},
@@ -182,7 +182,7 @@
182 182
         activity_carousel_img = #{activityCarouselImg,jdbcType=VARCHAR},
183 183
       </if>
184 184
       <if test="activityContent != null" >
185
-        activity_content = #{activityContent,jdbcType=VARCHAR},
185
+        activity_content = #{activityContent,jdbcType=LONGVARCHAR},
186 186
       </if>
187 187
       <if test="sort != null" >
188 188
         sort = #{sort,jdbcType=INTEGER},
@@ -231,7 +231,7 @@
231 231
     set community_id = #{communityId,jdbcType=INTEGER},
232 232
       activity_title = #{activityTitle,jdbcType=VARCHAR},
233 233
       activity_carousel_img = #{activityCarouselImg,jdbcType=VARCHAR},
234
-      activity_content = #{activityContent,jdbcType=VARCHAR},
234
+      activity_content = #{activityContent,jdbcType=LONGVARCHAR},
235 235
       sort = #{sort,jdbcType=INTEGER},
236 236
       sign_up_count = #{signUpCount,jdbcType=INTEGER},
237 237
       sign_up_max = #{signUpMax,jdbcType=INTEGER},

+ 2
- 2
CODE/smart-community/app-api/src/main/resources/mapper/TpAnnouncementMapper.xml Wyświetl plik

@@ -6,7 +6,7 @@
6 6
     <result column="community_id" property="communityId" jdbcType="INTEGER" />
7 7
     <result column="announcement_title" property="announcementTitle" jdbcType="VARCHAR" />
8 8
     <result column="announcement_carousel_img" property="announcementCarouselImg" jdbcType="VARCHAR" />
9
-    <result column="announcement_content" property="announcementContent" jdbcType="VARCHAR" />
9
+    <result column="announcement_content" property="announcementContent" jdbcType="LONGVARCHAR" />
10 10
     <result column="user_name" property="userName" jdbcType="VARCHAR" />
11 11
     <result column="sort" property="sort" jdbcType="INTEGER" />
12 12
     <result column="view_count" property="viewCount" jdbcType="INTEGER" />
@@ -143,7 +143,7 @@
143 143
     set community_id = #{communityId,jdbcType=INTEGER},
144 144
       announcement_title = #{announcementTitle,jdbcType=VARCHAR},
145 145
       announcement_carousel_img = #{announcementCarouselImg,jdbcType=VARCHAR},
146
-      announcement_content = #{announcementContent,jdbcType=VARCHAR},
146
+      announcement_content = #{announcementContent,jdbcType=LONGVARCHAR},
147 147
       sort = #{sort,jdbcType=INTEGER},
148 148
       view_count = #{viewCount,jdbcType=INTEGER},
149 149
       set_up_carousel = #{setUpCarousel,jdbcType=CHAR},

+ 0
- 22
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpActivityServiceImpl.java Wyświetl plik

@@ -340,28 +340,6 @@ public class TpActivityServiceImpl extends ServiceImpl<TpActivityMapper, TpActiv
340 340
         }
341 341
 
342 342
         int row = tpActivityMapper.updateById(selectTpActivity);
343
-
344
-        // 先将原图删除!
345
-         QueryWrapper<TdImages> queryWrapper = new QueryWrapper<>();
346
-         queryWrapper.eq("uuid", tpActivity.getId());
347
-         queryWrapper.eq("type", "activity");
348
-         tdImagesMapper.delete(queryWrapper);
349
-
350
-        if (radio==1){
351
-
352
-//                InputStream inputStream= QRCode.encode(qrCodePerproties.getUrl(), tpActivity.getId()+"");
353
-//                String codeUrl= imageServiceI.getImageUrl(inputStream);
354
-                TdImages tdImages= new TdImages();
355
-                tdImages.setImageUrl(qrCodePerproties.getUrl() + tpActivity.getId());
356
-                tdImages.setUuid(tpActivity.getId());
357
-                tdImages.setType("activityCode");
358
-                tdImages.setCreateUser(userElement.getId());
359
-                tdImages.setCreateTime(LocalDateTime.now());
360
-                tdImagesMapper.insert(tdImages);
361
-
362
-        }
363
-
364
-
365 343
         // 插入图片
366 344
         insertImg(contentImgArray, userElement, tpActivity);
367 345
 

+ 1
- 1
CODE/smart-community/property-api/src/main/resources/mapper/TpAnnouncementMapper.xml Wyświetl plik

@@ -46,7 +46,7 @@
46 46
         announcement_carousel_img = #{announcementCarouselImg,jdbcType=VARCHAR},
47 47
       </if>
48 48
       <if test="announcementContent != null" >
49
-        announcement_content = #{announcementContent,jdbcType=VARCHAR},
49
+        announcement_content = #{announcementContent,jdbcType=LONGVARCHAR},
50 50
       </if>
51 51
       <if test="sort != null" >
52 52
         sort = #{sort,jdbcType=INTEGER},

+ 1
- 1
CODE/smart-community/property-api/src/main/resources/mapper/TpRentalHouseMapper.xml Wyświetl plik

@@ -39,6 +39,6 @@
39 39
         <if test="tpRentalHouse.endPrice != null and tpRentalHouse.endPrice != ''">
40 40
             and t.rental_price  &lt;= #{tpRentalHouse.endPrice,jdbcType=INTEGER}
41 41
         </if>
42
-        order by t.sort, t.update_date desc
42
+        order by t.sort desc, t.update_date desc
43 43
     </select>
44 44
 </mapper>

+ 4
- 4
VUECODE/smart-property-manage/src/views/bill/info/index.vue Wyświetl plik

@@ -349,10 +349,10 @@ export default {
349 349
       var year = value.getFullYear()
350 350
       var month = value.getMonth() + 1
351 351
       var day = value.getDate()
352
-      // var hour = value.getHours()
353
-      // var minutes = value.getMinutes()
354
-      // var seconds = value.getSeconds()
355
-      // return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
352
+      var hour = value.getHours()
353
+      var minutes = value.getMinutes()
354
+      var seconds = value.getSeconds()
355
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
356 356
       return year + '-' + month + '-' + day
357 357
     },
358 358
     handleSizeChange(val) {

+ 1
- 1
VUECODE/smart-property-manage/src/views/bill/license/index.vue Wyświetl plik

@@ -71,7 +71,7 @@
71 71
         prop="expireDate"
72 72
         align="center"
73 73
         label="延期后到期日">
74
-        <template slot-scope="scope">{{ formatDate(scope.row.expireDate) }}</template>
74
+        <template slot-scope="scope">{{ formatDateTime(scope.row.expireDate) }}</template>
75 75
       </el-table-column>
76 76
       <el-table-column
77 77
         prop="orderStatus"

+ 4
- 4
VUECODE/smart-property-manage/src/views/building/audit/index.vue Wyświetl plik

@@ -215,10 +215,10 @@ export default {
215 215
       var year = value.getFullYear()
216 216
       var month = value.getMonth() + 1
217 217
       var day = value.getDate()
218
-      // var hour = value.getHours()
219
-      // var minutes = value.getMinutes()
220
-      // var seconds = value.getSeconds()
221
-      // return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
218
+      var hour = value.getHours()
219
+      var minutes = value.getMinutes()
220
+      var seconds = value.getSeconds()
221
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
222 222
       return year + '-' + month + '-' + day
223 223
     }
224 224
   }

+ 1
- 0
VUECODE/smart-property-manage/src/views/building/buildingdata/index.vue Wyświetl plik

@@ -13,6 +13,7 @@
13 13
       lazy
14 14
       show-checkbox
15 15
       node-key="id"
16
+
16 17
       :expand-on-click-node="false"
17 18
       :render-content="renderContent">
18 19
     </el-tree>

+ 5
- 5
VUECODE/smart-property-manage/src/views/building/index.vue Wyświetl plik

@@ -2,7 +2,7 @@
2 2
 <template>
3 3
   <div class="root">
4 4
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
5
-      <el-form-item label="楼盘库">
5
+      <el-form-item label="">
6 6
         <el-select v-model="listQuery.phaseId" style="width: 120px;" placeholder="期/区" @change="buildSelectChange(0)" >
7 7
           <!--<el-option label="选择楼栋" value="-1" />-->
8 8
           <el-option
@@ -366,10 +366,10 @@ export default {
366 366
       var year = value.getFullYear()
367 367
       var month = value.getMonth() + 1
368 368
       var day = value.getDate()
369
-      // var hour = value.getHours()
370
-      // var minutes = value.getMinutes()
371
-      // var seconds = value.getSeconds()
372
-      // return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
369
+      var hour = value.getHours()
370
+      var minutes = value.getMinutes()
371
+      var seconds = value.getSeconds()
372
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
373 373
       return year + '-' + month + '-' + day
374 374
     },
375 375
     showRoleName(roleId) {

+ 27
- 20
VUECODE/smart-property-manage/src/views/social/activity/add/index.vue Wyświetl plik

@@ -22,9 +22,9 @@
22 22
         </div>
23 23
       </el-form-item>
24 24
       <el-form-item>
25
-        <div><span style="position:relative;top:-100px">活动详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.activityContent" :rows="10" type="textarea" placeholder="活动内容, 活动规则, 活动举办开始时间, 活动举办结束时间, 报名人数上限等" style="width: 80%;"/></div>
26
-      </el-form-item>
27
-      <el-form-item>
25
+        <div>活动详细描述&nbsp;&nbsp;<wangeditor :content="ruleForm.activityContent" @wangeditorEvent="wangeditorValue"/></div>
26
+      </el-form-item> 
27
+      <!-- <el-form-item>
28 28
         <div >
29 29
           <div style="transform:translateY(250%);">活动配图</div>
30 30
         <div  style="width: 500px;padding-left:13%;">
@@ -42,7 +42,7 @@
42 42
         <el-dialog :visible.sync="dialogVisible">
43 43
           <img :src="dialogImageUrl" width="100%" alt="">
44 44
         </el-dialog>
45
-      </el-form-item>
45
+      </el-form-item> -->
46 46
       <el-form-item prop="signUpMax">
47 47
         <div style="display: flex;">
48 48
           <span style="width: 140px;">报名人数上限</span>
@@ -81,8 +81,10 @@
81 81
 </template>
82 82
 
83 83
 <script>
84
+import Wangeditor from '@/components/Wangeditor'
84 85
 export default {
85 86
   name: 'Index',
87
+  components: { Wangeditor },
86 88
   data() {
87 89
     return {
88 90
       ruleForm: {
@@ -158,22 +160,22 @@ export default {
158 160
       // }
159 161
       // return isJPG && isLt2M
160 162
     },
161
-    handleRemove(file, fileList) { // 活动配图移除时
162
-      this.ruleForm.contentImg = []
163
-      for (let i = 0; i < fileList.length; i++) {
164
-        this.ruleForm.contentImg.push(fileList[i].response.data[0])
165
-      }
166
-      console.log(file, fileList)
167
-    },
168
-    handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
169
-      this.dialogImageUrl = file.url
170
-      this.dialogVisible = true
171
-    },
172
-    handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
173
-      const resImg = response.data[0]
174
-      this.ruleForm.contentImg.push(resImg)
175
-      console.log('上传活动配图成功时回调!')
176
-    },
163
+    // handleRemove(file, fileList) { // 活动配图移除时
164
+    //   this.ruleForm.contentImg = []
165
+    //   for (let i = 0; i < fileList.length; i++) {
166
+    //     this.ruleForm.contentImg.push(fileList[i].response.data[0])
167
+    //   }
168
+    //   console.log(file, fileList)
169
+    // },
170
+    // handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
171
+    //   this.dialogImageUrl = file.url
172
+    //   this.dialogVisible = true
173
+    // },
174
+    // handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
175
+    //   const resImg = response.data[0]
176
+    //   this.ruleForm.contentImg.push(resImg)
177
+    //   console.log('上传活动配图成功时回调!')
178
+    // },
177 179
     sortHandleChange(value) { // 权重值
178 180
       this.ruleForm.sort = value
179 181
       console.log(value)
@@ -211,6 +213,11 @@ export default {
211 213
       }).catch(() => {
212 214
         console.log('error AddActivity')
213 215
       })
216
+    },
217
+    // 富文本
218
+    wangeditorValue(value) {
219
+    this.ruleForm.activityContent = value // 在这里接受子组件传过来的参数,赋值给data里的参数
220
+    // this.ss(value)
214 221
     }
215 222
   }
216 223
 }

+ 32
- 27
VUECODE/smart-property-manage/src/views/social/activity/edi/index.vue Wyświetl plik

@@ -13,7 +13,7 @@
13 13
           :on-success="handleAvatarSuccess"
14 14
           :before-upload="beforeAvatarUpload"
15 15
           class="avatar-uploader"
16
-          :name="uploadFiles"
16
+          name="uploadFiles"
17 17
           :action="uploadImgUrl">
18 18
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
19 19
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
@@ -21,10 +21,10 @@
21 21
         </div>
22 22
         </div>
23 23
       </el-form-item>
24
-      <el-form-item >
25
-        <div><span style="position:relative;top:-100px">活动详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.activityContent" :rows="10" type="textarea" placeholder="活动内容, 活动规则, 活动举办开始时间, 活动举办结束时间, 报名人数上限等" style="width: 80%;"/></div>
24
+      <el-form-item>
25
+        <div>活动详细描述&nbsp;&nbsp;<wangeditor :content="ruleForm.activityContent" @wangeditorEvent="wangeditorValue"/></div>
26 26
       </el-form-item>
27
-      <el-form-item >
27
+      <!-- <el-form-item >
28 28
         <div >
29 29
           <div style="transform:translateY(250%);">公告轮播图</div>
30 30
         <div  style="width: 500px;padding-left:13%;">
@@ -43,7 +43,7 @@
43 43
         <el-dialog :visible.sync="dialogVisible">
44 44
           <img :src="dialogImageUrl" width="100%" alt="">
45 45
         </el-dialog>
46
-      </el-form-item>
46
+      </el-form-item> -->
47 47
       <el-form-item prop="signUpMax">
48 48
         <div style="display: flex;">
49 49
           <span style="width: 140px;">报名人数上限</span>
@@ -81,9 +81,10 @@
81 81
 </template>
82 82
 
83 83
 <script>
84
-
84
+import Wangeditor from '@/components/Wangeditor'
85 85
 export default {
86 86
   name: 'Index',
87
+  components: { Wangeditor },
87 88
   data() {
88 89
     return {
89 90
       ruleForm: {
@@ -183,23 +184,23 @@ export default {
183 184
       // }
184 185
       // return isJPG && isLt2M
185 186
     },
186
-    handleRemove(file, fileList) { // 活动配图移除时
187
-      console.log(file, fileList)
188
-      this.ruleForm.contentImg = []
189
-      for (let i = 0; i < fileList.length; i++) {
190
-        this.ruleForm.contentImg.push(fileList[i].url)
191
-      }
187
+    // handleRemove(file, fileList) { // 活动配图移除时
188
+    //   console.log(file, fileList)
189
+    //   this.ruleForm.contentImg = []
190
+    //   for (let i = 0; i < fileList.length; i++) {
191
+    //     this.ruleForm.contentImg.push(fileList[i].url)
192
+    //   }
192 193
 
193
-    },
194
-    handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
195
-      this.dialogImageUrl = file.url
196
-      this.dialogVisible = true
197
-    },
198
-    handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
199
-      const resImg = response.data[0]
200
-      this.ruleForm.contentImg.push(resImg)
201
-      console.log('上传活动配图成功时回调!')
202
-    },
194
+    // },
195
+    // handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
196
+    //   this.dialogImageUrl = file.url
197
+    //   this.dialogVisible = true
198
+    // },
199
+    // handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
200
+    //   const resImg = response.data[0]
201
+    //   this.ruleForm.contentImg.push(resImg)
202
+    //   console.log('上传活动配图成功时回调!')
203
+    // },
203 204
     sortHandleChange(value) { // 权重值
204 205
       this.ruleForm.sort = value
205 206
       console.log(value)
@@ -212,12 +213,16 @@ export default {
212 213
 
213 214
         const imgArr = resData.contentImg
214 215
         this.ruleForm.contentImg = imgArr
215
-        for (let i = 0; i < imgArr.length; i++) {
216
-          this.activityContentList.push({ url: imgArr[i] })
217
-        }
216
+        // for (let i = 0; i < imgArr.length; i++) {
217
+        //   this.activityContentList.push({ url: imgArr[i] })
218
+        // }
218 219
       })
219
-    }
220
-
220
+    },
221
+    // 富文本
222
+    wangeditorValue(value) {
223
+    this.ruleForm.activityContent = value // 在这里接受子组件传过来的参数,赋值给data里的参数
224
+    this.ss(value)
225
+    },
221 226
   }
222 227
 }
223 228
 </script>

+ 4
- 4
VUECODE/smart-property-manage/src/views/social/activity/index.vue Wyświetl plik

@@ -193,10 +193,10 @@ export default {
193 193
       var year = value.getFullYear()
194 194
       var month = value.getMonth() + 1
195 195
       var day = value.getDate()
196
-      // var hour = value.getHours()
197
-      // var minutes = value.getMinutes()
198
-      // var seconds = value.getSeconds()
199
-      // return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
196
+      var hour = value.getHours()
197
+      var minutes = value.getMinutes()
198
+      var seconds = value.getSeconds()
199
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
200 200
       return year + '-' + month + '-' + day
201 201
     },
202 202
     getStatus(row) { // 获取状态

+ 10
- 11
VUECODE/smart-property-manage/src/views/social/activity/info/index.vue Wyświetl plik

@@ -7,23 +7,21 @@
7 7
     <img :src="ruleForm.activityCarouselImg" width="100" height="100">
8 8
     </div>
9 9
     </div>
10
-    <div class="activityContext">
11
-      <div class="activityTile"><span style="position:relative;top:-1px">活动详细描述&nbsp;&nbsp;</span>{{ ruleForm.activityContent }}</div>
12
-    </div>
13
-    <div>
10
+    <div>活动详细描述&nbsp;&nbsp;<wangeditor :content="ruleForm.activityContent"/></div>
11
+    <!-- <div>
14 12
         <div>
15 13
         <div style="transform:translateY(20%);">活动配图</div>
16 14
         <div  style="width: 500px;padding-left:20%;">
17 15
       <img v-for="item in ruleForm.contentImg" :src="item" width="80" height="80" />
18 16
         </div>
19 17
         </div>
20
-    </div>
18
+    </div> -->
21 19
     <span>
22 20
     <div style="display: flex;">
23
-          <span class="activityTile" style="width: 200px;transform:translateY(50%);">是否需要报名人扫码签到</span>
24
-          <el-radio v-model="ruleForm.signInCode" label="1" style="padding-left:4%;font-weight:bold;font-size:12px;transform:translateY(50%);">需要</el-radio>
25
-          <el-radio v-model="ruleForm.signInCode" label="2" style="padding-left:8%;font-weight:bold;font-size:12px;transform:translateY(50%);">不需要</el-radio> 
26
-          <span style="padding-left:20%"><el-button type="primary" style="float:left;" @click="singn">查看签到名单</el-button></span> 
21
+          <span class="activityTile" style="width: 200px;transform:translateY(70%);">是否需要报名人扫码签到</span>
22
+          <el-radio v-model="ruleForm.signInCode" label="1" style="padding-left:4%;font-weight:bold;font-size:12px;transform:translateY(70%);">需要</el-radio>
23
+          <el-radio v-model="ruleForm.signInCode" label="2" style="padding-left:8%;font-weight:bold;font-size:12px;transform:translateY(70%);">不需要</el-radio> 
24
+          <span style="padding-left:20%"><el-button type="primary" style="float:left;transform:translateY(30%)" @click="singn">查看签到名单</el-button></span> 
27 25
     </div>
28 26
     <div style="padding-left:30%;" v-if="ruleForm.activityCode !=null">
29 27
         <div><img :src="qrcode" width="200" height="200" ></div>
@@ -50,10 +48,11 @@
50 48
 
51 49
 <script>
52 50
 import html2canvas from 'html2canvas';
53
-import QRCode from 'qrcode'
54
-
51
+import QRCode from 'qrcode';
52
+import Wangeditor from '@/components/Wangeditor';
55 53
 export default {
56 54
   name: 'Index',
55
+  components: { Wangeditor },
57 56
   data() {
58 57
     return {
59 58
       asOfdate: '2018/10/10 23:59:59',

+ 40
- 26
VUECODE/smart-property-manage/src/views/social/announcement/add.vue Wyświetl plik

@@ -2,8 +2,7 @@
2 2
   <div id="root">
3 3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-position="top" label-width="50px" class="ruleForm">
4 4
       <el-form-item  prop="announcementTitle">
5
-        <div>公告标题&nbsp;&nbsp;<el-input v-model="ruleForm.announcementTitle" placeholder="20字以内"  style="width: 80%;padding-left:3.5%;"/></div>
6
-        
5
+        <div>公告标题&nbsp;&nbsp;<el-input v-model="ruleForm.announcementTitle" placeholder="20字以内"  style="width: 80%;padding-left:3.5%;"/></div>    
7 6
       </el-form-item>
8 7
       <el-form-item  prop="announcementCarouselImg" >
9 8
         <div >
@@ -22,11 +21,14 @@
22 21
           </div>
23 22
         </div>
24 23
       </el-form-item>
25
-      <el-form-item label="">
26
-        
27
-        <div><span style="position:relative;top:-100px">公告详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.announcementContent" :rows="10" type="textarea" placeholder="公告内容" style="width: 80%;"/></div>
24
+      <el-form-item label="" prop="announcementContent">     
25
+          <!-- <el-input v-model="addForm.bannerContent" placeholder="内容详情"/> -->
26
+          <div>公告内容<span id="father"><wangeditor :content="ruleForm.announcementContent" @wangeditorEvent="wangeditorValue"/></span></div>                          
28 27
       </el-form-item>
29
-      <el-form-item>
28
+      <!-- <el-form-item label="">
29
+        <div><span style="position:relative;top:-100px">公告详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.announcementContent" :rows="10" type="textarea" placeholder="公告内容" style="width: 80%;"/></div>
30
+      </el-form-item> -->
31
+      <!-- <el-form-item>
30 32
          <div >
31 33
           <div style="transform:translateY(250%);">公告配图</div>
32 34
         <div  style="width: 500px;padding-left:13%;">
@@ -44,7 +46,7 @@
44 46
         <el-dialog :visible.sync="dialogVisible">
45 47
           <img :src="dialogImageUrl" width="100%" alt="">
46 48
         </el-dialog>
47
-      </el-form-item>
49
+      </el-form-item> -->
48 50
       <el-form-item  prop="sort">
49 51
         <div>权重值&nbsp;&nbsp;<el-input-number  v-model="ruleForm.sort" label="权重值" @change="sortHandleChange" style="margin-left:5%"/></div>
50 52
         
@@ -58,8 +60,10 @@
58 60
 </template>
59 61
 
60 62
 <script>
63
+import Wangeditor from '@/components/Wangeditor'
61 64
 export default {
62 65
   name: 'Index',
66
+  components: { Wangeditor },
63 67
   data() {
64 68
     return {
65 69
       ruleForm: {
@@ -79,7 +83,7 @@ export default {
79 83
           { min: 1, max: 20, message: '长度在 20 个字符以内', trigger: 'blur' }
80 84
         ],
81 85
         announcementContent: [
82
-          { required: true, message: '公告详细描述', trigger: 'blur' }
86
+          { required: false, message: '公告内容描述', trigger: 'blur' }
83 87
         ],
84 88
         sort: [
85 89
           { required: true, message: '请输入权重值', trigger: 'change' }
@@ -104,11 +108,16 @@ export default {
104 108
             this.$message.error('轮播图未上传')
105 109
             return    
106 110
           }
107
-          if (this.ruleForm.announcementContent.length <= 0 && this.ruleForm.contentImg.length <= 0) {
108
-            this.$message.error('公告内容描述 和 公告配图至少要存在一个!')
109
-            return
110
-          }
111
+          // if (this.ruleForm.announcementContent.length <= 0 && this.ruleForm.contentImg.length <= 0) {
112
+          //   this.$message.error('公告内容描述 和 公告配图至少要存在一个!')
113
+          //   return
114
+          // }
111 115
           this.ruleForm.status = status // 发布状态
116
+         if(this.ruleForm.announcementContent === '<p><br></p>'){
117
+             this.$message.error('公告内容描述不能为空!')
118
+             loading.close()
119
+             return
120
+          }
112 121
           this.$store.dispatch('AddAnnouncement', this.ruleForm).then((res) => {
113 122
             if (res.code === '0') {
114 123
               this.$message({
@@ -153,20 +162,25 @@ export default {
153 162
       // }
154 163
       // return isJPG && isLt2M
155 164
     },
156
-    handleRemove(file, fileList) { // 活动配图移除时
157
-      this.ruleForm.contentImg = []
158
-      for (let i = 0; i < fileList.length; i++) {
159
-        this.ruleForm.contentImg.push(fileList[i].response.data[0])
160
-      }
161
-      console.log(file, fileList)
162
-    },
163
-    handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
164
-      this.dialogImageUrl = file.url
165
-      this.dialogVisible = true
166
-    },
167
-    handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
168
-      const resImg = response.data[0]
169
-      this.ruleForm.contentImg.push(resImg)
165
+    // handleRemove(file, fileList) { // 活动配图移除时
166
+    //   this.ruleForm.contentImg = []
167
+    //   for (let i = 0; i < fileList.length; i++) {
168
+    //     this.ruleForm.contentImg.push(fileList[i].response.data[0])
169
+    //   }
170
+    //   console.log(file, fileList)
171
+    // },
172
+    // handlePictureCardPreview(file) { // 点击活动配图文件列表中已上传的文件时的钩子
173
+    //   this.dialogImageUrl = file.url
174
+    //   this.dialogVisible = true
175
+    // },
176
+    // handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
177
+    //   const resImg = response.data[0]
178
+    //   this.ruleForm.contentImg.push(resImg)
179
+    // },
180
+
181
+    // 富文本
182
+    wangeditorValue(value) {
183
+      this.ruleForm.announcementContent = value // 在这里接受子组件传过来的参数,赋值给data里的参数
170 184
     },
171 185
     sortHandleChange(value) { // 权重值
172 186
       this.ruleForm.sort = value

+ 8
- 7
VUECODE/smart-property-manage/src/views/social/announcement/details.vue Wyświetl plik

@@ -6,17 +6,16 @@
6 6
       </el-form-item>
7 7
       <el-form-item label="公告轮播图">
8 8
         <span style="color: #99a9bf;">轮播图为横幅位展示图片,不会显示在公告详情页</span>
9
+        <br>
9 10
         <img :src="ruleForm.announcementCarouselImg" width="100" height="100">
10 11
       </el-form-item>
11 12
       <el-form-item label="公告详细内容">
12 13
         <div class="activityContext">
13
-          {{ ruleForm.announcementContent }}
14
+         <span id="father"><wangeditor :content="ruleForm.announcementContent" style="height:380px;"/></span>
14 15
         </div>
15 16
       </el-form-item>
16
-      <el-form-item label="公告配图">
17
-        <template v-for="site in ruleForm.contentImg">
18
-          <img :src="site.url" width="100" height="100" >
19
-        </template>
17
+      <el-form-item label="权重值" prop="sort">
18
+        <div><el-input-number v-model="ruleForm.sort" label="权重值"/></div>
20 19
       </el-form-item>
21 20
     </el-form>
22 21
     <div class="bom-button">
@@ -26,8 +25,10 @@
26 25
 </template>
27 26
 
28 27
 <script>
28
+import Wangeditor from '@/components/Wangeditor'
29 29
 export default {
30 30
   name: 'Index',
31
+  components: { Wangeditor },
31 32
   data() {
32 33
     return {
33 34
       asOfdate: '2018/10/10 23:59:59',
@@ -88,7 +89,7 @@ export default {
88 89
 #root {
89 90
   display: flex;
90 91
   flex-flow: column;
91
-  width: 500px;
92
+  width: 600px;
92 93
   margin-top: 50px;
93 94
   margin-left: auto;
94 95
   margin-right: auto;
@@ -152,7 +153,7 @@ export default {
152 153
 .bom-button{
153 154
   display: flex;
154 155
   justify-content: center;
155
-  margin-top: 20px;
156
+  margin-top: -20px;
156 157
   margin-bottom: 100px;
157 158
 }
158 159
 </style>

+ 37
- 33
VUECODE/smart-property-manage/src/views/social/announcement/edit.vue Wyświetl plik

@@ -21,10 +21,14 @@
21 21
         </div>
22 22
         </div>
23 23
       </el-form-item>
24
-      <el-form-item >
25
-        <div><span style="position:relative;top:-100px">公告详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.announcementContent" :rows="10" type="textarea" placeholder="公告内容" style="width: 80%;"/></div>
24
+      <el-form-item label="" prop="announcementContent">     
25
+          <!-- <el-input v-model="addForm.bannerContent" placeholder="内容详情"/> -->
26
+          <div>公告内容<span id="father"><wangeditor :content="ruleForm.announcementContent" @wangeditorEvent="wangeditorValue"/></span></div>                          
26 27
       </el-form-item>
27
-      <el-form-item >
28
+      <!-- <el-form-item >
29
+        <div><span style="position:relative;top:-100px">公告详细描述&nbsp;&nbsp;</span><el-input v-model="ruleForm.announcementContent" :rows="10" type="textarea" placeholder="公告内容" style="width: 80%;"/></div>
30
+      </el-form-item> -->
31
+      <!-- <el-form-item >
28 32
        <div >
29 33
           <div style="transform:translateY(250%);">公告轮播图</div>
30 34
         <div  style="width: 500px;padding-left:13%;">
@@ -43,7 +47,7 @@
43 47
         <el-dialog :visible.sync="dialogVisible">
44 48
           <img :src="dialogImageUrl" width="100%" alt="">
45 49
         </el-dialog>
46
-      </el-form-item>
50
+      </el-form-item> -->
47 51
       <el-form-item  prop="sort">
48 52
         <div>权重值&nbsp;&nbsp;<el-input-number v-model="ruleForm.sort" label="权重值" @change="sortHandleChange" style="margin-left:5%"/></div>
49 53
       </el-form-item>
@@ -53,10 +57,11 @@
53 57
     </el-form>
54 58
   </div>
55 59
 </template>
56
-
57 60
 <script>
61
+import Wangeditor from '@/components/Wangeditor'
58 62
 export default {
59 63
   name: 'Index',
64
+  components: { Wangeditor },
60 65
   data() {
61 66
     return {
62 67
       ruleForm: {
@@ -78,7 +83,7 @@ export default {
78 83
           { min: 1, max: 20, message: '长度在 20 个字符以内', trigger: 'blur' }
79 84
         ],
80 85
         announcementContent: [
81
-          { required: true, message: '公告详细描述', trigger: 'blur' }
86
+          { required: true, message: '公告内容描述', trigger: 'blur' }
82 87
         ],
83 88
         sort: [
84 89
           { required: true, message: '请输入权重值', trigger: 'change' }
@@ -102,12 +107,12 @@ export default {
102 107
       })
103 108
       this.$refs[formName].validate((valid) => {
104 109
         if (valid) {
105
-          if (this.ruleForm.announcementContent.length <= 0 && this.ruleForm.contentImg.length <= 0) {
106
-            this.$message.error('公告内容描述 和 公告配图至少要存在一个!')
107
-            loading.close()
108
-            return
109
-          }
110 110
           this.ruleForm.status = status // 发布状态
111
+          if(this.ruleForm.announcementContent === '<p><br></p>'){
112
+             this.$message.error('公告内容描述不能为空!')
113
+             loading.close()
114
+             return
115
+          }
111 116
           this.$store.dispatch('Updateannouncement', this.ruleForm).then((res) => {
112 117
             if (res.code === '0') {
113 118
               this.$message({
@@ -148,22 +153,22 @@ export default {
148 153
       // }
149 154
       // return isJPG && isLt2M
150 155
     },
151
-    handleRemove(file, fileList) { // 活动配图移除时
152
-      this.ruleForm.contentImg = []
153
-      for (let i = 0; i < fileList.length; i++) {
154
-        this.ruleForm.contentImg.push(fileList[i].url)
155
-      }
156
-      console.log(file, fileList)
157
-    },
158
-    handlePictureCardPreview(file) { // 点击公告配图文件列表中已上传的文件时的钩子
159
-      this.dialogImageUrl = file.url
160
-      this.dialogVisible = true
161
-    },
162
-    handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
163
-      const resImg = response.data[0]
164
-      this.ruleForm.contentImg.push(resImg)
165
-      console.log('上传活动配图成功时回调!')
166
-    },
156
+    // handleRemove(file, fileList) { // 活动配图移除时
157
+    //   this.ruleForm.contentImg = []
158
+    //   for (let i = 0; i < fileList.length; i++) {
159
+    //     this.ruleForm.contentImg.push(fileList[i].url)
160
+    //   }
161
+    //   console.log(file, fileList)
162
+    // },
163
+    // handlePictureCardPreview(file) { // 点击公告配图文件列表中已上传的文件时的钩子
164
+    //   this.dialogImageUrl = file.url
165
+    //   this.dialogVisible = true
166
+    // },
167
+    // handleSuccessContentImg(response, file, fileList) { // 活动配图上传成功时回调
168
+    //   const resImg = response.data[0]
169
+    //   this.ruleForm.contentImg.push(resImg)
170
+    //   console.log('上传活动配图成功时回调!')
171
+    // },
167 172
     sortHandleChange(value) { // 权重值
168 173
       this.ruleForm.sort = value
169 174
     },
@@ -175,13 +180,12 @@ export default {
175 180
         this.ruleForm.announcementContent = resData.tpAnnouncement.announcementContent// 内容
176 181
         this.Urlimage = resData.tpAnnouncement.announcementCarouselImg // 轮播图
177 182
         this.ruleForm.sort = resData.tpAnnouncement.sort// 权重
178
-        // 多张图片进行遍历
179
-        for (let i = 0; i < resData.studentList.length; i++) {
180
-          this.contentImgList.push({ url: resData.studentList[i].imageUrl })
181
-          this.ruleForm.contentImg.push(resData.studentList[i].imageUrl)
182
-        }
183 183
       })
184
-    }
184
+    },
185
+    // 富文本
186
+    wangeditorValue(value) {
187
+    this.ruleForm.announcementContent = value // 在这里接受子组件传过来的参数,赋值给data里的参数
188
+    },
185 189
   }
186 190
 }
187 191
 </script>

+ 5
- 1
VUECODE/smart-property-manage/src/views/social/announcement/index.vue Wyświetl plik

@@ -238,8 +238,12 @@ export default {
238 238
       var year = value.getFullYear()
239 239
       var month = value.getMonth() + 1
240 240
       var day = value.getDate()
241
+      var hour = value.getHours()
242
+      var minutes = value.getMinutes()
243
+      var seconds = value.getSeconds()
244
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
241 245
       return year + '-' + month + '-' + day
242
-    }
246
+    },
243 247
   }
244 248
 }
245 249
 </script>

+ 2
- 2
VUECODE/smart-property-manage/src/views/social/transaction/transactionAdd.vue Wyświetl plik

@@ -20,8 +20,8 @@
20 20
       </el-form-item>
21 21
       <el-form-item>
22 22
         <div >
23
-          <div style="transform:translateY(250%);">话题配图</div>
24
-        <div  style="width: 500px;padding-left:13%;">
23
+        <span>话题配图</span>
24
+        <div  style="padding-left:13%;transform:translateY(-20%);">
25 25
         <el-upload
26 26
           :on-preview="handlePictureCardPreview"
27 27
           :on-remove="handleRemove"

+ 2
- 2
VUECODE/smart-property-manage/src/views/social/transaction/transactionEdit.vue Wyświetl plik

@@ -21,8 +21,8 @@
21 21
       </el-form-item>
22 22
       <el-form-item>
23 23
         <div >
24
-          <div style="transform:translateY(250%);">话题配图</div>
25
-        <div  style="width: 500px;padding-left:13%;">
24
+          <div>话题配图</div>
25
+        <div  style="padding-left:13%;transform:translateY(-20%);">
26 26
         <el-upload
27 27
           :on-preview="handlePictureCardPreview"
28 28
           :on-remove="handleRemove"