Browse Source

文件柜

master
xuhuajiao 2 weeks ago
parent
commit
d41db4bc3c
  1. 106
      src/assets/iconfonts/light/iconfont.css
  2. 2
      src/assets/iconfonts/light/iconfont.js
  3. 175
      src/assets/iconfonts/light/iconfont.json
  4. BIN
      src/assets/iconfonts/light/iconfont.ttf
  5. BIN
      src/assets/iconfonts/light/iconfont.woff
  6. BIN
      src/assets/iconfonts/light/iconfont.woff2
  7. 8
      src/layout/components/Sidebar/index.vue
  8. 4
      src/views/archivesMIOD/miodLibrary/index.vue
  9. 90
      src/views/archivesMIOD/miodLibrary/module/detail.vue
  10. 2
      src/views/archivesMIOD/miodLibrary/treeList.vue
  11. 376
      src/views/archivesMIOD/onOffShelfRecord/index.vue
  12. 84
      src/views/archivesMIOD/‌filingCabinet/index.vue
  13. 2
      src/views/archivesManage/managementLibrary/module/collectHeader.vue

106
src/assets/iconfonts/light/iconfont.css

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3966148 */
src: url('iconfont.woff2?t=1751619790998') format('woff2'),
url('iconfont.woff?t=1751619790998') format('woff'),
url('iconfont.ttf?t=1751619790998') format('truetype');
src: url('iconfont.woff2?t=1780639644959') format('woff2'),
url('iconfont.woff?t=1780639644959') format('woff'),
url('iconfont.ttf?t=1780639644959') format('truetype');
}
.iconfont {
@ -13,6 +13,106 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-xiajia:before {
content: "\e7aa";
}
.icon-cangku:before {
content: "\e927";
}
.icon-baojingjilu:before {
content: "\e6a8";
}
.icon-yitiji:before {
content: "\e6a2";
}
.icon-kufangguanli:before {
content: "\e6a3";
}
.icon-renlianshibiejiqi:before {
content: "\e759";
}
.icon-wangluoshexiangtou:before {
content: "\e754";
}
.icon-Dkufang:before {
content: "\e6a4";
}
.icon-rfidduxieqi:before {
content: "\e879";
}
.icon-shouchipandianyi:before {
content: "\e6a5";
}
.icon-zhinengyitiji:before {
content: "\e6a6";
}
.icon-a-3D-xidingtanceqi:before {
content: "\e6b7";
}
.icon-saomiao:before {
content: "\e6a7";
}
.icon-mimachakan:before {
content: "\e6a1";
}
.icon-d:before {
content: "\e6a0";
}
.icon-yooxi:before {
content: "\e69d";
}
.icon-heimingdan:before {
content: "\e69f";
}
.icon-caidan:before {
content: "\e69c";
}
.icon-lanmu1:before {
content: "\e69e";
}
.icon-yuzhuceqiye:before {
content: "\e69a";
}
.icon-yonghuzhuce:before {
content: "\e69b";
}
.icon-shenfen:before {
content: "\e698";
}
.icon-shenfenshimingrenzheng:before {
content: "\e699";
}
.icon-fuzhichenggong1:before {
content: "\e696";
}
.icon-fuzhi:before {
content: "\ec7a";
}
.icon-jiantou-sanjiao-shang:before {
content: "\e697";
}

2
src/assets/iconfonts/light/iconfont.js
File diff suppressed because it is too large
View File

175
src/assets/iconfonts/light/iconfont.json

@ -5,6 +5,181 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "10599880",
"name": "icon-xiajiashenhe",
"font_class": "xiajia",
"unicode": "e7aa",
"unicode_decimal": 59306
},
{
"icon_id": "44433330",
"name": "仓库",
"font_class": "cangku",
"unicode": "e927",
"unicode_decimal": 59687
},
{
"icon_id": "30256923",
"name": "报警记录",
"font_class": "baojingjilu",
"unicode": "e6a8",
"unicode_decimal": 59048
},
{
"icon_id": "79099",
"name": "一体机",
"font_class": "yitiji",
"unicode": "e6a2",
"unicode_decimal": 59042
},
{
"icon_id": "6296998",
"name": "库房管理",
"font_class": "kufangguanli",
"unicode": "e6a3",
"unicode_decimal": 59043
},
{
"icon_id": "8434614",
"name": "人脸识别机器",
"font_class": "renlianshibiejiqi",
"unicode": "e759",
"unicode_decimal": 59225
},
{
"icon_id": "9437011",
"name": "网络摄像头",
"font_class": "wangluoshexiangtou",
"unicode": "e754",
"unicode_decimal": 59220
},
{
"icon_id": "11661938",
"name": "3D库房",
"font_class": "Dkufang",
"unicode": "e6a4",
"unicode_decimal": 59044
},
{
"icon_id": "19373677",
"name": "rfid读写器",
"font_class": "rfidduxieqi",
"unicode": "e879",
"unicode_decimal": 59513
},
{
"icon_id": "31422233",
"name": "手持盘点仪",
"font_class": "shouchipandianyi",
"unicode": "e6a5",
"unicode_decimal": 59045
},
{
"icon_id": "36973886",
"name": "智能一体机",
"font_class": "zhinengyitiji",
"unicode": "e6a6",
"unicode_decimal": 59046
},
{
"icon_id": "40950858",
"name": "3D-吸顶探测器",
"font_class": "a-3D-xidingtanceqi",
"unicode": "e6b7",
"unicode_decimal": 59063
},
{
"icon_id": "43488473",
"name": "吸顶式盘点设备",
"font_class": "saomiao",
"unicode": "e6a7",
"unicode_decimal": 59047
},
{
"icon_id": "26584955",
"name": "密码查看",
"font_class": "mimachakan",
"unicode": "e6a1",
"unicode_decimal": 59041
},
{
"icon_id": "13302910",
"name": "3d",
"font_class": "d",
"unicode": "e6a0",
"unicode_decimal": 59040
},
{
"icon_id": "778898",
"name": "vip",
"font_class": "yooxi",
"unicode": "e69d",
"unicode_decimal": 59037
},
{
"icon_id": "9826652",
"name": "黑名单",
"font_class": "heimingdan",
"unicode": "e69f",
"unicode_decimal": 59039
},
{
"icon_id": "4438260",
"name": "菜单",
"font_class": "caidan",
"unicode": "e69c",
"unicode_decimal": 59036
},
{
"icon_id": "29778608",
"name": "栏目",
"font_class": "lanmu1",
"unicode": "e69e",
"unicode_decimal": 59038
},
{
"icon_id": "704557",
"name": "预注册企业",
"font_class": "yuzhuceqiye",
"unicode": "e69a",
"unicode_decimal": 59034
},
{
"icon_id": "5651535",
"name": "用户注册",
"font_class": "yonghuzhuce",
"unicode": "e69b",
"unicode_decimal": 59035
},
{
"icon_id": "6421901",
"name": "身份",
"font_class": "shenfen",
"unicode": "e698",
"unicode_decimal": 59032
},
{
"icon_id": "22785279",
"name": "身份实名认证",
"font_class": "shenfenshimingrenzheng",
"unicode": "e699",
"unicode_decimal": 59033
},
{
"icon_id": "40338657",
"name": "复制成功-copy",
"font_class": "fuzhichenggong1",
"unicode": "e696",
"unicode_decimal": 59030
},
{
"icon_id": "5993150",
"name": "复制",
"font_class": "fuzhi",
"unicode": "ec7a",
"unicode_decimal": 60538
},
{
"icon_id": "10943054",
"name": "箭头-三角-上",

BIN
src/assets/iconfonts/light/iconfont.ttf

BIN
src/assets/iconfonts/light/iconfont.woff

BIN
src/assets/iconfonts/light/iconfont.woff2

8
src/layout/components/Sidebar/index.vue

@ -33,8 +33,8 @@ export default {
activeMenu() {
const route = this.$route
const { meta, path } = route
console.log('meta', meta)
console.log('path', path)
// console.log('meta', meta)
// console.log('path', path)
// if set path, the sidebar will highlight the path you set
if (meta.activeMenu) {
return meta.activeMenu
@ -55,8 +55,8 @@ export default {
},
methods: {
handleSelect(key, keyPath) {
console.log('el-menu')
console.log(key, keyPath)
// console.log('el-menu')
// console.log(key, keyPath)
}
}
}

4
src/views/archivesMIOD/miodLibrary/index.vue

@ -301,7 +301,7 @@ export default {
this.crud.query.distributorIds = null
},
fetchDeptsList() {
console.log('this.selectedDocument', this.selectedDocument)
// console.log('this.selectedDocument', this.selectedDocument)
let documentId
if (this.selectedDocument.isType === 2) {
documentId = this.selectedDocument.id
@ -314,7 +314,7 @@ export default {
console.log('param', param)
FetchInitBorrowerListOrderNo(param)
.then(res => {
console.log('res', res)
// console.log('res', res)
this.distributorsOptions = res || []
})
.catch(error => {

90
src/views/archivesMIOD/miodLibrary/module/detail.vue

@ -8,8 +8,9 @@
<!-- tab -->
<ul class="tab-nav">
<li :class="{'active-tab-nav': archivesTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li>
<li :class="{'active-tab-nav': archivesTabIndex == 1}" @click="changeActiveTab(1)">传阅记录</li>
<li :class="{'active-tab-nav': archivesTabIndex == 2}" @click="changeActiveTab(2)">操作记录</li>
<li v-if="!isShelfRecord" :class="{'active-tab-nav': archivesTabIndex == 1}" @click="changeActiveTab(1)">/下架记录</li>
<li :class="{'active-tab-nav': archivesTabIndex == 2}" @click="changeActiveTab(2)">传阅记录</li>
<li :class="{'active-tab-nav': archivesTabIndex == 3}" @click="changeActiveTab(3)">操作记录</li>
</ul>
<div style="position: absolute; right: 0; top:0;">
<span
@ -94,6 +95,7 @@
<span v-else class="row-state defalut-state">未绑定</span>
</template>
</el-table-column>
<el-table-column prop="pass_cell" label="所在层位" min-width="120" />
<el-table-column v-if="!isMidoRecord" prop="update_time" label="操作" min-width="140">
<template slot-scope="scope">
<div style="display: inline-block;">
@ -128,7 +130,7 @@
</div>
</template>
</el-table-column>
<el-table-column v-if="!isMidoRecord" prop="update_time" label="传阅操作" min-width="80" align="center">
<el-table-column v-if="!isMidoRecord && !isShelfRecord" prop="update_time" label="传阅操作" min-width="80" align="center">
<template slot-scope="scope">
<div v-if="scope.row.read_type!=='传阅中'">
<el-tooltip class="item" effect="dark" content="人工借阅" placement="top">
@ -136,14 +138,48 @@
<el-button :loading="lendBtnLoading[scope.row.id]" style="padding: 4px 2px 4px 6px !important; color: #0348f3 !important; background-color: #dcedfd !important; border: 1px solid #9bd1ff !important;" @click="handleLendFile(scope.row)"><i class="iconfont icon-liuchengfaqi" /></el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 上下架记录 -->
<div v-if="archivesTabIndex==1 && !isShelfRecord" class="item-content">
<el-table class="archives-table" :data="onOffTableData" style="min-width: 100%; " height="calc(100vh - 280px)">
<el-table-column prop="operateType" label="操作类型" min-width="60" align="center">
<template slot-scope="scope">
<!-- getOperateTypeText(scope.row.operateType) -->
<span class="row-state row-packing state-active">{{ scope.row.operateType }}</span>
</template>
</el-table-column>
<el-table-column prop="createBy" label="操作格位" min-width="100" />
<el-table-column prop="createBy" label="公文登记号" min-width="100" />
<el-table-column prop="details_type" label="文件类型" min-width="85">
<template slot-scope="scope">
<el-tag v-if="scope.row.details_type === 1">原件</el-tag>
<el-tag v-else>复印件</el-tag>
</template>
</el-table-column>
<el-table-column prop="createTime" label="操作时间" width="180">
<template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
v-if="onOffTableData.length !== 0"
:current-page="pageShelf.page+1"
:total="pageShelf.total"
:page-size="pageShelf.size"
:pager-count="5"
layout="total, prev, pager, next, sizes"
@size-change="handleSizeShelfChange"
@current-change="handleCurrentShelfPage"
/>
</div>
<!-- 传阅记录 -->
<div v-if="archivesTabIndex===1" class="item-content">
<div v-if="archivesTabIndex===2" class="item-content">
<el-table
:data="borrowTableData"
style="min-width: 100%;"
@ -190,7 +226,7 @@
/>
</div>
<!-- 操作记录 -->
<div v-if="archivesTabIndex==2" class="item-content">
<div v-if="archivesTabIndex==3" class="item-content">
<el-table class="archives-table" :data="handleTableData" style="min-width: 100%; " height="calc(100vh - 280px)">
<el-table-column prop="operateType" label="操作类型" min-width="60" align="center">
<template slot-scope="scope">
@ -321,6 +357,10 @@ export default {
pageType: {
type: String,
default: null
},
isShelfRecord: {
type: Boolean,
default: false
}
},
data() {
@ -336,6 +376,7 @@ export default {
currentArchivesId: null,
archivesFiledataLoading: false,
borrowerList: [],
onOffTableData: [],
page: {
page: 0,
size: 10,
@ -346,6 +387,11 @@ export default {
size: 10,
total: 0
},
pageShelf: {
page: 0,
size: 10,
total: 0
},
operateTypeMap: {
1: '归档',
2: '退回',
@ -428,10 +474,14 @@ export default {
if (index === 0) {
this.getDetial()
} else if (index === 1) {
this.pageShelf.size = 10
this.pageShelf.page = 0
this.getInitShelfOperate()
} else if (index === 2) {
this.pageBorrow.size = 10
this.pageBorrow.page = 0
this.getArchivesDetailsBorrowLog()
} else if (index === 2) {
} else if (index === 3) {
this.page.size = 10
this.page.page = 0
this.getInitOperate()
@ -441,7 +491,7 @@ export default {
return this.operateTypeMap[type] || '-'
},
getDetial() {
console.log('this.parentInfo', this.parentInfo)
// console.log('this.parentInfo', this.parentInfo)
// this.pageType = pageType
// this.currentArchives = this.parentInfo
// this.currentArchivesId = this.parentInfo.id
@ -470,14 +520,14 @@ export default {
Promise.all([
//
FetchArchivesDetails(commonParams).then(data => {
console.log('archivesDetailsData', data)
// console.log('archivesDetailsData', data)
if (data.code !== 500) {
this.archivesDetailsData = data
const hostDepartmentItem = this.archivesDetailsData.find(
item => item.fieldName === 'host_department'
)
console.log('hostDepartmentItem', hostDepartmentItem)
// console.log('hostDepartmentItem', hostDepartmentItem)
if (hostDepartmentItem) {
const hostParams = {
'search': hostDepartmentItem.context
@ -599,7 +649,7 @@ export default {
size: this.pageBorrow.size
}
FetchArchivesDetailsBorrowLog(params).then(data => {
console.log('data', data)
// console.log('data', data)
this.borrowTableData = data.content
this.pageBorrow.total = data.totalElements
}).catch(error => {
@ -627,7 +677,7 @@ export default {
size: this.page.size
}
FetchInitOperate(params).then(data => {
console.log('data', data)
// console.log('data', data)
this.handleTableData = data.list.content
this.page.total = data.list.totalElements
}).catch(error => {
@ -637,7 +687,7 @@ export default {
//
bindingTag(row) {
this.$set(this.bindLoading, row.id, true)
console.log('bindingTag', row)
// console.log('bindingTag', row)
if (row.tid && (row.tid !== '' || row.tid !== null)) {
this.$confirm('当前所选已绑定标签' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '重新绑定',
@ -867,7 +917,7 @@ export default {
console.log('singleSelectedDept', this.singleSelectedDept)
console.log('param', param)
FetchLend(param).then((res) => {
console.log('resLend', res)
// console.log('resLend', res)
if (res.code !== '-1') {
this.$message({ message: res.msg, type: 'success', offset: 8 })
} else {
@ -904,6 +954,9 @@ export default {
this.singleSelectedDept = null
}
},
getInitShelfOperate() {
console.log('上下架记录')
},
handleDeptsSizeChange(size) {
this.pageDepts.size = size
this.pageDepts.page = 0
@ -930,6 +983,15 @@ export default {
this.page.page = val - 1
this.getInitOperate()
},
handleSizeShelfChange(size) {
this.pageShelf.size = size
this.pageShelf.page = 0
this.getInitShelfOperate()
},
handleCurrentShelfPage(val) {
this.pageShelf.page = val - 1
this.getInitShelfOperate()
},
handleBorrowSizeChange(size) {
this.pageBorrow.size = size
this.pageBorrow.page = 0

2
src/views/archivesMIOD/miodLibrary/treeList.vue

@ -171,7 +171,7 @@ export default {
break
}
}
console.log('targetNode', targetNode)
// console.log('targetNode', targetNode)
//
if (!targetNode) {

376
src/views/archivesMIOD/onOffShelfRecord/index.vue

@ -0,0 +1,376 @@
<template>
<div class="app-container row-container">
<div class="head-container">
<div class="head-search">
<el-tooltip
class="item"
effect="dark"
content="可搜索收文号、题名、借阅者"
placement="top-start"
>
<el-input
v-model="typeValue"
size="small"
clearable
placeholder="请输入关键字搜索"
style="width: 280px;"
class="input-prepend filter-item"
@clear="crud.toQuery"
@keyup.enter.native="crud.toQuery"
@input="typeInput"
>
<el-select slot="prepend" v-model="inputSelect" style="width: 92px" @change="clearInputValue">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-input>
</el-tooltip>
<div style="display: flex; justify-content: flex-start; align-items: center;">
<p style="margin-right: 10px; font-size: 14px;">开始时间</p>
<date-range-picker v-model="blurryTimeStart" class="date-item" />
</div>
<div style="display: flex; justify-content: flex-start; align-items: center;">
<p style="margin-right: 10px; font-size: 14px;">结束时间</p>
<date-range-picker v-model="blurryTimeEnd" class="date-item" />
</div>
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery">搜索</el-button>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery()">重置</el-button>
</div>
<!-- <el-button :loading="crud.downloadLoading" :disabled="crud.page.total === 0" size="mini" @click="doExport()">
<i class="iconfont icon-daochu" />
导出
</el-button> -->
</div>
<div class="container-wrap">
<span class="right-top-line" />
<span class="left-bottom-line" />
<!-- @selection-change="crud.selectionChangeHandler" -->
<el-table
ref="table"
v-loading="crud.loading"
class="archives-table"
:data="crud.data"
style="width: 100%;"
height="calc(100vh - 290px)"
@cell-dblclick="tableDoubleClick"
>
<el-table-column prop="op_type" label="操作类型">
<template slot-scope="scope">
<div>
<span v-if="scope.row.op_type === 1">上架</span>
<span v-if="scope.row.op_type === 2">下架</span>
</div>
</template>
</el-table-column>
<el-table-column prop="op_position" label="操作位置" />
<el-table-column prop="op_no" label="公文登记号" show-overflow-tooltip />
<el-table-column prop="maintitle" label="公文题名" min-width="140" show-overflow-tooltip />
<el-table-column prop="details_type" label="文件类型" width="80">
<template slot-scope="scope">
<el-tag v-if="scope.row.details_type === 1">原件</el-tag>
<el-tag v-else>复印件</el-tag>
</template>
</el-table-column>
<el-table-column prop="start_time" label="操作时间" width="160">
<template slot-scope="scope">
<div>{{ scope.row.start_time | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<pagination v-if="crud.data.length !== 0" />
</div>
<MidoArchivesInfo ref="archivesInfo" :is-shelf-record="true" :is-mido-record="true" :parent-info="parentInfo" :page-type="pageType" />
</div>
</template>
<script>
import CRUD, { presenter, crud } from '@crud/crud'
import { FetchDocumentReturn } from '@/api/system/documentArchives'
import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker'
import MidoArchivesInfo from '@/views/archivesMIOD/miodLibrary/module/detail'
// import { parseTime } from '@/utils/index'
import { exportFile } from '@/utils/index'
import qs from 'qs'
import { mapGetters } from 'vuex'
export default {
name: 'OnOffShelfRecord',
components: { pagination, DateRangePicker, MidoArchivesInfo },
mixins: [presenter(), crud()],
cruds() {
return CRUD({
url: 'api/documentArchives/initBorrowLog',
title: '上下架记录',
optShow: {
add: false,
edit: false,
del: false,
download: false,
reset: false,
group: false
}
})
},
data() {
return {
typeValue: null,
options: [
{ value: null, label: '全部' },
{ value: 1, label: '上架' },
{ value: 2, label: '下架' }
],
inputSelect: '',
blurryTimeStart: null,
blurryTimeEnd: null,
lendDetail: false,
rowCurrent: null,
detailArcData: [],
categoryId: null,
parentInfo: null,
pageType: 'miodRecord',
returnBtnLoading: []
}
},
computed: {
...mapGetters([
'baseApi'
])
},
watch: {
},
created() {
// select -
this.inputSelect = this.options[0].value
},
mounted() {
},
methods: {
typeInput(e) {
this.typeInputkey = this.getDescByValue(
this.inputSelect,
this.options,
'value',
'value'
)
this.crud.query.readType = this.typeInputkey
this.crud.query.search = e
// this.crud.query[this.typeInputkey] = e
},
clearInputValue(val) {
console.log('val', val)
this.inputSelect = val
this.typeValue = ''
// ,typeInputkeyform
if (this.typeInputkey) {
delete this.crud.query[this.typeInputkey]
}
this.crud.query.readType = val
this.crud.query.search = this.typeValue
this.crud.toQuery()
},
getDescByValue(inputValue, data, inputKey = 'value', outputKey = 'value') {
let outputValue = ''
if (data && data.length > 0) {
for (let i = 0; i < data.length; i++) {
const item = data[i]
const itemValue = item[inputKey]
if (inputValue + '' === itemValue + '') {
outputValue = item[outputKey]
break
}
}
}
return outputValue
},
[CRUD.HOOK.beforeRefresh]() {
if (this.blurryTimeStart) {
this.crud.query.borrowStartTime = this.blurryTimeStart[0]
this.crud.query.borrowEndTime = this.blurryTimeStart[1]
} else {
this.crud.query.borrowStartTime = null
this.crud.query.borrowEndTime = null
}
if (this.blurryTimeEnd) {
this.crud.query.lastStartTime = this.blurryTimeEnd[0]
this.crud.query.lastEndTime = this.blurryTimeEnd[1]
} else {
this.crud.query.lastStartTime = null
this.crud.query.lastEndTime = null
}
},
[CRUD.HOOK.afterRefresh](crud) {
},
resetQuery() {
this.clearInputValue()
this.inputSelect = this.options[0].value
this.crud.query.readType = null
this.crud.query.search = null
this.blurryTimeStart = []
this.blurryTimeEnd = []
this.crud.query.borrowStartTime = null
this.crud.query.borrowEndTime = null
this.crud.query.lastStartTime = null
this.crud.query.lastEndTime = null
this.crud.toQuery()
},
tableDoubleClick(row) {
console.log('row', row)
this.parentInfo = row
this.$nextTick(() => {
this.$refs.archivesInfo.archivesInfoVisible = true
this.$refs.archivesInfo.archivesTabIndex = 0
this.$refs.archivesInfo.getDetial()
})
},
handleReturnFile(index, row) {
this.$set(this.returnBtnLoading, index, true)
console.log('row', row)
this.$confirm('确认是否归还当前所选文件,公文登记号:' + row.reg_no + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const param = {
'documentTid': row.reg_no
}
console.log('param', param)
FetchDocumentReturn(param).then((res) => {
console.log('resReturn', res)
if (res.code !== '-1') {
this.$message({ message: res.msg, type: 'success', offset: 8 })
} else {
this.$message({ message: res.msg, type: 'error', offset: 8 })
}
this.crud.toQuery()
this.$set(this.returnBtnLoading, index, false)
}).catch(error => {
console.error(error)
this.$set(this.returnBtnLoading, index, false)
})
}).catch(() => {
this.$set(this.returnBtnLoading, index, false)
})
},
handleCloseDialog(done) {
},
doExport() {
console.log('doExport', this.crud.page.total)
if (this.crud.page.total > 10000) {
this.handleExport('导出数据大于10000条,时间可能较长')
} else {
this.handleExport('此操作将导出所有数据')
}
},
handleExport(message) {
this.$confirm(message + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const params = {
'search': this.crud.query.search,
'readType': this.crud.query.readType,
'borrowStartTime': this.crud.query.borrowStartTime,
'borrowEndTime': this.crud.query.borrowEndTime,
'lastStartTime': this.crud.query.lastStartTime,
'lastEndTime': this.crud.query.lastEndTime
}
exportFile(this.baseApi + '/api/documentArchives/downloadBorrowLog?' + qs.stringify(params, { indices: false }))
}).catch(() => {
console.log('取消')
})
}
}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/styles/collect-reorganizi.scss";
.recordList-main{
height: calc(100vh - 236px);
.start-date,
.end-date{
display: flex;
justify-content: flex-start;
padding-left: 8px;
font-size: 14px;
line-height: 30px;
color: #0C0E1E;
span{
display: block;
margin-right: 8px;
}
}
.iconfont{
font-size: 14px;
}
.icon-fou{
color: #A6ADB6;
}
.icon-shi{
color: #12C37A;
}
.icon-dengdai{
color: #FF8329;
}
.icon-cuowu1{
color: #ED4A41;
}
.row-state{
width: 56px;
padding: 0;
text-align: center;
}
}
.user-record{
padding: 0 0 0 20px;
height: calc(100vh - 320px);
}
.title-style{
span{
display: inline-block;
width: 42px;
height: 22px;
line-height: 22px;
text-align: center;
font-size: 12px;
color: #0348F3;
background-color: #CAE1FF;
border-radius: 3px;
}
}
::v-deep .el-dialog{
width: 860px !important;
.el-form-item .el-form-item__content{
width: 280px;
}
.dialog-footer{
margin-top: 15px !important;
}
}
::v-deep .el-checkbox-group{
.el-checkbox{
margin-right: 10px !important;
}
}
::v-deep .el-pagination{
margin: 24px 0 10px 0 !important
}
::v-deep .input-prepend .el-input__inner{
padding-left: 100px;
}
.row-state{
font-style: normal;
padding: 0 8px;
}
</style>

84
src/views/archivesMIOD/‌filingCabinet/index.vue

@ -82,7 +82,7 @@
<i class="iconfont icon-bendiguajie" />
绑定
</el-button>
<el-button v-else class="unbind-btn" size="mini">
<el-button v-else :loading="unbindLoading" class="unbind-btn" size="mini" @click="unbindCell">
<i class="iconfont icon-jiebang" />
解绑
</el-button>
@ -111,9 +111,12 @@
<el-table-column prop="maintitle" label="公文题名" min-width="140" show-overflow-tooltip />
<el-table-column prop="doc_no" label="发文字号" width="120" />
<el-table-column prop="doc_department" label="所属文件" width="120" />
<el-table-column prop="actual_return_time" label="操作" align="center" width="120">
<el-table-column prop="actual_return_time" label="操作" align="center" width="110">
<template slot-scope="scope">
<el-button size="mini" style="padding: 5px;" :loading="removalLoaing[scope.$index]" @click="handleBatchDel(scope.$index, scope.row)">手动下架</el-button>
<el-button size="mini" style="padding: 5px;" :loading="removalLoaing[scope.$index]" @click="handleBatchDel(scope.$index, scope.row)">
<i class="iconfont icon-xiajia" />
手动下架
</el-button>
</template>
</el-table-column>
</el-table>
@ -147,7 +150,7 @@
<el-table-column prop="borrowNo" label="已绑定位置" />
<el-table-column prop="create_time" label="操作" width="80">
<template slot-scope="scope">
<el-button size="mini" style="padding: 5px;" @click="handleBindCell(scope.row)">绑定</el-button>
<el-button :loading="bindLoading[scope.$index]" size="mini" style="padding: 5px;" @click="handleBindCell(scope.$index, scope.row)">绑定</el-button>
</template>
</el-table-column>
</el-table>
@ -199,6 +202,7 @@ export default {
removalLoaing: [],
selectedCell: null,
selectedCellInfo: null,
unbindLoading: false,
cabinetColumns: [
[
{ id: '01', name: 'LD1', type: 'ld', fileCount: 5 },
@ -217,34 +221,34 @@ export default {
{ id: '11', name: '', type: 'department', bound: true, borrowName: '规划处', fileCount: 0 },
{ id: '12', name: '', type: 'department', bound: true, borrowName: '建设管理处', fileCount: 9 },
{ id: '13', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '14', name: '', type: 'department', bound: true, borrowName: '客运处', fileCount: 7 },
{ id: '15', name: '', type: 'department', bound: true, borrowName: '货运处', fileCount: 11 },
{ id: '14', name: '', type: 'department', bound: true, borrowName: '客运处', fileCount: 0 },
{ id: '15', name: '', type: 'department', bound: true, borrowName: '货运处', fileCount: 0 },
{ id: '16', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '17', name: '', type: 'department', bound: true, borrowName: '办公室', fileCount: 14 },
{ id: '17', name: '', type: 'department', bound: true, borrowName: '办公室', fileCount: 0 },
{ id: '02-1', name: '', type: 'big' }
],
[
{ id: '18', name: '', type: 'department', bound: true, borrowName: '港航处', fileCount: 5 },
{ id: '18', name: '', type: 'department', bound: true, borrowName: '港航处', fileCount: 0 },
{ id: '19', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '20', name: '', type: 'department', bound: true, borrowName: '安全应急处', fileCount: 10 },
{ id: '21', name: '', type: 'department', bound: true, borrowName: '物流处', fileCount: 6 },
{ id: '21', name: '', type: 'department', bound: true, borrowName: '物流处', fileCount: 0 },
{ id: '22', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '23', name: '', type: 'department', bound: true, borrowName: '公共交通处', fileCount: 13 },
{ id: '23', name: '', type: 'department', bound: true, borrowName: '公共交通处', fileCount: 0 },
{ id: '24', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '25', name: '', type: 'department', bound: true, borrowName: '机关党委', fileCount: 7 },
{ id: '26', name: '', type: 'department', bound: true, borrowName: '办公室', fileCount: 9 },
{ id: '26', name: '', type: 'department', bound: true, borrowName: '办公室', fileCount: 0 },
{ id: '27', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '03-1', name: '', type: 'big' }
],
[
{ id: '28', name: '', type: 'department', bound: true, borrowName: '综合执法支队', fileCount: 16 },
{ id: '29', name: '', type: 'department', bound: true, borrowName: '公路中心', fileCount: 12 },
{ id: '28', name: '', type: 'department', bound: true, borrowName: '综合执法支队', fileCount: 0 },
{ id: '29', name: '', type: 'department', bound: true, borrowName: '公路中心', fileCount: 0 },
{ id: '30', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '31', name: '', type: 'department', bound: true, borrowName: '货运中心', fileCount: 5 },
{ id: '32', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '33', name: '', type: 'department', bound: true, borrowName: '客运中心', fileCount: 11 },
{ id: '33', name: '', type: 'department', bound: true, borrowName: '客运中心', fileCount: 0 },
{ id: '34', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '35', name: '', type: 'department', bound: true, borrowName: '信息中心', fileCount: 9 },
{ id: '35', name: '', type: 'department', bound: true, borrowName: '信息中心', fileCount: 0 },
{ id: '36', name: '', type: 'department', bound: false, borrowName: '', fileCount: 0 },
{ id: '37', name: '', type: 'department', bound: true, borrowName: '财务中心', fileCount: 7 },
{ id: '04-1', name: '', type: 'big' }
@ -260,7 +264,8 @@ export default {
},
query: {
search: ''
}
},
bindLoading: []
}
},
computed: {
@ -286,8 +291,53 @@ export default {
},
[CRUD.HOOK.afterRefresh](crud) {
},
handleBindCell(item) {
handleBindCell(index, item) {
console.log('item', item)
this.$set(this.bindLoading, index, true)
this.$confirm('此操作将绑定当前借阅者' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
// FetchDelAssistEnter(params).then((res) => {
// if (res.code !== 500) {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.crud.refresh()
// } else {
// this.$message({ message: '', type: 'error', offset: 8 })
// }
// }).catch(err => {
// console.log(err)
// })
this.$set(this.bindLoading, index, false)
}).catch(() => {
this.$set(this.bindLoading, index, false)
})
},
unbindCell(cell) {
console.log('cell', cell)
this.unbindLoading = true
this.$confirm('此操作将解绑当前绑定的目标' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
// FetchDelAssistEnter(params).then((res) => {
// if (res.code !== 500) {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.crud.refresh()
// } else {
// this.$message({ message: '', type: 'error', offset: 8 })
// }
// }).catch(err => {
// console.log(err)
// })
this.unbindLoading = false
}).catch(() => {
this.unbindLoading = false
})
},
tableDoubleClick(row) {
console.log('row', row)

2
src/views/archivesManage/managementLibrary/module/collectHeader.vue

@ -521,7 +521,7 @@ export default {
}
},
handleSelect(key, keyPath) {
console.log(key, keyPath)
// console.log(key, keyPath)
},
// -form/-api
handleForm(type) {

Loading…
Cancel
Save