|
|
@@ -180,12 +180,21 @@
|
|
|
<div class="content">
|
|
|
<div class="content-top">
|
|
|
<div class="main-info">
|
|
|
- <h3>{{ item.name }}</h3>
|
|
|
+ <h3 :title="item.name">{{ item.name }}</h3>
|
|
|
<div class="meta-grid">
|
|
|
- <p>责任者:{{ item.create_by }}</p>
|
|
|
- <p>出版社:{{ item.chubanshe }}</p>
|
|
|
- <p>出版日期:{{ item.create_time }}</p>
|
|
|
- <p v-for="i in getDictName(item.dictName)">
|
|
|
+ <p :title="item.create_by">
|
|
|
+ 责任者:{{ item.create_by }}
|
|
|
+ </p>
|
|
|
+ <!-- <p :title="item.chubanshe">
|
|
|
+ 出版社:{{ item.chubanshe }}
|
|
|
+ </p>
|
|
|
+ <p :title="item.create_time">
|
|
|
+ 出版日期:{{ item.create_time }}
|
|
|
+ </p> -->
|
|
|
+ <p
|
|
|
+ :title="`${i.label} : ${i.value}`"
|
|
|
+ v-for="i in getDictName(item.dictName)"
|
|
|
+ >
|
|
|
{{ i.label }}:{{ i.value }}
|
|
|
</p>
|
|
|
</div>
|
|
|
@@ -456,7 +465,7 @@ const toggleSection = (sectionKey) => {
|
|
|
section.collapsed = !section.collapsed;
|
|
|
};
|
|
|
|
|
|
-const selectResourceType = (value) => {
|
|
|
+const selectResourceType = async (value) => {
|
|
|
const nextValue = String(value);
|
|
|
if (selectedResourceType.value === nextValue) {
|
|
|
return;
|
|
|
@@ -465,7 +474,7 @@ const selectResourceType = (value) => {
|
|
|
currentPage.value = 1;
|
|
|
Object.keys(selectedTags).forEach((key) => delete selectedTags[key]);
|
|
|
selectedTagMap.value = {};
|
|
|
- getSelectList();
|
|
|
+ await getSelectList();
|
|
|
getPageList();
|
|
|
};
|
|
|
|
|
|
@@ -547,19 +556,29 @@ const handlePageChange = (page) => {
|
|
|
getPageList();
|
|
|
};
|
|
|
|
|
|
-const getSelectList = () => {
|
|
|
- if (!selectedResourceType.value) return;
|
|
|
+const getSelectList = async () => {
|
|
|
+ if (!selectedResourceType.value) {
|
|
|
+ dictFieldNameMap.value = {};
|
|
|
+ fieldOptions.value = [];
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- getFieldList(selectedResourceType.value).then((res) => {
|
|
|
- if (res.code !== 0) return;
|
|
|
+ const res = await getFieldList(selectedResourceType.value).catch(() => null);
|
|
|
+ if (res?.code !== 0) {
|
|
|
+ dictFieldNameMap.value = {};
|
|
|
+ fieldOptions.value = [];
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- const fields = normalizeList(res.data);
|
|
|
- dictFieldNameMap.value = fields.reduce((map, item) => {
|
|
|
- if (item.dictId && item.fieldName) {
|
|
|
- map[String(item.dictId)] = item.fieldName;
|
|
|
- }
|
|
|
- return map;
|
|
|
- }, {});
|
|
|
+ const fields = normalizeList(res.data);
|
|
|
+ dictFieldNameMap.value = fields.reduce((map, item) => {
|
|
|
+ if (item.dictId && item.fieldName) {
|
|
|
+ map[String(item.dictId)] = item.fieldName;
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }, {});
|
|
|
+ fieldOptions.value = fields.filter((item) => {
|
|
|
+ return !filterKey.includes(item.fieldName);
|
|
|
});
|
|
|
};
|
|
|
|
|
|
@@ -641,25 +660,24 @@ const getPageList = () => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
-const getSidebarDef = () => {
|
|
|
- formDataSidebarDefCount().then((res) => {
|
|
|
- if (res.code !== 0) return;
|
|
|
+const getSidebarDef = async () => {
|
|
|
+ const res = await formDataSidebarDefCount().catch(() => null);
|
|
|
+ if (res?.code !== 0) return;
|
|
|
|
|
|
- const items = normalizeList(res.data).map(normalizeSidebarItem);
|
|
|
- filterSections[0].items = items;
|
|
|
+ const items = normalizeList(res.data).map(normalizeSidebarItem);
|
|
|
+ filterSections[0].items = items;
|
|
|
|
|
|
- if (!selectedResourceType.value && items.length) {
|
|
|
- selectedResourceType.value = String(items[0].value);
|
|
|
- }
|
|
|
+ if (!selectedResourceType.value && items.length) {
|
|
|
+ selectedResourceType.value = String(items[0].value);
|
|
|
+ }
|
|
|
|
|
|
- getSelectList();
|
|
|
- getPageList();
|
|
|
- });
|
|
|
+ await getSelectList();
|
|
|
+ getPageList();
|
|
|
};
|
|
|
|
|
|
watch(
|
|
|
() => route.params.id,
|
|
|
- (value) => {
|
|
|
+ async (value) => {
|
|
|
const nextValue = value ? String(value) : "";
|
|
|
if (!nextValue || nextValue === selectedResourceType.value) {
|
|
|
return;
|
|
|
@@ -669,7 +687,7 @@ watch(
|
|
|
currentPage.value = 1;
|
|
|
Object.keys(selectedTags).forEach((key) => delete selectedTags[key]);
|
|
|
selectedTagMap.value = {};
|
|
|
- getSelectList();
|
|
|
+ await getSelectList();
|
|
|
getPageList();
|
|
|
},
|
|
|
);
|
|
|
@@ -688,20 +706,6 @@ const filterKey = [
|
|
|
];
|
|
|
onMounted(() => {
|
|
|
// store.dispatch("enableCache", "resource-library");
|
|
|
- getFieldList(selectedResourceType.value).then((res) => {
|
|
|
- if (res.code === 0) {
|
|
|
- const fields = normalizeList(res.data);
|
|
|
- dictFieldNameMap.value = fields.reduce((map, item) => {
|
|
|
- if (item.dictId && item.fieldName) {
|
|
|
- map[String(item.dictId)] = item.fieldName;
|
|
|
- }
|
|
|
- return map;
|
|
|
- }, {});
|
|
|
- fieldOptions.value = fields.filter((item) => {
|
|
|
- return !filterKey.includes(item.fieldName);
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
getSidebarDef();
|
|
|
});
|
|
|
</script>
|