diff --git a/package.json b/package.json
index 17237e0..e6dc434 100644
--- a/package.json
+++ b/package.json
@@ -44,6 +44,7 @@
"html2canvas": "^1.4.1",
"js-beautify": "^1.10.2",
"js-cookie": "2.2.0",
+ "jsbarcode": "^3.11.6",
"jsencrypt": "^3.0.0-rc.1",
"jszip": "^3.7.1",
"mavon-editor": "^2.9.1",
@@ -61,6 +62,7 @@
"vue-echarts": "^5.0.0-beta.0",
"vue-highlightjs": "^1.3.3",
"vue-image-crop-upload": "^2.5.0",
+ "vue-print-nb-element": "^1.8.0",
"vue-router": "3.0.2",
"vue-splitpane": "1.0.4",
"vuedraggable": "2.20.0",
diff --git a/src/api/archivesManage/archivesList.js b/src/api/archivesManage/archivesList.js
index 9115879..23211a7 100644
--- a/src/api/archivesManage/archivesList.js
+++ b/src/api/archivesManage/archivesList.js
@@ -160,5 +160,14 @@ export function FetchTransferMainLibrary(parameter) {
})
}
-export default { add, edit, del, FetchInitArchivesView, FetchTableDisplayFields, FetchFormDisplayFields, FetchDoeditIsRepeat, queryVagueArchives, querySeniorArchives }
+// 打印条形码
+export function FetchPrintArchivesBarcode(parameter) {
+ return request({
+ url: 'api/archives/printArchivesBarcode',
+ method: 'post',
+ data: parameter
+ })
+}
+
+export default { add, edit, del, FetchInitArchivesView, FetchTableDisplayFields, FetchFormDisplayFields, FetchDoeditIsRepeat, queryVagueArchives, querySeniorArchives, FetchPrintArchivesBarcode }
diff --git a/src/api/archivesManage/caseManage.js b/src/api/archivesManage/caseManage.js
index d655e6f..33c6f20 100644
--- a/src/api/archivesManage/caseManage.js
+++ b/src/api/archivesManage/caseManage.js
@@ -1,82 +1,91 @@
-import request from '@/utils/request'
-import qs from 'qs'
-
-export function add(form) {
- return edit(form)
-}
-
-export function edit(parameter) {
- return request({
- url: 'api/case/edit',
- method: 'post',
- data: parameter
- })
-}
-// 删除档案盒
-export function del(data) {
- return request({
- url: 'api/case/del',
- method: 'post',
- data: data
- })
-}
-
-// 判断盒名称是否重复
-export function caseNameIsRepeat(parameter) {
- return request({
- url: 'api/case/caseNameIsRepeat',
- method: 'get',
- params: parameter
- })
-}
-// 判断条形码值是否重复
-export function barcodeIsRepeat(parameter) {
- return request({
- url: 'api/case/barcodeIsRepeat',
- method: 'get',
- params: parameter
- })
-}
-
-// 档案盒列表
-export function FetchInitCaseList(parameter) {
- return request({
- url: 'api/case/initCaseList',
- method: 'get',
- params: parameter
- })
-}
-
-// 档案盒装盒列表
-export function FetchInitCartoningList(parameter) {
- return request({
- url: 'api/case/initCartoningList',
- method: 'get',
- params: parameter
- })
-}
-
-// 装盒
-export function FetchCartoning(data) {
- return request({
- url: 'api/case/cartoning',
- method: 'post',
- data: data
- })
-}
-// 拆盒
-export function unpacking(data) {
- return request({
- url: 'api/case/unpacking',
- method: 'post',
- data: data
- })
-}
-// 盒详情
-export function findInCase(params) {
- return request({
- url: 'api/case/findInCase' + '?' + qs.stringify(params, { indices: false }),
- method: 'get'
- })
-}
-export default { add, edit, del, unpacking, findInCase }
+import request from '@/utils/request'
+import qs from 'qs'
+
+export function add(form) {
+ return edit(form)
+}
+
+export function edit(parameter) {
+ return request({
+ url: 'api/case/edit',
+ method: 'post',
+ data: parameter
+ })
+}
+// 删除档案盒
+export function del(data) {
+ return request({
+ url: 'api/case/del',
+ method: 'post',
+ data: data
+ })
+}
+
+// 判断盒名称是否重复
+export function caseNameIsRepeat(parameter) {
+ return request({
+ url: 'api/case/caseNameIsRepeat',
+ method: 'get',
+ params: parameter
+ })
+}
+// 判断条形码值是否重复
+export function barcodeIsRepeat(parameter) {
+ return request({
+ url: 'api/case/barcodeIsRepeat',
+ method: 'get',
+ params: parameter
+ })
+}
+
+// 档案盒列表
+export function FetchInitCaseList(parameter) {
+ return request({
+ url: 'api/case/initCaseList',
+ method: 'get',
+ params: parameter
+ })
+}
+
+// 档案盒装盒列表
+export function FetchInitCartoningList(parameter) {
+ return request({
+ url: 'api/case/initCartoningList',
+ method: 'get',
+ params: parameter
+ })
+}
+
+// 装盒
+export function FetchCartoning(data) {
+ return request({
+ url: 'api/case/cartoning',
+ method: 'post',
+ data: data
+ })
+}
+// 拆盒
+export function unpacking(data) {
+ return request({
+ url: 'api/case/unpacking',
+ method: 'post',
+ data: data
+ })
+}
+// 盒详情
+export function findInCase(params) {
+ return request({
+ url: 'api/case/findInCase' + '?' + qs.stringify(params, { indices: false }),
+ method: 'get'
+ })
+}
+
+// 批量打印盒数据
+export function printCaseBarcode(data) {
+ return request({
+ url: 'api/case/printCaseBarcode',
+ method: 'post',
+ data: data
+ })
+}
+export default { add, edit, del, unpacking, findInCase, printCaseBarcode }
diff --git a/src/assets/styles/archives-manage.scss b/src/assets/styles/archives-manage.scss
index 699e030..08bb3bc 100644
--- a/src/assets/styles/archives-manage.scss
+++ b/src/assets/styles/archives-manage.scss
@@ -9,6 +9,7 @@ $arcCyan: #0FBED9;
.head-archives{
padding: 0 0 20px 0;
.archives-crud{
+ position: relative;
float: left;
}
.archives-recycle{
diff --git a/src/main.js b/src/main.js
index 30f914a..22d0fe4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -28,6 +28,8 @@ import App from './App'
import store from './store'
import router from './router/routers'
+import Print from 'vue-print-nb-element'
+
import './assets/icons' // icon
import './router/index' // permission control
import 'echarts-gl'
@@ -37,6 +39,7 @@ import { parseTime } from '@/utils/index.js'
Vue.filter('parseTime', function(time, cFormat) {
return parseTime(time, cFormat)
})
+Vue.use(Print)
Vue.use(checkPer)
Vue.use(VueHighlightJS)
Vue.use(mavonEditor)
diff --git a/src/views/archivesManage/archivesList/archivesAnjuan/index.vue b/src/views/archivesManage/archivesList/archivesAnjuan/index.vue
index 6ed397c..c4c7eff 100644
--- a/src/views/archivesManage/archivesList/archivesAnjuan/index.vue
+++ b/src/views/archivesManage/archivesList/archivesAnjuan/index.vue
@@ -2,6 +2,9 @@
+
+ 批量打印条形码
+
新增
@@ -48,6 +51,15 @@
绑定标签
+
+
+
+
+
![]()
+
+
+
+
@@ -174,6 +186,7 @@
+
diff --git a/src/views/archivesManage/archivesList/archivesJuannei/index.vue b/src/views/archivesManage/archivesList/archivesJuannei/index.vue
index 43f663a..ff2cc2e 100644
--- a/src/views/archivesManage/archivesList/archivesJuannei/index.vue
+++ b/src/views/archivesManage/archivesList/archivesJuannei/index.vue
@@ -2,6 +2,9 @@
+
+ 批量打印条形码
+
新增
@@ -39,6 +42,15 @@
绑定标签
+
+
+
+
+
![]()
+
+
+
+
@@ -163,6 +175,7 @@
+
@@ -389,4 +402,14 @@ export default {
background-color:#02255f;
border-bottom: none;
}
+
+.archivesJn-code{
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+.archivesJn-code-ac{
+ display: block;
+ margin-bottom: 10px;
+}
diff --git a/src/views/archivesManage/archivesList/index.vue b/src/views/archivesManage/archivesList/index.vue
index 36d2831..6ef5dfb 100644
--- a/src/views/archivesManage/archivesList/index.vue
+++ b/src/views/archivesManage/archivesList/index.vue
@@ -457,7 +457,6 @@ export default {
}
}
console.log(this.intellClassifyTree)
-
this.intellClassifyLoading = false
}, 2000)
}
diff --git a/src/views/archivesManage/archivesList/mixins/archives.js b/src/views/archivesManage/archivesList/mixins/archives.js
index d28466d..a70eaef 100644
--- a/src/views/archivesManage/archivesList/mixins/archives.js
+++ b/src/views/archivesManage/archivesList/mixins/archives.js
@@ -1,7 +1,31 @@
import qs from 'qs'
import { exportFile } from '@/utils/index'
-import { FetchTableDisplayFields, FetchInitArchivesView, FetchFormDisplayFields } from '@/api/archivesManage/archivesList'
+import JsBarcode from 'jsbarcode'
+import { FetchTableDisplayFields, FetchInitArchivesView, FetchFormDisplayFields, FetchPrintArchivesBarcode } from '@/api/archivesManage/archivesList'
export const archivesCrud = {
+ filters: {
+ creatBarCode(barCodeData, codePrintData, barCodeText) {
+ // console.log('触发条码生成事件')
+ console.log('codePrintData', codePrintData)
+ console.log('barCodeText', barCodeText)
+ const canvas = document.createElement('canvas')
+ // 'fantasy', // 设置文本的字体
+ JsBarcode(canvas, barCodeData, {
+ format: 'CODE128',
+ displayValue: true,
+ text: barCodeText,
+ fontOptions: 'bold', // 使文字加粗体或变斜体
+ font: 'arial',
+ margin: 15,
+ height: 120,
+ width: 5,
+ fontSize: 36,
+ textMargin: 6,
+ textPosition: 'top'
+ })
+ return canvas.toDataURL('image/png')
+ }
+ },
// 组件共用属性
data() {
return {
@@ -16,6 +40,9 @@ export const archivesCrud = {
size: 10,
total: 0
},
+ codeLoading: false,
+ selectedRows: [],
+ codePrintData: [],
storageTxt: [],
borrowTxt: [],
tableDisplayFields: [], // table-list-title字段
@@ -257,7 +284,9 @@ export const archivesCrud = {
this.$nextTick(() => {
if (type === 'edit') {
this.$refs.previewForm.addOrUpdateForm = data.echo
+ this.$refs.previewForm.isEdit = true
} else {
+ this.$refs.previewForm.isEdit = false
if (this.recycleMain.selectedCategory.isType !== 5) {
// 新增时拿到项目和案卷的相同的字段的值
this.formPreviewData.forEach(item => {
@@ -296,7 +325,7 @@ export const archivesCrud = {
this.getTotalSumAll()
}
},
- getTotalSumAll() {
+ getTotalSumAll(data) {
this.totalSumAll = 0
this.selections.map((item) => { if (!isNaN(item.children_num)) this.totalSumAll += item.children_num })
if (isNaN(this.totalSumAll)) {
@@ -304,6 +333,42 @@ export const archivesCrud = {
}
return this.totalSumAll
},
+ // 打印条码
+ printArchivesCode(data) {
+ this.codeLoading = true
+ const params = data.map(item => {
+ return item.id
+ })
+ FetchPrintArchivesBarcode(params).then(res => {
+ if (res && res.length !== 0) {
+ this.selectedRows = res
+ } else {
+ this.selectedRows = []
+ this.$message({
+ message: '无相关可打印条码数据!',
+ type: 'warning'
+ })
+ return false
+ }
+ this.$nextTick(() => {
+ this.codePrintData.count = this.selectedRows.length
+ var printIframe = this.$refs.printIframe
+ var html = this.$refs.printDiv.innerHTML
+ printIframe.setAttribute('srcdoc', html)
+ printIframe.onload = function() {
+ console.log(printIframe.contentWindow)
+ // 去掉iframe里面的dom的body的padding margin的默认数值
+ printIframe.contentWindow.document.body.style.padding = '0px'
+ printIframe.contentWindow.document.body.style.margin = '0px'
+ // 开始打印
+ printIframe.contentWindow.focus()
+ printIframe.contentWindow.print()
+ }
+ })
+ // this.crud.refresh()
+ this.codeLoading = false
+ })
+ },
// 删除 - 关闭
handleClose(done) {
this.formVisible = false
diff --git a/src/views/archivesManage/archivesList/oneClickDelete/index.vue b/src/views/archivesManage/archivesList/oneClickDelete/index.vue
index b2f68b8..39402d1 100644
--- a/src/views/archivesManage/archivesList/oneClickDelete/index.vue
+++ b/src/views/archivesManage/archivesList/oneClickDelete/index.vue
@@ -132,7 +132,12 @@ export default {
},
intellClassifyTree: function(newValue, oldValue) {
if (newValue) {
- this.archiveYearOptions = newValue[0].childMenus
+ const index = newValue.findIndex(item => item.dicName === '年度')
+ if (index !== -1) {
+ this.archiveYearOptions = newValue[index].childMenus
+ } else {
+ this.archiveYearOptions = []
+ }
newValue.filter(item => {
if (item.dicCode === 'Search_BGQX') {
this.retentionOptions = item.childMenus
diff --git a/src/views/archivesManage/caseManage/caseList/index.vue b/src/views/archivesManage/caseManage/caseList/index.vue
index 77be67e..46f703c 100644
--- a/src/views/archivesManage/caseManage/caseList/index.vue
+++ b/src/views/archivesManage/caseManage/caseList/index.vue
@@ -17,13 +17,15 @@
- 打印目录
+ 批量打印条形码
+ 打印目录
拆盒
绑定标签
+
@@ -111,12 +113,20 @@
+
+
+
+
![]()
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/components/category/PreviewForm.vue b/src/views/components/category/PreviewForm.vue
index cddfadb..25fd6ff 100644
--- a/src/views/components/category/PreviewForm.vue
+++ b/src/views/components/category/PreviewForm.vue
@@ -1,496 +1,497 @@
-
-
-
-
-
-
-
-
-
- {{ getAutoNameUnknown(node.label) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ {{ getAutoNameUnknown(node.label) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+