Browse Source

档案门类管理

master
xuhuajiao 2 years ago
parent
commit
225ddb6006
  1. 16
      src/assets/styles/archives-manage.scss
  2. 14
      src/assets/styles/mixin.scss
  3. 68
      src/assets/styles/yxk-admin.scss
  4. 28
      src/views/components/category/SettingForm.vue
  5. 16
      src/views/system/archivesCategory/archiveSealSetting/index.vue
  6. 21
      src/views/system/archivesCategory/descriptionPreview/index.vue
  7. 31
      src/views/system/archivesCategory/fieldManage/index.vue
  8. 9
      src/views/system/archivesCategory/fieldManage/module/form.vue
  9. 56
      src/views/system/archivesCategory/fieldManage/module/quickSetting.vue
  10. 44
      src/views/system/archivesCategory/fileNoFormat/index.vue
  11. 39
      src/views/system/archivesCategory/fileNoFormat/module/form.vue
  12. 15
      src/views/system/archivesCategory/fileNoFormat/module/sortDialog.vue
  13. 4
      src/views/system/archivesCategory/index.vue
  14. 54
      src/views/system/archivesCategory/listBrowsing/index.vue
  15. 58
      src/views/system/archivesCategory/listBrowsing/module/form.vue
  16. 15
      src/views/system/archivesCategory/listBrowsing/module/sortDialog.vue
  17. 44
      src/views/system/archivesCategory/orderingRule/index.vue
  18. 5
      src/views/system/archivesCategory/orderingRule/module/form.vue
  19. 15
      src/views/system/archivesCategory/orderingRule/module/sortDialog.vue
  20. 94
      src/views/system/archivesCategory/processManage/index.vue
  21. 151
      src/views/system/archivesCategory/processManage/module/form.vue
  22. 1
      src/views/system/archivesCategory/publicScreening/index.vue
  23. 23
      src/views/system/archivesCategory/sortDialog.vue

16
src/assets/styles/archives-manage.scss

@ -312,14 +312,14 @@
border-color: $arcRed;
}
.drag-tip {
display: block;
padding-left: 20px;
padding-bottom: 10px;
font-style: normal;
font-weight: bold;
color: #fff;
}
// .drag-tip {
// display: block;
// padding-left: 20px;
// padding-bottom: 10px;
// font-style: normal;
// font-weight: bold;
// color: #fff;
// }
// 档案详情
.base-info{

14
src/assets/styles/mixin.scss

@ -490,7 +490,12 @@
background: transparent;
}
[data-theme="light"] & {
border-color:#D6D8DD;
background-color: #E6E7E9;
&::after{
border-color:#D1D3D7;
}
}
}
@ -505,6 +510,9 @@
[data-theme="light"] & {
border-color:#0348F3;
background-color: #0348F3;
// border-color:#D6D8DD;
// background-color: #D6D8DD;
&::after{
border-color: #fff;
}
@ -744,3 +752,9 @@
color: #0C0E1E;
}
}
@mixin category-padding{
[data-theme="dark"] & {
margin-top: -20px;
}
}

68
src/assets/styles/yxk-admin.scss

@ -364,6 +364,7 @@
padding: 5px 0;
}
}
&::before,
.el-table--group::after,
.el-table--border::after,
@ -371,8 +372,6 @@
.el-table__fixed-right::before{
background-color: transparent;
}
.el-table__body tr.hover-row > td,
.el-table__body tr.hover-row.current-row > td,
@ -1011,7 +1010,10 @@
width: 708px;
}
}
.setting-dialog{
.field-setting-dialog{
.el-dialog{
width: 536px;
}
.des-form{
width: 100% !important;
margin-top: 0 !important;
@ -1623,4 +1625,64 @@ input[type ='number'] {
border-left: none;
border-top: none;
}
}
.isEnable-chapter{
margin-top: 5px;
.el-switch__core{
width: 28px !important;
height: 16px;
&::after{
width: 12px;
height: 12px;
margin-left: 0;
}
}
}
.chapter-enable,
.process-item{
.el-switch.is-checked .el-switch__core::after{
margin-left: -13px !important;
}
}
.sort-dialog{
.el-dialog{
width: 504px;
padding: 0;
}
.el-dialog__header{
margin: 0 20px;
}
.el-dialog__body{
padding-top: 0;
}
.dialog-footer{
padding: 0 20px;
}
.drag-tip {
display: block;
padding: 15px 20px;
font-style: normal;
font-weight: normal;
color: #0348F3;
}
}
// 档案门类
.format-main {
display: flex;
justify-content: flex-start;
@include category-padding;
.format-main-left,
.format-main-right {
height: calc(100vh - 531px);
}
.format-main-left {
padding-right: 10px;
}
.format-main-right {
flex-grow: 1;
}
}

28
src/views/components/category/SettingForm.vue

@ -1,6 +1,6 @@
<template>
<div class="des-form">
<el-row :gutter="10">
<el-row>
<el-form ref="form" :model="form" :rules="rules" :hide-required-asterisk="isDisabled" size="small" label-width="80px">
<el-col :span="16">
<el-form-item v-if="!isDisabled" label="中文名称" prop="fieldCnName">
@ -396,17 +396,17 @@ export default {
}
</script>
<style lang="scss" scoped>
.des-form {
width: 464px;
padding: 20px 38px 20px 20px;
margin-top: 30px;
border-radius: 4px;
background-color: #02255f;
::v-deep .el-checkbox,
::v-deep .el-checkbox__input,
::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner,
::v-deep .el-checkbox__inner::after {
cursor: default;
}
}
// .des-form {
// width: 536px;
// padding: 20px 38px 20px 20px;
// margin-top: 30px;
// border-radius: 4px;
// background-color: #02255f;
// ::v-deep .el-checkbox,
// ::v-deep .el-checkbox__input,
// ::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner,
// ::v-deep .el-checkbox__inner::after {
// cursor: default;
// }
// }
</style>

16
src/views/system/archivesCategory/archiveSealSetting/index.vue

@ -217,23 +217,9 @@ export default {
.chapter-enable{
display: flex;
justify-content: flex-start;
.isEnable-chapter{
margin-top: 5px;
::v-deep .el-switch__core{
width: 28px !important;
height: 16px;
&::after{
width: 12px;
height: 12px;
margin-left: 0;
}
}
}
.chapter-edit{
margin-left: 36px;
}
::v-deep .el-switch.is-checked .el-switch__core::after{
margin-left: -13px !important;
}
}
</style>

21
src/views/system/archivesCategory/descriptionPreview/index.vue

@ -54,7 +54,7 @@
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<i class="drag-tip">提示请通过拖动鼠标来调整当前顺序</i>
<i class="drag-tip">提示使用鼠标拖动调整顺序</i>
<!-- <PreviewForm :is-disabled="true" :all-fields-data="allFieldsData" .sync/> -->
<PreviewForm ref="previewForm" :is-has-code="true" :is-disabled="false" :is-draggable="true" :form-preview-data="JSON.parse(JSON.stringify(isInputFields))" :is-des-form-type="isDesFormType" :selected-category="selectedCategory" />
<div slot="footer" class="dialog-footer">
@ -187,10 +187,18 @@ export default {
}
</script>
<style lang="scss" scoped>
@mixin main-padding{
[data-theme="dark"] & {
padding: 0 20px 20px 20px;
}
[data-theme="light"] & {
padding: 20px;
}
}
.category-main {
display: flex;
justify-content: flex-start;
padding: 20px;
@include main-padding;
.des-preview-left,
.des-preview-right {
height: calc(100vh - 274px);
@ -305,14 +313,5 @@ export default {
}
}
}
.drag-tip {
display: block;
padding-left: 20px;
padding-bottom: 10px;
font-style: normal;
font-weight: bold;
color: #fff;
}
}
</style>

31
src/views/system/archivesCategory/fieldManage/index.vue

@ -3,7 +3,8 @@
<div class="head-container">
<crudOperation :permission="permission" crud-tag="field">
<template v-slot:right>
<el-button v-permission="permission.del" icon="el-icon-delete" size="mini" :loading="crud.delAllLoading" :disabled="crud.selections.length === 0" @click="toDelete(crud.selections)">删除</el-button>
<el-button v-permission="permission.del" size="mini" :loading="crud.delAllLoading" :disabled="crud.selections.length === 0" @click="toDelete(crud.selections)"><i class="iconfont icon-shanchu" />删除</el-button>
<el-button size="mini" @click="toQuick"><i class="iconfont icon-kuaisushezhi" />快速设置</el-button>
</template>
</crudOperation>
</div>
@ -66,6 +67,7 @@
</el-table>
<!--表单渲染-->
<eForm crud-tag="field" />
<quickSetting ref="quick" />
<el-dialog title="删除字段" :visible.sync="deleteVisible" :before-close="handleClose">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
@ -84,11 +86,12 @@
<script>
import fieldCrudMethod from '@/api/category/fieldManage'
import eForm from './module/form'
import quickSetting from './module/quickSetting'
import CRUD, { presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
export default {
components: { eForm, crudOperation },
components: { eForm, quickSetting, crudOperation },
mixins: [
presenter()
],
@ -207,19 +210,23 @@ export default {
},
digitFormatter(row, column, cellValue) {
return cellValue || '-'
},
toQuick() {
this.$refs.quick.quickTableData = JSON.parse(JSON.stringify(this.crud.data))
this.$refs.quick.quickVisible = true
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep thead .el-table-column--selection .cell {
display: none;
}
::v-deep div.el-dialog__footer {
text-align: center;
}
::v-deep .el-table tr .el-table__cell {
height: 40px;
}
<style lang="scss" scoped>
// ::v-deep thead .el-table-column--selection .cell {
// display: none;
// }
// ::v-deep div.el-dialog__footer {
// text-align: center;
// }
// ::v-deep .el-table tr .el-table__cell {
// height: 40px;
// }
</style>

9
src/views/system/archivesCategory/fieldManage/module/form.vue

@ -1,12 +1,13 @@
<template>
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="field-setting-dialog" :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title">
<div class="setting-dialog">
<SettingForm ref="editForm" :is-disabled="false" :is-add="crud.status.add === 1" :this-fields="form" />
<div slot="footer" class="dialog-footer">
<el-button @click="crud.cancelCU">
取消
</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">
保存
确定
</el-button>
</div>
</div>

56
src/views/system/archivesCategory/fieldManage/module/quickSetting.vue

@ -0,0 +1,56 @@
<template>
<!--表单组件-->
<el-dialog title="快速设置" :visible.sync="quickVisible">
<div class="setting-dialog">
<el-table :data="quickTableData" style="width: 100%;" :max-height="tableHeight" row-key="id">
<el-table-column type="index" label="序号" width="100" align="center" />
<el-table-column prop="fieldCnName" label="字段名称" />
<el-table-column prop="fieldName" label="字段标识" />
<el-table-column label="输入字段" min-width="85" align="center">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.isInput" />
</template>
</el-table-column>
<el-table-column label="必填字段" min-width="85" align="center">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.isRequired" />
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="quickVisible=false">取消</el-button>
<el-button type="primary" @click.native="handleSort">保存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
quickVisible: false,
quickTableData: [],
tableHeight: 0
}
},
mounted() {
this.$nextTick(() => {
this.tableHeight = window.innerHeight * 0.6
})
},
methods: {
handleSort() {
this.quickTableData.forEach((item, index) => {
item.sequence = index + 1
})
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog .el-dialog__body{
padding-top: 20px;
}
</style>

44
src/views/system/archivesCategory/fileNoFormat/index.vue

@ -3,7 +3,7 @@
<div class="format-main-left">
<div class="head-container">
<el-button v-permission="permission.add" size="mini" icon="el-icon-plus" :disabled="table.left.selections.length == 0" @click="toAdd(table.left.selections)">
新增
插入
</el-button>
</div>
<!--表格渲染-->
@ -22,7 +22,7 @@
移除
</el-button>
<el-button v-permission="permission.edit" size="mini" icon="el-icon-edit" :disabled="table.right.selections.length === 0" @click="toEdit(table.right.selections)">
修改
编辑
</el-button>
<el-button v-permission="permission.sort" icon="el-icon-sort" size="mini" :loading="sortLoading" :disabled="table.right.data <= 1" @click="toSort">排序</el-button>
</div>
@ -39,14 +39,14 @@
<!--排序对话框组件-->
<sortDialog ref="sort" @refresh="initData" />
<!--删除对话框组件-->
<el-dialog title="移除字段" :visible.sync="deleteVisible">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="tip-dialog" title="提示" :visible.sync="deleteVisible">
<div class="setting-dialog">
<div class="dialog-delt">
<p><span>确定要移除当前字段吗</span></p>
<div class="tip-content">
<p class="tipMsg">此操作将移除当前所选字段</p>
<span>你是否还要继续?</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="deleteVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleDelConfirm">确定</el-button>
</div>
</div>
@ -132,12 +132,12 @@ export default {
Vue.set(item, 'connector', '-')
Vue.set(item, 'categoryId', this.selectedCategory.id)
})
this.$refs.cuform.title = '新增字段'
this.$refs.cuform.title = '新增档号规则'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.left.selections)))
this.$refs.cuform.cuDialogVisible = true
},
toEdit() {
this.$refs.cuform.title = '编辑字段'
this.$refs.cuform.title = '编辑档号规则'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.right.selections)))
this.$refs.cuform.cuDialogVisible = true
},
@ -167,24 +167,10 @@ export default {
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep div.el-dialog__footer {
text-align: center;
}
::v-deep .el-table tr .el-table__cell {
height: 40px;
}
.format-main {
display: flex;
justify-content: flex-start;
.format-main-left,
.format-main-right {
height: calc(100vh - 231px);
}
.format-main-left {
padding-right: 10px;
}
.format-main-right {
flex-grow: 1;
}
}
// ::v-deep div.el-dialog__footer {
// text-align: center;
// }
// ::v-deep .el-table tr .el-table__cell {
// height: 40px;
// }
</style>

39
src/views/system/archivesCategory/fileNoFormat/module/form.vue

@ -1,26 +1,23 @@
<template>
<el-dialog :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<div class="fields-list">
<el-form ref="formData" :model="formData" size="small" label-width="75px">
<el-row v-for="(item) in formData.fields" :key="item.id" :gutter="10">
<el-col :span="15">
<el-form-item label="组成字段">
<el-input v-model="item.fieldCnName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="组成符号">
<el-input v-model="item.connector" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-form ref="formData" :model="formData" size="small" label-width="90px">
<el-row v-for="(item) in formData.fields" :key="item.id">
<el-col :span="12">
<el-form-item label="组成字段">
<el-input v-model="item.fieldCnName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="组成符号">
<el-input v-model="item.connector" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="save">保存</el-button>
<el-button @click="cuDialogVisible=false">取消</el-button>
<el-button type="primary" :loading="loading" @click="save">确定</el-button>
</div>
</div>
</el-dialog>
@ -33,14 +30,14 @@ export default {
return {
cuDialogVisible: false,
formData: {},
title: '新增字段',
title: '新增档号规则',
loading: false
}
},
methods: {
save() {
this.loading = true
if (this.title === '新增字段') {
if (this.title === '新增档号规则') {
const addData = this.formData.fields.map((item) => {
return {
dictionaryId: item.id,

15
src/views/system/archivesCategory/fileNoFormat/module/sortDialog.vue

@ -1,15 +1,14 @@
<template>
<!--表单组件-->
<el-dialog title="排序" :visible.sync="sortVisible" @opened="opened">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="sort-dialog" title="排序" :visible.sync="sortVisible" @opened="opened">
<div class="setting-dialog">
<i class="drag-tip">提示请通过拖动鼠标来调整当前顺序</i>
<i class="drag-tip">提示使用鼠标拖动调整顺序</i>
<el-table :data="sortTableData" class="fileno-format-sort" style="width: 100%;" :max-height="tableHeight" row-key="id">
<el-table-column type="index" label="序号" width="100" align="center" />
<el-table-column prop="fieldCnName" label="字段名称" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="sortVisible=false">取消</el-button>
<el-button type="primary" @click.native="handleSort">保存</el-button>
</div>
</div>
@ -70,12 +69,4 @@ export default {
</script>
<style lang="scss" scoped>
.drag-tip {
display: block;
padding-left: 20px;
padding-bottom: 10px;
font-style: normal;
font-weight: bold;
color: #fff;
}
</style>

4
src/views/system/archivesCategory/index.vue

@ -233,9 +233,7 @@ export default {
if (val.pid !== '0') {
Vue.set(this.selectedCategory, 'parentName', this.$refs.tree.getNode(val.pid).data.cnName)
}
if (val.isType === 1 || val.isType !== 4) {
this.changeActiveTab(0)
}
this.changeActiveTab(0)
//
localStorage.setItem('currentCategoryKey', JSON.stringify(val))
if (this.$refs.tree.getNode(val.pid) && this.$refs.tree.getNode(val.pid).childNodes) {

54
src/views/system/archivesCategory/listBrowsing/index.vue

@ -4,7 +4,7 @@
<div class="format-main-left">
<div class="head-container">
<el-button v-permission="permission.add" size="mini" icon="el-icon-plus" :disabled="table.left.selections.length == 0" @click="toAdd(table.left.selections)">
新增
插入
</el-button>
</div>
<!--表格渲染-->
@ -22,7 +22,7 @@
移除
</el-button>
<el-button v-permission="permission.edit" size="mini" icon="el-icon-edit" :disabled="table.right.selections.length === 0" @click="toEdit(table.right.selections)">
修改
编辑
</el-button>
<!-- type="danger" -->
<el-button v-permission="permission.sort" icon="el-icon-sort" size="mini" :loading="sortLoading" :disabled="table.right.data <= 1" @click="toSort">排序</el-button>
@ -47,14 +47,14 @@
<!--排序对话框组件-->
<sortDialog ref="sort" @refresh="initData" />
<!--删除对话框组件-->
<el-dialog title="移除字段" :visible.sync="deleteVisible">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="tip-dialog" title="提示" :visible.sync="deleteVisible">
<div class="setting-dialog">
<div class="dialog-delt">
<p><span>确定要移除当前字段吗</span></p>
<div class="tip-content">
<p class="tipMsg">此操作将移除当前所选字段</p>
<span>你是否还要继续?</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="deleteVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleDelConfirm">确定</el-button>
</div>
</div>
@ -174,12 +174,12 @@ export default {
Vue.set(item, 'displayOrder', maxDisplayOrder + index)
item.isDisplay = true
})
this.$refs.cuform.title = '新增字段'
this.$refs.cuform.title = '新增列表显示列'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.left.selections)))
this.$refs.cuform.cuDialogVisible = true
},
toEdit() {
this.$refs.cuform.title = '编辑字段'
this.$refs.cuform.title = '编辑列表显示列'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.right.selections)))
this.$refs.cuform.cuDialogVisible = true
},
@ -214,29 +214,15 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep div.el-dialog__footer {
text-align: center;
}
::v-deep .el-table tr .el-table__cell {
height: 40px;
}
.format-main {
display: flex;
justify-content: flex-start;
.format-main-left,
.format-main-right {
height: calc(100vh - 531px);
}
.format-main-left {
padding-right: 10px;
}
.format-main-right {
flex-grow: 1;
}
}
::v-deep .nowrap-tab .el-table__header .cell {
text-overflow: unset !important;
white-space: nowrap !important;
}
<style lang="scss" scoped>
// ::v-deep div.el-dialog__footer {
// text-align: center;
// }
// ::v-deep .el-table tr .el-table__cell {
// height: 40px;
// }
// ::v-deep .nowrap-tab .el-table__header .cell {
// text-overflow: unset !important;
// white-space: nowrap !important;
// }
</style>

58
src/views/system/archivesCategory/listBrowsing/module/form.vue

@ -1,33 +1,29 @@
<template>
<el-dialog :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<div class="fields-list">
<el-form ref="formData" :model="formData" size="small" label-width="75px">
<el-row v-for="(item, index) in formData.fields" :key="item.id" :gutter="10">
<el-col :span="9">
<el-form-item label="字段名称">
<el-input v-model="item.fieldCnName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="8">
<!-- -->
<el-form-item label="显示长度" label-width="90px" :prop="'fields.' + index + '.displayLength'" :rules="{required: true, message: '显示长度不能为空', trigger: 'blur'}" :model="item">
<el-input v-model.number="item.displayLength" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="显示格式" :prop="'fields.' + index + '.displayformatType'">
<el-select v-model="item.displayformatType">
<el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-form ref="formData" :model="formData" size="small" label-width="95px">
<el-row v-for="(item, index) in formData.fields" :key="item.id">
<el-col :span="9">
<el-form-item label="字段名称">
<el-input v-model="item.fieldCnName" :disabled="true" style="width:160px;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="列宽" :prop="'fields.' + index + '.displayLength'" :rules="{required: true, message: '列宽不能为空', trigger: 'blur'}" :model="item">
<el-input v-model.number="item.displayLength" style="width:160px;" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="对齐方式" :prop="'fields.' + index + '.displayformatType'" :rules="{required: true, message: '对齐方式不能为空', trigger: 'change'}">
<el-select v-model="item.displayformatType" style="width:80px;">
<el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cuDialogVisible=false">取消</el-button>
<el-button type="primary" :loading="loading" @click="save">保存</el-button>
</div>
</div>
@ -41,7 +37,7 @@ export default {
return {
cuDialogVisible: false,
formData: {},
title: '新增字段',
title: '新增列表显示列',
options: [
{
label: '居中',
@ -96,11 +92,5 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.fields-list {
max-height: calc(100vh - 312px);
overflow-x: hidden;
overflow-y: auto;
position: relative;
}
<style lang="scss" scoped>
</style>

15
src/views/system/archivesCategory/listBrowsing/module/sortDialog.vue

@ -1,15 +1,14 @@
<template>
<!--表单组件-->
<el-dialog title="排序" :visible.sync="sortVisible" @opened="opened">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="sort-dialog" title="排序" :visible.sync="sortVisible" @opened="opened">
<div class="setting-dialog">
<i class="drag-tip">提示请通过拖动鼠标来调整当前顺序</i>
<i class="drag-tip">提示使用鼠标拖动调整顺序</i>
<el-table :data="sortTableData" class="list-browsing-sort" style="width: 100%;" :max-height="tableHeight" row-key="id">
<el-table-column type="index" label="序号" width="100" align="center" />
<el-table-column prop="fieldCnName" label="字段名称" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="sortVisible=false">取消</el-button>
<el-button type="primary" @click.native="handleSort">保存</el-button>
</div>
</div>
@ -70,12 +69,4 @@ export default {
</script>
<style lang="scss" scoped>
.drag-tip {
display: block;
padding-left: 20px;
padding-bottom: 10px;
font-style: normal;
font-weight: bold;
color: #fff;
}
</style>

44
src/views/system/archivesCategory/orderingRule/index.vue

@ -2,8 +2,8 @@
<div class="format-main">
<div class="format-main-left">
<div class="head-container">
<el-button v-permission="permission.add" size="mini" icon="el-icon-plus" :disabled="table.left.selections.length == 0 || orderFieldsSum >3" @click="toAdd(table.left.selections)">
新增
<el-button v-permission="permission.add" size="mini" icon="el-icon-plus" :disabled="table.left.selections.length == 0 || orderFieldsSum >5" @click="toAdd(table.left.selections)">
插入
</el-button>
</div>
<!--表格渲染-->
@ -22,10 +22,10 @@
移除
</el-button>
<el-button v-permission="permission.edit" size="mini" icon="el-icon-edit" :disabled="table.right.selections.length === 0" @click="toEdit(table.right.selections)">
修改
编辑
</el-button>
<el-button v-permission="permission.sort" icon="el-icon-sort" size="mini" :loading="sortLoading" :disabled="table.right.data <= 1" @click="toSort">排序</el-button>
<span class="tip">注意最多只可选择3个字段进行排序</span>
<span class="tip">注意最多只可选择5个字段进行排序</span>
</div>
<!--表格渲染-->
<el-table ref="rightTable" v-loading="table.right.loading" :data="table.right.data" style="min-width: 100%;" height="calc(100vh - 302px)" @selection-change="(val)=>selectionChangeHandler(val,'right')" @row-click="(row,column,e)=>clickRowHandler(row,column,e,'rightTable')">
@ -45,14 +45,14 @@
<!--排序对话框组件-->
<sortDialog ref="sort" @refresh="initData" />
<!--删除对话框组件-->
<el-dialog title="移除字段" :visible.sync="deleteVisible">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="tip-dialog" title="提示" :visible.sync="deleteVisible">
<div class="setting-dialog">
<div class="dialog-delt">
<p><span>确定要移除当前字段吗</span></p>
<div class="tip-content">
<p class="tipMsg">此操作将移除当前所选字段</p>
<span>你是否还要继续?</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="deleteVisible = false">取消</el-button>
<el-button type="primary" @click.native="handleDelConfirm">确定</el-button>
</div>
</div>
@ -143,12 +143,12 @@ export default {
Vue.set(item, 'displayOrderBy', 'asc')
Vue.set(item, 'queue', maxQueue + index)
})
this.$refs.cuform.title = '新增字段'
this.$refs.cuform.title = '新增浏览排序项'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.left.selections)))
this.$refs.cuform.cuDialogVisible = true
},
toEdit() {
this.$refs.cuform.title = '编辑字段'
this.$refs.cuform.title = '编辑浏览排序项'
Vue.set(this.$refs.cuform.formData, 'fields', JSON.parse(JSON.stringify(this.table.right.selections)))
this.$refs.cuform.cuDialogVisible = true
},
@ -188,25 +188,15 @@ export default {
::v-deep .el-table tr .el-table__cell {
height: 40px;
}
.format-main {
display: flex;
justify-content: flex-start;
.format-main-left,
.format-main-right {
height: calc(100vh - 231px);
}
.format-main-left {
padding-right: 10px;
}
.format-main-right {
flex-grow: 1;
}
}
.tip {
display: inline-block;
margin: 4px 0 0 14px;
padding-left: 20px;
font-style: normal;
font-weight: bold;
color: #fff;
font-weight: normal;
font-size: 12px;
line-height: 20px;
background: url('~@/assets/images/icon/tip-icon.png') no-repeat left center;
background-size: 14px 14px;
}
</style>

5
src/views/system/archivesCategory/orderingRule/module/form.vue

@ -4,7 +4,7 @@
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<div class="fields-list">
<el-form ref="form" :model="formData" size="small" label-width="75px">
<el-form ref="form" :model="formData" size="small" label-width="100px">
<el-row v-for="(item) in formData.fields" :key="item.id" :gutter="10">
<el-col :span="13">
<el-form-item label="组成字段">
@ -23,7 +23,8 @@
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="save">保存</el-button>
<el-button @click="cuDialogVisible=false">取消</el-button>
<el-button type="primary" :loading="loading" @click="save">确定</el-button>
</div>
</div>
</el-dialog>

15
src/views/system/archivesCategory/orderingRule/module/sortDialog.vue

@ -1,15 +1,14 @@
<template>
<!--表单组件-->
<el-dialog title="排序" :visible.sync="sortVisible" @opened="opened">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="sort-dialog" title="排序" :visible.sync="sortVisible" @opened="opened">
<div class="setting-dialog">
<i class="drag-tip">提示请通过拖动鼠标来调整当前顺序</i>
<i class="drag-tip">提示使用鼠标拖动调整顺序</i>
<el-table :data="sortTableData" class="ordering-rule-sort" style="width: 100%;;" :max-height="tableHeight" row-key="id">
<el-table-column type="index" label="序号" width="100" align="center" />
<el-table-column prop="fieldCnName" label="字段名称" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="sortVisible=false">取消</el-button>
<el-button type="primary" @click.native="handleSort">保存</el-button>
</div>
</div>
@ -70,12 +69,4 @@ export default {
</script>
<style lang="scss" scoped>
.drag-tip {
display: block;
padding-left: 20px;
padding-bottom: 10px;
font-style: normal;
font-weight: bold;
color: #fff;
}
</style>

94
src/views/system/archivesCategory/processManage/index.vue

@ -1,9 +1,101 @@
<template>
<div>流程管理</div>
<div class="process-container">
<div class="process-item">
<span>入管理库流程</span>
<p>01-归档审批流程<i class="iconfont icon-shezhi" @click="toProcessSelected()" /></p>
<el-switch v-model="manageEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>退接收库流程</span>
<p>02-退回审批流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="returnEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>内部移交流程</span>
<p>03-内部移交流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="insideEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>外部移交流程</span>
<p>04-外部移交流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="externalEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>借阅审批流程</span>
<p>05-借阅审批流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="borrowEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>销毁审批流程</span>
<p>06-销毁审批流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="destroyEnable" class="isEnable-chapter" />
</div>
<div class="process-item">
<span>开发审批流程</span>
<p>07-开发审批流程<i class="iconfont icon-shezhi" /></p>
<el-switch v-model="developEnable" class="isEnable-chapter" />
</div>
<eForm ref="cuform" />
</div>
</template>
<script>
import eForm from './module/form'
export default {
name: 'ProcessManage',
components: { eForm },
data() {
return {
manageEnable: true,
returnEnable: true,
insideEnable: true,
externalEnable: true,
borrowEnable: false,
destroyEnable: false,
developEnable: false
}
},
watch: {
},
created() {
},
methods: {
toProcessSelected() {
this.$refs.cuform.cuDialogVisible = true
}
}
}
</script>
<style lang='scss' scoped>
.process-item{
display: flex;
justify-content: flex-start;
padding: 36px 40px 0 40px;
font-size: 14px;
height: 32px;
line-height: 32px;
margin-bottom: 20px;
span{
display: block;
margin-right: 12px;
}
p{
position: relative;
width: 324px;
height: 32px;
line-height: 32px;
padding: 0 13px;
margin-right: 16px;
color: #0C0E1E;
background-color: #F5F7FA;
i{
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
color: #0348F3;
}
}
}
</style>

151
src/views/system/archivesCategory/processManage/module/form.vue

@ -0,0 +1,151 @@
<template>
<el-dialog class="process-dialog" :close-on-click-modal="false" :visible.sync="cuDialogVisible" title="工作流选择">
<div class="setting-dialog">
<el-form ref="form" class="process-form" inline :model="form" :rules="rules" size="small" label-width="80px">
<div class="process-template">
<el-form-item label="流程模板" prop="template">
<el-select v-model="form.template" style="width: 580px;">
<el-option v-for="item in selectOptions" :key="item.value" :label="item.label" :value="item.label" />
</el-select>
</el-form-item>
<div class="template-img">
<img src="" alt="">
</div>
</div>
<div class="process-task">
<div class="task-tip">任务需指定执行岗位当流程进行到该任务时指定岗位下同一全宗的管理员可进入流程操作</div>
<div class="task-list">
<div class="task-item">
<p>任务1任务名称</p>
<el-form-item label="执行岗位" prop="task01">
<el-select v-model="form.task01">
<el-option v-for="item in jobOptions" :key="item.value" :label="item.label" :value="item.label" />
</el-select>
</el-form-item>
</div>
<div class="task-item">
<p>任务2任务名称</p>
<el-form-item label="执行岗位" prop="task02">
<el-select v-model="form.task02">
<el-option v-for="item in jobOptions" :key="item.value" :label="item.label" :value="item.label" />
</el-select>
</el-form-item>
</div>
</div>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cuDialogVisible=false">取消</el-button>
<el-button type="primary" :loading="loading" @click="save">保存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
cuDialogVisible: false,
loading: false,
form: {
template: null,
task01: null,
task02: null
},
selectOptions: [
{
id: 1,
value: '默认模板',
label: '默认模板'
},
{
id: 2,
value: '模板A',
label: '模板A'
},
{
id: 3,
value: '模板B',
label: '模板B'
}
],
jobOptions: [
{
id: 1,
value: '岗位A',
label: '岗位A'
},
{
id: 2,
value: '岗位B',
label: '岗位B'
}
],
rules: {
template: [
{ required: true, message: '流程模板不可为空', trigger: 'change' }
],
task01: [
{ required: true, message: '执行岗位不可为空', trigger: 'change' }
],
task02: [
{ required: true, message: '执行岗位不可为空', trigger: 'change' }
]
}
}
},
methods: {
save() {
// this.loading = true
this.$refs['form'].validate((valid) => {
if (valid) {
this.loading = true
} else {
return false
}
})
}
}
}
</script>
<style lang="scss" scoped>
.process-dialog{
::v-deep .el-dialog{
width: 1100px;
}
}
.process-form{
display: flex;
justify-content: space-between;
}
.process-template{
margin-right: 20px;
}
.template-img{
width: 690px;
height: 460px;
border: 1px solid #eee;
}
.task-tip{
margin-bottom: 20px;
padding-left: 24px;
font-size: 14px;
line-height: 18px;
color: #0c0e1e;
background: url('~@/assets/images/icon/tip-icon.png') no-repeat left top;
background-size: 18px 18px;
}
.task-list{
height: 454px;
overflow: hidden;
overflow-y: scroll;
}
.task-item{
p{
line-height: 32px;
}
}
</style>

1
src/views/system/archivesCategory/publicScreening/index.vue

@ -1,6 +1,5 @@
<template>
<div>
<!--工具栏-->
<div class="head-container">
<el-button size="mini" @click="crud.toAdd">
<i class="iconfont icon-xinzeng" />

23
src/views/system/archivesCategory/sortDialog.vue

@ -72,26 +72,5 @@ export default {
</script>
<style lang="scss" scoped>
.sort-dialog{
::v-deep .el-dialog{
width: 504px;
padding: 0;
}
::v-deep .el-dialog__header{
margin: 0 20px;
}
::v-deep .el-dialog__body{
padding-top: 0;
}
::v-deep .dialog-footer{
padding: 0 20px;
}
}
.drag-tip {
display: block;
padding: 15px 20px;
font-style: normal;
font-weight: normal;
color: #0348F3;
}
</style>
Loading…
Cancel
Save