|
@@ -2,63 +2,60 @@
|
|
|
<div class="artifacts-layout">
|
|
|
<div class="artifacts-header">
|
|
|
<div class="search">
|
|
|
-
|
|
|
<div class="action-group">
|
|
|
- <el-button type="primary" @click="addHandler">
|
|
|
- 新增文物
|
|
|
- </el-button>
|
|
|
+ <el-button type="primary" @click="addHandler"> 新增文物 </el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
|
|
|
<div class="artifacts-content">
|
|
|
<el-table :data="relicsArray" border>
|
|
|
<el-table-column
|
|
|
- prop="name"
|
|
|
- label="文物名称"
|
|
|
- v-slot:default="{ row }: { row: Relics }"
|
|
|
+ prop="name"
|
|
|
+ label="文物名称"
|
|
|
+ v-slot:default="{ row }: { row: Relics }"
|
|
|
>
|
|
|
-<!-- <a class="link" @click="shareHandler(row)">-->
|
|
|
-<!-- -->
|
|
|
-<!-- </a>-->
|
|
|
- <TexToolTip :text="row.name"/>
|
|
|
+ <!-- <a class="link" @click="shareHandler(row)">-->
|
|
|
+ <!-- -->
|
|
|
+ <!-- </a>-->
|
|
|
+ <TexToolTip :text="row.artifactName" />
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
|
- prop="unicode"
|
|
|
- label="时代"
|
|
|
- v-slot:default="{ row }: { row: Relics }"
|
|
|
+ prop="unicode"
|
|
|
+ label="时代"
|
|
|
+ v-slot:default="{ row }: { row: Relics }"
|
|
|
>
|
|
|
- <TexToolTip :text="row.unicode" v-if="row.unicode"/>
|
|
|
+ <TexToolTip :text="row.artifactAge" v-if="row.artifactAge" />
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="文物级别" v-slot:default="{ row }: { row: Relics }">
|
|
|
+ <!-- <el-table-column label="文物级别" v-slot:default="{ row }: { row: Relics }">
|
|
|
<TexToolTip :text="relicsLevelDesc[row.level!]"/>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column label="类别" v-slot:default="{ row }: { row: Relics }">
|
|
|
- <TexToolTip :text="relicsTypeDesc[row.category!]"/>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="文物地址" v-slot:default="{ row }: { row: Relics }">
|
|
|
- <TexToolTip :text="row.address"/>
|
|
|
+ <TexToolTip :text="relicsTypeDesc[row.artifactTypeId!]" />
|
|
|
</el-table-column>
|
|
|
+ <!-- <el-table-column label="文物地址" v-slot:default="{ row }: { row: Relics }">
|
|
|
+ <TexToolTip :text="row.artifactTypeId" />
|
|
|
+ </el-table-column> -->
|
|
|
|
|
|
<el-table-column label="创建时间" v-slot:default="{ row }">
|
|
|
- <TexToolTip :text="row.createTime.substr(0, 16)" v-if="row.createTime"/>
|
|
|
+ <TexToolTip :text="row.createTime.substr(0, 16)" v-if="row.createTime" />
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="userName" label="创建人账号" v-slot:default="{ row }">
|
|
|
- <TexToolTip :text="row.userName"/>
|
|
|
+ <TexToolTip :text="row.createBy" />
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column label="操作" width="240" fixed="right">
|
|
|
<template #default="{ row }">
|
|
|
-
|
|
|
+ <el-button link type="primary" size="small" @click="queryHandler(row)">
|
|
|
+ 查看
|
|
|
+ </el-button>
|
|
|
<el-button link type="primary" size="small" @click="editHandler(row)">
|
|
|
编辑
|
|
|
</el-button>
|
|
|
|
|
|
- <el-button link type="danger" @click="delHandler(row.relicsId)" size="small">
|
|
|
+ <el-button link type="danger" @click="delHandler(row.id)" size="small">
|
|
|
删除
|
|
|
</el-button>
|
|
|
</template>
|
|
@@ -67,25 +64,26 @@
|
|
|
</div>
|
|
|
<div class="pag-layout">
|
|
|
<el-pagination
|
|
|
- background
|
|
|
- layout="total, prev, pager, next, sizes, jumper"
|
|
|
- v-model:page-size="pageProps.pageSize"
|
|
|
- :page-sizes="[10, 20, 50, 100]"
|
|
|
- :total="total"
|
|
|
- @current-change="(data: number) => pageProps.pageNum = data"
|
|
|
- :current-page="pageProps.pageNum"
|
|
|
+ background
|
|
|
+ layout="total, prev, pager, next, sizes, jumper"
|
|
|
+ v-model:page-size="pageProps.pageSize"
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
+ :total="total"
|
|
|
+ @current-change="(data: number) => pageProps.pageNum = data"
|
|
|
+ :current-page="pageProps.pageNum"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import {onActivated, ref, watch} from "vue";
|
|
|
+import { onActivated, ref, watch } from "vue";
|
|
|
import {
|
|
|
relicsPageFetch,
|
|
|
RelicsPageProps,
|
|
|
delRelicsFetch,
|
|
|
updateRelicsFetch,
|
|
|
+ addRelicsFetch,
|
|
|
} from "@/request";
|
|
|
import {
|
|
|
Relics,
|
|
@@ -93,26 +91,25 @@ import {
|
|
|
relicsTypeDesc,
|
|
|
creationMethodDesc,
|
|
|
} from "@/store/relics";
|
|
|
-import {COORD_NAME, router} from "@/router";
|
|
|
-import {ElMessageBox} from "element-plus";
|
|
|
-import {relicsEdit, addArtifacts} from "./quisk";
|
|
|
+import { COORD_NAME, router } from "@/router";
|
|
|
+import { ElMessageBox } from "element-plus";
|
|
|
+import { relicsEdit, addArtifacts } from "./quisk";
|
|
|
import TexToolTip from "@/components/tex-tooltip.vue";
|
|
|
-import {debounce} from "@/util";
|
|
|
-import {QUERY_COORD_NAME} from "@/router";
|
|
|
-
|
|
|
+import { debounce } from "@/util";
|
|
|
+import { QUERY_COORD_NAME } from "@/router";
|
|
|
|
|
|
const initProps: RelicsPageProps = {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
};
|
|
|
-const pageProps = ref({...initProps});
|
|
|
+const pageProps = ref({ ...initProps });
|
|
|
const total = ref<number>(0);
|
|
|
const relicsArray = ref<Relics[]>([]);
|
|
|
|
|
|
const refresh = debounce(async () => {
|
|
|
const data = await relicsPageFetch(pageProps.value);
|
|
|
total.value = data.total;
|
|
|
- relicsArray.value = data.records;
|
|
|
+ relicsArray.value = data.list;
|
|
|
});
|
|
|
|
|
|
const delHandler = async (relicsId: number) => {
|
|
@@ -125,7 +122,7 @@ const delHandler = async (relicsId: number) => {
|
|
|
}
|
|
|
};
|
|
|
const getQueryRouteLocation = (row: Relics) =>
|
|
|
- router.resolve({name: QUERY_COORD_NAME, params: {relicsId: row.relicsId}});
|
|
|
+ router.resolve({ name: QUERY_COORD_NAME, params: { relicsId: row.relicsId } });
|
|
|
|
|
|
const shareHandler = async (row: Relics) => {
|
|
|
const link = location.origin + location.pathname + getQueryRouteLocation(row).href;
|
|
@@ -135,29 +132,31 @@ const shareHandler = async (row: Relics) => {
|
|
|
};
|
|
|
|
|
|
const addHandler = async () => {
|
|
|
- await addArtifacts({
|
|
|
+ const data = await addArtifacts({
|
|
|
submit: async (data) => {
|
|
|
-
|
|
|
+ await addRelicsFetch(data);
|
|
|
+ await refresh();
|
|
|
},
|
|
|
});
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
const editHandler = async (relics: Relics) => {
|
|
|
- await relicsEdit({
|
|
|
- relics,
|
|
|
+ await addArtifacts({
|
|
|
+ data: relics,
|
|
|
submit: async (data) => {
|
|
|
await updateRelicsFetch(data);
|
|
|
await refresh();
|
|
|
},
|
|
|
});
|
|
|
};
|
|
|
-watch(pageProps, refresh, {deep: true, immediate: true});
|
|
|
+watch(pageProps, refresh, { deep: true, immediate: true });
|
|
|
onActivated(refresh);
|
|
|
|
|
|
-const handleAddArtifact = () => {
|
|
|
-
|
|
|
-}
|
|
|
+const queryHandler = (item: Relics) => {
|
|
|
+ router.push({ name: 'artifact-scenes', params: {id: item.id} })
|
|
|
+};
|
|
|
|
|
|
+const handleAddArtifact = () => {};
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
@@ -168,7 +167,7 @@ const handleAddArtifact = () => {
|
|
|
|
|
|
.action-group {
|
|
|
display: flex;
|
|
|
- justify-content: flex-end
|
|
|
+ justify-content: flex-end;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -193,4 +192,3 @@ const handleAddArtifact = () => {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
-
|