zhouwenxuan
2023-12-08 b7143b51f3a50b6fac9c139d291c1fad017daee6
src/views/components/publish.vue
@@ -23,20 +23,18 @@
        <el-button type="primary" :icon="Refresh" class="resetBtn">重置</el-button>
      </div>
      <div class="list">
        <div v-for="item in state.dataList">
        <div v-for="item in state.dataList" @click="openDetails('机构公示',item.id)">
          <div>
            <div><img src="src/assets/images/article.png"></div>
            <div>{{item.title}}</div>
            <div>{{item.name}}</div>
          </div>
          <span>
            {{item.updateTime}}
            {{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}
          </span>
        </div>
      </div>
      <div class="pag-container">
      <div class="pag-container" v-if="state.total&&state.total>0">
        <el-pagination
            v-model:current-page="state.querys.pageNum"
            v-model:page-size="state.querys.pageSize"
            :page-sizes="[10,15,20,25]"
            layout="total, sizes, prev, pager, next, jumper"
            :total="state.total"
@@ -49,11 +47,11 @@
</template>
<script setup>
import {onMounted, ref, reactive, watch, onUnmounted, defineExpose} from "vue"
import {onMounted, ref, reactive, watch, onUnmounted, defineExpose, defineEmits} from "vue"
import { getPublish } from '@/api/home/homePage'
import { Search, Refresh } from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
const emit = defineEmits(['openDetails'])
const route = useRoute()
const router = useRouter()
@@ -86,7 +84,7 @@
const getData = async ()=>{
  const res = await getPublish(state.querys)
  if(res.code == 200){
    state.dataList = res.data.list
    state.dataList = res.data.list.filter(item => item.publication == 0)
    state.total = res.data.total
  }else{
    ElMessage.warning(res.message)
@@ -100,6 +98,10 @@
const handleCurrentChange = (val) => {
  state.querys.pageNum = val
  getData()
}
const openDetails = (type,id)=>{
  emit('openDetails',type,id)
}
defineExpose({
@@ -154,6 +156,8 @@
    .list{
      padding: 15px 0;
      max-height: calc(100vh - 402px);
      overflow-y: auto;
      &>div{
        display: flex;
@@ -183,7 +187,7 @@
            }
          }
          div:last-of-type{
            width: 1000px;
            width: 900px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;