Browse Source

api-门类字段

master
xuhuajiao 2 years ago
parent
commit
fca2287cf2
  1. 29
      src/api/system/field.js
  2. 44
      src/views/components/field/index.vue
  3. 11
      src/views/components/field/module/form.vue

29
src/api/system/field.js

@ -0,0 +1,29 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/categoryField/editField',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/categoryField/editField',
method: 'post',
data
})
}
export function verifyMaintenance(code) {
const params = {
code
}
return request({
url: 'api/dictionary/maintenanceVerification',
method: 'get',
params
})
}
export default { add, edit, verifyMaintenance }

44
src/views/components/field/index.vue

@ -2,7 +2,14 @@
<div> <div>
<!--工具栏--> <!--工具栏-->
<div class="head-container"> <div class="head-container">
<crudOperation :permission="permission" />
<crudOperation :permission="permission">
<template v-slot:right>
<el-button :loading="crud.downloadLoading" size="mini" @click="doExport(crud.selections)">
<i class="iconfont icon-daochu" />
全部导出
</el-button>
</template>
</crudOperation>
</div> </div>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" height="calc(100vh - 286px)" @selection-change="selectionChangeHandler" @row-click="clickRowHandler"> <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" height="calc(100vh - 286px)" @selection-change="selectionChangeHandler" @row-click="clickRowHandler">
@ -19,8 +26,8 @@
<el-table-column prop="isColumnLength" label="字段长度" /> <el-table-column prop="isColumnLength" label="字段长度" />
<el-table-column label="默认值"> <el-table-column label="默认值">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.isDefaultValue === ''">-</span>
<span v-else>{{ scope.row.isDefaultValue }}</span>
<span v-if="scope.row.defaultValue === ''">-</span>
<span v-else>{{ scope.row.defaultValue }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -47,25 +54,27 @@
</template> </template>
<script> <script>
import { add, edit, verifyMaintenance } from '@/api/archivesConfig/field'
import { add, edit, verifyMaintenance } from '@/api/system/field'
import eForm from './module/form' import eForm from './module/form'
import { encrypt } from '@/utils/rsaEncrypt' import { encrypt } from '@/utils/rsaEncrypt'
import CRUD, { presenter } from '@crud/crud' import CRUD, { presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import { mapGetters } from 'vuex'
import { exportFile } from '@/utils/index'
import qs from 'qs'
export default { export default {
name: 'Field', name: 'Field',
components: { eForm, crudOperation }, components: { eForm, crudOperation },
mixins: [presenter()], mixins: [presenter()],
cruds() { cruds() {
return CRUD({ return CRUD({
url: 'api/field/findGroupType',
url: 'api/categoryField/findGroupType',
crudMethod: { add, edit }, crudMethod: { add, edit },
optShow: { optShow: {
add: true, add: true,
edit: true, edit: true,
del: false, del: false,
download: true,
download: false,
group: false group: false
}, },
queryOnPresenterCreated: false queryOnPresenterCreated: false
@ -100,6 +109,11 @@ export default {
showVerifyDialog: true showVerifyDialog: true
} }
}, },
computed: {
...mapGetters([
'baseApi'
])
},
created() { created() {
this.crud.title = this.title this.crud.title = this.title
this.crud.query = { this.crud.query = {
@ -165,6 +179,22 @@ export default {
} else { } else {
this.crud.selectionChangeHandler(val) this.crud.selectionChangeHandler(val)
} }
},
doExport(data) {
this.crud.downloadLoading = true
this.$confirm('此操作将导出所选数据' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
const params = {
'isType': this.isType
}
exportFile(this.baseApi + '/api/categoryField/download?' + qs.stringify(params, { indices: false }))
this.crud.downloadLoading = false
}).catch(() => {
})
} }
} }
} }

11
src/views/components/field/module/form.vue

@ -18,8 +18,8 @@
<el-input v-model="form.isColumnLength" /> <el-input v-model="form.isColumnLength" />
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-form-item label="默认值" prop="isDefaultValue">
<el-input v-model="form.isDefaultValue" style="width: 560px;" />
<el-form-item label="默认值" prop="defaultValue">
<el-input v-model="form.defaultValue" style="width: 560px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -43,14 +43,15 @@ const defaultForm = {
fieldName: '', fieldName: '',
isDataType: 1, isDataType: 1,
isColumnLength: 100, isColumnLength: 100,
isDefaultValue: '',
isSystem: 1
defaultValue: '',
isSystem: true
} }
export default { export default {
mixins: [form(defaultForm)], mixins: [form(defaultForm)],
data() { data() {
var checkMaxLength = (rule, value, callback) => { var checkMaxLength = (rule, value, callback) => {
if (value !== undefined && (!Number.isInteger(value) || value <= 0)) {
// || (!Number.isInteger(value))
if (value !== undefined && value <= 0) {
callback(new Error('请输入正整数数字值')) callback(new Error('请输入正整数数字值'))
} else { } else {
if (this.form.isDataType === 1 && value > 2000) { if (this.form.isDataType === 1 && value > 2000) {

Loading…
Cancel
Save