From 2a05790d103bf5b3bb099629cdb471ab33eaf89d Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期五, 26 七月 2024 14:40:34 +0800 Subject: [PATCH] 知识库英文语言包引入 --- src/views/dmx/knowledgeLib/index.vue | 356 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 204 insertions(+), 152 deletions(-) diff --git a/src/views/dmx/knowledgeLib/index.vue b/src/views/dmx/knowledgeLib/index.vue index aa5d815..4465869 100644 --- a/src/views/dmx/knowledgeLib/index.vue +++ b/src/views/dmx/knowledgeLib/index.vue @@ -6,16 +6,22 @@ <div class="lf-container-top"> <a-input-search :placeholder="$t('cardList.searchInput.placeholder')" - style="width: 110px;" + style="width: 130px;" /> - <a-button type="primary" @click="add" style="margin-left: 10px"> - <template #icon> - <icon-plus /> - </template> - </a-button> + <addKnow></addKnow> </div> <div class="lf-container-down"> - + <div class="tabs"> + <div + class="tab" + v-for="(tab, index) in tabs" + :key="index" + @click="selectTab(index)" + :class="{ 'active': selectedTab === index }" + > + {{ tab }} + </div> + </div> </div> </div> <div class="rt-container"> @@ -38,81 +44,11 @@ style="width: 200px;margin-right: 10px" /> <!-- 鏂板缓--> - <add edit="add" /> + <add /> </a-col> - <!-- <a-col :span="8">--> - <!-- <a-form-item field="name" :label="$t('searchTable.form.name')">--> - <!-- <a-input--> - <!-- v-model="formModel.name"--> - <!-- :placeholder="$t('searchTable.form.name.placeholder')"--> - <!-- />--> - <!-- </a-form-item>--> - <!-- </a-col>--> - <!-- <a-col :span="8">--> - <!-- <a-form-item--> - <!-- field="contentType"--> - <!-- :label="$t('searchTable.form.contentType')"--> - <!-- >--> - <!-- <a-select--> - <!-- v-model="formModel.contentType"--> - <!-- :options="contentTypeOptions"--> - <!-- :placeholder="$t('searchTable.form.selectDefault')"--> - <!-- />--> - <!-- </a-form-item>--> - <!-- </a-col>--> - <!-- <a-col :span="8">--> - <!-- <a-form-item--> - <!-- field="filterType"--> - <!-- :label="$t('searchTable.form.filterType')"--> - <!-- >--> - <!-- <a-select--> - <!-- v-model="formModel.filterType"--> - <!-- :options="filterTypeOptions"--> - <!-- :placeholder="$t('searchTable.form.selectDefault')"--> - <!-- />--> - <!-- </a-form-item>--> - <!-- </a-col>--> - <!-- <a-col :span="8">--> - <!-- <a-form-item--> - <!-- field="createdTime"--> - <!-- :label="$t('searchTable.form.createdTime')"--> - <!-- >--> - <!-- <a-range-picker--> - <!-- v-model="formModel.createdTime"--> - <!-- style="width: 100%"--> - <!-- />--> - <!-- </a-form-item>--> - <!-- </a-col>--> - <!-- <a-col :span="8">--> - <!-- <a-form-item--> - <!-- field="status"--> - <!-- :label="$t('searchTable.form.status')"--> - <!-- >--> - <!-- <a-select--> - <!-- v-model="formModel.status"--> - <!-- :options="statusOptions"--> - <!-- :placeholder="$t('searchTable.form.selectDefault')"--> - <!-- />--> - <!-- </a-form-item>--> - <!-- </a-col>--> </a-row> </a-form> </a-col> - <!-- <a-divider style="height: 40px" direction="vertical" />--> - <!-- <a-col :flex="'200px'" style="text-align: right">--> - <!-- <a-button @click="reset" style="margin-right: 20px">--> - <!-- <template #icon>--> - <!-- <icon-refresh />--> - <!-- </template>--> - <!-- {{ $t('searchTable.form.reset') }}--> - <!-- </a-button>--> - <!-- <a-button type="primary" @click="search">--> - <!-- <template #icon>--> - <!-- <icon-search />--> - <!-- </template>--> - <!-- {{ $t('searchTable.form.search') }}--> - <!-- </a-button>--> - <!-- </a-col>--> </a-row> <a-divider style="margin-top: 0" /> <a-row style="margin-bottom: 16px"> @@ -210,52 +146,73 @@ @page-change="onPageChange" :scroll="{ y: 580 }" > - <template #contentType="{ record }"> - <a-space> - <a-avatar - v-if="record.contentType === 'img'" - :size="16" - shape="square" - > - <img - alt="avatar" - src="//p3-armor.byteimg.com/tos-cn-i-49unhts6dw/581b17753093199839f2e327e726b157.svg~tplv-49unhts6dw-image.image" - /> - </a-avatar> - <a-avatar - v-else-if="record.contentType === 'horizontalVideo'" - :size="16" - shape="square" - > - <img - alt="avatar" - src="//p3-armor.byteimg.com/tos-cn-i-49unhts6dw/77721e365eb2ab786c889682cbc721c1.svg~tplv-49unhts6dw-image.image" - /> - </a-avatar> - <a-avatar v-else :size="16" shape="square"> - <img - alt="avatar" - src="//p3-armor.byteimg.com/tos-cn-i-49unhts6dw/ea8b09190046da0ea7e070d83c5d1731.svg~tplv-49unhts6dw-image.image" - /> - </a-avatar> - {{ $t(`searchTable.form.contentType.${record.contentType}`) }} - </a-space> + <template #name="{ record }"> +<!-- <icon-file style="color: #0960bd;margin-right: 4px;" />--> + <icon-file style="margin-right: 4px;" /> +<!-- <span style="color: #0960bd;cursor: pointer" @click="fileClick">--> +<!-- {{record.name}}--> +<!-- </span>--> + {{record.name}} </template> - <template #filterType="{ record }"> - {{ $t(`searchTable.form.filterType.${record.filterType}`) }} + <template #staue="{ record }"> + <a-switch :model-value="record.staue"/> </template> <template #status="{ record }"> - <span v-if="record.status === 'offline'" class="circle"></span> - <span v-else class="circle pass"></span> - {{ $t(`searchTable.form.status.${record.status}`) }} + <div style="display: flex;align-items: center;"> + <div style="width: 100px"> + <a-popover title="Title"> + <a-tag :color="'blue'" border>鎴愬姛</a-tag> + <template #content> + <p>Here is the text content</p> + </template> + </a-popover> + <a-popover title="Title"> + <a-tag :color="'gold'" border>鍙栨秷</a-tag> + <template #content> + <p>Here is the text content</p> + </template> + </a-popover> + <a-popover title="Title"> + <a-tag :color="'green'" border>鏈惎鍔�</a-tag> + <template #content> + <p>Here is the text content</p> + </template> + </a-popover> + </div> + <div> + <a-button type="text" size="large"> + <template #icon> + <icon-sync /> + </template> + </a-button> + <a-button type="text" size="large"> + <template #icon> + <icon-sync style="color: green" /> + </template> + </a-button> + <a-button type="text" size="large"> + <template #icon> + <icon-play-circle style="color: green" /> + </template> + </a-button> + </div> + </div> </template> - <template #operations="{ record }"> - <add edit="edit" :record = 'record' /> + <template #operations="{ record }" > + <tool/> + <edit/> <a-popconfirm content="纭畾鍒犻櫎鍚楋紵" type="warning" @ok="deleteItem(record)"> <a-button v-permission="['admin']" type="text" size="small"> - {{ $t('鍒犻櫎') }} + <template #icon> + <icon-delete /> + </template> </a-button> </a-popconfirm> + <a-button type="text" size="small"> + <template #icon> + <icon-download /> + </template> + </a-button> </template> </a-table> </a-card> @@ -263,15 +220,51 @@ </a-tab-pane> <a-tab-pane key="2" title="娴嬭瘯"> <div class="rt-container-main"> - + <test ></test> </div> </a-tab-pane> <a-tab-pane key="3" title="閰嶇疆"> <div class="rt-container-main"> - + <config ></config> </div> </a-tab-pane> </a-tabs> + <div v-if="detailsShow" class="details"> + <div class="details-header"> + <div style="display: flex;align-items: center"> + <span><icon-arrow-left size="20px" style="cursor: pointer;color: #0960bd;margin: 10px" @click="goBackClick" /></span> + <icon-file style="color: #0960bd;margin-right: 4px;" /> + <span style="">123.docx</span> + </div> + <div style="display: flex; align-items: center;"> + <a-radio-group v-model="position" type="button" style="margin-right: 10px"> + <a-radio value="top">鍏ㄦ枃</a-radio> + <a-radio value="right">鐪佺暐</a-radio> + </a-radio-group> + <a-popover position="bottom"> + <a-button type="outline" class="button" style="margin-right: 10px">鎵归噺 <icon-down style="margin-left: 4px" /></a-button> + <template #content> + <p>Here is the text content</p> + <p>Here is the text content</p> + </template> + </a-popover> + <a-button type="outline" class="button" style="margin-right: 10px"> + <template #icon> + <icon-search /> + </template> + </a-button> + <a-popover position="bottom"> + <a-button type="outline" class="button" style="margin-right: 10px"><icon-sort /></a-button> + <template #content> + <p>Here is the text content</p> + <p>Here is the text content</p> + </template> + </a-popover> + <addDetails></addDetails> + </div> + </div> + <a-divider style="margin-top: 10px" /> + </div> </div> </div> </div> @@ -287,7 +280,13 @@ import type { TableColumnData } from '@arco-design/web-vue/es/table/interface'; import cloneDeep from 'lodash/cloneDeep'; import Sortable from 'sortablejs'; - import add from '@/views/user/account/add.vue' + import add from '@/views/dmx/knowledgeLib/add.vue' + import edit from '@/views/dmx/knowledgeLib/edit.vue' + import addKnow from '@/views/dmx/knowledgeLib/addKnow.vue' + import config from '@/views/dmx/knowledgeLib/config.vue' + import test from '@/views/dmx/knowledgeLib/test.vue' + import tool from '@/views/dmx/knowledgeLib/tool.vue' + import addDetails from '@/views/dmx/knowledgeLib/addDetails.vue' import { deleteAccount } from "@/api/account"; type SizeProps = 'mini' | 'small' | 'medium' | 'large'; type Column = TableColumnData & { checked?: true }; @@ -308,10 +307,16 @@ const formModel = ref(generateFormModel()); const cloneColumns = ref<Column[]>([]); const showColumns = ref<Column[]>([]); - const edit = ref('add'); const size = ref<SizeProps>('medium'); let visible = ref(false) + let detailsShow = ref(false) + let selectedTab = ref(0) + let tabs = reactive(['娉曞緥鐭ヨ瘑搴�', '鏀垮姟鐭ヨ瘑搴�', '鍖诲鐭ヨ瘑搴�', '鍏朵粬鐭ヨ瘑搴�']) + + const selectTab = (index) => { + selectedTab.value= index; + } const basePagination: Pagination = { current: 1, @@ -339,50 +344,43 @@ }, ]); const columns = computed<TableColumnData[]>(() => [ - // { - // title: t('搴忓彿'), - // dataIndex: 'index', - // slotName: 'index', - // }, - // { - // title: t('searchTable.columns.number'), - // dataIndex: 'number', - // }, { - title: t('鐢ㄦ埛鍚�'), + title: t('鍚嶇О'), dataIndex: 'name', + slotName: 'name', }, - // { - // title: t('searchTable.columns.contentType'), - // dataIndex: 'contentType', - // slotName: 'contentType', - // }, - // { - // title: t('searchTable.columns.filterType'), - // dataIndex: 'filterType', - // }, - // { - // title: t('searchTable.columns.count'), - // dataIndex: 'count', - // }, { - title: t('鍒涘缓鏃堕棿'), + title: t('鍒嗗揩鏁�'), + dataIndex: 'contentType', + }, + { + title: t('涓婁紶鏃堕棿'), + dataIndex: 'filterType', + }, + { + title: t('鍒涘缓浜�'), + dataIndex: 'count', + }, + { + title: t('瑙f瀽鐘舵��'), dataIndex: 'createdTime', }, { - title: t('鎵�灞為儴闂�'), - dataIndex: 'filterType', - slotName: 'filterType', + title: t('鍚敤'), + dataIndex: 'staue', + slotName: 'staue', }, { - title: t('澶囨敞'), + title: t('瑙f瀽鐘舵��'), dataIndex: 'status', slotName: 'status', }, { - title: t('searchTable.columns.operations'), + title: t('鎿嶄綔'), dataIndex: 'operations', slotName: 'operations', + width: 150, + minWidth: 100, }, ]); const contentTypeOptions = computed<SelectOptionData[]>(() => [ @@ -426,7 +424,7 @@ try { const { data } = await queryPolicyList(params); renderData.value = data.list; - console.log(renderData); + console.log(renderData, 'renderData'); pagination.current = params.current; pagination.total = data.total; } catch (err) { @@ -510,6 +508,16 @@ } }; + const fileClick = ()=>{ + detailsShow.value = true + + } + + const goBackClick = ()=>{ + detailsShow.value = false + + } + const deleteItem = async (row)=>{ console.log(row); // let data = await deleteAccount({id: row.number}) @@ -559,12 +567,42 @@ display: flex; } .lf-container-down{ - width: 80%; + display: flex; + flex-direction: column; + width: 90%; height: calc(100% - 5rem); - border: 1px solid #cccccc; + border: 1px solid #eeeeee; + overflow: auto; + padding: 10px; + .tabs .tab { + cursor: pointer; + box-sizing: border-box; + margin: 10px 0; + padding:0 10px; + color: rgba(0, 0, 0, 0.88); + font-size: 14px; + height: 40px; + line-height: 40px; + list-style: none; + position: relative; + background: #ffffff; + border: 1px solid #f0f0f0; + border-radius: 8px; + } + .tabs .tab:hover { + border: 1px solid #ffffff; + background: #e8e8ea; + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); + } + .tabs .tab.active { + border: 1px solid #e8e8ea; + background: #e8e8ea; + cursor: pointer; + } } } .rt-container{ + position: relative; //background: #626aea; margin-left: 20px; width: calc(100% - 200px); @@ -572,6 +610,20 @@ .rt-container-main{ height: 76vh; } + .details{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #ffffff; + .details-header{ + display: flex; + justify-content: space-between; + margin-top: 10px; + padding-right: 20px; + } + } } } } -- Gitblit v1.8.0