Преглед изворни кода

Merge branch 'master' into bzkf30

bzkf30 пре 2 година
родитељ
комит
34760d9848

+ 20 - 20
src/pages/resourceMovReview.vue

@@ -128,8 +128,7 @@
                     }}<span>{{ item.create_dateline }}</span>
                   </p>
                   <div class="starListS">
-                    <img src="../assets/kczy/stars.png" v-for="(itemsec, index) in Number(item.ke_star)" :key="index"
-                      alt="" />
+                    <img src="../assets/kczy/stars.png" v-for="(itemsec, index) in Number(item.ke_star)" :key="index" alt="" />
                   </div>
                 </div>
               </div>
@@ -295,7 +294,7 @@ export default {
             }
 
           })
-          .catch(error=>{console.log(error)})
+          .catch(error => { console.log(error) })
       } else {
         let transObj = {
           kczy_files_like: {
@@ -304,22 +303,22 @@ export default {
           },
         };
         likeApi_add(transObj)
-        .then((res) => {
-          if (res.code == "1") {
-            ElMessage({
-              message: res.msg,
-              type: "success",
-            });
-          } else {
-            ElMessage({
-              message: res.msg,
-              type: "waring",
-            });
-          }
-        })
-        .catch((error) => {
-          console.log(error);
-        });
+          .then((res) => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+          });
       }
       this.initData();
     },
@@ -683,7 +682,8 @@ export default {
         }
 
         .collect {
-          background: url("../assets/kczy/collectIcon.png") no-repeat left center;
+          background: url("../assets/kczy/collectIcon.png") no-repeat left
+            center;
           background-size: 21px 20px;
           box-sizing: border-box;
           padding: 3px 0 3px 25px;

+ 121 - 49
src/pages/zhjy/zhjyzxxx/zxxxsp/api.js

@@ -1,61 +1,133 @@
 import request from '@/utils/request';
 export const zxxx_detail = (data = {}) =>
-    request({
-        url: '/zhjy/zxxx/detail',
-        data: {
-            zz_id: data.zz_id
+  request({
+    url: '/zhjy/zxxx/detail',
+    data: {
+      zz_id: data.zz_id
 
-        }
-    })
+    }
+  })
 export const zxxx_evaluate_add = (data = {}) =>
-    request({
-        url: '/kczy/evaluate/add',
-        data: {
-            issubmit: '1',
-            kczy_evaluate: {
-                ke_star: data.ke_star,
-                ke_user_realname: data.ke_user_realname,
-                kk_id: data.kk_id,
-                kf_id: data.kf_id,
+  request({
+    url: '/kczy/evaluate/add',
+    data: {
+      issubmit: '1',
+      kczy_evaluate: {
+        ke_star: data.ke_star,
+        ke_user_realname: data.ke_user_realname,
+        kk_id: data.kk_id,
+        kf_id: data.kf_id,
 
 
-            }
+      }
 
-        }
-    })
+    }
+  })
 export const zxxx_evaluate_list = (data = {}) =>
-    request({
-        url: '/kczy/evaluate/index',
-        data: {
-            page: data.page,
-            limit: data.limit,
-            keyword: data.keyword,
-            ke_star: data.ke_star,
-            ke_content: data.ke_content,
-            kk_id: data.kk_id,
-            kf_id: data.kf_id,
-
-        }
-    })
+  request({
+    url: '/kczy/evaluate/index',
+    data: {
+      page: data.page,
+      limit: data.limit,
+      keyword: data.keyword,
+      ke_star: data.ke_star,
+      ke_content: data.ke_content,
+      kk_id: data.kk_id,
+      kf_id: data.kf_id,
+
+    }
+  })
 
 export const user_avatar = (data = {}) =>
-    request({
-        url: '/user/main/user_avatar',
-        data: {
-            user_id: data.user_id
-        }
-    })
+  request({
+    url: '/user/main/user_avatar',
+    data: {
+      user_id: data.user_id
+    }
+  })
 export const zygl = (data = {}) =>
-    request({
-        url: '/kczy/files/index',
-        data: {
-            user_id: data.user_id
-        }
-    })
+  request({
+    url: '/kczy/files/index',
+    data: {
+      user_id: data.user_id
+    }
+  })
 export const kcgl = (data = {}) =>
-    request({
-        url: '/kczy/kc/index',
-        data: {
-            user_id: data.user_id
-        }
-    })
+  request({
+    url: '/kczy/kc/index',
+    data: {
+      user_id: data.user_id
+    }
+  })
+//点赞
+export const zxxx_like_add = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_like/add',
+    data: {
+      issubmit: "1",
+      zhjy_zxxx_like: {
+        zzl_keyword: data.zzl_keyword,
+        zz_id: data.zz_id
+      }
+    }
+  })
+
+export const zxxx_like_del = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_like/delete',
+    data: {
+      zzl_id: data.zzl_id
+    }
+  })
+//收藏
+export const zxxx_fav_add = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_fav/add',
+    data: {
+      issubmit: "1",
+      zhjy_zxxx_fav: {
+        zzf_keyword: data.zzf_keyword,
+        zz_id: data.zz_id
+      }
+    }
+  })
+export const zxxx_fav_del = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_fav/delete',
+    data: {
+      zzf_id: data.zzf_id
+    }
+  })
+//关注
+export const wgzd_list = (data = {}) =>
+  request({
+    url: '/user/watch/index',
+    data: {
+      page: data.page,
+      limit: data.limit,
+      keyword: data.keyword,
+      uw_user_id: data.uw_user_id,
+      uw_user_role_id: "75",
+
+
+    }
+  })
+export const zxxx_attention_add = (data = {}) =>
+  request({
+    url: '/user/watch/add',
+    data: {
+      issubmit: "1",
+      user_watch: {
+        uw_keyword: data.uw_keyword,
+        uw_user_id: data.uw_user_id,
+        uw_user_role_id: data.uw_user_role_id
+      }
+    }
+  })
+export const zxxx_attention_del = (data = {}) =>
+  request({
+    url: '/user/watch/delete',
+    data: {
+      uw_id: data.uw_id
+    }
+  })

+ 184 - 12
src/pages/zhjy/zhjyzxxx/zxxxsp/index.vue

@@ -77,12 +77,24 @@
                 <span>金牌讲师</span> <span>YYDS</span>
               </div>
             </div>
+            <div class="nicBaseInfo_action">
+              <div class="coverC" @click="finger">
+                <img class="posiA posi1" v-if="fingerSwitch == '0'" src="@/assets/kczy/zanIcon.png" />
+                <img class="posiA posi1" v-else src="@/assets/kczy/zanIcon_full.png" />
+                <span class="posiA posi2">{{ fingerNum }}</span>
+              </div>
+              <div class="coverC" @click="loveIcon">
+                <img class="posiA posi3" v-if="loveSwitch == '0'" src="@/assets/kczy/collectIcon.png" />
+                <img class="posiA posi3" v-else src="@/assets/kczy/collectIcon_full.png" />
+                <span class="posiA posi4">{{ loveNum }}</span>
+              </div>
+            </div>
             <div class="right">
-              <img src="@/assets/img/zhjy/bluezan.png" />
+              <!-- <img src="@/assets/img/zhjy/bluezan.png" />
               {{ detailData.zz_like_num }}
               <img src="@/assets/img/zhjy/bluexin.png" alt="" />{{
                 detailData.zz_fav_num
-              }}
+              }} -->
               <span>关注</span>
             </div>
           </div>
@@ -170,6 +182,12 @@ import {
   zxxx_evaluate_add,
   zxxx_evaluate_list,
   user_avatar,
+  zxxx_like_add,
+  zxxx_like_del,
+  zxxx_fav_add,
+  zxxx_fav_del,
+  zxxx_attention_add,
+  zxxx_attention_del
 } from "./api";
 import QrcodeVue from "qrcode.vue";
 import { ElMessage } from "element-plus";
@@ -198,6 +216,11 @@ export default {
       activeName: "first",
       https: window.GLOBAL_CONFIG.api,
       shareLink: window.location.href,
+      zz_id: "",
+      fingerNum: "0", //点赞数
+      fingerSwitch: 0, //0:关 1:开
+      loveNum: "0", //收藏
+      loveSwitch: 0, //0:关 1:开
     };
   },
   methods: {
@@ -238,6 +261,10 @@ export default {
       zxxx_detail(data)
         .then((res) => {
           this.detailData = res.data.one_info;
+          this.fingerNum = res.data.one_info.zz_like_num; //点赞数
+          this.fingerSwitch = res.data.one_info.is_like; //0:关 1:开
+          this.loveNum = res.data.one_info.zz_fav_num; //收藏
+          this.loveSwitch = res.data.one_info.is_fav; //0:关 1:开
           var player = new Aliplayer(
             {
               id: "player-con",
@@ -309,6 +336,93 @@ export default {
         }
       });
     },
+    /**增加赞或取消*/
+    finger() {
+      if (this.fingerSwitch == "1") {//去掉赞
+        let transObj = {
+          zz_id: this.zz_id,
+        };
+        zxxx_like_del(transObj)
+          .then(res => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+
+          })
+          .catch(error => { console.log(error) })
+      } else {
+        let transObj = {
+          zz_id: this.zz_id,
+
+        };
+        zxxx_like_add(transObj)
+          .then((res) => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+          });
+      }
+      this.getDetailData();
+    },
+    /**增加收藏或取消*/
+    loveIcon() {
+      if (this.loveSwitch == 1) {//去掉收藏
+        let transObj = {
+          zzf_id: this.zzf_id,
+        };
+        zxxx_fav_del(transObj)
+          .then(res => {
+            console.log(res);
+          })
+          .catch(error => {
+            console.log(error)
+          });
+      } else {
+        let transObj = {
+
+
+          zz_id: this.zz_id,
+
+        };
+        zxxx_fav_add(transObj)
+          .then((res) => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+          });
+      }
+      this.getDetailData();
+    },
   },
   mounted() {
     if (this.$route.params.id != "") {
@@ -321,6 +435,65 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.nicBaseInfo_action {
+  //border: 1px solid red;
+  width: 50%;
+  font-size: 16px;
+  font-weight: 400;
+  text-align: left;
+  color: #00a3ff;
+  position: relative;
+  .coverC {
+    cursor: pointer;
+  }
+  .posiA {
+    position: absolute;
+    z-index: 12;
+  }
+  .posi1 {
+    left: 0px;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi2 {
+    margin: 0 2px;
+    left: 12%;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi3 {
+    left: 58%;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi4 {
+    margin: 0 2px;
+    left: 70%;
+    top: 50%;
+    transform: translate(0, -50%);
+    // border: 1px solid red;
+  }
+
+  .zan {
+    background: url("../assets/kczy/zanIcon.png") no-repeat left center;
+    background-size: 21px 20px;
+    box-sizing: border-box;
+    padding: 3px 0 3px 25px;
+    cursor: pointer;
+  }
+
+  .collect {
+    background: url("../assets/kczy/collectIcon.png") no-repeat left center;
+    background-size: 21px 20px;
+    box-sizing: border-box;
+    padding: 3px 0 3px 25px;
+    margin-left: 30px;
+    cursor: pointer;
+  }
+}
 .copy {
   text-align: center;
   line-height: 40px;
@@ -414,13 +587,12 @@ export default {
 .Info {
   width: 850px;
   height: 100px;
-
   background: #ffffff;
   border-radius: 12px;
   padding: 11px 23px;
   box-shadow: 2px 10px 24px 0px rgba(161, 153, 168, 0.18);
   .left {
-    width: 800px;
+    width: 900px;
     height: 90px;
     position: relative;
     .avatar {
@@ -501,7 +673,7 @@ export default {
     }
   }
   .right {
-    width: 400px;
+    width: 200px;
     height: 100px;
     line-height: 100px;
     font-size: 14px;
@@ -509,12 +681,12 @@ export default {
     display: flex;
     padding-left: 20px;
     border-radius: 0px 12px 0px 12px;
-    img {
-      display: inline-block;
-      width: 17px;
-      height: 16px;
-      margin: 40px 5px 0 20px;
-    }
+    // img {
+    //   display: inline-block;
+    //   width: 17px;
+    //   height: 16px;
+    //   margin: 40px 5px 0 20px;
+    // }
     span {
       width: 100px;
       height: 40px;
@@ -526,7 +698,7 @@ export default {
       text-align: center;
       color: #ffffff;
       line-height: 40px;
-      margin: 30px 20px;
+      margin: 30px 20px 30px 0px;
       cursor: pointer;
     }
   }

+ 54 - 12
src/pages/zhjy/zhjyzxxx/zxxxxq/api.js

@@ -46,15 +46,6 @@ export const user_avatar = (data = {}) =>
     }
   })
 //点赞
-export const zxxx_like = (data = {}) =>
-  request({
-    url: '/zhjy/zxxx_like/index',
-    data: {
-      keyword: data.keyword,
-      zzl_keyword: data.zzl_keyword,
-      zz_id: data.zz_id
-    }
-  })
 export const zxxx_like_add = (data = {}) =>
   request({
     url: '/zhjy/zxxx_like/add',
@@ -66,12 +57,63 @@ export const zxxx_like_add = (data = {}) =>
       }
     }
   })
+
+export const zxxx_like_del = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_like/delete',
+    data: {
+      zzl_id: data.zzl_id
+    }
+  })
 //收藏
-export const zxxx_fav = (data = {}) =>
+export const zxxx_fav_add = (data = {}) =>
   request({
-    url: '/zhjy/zxxx_fav/index',
+    url: '/zhjy/zxxx_fav/add',
     data: {
+      issubmit: "1",
+      zhjy_zxxx_fav: {
+        zzf_keyword: data.zzf_keyword,
+        zz_id: data.zz_id
+      }
+    }
+  })
+export const zxxx_fav_del = (data = {}) =>
+  request({
+    url: '/zhjy/zxxx_fav/delete',
+    data: {
+      zzf_id: data.zzf_id
+    }
+  })
+//关注
+export const wgzd_list = (data = {}) =>
+  request({
+    url: '/user/watch/index',
+    data: {
+      page: data.page,
+      limit: data.limit,
       keyword: data.keyword,
-      zz_id: data.zz_id
+      uw_user_id: data.uw_user_id,
+      uw_user_role_id: "75",
+
+
+    }
+  })
+export const zxxx_attention_add = (data = {}) =>
+  request({
+    url: '/user/watch/add',
+    data: {
+      issubmit: "1",
+      user_watch: {
+        uw_keyword: data.uw_keyword,
+        uw_user_id: data.uw_user_id,
+        uw_user_role_id: data.uw_user_role_id
+      }
+    }
+  })
+export const zxxx_attention_del = (data = {}) =>
+  request({
+    url: '/user/watch/delete',
+    data: {
+      uw_id: data.uw_id
     }
   })

+ 239 - 38
src/pages/zhjy/zhjyzxxx/zxxxxq/index.vue

@@ -17,13 +17,25 @@
           </div>
           <div class="left-bottom"><span>金牌讲师</span> <span>YYDS</span></div>
         </div>
-        <div class="right">
-          <img src="@/assets/img/zhjy/bluezan.png" @click="like" />
+        <div class="nicBaseInfo_action">
+          <div class="coverC" @click="finger">
+            <img class="posiA posi1" v-if="fingerSwitch == '0'" src="@/assets/kczy/zanIcon.png" />
+            <img class="posiA posi1" v-else src="@/assets/kczy/zanIcon_full.png" />
+            <span class="posiA posi2">{{ fingerNum }}</span>
+          </div>
+          <div class="coverC" @click="loveIcon">
+            <img class="posiA posi3" v-if="loveSwitch == '0'" src="@/assets/kczy/collectIcon.png" />
+            <img class="posiA posi3" v-else src="@/assets/kczy/collectIcon_full.png" />
+            <span class="posiA posi4">{{ loveNum }}</span>
+          </div>
+        </div>
+        <!-- <img src="@/assets/img/zhjy/bluezan.png" @click="finger" />
           {{ detailData.zz_like_num }}
-          <img src="@/assets/img/zhjy/bluexin.png" alt="" @click="fav" />{{
+          <img src="@/assets/img/zhjy/bluexin.png" alt="" @click="loveIcon" />{{
             detailData.zz_fav_num
-          }}
-          <span>关注</span>
+          }} -->
+        <div class="right">
+          <span @click="attention">关注</span>
         </div>
       </div>
 
@@ -70,8 +82,14 @@ import {
   zxxx_evaluate_add,
   zxxx_evaluate_list,
   user_avatar,
-  zxxx_like,
-  zxxx_fav
+  zxxx_like_add,
+  zxxx_like_del,
+  zxxx_fav_add,
+  zxxx_fav_del,
+  zxxx_attention_add,
+  zxxx_attention_del,
+  wgzd_list
+
 } from "./api";
 import { download } from "~/utils/request";
 import CommonHeader from "@/components/CommonHeader/index.vue";
@@ -94,13 +112,161 @@ export default {
         kk_id: "",
         kf_id: "",
       },
-
+      zz_id: "",
+      fingerNum: "0", //点赞数
+      fingerSwitch: 0, //0:关 1:开
+      loveNum: "0", //收藏
+      loveSwitch: 0, //0:关 1:开
       limit: 10,
       total: 0,
       cur_page: 1,
+      listData: []
     };
   },
   methods: {
+    /**增加赞或取消*/
+    finger() {
+      if (this.fingerSwitch == "1") {//去掉赞
+        let transObj = {
+          zz_id: this.zz_id,
+        };
+        zxxx_like_del(transObj)
+          .then(res => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+
+          })
+          .catch(error => { console.log(error) })
+      } else {
+        let transObj = {
+
+          zz_id: this.zz_id,
+
+        };
+        zxxx_like_add(transObj)
+          .then((res) => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+          });
+      }
+      this.getDetailData();
+    },
+    /**增加收藏或取消*/
+    loveIcon() {
+      if (this.loveSwitch == 1) {//去掉收藏
+        let transObj = {
+          zzf_id: this.zzf_id,
+        };
+        zxxx_fav_del(transObj)
+          .then(res => {
+            console.log(res);
+          })
+          .catch(error => {
+            console.log(error)
+          });
+      } else {
+        let transObj = {
+
+
+          zz_id: this.zz_id,
+
+        };
+        zxxx_fav_add(transObj)
+          .then((res) => {
+            if (res.code == "1") {
+              ElMessage({
+                message: res.msg,
+                type: "success",
+              });
+            } else {
+              ElMessage({
+                message: res.msg,
+                type: "waring",
+              });
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+          });
+      }
+      this.getDetailData();
+    },
+    getListData() {
+      let data = {
+        page: this.cur_page,
+        limit: this.limit,
+        keyword: this.keyword,
+
+      };
+
+      wgzd_list(data).then((res) => {
+        this.listData = res.data.page_data;
+        console.log(this.keyword, 111);
+        this.cur_page = Number(res.data.page_now);
+        this.total = Number(res.data.total_rows);
+      });
+    },
+    /**增加关注或取消*/
+    attention() {
+      // if (this.loveSwitch == 1) {//关注
+      //   let transObj = {
+      //     uw_user_id: this.uw_user_id,
+      //   };
+      //   zxxx_attention_del(transObj)
+      //     .then(res => {
+      //       console.log(res);
+      //     })
+      //     .catch(error => {
+      //       console.log(error)
+      //     });
+      // } else {
+      let transObj = {
+        uw_user_id: this.uw_user_id,
+
+      };
+      zxxx_attention_add(transObj)
+        .then((res) => {
+          if (res.code == "1") {
+            ElMessage({
+              message: res.msg,
+              type: "success",
+            });
+            this.getListData();
+          } else {
+            ElMessage({
+              message: res.msg,
+              type: "waring",
+            });
+          }
+        })
+      //     .catch((error) => {
+      //       console.log(error);
+      //     });
+      // }
+      this.getDetailData();
+    },
+
     getDetailData() {
       let data = {
         zz_id: this.zz_id,
@@ -108,6 +274,10 @@ export default {
       zxxx_detail(data).then((res) => {
         this.detailData = res.data.one_info;
         console.log(this.detailData.zz_id);
+        this.fingerNum = res.data.one_info.zz_like_num; //点赞数
+        this.fingerSwitch = res.data.one_info.is_like; //0:关 1:开
+        this.loveNum = res.data.one_info.zz_fav_num; //收藏
+        this.loveSwitch = res.data.one_info.is_fav; //0:关 1:开
       });
     },
 
@@ -160,42 +330,13 @@ export default {
         }
       });
     },
-
-    getLikeData() {
-      let data = {
-
-      };
-      zxxx_like(data).then((res) => {
-        this.likeData = res.data.one_info;
-        console.log(this.detailData.zz_id);
-      });
-    },
-
-    getFavData() {
-      let data = {
-
-      };
-      zxxx_fav(data).then((res) => {
-        this.favData = res.data.one_info;
-        console.log(this.detailData.zz_id);
-      });
-    },
-
-
-    like() {
-
-    },
-    fav() {
-
-    }
   },
   mounted() {
     if (this.$route.params.id != "") {
       this.zz_id = this.$route.params.id;
       this.getDetailData();
       this.getEvaluateListData();
-      this.getLikeData();
-      this.getFavData();
+      this.getListData();
 
     }
   },
@@ -203,6 +344,66 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.nicBaseInfo_action {
+  // border: 1px solid red;
+  width: 20%;
+  font-size: 16px;
+  font-weight: 400;
+  text-align: left;
+  color: #00a3ff;
+  position: relative;
+  .coverC {
+    cursor: pointer;
+  }
+  .posiA {
+    position: absolute;
+    z-index: 12;
+  }
+  .posi1 {
+    left: 80px;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi2 {
+    margin: 0 2px;
+    left: 40%;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi3 {
+    left: 65%;
+    top: 50%;
+    transform: translate(0, -50%);
+  }
+
+  .posi4 {
+    margin: 0 2px;
+    left: 75%;
+    top: 50%;
+    transform: translate(0, -50%);
+    // border: 1px solid red;
+  }
+
+  .zan {
+    background: url("../assets/kczy/zanIcon.png") no-repeat left center;
+    background-size: 21px 20px;
+    box-sizing: border-box;
+    padding: 3px 0 3px 25px;
+    cursor: pointer;
+  }
+
+  .collect {
+    background: url("../assets/kczy/collectIcon.png") no-repeat left center;
+    background-size: 21px 20px;
+    box-sizing: border-box;
+    padding: 3px 0 3px 25px;
+    margin-left: 30px;
+    cursor: pointer;
+  }
+}
+
 .content {
   width: 100%;
   min-width: 1400px;