| | |
| | | > |
| | | |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="rowSaveHandlerClick">创建</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">删除</el-button> |
| | | <el-button icon="el-icon-view" plain size="small" type="primary" @click="chekView">查看使用范围</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadTemplateHandler">下载导入模板 |
| | | <el-button v-if="permissionList.addBtn" class="button-custom-icon" plain size="small" type="primary" |
| | | @click="rowSaveHandlerClick"> |
| | | <icon-show :name="permissionList.addBtn.source"></icon-show> |
| | | 创建 |
| | | </el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">导入</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">导出</el-button> |
| | | <el-button v-if="permissionList.delBtn" class="button-custom-icon" plain size="small" type="danger" |
| | | @click="allDelHandler"> |
| | | <icon-show :name="permissionList.delBtn.source"></icon-show> |
| | | 删除 |
| | | </el-button> |
| | | <el-button v-if="permissionList.viewTheScopeBtn" class="button-custom-icon" plain size="small" |
| | | type="primary" |
| | | @click="chekView"> |
| | | <icon-show :name="permissionList.viewTheScopeBtn.source"></icon-show> |
| | | 查看使用范围 |
| | | </el-button> |
| | | <el-button v-if="permissionList.downloadImportTemplateBtn" class="button-custom-icon" plain size="small" |
| | | type="primary" @click="downloadTemplateHandler"> |
| | | <icon-show :name="permissionList.downloadImportTemplateBtn.source"></icon-show> |
| | | 下载导入模板 |
| | | </el-button> |
| | | <el-button v-if="permissionList.importBtn" class="button-custom-icon" plain size="small" type="primary" |
| | | @click="uploadUser"> |
| | | <icon-show :name="permissionList.importBtn.source"></icon-show> |
| | | 导入 |
| | | </el-button> |
| | | <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary" |
| | | @click="downloadHandler"> |
| | | <icon-show :name="permissionList.exportBtn.source"></icon-show> |
| | | 导出 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">编辑 |
| | | <el-button v-if="permissionList.editBtn" size="small" type="text" |
| | | @click="editBtnClick(scope.row)"> |
| | | <icon-show :name="permissionList.editBtn.source"></icon-show> |
| | | 编辑 |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">删除 |
| | | <el-button v-if="permissionList.delBtn" size="small" type="text" |
| | | @click="rowDeleteHandler(scope.row)"> |
| | | <icon-show :name="permissionList.delBtn.source"></icon-show> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | |
| | |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="70%" |
| | | width="1000px" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" size="small"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="名称:" prop="id"> |
| | | <el-form-item label="枚举名称:" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="类型:"> |
| | | <el-select v-model="form.enumValueDataType" placeholder="请选择类型"> |
| | | <el-select v-model="form.enumValueDataType" placeholder="请选择类型" style="width: 376px;"> |
| | | <el-option label="String" value="String"></el-option> |
| | | <el-option label="Integer" value="Integer"></el-option> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="长度:"> |
| | | <el-input-number v-model="form.length" :max="999" :min="1" label="描述文字"></el-input-number> |
| | | <el-input-number v-model="form.length" :max="999" :min="1" label="描述文字" |
| | | style="width: 376px;"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="rowSaveHandler">确 定</el-button> |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | </span> |
| | | <el-button size="small" type="primary" @click="rowSaveHandler">确 定</el-button> |
| | | <el-button size="small" @click="dialogVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 查看使用范围 --> |
| | |
| | | @search-change="checkHandleSearch" |
| | | @search-reset="checkHandleReset" |
| | | > |
| | | |
| | | </avue-crud> |
| | | </el-dialog> |
| | | |
| | |
| | | </basic-container> |
| | | </el-main> |
| | | |
| | | <el-aside width="30%"> |
| | | <el-aside width="35%"> |
| | | <basic-container> |
| | | <el-descriptions :column="1" border size="medium" style="margin-bottom: 20px" title="枚举信息"> |
| | | <el-descriptions :column="1" :labelStyle="{width:'150px'}" border size="medium" style="margin-bottom: 20px" |
| | | title="枚举信息"> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | 名称 |
| | |
| | | downloadEnumTemplate |
| | | } from "@/api/modeling/enumType/api"; |
| | | import func from "@/util/func"; |
| | | import {mapGetters} from "vuex"; |
| | | import {deleteUser} from "@/api/system/user/api"; |
| | | |
| | | export default { |
| | |
| | | refreshBtn: false, |
| | | selection: false, |
| | | index: false, |
| | | header: false, |
| | | calcHeight: -40, |
| | | column: [ |
| | | { |
| | | label: '枚举项名称', |
| | |
| | | dialogData: [], |
| | | dialogOption: { |
| | | ...basicOption, |
| | | calcHeight:50, |
| | | calcHeight: 50, |
| | | refreshBtn: false, |
| | | selection: false, |
| | | dialogWidth: 500, |
| | | column: [ |
| | | { |
| | | label: '枚举项名', |
| | | prop: 'name', |
| | | sortable: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | label: '枚举值', |
| | | prop: 'value', |
| | | sortable: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | { |
| | | label: '描述', |
| | | prop: 'description', |
| | | sortable: true, |
| | | span: 24 |
| | | }, |
| | | ] |
| | | }, |
| | | rules: { |
| | | id: [ |
| | | {required: true, message: '请输入枚举项名', trigger: 'blur'}, |
| | | {required: true, message: '请输入枚举名称', trigger: 'blur'}, |
| | | {validator: this.validateEnglishOnly, trigger: 'blur'} |
| | | ], |
| | | }, |
| | |
| | | tableData: [], |
| | | option: { |
| | | ...basicOption, |
| | | calcHeight: -60, |
| | | calcHeight: -40, |
| | | searchMenuSpan: 8, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | menuWidth: 160, |
| | | column: [ |
| | | { |
| | | label: '枚举名称', |
| | |
| | | label: '返回类型', |
| | | prop: 'enumValueDataTypeText', |
| | | sortable: true, |
| | | width: 130 |
| | | } |
| | | ] |
| | | }, |
| | |
| | | lastIndex: null |
| | | } |
| | | }, |
| | | created() { |
| | | console.log(this.$route); |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), |
| | | delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), |
| | | editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), |
| | | exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), |
| | | importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), |
| | | downloadImportTemplateBtn: this.vaildData(this.permission[this.$route.query.id].DOWNLOAD, false), |
| | | viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].SEARCH, false), |
| | | }; |
| | | }, |
| | | lastItem() { |
| | | return this.selectList.length > 0 ? this.selectList[this.selectList.length - 1] : {}; |
| | | }, |
| | |
| | | this.tableData = data; |
| | | this.tableLoading = false; |
| | | }).catch(err => { |
| | | this.$message.error(err) |
| | | }); |
| | | }, |
| | | |
| | |
| | | row, |
| | | this.$refs.userCrud, |
| | | this.lastIndex, |
| | | (newIndex) => { this.lastIndex = newIndex; }, |
| | | () => { this.selectList = []; } |
| | | (newIndex) => { |
| | | this.lastIndex = newIndex; |
| | | }, |
| | | () => { |
| | | this.selectList = [row]; |
| | | } |
| | | ); |
| | | }, |
| | | |
| | |
| | | |
| | | // 对话框枚举保存 |
| | | rowSaveHandler() { |
| | | const lengthStatus = this.dialogData.some(item => item.value.length > this.form.length) |
| | | if (lengthStatus) { |
| | | this.$message.error('请检查枚举值是否超过最大长度!') |
| | | return; |
| | | } |
| | | |
| | | if (this.form.enumValueDataType === "Integer") { |
| | | // 判断是否包含非数字字符 |
| | | const integerStatus = this.dialogData.some(item => { |
| | | if (!/^\-?\d+$/.test(item.value)) { |
| | | return true; |
| | | const lengthStatus = this.dialogData.some(item => item.value.length > this.form.length); |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | if (lengthStatus) { |
| | | this.$message.error('请检查枚举值是否超过最大长度!') |
| | | return; |
| | | } |
| | | }) |
| | | |
| | | // 判断是否是integer格式 |
| | | const integerNumStatus = this.dialogData.some(item => { |
| | | let numValue = parseInt(item.value); |
| | | if (isNaN(numValue) || !Number.isInteger(numValue)) { |
| | | return true; |
| | | if (this.form.enumValueDataType === "Integer") { |
| | | // 判断是否包含非数字字符 |
| | | const integerStatus = this.dialogData.some(item => { |
| | | if (!/^\-?\d+$/.test(item.value)) { |
| | | return true; |
| | | } |
| | | }) |
| | | |
| | | // 判断是否是integer格式 |
| | | const integerNumStatus = this.dialogData.some(item => { |
| | | let numValue = parseInt(item.value); |
| | | if (isNaN(numValue) || !Number.isInteger(numValue)) { |
| | | return true; |
| | | } |
| | | }) |
| | | |
| | | if (integerStatus || integerNumStatus) { |
| | | this.$message.error('枚举值必须是Integer类型'); |
| | | return; |
| | | } |
| | | } |
| | | }) |
| | | |
| | | if (integerStatus || integerNumStatus) { |
| | | this.$message.error('枚举值必须是Integer类型'); |
| | | return; |
| | | if (this.dialogType === 'add') { |
| | | let params = { |
| | | ...this.form, |
| | | items: this.dialogData |
| | | } |
| | | addEnumType(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.dialogVisible = false; |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } else if (this.dialogType === 'edit') { |
| | | let params = { |
| | | ...this.form, |
| | | items: this.dialogData, |
| | | oid: this.editRow.oid, |
| | | ts: this.editRow.ts |
| | | } |
| | | updateEnumType(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.dialogVisible = false; |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | if (this.dialogType === 'add') { |
| | | let params = { |
| | | ...this.form, |
| | | items: this.dialogData |
| | | } |
| | | addEnumType(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.dialogVisible = false; |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } else if (this.dialogType === 'edit') { |
| | | let params = { |
| | | ...this.form, |
| | | items: this.dialogData, |
| | | oid: this.editRow.oid, |
| | | ts: this.editRow.ts |
| | | } |
| | | updateEnumType(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.dialogVisible = false; |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 枚举项新增 |
| | |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('导出成功'); |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | | }, |
| | | |
| | |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('下载成功'); |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | | }, |
| | | |