Browse Source

门类接口以及Bug修改

master
z_yu 3 years ago
parent
commit
fb1ce4465a
  1. 2
      src/api/category/category.js
  2. 2
      src/views/category/fieldManage/index.vue
  3. 12
      src/views/category/index.vue
  4. 2
      src/views/category/listBrowsing/index.vue
  5. 2
      src/views/category/listBrowsing/module/form.vue
  6. 59
      src/views/category/orderingRule/index.vue
  7. 29
      src/views/category/orderingRule/module/form.vue
  8. 9
      src/views/category/orderingRule/module/sortDialog.vue

2
src/api/category/category.js

@ -16,7 +16,7 @@ export function getCategoryType() {
export function FetchArchivesTypeManage(params) {
return request({
url: 'api/archives-dic/manage',
url: 'api/arc-dic/manage',
method: 'get',
params
})

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

@ -95,7 +95,7 @@ export default {
cruds() {
return CRUD({
tag: 'field',
url: 'api/archives-type/manage',
url: 'api/arc-dic/manage',
crudMethod: fieldCrudMethod,
title: '字段',
optShow: {

12
src/views/category/index.vue

@ -52,11 +52,11 @@
<span class="left-bottom-line" />
<ul class="tab-nav">
<li :class="{'active-tab-nav': activeIndex == 0}" @click="changeActiveTab(0)">基本信息<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1 && selectedCategory.isType !== 2" :class="{'active-tab-nav': activeIndex == 1}" @click="changeActiveTab(1)">门类字段管理<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1 && selectedCategory.isType !== 2" :class="{'active-tab-nav': activeIndex == 2}" @click="changeActiveTab(2)">著录界面管理<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1 && selectedCategory.isType !== 2" :class="{'active-tab-nav': activeIndex == 3}" @click="changeActiveTab(3)">列表界面浏览设置<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1 && selectedCategory.isType !== 2" :class="{'active-tab-nav': activeIndex == 4}" @click="changeActiveTab(4)">浏览排序规则设置<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1 && selectedCategory.isType !== 2" :class="{'active-tab-nav': activeIndex == 5}" @click="changeActiveTab(5)">档号规则设置<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1" :class="{'active-tab-nav': activeIndex == 1}" @click="changeActiveTab(1)">门类字段管理<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1" :class="{'active-tab-nav': activeIndex == 2}" @click="changeActiveTab(2)">著录界面管理<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1" :class="{'active-tab-nav': activeIndex == 3}" @click="changeActiveTab(3)">列表界面浏览设置<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1" :class="{'active-tab-nav': activeIndex == 4}" @click="changeActiveTab(4)">浏览排序规则设置<i /></li>
<li v-if="selectedCategory.isType && selectedCategory.isType !== 1" :class="{'active-tab-nav': activeIndex == 5}" @click="changeActiveTab(5)">档号规则设置<i /></li>
<!-- 最右侧装饰img -->
<span class="tab-right-img" />
</ul>
@ -194,7 +194,7 @@ export default {
this.crud.selectionChangeHandler([val])
this.$refs.eform.pid = val.id
this.selectedCategory = val
if (val.isType === 1 || val.isType === 2) {
if (val.isType === 1) {
this.changeActiveTab(0)
}
//

2
src/views/category/listBrowsing/index.vue

@ -165,7 +165,7 @@ export default {
this.table[tableName].selections = val
},
toAdd() {
this.table.left.selections.forEach((item, index) => {
this.table.left.selections.forEach((item) => {
Vue.set(item, 'displayLength', 100)
Vue.set(item, 'displayformatType', 'center')
item.isDisplay = true

2
src/views/category/listBrowsing/module/form.vue

@ -19,7 +19,7 @@
</el-col>
<el-col :span="7">
<el-form-item label="显示格式" :prop="'fields.' + index + '.displayformatType'">
<el-select v-model="item.displayformatType" placeholder="请选择">
<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>

59
src/views/category/orderingRule/index.vue

@ -39,11 +39,11 @@
</template>
</el-table-column>
</el-table>
<!--表单渲染-->
<eForm ref="cuform" />
</div>
<!--表单渲染-->
<eForm ref="cuform" @refresh="initData" />
<!--排序对话框组件-->
<sortDialog ref="sort" @doSort="doSort" />
<sortDialog ref="sort" @refresh="initData" />
<!--删除对话框组件-->
<el-dialog title="移除字段" :visible.sync="deleteVisible">
<span class="dialog-right-top" />
@ -62,8 +62,10 @@
<script>
import { FetchArchivesTypeManage } from '@/api/category/category'
import { edit } from '@/api/category/listBrowsing'
import eForm from './module/form'
import sortDialog from './module/sortDialog'
import Vue from 'vue'
export default {
components: { eForm, sortDialog },
@ -84,12 +86,6 @@ export default {
sort: ['admin', 'orderingRule:sort']
},
deleteVisible: false,
// form: {
// verifyCode: ''
// },
// formLabelWidth: '110px',
// btn: '',
// showVerifyDialog: true,
sortLoading: false,
delAllLoading: false,
table: {
@ -123,10 +119,10 @@ export default {
},
methods: {
initData() {
FetchArchivesTypeManage({ categoryId: this.selectedCategory.id, isDataType: 2, isInput: 'true' }).then((res) => {
FetchArchivesTypeManage({ categoryId: this.selectedCategory.id, isDataType: 2, isInput: 'true', isDisplay: 'true' }).then((res) => {
this.table.right.data.splice(0, this.table.right.data.length)
this.table.left.data.splice(0, this.table.left.data.length)
res.forEach((item) => {
res.sort((item) => { return item.queue - item.queue }).forEach((item) => {
if (item.displayOrderBy) {
this.table.right.data.push(item)
} else {
@ -142,18 +138,16 @@ export default {
this.table[tableName].selections = val
},
toAdd() {
this.$refs.cuform.formData = this.table.left.selections.map((item) => {
const field = {
id: item.id,
fieldCnName: item.fieldCnName,
displayOrderBy: 'asc'
}
return field
this.table.left.selections.forEach((item) => {
Vue.set(item, 'displayOrderBy', 'asc')
})
this.$refs.cuform.title = '新增字段'
this.$refs.cuform.formData.fields = this.table.left.selections
this.$refs.cuform.cuDialogVisible = true
},
toEdit() {
this.$refs.cuform.formData = this.table.right.selections
this.$refs.cuform.title = '编辑字段'
this.$refs.cuform.formData.fields = this.table.right.selections
this.$refs.cuform.cuDialogVisible = true
},
toDelete() {
@ -162,7 +156,12 @@ export default {
handleDelConfirm() {
this.deleteVisible = false
this.delAllLoading = true
// sort(encrypt(this.form.verifyCode)).then((res) => {
const deleteData = this.table.right.selections.map((item) => {
item.displayOrderBy = null
item.queue = null
return item
})
edit(deleteData).then((res) => {
this.delAllLoading = false
this.$notify({
title: '删除成功',
@ -170,29 +169,11 @@ export default {
duration: 2500
})
this.initData()
// }).catch(() => {
// this.delAllLoading = false
// })
})
},
toSort() {
// findSubsetById(data[0].id).then(res => {
this.$refs.sort.sortTableData = this.table.right.data
this.$refs.sort.sortVisible = true
// })
},
doSort(data) {
this.sortLoading = true
// sort(encrypt(this.form.verifyCode)).then((res) => {
this.sortLoading = false
this.$notify({
title: '保存成功',
type: 'success',
duration: 2500
})
this.getRightTableData()
// }).catch(() => {
// this.sortLoading = false
// })
}
}
}

29
src/views/category/orderingRule/module/form.vue

@ -1,11 +1,11 @@
<template>
<el-dialog :close-on-click-modal="false" :visible.sync="cuDialogVisible" title="修改字段">
<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="form" :model="formData" size="small" label-width="75px">
<el-row v-for="(item) in formData" :key="item.id" :gutter="10">
<el-row v-for="(item) in formData.fields" :key="item.id" :gutter="10">
<el-col :span="13">
<el-form-item label="组成字段">
<el-input v-model="item.fieldCnName" :disabled="true" />
@ -23,24 +23,39 @@
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitCU">保存</el-button>
<el-button type="primary" @click="save">保存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import { edit } from '@/api/category/listBrowsing'
export default {
data() {
return {
cuDialogVisible: false,
formData: []
formData: [],
title: ''
}
},
methods: {
submitCU() {
console.log(2)
// this.cuDialogVisible = false
save() {
this.$refs['formData'].validate((valid) => {
if (valid) {
edit(this.formData.fields).then((res) => {
this.$notify({
title: '保存成功',
type: 'success',
duration: 2500
})
this.cuDialogVisible = false
this.$emit('refresh')
})
} else {
return false
}
})
}
}
}

9
src/views/category/orderingRule/module/sortDialog.vue

@ -18,6 +18,7 @@
<script>
import Sortable from 'sortablejs'
import { edit } from '@/api/category/listBrowsing'
export default {
data() {
@ -45,7 +46,13 @@ export default {
this.rowDrop('ordering-rule-sort', 'sortTableData')
},
handleSort() {
this.sortTableData.forEach((item, index) => {
item.sort = index + 1
})
edit(this.sortTableData).then(() => {
this.sortVisible = false
this.$emit('refresh')
})
}
}
}

Loading…
Cancel
Save