Browse Source

门类管理档案管理 接口对接

master
z_yu 3 years ago
parent
commit
cec5482353
  1. 2
      src/api/archivesManage/archivesList.js
  2. 27
      src/api/category/fieldManage.js
  3. 83
      src/views/archivesManage/archivesList/archivesDetail.vue
  4. 12
      src/views/category/fieldManage/index.vue
  5. 3
      src/views/category/fieldManage/module/form.vue
  6. 26
      src/views/components/category/SettingForm.vue

2
src/api/archivesManage/archivesList.js

@ -45,4 +45,4 @@ export function del(ids) {
})
}
export default { add, edit, getTableDisplayFields, getFormDisplayFields }
export default { add, edit, del, getTableDisplayFields, getFormDisplayFields }

27
src/api/category/fieldManage.js

@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/archives-type/createDic',
method: 'post',
data
})
}
export function del(ids) {
const data = ids ? ids.join() : ''
return request({
url: 'api/dictrionary/delete',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/archives-type/update',
method: 'put',
data
})
}
export default { add, edit, del }

83
src/views/archivesManage/archivesList/archivesDetail.vue

@ -5,32 +5,10 @@
<div class="head-archives-top">
<div class="head-search">
<!-- 搜索 -->
<el-input
v-model="query.blurry"
clearable
size="small"
placeholder="请输入关键词"
prefix-icon="el-icon-search"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<el-select
v-model="query.enabled"
clearable
size="small"
placeholder="状态"
class="filter-item"
style="width: 126px"
@change="crud.toQuery"
>
<el-input v-model="query.blurry" clearable size="small" placeholder="请输入关键词" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 126px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai-fanbai" />
<el-option
v-for="item in stateOptions"
:key="item.key"
:label="item.label"
:value="item.key"
/>
<el-option v-for="item in stateOptions" :key="item.key" :label="item.label" :value="item.key" />
</el-select>
<rrOperation />
</div>
@ -52,7 +30,7 @@
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<PreviewForm :is-disabled="false" />
<PreviewForm :is-disabled="false" :this-fields="form" />
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
@ -83,17 +61,7 @@
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading || getTableDisplayFieldsLoading"
class="archives-table"
:data="crud.data"
highlight-current-row
style="width: 100%; "
height="calc(100vh - 370px)"
@selection-change="crud.selectionChangeHandler"
@row-click="clickRowHandler"
>
<el-table ref="table" v-loading="crud.loading || getTableDisplayFieldsLoading" class="archives-table" :data="crud.data" highlight-current-row style="width: 100%; " height="calc(100vh - 370px)" @selection-change="crud.selectionChangeHandler" @row-click="clickRowHandler">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column v-for="field in tableDisplayFields" :key="field.id" :label="field.fieldCnName" :align="field.displayformatType" :width="field.displayLength" show-overflow-tooltip>
@ -133,7 +101,7 @@
</template>
<script>
import { add, edit, getTableDisplayFields, getFormDisplayFields } from '@/api/archivesManage/archivesList'
import { add, edit, del, getTableDisplayFields, getFormDisplayFields } from '@/api/archivesManage/archivesList'
import CRUD, { presenter, header, form } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import rrOperation from '@crud/RR.operation'
@ -151,13 +119,7 @@ export default {
selectedCategory: {
type: Object,
default: function() {
return {
cnName: '',
isType: '',
parentName: '',
isColumnLength: '',
remark: ''
}
return {}
}
}
},
@ -166,8 +128,8 @@ export default {
CRUD({
title: '档案',
url: 'api/archives/initArchivesView',
query: { categoryId: 'FFAFBB1647D459C82080A', isdel: false },
crudMethod: { add, edit },
query: { isdel: false },
crudMethod: { add, edit, del },
optShow: {
add: true,
edit: true,
@ -176,7 +138,7 @@ export default {
download: true,
group: false
},
// queryOnPresenterCreated: false,
queryOnPresenterCreated: false,
sort: ['department,asc']
})
]
@ -221,18 +183,28 @@ export default {
defaultForm: {}
}
},
watch: {
selectedCategory: function(newValue, oldValue) {
//
if (newValue.isType === 3 || newValue.isType === 4 || newValue.isType === 5) {
this.crud.query.categoryId = newValue.id
this.crud.refresh()
}
}
},
methods: {
[CRUD.HOOK.beforeRefresh]() {
this.getTableDisplayFieldsLoading = true
//
getTableDisplayFields({ categoryId: 'FFAFBB1647D459C82080A' }).then(data => {
this.tableDisplayFields = data.filter((fields) => { return fields.isDisplay })
getTableDisplayFields({ categoryId: this.selectedCategory.id }).then(data => {
this.tableDisplayFields = data
this.getTableDisplayFieldsLoading = false
return true
})
},
[CRUD.HOOK.beforeToCU]() {
getFormDisplayFields({ categoryId: 'FFAFBB1647D459C82080A' }).then(data => {
this.form.dictionaryConfigId = {}
getFormDisplayFields({ categoryId: this.selectedCategory.id }).then(data => {
this.formPreviewData = data.showFiled.filter((fields) => { return fields.isInput })
this.formPreviewData.map(item => {
this.rules[item.fieldName] = [
@ -247,15 +219,8 @@ export default {
} else {
this.crud.defaultForm[item.fieldName] = null
}
if (item.sysDictionaryId) {
// this.$nextTick(() => {
// //
// this.getDict(item.sysDictionaryId)
// })
}
})
this.crud.defaultForm.categoryId = 'FFAFBB1647D459C82080A'
this.form.categoryId = 'FFAFBB1647D459C82080A'
this.form.categoryId = this.selectedCategory.id
return true
})
},

12
src/views/category/fieldManage/index.vue

@ -30,7 +30,7 @@
<span v-if="scope.row.isInputClass === 'textarea'">文本域</span>
</template>
</el-table-column>
<el-table-column prop="sysDictionaryId" label="对应字典" min-width="85" />
<el-table-column prop="dictionaryConfigId.dicName" label="对应字典" min-width="85" />
<el-table-column prop="editLength" label="显示长度" min-width="85" />
<el-table-column label="显示一整行" min-width="110" align="center">
<template slot-scope="scope">
@ -81,16 +81,19 @@
</template>
<script>
import { add, edit } from '@/api/archivesConfig/field'
import { add, edit } from '@/api/category/fieldManage'
import eForm from './module/form'
import CRUD, { presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
export default {
components: { eForm, crudOperation },
mixins: [presenter()],
mixins: [
presenter()
],
cruds() {
return CRUD({
debugger: 'true',
tag: 'field',
url: 'api/archives-type/manage',
crudMethod: { add, edit },
@ -153,6 +156,9 @@ export default {
[CRUD.HOOK.beforeRefresh]() {
this.crud.query.categoryId = this.selectedCategory.id
},
[CRUD.HOOK.beforeToCU](crud) {
crud.selections[0].dictionaryConfigId = crud.selections[0].dictionaryConfigId || {}
},
clickRowHandler(row) {
this.$refs.fieldTable.clearSelection()
this.$refs.fieldTable.toggleRowSelection(row)

3
src/views/category/fieldManage/module/form.vue

@ -3,7 +3,7 @@
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<SettingForm ref="editForm" :is-disabled="false" :is-add="true" :this-fields="{}" />
<SettingForm ref="editForm" :is-disabled="false" :is-add="crud.status.add === 1" :this-fields="form" />
<div slot="footer" class="dialog-footer">
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">
保存
@ -18,6 +18,7 @@ import { form } from '@crud/crud'
import SettingForm from '@/views/components/category/SettingForm'
const defaultForm = {
dictionaryConfigId: {}
}
export default {
components: { SettingForm },

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

@ -31,10 +31,10 @@
</el-select>
</el-form-item>
<el-form-item label="对应字典" prop="sysDictionaryId">
<el-input v-if="isDisabled" v-model="form.sysDictionaryId" readonly />
<el-form-item label="对应字典" prop="dictionaryConfigId">
<el-input v-if="isDisabled" v-model="form.dictionaryConfigId.dicName" readonly />
<!-- @change="selectDictionary" -->
<el-select v-else v-model="form.sysDictionaryId" placeholder="" value-key="dicName">
<el-select v-else v-model="form.dictionaryConfigId.id" placeholder="" value-key="id">
<el-option v-for="item in dictionaryData" :key="item.id" :label="item.dicName" :value="item.id" />
</el-select>
</el-form-item>
@ -48,27 +48,27 @@
<el-col :span="9">
<el-form-item class="checkbox-item">
<span>显示一整行</span>
<el-checkbox v-model="form.isLine" label="" name="isLine" :disabled="isDisabled" @change="changeIsLine" />
<el-checkbox v-model="form.isLine" name="isLine" :disabled="isDisabled" @change="changeIsLine" />
</el-form-item>
<el-form-item class="checkbox-item">
<span>输入字段</span>
<el-checkbox v-model="form.isInput" label="" name="isInput" :disabled="isDisabled" />
<el-checkbox v-model="form.isInput" name="isInput" :disabled="isDisabled" />
</el-form-item>
<el-form-item class="checkbox-item">
<span>必填字段</span>
<el-checkbox v-model="form.isRequired" label="" name="isRequired" :disabled="isDisabled" />
<el-checkbox v-model="form.isRequired" name="isRequired" :disabled="isDisabled" />
</el-form-item>
<el-form-item class="checkbox-item">
<span>自动生成</span>
<el-checkbox v-model="form.isAutomatic" label="" name="isAutomatic" :disabled="isDisabled" @change="changeAuto" />
<el-checkbox v-model="form.isAutomatic" name="isAutomatic" :disabled="isDisabled" @change="changeAuto" />
</el-form-item>
<el-form-item class="checkbox-item">
<span>值不重复</span>
<el-checkbox v-model="form.isRepeat" label="" name="isRepeat" :disabled="isDisabled" />
<el-checkbox v-model="form.isRepeat" name="isRepeat" :disabled="isDisabled" />
</el-form-item>
<el-form-item class="checkbox-item">
<span>自动补零</span>
<el-checkbox v-model="form.isFilling" label="" name="isFilling" :disabled="isDisabled" @change="changeSupplement" />
<el-checkbox v-model="form.isFilling" name="isFilling" :disabled="isDisabled" @change="changeSupplement" />
</el-form-item>
<el-form-item class="input-num" label="位数" prop="fillingDigit">
<el-input v-if="isDisabled" v-model="form.fillingDigit" readonly />
@ -341,17 +341,17 @@ export default {
}
</script>
<style lang="scss" scoped>
.des-form{
.des-form {
width: 496px;
padding: 20px 38px 20px 20px;
margin-top: 30px;
border-radius: 4px;
background-color: #02255F;
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{
::v-deep .el-checkbox__inner::after {
cursor: default;
}
}
}
</style>
Loading…
Cancel
Save