Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java
@@ -1,5 +1,7 @@ package com.vci.web.controller; import com.vci.corba.common.PLException; import com.vci.corba.omd.ltm.LinkType; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeVO; @@ -14,11 +16,9 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -119,4 +119,40 @@ return BaseResult.success(); } } /** * 龿¥ç±»åçå表 * * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ */ @GetMapping("/gridLink") public BaseResult<List<LinkType>> gridLink(){ try { return linkTypeService.gridLink(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * 龿¥ç±»åä¿å * linkType 龿¥ç±»åçä¿å对象 * addFlag æ¯å¦ä¸ºæ°å¢ trueæ°å¢ï¼falseä¿®æ¹ * @return ä¿åç»æ */ @GetMapping("/addAndEditLink") public BaseResult addAndEditLink(@RequestBody LinkType linkType, Boolean addFlag){ try { return linkTypeService.addAndEditLink(linkType, addFlag); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java
@@ -3,6 +3,7 @@ import com.vci.corba.common.PLException; import com.vci.corba.omd.ltm.LinkType; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeAttributeVO; @@ -108,4 +109,17 @@ * @return æé误ç屿§ */ List<OsBtmTypeAttributeVO> checkAttributeTypeDifferent(String linkTypeOid); /** * 龿¥ç±»åçå表 * * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ */ BaseResult<List<LinkType>> gridLink() throws PLException; /** * 龿¥ç±»åä¿å * linkType 龿¥ç±»åçä¿å对象 * addFlag æ¯å¦ä¸ºæ°å¢ trueæ°å¢ï¼falseä¿®æ¹ * @return ä¿åç»æ */ BaseResult addAndEditLink(LinkType linkType, Boolean addFlag) throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
@@ -9,6 +9,7 @@ import com.vci.starter.web.annotation.log.VciUnLog; import com.vci.starter.web.enumpck.VciFieldTypeEnum; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; @@ -322,6 +323,85 @@ } /** * 龿¥ç±»åçå表 * * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ */ @Override public BaseResult<List<LinkType>> gridLink() throws PLException { LinkType[] linkTypes = platformClientUtil.getLinkTypeService().getLinkTypes(); return BaseResult.dataList(Arrays.asList(linkTypes)); } /** * 龿¥ç±»åä¿å * linkType 龿¥ç±»åçä¿å对象 * addFlag æ¯å¦ä¸ºæ°å¢ trueæ°å¢ï¼falseä¿®æ¹ * @return ä¿åç»æ */ @Override public BaseResult addAndEditLink(LinkType linkType, Boolean addFlag) throws PLException { VciBaseUtil.alertNotNull(linkType.name,"请è¾å ¥é¾æ¥ç±»ååç§°",linkType.btmItemsFrom,"From端ä¸å¡ç±»åä¸è½ä¸ºç©º!", linkType.btmItemsTo,"To端类ååä¸è½ä¸ºç©º!"); int maxLength = platformClientUtil.getLinkTypeService().getLTNameMaxLength(); if(linkType.name.length() > maxLength){ throw new PLException("500",new String[] {"龿¥ç±»ååé¿åº¦ä¸è½è¶ è¿" + maxLength}); } if(!linkType.name.matches("^[A-Za-z]+$")){ throw new PLException("500",new String[] {"龿¥ç±»ååç§°åªè½ä¸ºè±æåæ¯"}); } LinkType historyLink = platformClientUtil.getLinkTypeService().getLinkType(linkType.name); if(historyLink != null && !historyLink.name.equals("") && addFlag){ throw new PLException("500",new String[] {"è¯¥é¾æ¥ç±»ååç§°å·²ç»åå¨"}); } linkType.modifier = WebUtil.getCurrentUserId(); if(addFlag){ linkType.creator = WebUtil.getCurrentUserId(); platformClientUtil.getLinkTypeService().addLinkType(linkType); return BaseResult.success(null,"ä¿åæåï¼"); } ArrayList<String> removeAbList = getRemovedApList(historyLink, linkType); if(removeAbList.size() > 0 && platformClientUtil.getLinkTypeService().hasData(linkType.name)){ linkType.attributes = historyLink.attributes; platformClientUtil.getLinkTypeService().modifyLinkType(linkType); throw new PLException("500",new String[] {"ç±»åå·²æå®ä¾, ä¸è¿è¡ç§»é¤æä½"}); } platformClientUtil.getLinkTypeService().modifyLinkType(linkType); return BaseResult.success(null,"ä¿åæåï¼"); } /** * è·åä¿®æ¹é¾æ¥ç±»åæ¶ åå°ç屿§ * @param oldLt * @param newLt * @return */ private ArrayList<String> getRemovedApList(LinkType oldLt, LinkType newLt) { String[] oldAbInfo = oldLt.attributes; ArrayList<String> oldNameList = new ArrayList<String>(); for(int i = 0; i < oldAbInfo.length; i++){ oldNameList.add(oldAbInfo[i]); } String[] newAbInfo = newLt.attributes; ArrayList<String> newNameList = new ArrayList<String>(); for(int i = 0; i < newAbInfo.length; i++){ newNameList.add(newAbInfo[i]); } ArrayList<String> removedApList = new ArrayList<String>(); for(Iterator<String> iterator = oldNameList.iterator(); iterator.hasNext();){ String oldName = iterator.next(); if(!newNameList.contains(oldName)){ removedApList.add(oldName); } } return removedApList; } /** * æ¸ é¤ç¼å */ @Override Source/plt-web/plt-web-ui/src/api/modeling/attributePool/api.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ import request from '@/router/axios'; // å表æ¥è¯¢ export function gridAttribute(page,limit,params) { return request({ url: "/api/attributeController/gridAttribute", method: "get", params:{ page, limit, ...params } }); } Source/plt-web/plt-web-ui/src/api/user.js
@@ -27,13 +27,13 @@ // ä¿®æ¹å¯ç export function changePassword(params) { let formData = new FormData; for (let key in params){ formData.append(key,params[key]) for (let key in params) { formData.append(key, params[key]) } return request({ url: "/api/userQueryController/changePassword", method: "post", data:formData data: formData }); } Source/plt-web/plt-web-ui/src/router/page/index.js
@@ -58,7 +58,7 @@ { path: '/', name: '主页', redirect: '/wel' redirect: '/wel/index' }, { path: '/myiframe', Source/plt-web/plt-web-ui/src/views/base/UIContentViewer.vue
@@ -40,8 +40,8 @@ :areasData="uiDefineVO.centerAreas" :dataStore="checkedData.centerArea.data" :inDialog="inDialog" :sourceData="checkedData.westArea.data[checkedData.westArea.data.length-1]" :sourceBtmType="checkedData.westArea.DefineVOBtmType" :sourceData="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0?checkedData.westArea.data[checkedData.westArea.data.length-1]:sourceData" :sourceBtmType="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0?checkedData.westArea.DefineVOBtmType:btmType" areas-name="centerArea" cradStyle="" @setDataStore="setDataStore"> Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -1,13 +1,244 @@ <template> <p>屿§æ± </p> <el-container> <el-main> <basic-container> <avue-crud ref="userCrud" :data="tableData" :option="option" :page.sync="page" :table-loading="tableLoading" @on-load="getTableList" @refresh-change="handleRefresh" @search-change="handleSearch" @search-reset="handleReset" @selection-change="selectChange" @row-click="rowClickHandler" @size-change="sizeChange" @current-change="currentChange" > <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> </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> </basic-container> </el-main> <el-aside width="30%"> <basic-container> <div style="height: 85vh; overflow-y: auto"> <el-descriptions :column="1" border size="medium" title="屿§é¡¹"> <el-descriptions-item> <template slot="label"> åç§° </template> åç§° </el-descriptions-item> <el-descriptions-item> <template slot="label"> æ ç¾ </template> æ ç¾ </el-descriptions-item> <el-descriptions-item> <template slot="label"> æè¿° </template> æè¿° </el-descriptions-item> <el-descriptions-item> <template slot="label"> æä½ç±»å </template> æä½ç±»å </el-descriptions-item> </el-descriptions> <el-descriptions :column="1" border class="margin-top" size="medium" title="VTString"> <el-descriptions-item> <template slot="label"> å 许为空 </template> <el-tag type="success">æ¯</el-tag> </el-descriptions-item> <el-descriptions-item> <template slot="label"> 精度 </template> 精度 </el-descriptions-item> <el-descriptions-item> <template slot="label"> é¿åº¦ </template> é¿åº¦ </el-descriptions-item> <el-descriptions-item> <template slot="label"> é»è®¤å¼ </template> é»è®¤å¼ </el-descriptions-item> </el-descriptions> <el-descriptions :column="1" border class="margin-top" size="medium" title="å¼å"> <el-descriptions-item> <template slot="label"> å½åç±»å </template> ä¸å¡ç±»å </el-descriptions-item> <el-descriptions-item> <template slot="label"> å½åç±»åå¼ </template> </el-descriptions-item> <el-descriptions-item> <template slot="label"> å½åçæ¬æ¬¡ </template> </el-descriptions-item> <el-descriptions-item> <template slot="label"> ä½¿ç¨æä¸¾ </template> <el-tag type="success">æ¯</el-tag> </el-descriptions-item> <el-descriptions-item> <template slot="label"> æä¸¾ç±»å </template> æä¸¾ç±»å </el-descriptions-item> <el-descriptions-item> <template slot="label"> æä¸¾å¼ </template> </el-descriptions-item> </el-descriptions> </div> </basic-container> </el-aside> </el-container> </template> <script> import {gridAttribute} from "@/api/modeling/attributePool/api"; import basicOption from '@/util/basic-option'; import {column} from "./option" export default { name: "index" name: "index", data() { return { tableData: [], option: { ...basicOption, searchMenuSpan: 8, calcHeight: -60, addBtn: false, editBtn: false, delBtn: false, column }, tableLoading: false, page: { currentPage: 1, pageSize: 10, total: 0, pageSizes: [10, 30, 50, 100], }, searchParams: {}, selectList: [] } }, methods: { //è¡¨æ ¼æ¥è¯¢è¯·æ± getTableList() { this.tableLoading = true; gridAttribute(this.page.currentPage, this.page.pageSize, this.searchParams).then(res => { const data = res.data.data; this.tableData = data; this.page.total = res.data.total; this.tableLoading = false; }).catch(err => { this.$message.error(err) }); }, // è¡¨æ ¼å¤´é¨å·æ° handleRefresh() { this.getTableList(); }, // æç´¢ handleSearch() { }, // éç½®æç´¢æ¡ä»¶ handleReset() { }, // éæ©æ¡ selectChange(row) { this.selectList = row; }, // ç¹å»è¡ rowClickHandler(row) { this.$refs.userCrud.toggleRowSelection(row); }, // æ¡æ° sizeChange(val) { this.page.pageSize = val; }, // 页ç currentChange(val) { this.page.currentPage = val; }, rowSaveHandlerClick() { }, allDelHandler() { }, chekView() { }, editBtnClick() { }, rowDeleteHandler() { } } } </script> <style scoped> <style lang="scss" scoped> .margin-top{ margin-top: 25px; } </style> Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/option.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ export const column = [ { label: '屿§å', prop: 'id', search:true, sortable:true, }, { label: 'ç±»å', prop: 'attributeDataTypeText', sortable:true, }, { label: 'é»è®¤å¼', prop: 'defaultValue', sortable:true, }, { label: 'æè¿°', prop: 'description', }, ]; Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/enumType/index.vue
@@ -1,138 +1,222 @@ <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', @@ -142,7 +226,7 @@ label: 'æ¥æº', prop: 'source', sortable: true, search:true search: true }, { label: '说æ', @@ -150,10 +234,10 @@ } ] }, checkViewData:[], checkViewDataSearch:[], checkViewVisible:false, checkViewLoading:false, checkViewData: [], checkViewDataSearch: [], checkViewVisible: false, checkViewLoading: false, editRow: {}, dialogType: '', dialogData: [], @@ -220,7 +304,7 @@ label: 'æä¸¾åç§°', prop: 'id', sortable: true, search:true search: true }, { label: 'æ ç¾', @@ -236,7 +320,15 @@ }, 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: { @@ -258,9 +350,9 @@ }, // æç´¢ handleSearch(params,done) { handleSearch(params, done) { this.searchParams = { enumName:params.id enumName: params.id }; this.getTableList() done(); @@ -274,6 +366,7 @@ // éæ©æ¡ selectChange(row) { console.log(row) this.selectList = row; }, @@ -314,7 +407,6 @@ this.dialogData = row.items; this.dialogVisible = true; this.editRow = row; console.log(row); }, // å 餿é®ç¹å» @@ -325,29 +417,53 @@ 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: '已忶å é¤' }); }); }, // å¯¹è¯æ¡æä¸¾ä¿å @@ -473,18 +589,18 @@ }, // æ¥ç使ç¨èå´ 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; @@ -494,12 +610,13 @@ // æ¥ç使ç¨èå´æ¥è¯¢ 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); @@ -510,19 +627,19 @@ }, // æ¥ç使ç¨èå´éç½® 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 => { @@ -531,7 +648,7 @@ }, // ä¸è½½å¯¼å ¥æ¨¡æ¿ downloadTemplateHandler(){ downloadTemplateHandler() { downloadEnumTemplate().then(res => { func.downloadFileByBlobHandler(res); this.$message.success('ä¸è½½æå'); @@ -540,7 +657,7 @@ }) }, uploadUser(){ uploadUser() { this.$refs.upload.visible = true; } } Source/plt-web/plt-web-ui/src/views/system/department/option.js
@@ -23,11 +23,11 @@ label:'ä¸ä¸', prop: 'specialties' }, { label:'é¨é¨å¯ä¸æ è¯ID', prop: 'uniqueId', display:false, }, // { // label:'é¨é¨å¯ä¸æ è¯ID', // prop: 'uniqueId', // display:false, // }, { label: 'æè¿°', prop: 'description', Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -227,6 +227,7 @@ } done(); }, // è¡¨æ ¼è¯·æ± getTableList() { this.tableLoading = true;