| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud |
| | | ref="userCrud" |
| | | :data="tableData" |
| | | :option="option" |
| | | :table-loading="tableLoading" |
| | | @on-load="getTableList" |
| | | @refresh-change="handleRefresh" |
| | | @search-change="handleSearch" |
| | | @search-reset="handleReset" |
| | | @selection-change="selectChange" |
| | | @row-click="rowClickHandler" |
| | | > |
| | | <el-container> |
| | | <el-main> |
| | | <basic-container> |
| | | <avue-crud |
| | | ref="userCrud" |
| | | :data="tableData" |
| | | :option="option" |
| | | :table-loading="tableLoading" |
| | | @on-load="getTableList" |
| | | @refresh-change="handleRefresh" |
| | | @search-change="handleSearch" |
| | | @search-reset="handleReset" |
| | | @selection-change="selectChange" |
| | | @row-click="rowClickHandler" |
| | | > |
| | | |
| | | <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> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">导å
¥</el-button> |
| | | </template> |
| | | <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> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">导å
¥</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> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">å é¤ |
| | | </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> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">å é¤ |
| | | </el-button> |
| | | </template> |
| | | |
| | | </avue-crud> |
| | | <!-- å建ç¼è¾èªå®ä¹å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="dialogLoading" |
| | | :title="dialogType === 'add' ? ' å建' : 'ç¼è¾'" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="70%" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ ç¾ï¼"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç±»åï¼"> |
| | | <el-select v-model="form.enumValueDataType" placeholder="è¯·éæ©ç±»å"> |
| | | <el-option label="String" value="String"></el-option> |
| | | <el-option label="Integer" value="Integer"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </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-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <avue-crud |
| | | ref="dialogCrud" |
| | | :data="dialogData" |
| | | :option="dialogOption" |
| | | @row-save="rowSaveDialogHandler" |
| | | @row-update="rowUpdateDialogHandler" |
| | | @row-del="rowDeleteDialogHandler" |
| | | > |
| | | </avue-crud> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </avue-crud> |
| | | <!-- å建ç¼è¾èªå®ä¹å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="dialogLoading" |
| | | :title="dialogType === 'add' ? ' å建' : 'ç¼è¾'" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="70%" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ ç¾ï¼"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç±»åï¼"> |
| | | <el-select v-model="form.enumValueDataType" placeholder="è¯·éæ©ç±»å"> |
| | | <el-option label="String" value="String"></el-option> |
| | | <el-option label="Integer" value="Integer"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </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-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <avue-crud |
| | | ref="dialogCrud" |
| | | :data="dialogData" |
| | | :option="dialogOption" |
| | | @row-save="rowSaveDialogHandler" |
| | | @row-update="rowUpdateDialogHandler" |
| | | @row-del="rowDeleteDialogHandler" |
| | | > |
| | | </avue-crud> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="rowSaveHandler">ç¡® å®</el-button> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | |
| | | <!-- æ¥ç使ç¨èå´ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="checkViewLoading" |
| | | title="æ¥ç使ç¨èå´" |
| | | :visible.sync="checkViewVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="70%" |
| | | > |
| | | <avue-crud |
| | | ref="checkViewCrud" |
| | | :data="checkViewData" |
| | | :option="checkViewOption" |
| | | @search-change="checkHandleSearch" |
| | | @search-reset="checkHandleReset" |
| | | > |
| | | <!-- æ¥ç使ç¨èå´ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="checkViewLoading" |
| | | :visible.sync="checkViewVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | title="æ¥ç使ç¨èå´" |
| | | width="70%" |
| | | > |
| | | <avue-crud |
| | | ref="checkViewCrud" |
| | | :data="checkViewData" |
| | | :option="checkViewOption" |
| | | @search-change="checkHandleSearch" |
| | | @search-reset="checkHandleReset" |
| | | > |
| | | |
| | | </avue-crud> |
| | | </el-dialog> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | |
| | | <!--导å
¥ --> |
| | | <upload-file ref="upload" :tipList="tipList" :fileType="upFileType" :fileUrl="fileUrl" title="导å
¥" @updata="getTableList"></upload-file> |
| | | </basic-container> |
| | | <!--导å
¥ --> |
| | | <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导å
¥" |
| | | @updata="getTableList"></upload-file> |
| | | </basic-container> |
| | | </el-main> |
| | | |
| | | <el-aside width="30%"> |
| | | <basic-container> |
| | | <el-descriptions :column="1" border size="medium" style="margin-bottom: 20px" title="æä¸¾ä¿¡æ¯"> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | åç§° |
| | | </template> |
| | | {{ this.lastItem.id }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | æ ç¾ |
| | | </template> |
| | | {{ this.lastItem.name }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | ç±»å |
| | | </template> |
| | | {{ this.lastItem.enumValueDataType || 'String' }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | é¿åº¦ |
| | | </template> |
| | | <el-tag> {{ this.lastItem.length || 50 }}</el-tag> |
| | | </el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | |
| | | <p style="font-weight: bold">æä¸¾é¡¹</p> |
| | | <avue-crud |
| | | :data="asideData" |
| | | :option="asideOption" |
| | | > |
| | | </avue-crud> |
| | | </basic-container> |
| | | </el-aside> |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import basicOption from '@/util/basic-option' |
| | | import {getEnumTypeList, addEnumType, updateEnumType, deleteEnumTypes,getUsedEnumList,download,downloadEnumTemplate} from "@/api/modeling/enumType/api"; |
| | | import { |
| | | getEnumTypeList, |
| | | addEnumType, |
| | | updateEnumType, |
| | | deleteEnumTypes, |
| | | getUsedEnumList, |
| | | download, |
| | | downloadEnumTemplate |
| | | } from "@/api/modeling/enumType/api"; |
| | | import func from "@/util/func"; |
| | | import {deleteUser} from "@/api/system/user/api"; |
| | | |
| | | export default { |
| | | name: "index", |
| | | data() { |
| | | return { |
| | | tipList:["导å
¥æ¨¡æ¿ä¸æ æçº¢è²åä½ç为å¿
è¾é¡¹","*注æ*:第äºè¡å¼å§çæ°æ®ä¸ºç¤ºä¾æ°æ®ï¼å¯¼å
¥å请å°å
¶å é¤ï¼å½å¯¼å
¥çæä¸¾ä¸å
·å¤å¤ä¸ªæä¸¾é¡¹æ¶ï¼åºæç
§ç¤ºä¾enum2çåæ³", |
| | | "æä¸¾é¡¹åç§°(å½åæä¸¾ä¸ææä¸¾é¡¹æ¶å¿
å¡«)","æä¸¾å¼(å½åæä¸¾ä¸ææä¸¾é¡¹æ¶å¿
å¡«)"], |
| | | asideOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | menu: false, |
| | | refreshBtn: false, |
| | | selection: false, |
| | | index: false, |
| | | column: [ |
| | | { |
| | | label: 'æä¸¾é¡¹åç§°', |
| | | prop: 'name', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: 'æä¸¾å¼', |
| | | prop: 'value', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: 'æè¿°', |
| | | prop: 'description', |
| | | }, |
| | | ] |
| | | }, |
| | | tipList: [ |
| | | "导å
¥æ¨¡æ¿ä¸æ æçº¢è²åä½ç为å¿
è¾é¡¹", |
| | | "*注æ*:第äºè¡å¼å§çæ°æ®ä¸ºç¤ºä¾æ°æ®ï¼å¯¼å
¥å请å°å
¶å é¤ï¼å½å¯¼å
¥çæä¸¾ä¸å
·å¤å¤ä¸ªæä¸¾é¡¹æ¶ï¼åºæç
§ç¤ºä¾enum2çåæ³", |
| | | "æä¸¾é¡¹åç§°(å½åæä¸¾ä¸ææä¸¾é¡¹æ¶å¿
å¡«)", |
| | | "æä¸¾å¼(å½åæä¸¾ä¸ææä¸¾é¡¹æ¶å¿
å¡«)", |
| | | "导å
¥ä¸ä¸ªæä¸¾ä¸çå¤ä¸ªæä¸¾é¡¹æ¶ï¼è¯·å°æä¸¾åãæ ç¾ãè¿åç±»åãçä¿¡æ¯å¡«åä¸è´ï¼åå¡«åä¸åçæä¸¾é¡¹" |
| | | ], |
| | | upFileType: ['xls', 'xlsx'], |
| | | fileUrl: 'api/webEnumController/importEnumTypes', |
| | | checkViewOption:{ |
| | | checkViewOption: { |
| | | ...basicOption, |
| | | addBtn:false, |
| | | menu:false, |
| | | addBtn: false, |
| | | menu: false, |
| | | searchMenuSpan: 8, |
| | | refreshBtn: false, |
| | | selection:false, |
| | | column:[ |
| | | selection: false, |
| | | column: [ |
| | | { |
| | | label: 'åç§°', |
| | | prop: 'enumName', |
| | |
| | | label: 'æ¥æº', |
| | | prop: 'source', |
| | | sortable: true, |
| | | search:true |
| | | search: true |
| | | }, |
| | | { |
| | | label: '说æ', |
| | |
| | | } |
| | | ] |
| | | }, |
| | | checkViewData:[], |
| | | checkViewDataSearch:[], |
| | | checkViewVisible:false, |
| | | checkViewLoading:false, |
| | | checkViewData: [], |
| | | checkViewDataSearch: [], |
| | | checkViewVisible: false, |
| | | checkViewLoading: false, |
| | | editRow: {}, |
| | | dialogType: '', |
| | | dialogData: [], |
| | |
| | | label: 'æä¸¾åç§°', |
| | | prop: 'id', |
| | | sortable: true, |
| | | search:true |
| | | search: true |
| | | }, |
| | | { |
| | | label: 'æ ç¾', |
| | |
| | | }, |
| | | tableLoading: false, |
| | | selectList: [], |
| | | searchParams:{} |
| | | searchParams: {} |
| | | } |
| | | }, |
| | | computed: { |
| | | lastItem() { |
| | | return this.selectList.length > 0 ? this.selectList[this.selectList.length - 1] : {}; |
| | | }, |
| | | asideData() { |
| | | return this.selectList.length > 0 ? this.selectList[this.selectList.length - 1].items : []; |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | |
| | | // æç´¢ |
| | | handleSearch(params,done) { |
| | | handleSearch(params, done) { |
| | | this.searchParams = { |
| | | enumName:params.id |
| | | enumName: params.id |
| | | }; |
| | | this.getTableList() |
| | | done(); |
| | |
| | | |
| | | // éæ©æ¡ |
| | | selectChange(row) { |
| | | console.log(row) |
| | | this.selectList = row; |
| | | }, |
| | | |
| | |
| | | this.dialogData = row.items; |
| | | this.dialogVisible = true; |
| | | this.editRow = row; |
| | | console.log(row); |
| | | }, |
| | | |
| | | // å 餿é®ç¹å» |
| | |
| | | ts: row.ts |
| | | } |
| | | let data = [params]; |
| | | deleteEnumTypes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤å½åçæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteEnumTypes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // å¤éå é¤ |
| | | allDelHandler() { |
| | | let data = this.selectList.map(item => { |
| | | return{ |
| | | return { |
| | | oid: item.oid, |
| | | name: item.id, |
| | | ts: item.ts |
| | | } |
| | | }) |
| | | deleteEnumTypes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteEnumTypes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | |
| | | |
| | | }, |
| | | |
| | | // å¯¹è¯æ¡æä¸¾ä¿å |
| | |
| | | }, |
| | | |
| | | // æ¥ç使ç¨èå´ |
| | | chekView(){ |
| | | if(this.selectList.length <= 0 ){ |
| | | chekView() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.warning('请è³å°éæ©ä¸æ¡æ°æ®'); |
| | | return; |
| | | } |
| | | if(this.selectList.length >1 ){ |
| | | if (this.selectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ°æ®è¿è¡æ¥ç'); |
| | | return; |
| | | } |
| | | |
| | | getUsedEnumList({enumName:this.selectList[0].id}).then(res => { |
| | | if(res.data.code === 200){ |
| | | getUsedEnumList({enumName: this.selectList[0].id}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.checkViewVisible = true; |
| | | this.checkViewData = res.data.data; |
| | | this.checkViewDataSearch = res.data.data; |
| | |
| | | |
| | | // æ¥ç使ç¨èå´æ¥è¯¢ |
| | | checkHandleSearch(params, done) { |
| | | const { source } = params; |
| | | const {source} = params; |
| | | |
| | | if(!params.source) { |
| | | if (!params.source) { |
| | | this.checkViewData = this.checkViewDataSearch; |
| | | return done(); |
| | | }; |
| | | } |
| | | ; |
| | | |
| | | this.checkViewData = this.checkViewData.filter(item => { |
| | | return item.source && item.source.includes(source); |
| | |
| | | }, |
| | | |
| | | // æ¥ç使ç¨èå´éç½® |
| | | checkHandleReset(){ |
| | | checkHandleReset() { |
| | | this.checkViewData = this.checkViewDataSearch; |
| | | }, |
| | | |
| | | // å¯¼åº |
| | | downloadHandler(){ |
| | | if(this.selectList.length <= 0 ){ |
| | | downloadHandler() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.warning('请è³å°éæ©ä¸æ¡æ°æ®è¿è¡å¯¼åº'); |
| | | return; |
| | | } |
| | | |
| | | let enumNames = this.selectList.map(item => item.id).join(','); |
| | | download({enumNames:enumNames}).then(res => { |
| | | download({enumNames: enumNames}).then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('å¯¼åºæå'); |
| | | }).catch(err => { |
| | |
| | | }, |
| | | |
| | | // ä¸è½½å¯¼å
¥æ¨¡æ¿ |
| | | downloadTemplateHandler(){ |
| | | downloadTemplateHandler() { |
| | | downloadEnumTemplate().then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('ä¸è½½æå'); |
| | |
| | | }) |
| | | }, |
| | | |
| | | uploadUser(){ |
| | | uploadUser() { |
| | | this.$refs.upload.visible = true; |
| | | } |
| | | } |