23 changed files with 949 additions and 169 deletions
-
10.env.development
-
110src/assets/iconfonts/light/iconfont.css
-
2src/assets/iconfonts/light/iconfont.js
-
182src/assets/iconfonts/light/iconfont.json
-
BINsrc/assets/iconfonts/light/iconfont.ttf
-
BINsrc/assets/iconfonts/light/iconfont.woff
-
BINsrc/assets/iconfonts/light/iconfont.woff2
-
1src/assets/icons/svg/sr-dngl.svg
-
1src/assets/icons/svg/sr-ygdk.svg
-
BINsrc/assets/images/system/zwsj.png
-
93src/assets/styles/yxk-admin.scss
-
3src/views/components/BindingTagDlg.vue
-
93src/views/components/category/PreviewForm.vue
-
67src/views/prearchiveLibrary/index.vue
-
210src/views/prearchiveLibrary/module/batchFile.vue
-
22src/views/prearchiveLibrary/module/form.vue
-
49src/views/prearchiveLibrary/module/mergeFile.vue
-
148src/views/prearchiveLibrary/module/moveFile.vue
-
32src/views/prearchiveLibrary/module/tree.json
-
3src/views/system/fieldCorresManage/index.vue
-
82src/views/system/fieldCorresManage/module/form.vue
-
8src/views/system/processManage/processDeployment/module/form.vue
-
2src/views/system/role/index.vue
2
src/assets/iconfonts/light/iconfont.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1 @@ |
|||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1685927096385" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4914" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1012.462933 552.277333V240.708267h-0.546133l0.546133-0.682667-150.459733-137.352533a224.0512 224.0512 0 0 0-151.278933-58.709334H328.772267c-56.1152 0-109.909333 20.8896-151.278934 58.709334L27.0336 240.162133l0.546133 0.546134H27.0336v640.8192c0 50.244267 40.7552 90.9312 90.999467 90.9312h803.498666c50.244267 0 90.9312-40.686933 90.9312-90.9312V552.277333zM635.016533 625.527467a135.9872 135.9872 0 0 1-229.102933 0h229.102933zM100.215467 313.7536h222.549333a211.5584 211.5584 0 0 0 197.700267 133.802667 211.5584 211.5584 0 0 0 197.700266-133.802667h221.184v235.52H100.215467v-235.52z m123.972266-160.017067c28.672-26.2144 65.809067-40.618667 104.584534-40.618666h381.952c38.775467 0 75.9808 14.404267 104.6528 40.618666l95.0272 86.903467H658.6368c0 73.864533-61.8496 133.802667-138.171733 133.802667-76.322133 0-138.171733-59.938133-138.171734-133.802667H129.024l95.163733-86.903467z m715.1616 727.722667a17.8176 17.8176 0 0 1-17.8176 17.749333H118.033067a17.8176 17.8176 0 0 1-17.8176-17.749333v-256h224.324266a209.169067 209.169067 0 0 0 391.850667 0h222.958933v256z" p-id="4915"></path></svg> |
@ -0,0 +1 @@ |
|||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1685927091547" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4779" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M959.488 108.3392c0-2.8672-0.136533-5.7344-0.477867-8.533333a71.338667 71.338667 0 0 0-27.579733-51.6096 72.4992 72.4992 0 0 0-46.216533-16.725334H98.440533C80.964267 31.470933 64.853333 37.751467 52.224 48.196267a71.338667 71.338667 0 0 0-27.648 51.6096 79.394133 79.394133 0 0 0-0.4096 8.533333v85.8112c0 3.208533 0 6.3488 0.2048 9.489067V930.474667c0 39.1168 30.72 70.792533 68.471467 70.792533h797.9008c37.819733 0 68.539733-31.675733 68.539733-70.792533V203.5712l0.2048-9.4208V108.3392zM530.568533 675.293867a39.458133 39.458133 0 0 1-38.775466 40.072533 39.458133 39.458133 0 0 1-38.7072-40.072533c0-22.1184 17.339733-40.1408 38.7072-40.1408 21.435733 0 38.775467 18.0224 38.775466 40.1408zM453.085867 258.4576c0-22.1184 17.339733-40.072533 38.7072-40.072533 21.435733 0 38.775467 17.954133 38.775466 40.072533a39.458133 39.458133 0 0 1-38.775466 40.1408 39.458133 39.458133 0 0 1-38.7072-40.1408z m78.4384 99.669333c37.819733-16.1792 64.375467-54.6816 64.375466-99.669333 0-59.392-46.557867-107.656533-104.0384-107.656533-57.5488 0-104.106667 48.196267-104.106666 107.656533 0 44.987733 26.624 83.490133 64.375466 99.669333v54.408534C238.933333 400.452267 93.525333 292.0448 93.525333 194.1504V108.3392c0-0.750933 0.2048-1.501867 0.546134-2.184533H889.514667a6.007467 6.007467 0 0 1 0.273066 0.682666l0.068267 92.637867c-5.12 96.4608-149.026133 201.181867-358.4 213.060267v-54.4768zM93.7984 930.474667l-0.682667-584.021334c75.776 76.731733 207.0528 129.979733 359.082667 137.898667v91.272533c-37.888 16.110933-64.443733 54.613333-64.443733 99.601067 0 59.460267 46.557867 107.656533 104.106666 107.656533 57.480533 0 104.0384-48.196267 104.0384-107.656533 0-44.987733-26.624-83.490133-64.375466-99.601067V484.420267c151.688533-7.918933 282.760533-60.962133 358.6048-137.489067l0.682666 582.656-797.013333 0.955733z" p-id="4780"></path></svg> |
After Width: 282 | Height: 182 | Size: 24 KiB |
@ -0,0 +1,210 @@ |
|||||
|
<template> |
||||
|
<!-- 批量成件 --> |
||||
|
<el-dialog class="batch-form" append-to-body :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" :visible="batchVisible" title="批量成件"> |
||||
|
<span class="dialog-right-top" /> |
||||
|
<span class="dialog-left-bottom" /> |
||||
|
<div class="setting-dialog"> |
||||
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="130px"> |
||||
|
<el-form-item label="对应规则" prop="rules"> |
||||
|
<el-select v-model="form.rules" placeholder="请选择" style="width: 225px;" @change="selectRules(val)"> |
||||
|
<el-option |
||||
|
v-for="item in options" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="归档范围" prop="scope"> |
||||
|
<el-input v-model="form.scope" type="text"> |
||||
|
<i slot="suffix" class="el-input__icon iconfont icon-sousuo" /> |
||||
|
</el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="源分类" prop="classify"> |
||||
|
<el-input v-model="form.classify" type="text" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="目标门类" prop="target"> |
||||
|
<treeselect |
||||
|
v-model="form.target" |
||||
|
:options="targetOptions" |
||||
|
placeholder="请选择" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div class="corres-field-main"> |
||||
|
<div class="corres-field-list corres-field-left"> |
||||
|
<div class="corres-field-title"> |
||||
|
<p>字段取值</p> |
||||
|
</div> |
||||
|
<div class="field-list"> |
||||
|
<div v-for="(item, index) in selectStatus" :key="index" class="field-item"> |
||||
|
<el-select :key="index" v-model="item.fiedType"> |
||||
|
<el-option |
||||
|
v-for="v in fiedOption" |
||||
|
:key="v.value" |
||||
|
:label="v.label" |
||||
|
:value="v.value" |
||||
|
/> |
||||
|
</el-select> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="corres-field-list corres-field-middle"> |
||||
|
<div class="corres-field-title"> |
||||
|
<p>源分类(文件库-文件表)</p> |
||||
|
<span>文件库分类A</span> |
||||
|
</div> |
||||
|
<div class="field-list"> |
||||
|
<div v-for="(item, index) in selectStatus" :key="index" class="field-item"> |
||||
|
<el-select :key="index" v-model="item.value"> |
||||
|
<el-option |
||||
|
v-for="v in selectOptions" |
||||
|
:key="v.value" |
||||
|
:label="v.label" |
||||
|
:value="v.value" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<div v-if="!item.mode" class="field-state"><span :class=" item.isType === 1 ? 'is-select' : 'is-hide'">{{ item.isType === 1 ? '显示': '隐藏' }}</span></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="corres-field-list corres-field-right"> |
||||
|
<div class="corres-field-title"> |
||||
|
<p>目标门类(整理库/管理库-文件表)</p> |
||||
|
<span>文书档案(文件)</span> |
||||
|
</div> |
||||
|
<div class="field-list"> |
||||
|
<div v-for="(item,index) in targetData" :key="index" class="field-item"> |
||||
|
<p>{{ item.label }}</p> |
||||
|
<div class="field-state"><span :class=" item.isType === 1 ? 'is-select' : 'is-hide'">{{ item.isType === 1 ? '显示': '隐藏' }}</span></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div v-if="selectStatus.length === 0" class="empty-data" /> |
||||
|
</div> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button type="text" @click="formVisible = false">取消</el-button> |
||||
|
<el-button type="primary" @click="formVisible = false">确定</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import Treeselect from '@riophae/vue-treeselect' |
||||
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css' |
||||
|
// import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' |
||||
|
import fieldData from './data.json' |
||||
|
export default { |
||||
|
name: 'BatchFile', |
||||
|
components: { Treeselect }, |
||||
|
data() { |
||||
|
return { |
||||
|
batchVisible: false, |
||||
|
options: [ |
||||
|
{ |
||||
|
value: '选项1', |
||||
|
label: '规则A' |
||||
|
}, { |
||||
|
value: '选项2', |
||||
|
label: '规则B' |
||||
|
}, { |
||||
|
value: '选项3', |
||||
|
label: '规则C' |
||||
|
} |
||||
|
], |
||||
|
targetOptions: [], |
||||
|
form: { |
||||
|
rules: null, |
||||
|
scope: null, |
||||
|
classify: '', |
||||
|
target: null |
||||
|
}, |
||||
|
loadSource: [], |
||||
|
rules: { |
||||
|
target: [ |
||||
|
{ required: true, message: '请选择档案门类', trigger: 'input' } |
||||
|
] |
||||
|
}, |
||||
|
fiedOption: [ |
||||
|
{ label: '字段值', value: '字段值', isType: 1 }, |
||||
|
{ label: '默认值', value: '默认值', isType: 2 } |
||||
|
], |
||||
|
fiedType: null, |
||||
|
selectStatus: [], |
||||
|
selectOptions: [ |
||||
|
{ label: '字段A', value: '字段A', isType: 1 }, |
||||
|
{ label: '字段B', value: '字段B', isType: 1 }, |
||||
|
{ label: '字段C', value: '字段C', isType: 0 }, |
||||
|
{ label: '字段D', value: '字段D', isType: 1 } |
||||
|
], |
||||
|
targetData: [] |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
selectRules(val) { |
||||
|
this.selectStatus = [] |
||||
|
this.targetData = fieldData |
||||
|
this.targetData.forEach((item, index) => { |
||||
|
this.selectStatus.push({ mode: true, value: '' }) |
||||
|
}) |
||||
|
}, |
||||
|
handleClose(done) { |
||||
|
this.batchVisible = false |
||||
|
done() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.batch-form{ |
||||
|
::v-deep .el-dialog{ |
||||
|
width: 828px !important; |
||||
|
} |
||||
|
.corres-field-left{ |
||||
|
width: 146px; |
||||
|
.corres-field-title{ |
||||
|
p{ |
||||
|
padding-top: 0 !important; |
||||
|
line-height: 60px; |
||||
|
} |
||||
|
} |
||||
|
.field-list{ |
||||
|
.field-item{ |
||||
|
width: 146px; |
||||
|
::v-deep .el-select{ |
||||
|
width: 145px !important; |
||||
|
border-right: none; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.corres-field-middle{ |
||||
|
.field-list{ |
||||
|
.field-item{ |
||||
|
width: 315px; |
||||
|
::v-deep .el-select{ |
||||
|
width: 314px !important; |
||||
|
border-right: none; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.corres-field-main{ |
||||
|
position: relative; |
||||
|
} |
||||
|
.empty-data{ |
||||
|
position: absolute; |
||||
|
top: 60px; |
||||
|
left: 0; |
||||
|
width: 100%; |
||||
|
height: calc(100% - 60px); |
||||
|
background: url('~@/assets/images/system/zwsj.png') no-repeat center center #fff; |
||||
|
background-size: 282px 182px; |
||||
|
} |
||||
|
</style> |
@ -1,49 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 合并成件 --> |
|
||||
<el-dialog :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" :visible="mergeVisible" title="合并成件"> |
|
||||
<span class="dialog-right-top" /> |
|
||||
<span class="dialog-left-bottom" /> |
|
||||
<div class="setting-dialog"> |
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="80px"> |
|
||||
<el-form-item label="档案门类" prop="target"> |
|
||||
<treeselect |
|
||||
v-model="form.target" |
|
||||
:options="targetOptions" |
|
||||
:load-options="loadSource" |
|
||||
style="width: 400px;" |
|
||||
placeholder="请选择档案门类" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<el-button type="text" @click="formVisible = false">取消</el-button> |
|
||||
<el-button type="primary" @click="formVisible = false">确定</el-button> |
|
||||
</div> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
mergeVisible: false, |
|
||||
targetOptions: [], |
|
||||
rules: { |
|
||||
target: [ |
|
||||
{ required: true, message: '请选择档案门类', trigger: 'input' } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
handleClose(done) { |
|
||||
this.mergeVisible = false |
|
||||
done() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
</style> |
|
@ -0,0 +1,148 @@ |
|||||
|
<template> |
||||
|
<!-- 移动 --> |
||||
|
<el-dialog class="move-form" append-to-body :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" :visible="moveVisible" title="移动"> |
||||
|
<span class="dialog-right-top" /> |
||||
|
<span class="dialog-left-bottom" /> |
||||
|
<div class="setting-dialog"> |
||||
|
<div class="move-main"> |
||||
|
<div class="move-left"> |
||||
|
<el-tree :data="treeList" :props="defaultProps" @node-click="handleNodeClick" /> |
||||
|
</div> |
||||
|
<div class="move-right"> |
||||
|
<h4>整编库(已整理)列表</h4> |
||||
|
<div class="raido-main"> |
||||
|
<el-radio v-model="radio" label="1">档案A</el-radio> |
||||
|
<el-radio v-model="radio" label="2">档案B</el-radio> |
||||
|
<el-radio v-model="radio" label="3">档案C</el-radio> |
||||
|
<el-radio v-model="radio" label="4">档案D</el-radio> |
||||
|
<el-radio v-model="radio" label="5">档案E</el-radio> |
||||
|
<el-radio v-model="radio" label="6">档案F</el-radio> |
||||
|
</div> |
||||
|
<el-pagination |
||||
|
:current-page="currentPage" |
||||
|
:page-sizes="[10, 20, 30, 50]" |
||||
|
:page-size="10" |
||||
|
layout="total, sizes, prev, pager, next, jumper" |
||||
|
:total="30" |
||||
|
@size-change="handleSizeChange" |
||||
|
@current-change="handleCurrentChange" |
||||
|
/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button type="text" @click="formVisible = false">取消</el-button> |
||||
|
<el-button type="primary" @click="formVisible = false">确定</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import dataJson from './tree.json' |
||||
|
export default { |
||||
|
name: 'MoveFile', |
||||
|
components: { }, |
||||
|
data() { |
||||
|
return { |
||||
|
moveVisible: false, |
||||
|
treeList: [], |
||||
|
radio: 1, |
||||
|
defaultProps: { |
||||
|
children: 'children', |
||||
|
label: 'label' |
||||
|
}, |
||||
|
currentPage: 1 |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.treeList = dataJson |
||||
|
}, |
||||
|
methods: { |
||||
|
handleClose(done) { |
||||
|
this.moveVisible = false |
||||
|
done() |
||||
|
}, |
||||
|
handleNodeClick(data) { |
||||
|
console.log(data) |
||||
|
}, |
||||
|
handleSizeChange(val) { |
||||
|
console.log(`每页 ${val} 条`) |
||||
|
}, |
||||
|
handleCurrentChange(val) { |
||||
|
console.log(`当前页: ${val}`) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.move-form{ |
||||
|
::v-deep .el-dialog{ |
||||
|
width: 828px; |
||||
|
} |
||||
|
.move-main{ |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
height: 477px; |
||||
|
border: 1px solid #E6E8ED; |
||||
|
} |
||||
|
.move-left{ |
||||
|
width: 253px; |
||||
|
padding: 12px 20px 0 12px; |
||||
|
border-right: 1px solid #E6E8ED; |
||||
|
} |
||||
|
|
||||
|
.move-right{ |
||||
|
flex: 1; |
||||
|
h4{ |
||||
|
position: relative; |
||||
|
padding-left: 52px; |
||||
|
height: 40px; |
||||
|
line-height: 40px; |
||||
|
font-size: 16px; |
||||
|
color: #0C0E1E; |
||||
|
border-bottom: 1px solid #E6E8ED; |
||||
|
background: #F5F9FC; |
||||
|
&::before{ |
||||
|
content: ""; |
||||
|
position: absolute; |
||||
|
left: 0; |
||||
|
top: 0; |
||||
|
display: inline-block; |
||||
|
width: 39px; |
||||
|
height: 40px; |
||||
|
border-right: 1px solid #E6E8ED; |
||||
|
} |
||||
|
} |
||||
|
.raido-main{ |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
flex-wrap: wrap; |
||||
|
justify-content: flex-start; |
||||
|
height: 360px; |
||||
|
overflow: hidden; |
||||
|
overflow-y: scroll; |
||||
|
.el-radio{ |
||||
|
width: 100%; |
||||
|
margin-right: 0; |
||||
|
height: 40px; |
||||
|
line-height: 40px; |
||||
|
border-bottom: 1px solid #E6E8ED; |
||||
|
::v-deep .el-radio__input{ |
||||
|
margin-left: 12px; |
||||
|
} |
||||
|
::v-deep .el-radio__label{ |
||||
|
display: inline-block; |
||||
|
padding-left: 12px; |
||||
|
margin-left: 12px; |
||||
|
border-left: 1px solid #E6E8ED; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.el-pagination{ |
||||
|
padding-right: 5px; |
||||
|
margin: 25px 0 !important; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,32 @@ |
|||||
|
[ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"label": "档案门类", |
||||
|
"children": [ |
||||
|
{ |
||||
|
"id": 2, |
||||
|
"label": "文书档案", |
||||
|
"children": [ |
||||
|
{ |
||||
|
"id": 4, |
||||
|
"label": "文书档案(案卷)" |
||||
|
}, |
||||
|
{ |
||||
|
"id": 5, |
||||
|
"label": "文书档案(文件)" |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"id": 3, |
||||
|
"label": "基建档案", |
||||
|
"children": [ |
||||
|
{ |
||||
|
"id": 6, |
||||
|
"label": "基建档案(项目)" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
Write
Preview
Loading…
Cancel
Save
Reference in new issue