Browse Source

档案盒管理 添加

master
z_yu 3 years ago
parent
commit
1a2aa73cf8
  1. 2
      src/api/archivesManage/archivesList.js
  2. 39
      src/api/archivesManage/caseManage.js
  3. 115
      src/views/archivesManage/caseManage/index.vue
  4. 71
      src/views/archivesManage/caseManage/module/form.vue
  5. 2
      src/views/category/fieldManage/module/form.vue

2
src/api/archivesManage/archivesList.js

@ -17,7 +17,7 @@ export function getFormDisplayFields(params) {
}
export function add(form) {
edit(form)
return edit(form)
}
export function edit(parameter) {

39
src/api/archivesManage/caseManage.js

@ -0,0 +1,39 @@
import request from '@/utils/request'
import qs from 'qs'
// import { form } from '../../components/Crud/crud'
export function getTableDisplayFields(params) {
return request({
url: 'api/archives/initArchivesViewTable' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export function getFormDisplayFields(params) {
return request({
url: 'api/archives/doedit' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export function add(form) {
return edit(form)
}
export function edit(parameter) {
return request({
url: 'api/case/edit',
method: 'post',
data: parameter
})
}
export function del(parameter) {
return request({
url: 'api/archives/delete',
method: 'post',
data: parameter
})
}
export default { add, edit, del, getTableDisplayFields, getFormDisplayFields }

115
src/views/archivesManage/caseManage/index.vue

@ -0,0 +1,115 @@
<template>
<div>
<!--工具栏-->
<div class="head-container">
<crudOperation :permission="permission">
<template v-slot:right>
<el-button icon="el-icon-delete" size="mini">导出</el-button>
</template>
<template v-slot:rightButtonGroup>
<div class="archives-handler-btn">
<el-button class="packing-btn iconfont icon-weibiaoti-2" type="primary">拆盒</el-button>
<el-button class="binding-btn iconfont icon-weibiaoti-2" type="primary">绑定标签</el-button>
</div>
</template>
</crudOperation>
</div>
<div class="app-container container-wrap">
<span class="right-top-line" />
<span class="left-bottom-line" />
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" height="calc(100vh - 463px)" @selection-change="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 prop="depositNum" label="已装" align="center" />
<el-table-column prop="caseName" label="盒名称" align="center" />
<el-table-column prop="tid" label="TID" align="center" />
<el-table-column prop="barcode" label="条形码" align="center" />
<el-table-column label="存放位置" align="center">
<template slot-scope="scope">
<span v-if="scope.row.folderLocationDetails === ''">-</span>
<span v-else>{{ scope.row.folderLocationDetails }}</span>
</template>
</el-table-column>
<el-table-column prop="update_time" width="175" label="操作时间" align="center">
<template slot-scope="scope">
<div>{{ scope.row.update_time | parseTime }}</div>
</template>
</el-table-column>
<el-table-column prop="isColumnLength" label="操作" align="center" />
</el-table>
<!--新增编辑表单渲染-->
<eForm />
<pagination />
</div>
</div>
</template>
<script>
import caseCrudMethod from '@/api/archivesManage/caseManage'
import eForm from './module/form'
import CRUD, { presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination'
export default {
components: { eForm, crudOperation, pagination },
mixins: [presenter()],
cruds() {
return CRUD({
url: 'api/case/initCaseList',
crudMethod: caseCrudMethod,
title: '档案盒',
optShow: {
add: true,
edit: true,
del: true,
download: false,
group: false
}
})
},
data() {
return {
permission: {
add: ['admin', 'caseManage:add'],
edit: ['admin', 'caseManage:edit'],
del: ['admin', 'caseManage:del']
},
verifyDialVisible: false
}
},
methods: {
handleConfirm() {
},
handleClose(done) {
done()
},
clickRowHandler(row) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row)
}
// ,
// selectionChangeHandler(val) {
// if (val.length > 1) {
// // val
// const finalVal = val.pop()
// //
// this.$refs.table.clearSelection()
// //
// this.$refs.table.toggleRowSelection(finalVal)
// this.crud.selectionChangeHandler([finalVal])
// } else {
// this.crud.selectionChangeHandler(val)
// }
// }
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "~@/assets/styles/archives-manage.scss";
::v-deep div.el-dialog__footer {
text-align: center;
}
</style>

71
src/views/archivesManage/caseManage/module/form.vue

@ -0,0 +1,71 @@
<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" />
<div class="setting-dialog">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="盒名称" prop="caseName">
<el-input v-model="form.caseName" style="width: 370px;" />
</el-form-item>
<el-form-item label="条形码" prop="barcode">
<el-input v-model="form.barcode" style="width: 370px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">
保存
</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import { form } from '@crud/crud'
const defaultForm = {
id: null,
caseName: null,
barcode: null
}
export default {
mixins: [form(defaultForm)],
data() {
// var checkMaxLength = (rule, value, callback) => {
// if (value !== undefined && (!Number.isInteger(value) || value <= 0)) {
// callback(new Error(''))
// } else {
// if (this.form.isDataType === 1 && value > 2000) {
// callback(new Error('2000'))
// } else if (this.form.isDataType === 2 && value > 11) {
// callback(new Error('11'))
// } else {
// callback()
// }
// }
// }
// var checkFieldName = (rule, value, callback) => {
// const reg = /^(([A-Za-z][A-Za-z_]*[a-zA-Z])|([A-Za-z]))$/
// if (reg.test(value)) {
// callback()
// } else {
// callback(new Error('_'))
// }
// }
return {
rules: {
caseName: [
{ required: true, message: '请输入盒名称', trigger: 'blur' }
]
// ,
// barcode: [
// { validator: checkFieldName, trigger: 'blur' }
// ]
}
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

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

@ -31,7 +31,7 @@ const defaultForm = {
isType: null,
isSystem: true,
isLine: false,
isInput: false,
isInput: true,
isRequired: false,
isAutomatic: false,
isAdd: null,

Loading…
Cancel
Save