z_yu 3 years ago
parent
commit
6d84195144
  1. 1
      README.md
  2. 68
      src/api/archivesManage/lendManage.js
  3. 18
      src/assets/iconfonts/iconfont.css
  4. 2
      src/assets/iconfonts/iconfont.js
  5. 21
      src/assets/iconfonts/iconfont.json
  6. BIN
      src/assets/iconfonts/iconfont.ttf
  7. BIN
      src/assets/iconfonts/iconfont.woff
  8. BIN
      src/assets/iconfonts/iconfont.woff2
  9. 1
      src/assets/styles/lend-manage.scss
  10. 30
      src/views/archivesManage/archivesList/archivesAnjuan/index.vue
  11. 23
      src/views/archivesManage/lendManage/components/lendArchivesList.vue
  12. 6
      src/views/archivesManage/lendManage/index.vue
  13. 5
      src/views/archivesManage/lendManage/lendConfirm/index.vue
  14. 27
      src/views/archivesManage/lendManage/mixins/lending.js
  15. 37
      src/views/archivesManage/lendManage/toLend/index.vue
  16. 71
      src/views/system/archiveStatistics/index.vue
  17. 231
      src/views/system/archiveStatistics/module/barEcharts.vue
  18. 23
      src/views/system/logManage/warnLog/index.vue
  19. 28
      src/views/system/messageCenter/data1.json
  20. 24
      src/views/system/messageCenter/index.vue
  21. 36
      src/views/system/notifyManage/index.vue

1
README.md

@ -33,6 +33,7 @@
│ │ ├── archivesConfig # 档案配置 │ │ ├── archivesConfig # 档案配置
│ │ ├── archivesManage # 档案管理 │ │ ├── archivesManage # 档案管理
│ │ ├── category # 门类管理 │ │ ├── category # 门类管理
│ │ ├── environmentalScreen # 环境监测大屏
│ │ ├── components # views内页面组件 │ │ ├── components # views内页面组件
│ │ │ ├── field # 字段管理组件 │ │ │ ├── field # 字段管理组件
│ │ │ ├── category # 门类管理 │ │ │ ├── category # 门类管理

68
src/api/archivesManage/lendManage.js

@ -0,0 +1,68 @@
import request from '@/utils/request'
// import qs from 'qs'
// 判断档案是否可以借阅
export function FetchIsExistBorrow(parameter) {
return request({
url: 'api/borrow/isExistBorrow',
method: 'post',
data: parameter
})
}
// 添加档案到待借阅列表
export function FetchAddArchivesWaitRegister(parameter) {
return request({
url: 'api/borrow/addArchivesWaitRegister',
method: 'post',
data: parameter
})
}
// 待登记列表
export function FetchInitWaitRegisterList(parameter) {
return request({
url: 'api/borrow/initWaitRegisterList',
method: 'get',
params: parameter
})
}
// 登记借出
export function FetchRegisterBorrow(parameter) {
return request({
url: 'api/borrow/registerBorrow',
method: 'post',
data: parameter
})
}
// 移出待登记档案
export function FetchDelWaitBorrow(parameter) {
return request({
url: 'api/borrow/delWaitBorrow',
method: 'post',
data: parameter
})
}
// 根据单据查看详情
export function FetchInitBillDetails(parameter) {
return request({
url: 'api/borrow/initBillDetailsByOrderNo',
method: 'get',
params: parameter
})
}
// 借出确认列表
export function FetchInitWaitBorrowList(parameter) {
return request({
url: 'api/borrow/initWaitBorrowList',
method: 'get',
params: parameter
})
}
export default { }

18
src/assets/iconfonts/iconfont.css

@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 3409379 */ font-family: "iconfont"; /* Project id 3409379 */
src: url('iconfont.woff2?t=1658129042026') format('woff2'),
url('iconfont.woff?t=1658129042026') format('woff'),
url('iconfont.ttf?t=1658129042026') format('truetype');
src: url('iconfont.woff2?t=1658455952870') format('woff2'),
url('iconfont.woff?t=1658455952870') format('woff'),
url('iconfont.ttf?t=1658455952870') format('truetype');
} }
.iconfont { .iconfont {
@ -13,6 +13,18 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-fabu-fanbai:before {
content: "\e644";
}
.icon-biaojiyidu-fanbai:before {
content: "\e645";
}
.icon-shoudongchuli-fanbai:before {
content: "\e646";
}
.icon-zhenglishi:before { .icon-zhenglishi:before {
content: "\e63c"; content: "\e63c";
} }

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

21
src/assets/iconfonts/iconfont.json

@ -5,6 +5,27 @@
"css_prefix_text": "icon-", "css_prefix_text": "icon-",
"description": "", "description": "",
"glyphs": [ "glyphs": [
{
"icon_id": "30765497",
"name": "发布-反白",
"font_class": "fabu-fanbai",
"unicode": "e644",
"unicode_decimal": 58948
},
{
"icon_id": "30765498",
"name": "标记已读-反白",
"font_class": "biaojiyidu-fanbai",
"unicode": "e645",
"unicode_decimal": 58949
},
{
"icon_id": "30765499",
"name": "手动处理-反白",
"font_class": "shoudongchuli-fanbai",
"unicode": "e646",
"unicode_decimal": 58950
},
{ {
"icon_id": "30660167", "icon_id": "30660167",
"name": "整理室", "name": "整理室",

BIN
src/assets/iconfonts/iconfont.ttf

BIN
src/assets/iconfonts/iconfont.woff

BIN
src/assets/iconfonts/iconfont.woff2

1
src/assets/styles/lend-manage.scss

@ -62,7 +62,6 @@
border: 1px solid #1AAE93; border: 1px solid #1AAE93;
} }
.clear { .clear {
border-radius: 13px; border-radius: 13px;
width: 80px; width: 80px;

30
src/views/archivesManage/archivesList/archivesAnjuan/index.vue

@ -45,7 +45,7 @@
<el-button v-if="selectedCategory.isType === 3 || selectedCategory.isType === 2" class="part-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="handlePacking(selections,1)"><svg-icon icon-class="partzhuanghe" class="svg-arc-style" />分卷装盒</el-button> <el-button v-if="selectedCategory.isType === 3 || selectedCategory.isType === 2" class="part-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="handlePacking(selections,1)"><svg-icon icon-class="partzhuanghe" class="svg-arc-style" />分卷装盒</el-button>
<!-- <el-button class="warehousing-btn iconfont" type="primary">入库</el-button> --> <!-- <el-button class="warehousing-btn iconfont" type="primary">入库</el-button> -->
<!-- 借阅btn 多选 --> <!-- 借阅btn 多选 -->
<el-button class="lending-btn iconfont" :disabled="selections.length === 0" type="primary" @click="lengingVisible=true"><svg-icon icon-class="jieyue" class="svg-arc-style" />借阅</el-button>
<el-button class="lending-btn iconfont" :disabled="selections.length === 0" type="primary" @click="handleLending"><svg-icon icon-class="jieyue" class="svg-arc-style" />借阅</el-button>
<!-- 绑定标签btn 单选 --> <!-- 绑定标签btn 单选 -->
<el-button class="binding-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="bindingTag(crud.selections)"><svg-icon icon-class="bindbiaoqian" class="svg-arc-style" />绑定标签</el-button> <el-button class="binding-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="bindingTag(crud.selections)"><svg-icon icon-class="bindbiaoqian" class="svg-arc-style" />绑定标签</el-button>
</div> </div>
@ -168,7 +168,7 @@
<p><span>确定将当前档案加入借阅列表</span></p> <p><span>确定将当前档案加入借阅列表</span></p>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click.native="lengingVisible=false">确定</el-button>
<el-button type="primary" @click.native="handleLendingConfirm">确定</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -179,6 +179,7 @@
import { header, form } from '@crud/crud' import { header, form } from '@crud/crud'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { archivesCrud } from '../mixins/archives' import { archivesCrud } from '../mixins/archives'
import { FetchIsExistBorrow, FetchAddArchivesWaitRegister } from '@/api/archivesManage/lendManage'
import PreviewForm from '@/views/components/category/PreviewForm' import PreviewForm from '@/views/components/category/PreviewForm'
import ArchivesInfo from '../module/archivesInfo/index' import ArchivesInfo from '../module/archivesInfo/index'
import Packing from '../module/packing/index' import Packing from '../module/packing/index'
@ -364,6 +365,31 @@ export default {
this.$refs.packing.archivesTable = JSON.parse(JSON.stringify(this.recycleMain.$refs.file.junneiData)) this.$refs.packing.archivesTable = JSON.parse(JSON.stringify(this.recycleMain.$refs.file.junneiData))
} }
this.getTotalSumAll() this.getTotalSumAll()
},
//
handleLending() {
const params = this.selections.map(item => {
return item.id
})
FetchIsExistBorrow(params).then(data => {
if (data.length === 0) {
this.lengingVisible = true
} else {
this.$message.error('部分档案不可借阅')
}
})
},
//
handleLendingConfirm() {
const params = this.selections.map(item => {
return item.id
})
FetchAddArchivesWaitRegister(params).then(data => {
if (data.length !== 0) {
this.$message.success('借阅成功')
this.lengingVisible = false
}
})
} }
} }
} }

23
src/views/archivesManage/lendManage/lendConfirm/module/lendArchivesList.vue → src/views/archivesManage/lendManage/components/lendArchivesList.vue

@ -1,5 +1,7 @@
<template> <template>
<div>
<div class="container-wrap">
<span class="right-top-line" />
<span class="left-bottom-line" />
<!--表格渲染--> <!--表格渲染-->
<!-- height="calc(100vh - 355px)" --> <!-- height="calc(100vh - 355px)" -->
<el-table <el-table
@ -11,15 +13,11 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column type="index" label="序号" align="center" width="55" /> <el-table-column type="index" label="序号" align="center" width="55" />
<el-table-column prop="docNum" align="center" label="单据号" min-width="85" />
<el-table-column prop="archiveNum" align="center" label="数量" min-width="50" />
<el-table-column prop="borrowerName" align="center" label="借阅人" min-width="60" />
<el-table-column prop="borrowerDepartment" align="center" label="所属部门" min-width="85" />
<el-table-column prop="borrowerIdType" align="center" label="证件类型" min-width="85" />
<el-table-column prop="borrowerIdNum" align="center" label="证件号码" min-width="120" />
<el-table-column prop="borrowerTel" align="center" label="电话号码" min-width="85" />
<el-table-column prop="borrowDays" align="center" label="借阅时间" min-width="150" />
<el-table-column prop="borrowGoal" align="center" label="借阅目的" min-width="70" />
<el-table-column prop="docNum" align="center" label="门类名称" min-width="85" />
<el-table-column prop="archiveNum" align="center" label="档号" min-width="85" />
<el-table-column prop="borrowerName" align="center" label="题名" min-width="60" />
<el-table-column prop="borrowerDepartment" align="center" label="盒名称" min-width="85" />
<el-table-column prop="borrowerIdType" align="center" label="存放位置" min-width="100" />
<el-table-column prop="noLendStatus" align="center" label="借阅状态" min-width="70"> <el-table-column prop="noLendStatus" align="center" label="借阅状态" min-width="70">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 待借阅 --> <!-- 待借阅 -->
@ -36,7 +34,6 @@
<script> <script>
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import CRUD, { presenter } from '@crud/crud' import CRUD, { presenter } from '@crud/crud'
// import crudOperation from '@crud/CRUD.operation'
export default { export default {
components: { pagination }, components: { pagination },
mixins: [presenter()], mixins: [presenter()],
@ -75,4 +72,8 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import '~@/assets/styles/lend-manage.scss'; @import '~@/assets/styles/lend-manage.scss';
.container-wrap{
min-height: auto;
margin-top: 20px;
}
</style> </style>

6
src/views/archivesManage/lendManage/index.vue

@ -17,6 +17,8 @@
</ul> </ul>
<component :is="comName" @callBack="callBack" /> <component :is="comName" @callBack="callBack" />
</div> </div>
<!-- 借阅档案list -->
<lendArchivesList v-if="activeIndex === 1" />
</div> </div>
</template> </template>
@ -27,6 +29,7 @@ import returnArchives from './returnArchives/index.vue'
import lendQuery from './lendQuery/index.vue' import lendQuery from './lendQuery/index.vue'
import borrowerManage from './borrowerManage/index.vue' import borrowerManage from './borrowerManage/index.vue'
import lendProcess from './lendProcess/index.vue' import lendProcess from './lendProcess/index.vue'
import lendArchivesList from './components/lendArchivesList'
export default { export default {
name: 'BorrowManage', name: 'BorrowManage',
@ -36,7 +39,8 @@ export default {
returnArchives, returnArchives,
lendQuery, lendQuery,
borrowerManage, borrowerManage,
lendProcess
lendProcess,
lendArchivesList
}, },
data() { data() {
return { return {

5
src/views/archivesManage/lendManage/lendConfirm/index.vue

@ -1,5 +1,5 @@
<template> <template>
<div>
<div class="lendConfirm-box">
<div class="head-container"> <div class="head-container">
<el-button size="mini" class="iconfont icon-jiechu-fanbai" :disabled="!selections.length" @click="handleLendBtn">借出</el-button> <el-button size="mini" class="iconfont icon-jiechu-fanbai" :disabled="!selections.length" @click="handleLendBtn">借出</el-button>
<el-button size="mini" class="iconfont icon-dengji-fanbai" :disabled="!selections.length" @click="handelReRecord">重新登记</el-button> <el-button size="mini" class="iconfont icon-dengji-fanbai" :disabled="!selections.length" @click="handelReRecord">重新登记</el-button>
@ -37,8 +37,6 @@
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<pagination /> <pagination />
<!-- 借阅档案list -->
<!-- <lendArchivesList /> -->
<!--借出弹框--> <!--借出弹框-->
<lendDialog ref="lendDialogDom" /> <lendDialog ref="lendDialogDom" />
<!-- 移出确认弹框 --> <!-- 移出确认弹框 -->
@ -55,7 +53,6 @@ import CRUD, { presenter } from '@crud/crud'
import delConfirm from '../components/delConfirm' import delConfirm from '../components/delConfirm'
import archiveDetail from '../components/archiveDetail' import archiveDetail from '../components/archiveDetail'
import lendDialog from './module/lendDialog' import lendDialog from './module/lendDialog'
// import lendArchivesList from './module/lendArchivesList'
import data1 from '../data1.json' import data1 from '../data1.json'
export default { export default {
components: { pagination, archiveDetail, delConfirm, lendDialog }, components: { pagination, archiveDetail, delConfirm, lendDialog },

27
src/views/archivesManage/lendManage/mixins/lending.js

@ -0,0 +1,27 @@
export const lendingCrud = {
filters: {
borrowStatus(val) {
switch (val) {
case 1:
return '待登记'
case 2:
return '待借阅'
case 3:
return '待归还'
case 4:
return '已归还'
}
}
},
// 组件共用属性
data() {
return {
}
},
// 组件共用方法
methods: {
},
// 组件挂载时的共用方法
mounted() {
}
}

37
src/views/archivesManage/lendManage/toLend/index.vue

@ -9,7 +9,7 @@
ref="table" ref="table"
style="min-width: 100%" style="min-width: 100%"
height="calc(100vh - 355px)" height="calc(100vh - 355px)"
:data="tableData"
:data="crud.data"
@selection-change="selectionChangeHandler" @selection-change="selectionChangeHandler"
@row-click="clickRowHandler" @row-click="clickRowHandler"
@row-dblclick="handleDbClick" @row-dblclick="handleDbClick"
@ -17,14 +17,14 @@
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column type="index" label="序号" align="center" width="55" /> <el-table-column type="index" label="序号" align="center" width="55" />
<el-table-column prop="categoryName" label="门类名称" align="center" min-width="85" /> <el-table-column prop="categoryName" label="门类名称" align="center" min-width="85" />
<el-table-column prop="archivesID" label="档号" align="center" min-width="120" />
<el-table-column prop="titleName" align="center" label="题名" min-width="120" />
<el-table-column prop="fieldName" align="center" label="盒名称" min-width="85" />
<el-table-column prop="storagePath" align="center" label="存放位置" min-width="120" />
<el-table-column prop="archiveNo" label="档号" align="center" min-width="120" />
<el-table-column prop="maintitle" align="center" label="题名" min-width="120" />
<el-table-column prop="caseName" align="center" label="盒名称" min-width="85" />
<el-table-column prop="folderLocationDetails" align="center" label="存放位置" min-width="120" />
<el-table-column prop="lendStatus" align="center" label="借阅状态" min-width="60"> <el-table-column prop="lendStatus" align="center" label="借阅状态" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 待登记 -->
<span class="cell-lend no-lend" style="width:80px">{{ scope.row.lendStatus }}</span>
<span class="cell-lend no-lend" style="width:80px">{{ scope.row.borrowType | borrowStatus }}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="operationTime" align="center" label="操作时间" min-width="85" /> <el-table-column prop="operationTime" align="center" label="操作时间" min-width="85" />
@ -41,23 +41,20 @@
</template> </template>
<script> <script>
// import crudUser from '@/api/system/user'
import pagination from '@crud/Pagination'
// import crudOperation from '@crud/CRUD.operation'
import CRUD, { presenter, crud } from '@crud/crud' import CRUD, { presenter, crud } from '@crud/crud'
import { lendingCrud } from '../mixins/lending'
import pagination from '@crud/Pagination'
import delConfirm from '../components/delConfirm.vue' import delConfirm from '../components/delConfirm.vue'
import archiveDetail from './module/archiveDetail.vue' import archiveDetail from './module/archiveDetail.vue'
import lendRecord from './module/lendRecord.vue' import lendRecord from './module/lendRecord.vue'
import data2 from '../data2.json'
export default { export default {
components: { pagination, delConfirm, archiveDetail, lendRecord }, components: { pagination, delConfirm, archiveDetail, lendRecord },
mixins: [presenter(), crud()],
mixins: [presenter(), crud(), lendingCrud],
cruds() { cruds() {
return CRUD({ return CRUD({
url: 'api/case/initCaseList',
// crudMethod: caseCrudMethod,
title: '档案盒',
url: 'api/borrow/initWaitRegisterList',
title: '待借档案',
optShow: { optShow: {
add: false, add: false,
edit: false, edit: false,
@ -69,19 +66,13 @@ export default {
}, },
data() { data() {
return { return {
tableData: [],
selections: [], //
selections: [],
listName: '待借列表' listName: '待借列表'
} }
}, },
created() { created() {
this.getData()
}, },
methods: { methods: {
//
getData() {
this.tableData = data2.rows
},
handleRecord() { handleRecord() {
this.$refs.lendRecordDom.recordFormVisible = true this.$refs.lendRecordDom.recordFormVisible = true
}, },

71
src/views/system/archiveStatistics/index.vue

@ -0,0 +1,71 @@
<template>
<div class="app-container">
<div>
<el-row :gutter="20" style="height:296px;">
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<radar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<!-- 档案类别 -->
<!-- <div class="container-wrap"> -->
<div class="top-row container-wrap">
<span class="right-top-line" />
<span class="left-bottom-line" />
<h3 class="table-title">
<p class="title-arrow">档案类别</p>
</h3>
<div class="chart-wrapper">
<pie-chart :width="'100%'" :height="'100%'" />
</div>
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
</el-row>
<!-- 中间 -->
<el-row :gutter="20" style="height:296px;margin:20px 0">
<el-col :xs="24" :sm="24" :lg="12">
<div class="container-wrap">
<BarEcharts />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="12">
<!-- 档案类别 -->
<!-- <div class="container-wrap"> -->
<div class=" container-wrap" />
</el-col>
</el-row>
<!-- 底部 -->
<el-row :gutter="20" style="height:296px;margin:20px 0">
<el-col :xs="24" :sm="24" :lg="25">
<div class=" container-wrap" />
</el-col>
</el-row>
</div>
</div>
</template>
<script>
import RadarChart from '@/components/Echarts/RadarChart'
import PieChart from '@/components/Echarts/PieChart'
import BarEcharts from './module/barEcharts.vue'
export default {
components: { RadarChart, PieChart, BarEcharts }
}
</script>
<style lang="scss" scoped>
@import '~@/assets/styles/lend-manage.scss';
.container-wrap{
min-height:calc(100vh - 636px) ;
}
</style>

231
src/views/system/archiveStatistics/module/barEcharts.vue

@ -0,0 +1,231 @@
<template>
<div class="barEcharts">
<div id="main" />
</div>
</template>
<script>
import echarts from 'echarts'
export default {
name: 'BarEcharts',
mounted() {
this.drawChart()
},
methods: {
drawChart() {
const app = {}
const chartDom = document.getElementById('main')
const myChart = echarts.init(chartDom)
let option = null
const posList = [
'left',
'right',
'top',
'bottom',
'inside',
'insideTop',
'insideLeft',
'insideRight',
'insideBottom',
'insideTopLeft',
'insideTopRight',
'insideBottomLeft',
'insideBottomRight'
]
app.configParameters = {
rotate: {
min: -90,
max: 90
},
align: {
options: {
left: 'left',
center: 'center',
right: 'right'
}
},
verticalAlign: {
options: {
top: 'top',
middle: 'middle',
bottom: 'bottom'
}
},
position: {
options: posList.reduce(function(map, pos) {
map[pos] = pos
return map
}, {})
},
distance: {
min: 0,
max: 100
}
}
app.config = {
rotate: 90,
align: 'left',
verticalAlign: 'middle',
position: 'insideBottom',
distance: 15,
onChange: function() {
const labelOption = {
rotate: app.config.rotate,
align: app.config.align,
verticalAlign: app.config.verticalAlign,
position: app.config.position,
distance: app.config.distance
}
myChart.setOption({
series: [
{
label: labelOption
},
{
label: labelOption
}
]
})
}
}
const labelOption = {
show: false,
position: app.config.position,
distance: app.config.distance,
align: app.config.align,
verticalAlign: app.config.verticalAlign,
rotate: app.config.rotate,
formatter: '{c} {name|{a}}',
fontSize: 16,
rich: {
name: {}
}
}
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: ['Forest', 'Steppe']
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar', 'stack'] },
restore: { show: true },
saveAsImage: { show: true }
}
},
xAxis: [{
type: 'category',
axisTick: { show: false },
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
axisLine: {// 线
lineStyle: {
color: '#113D72',
type: 'solid'
}
},
axisLabel: {// x
show: true,
textStyle: {
color: '#fff'
}
},
splitLine: {// 线
lineStyle: {
color: '#113D72',
type: 'dashed'
}
}
}],
yAxis: [{
min: 0,
max: 900,
splitNumber: 3,
type: 'value',
axisLine: {// 线
show: false
},
axisLabel: {//
show: true,
textStyle: {
color: '#fff'
}
},
splitLine: {// 线
lineStyle: {
color: '#113D72',
type: 'dashed'
}
}
}],
series: [
{
name: '出库',
type: 'bar',
barWidth: 10, //
barGap: '30%',
label: labelOption,
emphasis: {
focus: 'series'
},
data: [320, 332, 301, 334, 390],
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: '#6E48E6'
},
{
offset: 1,
color: '#3AA6FA '
}
])
},
{
name: '入库',
type: 'bar',
barWidth: 10, //
label: labelOption,
emphasis: {
focus: 'series'
},
data: [220, 182, 191, 234, 290],
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: '#9DDD92'
},
{
offset: 1,
color: '#10BFAA'
}
])
}
]
}
option && myChart.setOption(option)
}
}
}
</script>
<style lang="scss" scoped>
#main {
width: 765px;
height:297px;
}
</style>

23
src/views/system/logManage/warnLog/index.vue

@ -135,20 +135,15 @@ export default {
this.handleVisible = true this.handleVisible = true
}, },
handleConfirm() { handleConfirm() {
// this.$refs.formDom.validate((valid) => {
// if (valid) {
// this.$message({
// message: '',
// type: 'success'
// })
// this.handleVisible = false
// // this.$refs.recordFormDom.resetFields()
// // this.$refs.recordFormDom.clearValidate()
// } else {
// this.$message.error('')
// return false
// }
// })
this.$refs.formDom.validate((valid) => {
if (valid) {
this.handleVisible = false
this.$refs.formDom.resetFields()
this.$refs.formDom.clearValidate()
} else {
return false
}
})
} }
} }
} }

28
src/views/system/messageCenter/data1.json

@ -0,0 +1,28 @@
{
"rows":[
{
"notification":"内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容",
"msgType":"系统通知",
"pushObj":"全部用户",
"sendRole":"管理员",
"sendTime":"",
"readType":"未读"
},
{
"notification":"内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容",
"msgType":"系统通知",
"pushObj":"全部用户",
"sendRole":"管理员",
"sendTime":"",
"readType":"已读"
},
{
"notification":"内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容",
"msgType":"系统通知",
"pushObj":"全部用户",
"sendRole":"管理员",
"sendTime":"",
"readType":"已读"
}
]
}

24
src/views/system/messageCenter/index.vue

@ -1,9 +1,9 @@
<template> <template>
<div> <div>
<div class="head-container"> <div class="head-container">
<el-button icon="el-icon-delete" size="mini">删除</el-button>
<el-button icon="el-icon-delete" size="mini">标记已读</el-button>
<el-button icon="el-icon-delete" size="mini">全部标记已读</el-button>
<el-button icon="el-icon-delete" :disabled="!(selections.length)" size="mini">删除</el-button>
<el-button class="iconfont icon-biaojiyidu-fanbai" :disabled="!(selections.length)" size="mini">标记已读</el-button>
<el-button class="iconfont icon-biaojiyidu-fanbai" size="mini">全部标记已读</el-button>
<date-range-picker v-model="query.createTime" class="date-item" /> <date-range-picker v-model="query.createTime" class="date-item" />
</div> </div>
<div class="app-container container-wrap"> <div class="app-container container-wrap">
@ -34,21 +34,33 @@
<script> <script>
import DateRangePicker from '@/components/DateRangePicker' import DateRangePicker from '@/components/DateRangePicker'
import data1 from './data1.json'
export default { export default {
name: 'MessageCenter', name: 'MessageCenter',
components: { DateRangePicker }, components: { DateRangePicker },
data() { data() {
return { return {
tableData: [],
selections: [],
query: { query: {
createTime: null createTime: null
},
tableData: []
}
} }
}, },
created() { created() {
this.getData()
}, },
methods: { methods: {
getData() {
this.tableData = data1.rows
},
clickRowHandler(row) {
// this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row) //
},
selectionChangeHandler(val) {
this.selections = val
}
} }
} }
</script> </script>

36
src/views/system/notifyManage/index.vue

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div class="head-container"> <div class="head-container">
<el-button icon="el-icon-s-promotion" size="mini" @click="handleSend">发布</el-button>
<el-button class="iconfont icon-fabu-fanbai" size="mini" @click="handleSend">发布</el-button>
<el-button icon="el-icon-edit" size="mini" :disabled="!(selections.length === 1)" @click="handleEdit">修改</el-button> <el-button icon="el-icon-edit" size="mini" :disabled="!(selections.length === 1)" @click="handleEdit">修改</el-button>
<el-button icon="el-icon-delete" size="mini" :disabled="!selections.length" @click="handleDel">删除</el-button> <el-button icon="el-icon-delete" size="mini" :disabled="!selections.length" @click="handleDel">删除</el-button>
</div> </div>
@ -38,7 +38,7 @@
<span class="dialog-right-top" /> <span class="dialog-right-top" />
<span class="dialog-left-bottom" /> <span class="dialog-left-bottom" />
<div class="setting-dialog"> <div class="setting-dialog">
<el-form ref="formDom" :model="sendForm" size="small" label-width="80px" style="margin-left:85px">
<el-form ref="formDom" :rules="rules" :model="sendForm" size="small" label-width="80px" style="margin-left:85px">
<el-form-item label="消息类型" prop="msgType" class="down-select"> <el-form-item label="消息类型" prop="msgType" class="down-select">
<el-select v-model="sendForm.msgType" placeholder="请选择" style="width:315px"> <el-select v-model="sendForm.msgType" placeholder="请选择" style="width:315px">
<el-option <el-option
@ -78,7 +78,7 @@
<div class="setting-dialog"> <div class="setting-dialog">
<p class="delMsg">确定删除所选消息吗</p> <p class="delMsg">确定删除所选消息吗</p>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSave">确定</el-button>
<el-button type="primary" @click="handleDelConfirm">确定</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -126,7 +126,18 @@ export default {
{ value: '3', label: '设备3' } { value: '3', label: '设备3' }
], ],
selectOptions: [], selectOptions: [],
showTags: false
showTags: false,
rules: {
msgType: [
{ required: true, message: '请选择类型', trigger: 'blur' }
],
notification: [
{ required: true, message: '请填写内容', trigger: 'blur' }
],
pushObj: [
{ required: true, message: '请选择推送对象', trigger: 'blur' }
]
}
} }
}, },
computed: { computed: {
@ -162,7 +173,15 @@ export default {
}, },
// //
handleSave() { handleSave() {
this.sendVisible = false
this.$refs.formDom.validate((valid) => {
if (valid) {
this.sendVisible = false
this.$refs.formDom.resetFields()
this.$refs.formDom.clearValidate()
} else {
return false
}
})
}, },
handleClose() { handleClose() {
this.$refs.formDom.resetFields() this.$refs.formDom.resetFields()
@ -172,6 +191,10 @@ export default {
handleDel() { handleDel() {
this.delVisible = true this.delVisible = true
}, },
//
handleDelConfirm() {
this.delVisible = false
},
// //
handelChange(val) { handelChange(val) {
if (val.length === this.sendObjOptions.length) { if (val.length === this.sendObjOptions.length) {
@ -281,4 +304,7 @@ textarea{
color: #fff; color: #fff;
font-size: 16px; font-size: 16px;
} }
::v-deep .el-form-item__error{
top: 93%;
}
</style> </style>
Loading…
Cancel
Save