|
@@ -10,43 +10,30 @@
|
|
|
<CusForm labelWidth="100px" @handleEnter="onSearch">
|
|
|
<CusFormColumn
|
|
|
label="标题:"
|
|
|
- v-model:param="queryForm.shipId"/>
|
|
|
+ v-model:param="queryForm.title"/>
|
|
|
<CusFormColumn
|
|
|
label="发布单位:"
|
|
|
- link="dept"
|
|
|
- v-model:param="queryForm.shipId"/>
|
|
|
+ link="select"
|
|
|
+ v-model:param="queryForm.deptId"
|
|
|
+ :options="$store.state.dictionary.deptList"/>
|
|
|
<CusFormColumn
|
|
|
label="发布人:"
|
|
|
- v-model:param="queryForm.shipId"/>
|
|
|
+ v-model:param="queryForm.publisher"/>
|
|
|
<CusFormColumn
|
|
|
label="发布时间:"
|
|
|
link="datetime"
|
|
|
type="datetimerange"
|
|
|
- v-model:param="queryForm.shipId"/>
|
|
|
+ v-model:param="queryForm.publishDate"/>
|
|
|
<CusFormColumn
|
|
|
label="类型:"
|
|
|
link="select"
|
|
|
- static
|
|
|
- v-model:param="queryForm.shipId"
|
|
|
- labelKey="label"
|
|
|
- valueKey="value"
|
|
|
- :options="[
|
|
|
- {label: '类型一', value: '1'},
|
|
|
- {label: '类型二', value: '2'},
|
|
|
- {label: '类型三', value: '3'},
|
|
|
- ]"/>
|
|
|
+ v-model:param="queryForm.type"
|
|
|
+ :options="$store.state.dictionary.noticeTypeList"/>
|
|
|
<CusFormColumn
|
|
|
label="状态:"
|
|
|
link="select"
|
|
|
- static
|
|
|
- v-model:param="queryForm.shipId"
|
|
|
- labelKey="label"
|
|
|
- valueKey="value"
|
|
|
- :options="[
|
|
|
- {label: '类型一', value: '1'},
|
|
|
- {label: '类型二', value: '2'},
|
|
|
- {label: '类型三', value: '3'},
|
|
|
- ]"/>
|
|
|
+ v-model:param="queryForm.status"
|
|
|
+ :options="$store.state.dictionary.noticeStatusList"/>
|
|
|
<CusSearchButtons
|
|
|
@handleReset="handleReset"
|
|
|
@handleSearch="onSearch"
|
|
@@ -68,8 +55,16 @@
|
|
|
:page="queryPage.pageNum"
|
|
|
:pageSize="queryPage.pageSize"
|
|
|
@handlePage="handlePage"
|
|
|
- @handleSort="handleSort"
|
|
|
>
|
|
|
+ <template #publishTime-column-value="{ scope }">
|
|
|
+ {{scope.row.publishTime ? $util.YMDHms(scope.row.publishTime) : scope.row.publishTime}}
|
|
|
+ </template>
|
|
|
+ <template #type-column-value="{ scope }">
|
|
|
+ {{$store.state.dictionary.noticeTypeMap.get(scope.row.type) || scope.row.type}}
|
|
|
+ </template>
|
|
|
+ <template #status-column-value="{ scope }">
|
|
|
+ {{$store.state.dictionary.noticeStatusMap.get(scope.row.status) || scope.row.status}}
|
|
|
+ </template>
|
|
|
<template #do-column-value="{ scope }">
|
|
|
<div class="__cus-table_do">
|
|
|
<div class="__cus-table_do-green __hover" @click="onView(scope.row)">
|
|
@@ -110,6 +105,8 @@ import {
|
|
|
import {useStore} from 'vuex'
|
|
|
import {useRouter, useRoute} from 'vue-router'
|
|
|
import DetailCom from './detail.vue'
|
|
|
+import {getNoticeList} from "@/api/modules/notice";
|
|
|
+import { ElMessage } from 'element-plus';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: '',
|
|
@@ -138,16 +135,14 @@ export default defineComponent({
|
|
|
queryForm: <any>{},
|
|
|
// 查询表单参数备份
|
|
|
back_queryForm: {},
|
|
|
- // 查询表格排序
|
|
|
- querySort: {},
|
|
|
// 表格表头
|
|
|
tableHead: [
|
|
|
- {value: "p1", label: "标题", show: true},
|
|
|
- {value: "p1", label: "发布单位", show: true},
|
|
|
- {value: "p1", label: "发布人", show: true},
|
|
|
- {value: "p1", label: "发布时间", show: true},
|
|
|
- {value: "p1", label: "类型", show: true},
|
|
|
- {value: "p1", label: "状态", show: true},
|
|
|
+ {value: "title", label: "标题", show: true},
|
|
|
+ {value: "deptName", label: "发布单位", show: true},
|
|
|
+ {value: "publisher", label: "发布人", show: true},
|
|
|
+ {value: "publishTime", label: "发布时间", show: true, width: 180},
|
|
|
+ {value: "type", label: "类型", show: true},
|
|
|
+ {value: "status", label: "状态", show: true},
|
|
|
{value: "do", label: "操作", show: true, width: 260},
|
|
|
],
|
|
|
showDetail: false,
|
|
@@ -156,6 +151,9 @@ export default defineComponent({
|
|
|
const ref_cusTable = ref()
|
|
|
// 获取字典
|
|
|
const initDictionary = () => {
|
|
|
+ store.dispatch('dictionary/LOAD_DEPT')
|
|
|
+ store.dispatch('dictionary/LOAD_DICT_LIST', 'notice_type')
|
|
|
+ store.dispatch('dictionary/LOAD_DICT_LIST', 'notice_status')
|
|
|
}
|
|
|
// 查询分页参数改变处理方法
|
|
|
const handlePage = ({page, pageSize}: any) => {
|
|
@@ -163,11 +161,6 @@ export default defineComponent({
|
|
|
state.queryPage.pageSize = pageSize
|
|
|
handleSearch(page, pageSize)
|
|
|
}
|
|
|
- // 查询排序参数改变处理方法
|
|
|
- const handleSort = ({key, value}: any) => {
|
|
|
- state.querySort = key ? {key: value} : {}
|
|
|
- handleSearch()
|
|
|
- }
|
|
|
// 重置查询表单方法
|
|
|
const handleReset = () => {
|
|
|
state.queryForm = {}
|
|
@@ -180,46 +173,30 @@ export default defineComponent({
|
|
|
const queryParams: any = {
|
|
|
pageNum: page,
|
|
|
pageSize: pageSize,
|
|
|
- sort: {},
|
|
|
- text: ''
|
|
|
- }
|
|
|
- // 添加排序参数
|
|
|
- for (const [k, v] of Object.entries(state.querySort)) {
|
|
|
- that.$util.isValue(v) ? (queryParams.sort[k] = v) : null;
|
|
|
}
|
|
|
// 添加表单参数
|
|
|
for (const [k, v] of Object.entries(state.back_queryForm)) {
|
|
|
- that.$util.isValue(v) ? (queryParams[k] = v) : null;
|
|
|
+ if (that.$util.isValue(v)) {
|
|
|
+ if (k === 'publishDate') {
|
|
|
+ queryParams['bTime'] = v[0]
|
|
|
+ queryParams['eTime'] = v[1]
|
|
|
+ } else {
|
|
|
+ queryParams[k] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- // 添加复合查询参数
|
|
|
state.loading = true
|
|
|
-
|
|
|
- // mock
|
|
|
- const arr: any = []
|
|
|
- for (let i = 0; i < 77; i++) {
|
|
|
- arr.push({
|
|
|
- p1: '阿三顶顶顶顶顶顶顶顶顶顶顶顶顶' + i,
|
|
|
- fileList: [
|
|
|
- { "url": "http://8.140.240.182:18085/profile/upload/2023/10/23/6b7bf3b4-592a-4e2f-ba92-11923671ce3b.doc", "name": "迁移案例.doc"},
|
|
|
- ],
|
|
|
- })
|
|
|
- }
|
|
|
- state.queryResult.tableData = arr
|
|
|
- state.queryResult.total = arr.length
|
|
|
- state.loading = false
|
|
|
- // that.$api.patrolBoatList(that.$util.formatGetParam(queryParams)).then((res: { code: number; rows: never[]; total: number; }) => {
|
|
|
- // if (res.code === 200) {
|
|
|
- // state.queryResult.tableData = res.rows
|
|
|
- // state.queryResult.total = res.total
|
|
|
- // }
|
|
|
- // setTimeout(() => {
|
|
|
- // state.loading = false
|
|
|
- // }, 1000)
|
|
|
- // }).catch(() => {
|
|
|
- // setTimeout(() => {
|
|
|
- // state.loading = false
|
|
|
- // }, 1000)
|
|
|
- // })
|
|
|
+ that.$api.getNoticeList(queryParams).then((res: any) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ state.queryResult.tableData = res.rows
|
|
|
+ state.queryResult.total = res.total
|
|
|
+ } else {
|
|
|
+ ElMessage.error(res.message)
|
|
|
+ }
|
|
|
+ state.loading = false
|
|
|
+ }).catch(() => {
|
|
|
+ state.loading = false
|
|
|
+ })
|
|
|
}
|
|
|
// 点击查询按钮后
|
|
|
const onSearch = () => {
|
|
@@ -258,7 +235,6 @@ export default defineComponent({
|
|
|
...toRefs(state),
|
|
|
handleSearch,
|
|
|
handlePage,
|
|
|
- handleSort,
|
|
|
handleReset,
|
|
|
onSearch,
|
|
|
onAdd,
|