马宇豪
2023-12-14 cc4749faaa9a2bd9660e7b827e46f30a74043028
src/views/components/home.vue
@@ -10,33 +10,20 @@
          <el-button plain @click="toMore(2)">查看更多</el-button>
        </div>
        <div class="list">
          <div v-for="item in state.noticeList">
          <div v-for="item in state.noticeList" @click="openDetails('通知公告',item.id)">
            <div><img src="src/assets/images/notice.png"></div>
            <div>
              <div>{{item.title}}</div>
              <span>{{item.updateTime}}</span>
              <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
            </div>
          </div>
        </div>
      </div>
      <div class="list-container">
        <div class="tit">
          <div>
            <Platform style="width: 1em; height: 1em;margin-right: 4px" />
            法律法规
          </div>
          <el-button plain @click="toMore(3)">查看更多</el-button>
        </div>
        <div class="list">
          <div v-for="item in state.lawsList">
            <div><img src="src/assets/images/laws.png"></div>
            <div>
              <div>{{item.title}}</div>
              <span>{{item.updateTime}}</span>
            </div>
          </div>
        </div>
      <div class="login-container list-container">
        <login-form ref="loginRef"/>
      </div>
      <div class="list-container">
        <div class="tit">
          <div>
@@ -46,33 +33,33 @@
          <el-button plain @click="toMore(4)">查看更多</el-button>
        </div>
        <div class="list">
          <div v-for="item in state.pubList">
          <div v-for="item in state.pubList" @click="openDetails('机构公示',item.id)">
            <div><img src="src/assets/images/section.png"></div>
            <div>
              <div>{{item.title}}</div>
              <span>{{item.updateTime}}</span>
              <div>{{item.name}}</div>
              <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
            </div>
          </div>
        </div>
      </div>
      <div class="login-container">
<!--        <div class="tit">-->
<!--          <div>-->
<!--            <Platform style="width: 1em; height: 1em;margin-right: 4px" />-->
<!--            资料下载-->
<!--          </div>-->
<!--          <el-button plain>查看更多</el-button>-->
<!--        </div>-->
<!--        <div class="list">-->
<!--          <div v-for="item in state.newList">-->
<!--            <div><img src="src/assets/images/file.png"></div>-->
<!--            <div>-->
<!--              <div>{{item.title}}</div>-->
<!--              <span>{{item.date}}</span>-->
<!--            </div>-->
<!--          </div>-->
<!--        </div>-->
        <login-form ref="loginRef"/>
      <div class="list-container">
        <div class="tit">
          <div>
            <Platform style="width: 1em; height: 1em;margin-right: 4px" />
            法律法规
          </div>
          <el-button plain @click="toMore(3)">查看更多</el-button>
        </div>
        <div class="list">
          <div v-for="item in state.lawsList" @click="openDetails('法律法规',item.id)">
            <div><img src="src/assets/images/laws.png"></div>
            <div>
              <div>{{item.title}}</div>
              <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
            </div>
          </div>
        </div>
      </div>
    </div>
<!--    <login-form ref="loginRef"/>-->
@@ -94,7 +81,7 @@
  lawsList: [],
  pubList: []
})
const emit = defineEmits(["toMore"])
const emit = defineEmits(['toMore','openDetails'])
const redirect = ref(undefined);
onMounted(()=>{
@@ -113,6 +100,10 @@
const toMore=(num)=>{
  emit('toMore',num)
}
const openDetails = (type,id)=>{
  emit('openDetails',type,id)
}
const getNoticeList = async ()=>{
@@ -156,40 +147,37 @@
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 170px;
  margin-top: 160px;
  .main-content{
    width: 1200px;
    margin: 20px 0 80px;
    display: grid;
    grid-gap: 15px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 350px);
    grid-auto-flow: row;
    justify-content: center;
    height: calc(100vh - 250px);
    margin: 15px 0;
    color: #333;
    .login-container{
      border-radius: 4px;
      box-shadow: 1px 1px 3px rgba(0,0,0,.04);
      padding: 0 15px;
      overflow: hidden;
      background: url("../../assets/images/login-bg.jpg");
    }
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    .list-container{
      border-radius: 4px;
      width: calc(50% - 7.5px);
      height: calc(50% - 7.5px);
      margin-bottom: 15px;
      box-shadow: 1px 1px 3px rgba(0,0,0,.04);
      padding: 0 15px;
      overflow: hidden;
      background: #fff url("../../assets/images/city-bg.png") no-repeat right bottom;
      background-size: 40% auto;
      &:nth-of-type(2n+1){
        margin-right: 15px;
      }
      .tit{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0;
        height: 50px;
        border-bottom: 1px solid #ebeef5;
        &>div{
          display: flex;
@@ -201,14 +189,20 @@
      }
      .list{
        width: 100%;
        margin-top: 10px;
        height: calc(100% - 60px);
        padding: 5px 0;
        margin-top: 5px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        &>div{
          width: 100%;
          padding: 5px;
          display: flex;
          align-items: center;
          cursor: pointer;
          padding: 5px;
          border-radius: 4px;
          &>div:first-of-type{
@@ -246,6 +240,10 @@
        }
      }
    }
    .login-container{
      background: url("../../assets/images/login-bg.jpg");
    }
  }
}
</style>