周立森 5 years ago
parent
commit
73279c0084

+ 1
- 1
foyo-service/pom.xml View File

10
 	</parent>
10
 	</parent>
11
 	<groupId>com.huiju</groupId>
11
 	<groupId>com.huiju</groupId>
12
 	<artifactId>foyo</artifactId>
12
 	<artifactId>foyo</artifactId>
13
-	<version>v0.1.0</version>
13
+	<version>v0.2.4</version>
14
 	<name>foyo</name>
14
 	<name>foyo</name>
15
 	<description>Demo project for Spring Boot</description>
15
 	<description>Demo project for Spring Boot</description>
16
 
16
 

+ 2
- 0
foyo-service/src/main/java/com/huiju/foyo/model/TaCarouselPicture.java View File

63
     private String imageUrl;
63
     private String imageUrl;
64
 
64
 
65
 
65
 
66
+
67
+  private String link;
66
 }
68
 }

+ 27
- 0
foyo-service/src/main/java/com/huiju/foyo/model/TaCase.java View File

103
     private String type;
103
     private String type;
104
 
104
 
105
     private Integer likeNum;
105
     private Integer likeNum;
106
+
107
+  /**
108
+   * 案例详情封面图
109
+   */
110
+  private String caseDetailCoverImg;
111
+
112
+  /**
113
+   * 分享链接
114
+   */
115
+  private String caseLink;
116
+
117
+  /**
118
+   * 链接名称
119
+   */
120
+  private String linkName;
121
+
122
+  /**
123
+   *  1是可以链接
124
+   */
125
+  private Integer islink;
126
+
127
+  /**
128
+   * 更多封面图
129
+   */
130
+  private String caseMoreCoverImg;
131
+
132
+
106
 }
133
 }

+ 1
- 1
foyo-service/src/main/java/com/huiju/foyo/service/impl/ImageServiceimpl.java View File

27
         String imgName = System.currentTimeMillis() + ".png";
27
         String imgName = System.currentTimeMillis() + ".png";
28
         //保存路径
28
         //保存路径
29
         String path = imagePath + imgName;
29
         String path = imagePath + imgName;
30
-        String rebackPath = "uploadimage/" + imgName;
30
+        String rebackPath = "/uploadimage/" + imgName;
31
         //生成保存文件
31
         //生成保存文件
32
         File troUploadFile = new File(path);
32
         File troUploadFile = new File(path);
33
         //将上传文件保存到路径
33
         //将上传文件保存到路径

+ 1
- 1
foyo-service/src/main/resources/mapper/TaCaseMapper.xml View File

15
               END
15
               END
16
             FROM
16
             FROM
17
             ta_case
17
             ta_case
18
-			WHERE type = 'case'
18
+			WHERE type = #{type}
19
             GROUP BY SIGN(id - #{id})
19
             GROUP BY SIGN(id - #{id})
20
             ORDER BY SIGN(id - #{id})
20
             ORDER BY SIGN(id - #{id})
21
          )
21
          )

BIN
vue-element-admin/favicon.ico View File


+ 1
- 0
vue-element-admin/index.html View File

5
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
5
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
     <meta name="renderer" content="webkit">
6
     <meta name="renderer" content="webkit">
7
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
7
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
8
+    <!-- <link rel="icon" href="<%= BASE_URL %>favicon.png"> -->
8
     <title>FOYO</title>
9
     <title>FOYO</title>
9
   </head>
10
   </head>
10
   <body>
11
   <body>

+ 3
- 3
vue-element-admin/src/router/index.js View File

119
     component: Layout,
119
     component: Layout,
120
     name: 'movement',
120
     name: 'movement',
121
     alwaysShow: true,
121
     alwaysShow: true,
122
-    meta: { title: '动态管理', icon: 'international' },
122
+    meta: { title: '分享管理', icon: 'international' },
123
     children: [
123
     children: [
124
       {
124
       {
125
         path: 'list',
125
         path: 'list',
126
         component: () => import('@/views/case/movement'),
126
         component: () => import('@/views/case/movement'),
127
         name: 'movement-index',
127
         name: 'movement-index',
128
-        meta: { title: '动态列表' }
128
+        meta: { title: '分享列表' }
129
       },
129
       },
130
       {
130
       {
131
         path: '/movement/cover',
131
         path: '/movement/cover',
132
         component: () => import('@/views/case/CoverMovement'),
132
         component: () => import('@/views/case/CoverMovement'),
133
         name: 'case-cover',
133
         name: 'case-cover',
134
-        meta: { title: '动态封面' }
134
+        meta: { title: '分享封面' }
135
       }
135
       }
136
     ]
136
     ]
137
   },
137
   },

+ 5
- 0
vue-element-admin/src/views/carousel/edit.vue View File

7
       <el-form-item :label-width="formLabelWidth" label="权重">
7
       <el-form-item :label-width="formLabelWidth" label="权重">
8
         <el-input v-model="form.sort"/>
8
         <el-input v-model="form.sort"/>
9
       </el-form-item>
9
       </el-form-item>
10
+      <el-form-item :label-width="formLabelWidth" label="链接">
11
+        <el-input v-model="form.link"/>
12
+      </el-form-item>
10
       <el-form-item :label-width="formLabelWidth" label="banner图">
13
       <el-form-item :label-width="formLabelWidth" label="banner图">
11
         <el-upload
14
         <el-upload
12
           :action= "uploadImgUrl"
15
           :action= "uploadImgUrl"
82
         id: '',
85
         id: '',
83
         serviceName: '',
86
         serviceName: '',
84
         sort: '',
87
         sort: '',
88
+        link: '',
85
         imageUrl: ''
89
         imageUrl: ''
86
       },
90
       },
87
       uploadImgUrl: process.env.BASE_API + 'uploadimage',
91
       uploadImgUrl: process.env.BASE_API + 'uploadimage',
112
       this.dialogFormVisible = true
116
       this.dialogFormVisible = true
113
       this.form.serviceName = ''
117
       this.form.serviceName = ''
114
       this.form.sort = ''
118
       this.form.sort = ''
119
+      this.form.link = ''
115
       this.form.imageUrl = ''
120
       this.form.imageUrl = ''
116
     },
121
     },
117
     dialogForm(isVaule) {
122
     dialogForm(isVaule) {

+ 1
- 0
vue-element-admin/src/views/case/CoverMovement.vue View File

10
           name="uploadFiles">
10
           name="uploadFiles">
11
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
11
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
12
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
12
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
13
+          <div slot="tip" class="el-upload__tip">建议上传1920*768的图片</div>
13
         </el-upload>
14
         </el-upload>
14
       </el-form-item>
15
       </el-form-item>
15
     </el-form>
16
     </el-form>

+ 80
- 50
vue-element-admin/src/views/case/add.vue View File

2
   <div id="app" class="app-container">
2
   <div id="app" class="app-container">
3
     <el-form ref="form" :model="form">
3
     <el-form ref="form" :model="form">
4
       <el-form-item :label-width="formLabelWidth" label="标题">
4
       <el-form-item :label-width="formLabelWidth" label="标题">
5
-        <el-input v-model="form.caseTitle"/>
5
+        <el-input v-model="form.caseTitle" />
6
       </el-form-item>
6
       </el-form-item>
7
-      <el-form-item :label-width="formLabelWidth" label="封面图">
8
-        <el-upload
9
-          :action= "uploadImgUrl"
10
-          :show-file-list="false"
11
-          :on-success="handleAvatarSuccess"
12
-          class="avatar-uploader"
13
-          name="uploadFiles">
14
-          <img v-if="imageUrl" :src="imageUrl" class="avatar">
15
-          <i v-else class="el-icon-plus avatar-uploader-icon"/>
7
+      <el-form-item :label-width="formLabelWidth" label="首页banner">
8
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleAvatarSuccess" class="avatar-uploader" name="uploadFiles">
9
+          <img v-if="imageUrl" :src="imageUrl" class="avatar" >
10
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
11
+          <div slot="tip" class="el-upload__tip">建议上传案例为481*466、分享为769*459的图片</div>
12
+        </el-upload>
13
+      </el-form-item>
14
+      <el-form-item :label-width="formLabelWidth" label="详情banner">
15
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleDetailSuccess" class="avatar-uploader" name="uploadFiles">
16
+          <img v-if="detailUrl" :src="detailUrl" class="avatar" >
17
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
18
+          <div slot="tip" class="el-upload__tip">建议上传1920*768的图片</div>
19
+        </el-upload>
20
+      </el-form-item>
21
+      <el-form-item :label-width="formLabelWidth" label="更多banner">
22
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleMoreSuccess" class="avatar-uploader" name="uploadFiles">
23
+          <img v-if="moreUrl" :src="moreUrl" class="avatar" >
24
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
25
+          <div slot="tip" class="el-upload__tip">建议上传481*466的图片</div>
16
         </el-upload>
26
         </el-upload>
17
       </el-form-item>
27
       </el-form-item>
18
       <el-form-item :label-width="formLabelWidth" label="简介">
28
       <el-form-item :label-width="formLabelWidth" label="简介">
19
-        <el-input v-model="form.caseSummary"/>
29
+        <el-input v-model="form.caseSummary" />
20
       </el-form-item>
30
       </el-form-item>
21
       <el-form-item :label-width="formLabelWidth" label="类型">
31
       <el-form-item :label-width="formLabelWidth" label="类型">
22
         <el-select v-model="form.taCaseTypeId" placeholder="请选择类型">
32
         <el-select v-model="form.taCaseTypeId" placeholder="请选择类型">
23
-          <el-option v-for="item in caseTypeList" :key="item.id" :value="item.id" :label="item.typeName"/>
33
+          <el-option v-for="item in caseTypeList" :key="item.id" :value="item.id" :label="item.typeName" />
24
         </el-select>
34
         </el-select>
25
       </el-form-item>
35
       </el-form-item>
26
       <el-form-item v-if="form.type == 'case'" :label-width="formLabelWidth" label="案例客户方logo">
36
       <el-form-item v-if="form.type == 'case'" :label-width="formLabelWidth" label="案例客户方logo">
27
-        <el-upload
28
-          :action= "uploadImgUrl"
29
-          :show-file-list="false"
30
-          :on-success="handleLogoSuccess"
31
-          class="avatar-uploader"
32
-          name="uploadFiles">
33
-          <img v-if="logoUrl" :src="logoUrl" class="avatar">
34
-          <i v-else class="el-icon-plus avatar-uploader-icon"/>
37
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleLogoSuccess" class="avatar-uploader" name="uploadFiles">
38
+          <img v-if="logoUrl" :src="logoUrl" class="avatar" >
39
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
35
         </el-upload>
40
         </el-upload>
36
       </el-form-item>
41
       </el-form-item>
37
       <el-form-item :label-width="formLabelWidth" label="所属行业">
42
       <el-form-item :label-width="formLabelWidth" label="所属行业">
38
-        <el-input v-model="form.caseIndustry"/>
43
+        <el-input v-model="form.caseIndustry" />
44
+      </el-form-item>
45
+
46
+      <el-form-item :label-width="formLabelWidth" label="链接名称">
47
+        <el-input v-model="form.linkName" />
39
       </el-form-item>
48
       </el-form-item>
49
+
50
+      <el-form-item :label-width="formLabelWidth" label="链接地址">
51
+        <el-input v-model="form.caseLink" />
52
+      </el-form-item>
53
+
54
+      <el-form-item :label-width="formLabelWidth" label="是否链接">
55
+        <el-switch v-model="form.islink" active-color="#13ce66" inactive-color="#ff4949" active-value="1" inactive-value="0" />
56
+      </el-form-item>
57
+
40
       <el-form-item>
58
       <el-form-item>
41
         <p class="title">内容</p>
59
         <p class="title">内容</p>
42
-        <div id="websiteEditorElem" style="height: 400px"/>
60
+        <div id="websiteEditorElem" style="height: 400px" />
43
       </el-form-item>
61
       </el-form-item>
44
       <el-form-item :label-width="formLabelWidth" label="权重">
62
       <el-form-item :label-width="formLabelWidth" label="权重">
45
-        <el-input v-model="form.sort"/>
63
+        <el-input v-model="form.sort" />
46
       </el-form-item>
64
       </el-form-item>
47
       <el-form-item :label-width="formLabelWidth" label="是否置顶">
65
       <el-form-item :label-width="formLabelWidth" label="是否置顶">
48
-        <el-switch
49
-          v-model="form.topping"
50
-          active-color="#13ce66"
51
-          inactive-color="#ff4949"
52
-          active-value="1"
53
-          inactive-value="0"/>
66
+        <el-switch v-model="form.topping" active-color="#13ce66" inactive-color="#ff4949" active-value="1" inactive-value="0" />
54
       </el-form-item>
67
       </el-form-item>
55
       <el-form-item :label-width="formLabelWidth" label="发布类型">
68
       <el-form-item :label-width="formLabelWidth" label="发布类型">
56
         <el-select :value="form.type" placeholder="请选择发布类型">
69
         <el-select :value="form.type" placeholder="请选择发布类型">
57
-          <el-option key="case" value="case" label="案例"/>
58
-          <el-option key="movement" value="movement" label="动态"/>
70
+          <el-option key="case" value="case" label="案例" />
71
+          <el-option key="movement" value="movement" label="动态" />
59
         </el-select>
72
         </el-select>
60
       </el-form-item>
73
       </el-form-item>
61
     </el-form>
74
     </el-form>
107
       listLoading: true,
120
       listLoading: true,
108
       imageUrl: '', // 图片预览
121
       imageUrl: '', // 图片预览
109
       logoUrl: '', // 图片预览
122
       logoUrl: '', // 图片预览
123
+      detailUrl: '',
124
+      moreUrl: '',
110
       importanceOptions: [1, 2, 3],
125
       importanceOptions: [1, 2, 3],
111
       calendarTypeOptions,
126
       calendarTypeOptions,
112
       communityQuery: {
127
       communityQuery: {
124
         caseTitle: '',
139
         caseTitle: '',
125
         sort: '',
140
         sort: '',
126
         caseCoverImg: '',
141
         caseCoverImg: '',
142
+        caseDetailCoverImg: '',
143
+        caseMoreCoverImg: '',
127
         caseLogoImg: '',
144
         caseLogoImg: '',
128
         caseSummary: '',
145
         caseSummary: '',
129
         caseIndustry: '',
146
         caseIndustry: '',
147
+        Linkname: '',
148
+        caseLink: '',
149
+        isLink: 0,
130
         topping: 0,
150
         topping: 0,
131
         content: '',
151
         content: '',
132
         type: 'case'
152
         type: 'case'
189
       this.imageUrl = URL.createObjectURL(file.raw)
209
       this.imageUrl = URL.createObjectURL(file.raw)
190
       this.form.caseCoverImg = res.data[0]
210
       this.form.caseCoverImg = res.data[0]
191
     },
211
     },
212
+    handleDetailSuccess(res, file) { // 上传成功回调
213
+      this.detailUrl = URL.createObjectURL(file.raw)
214
+      this.form.caseDetailCoverImg = res.data[0]
215
+    },
216
+
217
+    handleMoreSuccess(res, file) { // 上传成功回调
218
+      this.moreUrl = URL.createObjectURL(file.raw)
219
+      this.form.caseMoreCoverImg = res.data[0]
220
+    },
221
+
192
     handleLogoSuccess(res, file) { // 上传成功回调
222
     handleLogoSuccess(res, file) { // 上传成功回调
193
       this.logoUrl = URL.createObjectURL(file.raw)
223
       this.logoUrl = URL.createObjectURL(file.raw)
194
       this.form.caseLogoImg = res.data[0]
224
       this.form.caseLogoImg = res.data[0]
267
 </script>
297
 </script>
268
 
298
 
269
 <style scoped>
299
 <style scoped>
270
-.title{
271
-    font-size: 14px;
272
-    color: #606266;
273
-    font-weight: 600;
300
+.title {
301
+  font-size: 14px;
302
+  color: #606266;
303
+  font-weight: 600;
274
 }
304
 }
275
 .app-container {
305
 .app-container {
276
   width: 50%;
306
   width: 50%;
280
   text-align: center;
310
   text-align: center;
281
 }
311
 }
282
 .el-tag + .el-tag {
312
 .el-tag + .el-tag {
283
-    margin-left: 10px;
284
-  }
285
-  .button-new-tag {
286
-    margin-left: 10px;
287
-    height: 32px;
288
-    line-height: 30px;
289
-    padding-top: 0;
290
-    padding-bottom: 0;
291
-  }
292
-  .input-new-tag {
293
-    width: 90px;
294
-    margin-left: 10px;
295
-    vertical-align: bottom;
296
-  }
313
+  margin-left: 10px;
314
+}
315
+.button-new-tag {
316
+  margin-left: 10px;
317
+  height: 32px;
318
+  line-height: 30px;
319
+  padding-top: 0;
320
+  padding-bottom: 0;
321
+}
322
+.input-new-tag {
323
+  width: 90px;
324
+  margin-left: 10px;
325
+  vertical-align: bottom;
326
+}
297
 </style>
327
 </style>
298
 <style>
328
 <style>
299
 .avatar-uploader .el-upload {
329
 .avatar-uploader .el-upload {
304
   overflow: hidden;
334
   overflow: hidden;
305
 }
335
 }
306
 .avatar-uploader .el-upload:hover {
336
 .avatar-uploader .el-upload:hover {
307
-  border-color: #409EFF;
337
+  border-color: #409eff;
308
 }
338
 }
309
 .avatar-uploader-icon {
339
 .avatar-uploader-icon {
310
   font-size: 28px;
340
   font-size: 28px;

+ 1
- 0
vue-element-admin/src/views/case/cover.vue View File

11
           name="uploadFiles">
11
           name="uploadFiles">
12
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
12
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
13
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
13
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
14
+          <div slot="tip" class="el-upload__tip">建议上传1920*768的图片</div>
14
         </el-upload>
15
         </el-upload>
15
       </el-form-item>
16
       </el-form-item>
16
     </el-form>
17
     </el-form>

+ 72
- 52
vue-element-admin/src/views/case/edit.vue View File

2
   <div id="app" class="app-container">
2
   <div id="app" class="app-container">
3
     <el-form ref="form" :model="form">
3
     <el-form ref="form" :model="form">
4
       <el-form-item :label-width="formLabelWidth" label="标题">
4
       <el-form-item :label-width="formLabelWidth" label="标题">
5
-        <el-input v-model="form.caseTitle"/>
5
+        <el-input v-model="form.caseTitle" />
6
       </el-form-item>
6
       </el-form-item>
7
-      <el-form-item :label-width="formLabelWidth" label="封面图">
8
-        <el-upload
9
-          :action= "uploadImgUrl"
10
-          :show-file-list="false"
11
-          :on-success="handleAvatarSuccess"
12
-          class="avatar-uploader"
13
-          name="uploadFiles">
14
-          <img v-if="imageUrl" :src="imageUrl" class="avatar">
15
-          <i v-else class="el-icon-plus avatar-uploader-icon"/>
7
+      <el-form-item :label-width="formLabelWidth" label="首页banner">
8
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleAvatarSuccess" class="avatar-uploader" name="uploadFiles">
9
+          <img v-if="imageUrl" :src="imageUrl" class="avatar" >
10
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
11
+          <div slot="tip" class="el-upload__tip">建议上传案例为481*466、分享为769*459的图片</div>
16
         </el-upload>
12
         </el-upload>
17
       </el-form-item>
13
       </el-form-item>
14
+      <el-form-item :label-width="formLabelWidth" label="详情banner">
15
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleDetailSuccess" class="avatar-uploader" name="uploadFiles">
16
+          <img v-if="detailUrl" :src="detailUrl" class="avatar" >
17
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
18
+          <div slot="tip" class="el-upload__tip">建议上传1920*768的图片</div>
19
+        </el-upload>
20
+      </el-form-item>
21
+
22
+      <el-form-item :label-width="formLabelWidth" label="更多banner">
23
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handlemoreSuccess" class="avatar-uploader" name="uploadFiles">
24
+          <img v-if="moreUrl" :src="moreUrl" class="avatar" >
25
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
26
+          <div slot="tip" class="el-upload__tip">建议上传481*466的图片</div>
27
+        </el-upload>
28
+      </el-form-item>
29
+
18
       <el-form-item :label-width="formLabelWidth" label="简介">
30
       <el-form-item :label-width="formLabelWidth" label="简介">
19
-        <el-input v-model="form.caseSummary"/>
31
+        <el-input v-model="form.caseSummary" />
20
       </el-form-item>
32
       </el-form-item>
21
       <el-form-item :label-width="formLabelWidth" label="类型">
33
       <el-form-item :label-width="formLabelWidth" label="类型">
22
         <el-select v-model="form.taCaseTypeId" placeholder="请选择类型">
34
         <el-select v-model="form.taCaseTypeId" placeholder="请选择类型">
23
-          <el-option v-for="item in caseTypeList" :key="item.id" :value="item.id" :label="item.typeName"/>
35
+          <el-option v-for="item in caseTypeList" :key="item.id" :value="item.id" :label="item.typeName" />
24
         </el-select>
36
         </el-select>
25
       </el-form-item>
37
       </el-form-item>
26
       <el-form-item v-if="form.type == 'case'" :label-width="formLabelWidth" label="案例客户方logo">
38
       <el-form-item v-if="form.type == 'case'" :label-width="formLabelWidth" label="案例客户方logo">
27
-        <el-upload
28
-          :action= "uploadImgUrl"
29
-          :show-file-list="false"
30
-          :on-success="handleLogoSuccess"
31
-          class="avatar-uploader"
32
-          name="uploadFiles">
33
-          <img v-if="logoUrl" :src="logoUrl" class="avatar">
34
-          <i v-else class="el-icon-plus avatar-uploader-icon"/>
39
+        <el-upload :action="uploadImgUrl" :show-file-list="false" :on-success="handleLogoSuccess" class="avatar-uploader" name="uploadFiles">
40
+          <img v-if="logoUrl" :src="logoUrl" class="avatar" >
41
+          <i v-else class="el-icon-plus avatar-uploader-icon" />
35
         </el-upload>
42
         </el-upload>
36
       </el-form-item>
43
       </el-form-item>
37
       <el-form-item :label-width="formLabelWidth" label="所属行业">
44
       <el-form-item :label-width="formLabelWidth" label="所属行业">
38
-        <el-input v-model="form.caseIndustry"/>
45
+        <el-input v-model="form.caseIndustry" />
46
+      </el-form-item>
47
+      <el-form-item :label-width="formLabelWidth" label="分享链接">
48
+        <el-input v-model="form.caseLink" />
39
       </el-form-item>
49
       </el-form-item>
40
       <el-form-item>
50
       <el-form-item>
41
         <p class="title">内容</p>
51
         <p class="title">内容</p>
42
-        <div id="websiteEditorElem" style="height: 400px"/>
52
+        <div id="websiteEditorElem" style="height: 400px" />
43
       </el-form-item>
53
       </el-form-item>
44
       <el-form-item :label-width="formLabelWidth" label="权重">
54
       <el-form-item :label-width="formLabelWidth" label="权重">
45
-        <el-input v-model="form.sort"/>
55
+        <el-input v-model="form.sort" />
46
       </el-form-item>
56
       </el-form-item>
47
       <el-form-item :label-width="formLabelWidth" label="是否置顶">
57
       <el-form-item :label-width="formLabelWidth" label="是否置顶">
48
-        <el-switch
49
-          v-model="form.topping"
50
-          :active-value="1"
51
-          :inactive-value="0"
52
-          active-color="#13ce66"
53
-          inactive-color="#ff4949"/>
58
+        <el-switch v-model="form.topping" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949" />
54
       </el-form-item>
59
       </el-form-item>
55
       <el-form-item :label-width="formLabelWidth" label="发布类型">
60
       <el-form-item :label-width="formLabelWidth" label="发布类型">
56
         <el-select :value="form.type" placeholder="请选择发布类型">
61
         <el-select :value="form.type" placeholder="请选择发布类型">
57
-          <el-option key="case" value="case" label="案例"/>
58
-          <el-option key="movement" value="movement" label="动态"/>
62
+          <el-option key="case" value="case" label="案例" />
63
+          <el-option key="movement" value="movement" label="动态" />
59
         </el-select>
64
         </el-select>
60
       </el-form-item>
65
       </el-form-item>
61
     </el-form>
66
     </el-form>
107
       listLoading: true,
112
       listLoading: true,
108
       imageUrl: '', // 图片预览
113
       imageUrl: '', // 图片预览
109
       logoUrl: '', // 图片预览
114
       logoUrl: '', // 图片预览
115
+      detailUrl: '',
116
+      moreUrl: '',
110
       importanceOptions: [1, 2, 3],
117
       importanceOptions: [1, 2, 3],
111
       calendarTypeOptions,
118
       calendarTypeOptions,
112
       communityQuery: {
119
       communityQuery: {
127
         caseLogoImg: '',
134
         caseLogoImg: '',
128
         caseSummary: '',
135
         caseSummary: '',
129
         caseIndustry: '',
136
         caseIndustry: '',
137
+        caseLink: '',
130
         topping: 0,
138
         topping: 0,
131
         content: '',
139
         content: '',
132
-        type: 'case'
140
+        type: 'case',
141
+        caseDetailCoverImg: ''
133
       },
142
       },
134
       uploadImgUrl: process.env.BASE_API + 'uploadimage',
143
       uploadImgUrl: process.env.BASE_API + 'uploadimage',
135
       dialogStatus: '',
144
       dialogStatus: '',
180
 
189
 
181
     this.$store.dispatch('servicecase/getCaseDetail', this.$route.query.id).then((res) => {
190
     this.$store.dispatch('servicecase/getCaseDetail', this.$route.query.id).then((res) => {
182
       if (res.data.code === '0') {
191
       if (res.data.code === '0') {
183
-        console.log(res.data.data)
192
+        console.log(res.data.data, '-----')
184
         this.imageUrl = res.data.data.caseCoverImg
193
         this.imageUrl = res.data.data.caseCoverImg
185
         this.logoUrl = res.data.data.caseLogoImg
194
         this.logoUrl = res.data.data.caseLogoImg
186
         this.form = res.data.data
195
         this.form = res.data.data
205
       this.imageUrl = URL.createObjectURL(file.raw)
214
       this.imageUrl = URL.createObjectURL(file.raw)
206
       this.form.caseCoverImg = res.data[0]
215
       this.form.caseCoverImg = res.data[0]
207
     },
216
     },
217
+    handleDetailSuccess(res, file) { // 上传成功回调
218
+      this.detailUrl = URL.createObjectURL(file.raw)
219
+      this.form.caseDetailCoverImg = res.data[0]
220
+    },
221
+    handleMoreSuccess(res, file) { // 上传成功回调
222
+      this.moreUrl = URL.createObjectURL(file.raw)
223
+      this.form.caseMoreCoverImg = res.data[0]
224
+    },
225
+
208
     handleLogoSuccess(res, file) { // 上传成功回调
226
     handleLogoSuccess(res, file) { // 上传成功回调
209
       this.logoUrl = URL.createObjectURL(file.raw)
227
       this.logoUrl = URL.createObjectURL(file.raw)
210
       this.form.caseLogoImg = res.data[0]
228
       this.form.caseLogoImg = res.data[0]
260
           console.log(res.data.data)
278
           console.log(res.data.data)
261
           this.imageUrl = res.data.data.caseCoverImg
279
           this.imageUrl = res.data.data.caseCoverImg
262
           this.logoUrl = res.data.data.caseLogoImg
280
           this.logoUrl = res.data.data.caseLogoImg
281
+          this.detailUrl = res.data.data.caseDetailCoverImg
282
+          this.moreUrl = res.data.data.caseMoreCoverImg
263
           this.form = res.data.data
283
           this.form = res.data.data
264
         } else {
284
         } else {
265
           this.$message({
285
           this.$message({
298
 </script>
318
 </script>
299
 
319
 
300
 <style scoped>
320
 <style scoped>
301
-.title{
302
-    font-size: 14px;
303
-    color: #606266;
304
-    font-weight: 600;
321
+.title {
322
+  font-size: 14px;
323
+  color: #606266;
324
+  font-weight: 600;
305
 }
325
 }
306
 .app-container {
326
 .app-container {
307
   width: 50%;
327
   width: 50%;
311
   text-align: center;
331
   text-align: center;
312
 }
332
 }
313
 .el-tag + .el-tag {
333
 .el-tag + .el-tag {
314
-    margin-left: 10px;
315
-  }
316
-  .button-new-tag {
317
-    margin-left: 10px;
318
-    height: 32px;
319
-    line-height: 30px;
320
-    padding-top: 0;
321
-    padding-bottom: 0;
322
-  }
323
-  .input-new-tag {
324
-    width: 90px;
325
-    margin-left: 10px;
326
-    vertical-align: bottom;
327
-  }
334
+  margin-left: 10px;
335
+}
336
+.button-new-tag {
337
+  margin-left: 10px;
338
+  height: 32px;
339
+  line-height: 30px;
340
+  padding-top: 0;
341
+  padding-bottom: 0;
342
+}
343
+.input-new-tag {
344
+  width: 90px;
345
+  margin-left: 10px;
346
+  vertical-align: bottom;
347
+}
328
 </style>
348
 </style>
329
 <style>
349
 <style>
330
 .avatar-uploader .el-upload {
350
 .avatar-uploader .el-upload {
335
   overflow: hidden;
355
   overflow: hidden;
336
 }
356
 }
337
 .avatar-uploader .el-upload:hover {
357
 .avatar-uploader .el-upload:hover {
338
-  border-color: #409EFF;
358
+  border-color: #409eff;
339
 }
359
 }
340
 .avatar-uploader-icon {
360
 .avatar-uploader-icon {
341
   font-size: 28px;
361
   font-size: 28px;

+ 1
- 0
vue-element-admin/src/views/service/edit.vue View File

16
           name="uploadFiles">
16
           name="uploadFiles">
17
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
17
           <img v-if="imageUrl" :src="imageUrl" class="avatar">
18
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
18
           <i v-else class="el-icon-plus avatar-uploader-icon"/>
19
+          <div slot="tip" class="el-upload__tip">建议上传338*210的图片</div>
19
         </el-upload>
20
         </el-upload>
20
       </el-form-item>
21
       </el-form-item>
21
       <el-form-item>
22
       <el-form-item>