diff --git a/src/api/area/index.js b/src/api/area/index.js index 2b3bfcc..f5fbda5 100644 --- a/src/api/area/index.js +++ b/src/api/area/index.js @@ -48,4 +48,12 @@ export function saveLibraryRegionSignPoint(parameter) { }) } -export default { add, edit, del, sort, saveLibraryRegionSignPoint, FetchInitLibraryRegionList } +// 根据楼层获取全部区域 +export function FetchRegionAllByFloor(params) { + return request({ + url: 'api/libraryRegion/getRegionAllByFloor' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +export default { add, edit, del, sort, saveLibraryRegionSignPoint, FetchInitLibraryRegionList, FetchRegionAllByFloor } diff --git a/src/api/bookBasice/index.js b/src/api/bookBasice/index.js index dc1bc58..c510727 100644 --- a/src/api/bookBasice/index.js +++ b/src/api/bookBasice/index.js @@ -1,4 +1,12 @@ import request from '@/utils/request' +import qs from 'qs' + +export function FetchCollectionLocationAll(params) { + return request({ + url: 'api/bookBasice/getCollectionLocationAll' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} export function add(data) { return request({ @@ -24,4 +32,11 @@ export function del(ids) { }) } -export default { add, edit, del } +export function FetchCreateBarcode(params) { + return request({ + url: 'api/bookBasice/createBarcode' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +export default { add, edit, del, FetchCollectionLocationAll, FetchCreateBarcode } diff --git a/src/api/collectionBook/index.js b/src/api/collectionBook/index.js new file mode 100644 index 0000000..5439531 --- /dev/null +++ b/src/api/collectionBook/index.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/bookBasice/editBookDetails', + method: 'post', + data + }) +} + +export function edit(data) { + return request({ + url: 'api/bookBasice/editBookDetails', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/bookBasice/delBookDetails', + method: 'post', + data: ids + }) +} + +export default { add, edit, del } diff --git a/src/api/shelf/index.js b/src/api/shelf/index.js index 6e453d4..4b992b7 100644 --- a/src/api/shelf/index.js +++ b/src/api/shelf/index.js @@ -84,4 +84,20 @@ export function FetchChangeCheckByGrid(parameter) { }) } -export default { add, edit, del, FetchInitBookShelfList, FetchBookShelfDetails, saveBookShelfSignPoint, FetchInitShelfGridByShelfId, FetcheEditSortmarkByGrid, FetchChangeOrderByGrid, FetchChangeCheckByGrid } +// 根据书架查看所有层架位 +export function FetchShelfGridAllByShelfId(params) { + return request({ + url: 'api/bookShelf/getShelfGridAllByShelfId' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +// 根据区域查看所有书架 +export function FetchShelfAllByRegionId(params) { + return request({ + url: 'api/bookShelf/getShelfAllByRegionId' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +export default { add, edit, del, FetchInitBookShelfList, FetchBookShelfDetails, saveBookShelfSignPoint, FetchInitShelfGridByShelfId, FetcheEditSortmarkByGrid, FetchChangeOrderByGrid, FetchChangeCheckByGrid, FetchShelfGridAllByShelfId, FetchShelfAllByRegionId } diff --git a/src/assets/iconfonts/light/iconfont.css b/src/assets/iconfonts/light/iconfont.css index 4ab8626..f100d6a 100644 --- a/src/assets/iconfonts/light/iconfont.css +++ b/src/assets/iconfonts/light/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 3966148 */ - src: url('iconfont.woff2?t=1734697211726') format('woff2'), - url('iconfont.woff?t=1734697211726') format('woff'), - url('iconfont.ttf?t=1734697211726') format('truetype'); + src: url('iconfont.woff2?t=1735042074321') format('woff2'), + url('iconfont.woff?t=1735042074321') format('woff'), + url('iconfont.ttf?t=1735042074321') format('truetype'); } .iconfont { @@ -13,6 +13,14 @@ -moz-osx-font-smoothing: grayscale; } +.icon-biaoqian:before { + content: "\e693"; +} + +.icon-_biaoqian-:before { + content: "\e68f"; +} + .icon-shuju:before { content: "\e68e"; } diff --git a/src/assets/iconfonts/light/iconfont.js b/src/assets/iconfonts/light/iconfont.js index 1f68677..1ac5826 100644 --- a/src/assets/iconfonts/light/iconfont.js +++ b/src/assets/iconfonts/light/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_3966148='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,o,t,s,v=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_3966148,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?v(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=h,t=c.document,s=!1,p(),t.onreadystatechange=function(){"complete"==t.readyState&&(t.onreadystatechange=null,z())})}function z(){s||(s=!0,o())}function p(){try{t.documentElement.doScroll("left")}catch(a){return void setTimeout(p,50)}z()}})(window); \ No newline at end of file +window._iconfont_svg_string_3966148='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,o,t,s,z=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_3966148,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?z(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=h,t=c.document,s=!1,p(),t.onreadystatechange=function(){"complete"==t.readyState&&(t.onreadystatechange=null,v())})}function v(){s||(s=!0,o())}function p(){try{t.documentElement.doScroll("left")}catch(a){return void setTimeout(p,50)}v()}})(window); \ No newline at end of file diff --git a/src/assets/iconfonts/light/iconfont.json b/src/assets/iconfonts/light/iconfont.json index 0834241..1612601 100644 --- a/src/assets/iconfonts/light/iconfont.json +++ b/src/assets/iconfonts/light/iconfont.json @@ -5,6 +5,20 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "4487893", + "name": "标签", + "font_class": "biaoqian", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "6796688", + "name": "2_标签-06", + "font_class": "_biaoqian-", + "unicode": "e68f", + "unicode_decimal": 59023 + }, { "icon_id": "15392667", "name": "数据", diff --git a/src/assets/iconfonts/light/iconfont.ttf b/src/assets/iconfonts/light/iconfont.ttf index 6becf60..3b0236e 100644 Binary files a/src/assets/iconfonts/light/iconfont.ttf and b/src/assets/iconfonts/light/iconfont.ttf differ diff --git a/src/assets/iconfonts/light/iconfont.woff b/src/assets/iconfonts/light/iconfont.woff index 38efc11..e975c4a 100644 Binary files a/src/assets/iconfonts/light/iconfont.woff and b/src/assets/iconfonts/light/iconfont.woff differ diff --git a/src/assets/iconfonts/light/iconfont.woff2 b/src/assets/iconfonts/light/iconfont.woff2 index 8b2ef90..92988fb 100644 Binary files a/src/assets/iconfonts/light/iconfont.woff2 and b/src/assets/iconfonts/light/iconfont.woff2 differ diff --git a/src/assets/styles/mixin.scss b/src/assets/styles/mixin.scss index e865f22..5449454 100644 --- a/src/assets/styles/mixin.scss +++ b/src/assets/styles/mixin.scss @@ -1065,6 +1065,11 @@ border: 1px solid #CAA4FF; opacity: 0.6; } + &.no-state{ + color: #a6adb6; + border: 1px solid #e6e8ed; + opacity: 0.6; + } } [data-theme="light"] & { &.ing-state{ @@ -1087,10 +1092,10 @@ background-color: #FFF3E5; border: 1px solid #FEBD98 } - &.other-state{ - color: #8B43F0; - background-color: #F4EDFF; - border: 1px solid #CAA4FF; + &.no-state{ + color: #a6adb6; + background-color: #f3f5f9; + border: 1px solid #e6e8ed; } } } \ No newline at end of file diff --git a/src/views/components/bookSwiper.vue b/src/views/components/bookSwiper.vue new file mode 100644 index 0000000..8c66a24 --- /dev/null +++ b/src/views/components/bookSwiper.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/views/dashboard/PanelGroup.vue b/src/views/dashboard/PanelGroup.vue index 34a0869..c54e874 100644 --- a/src/views/dashboard/PanelGroup.vue +++ b/src/views/dashboard/PanelGroup.vue @@ -6,7 +6,7 @@
- 档案盒 + 盘点区域
@@ -19,7 +19,7 @@
- 案卷条目 + 盘点书架
@@ -32,7 +32,7 @@
- 文件条目 + 盘点层位
@@ -45,7 +45,7 @@
- 电子文件 + 盘点设备
diff --git a/src/views/home.vue b/src/views/home.vue index ddeaa67..75c776a 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -8,12 +8,14 @@

- 流程中心 + 盘点任务

- 待处理({{ flowableData.length !==0? flowableData.length: 0 }}) - 更多流程 + 全部任务({{ flowableData.length !==0? flowableData.length: 0 }}) + 进行中({{ flowableData.length !==0? flowableData.length: 0 }}) + 已完成({{ flowableData.length !==0? flowableData.length: 0 }}) + 更多流程
@@ -53,7 +55,7 @@

- 档案统计 + 盘点概况

@@ -70,10 +72,10 @@

- 档案类型 + 流通统计

- +
@@ -83,7 +85,7 @@

- 档案门类 + 馆藏统计

@@ -104,6 +106,7 @@ import PanelGroup from './dashboard/PanelGroup' import lendAcross from '@/views/components/echarts/lendAcross.vue' import catePie from '@/views/components/echarts/catePie.vue' import typePie from '@/views/components/echarts/typePie.vue' +import bookSwiper from '@/views/components/bookSwiper.vue' import serverProgress from '@/views/components/echarts/serverProgress.vue' import { FetchMainData } from '@/api/archivesManage/library' import { FetchSystemInfo } from '@/api/home/cpu/index' @@ -115,6 +118,7 @@ export default { PanelGroup, lendAcross, catePie, + bookSwiper, typePie, serverProgress }, diff --git a/src/views/visualCheck/bookstore/book/index.vue b/src/views/visualCheck/bookstore/book/index.vue index bed21a2..6fd2a61 100644 --- a/src/views/visualCheck/bookstore/book/index.vue +++ b/src/views/visualCheck/bookstore/book/index.vue @@ -27,15 +27,16 @@ - + 搜索 + 重置
- +
@@ -62,7 +63,7 @@
-
+

封面预览

@@ -110,7 +111,6 @@ import crudBook from '@/api/book/index' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import CRUD, { presenter, header, form, crud } from '@crud/crud' -import rrOperation from '@crud/RR.operation' import crudOperation from '@crud/CRUD.operation' import pagination from '@crud/Pagination' import UploadCover from '@/views/components/upload.vue' @@ -119,13 +119,13 @@ import { mapGetters } from 'vuex' const defaultForm = { id: null, title: null, author: null, isbn: null, classNo: null, publisher: null, bookCover: null, bookRecNo: null } export default { name: 'Book', - components: { crudOperation, rrOperation, pagination, UploadCover }, + components: { crudOperation, pagination, UploadCover }, cruds() { return CRUD({ title: '图书', idField: 'id || bookRecNo', url: 'api/bookBasice/initBookBasiceList', crudMethod: { ...crudBook }, optShow: { add: true, edit: true, - del: true, + del: false, download: false, group: false, reset: true @@ -185,6 +185,7 @@ export default { } else { this.crud.query.status = this.status } + this.crud.query[this.optionVal] = this.keyWord }, // 新增与编辑前做的操作 [CRUD.HOOK.afterToCU](crud, form) { @@ -194,11 +195,11 @@ export default { }, // 初始化编辑时候 [CRUD.HOOK.beforeToEdit](crud, form) { - // crudBook.FetchBookBasiceByISBN({ 'isbn': this.crud.selections[0].isbn }).then(res => { - // console.log(res) - // this.crud.form.bookRecNo = res.bookRecNo - // this.crud.form.id = res.bookRecNo - // }) + if (this.crud.form.bookCover) { + this.bookCover = this.baseApi + '/api/fileRelevant/getImg?imgId=' + this.crud.form.bookCover + } else { + this.bookCover = require('@/assets/images/cover-bg.png') + } }, // 提交前做的操作 [CRUD.HOOK.afterValidateCU](crud) { @@ -215,6 +216,12 @@ export default { }) } }, + resetQuery() { + this.keyWord = '' + this.crud.query[this.optionVal] = this.keyWord + this.status = null + this.crud.toQuery() + }, handleCover(value) { console.log(value) if (value) { @@ -228,6 +235,32 @@ export default { clickRowHandler(row) { this.$refs.table.clearSelection() this.$refs.table.toggleRowSelection(row) + }, + toDelete(datas) { + this.$confirm('此操作将删除当前所选书架你是否还要继续?', '提示', { + confirmButtonText: '继续', + cancelButtonText: '取消', + type: 'warning', + dangerouslyUseHTMLString: true + }).then(() => { + this.crud.delAllLoading = true + const ids = [] + datas.forEach(val => { + ids.push(val.bookRecNo) + }) + console.log(ids) + crudBook.del(ids).then(res => { + console.log(res) + this.$message({ message: res, type: 'success', offset: 8 }) + this.crud.delAllLoading = false + this.crud.refresh() + }).catch(err => { + this.crud.delAllLoading = false + console.log(err) + }) + }).catch(() => { + this.crud.delAllLoading = false + }) } } } diff --git a/src/views/visualCheck/bookstore/collection/index.vue b/src/views/visualCheck/bookstore/collection/index.vue index f1b8a24..3774070 100644 --- a/src/views/visualCheck/bookstore/collection/index.vue +++ b/src/views/visualCheck/bookstore/collection/index.vue @@ -23,11 +23,12 @@ - + - + 搜索 + 重置