Browse Source

预归档库/2023111bug修复

master
xuhuajiao 1 year ago
parent
commit
6087e8c63b
  1. 2
      src/api/system/archivesScope.js
  2. 16
      src/assets/styles/prearchive-library.scss
  3. 1
      src/components/Crud/RR.operation.vue
  4. 26
      src/views/prearchiveLibrary/index.vue
  5. 144
      src/views/prearchiveLibrary/module/batchFile.vue
  6. 21
      src/views/prearchiveLibrary/module/scope.vue
  7. 10
      src/views/system/archiveScopeManage/module/tableList.vue
  8. 3
      src/views/system/archivesCategory/orderingRule/index.vue
  9. 17
      src/views/system/fieldCorresManage/index.vue
  10. 4
      src/views/system/fieldCorresManage/module/detail.vue
  11. 11
      src/views/system/fieldCorresManage/module/form.vue
  12. 3
      src/views/system/fileLibraryManage/orderingRule/index.vue
  13. 9
      src/views/system/fourCharacterDetection/index.vue
  14. 4
      src/views/system/log/loginLog/index.vue
  15. 56
      src/views/system/notifyManage/index.vue
  16. 97
      src/views/system/notifyManage/module/selectObj.vue
  17. 22
      src/views/system/user/index.vue

2
src/api/system/archivesScope.js

@ -45,7 +45,7 @@ export function edit(data) {
export function del(data) { export function del(data) {
return request({ return request({
url: 'api/archivesScope/delArchivesClass',
url: 'api/archivesScope/delArchivesScope',
method: 'post', method: 'post',
data data
}) })

16
src/assets/styles/prearchive-library.scss

@ -19,7 +19,7 @@
} }
.move-right{ .move-right{
flex: 1;
width:550px;
h4{ h4{
position: relative; position: relative;
padding-left: 52px; padding-left: 52px;
@ -47,7 +47,7 @@
justify-content: flex-start; justify-content: flex-start;
height: 360px; height: 360px;
overflow: hidden; overflow: hidden;
overflow-y: scroll;
// overflow-y: scroll;
.el-radio{ .el-radio{
width: 100%; width: 100%;
margin-right: 0; margin-right: 0;
@ -66,10 +66,22 @@
} }
} }
.select-content{ .select-content{
display: flex;
justify-content: flex-start;
padding: 0 18px; padding: 0 18px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
border-top: 1px solid #E6E8ED; border-top: 1px solid #E6E8ED;
span{
display: block;
width: 70px;
}
::v-deep .el-tooltip{
width: 440px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
} }
} }
} }

1
src/components/Crud/RR.operation.vue

@ -3,6 +3,7 @@
<div class="search-btn-box"> <div class="search-btn-box">
<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-search" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery">搜索</el-button>
<el-button v-if="crud.optShow.reset" class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="crud.resetQuery()">重置</el-button> <el-button v-if="crud.optShow.reset" class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="crud.resetQuery()">重置</el-button>
<slot name="right" />
</div> </div>
</template> </template>
<script> <script>

26
src/views/prearchiveLibrary/index.vue

@ -16,9 +16,9 @@
<crudOperation :permission="permission"> <crudOperation :permission="permission">
<template v-slot:left> <template v-slot:left>
<!-- 新增 --> <!-- 新增 -->
<el-button size="mini" @click="handleForm('add')"><i class="iconfont icon-xinzeng" />新增</el-button>
<el-button size="mini" @click="handleForm('add',false)"><i class="iconfont icon-xinzeng" />新增</el-button>
<!-- 修改 --> <!-- 修改 -->
<el-button size="mini" :disabled="crud.selections.length !== 1" @click="handleForm('edit')"><i class="iconfont icon-bianji" />编辑</el-button>
<el-button size="mini" :disabled="crud.selections.length !== 1" @click="handleForm('edit',false)"><i class="iconfont icon-bianji" />编辑</el-button>
<!-- 删除btn 多选 --> <!-- 删除btn 多选 -->
<el-button 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" :loading="crud.delAllLoading" :disabled="crud.selections.length === 0" @click="toDelete(crud.selections)"><i class="iconfont icon-shanchu" />删除</el-button>
<el-button :loading="crud.downloadLoading" size="mini" :disabled="crud.selections.length === 0" @click="doExport(crud.selections)"> <el-button :loading="crud.downloadLoading" size="mini" :disabled="crud.selections.length === 0" @click="doExport(crud.selections)">
@ -92,7 +92,7 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="mergeVisible = false">取消</el-button> <el-button type="text" @click="mergeVisible = false">取消</el-button>
<el-button type="primary" @click="handleForm('add')">确定</el-button>
<el-button type="primary" @click="handleForm('add',true)">确定</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -181,7 +181,8 @@ export default {
arcId: null, arcId: null,
isDesFormType: 'prearchiveLibrary', isDesFormType: 'prearchiveLibrary',
isDisabled: false, isDisabled: false,
isHasCode: false
isHasCode: false,
selectedCategoryMerge: null
} }
}, },
computed: { computed: {
@ -219,15 +220,22 @@ export default {
}) })
}, },
// -form/-api // -form/-api
handleForm(type) {
handleForm(type, isMerge) {
this.mergeVisible = false this.mergeVisible = false
this.selectedCategory = this.selectedDocument this.selectedCategory = this.selectedDocument
let params let params
if (type === 'add') { if (type === 'add') {
this.formTitle = '新增文件' this.formTitle = '新增文件'
params = {
documentId: this.selectedDocument.id,
archivesId: null
if (isMerge) {
params = {
documentId: this.selectedDocument.id,
archivesId: null
}
} else {
params = {
documentId: this.selectedDocument.id,
archivesId: null
}
} }
} else if (type === 'edit') { } else if (type === 'edit') {
this.formTitle = '编辑文件' this.formTitle = '编辑文件'
@ -326,7 +334,7 @@ export default {
}) })
}, },
handleSelectCategory(val) { handleSelectCategory(val) {
// this.selectedCategoryName = val.cnName
this.selectedCategoryMerge = val
}, },
normalizer(node) { normalizer(node) {
if (node.children && !node.children.length) { if (node.children && !node.children.length) {

144
src/views/prearchiveLibrary/module/batchFile.vue

@ -62,13 +62,13 @@
</div> </div>
<div v-loading="leftLoading" class="field-list"> <div v-loading="leftLoading" class="field-list">
<div v-for="(item, index) in selectStatus" :key="index" class="field-item"> <div v-for="(item, index) in selectStatus" :key="index" class="field-item">
<el-select v-if="item.mode" :key="index" v-model="item.value" @change="selectChange(index)">
<el-select v-if="item.mode" :key="index" v-model="item.value" @change="selectChange($event,index)">
<el-option value="">请选择</el-option> <el-option value="">请选择</el-option>
<el-option <el-option
v-for="v in options" v-for="v in options"
:key="v.id" :key="v.id"
:label="v.fieldCnName" :label="v.fieldCnName"
:value="v.fieldCnName"
:value="v"
/> />
</el-select> </el-select>
<p v-if="!item.mode" @click="textMode(index)"> <p v-if="!item.mode" @click="textMode(index)">
@ -149,6 +149,7 @@ export default {
batchCategory: {}, batchCategory: {},
selectedCategoryName: null, selectedCategoryName: null,
scopeVisible: false, scopeVisible: false,
scopeSelection: null,
loadSource: [], loadSource: [],
rules: { rules: {
categoryId: [ categoryId: [
@ -164,11 +165,9 @@ export default {
}], }],
fiedType: null, fiedType: null,
selectStatus: [], selectStatus: [],
selectOptions: [],
options: [], options: [],
fieldLoading: false, fieldLoading: false,
allFieldData: [], allFieldData: [],
targetData: [],
leftLoading: false, leftLoading: false,
rightLoading: false, rightLoading: false,
isCorrField: true, isCorrField: true,
@ -256,6 +255,17 @@ export default {
res.forEach((item, index) => { res.forEach((item, index) => {
this.selectStatus.push({ mode: true, fiedType: 1, value: '', field: item, isInput: item.isInput }) this.selectStatus.push({ mode: true, fiedType: 1, value: '', field: item, isInput: item.isInput })
}) })
if (this.form.scope) {
const indexClass = res.findIndex(item => item.fieldName === 'archive_ctg_no')
const indexRetention = res.findIndex(item => item.fieldName === 'retention')
if (indexClass !== -1 && this.scopeSelection[0].archivesClass !== null) {
this.selectStatus.splice(indexClass, 1, { mode: false, fiedType: 2, value: this.scopeSelection[0].archivesClass.name, field: this.allCorrField[indexClass], isInput: this.allCorrField[indexClass].isInput })
}
if (indexRetention !== -1 && this.scopeSelection[0].retention !== '') {
this.selectStatus.splice(indexRetention, 1, { mode: false, fiedType: 2, value: this.scopeSelection[0].retention, field: this.allCorrField[indexRetention], isInput: this.allCorrField[indexRetention].isInput })
}
}
this.rightLoading = false this.rightLoading = false
}) })
}, },
@ -284,9 +294,10 @@ export default {
console.log(res) console.log(res)
if (Array.isArray(res) && res.length === 1) { if (Array.isArray(res) && res.length === 1) {
this.form.scope = res[0].scopeName this.form.scope = res[0].scopeName
this.scopeSelection = res
} else { } else {
this.form.scope = null this.form.scope = null
console.log('有多个“归档范围”')
console.log('有多个“归档范围”或者无归档范围')
} }
this.getDetailsByDocumentIdAndCategoryId() this.getDetailsByDocumentIdAndCategoryId()
}) })
@ -301,11 +312,13 @@ export default {
'categoryId': this.form.categoryId 'categoryId': this.form.categoryId
} }
FetchArchivesScopeByCategoryId(params).then(res => { FetchArchivesScopeByCategoryId(params).then(res => {
console.log('resddddd', res)
if (Array.isArray(res) && res.length === 1) { if (Array.isArray(res) && res.length === 1) {
this.form.scope = res[0].scopeName this.form.scope = res[0].scopeName
this.scopeSelection = res
} else { } else {
this.form.scope = null this.form.scope = null
console.log('有多个“归档范围”')
console.log('有多个“归档范围”或者无归档范围')
} }
this.getCheckRepeat() this.getCheckRepeat()
}) })
@ -321,8 +334,10 @@ export default {
}) })
}, },
hanleScopeSelect(val, category) { hanleScopeSelect(val, category) {
console.log('Scopeval', val)
if (val.length !== 0) { if (val.length !== 0) {
this.form.scope = val[0].scopeName
this.scopeSelection = val
this.form.scope = '【' + val[0].scopeCode + '】' + val[0].scopeName
this.form.categoryId = category.id this.form.categoryId = category.id
this.batchCategory = category this.batchCategory = category
this.selectedCategoryName = category.cnName this.selectedCategoryName = category.cnName
@ -347,6 +362,7 @@ export default {
}) })
this.form.ruleName = null this.form.ruleName = null
this.selectStatus = [] this.selectStatus = []
this.allCorrField = []
this.initDocunmentFiledList(this.selectedDocument.id) this.initDocunmentFiledList(this.selectedDocument.id)
this.initCategoryFiledList(this.form.categoryId) this.initCategoryFiledList(this.form.categoryId)
} else { } else {
@ -355,7 +371,6 @@ export default {
this.selectStatus = [] this.selectStatus = []
this.allFieldData = [] this.allFieldData = []
this.form.ruleName = res.id this.form.ruleName = res.id
this.getDetailsByDocumentIdAndCategoryId() this.getDetailsByDocumentIdAndCategoryId()
} }
this.fieldLoading = false this.fieldLoading = false
@ -366,9 +381,19 @@ export default {
this.options.forEach((item) => { this.options.forEach((item) => {
if (this.selectStatus[index].fiedType === 2) { if (this.selectStatus[index].fiedType === 2) {
if (!this.isCorrField) { if (!this.isCorrField) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.selectStatus[index].fiedType, value: this.selectStatus[index].fiedType === 1 ? this.selectStatus[index].value : this.allCorrField[index].isDefaultValue, field: item, isInput: item.isInput })
console.log('1111')
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.selectStatus[index].fiedType, value: this.selectStatus[index].fiedType === 1 ? this.selectStatus[index].value : this.allCorrField[index].isDefaultValue, field: this.selectStatus[index].field, isInput: this.selectStatus[index].field.isInput })
if (this.form.scope) {
if (this.allCorrField[index].fieldName === 'archive_ctg_no' && this.scopeSelection[0].archivesClass !== null) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: 2, value: this.scopeSelection[0].archivesClass.name, field: this.allCorrField[index], isInput: this.allCorrField[index].isInput })
}
if (this.allCorrField[index].fieldName === 'retention' && this.scopeSelection[0].retention !== null) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: 2, value: this.scopeSelection[0].retention, field: this.allCorrField[index], isInput: this.allCorrField[index].isInput })
}
}
} else { } else {
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.selectStatus[index].fiedType, value: this.allFieldData[index].categoryFieldId.isDefaultValue, field: item, isInput: item.isInput })
console.log('2222')
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.selectStatus[index].fiedType, value: this.allFieldData[index].categoryFieldId.isDefaultValue, field: this.selectStatus[index].field, isInput: this.selectStatus[index].field.isInput })
} }
} else { } else {
if (!this.isCorrField) { if (!this.isCorrField) {
@ -376,24 +401,25 @@ export default {
} else { } else {
this.isTest = false this.isTest = false
} }
this.selectStatus.splice(index, 1, { mode: true, fiedType: this.selectStatus[index].fiedType, value: '', field: item, isInput: item.isInput })
this.selectStatus.splice(index, 1, { mode: true, fiedType: this.selectStatus[index].fiedType, value: '', field: this.selectStatus[index].field, isInput: this.selectStatus[index].field.isInput })
} }
}) })
}, },
selectChange(index) {
selectChange(val, index) {
this.options.forEach((item) => { this.options.forEach((item) => {
if (!this.isCorrField && this.allCorrField[index].isDefaultValue !== '') { if (!this.isCorrField && this.allCorrField[index].isDefaultValue !== '') {
if (this.isTest) { if (this.isTest) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: 1, value: this.selectStatus[index].value, field: item, isInput: item.isInput })
this.selectStatus.splice(index, 1, { mode: false, fiedType: 1, value: val.fieldCnName, field: val, isInput: val.isInput })
} else { } else {
this.selectStatus.splice(index, 1, { mode: false, fiedType: 2, value: this.allCorrField[index].isDefaultValue === '' ? this.selectStatus[index].value : this.allCorrField[index].isDefaultValue, field: item, isInput: item.isInput })
this.selectStatus.splice(index, 1, { mode: false, fiedType: 2, value: this.allCorrField[index].isDefaultValue === '' ? this.selectStatus[index].value : this.allCorrField[index].isDefaultValue, field: val, isInput: val.isInput })
} }
} else { } else {
if (this.selectStatus[index].fiedType === 1) { if (this.selectStatus[index].fiedType === 1) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: 1, value: this.selectStatus[index].value, field: item, isInput: item.isInput })
this.selectStatus.splice(index, 1, { mode: false, fiedType: 1, value: val.fieldCnName, field: val, isInput: val.isInput })
} else { } else {
if (item.fieldCnName === this.selectStatus[index].value) { if (item.fieldCnName === this.selectStatus[index].value) {
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.allFieldData[index].categoryFieldId.isDefaultValue === '' ? 1 : 2, value: this.allFieldData[index].categoryFieldId.isDefaultValue === '' ? this.selectStatus[index].value : this.allFieldData[index].categoryFieldId.isDefaultValue, field: item, isInput: item.isInput })
console.log('item444', item)
this.selectStatus.splice(index, 1, { mode: false, fiedType: this.allFieldData[index].categoryFieldId.isDefaultValue === '' ? 1 : 2, value: this.allFieldData[index].categoryFieldId.isDefaultValue === '' ? val.fieldCnName : this.allFieldData[index].categoryFieldId.isDefaultValue, field: val, isInput: val.isInput })
} }
} }
} }
@ -401,7 +427,7 @@ export default {
}, },
textMode(index) { textMode(index) {
if (this.selectStatus[index].fiedType === 1) { if (this.selectStatus[index].fiedType === 1) {
this.selectStatus.splice(index, 1, { mode: true, fiedType: 1, value: this.selectStatus[index].value, field: null, isInput: this.selectStatus[index].isInput })
this.selectStatus.splice(index, 1, { mode: true, fiedType: 1, value: '', field: null, isInput: this.selectStatus[index].isInput })
} }
}, },
handleClose(done) { handleClose(done) {
@ -420,34 +446,59 @@ export default {
// done() // done()
}, },
handleComfirmBatchToFile() { handleComfirmBatchToFile() {
// const getIndicesByMode = (modeValue) => {
// return this.selectStatus.reduce((indices, item, index) => {
// if (item.mode === modeValue) {
// indices.push(index)
// }
// return indices
// }, [])
// }
// const indices = getIndicesByMode(false)
// const arrAL = this.selectStatus.map(item => {
// if (item.hasOwnProperty('field')) {
// return {
// documentValue: item['field'].fieldName,
// getType: item.fiedType // fieldgetType
// }
// } else {
// return item
// }
// })
// console.log(arrAL)
const dtos = this.allFieldData.map((item, index) => {
return {
'categoryValue': item.categoryFieldId.fieldName,
'documentValue': this.selectStatus[index].fiedType === 2 ? item.categoryFieldId.isDefaultValue : this.selectStatus[index].field.fieldName,
'getType': this.selectStatus[index].fiedType,
'isRequired': item.categoryFieldId.isRequired
}
})
const getIndicesByMode = (modeValue) => {
return this.selectStatus.reduce((indices, item, index) => {
if (item.mode === modeValue) {
indices.push(index)
}
return indices
}, [])
}
const indices = getIndicesByMode(false)
console.log(indices)
const filteredFields = indices.map(index => this.selectStatus[index])
const categoryCorrField = indices.map(index => this.allCorrField[index])
console.log('filteredFields', filteredFields)
console.log('categoryCorrField', categoryCorrField)
let dtos
if (!this.isCorrField) {
dtos = categoryCorrField.map((item, index) => {
let documentValue
console.log(this.scopeSelection)
console.log(filteredFields[index])
if (filteredFields[index].fiedType === 2) {
if (item.fieldName === 'archive_ctg_no' && this.scopeSelection[0].archivesClass !== null) {
console.log('111')
documentValue = this.scopeSelection[0].archivesClass.name
} else if (item.fieldName === 'retention' && this.scopeSelection[0].retention !== null) {
console.log('222')
documentValue = this.scopeSelection[0].retention
} else {
console.log('333')
documentValue = item.isDefaultValue
}
} else {
console.log('444')
documentValue = filteredFields[index].field.fieldName
}
return {
'categoryValue': item.fieldName,
'documentValue': documentValue,
'getType': filteredFields[index].fiedType,
'isRequired': item.isRequired
}
})
} else {
dtos = this.allFieldData.map((item, index) => {
return {
'categoryValue': item.categoryFieldId.fieldName,
'documentValue': this.selectStatus[index].fiedType === 2 ? item.categoryFieldId.isDefaultValue : this.selectStatus[index].field.fieldName,
'getType': this.selectStatus[index].fiedType,
'isRequired': item.categoryFieldId.isRequired
}
})
}
const archivesIds = this.selectionsArc.map(item => { const archivesIds = this.selectionsArc.map(item => {
return item.id return item.id
}) })
@ -471,6 +522,9 @@ export default {
}) })
this.selectedCategoryName = null this.selectedCategoryName = null
this.allFieldData = [] this.allFieldData = []
this.allCorrField = []
this.isTest = false
this.batchCategory = {}
} }
}) })
}, },

21
src/views/prearchiveLibrary/module/scope.vue

@ -32,17 +32,25 @@
:row-key="getRowKey" :row-key="getRowKey"
:load="getSonClass" :load="getSonClass"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
highlight-current-row
:highlight-current-row="false"
height="395px"
@select="handleSelect" @select="handleSelect"
@selection-change="selectionChangeHandler" @selection-change="selectionChangeHandler"
@row-click="clickRowHandler" @row-click="clickRowHandler"
> >
<el-table-column type="selection" align="center" width="55" /> <el-table-column type="selection" align="center" width="55" />
<el-table-column :show-overflow-tooltip="true" prop="scopeName" label="名称" />
<el-table-column :show-overflow-tooltip="true" prop="scopeName" label="名称">
<template slot-scope="scope">
{{ scope.row.scopeCode }}{{ scope.row.scopeName }}
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div class="select-content"> <div class="select-content">
当前选中{{ selections.length!==0 ? selections[0].scopeName : '' }}
<span>当前选中</span>
<el-tooltip v-if="selections.length !== 0" class="item" effect="dark" :content="'【'+ selections[0].scopeCode +'】'+ selections[0].scopeName" :enterable="false" placement="top">
<p>{{ selections[0].scopeCode }}{{ selections[0].scopeName }}</p>
</el-tooltip>
</div> </div>
</div> </div>
</div> </div>
@ -183,7 +191,12 @@ export default {
this.$refs.table.toggleRowSelection(row) this.$refs.table.toggleRowSelection(row)
}, },
selectionChangeHandler(val) { selectionChangeHandler(val) {
this.selections = val
if (val.length > 1) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.selections = val
}
}, },
cancelScope() { cancelScope() {
this.scopeVisible = false this.scopeVisible = false

10
src/views/system/archiveScopeManage/module/tableList.vue

@ -67,7 +67,7 @@
<el-input v-model="form.scopeName" type="textarea" :rows="6" style="width: 580px;" /> <el-input v-model="form.scopeName" type="textarea" :rows="6" style="width: 580px;" />
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-form-item label="顶级范围" prop="isTop">
<el-form-item label="顶级范围" prop="isTop" style="width: 345px;">
<el-radio-group v-model="form.isTop" @input="changeIsTop"> <el-radio-group v-model="form.isTop" @input="changeIsTop">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
<el-radio label="0"></el-radio> <el-radio label="0"></el-radio>
@ -77,6 +77,7 @@
v-if="form.isTop === '0'" v-if="form.isTop === '0'"
label="上级分类" label="上级分类"
prop="pid" prop="pid"
style="margin-right: 0;"
> >
<!-- :load-options="loadScopeTree" --> <!-- :load-options="loadScopeTree" -->
<treeselect <treeselect
@ -84,7 +85,6 @@
:options="scopes" :options="scopes"
placeholder="选择门类之后再选择上级范围" placeholder="选择门类之后再选择上级范围"
:normalizer="scopeNormalizer" :normalizer="scopeNormalizer"
style="width: 584px;"
/> />
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -113,9 +113,9 @@
<el-table-column :show-overflow-tooltip="true" prop="scopeCode" label="编码" /> <el-table-column :show-overflow-tooltip="true" prop="scopeCode" label="编码" />
<el-table-column :show-overflow-tooltip="true" prop="scopeName" label="名称或说明" /> <el-table-column :show-overflow-tooltip="true" prop="scopeName" label="名称或说明" />
<el-table-column :show-overflow-tooltip="true" prop="retention" label="保管期限"> <el-table-column :show-overflow-tooltip="true" prop="retention" label="保管期限">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<div>{{ scope.row.retention === 0 ? '永久' : scope.row.retention === 1 ? '定期30年' : '定期10年' }}</div> <div>{{ scope.row.retention === 0 ? '永久' : scope.row.retention === 1 ? '定期30年' : '定期10年' }}</div>
</template>
</template> -->
</el-table-column> </el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="category" label="所属门类"> <el-table-column :show-overflow-tooltip="true" prop="category" label="所属门类">
<template slot-scope="scope"> <template slot-scope="scope">
@ -155,7 +155,7 @@ const defaultForm = {
scopeCode: null, scopeCode: null,
isTop: '1', isTop: '1',
pid: null, pid: null,
retention: ''
retention: null
} }
export default { export default {

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

@ -188,4 +188,7 @@ export default {
::v-deep .el-table tr .el-table__cell { ::v-deep .el-table tr .el-table__cell {
height: 40px; height: 40px;
} }
.tip{
line-height: 28px;
}
</style> </style>

17
src/views/system/fieldCorresManage/index.vue

@ -13,7 +13,7 @@
flat flat
:multiple="false" :multiple="false"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="请选择源分类(文件库分类)"
placeholder="请选择源分类(预归档库分类)"
/> />
<treeselect <treeselect
v-model="query.categoryId" v-model="query.categoryId"
@ -22,7 +22,7 @@
flat flat
:multiple="false" :multiple="false"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="请选择目标门类(整理库/管理库门类)"
placeholder="请选择目标门类(收集库/管理库门类)"
/> />
<rrOperation /> <rrOperation />
</div> </div>
@ -53,7 +53,7 @@
flat flat
:multiple="false" :multiple="false"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="请选择源分类(文件库分类)"
placeholder="请选择源分类(预归档库分类)"
@select="handleSelectDocument" @select="handleSelectDocument"
/> />
</el-form-item> </el-form-item>
@ -65,7 +65,7 @@
flat flat
:multiple="false" :multiple="false"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="请选择目标门类(整理库/管理库门类)"
placeholder="请选择目标门类(收集库/管理库门类)"
@select="handleSelectCategory" @select="handleSelectCategory"
/> />
</el-form-item> </el-form-item>
@ -94,8 +94,8 @@
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="rule_name" label="规则名称" /> <el-table-column :show-overflow-tooltip="true" prop="rule_name" label="规则名称" />
<el-table-column :show-overflow-tooltip="true" prop="documentName" label="源分类(文件库-文件表)" />
<el-table-column :show-overflow-tooltip="true" prop="categoryName" label=" 目标门类(整理库/管理库-文件表)" />
<el-table-column :show-overflow-tooltip="true" prop="documentName" label="源分类(预归档库-文件表)" />
<el-table-column :show-overflow-tooltip="true" prop="categoryName" label=" 目标门类(收集库/管理库-文件表)" />
<el-table-column :show-overflow-tooltip="true" prop="mate_num" label="已对应字段数量" /> <el-table-column :show-overflow-tooltip="true" prop="mate_num" label="已对应字段数量" />
<el-table-column prop="create_time" label="创建日期" width="200px"> <el-table-column prop="create_time" label="创建日期" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
@ -159,10 +159,10 @@ export default {
selectedDocumentName: null, selectedDocumentName: null,
rules: { rules: {
documentId: [ documentId: [
{ required: true, message: '请选择源分类(文件库分类)', trigger: 'input' }
{ required: true, message: '请选择源分类(预归档库分类)', trigger: 'input' }
], ],
categoryId: [ categoryId: [
{ required: true, message: '请选择目标门类(整理库/管理库门类)', trigger: 'input' }
{ required: true, message: '请选择目标门类(收集库/管理库门类)', trigger: 'input' }
] ]
} }
} }
@ -210,6 +210,7 @@ export default {
// //
this.$refs.corresForm.corresVisible = true this.$refs.corresForm.corresVisible = true
this.$refs.corresForm.title = '新增对应关系' this.$refs.corresForm.title = '新增对应关系'
this.$refs.corresForm.cuform.id = null
this.$refs.corresForm.cuform.ruleName = null this.$refs.corresForm.cuform.ruleName = null
this.$refs.corresForm.documentName = null this.$refs.corresForm.documentName = null
this.$refs.corresForm.cuform.documentId = this.form.documentId this.$refs.corresForm.cuform.documentId = this.form.documentId

4
src/views/system/fieldCorresManage/module/detail.vue

@ -16,7 +16,7 @@
<div class="corres-field-main"> <div class="corres-field-main">
<div class="corres-field-list corres-field-middle"> <div class="corres-field-list corres-field-middle">
<div class="corres-field-title"> <div class="corres-field-title">
<p>源分类文件-文件表</p>
<p>源分类预归档-文件表</p>
<span>{{ detailData.documentName }}</span> <span>{{ detailData.documentName }}</span>
</div> </div>
<div class="field-list"> <div class="field-list">
@ -30,7 +30,7 @@
</div> </div>
<div class="corres-field-list corres-field-right"> <div class="corres-field-list corres-field-right">
<div class="corres-field-title"> <div class="corres-field-title">
<p>目标门类整理/管理库-文件表</p>
<p>目标门类收集/管理库-文件表</p>
<span>{{ detailData.categoryName }}</span> <span>{{ detailData.categoryName }}</span>
</div> </div>
<div class="field-list"> <div class="field-list">

11
src/views/system/fieldCorresManage/module/form.vue

@ -17,7 +17,7 @@
<div class="corres-field-main"> <div class="corres-field-main">
<div class="corres-field-list corres-field-middle"> <div class="corres-field-list corres-field-middle">
<div class="corres-field-title"> <div class="corres-field-title">
<p>源分类文件-文件表</p>
<p>源分类预归档-文件表</p>
<span>{{ documentName }}</span> <span>{{ documentName }}</span>
</div> </div>
<div v-loading="leftLoading" class="field-list"> <div v-loading="leftLoading" class="field-list">
@ -40,7 +40,7 @@
</div> </div>
<div v-loading="rightLoading" class="corres-field-list corres-field-right"> <div v-loading="rightLoading" class="corres-field-list corres-field-right">
<div class="corres-field-title"> <div class="corres-field-title">
<p>目标门类整理/管理库-文件表</p>
<p>目标门类收集/管理库-文件表</p>
<span>{{ categoryName }}</span> <span>{{ categoryName }}</span>
</div> </div>
<div class="field-list"> <div class="field-list">
@ -132,6 +132,13 @@ export default {
this.corresVisible = false this.corresVisible = false
this.crud.refresh() this.crud.refresh()
this.crud.cancelCU() this.crud.cancelCU()
Object.assign(this.cuform, {
d: null,
ruleName: '',
documentId: null,
categoryId: null,
fieldMateDetails: []
})
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
}) })

3
src/views/system/fileLibraryManage/orderingRule/index.vue

@ -188,4 +188,7 @@ export default {
::v-deep .el-table tr .el-table__cell { ::v-deep .el-table tr .el-table__cell {
height: 40px; height: 40px;
} }
.tip{
line-height: 28px;
}
</style> </style>

9
src/views/system/fourCharacterDetection/index.vue

@ -174,7 +174,14 @@ export default {
handleNodeClick(val) { handleNodeClick(val) {
if (val) { if (val) {
if (val.id !== 0) { if (val.id !== 0) {
this.crud.query.secondaryClassId = val.name
console.log(val)
if (val.children) {
this.crud.query.primaryClassId = val.name
this.crud.query.secondaryClassId = null
} else {
this.crud.query.primaryClassId = null
this.crud.query.secondaryClassId = val.name
}
this.crud.toQuery() this.crud.toQuery()
} }
} }

4
src/views/system/log/loginLog/index.vue

@ -14,9 +14,9 @@
<el-table-column prop="username" label="用户名" align="center" min-width="150" /> <el-table-column prop="username" label="用户名" align="center" min-width="150" />
<el-table-column prop="fondsName" label="所属全宗" align="center" min-width="150" /> <el-table-column prop="fondsName" label="所属全宗" align="center" min-width="150" />
<el-table-column prop="det" label="所属部门" align="center" min-width="180" /> <el-table-column prop="det" label="所属部门" align="center" min-width="180" />
<el-table-column prop="role" label="用户角色" align="center" min-width="150">
<el-table-column prop="roleNames" label="用户角色" align="center" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.role | parseRole }}</div>
<div>{{ scope.row.roleNames | parseRole }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="requestIp" label="IP" align="center" min-width="180" /> <el-table-column prop="requestIp" label="IP" align="center" min-width="180" />

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

@ -5,7 +5,11 @@
<!-- 搜索 --> <!-- 搜索 -->
<el-input v-model="query.search" clearable size="small" placeholder="输入关键字搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> <el-input v-model="query.search" clearable size="small" placeholder="输入关键字搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<date-range-picker v-model="blurryTime" class="date-item" /> <date-range-picker v-model="blurryTime" class="date-item" />
<rrOperation />
<rrOperation>
<template v-slot:right>
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery()">重置</el-button>
</template>
</rrOperation>
</div> </div>
<crudOperation> <crudOperation>
<template v-slot:left> <template v-slot:left>
@ -36,18 +40,18 @@
<el-table-column prop="noticeTitle" :show-overflow-tooltip="true" label="标题" min-width="150" align="center" /> <el-table-column prop="noticeTitle" :show-overflow-tooltip="true" label="标题" min-width="150" align="center" />
<el-table-column prop="noticeContext" :show-overflow-tooltip="true" label="内容" align="center" min-width="200" /> <el-table-column prop="noticeContext" :show-overflow-tooltip="true" label="内容" align="center" min-width="200" />
<el-table-column :show-overflow-tooltip="true" label="发送对象" align="center" min-width="200"> <el-table-column :show-overflow-tooltip="true" label="发送对象" align="center" min-width="200">
<template v-if="scope.row.noticeDevices !== ''" slot-scope="scope">
{{ scope.row.noticeDevices }}
<!-- <template slot-scope="scope">
<div class="tag-hidden">
<el-tag v-for="(item,i) in scope.row.noticeUsers" :key="i" style="margin-left:3px; ">{{ item.pushUserName }}</el-tag>
</div>
</template> -->
<template slot-scope="scope">
用户{{ scope.row.noticeUsers && scope.row.noticeUsers !== null ? (scope.row.noticeUsers.includes(',') ? scope.row.noticeUsers.split(',').length : [scope.row.noticeUsers].length) : 0 }}
设备{{ scope.row.noticeDevices && scope.row.noticeDevices !== null ? scope.row.noticeDevices.split(',').length : 0 }}
<!-- <div class="tag-hidden"> <!-- <div class="tag-hidden">
<el-tag v-for="(item,i) in scope.row.noticeDevices" :key="i" style="margin-left:3px; color: #fff">{{ item }}</el-tag> <el-tag v-for="(item,i) in scope.row.noticeDevices" :key="i" style="margin-left:3px; color: #fff">{{ item }}</el-tag>
</div> --> </div> -->
</template> </template>
<template v-if="scope.row.noticeUsers !== ''" slot-scope="scope">
<!-- <div class="tag-hidden">
<el-tag v-for="(item,i) in scope.row.noticeUsers" :key="i" style="margin-left:3px; ">{{ item.pushUserName }}</el-tag>
</div> -->
{{ scope.row.noticeUsers }}
</template>
</el-table-column> </el-table-column>
<el-table-column prop="createBy" label="创建人" align="center" min-width="100" /> <el-table-column prop="createBy" label="创建人" align="center" min-width="100" />
<el-table-column prop="createTime" label="创建时间" align="center" min-width="180"> <el-table-column prop="createTime" label="创建时间" align="center" min-width="180">
@ -90,6 +94,7 @@
v-for="tag in pushObjItem" v-for="tag in pushObjItem"
v-else v-else
:key="tag.userId" :key="tag.userId"
v-model="form.userId"
:disable-transitions="false" :disable-transitions="false"
> >
{{ tag.username }} {{ tag.username }}
@ -129,7 +134,8 @@ export default {
edit: false, edit: false,
del: false, del: false,
download: false, download: false,
group: false
group: false,
reset: false
}}) }})
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
@ -170,6 +176,13 @@ export default {
this.crud.query.endTime = null this.crud.query.endTime = null
} }
}, },
resetQuery() {
this.crud.query.search = ''
this.blurryTime = null
this.crud.query.startTime = null
this.crud.query.endTime = null
this.crud.toQuery()
},
openSelectObj() { openSelectObj() {
this.$refs.selectObj.sendObjVisible = true this.$refs.selectObj.sendObjVisible = true
this.$refs.selectObj.getFondsDatas() this.$refs.selectObj.getFondsDatas()
@ -180,7 +193,11 @@ export default {
this.form.userId = selectItemAll.map(item => item.userId) this.form.userId = selectItemAll.map(item => item.userId)
this.form.deviceInfoId = [] this.form.deviceInfoId = []
} else { } else {
this.form.userId = []
if (this.pushObjItem.length !== 0) {
this.form.userId = selectItemAll.map(item => item.userId)
} else {
this.form.userId = []
}
} }
}, },
// //
@ -190,6 +207,23 @@ export default {
delete crud.form.noticeTypeName delete crud.form.noticeTypeName
return true return true
}, },
[CRUD.HOOK.afterAddCancel]() {
this.pushObjItem = []
this.$refs.selectObj.checkAll = false
this.$refs.selectObj.selectedItems = []
this.$refs.selectObj.selectObjForm = {
sendObj: 0
}
},
[CRUD.HOOK.afterSubmit]() {
this.pushObjItem = []
this.$refs.selectObj.checkAll = false
this.$refs.selectObj.selectedItems = []
this.$refs.selectObj.selectObjForm = {
sendObj: 0
}
},
handleDbClick(row) { handleDbClick(row) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.archiveDetailDom.detailVisible = true this.$refs.archiveDetailDom.detailVisible = true

97
src/views/system/notifyManage/module/selectObj.vue

@ -29,10 +29,14 @@
<!-- <i class="el-icon-circle-plus-outline" /> --> <!-- <i class="el-icon-circle-plus-outline" /> -->
<p class="obj-title">用户列表</p> <p class="obj-title">用户列表</p>
<div v-if="userListWithCheck.length !== 0"> <div v-if="userListWithCheck.length !== 0">
<el-checkbox
v-model="checkAll"
:indeterminate="indeterminate"
@change="checkedAll"
>用户</el-checkbox>
<div v-for="user in userListWithCheck" :key="user.userId"> <div v-for="user in userListWithCheck" :key="user.userId">
<el-checkbox v-model="user.checked" @change="handleChange(user)">{{ user.username }}</el-checkbox> <el-checkbox v-model="user.checked" @change="handleChange(user)">{{ user.username }}</el-checkbox>
</div> </div>
</div> </div>
<div v-else style="font-size:12px; text-align: center; line-height: 80px; color: #999;">暂无数据</div> <div v-else style="font-size:12px; text-align: center; line-height: 80px; color: #999;">暂无数据</div>
</div> </div>
@ -81,6 +85,8 @@ export default {
selectObjForm: { selectObjForm: {
sendObj: 0 sendObj: 0
}, },
checkAll: false,
indeterminate: false,
userList: [], userList: [],
selectedItems: [], selectedItems: [],
userListWithCheck: [], // userListWithCheck: [], //
@ -112,6 +118,7 @@ export default {
methods: { methods: {
getFondsDatas() { getFondsDatas() {
const parent = {} const parent = {}
this.fondsDatas = []
parent.id = 0 parent.id = 0
parent.fondsName = '全宗选择' parent.fondsName = '全宗选择'
FetchFondsAll().then(res => { FetchFondsAll().then(res => {
@ -121,9 +128,9 @@ export default {
parent.children = res parent.children = res
this.fondsDatas.push(parent) this.fondsDatas.push(parent)
this.$nextTick(() => { this.$nextTick(() => {
Vue.set(this.defaultExpandedKeys, 0, this.fondsDatas[0].children[0].children[0].id)
this.$refs.tree.setCurrentKey(this.fondsDatas[0].children[0].children[0].id)
this.handleNodeClick(this.fondsDatas[0].children[0].children[0])
Vue.set(this.defaultExpandedKeys, 0, this.fondsDatas[0].children[0].id)
this.$refs.tree.setCurrentKey(this.fondsDatas[0].children[0].id)
this.handleNodeClick(this.fondsDatas[0].children[0])
}) })
}) })
}, },
@ -136,18 +143,68 @@ export default {
'deptsName': null 'deptsName': null
} }
} else { } else {
params = {
'deptsId': data.id,
'deptsName': data.deptsName
if (data.fondsNo) {
params = {
'fondsId': data.id,
'deptsId': null,
'deptsName': null
}
} else {
params = {
'deptsId': data.id,
'deptsName': data.deptsName
}
} }
} }
this.getUserList(params) this.getUserList(params)
}, },
checkedAll(checked) {
if (this.selectedItems.length !== 0) {
const missingUsers = this.userListWithCheck.filter(user => !this.isSelected(user))
console.log('missingUsers', missingUsers)
if (missingUsers.length !== 0) {
if (this.checkAll) {
missingUsers.forEach(user => {
this.selectedItems.push(user)
})
} else {
this.selectedItems = []
}
} else {
this.userListWithCheck.forEach(user => {
const index = this.selectedItems.findIndex(selectedUser => selectedUser.userId === user.userId)
if (index > -1) {
this.selectedItems.splice(index, 1)
this.checkAll = false
}
})
}
} else {
if (checked) {
this.selectedItems = this.userListWithCheck.map(item => item)
this.checkAll = true
} else {
this.selectedItems = []
this.checkAll = false
}
}
},
isSelected(user) {
return this.selectedItems.some(selectedUser => selectedUser.userId === user.userId)
},
resetCheckedState() { resetCheckedState() {
// //
this.userListWithCheck = this.userList.map(user => { this.userListWithCheck = this.userList.map(user => {
return { ...user, checked: false } return { ...user, checked: false }
}) })
if (this.selectedItems.length !== 0) {
const isAllSelected = this.userListWithCheck.every(user => this.isSelected(user))
if (isAllSelected) {
this.checkAll = true
} else {
this.checkAll = false
}
}
}, },
updateCheckedState() { updateCheckedState() {
this.userListWithCheck.forEach(user => { this.userListWithCheck.forEach(user => {
@ -169,10 +226,23 @@ export default {
handleChange(user) { handleChange(user) {
if (user.checked) { if (user.checked) {
this.selectedItems.push(user) this.selectedItems.push(user)
if (this.selectedItems.length !== 0) {
const allUsersSelected = this.userListWithCheck.every(user => this.isSelected(user))
if (allUsersSelected) {
console.log('所有左边的用户都已加入到右边已选中的列表中')
this.checkAll = true
} else {
this.checkAll = false
console.log('左边的用户列表还有未加入到右边已选中的列表中的用户')
}
} else {
this.checkAll = this.selectedItems.length === this.userListWithCheck.length
}
} else { } else {
const index = this.selectedItems.findIndex(selectedUser => selectedUser.userId === user.userId) const index = this.selectedItems.findIndex(selectedUser => selectedUser.userId === user.userId)
if (index > -1) { if (index > -1) {
this.selectedItems.splice(index, 1) this.selectedItems.splice(index, 1)
this.checkAll = false
} }
} }
}, },
@ -181,8 +251,21 @@ export default {
}, },
handleDelt(tag) { handleDelt(tag) {
this.selectedItems.splice(this.selectedItems.indexOf(tag), 1) this.selectedItems.splice(this.selectedItems.indexOf(tag), 1)
if (this.selectedItems.length !== 0) {
const allUsersSelected = this.userListWithCheck.every(user => this.isSelected(user))
if (allUsersSelected) {
console.log('所有左边的用户都已加入到右边已选中的列表中')
this.checkAll = true
} else {
this.checkAll = false
console.log('左边的用户列表还有未加入到右边已选中的列表中的用户')
}
} else {
this.checkAll = this.selectedItems.length === this.userListWithCheck.length
}
}, },
clearSelectAll() { clearSelectAll() {
this.checkAll = false
this.selectedItems = [] this.selectedItems = []
}, },
handleSaveSelectObj() { handleSaveSelectObj() {

22
src/views/system/user/index.vue

@ -360,26 +360,25 @@ export default {
this.levelNumber = 0 this.levelNumber = 0
form.roles = [] form.roles = []
form.posts = [] form.posts = []
this.leftDeptsId = crud.form.deptId
if (this.leftFondsId) { if (this.leftFondsId) {
form.fonds.id = this.leftFondsId form.fonds.id = this.leftFondsId
form.dept.id = this.leftDeptsId form.dept.id = this.leftDeptsId
this.changeFondsValue(this.leftFondsId) this.changeFondsValue(this.leftFondsId)
this.levelNumber = 4 this.levelNumber = 4
} }
if (form.roleIds.includes(',')) { if (form.roleIds.includes(',')) {
const arr = form.roleIds.split(',') const arr = form.roleIds.split(',')
this.roles.map((role) => { this.roles.map((role) => {
arr.forEach(item => { arr.forEach(item => {
if (item === String(role.id)) {
if (item === String(role.name)) {
return form.roles.push(role) return form.roles.push(role)
} }
}) })
}) })
} else { } else {
this.roles.map((role) => { this.roles.map((role) => {
if (form.roleIds === String(role.id)) {
if (form.roleIds === String(role.name)) {
return form.roles.push(role) return form.roles.push(role)
} }
}) })
@ -388,14 +387,14 @@ export default {
const arr = form.postIds.split(',') const arr = form.postIds.split(',')
this.posts.map((post) => { this.posts.map((post) => {
arr.forEach(item => { arr.forEach(item => {
if (item === String(post.id)) {
if (item === String(post.postName)) {
return form.posts.push(post) return form.posts.push(post)
} }
}) })
}) })
} else { } else {
this.posts.map((post) => { this.posts.map((post) => {
if (form.postIds === String(post.id)) {
if (form.postIds === String(post.postName)) {
return form.posts.push(post) return form.posts.push(post)
} }
}) })
@ -530,10 +529,9 @@ export default {
// //
handleNodeClick(data) { handleNodeClick(data) {
console.log(data) console.log(data)
const selectedKey = this.$refs.tree.getCurrentNode() const selectedKey = this.$refs.tree.getCurrentNode()
const selectedParentVal = this.$refs.tree.getNode(selectedKey).parent.data.id
console.log(selectedParentVal)
// const selectedParentVal = this.$refs.tree.getNode(selectedKey).parent.data.id
console.log('selectedKey', selectedKey)
if (data.pid === 0) { if (data.pid === 0) {
this.query.deptsId = null this.query.deptsId = null
this.query.deptsName = null this.query.deptsName = null
@ -541,15 +539,17 @@ export default {
this.leftDeptsId = null this.leftDeptsId = null
} else { } else {
if (data.fondsNo) { if (data.fondsNo) {
const selectedParentVal = this.$refs.tree.getNode(selectedKey).data.id
this.query.fondsId = data.id this.query.fondsId = data.id
this.query.deptsId = null this.query.deptsId = null
this.query.deptsName = null this.query.deptsName = null
this.leftFondsId = selectedParentVal
} else { } else {
const selectedParentVal = this.$refs.tree.getNode(selectedKey).parent.data.id
this.query.deptsId = data.id this.query.deptsId = data.id
this.query.deptsName = data.deptsName this.query.deptsName = data.deptsName
this.leftFondsId = selectedParentVal
} }
this.leftFondsId = selectedParentVal
this.leftDeptsId = data.id
} }
this.crud.toQuery() this.crud.toQuery()
}, },

Loading…
Cancel
Save