| | |
| | | </div> |
| | | </div> |
| | | <div class="avue-home__footer"> |
| | | <a href="https://bladex.vip" target="_blank"> |
| | | https://bladex.vip </a> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | margin-bottom: 15px; |
| | | } |
| | | .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{ |
| | | margin-bottom: 10px; |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .tree-buttons .el-button{ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | // ä¸å¡ç±»åæ æ¥è¯¢ |
| | | export function getBizTree(params) { |
| | | return request({ |
| | | url: "/api/uiManagerController/getBizTree", |
| | | method: "get", |
| | | params |
| | | }); |
| | | } |
| | | // å表æ¥è¯¢ |
| | | export function gridUIContextData(page, limit, params) { |
| | | return request({ |
| | | url: "/api/uiManagerController/gridUIContextData", |
| | | method: "get", |
| | | params: { |
| | | page, |
| | | limit, |
| | | ...params |
| | | } |
| | | }); |
| | | } |
| | | export const saveUIContextData = (row) => { |
| | | return request({ |
| | | url: '/api/uiManagerController/saveUIContextData', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const updateUIContextData = (row) => { |
| | | return request({ |
| | | url: '/api/uiManagerController/updateUIContextData', |
| | | method: 'put', |
| | | data: row |
| | | }) |
| | | } |
| | | // éè¿oidå é¤ |
| | | export function delUIContextData(params) { |
| | | return request({ |
| | | url: "/api/uiManagerController/delUIContextData", |
| | | method: "delete", |
| | | params |
| | | }) |
| | | } |
| | | //å
é |
| | | export const cloneUIContextData = (params) => { |
| | | return request({ |
| | | url: '/api/uiManagerController/cloneUIContextData', |
| | | method: 'post', |
| | | data: params |
| | | }) |
| | | } |
| | | // 导åºéæ©å表 |
| | | //忰 expDatas:鿩oid |
| | | export function getExpContextTree(params) { |
| | | return request({ |
| | | url: "/api/uiManagerController/getExpContextTree", |
| | | method: "get", |
| | | params: params |
| | | }); |
| | | } |
| | | // å¯¼åº |
| | | export function expUIContextData (params) { |
| | | return request({ |
| | | url: '/api/uiManagerController/expUIContextData', |
| | | method: 'post', |
| | | responseType: 'blob', |
| | | data:{ |
| | | params |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //ä¸ä¸æååºååè¡¨æ°æ® |
| | | export function getTabByContextIdAndType(params){ |
| | | return request({ |
| | | url: "/api/uiManagerController/getTabByContextIdAndType", |
| | | method: "get", |
| | | params |
| | | }); |
| | | } |
| | | export const addTabData = (row) => { |
| | | return request({ |
| | | url: '/api/uiManagerController/addTabData', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const updateTabData = (row) => { |
| | | return request({ |
| | | url: '/api/uiManagerController/updateTabData', |
| | | method: 'put', |
| | | data: row |
| | | }) |
| | | } |
| | | // éè¿oidå é¤ |
| | | export function deleteTabData(params) { |
| | | return request({ |
| | | url: "/api/uiManagerController/deleteTabData", |
| | | method: "delete", |
| | | params |
| | | }) |
| | | } |
| | |
| | | }, |
| | | // 请æ±å°å æºå¸¦åæ° |
| | | fileData: { |
| | | type: Array, |
| | | default: () => [] |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | // 导å
¥æç¤ºæå tipList:["导å
¥æ¨¡æ¿ä¸æ æçº¢è²åä½ç为å¿
è¾é¡¹","é¨é¨åä¸ä¸çº§å
³ç³»å¿
é¡»æç
§åææ éå¼(/)"] |
| | | tipList:{ |
| | |
| | | return true; |
| | | }, |
| | | // æä»¶ä¸ä¼ æå |
| | | onSuccess(resbonse) { |
| | | if (resbonse.code === 200) { |
| | | onSuccess(response) { |
| | | if (response.code === 200) { |
| | | this.$message.success("导å
¥æåï¼"); |
| | | this.visible = false; |
| | | this.$emit('updata',resbonse); |
| | | this.$emit('updata',response); |
| | | } else { |
| | | this.$message.error(resbonse.msg); |
| | | this.$emit('upfaildata',response); |
| | | this.$message.error(response.msg); |
| | | } |
| | | }, |
| | | //æä»¶ä¸ä¼ 失败 |
| | |
| | | }, |
| | | //æä»¶ç¶ææ¹å |
| | | uploadChange(file) { |
| | | console.log( this.pageLoading); |
| | | if (file.status === "success" || file.status === "error") { |
| | | this.pageLoading.close(); |
| | | } |
| | |
| | | }, |
| | | { |
| | | path: '/UIContentViewer', |
| | | name: 'å¨æè¡¨æ ¼é¡µé¢', |
| | | name: 'UIä¸ä¸æå±ç¤º', |
| | | component: Layout, |
| | | children: [ |
| | | { |
| | | path: '', // 空路å¾è¡¨ç¤ºè®¿é® '/dynamic-form' æ¶å è½½ Layout ç»ä»¶ |
| | | path: '', // 空路å¾è¡¨ç¤ºè®¿é® '/UIContentViewer' æ¶å è½½ Layout ç»ä»¶ |
| | | component: () => import('@/views/base/UIContentViewer'), |
| | | props: true |
| | | } |
| | |
| | | }, |
| | | { |
| | | path: '/referIndex', |
| | | name: 'å¨æè¡¨æ ¼é¡µé¢', |
| | | name: 'åç
§ç¤ºä¾', |
| | | component: Layout, |
| | | children: [ |
| | | { |
| | | path: '', // 空路å¾è¡¨ç¤ºè®¿é® '/dynamic-form' æ¶å è½½ Layout ç»ä»¶ |
| | | path: '', // 空路å¾è¡¨ç¤ºè®¿é® '/referIndex' æ¶å è½½ Layout ç»ä»¶ |
| | | component: () => import('@/views/test/referDemo/index'), |
| | | props: true |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/UIDefineShow/:uiDefineOid', |
| | | name: 'UIå®ä¹è¯¦æ
', |
| | | component: Layout, |
| | | children: [ |
| | | { |
| | | path: '', // 空路å¾è¡¨ç¤ºè®¿é® '/referIndex' æ¶å è½½ Layout ç»ä»¶ |
| | | component: () => import('@/views/modelingMenu/ui/uiDefine/plShow'), |
| | | props: true |
| | | } |
| | | ], |
| | | meta:{ |
| | | keepAlive: true, |
| | | isTab: true, |
| | | isAuth: true |
| | | } |
| | | } |
| | | ] |
| | |
| | | headerAlign: 'center', |
| | | align: 'center', |
| | | emptyText: 'ææ å
容', |
| | | tip:false, |
| | | // selection æ¯å¦æéæ©æ¡ |
| | | // indexFixed:true/left/right, åºå®å |
| | | // menu:false, æ¯å¦ææä½æ |
| | |
| | | <el-button icon="el-icon-plus" plain 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="downloadTemplateHandler">ä¸è½½å¯¼å
¥æ¨¡æ¿</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadHandler">导å
¥</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downLoadHandler">导åº</el-button> |
| | | </template> |
| | |
| | | <el-row> |
| | | <div class="addDialog"> |
| | | <div> |
| | | |
| | | <h3>屿§é¡¹</h3> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | menuWidth:160, |
| | | column |
| | | }, |
| | | tableLoading: false, |
| | |
| | | label: 'ç±»å', |
| | | prop: 'attributeDataTypeText', |
| | | sortable: true, |
| | | width:100 |
| | | }, |
| | | { |
| | | label: 'é»è®¤å¼', |
| | | prop: 'defaultValue', |
| | | sortable: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | label: 'æè¿°', |
| | |
| | | <el-container v-loading="createViewLoading"> |
| | | <el-aside> |
| | | <basic-container> |
| | | <div ref="TreeBox" style="height: calc(100vh - 144px);!important;"> |
| | | <div class="headerCon"> |
| | | <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">å建 |
| | | </el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">ä¿®æ¹ |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">å é¤ |
| | | </el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">å¯¼åº |
| | | </el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥ |
| | | </el-button> |
| | | <el-button class="miniBtn" icon="el-icon-circle-plus-outline" plain size="small" |
| | | type="primary" @click="createViewClickHandler">å建è§å¾ |
| | | </el-button> |
| | | <el-button class="miniBtn" icon="el-icon-circle-plus-outline" plain size="small" |
| | | type="primary" @click="indexClickHandler">åå»ºç´¢å¼ |
| | | </el-button> |
| | | <el-button icon="el-icon-menu" plain size="small" style="width: 82px;text-align: center;padding-left: 1px" |
| | | type="primary" @click="checkClickHandler">ä¸è´æ§æ£æ¥ |
| | | </el-button> |
| | | <el-button class="miniBtn" icon="el-icon-delete" plain size="small" |
| | | type="danger" @click="checkClickHandler">å 餿°æ® |
| | | </el-button> |
| | | <el-button class="smallBtn" plain size="small" |
| | | type="danger" @click="checkClickHandler">å é¤å
¨é¨ç±»å |
| | | </el-button> |
| | | <el-button class="smallBtn" plain size="small" type="primary" @click="checkViewClickHandler">æ¥ç使ç¨èå´ |
| | | </el-button> |
| | | </div> |
| | | <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> |
| | | |
| | | <!-- 左侧æ --> |
| | | <div style="height: calc(100vh - 330px);"> |
| | | <div style="height: calc(100vh - 190px);"> |
| | | <avue-tree ref="tree" v-loading="treeLoading" :data="treeData" :option="treeOption" @node-click="nodeClick"> |
| | | <span slot-scope="{ node, data }" class="el-tree-node__label"> |
| | | <span style="font-size: 15px"> |
| | |
| | | </el-aside> |
| | | <el-main> |
| | | <basic-container> |
| | | <div style="display: flex;justify-content: center; height: 230px"> |
| | | <div> |
| | | <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥</el-button> |
| | | <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">å建è§å¾</el-button> |
| | | <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="indexClickHandler">å建索å¼</el-button> |
| | | <el-button icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">ä¸è´æ§æ£æ¥</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">å 餿°æ®</el-button> |
| | | <el-button plain size="small" type="danger" @click="checkClickHandler">å é¤å
¨é¨ç±»å</el-button> |
| | | <el-button plain size="small" type="primary" @click="checkViewClickHandler">æ¥ç使ç¨èå´</el-button> |
| | | </div> |
| | | <div style="display: flex;justify-content: center; height: 230px;margin-top: 10px;"> |
| | | <div class="descBox" style="max-height: 100px"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="屿§ä¿¡æ¯"> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | |
| | | |
| | | .headerCon > .el-button:nth-child(10) { |
| | | margin-left: 0; |
| | | } |
| | | |
| | | .miniBtn { |
| | | width: 82px; |
| | | text-align: center; |
| | | padding-left: 7px; |
| | | } |
| | | |
| | | .smallBtn { |
| | | width: 82px; |
| | | text-align: center; |
| | | padding-left: 4.5px; |
| | | } |
| | | |
| | | .descBox { |
| | |
| | | <el-container v-loading="createViewLoading"> |
| | | <el-aside> |
| | | <basic-container> |
| | | <div ref="TreeBox" style="height: calc(100vh - 144px);!important;"> |
| | | <div class="headerCon"> |
| | | <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">å建 |
| | | </el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">ä¿®æ¹ |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">å é¤ |
| | | </el-button> |
| | | <el-button icon="el-icon-view" plain size="small" type="primary">æ¥ç |
| | | </el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">å¯¼åº |
| | | </el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥ |
| | | </el-button> |
| | | <el-button class="smallBtn" icon="el-icon-circle-plus-outline" plain size="small" |
| | | style="padding-left: 7px !important;" |
| | | type="primary" @click="createViewClickHandler">å建è§å¾ |
| | | </el-button> |
| | | <el-button class="smallBtn" icon="el-icon-menu" plain size="small" style="padding-left: 1px" |
| | | type="primary" @click="checkClickHandler">ä¸è´æ§æ£æ¥ |
| | | </el-button> |
| | | </div> |
| | | <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> |
| | | <!-- 左侧æ --> |
| | | <div style="height: calc(100vh - 300px);"> |
| | | <div style="height: calc(100vh - 190px);"> |
| | | <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> |
| | | <span slot-scope="{ node, data }" class="el-tree-node__label"> |
| | | <span style="font-size: 15px"> |
| | |
| | | |
| | | <el-main> |
| | | <basic-container> |
| | | <div style="height: 380px"> |
| | | <div> |
| | | <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥</el-button> |
| | | <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">å建è§å¾</el-button> |
| | | <el-button icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">ä¸è´æ§æ£æ¥</el-button> |
| | | </div> |
| | | <div style="height: 380px;margin-top: 10px"> |
| | | <el-descriptions :column="2" border class="margin-top" size="medium"> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | |
| | | <el-button icon="el-icon-delete" plain size="small" type="text" @click="delRowClickHandler(row)">å é¤ |
| | | </el-button> |
| | | </template> |
| | | |
| | | |
| | | </avue-crud> |
| | | |
| | | <!-- æ°å¢ ä¿®æ¹ --> |
| | |
| | | //è·åæ¥è¯¢æ¨¡æ¿å®ä¹ä¸æ |
| | | getTemp(btmName,linkFlag) { |
| | | if (btmName) { |
| | | queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:this.form.direction}).then(res => { |
| | | queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:linkFlag?null:this.form.direction}).then(res => { |
| | | const data = res.data.data.map(item => { |
| | | item.label = item.name + '-' + (item.linkTypeName || item.btmName); |
| | | item.value = item.name; |
| | |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | selectHandler(selection, row){debugger; |
| | | selectHandler(selection, row){ |
| | | this.dialogSelectionRow=selection |
| | | }, |
| | | changeTemp(data) { |
| | |
| | | }); |
| | | this.treeData = data; |
| | | this.treeLoading = false; |
| | | }).catch(error => { |
| | | loading.close(); |
| | | }); |
| | | }, |
| | | |
| | |
| | | this.$message.error('请è³å°éæ©ä¸æ¡æ°æ®'); |
| | | return; |
| | | } |
| | | console.log(this.selectList); |
| | | const params = { |
| | | ids: this.selectList.map(item => item.id).join(',') |
| | | } |
| | | deleteByIds(params).then(res => { |
| | | console.log(res); |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getRightPortalVIDatas(); |
| | |
| | | }) |
| | | |
| | | }, |
| | | |
| | | rowDeleteHandler(row){ |
| | | deleteByIds({ids:row.id}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getRightPortalVIDatas(); |
| | | } |
| | | }) |
| | | }, |
| | | // å¤é |
| | | selectChangeHandler(row) { |
| | | this.selectList = row; |
| | |
| | | <!-- 左侧æ --> |
| | | <div style="height: calc(100vh - 190px);"> |
| | | <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> |
| | | <span slot-scope="{ node, data }" class="el-tree-node__label"> |
| | | <span style="font-size: 15px"> |
| | | <i class="el-icon-s-promotion"></i> |
| | | {{ (node || {}).label }} |
| | | </span> |
| | | </span> |
| | | <span slot-scope="{ node, data }" class="el-tree-node__label"> |
| | | <span style="font-size: 15px"> |
| | | <i class="el-icon-s-promotion"></i> |
| | | {{ (node || {}).label }} |
| | | </span> |
| | | </span> |
| | | </avue-tree> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <el-main> |
| | | <basic-container> |
| | | |
| | | <avue-crud |
| | | ref="crud" |
| | | :data="data" |
| | | :option="option" |
| | | :page.sync="page" |
| | | :table-loading="tableLoading" |
| | | @size-change="sizeChange" |
| | | @current-change="currentChange" |
| | | @selection-change="selectChangeHandler" |
| | | @search-change="handleSearch" |
| | | @search-reset="handleReset" |
| | | @row-click="rowClickHandler"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥</el-button> |
| | | <el-button icon="el-icon-place" plain size="small" type="primary" @click="">ææ</el-button> |
| | | </template> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">ç¼è¾ |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">å é¤ |
| | | </el-button> |
| | | <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">å
é</el-button> |
| | | </template> |
| | | <template slot="plName" slot-scope="{row}"> |
| | | <el-link type="primary" @click="linkClickHandler(row)">{{ row.plName }}</el-link> |
| | | </template> |
| | | </avue-crud> |
| | | <!-- å建ç¼è¾èªå®ä¹å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="dialogLoading" |
| | | :title="dialogType === 'add' ? ' å建 ä¸ä¸æ' : 'ç¼è¾ ä¸ä¸æ'" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | :close-on-click-modal="false" |
| | | width="500px" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="95px" size="small"> |
| | | <el-form-item label="åç§°ï¼" prop="plName"> |
| | | <el-input v-model="form.plName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="UIä¸ä¸æï¼" prop="plCode"> |
| | | <el-input v-model="form.plCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¾ç¤ºï¼" prop="plIsShow"> |
| | | <el-checkbox-group v-model="form.plIsShow"> |
| | | <el-checkbox label="导èªåº"></el-checkbox> |
| | | <el-checkbox label="æ§å¶åº"></el-checkbox> |
| | | <el-checkbox label="æä½åº"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿°ï¼" prop="plDesc"> |
| | | <el-input type="textarea" :rows="5" v-model="form.plDesc"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogClose">å æ¶</el-button> |
| | | <el-button type="primary" @click="saveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- å
é --> |
| | | <el-dialog |
| | | key="cloneDialog" |
| | | v-dialogDrag |
| | | title="å
é" |
| | | :visible.sync="cloneDialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="500px" |
| | | @close="cloneDialogClose" |
| | | > |
| | | <avue-form ref="cloneForm" :option="cloneOption" v-model="cloneForm"></avue-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="cloneDialogClose">å æ¶</el-button> |
| | | <el-button type="primary" @click="cloneSaveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- å¯¼åº --> |
| | | <el-dialog |
| | | key="cloneDialog" |
| | | v-dialogDrag |
| | | title="导åº" |
| | | :visible.sync="expDialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="500px" |
| | | @close="expDialogVisible=false" |
| | | > |
| | | <div style="height: 70%;min-height: 300px"> |
| | | <avue-tree ref="expTree" :data="expTreeData" :option="expOption"></avue-tree> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="expDialogVisible=false">å æ¶</el-button> |
| | | <el-button type="primary" @click="exportData">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | | <!-- 导å
¥ --> |
| | | <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" :fileData="fileData" title="导å
¥" |
| | | @updata="getTableList" @upfaildata="upFail"></upload-file> |
| | | <el-dialog v-dialogDrag |
| | | :title="dialog.title" |
| | | :visible.sync="dialog.showDialog" |
| | | :fullscreen="true" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="dialog.showDialog=false"> |
| | | <pl-show :uiDefineData="dialog.uiDefineData"></pl-show> |
| | | </el-dialog> |
| | | </el-main> |
| | | |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getBizTypes} from "@/api/modeling/businessType/api"; |
| | | import {getBizTree,gridUIContextData,saveUIContextData,updateUIContextData,delUIContextData, cloneUIContextData ,getExpContextTree,expUIContextData} from "@/api/UI/uiDefine"; |
| | | import basicOption from "@/util/basic-option"; |
| | | import func from "@/util/func"; |
| | | import plShow from "@/views/modelingMenu/ui/uiDefine/plShow"; |
| | | export default { |
| | | name: "index", |
| | | components:{plShow}, |
| | | data() { |
| | | return { |
| | | dialog: { |
| | | showDialog: false, |
| | | title: "ä¸ä¸æè¯¦æ
", |
| | | loading: false, |
| | | uiDefineData:null |
| | | }, |
| | | tipList: [], |
| | | upFileType: ['xls'], |
| | | fileUrl: 'api/uiManagerController/impUIContextData', |
| | | fileData:{}, |
| | | lastIndex: null, |
| | | treeOption: { |
| | | height: 'auto', |
| | | defaultExpandedKeys: ['topNode'], |
| | | defaultExpandAll: true, |
| | | menu: false, |
| | | addBtn: false, |
| | | props: { |
| | | label: 'label', |
| | | label: 'text', |
| | | value: 'oid', |
| | | children: 'children' |
| | | } |
| | | }, |
| | | nodeRow: {}, |
| | | treeData: [{ |
| | | label: 'ä¸å¡ç±»åæ ', |
| | | oid: 'topNode', |
| | | children: [] |
| | | }], |
| | | treeData: [], |
| | | searchParams: { |
| | | 'conditionMap[txtName]': '', |
| | | 'conditionMap[txtCode]': '', |
| | | }, |
| | | tableLoading: false, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 50, |
| | | total: 0, |
| | | pageSizes: [10, 30, 50, 100], |
| | | }, |
| | | selectList: [], |
| | | option: { |
| | | ...basicOption, |
| | | calcHeight: -40, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | tip: false, |
| | | searchMenuSpan: 6, |
| | | align:'left', |
| | | column: [{ |
| | | label: 'åç§°', |
| | | prop: 'plName', |
| | | search: true |
| | | }, { |
| | | label: 'UIä¸ä¸æ', |
| | | prop: 'plCode', |
| | | search: true, |
| | | sortable: true, |
| | | }, { |
| | | label: '导èªåº', |
| | | prop: 'plIsShowNavigator', |
| | | width: 130, |
| | | align:'center', |
| | | formatter: function (row, value) { |
| | | if (row.plIsShowNavigator == 0) { |
| | | return '䏿¾ç¤º' |
| | | } else { |
| | | return 'æ¾ç¤º' |
| | | } |
| | | } |
| | | }, { |
| | | label: 'æ§å¶åº', |
| | | prop: 'plIsShowForm', |
| | | width: 130, |
| | | align:'center', |
| | | formatter: function (row, value) { |
| | | if (row.plIsShowForm == 0) { |
| | | return '䏿¾ç¤º' |
| | | } else { |
| | | return 'æ¾ç¤º' |
| | | } |
| | | } |
| | | }, { |
| | | label: 'æä½åº', |
| | | prop: 'plIsShowTab', |
| | | width: 130, |
| | | align:'center', |
| | | formatter: function (row, value) { |
| | | if (row.plIsShowTab == 0) { |
| | | return '䏿¾ç¤º' |
| | | } else { |
| | | return 'æ¾ç¤º' |
| | | } |
| | | } |
| | | }] |
| | | }, |
| | | data: [], |
| | | dialogLoading: false, |
| | | dialogVisible: false, |
| | | dialogType: '', |
| | | form: { |
| | | plName: '', |
| | | plCode: '', |
| | | plIsShow: [], |
| | | }, |
| | | rules: { |
| | | plName: [{ |
| | | required: true, |
| | | message: '请è¾å
¥åç§°', |
| | | trigger: 'blur' |
| | | }], |
| | | plCode: [{ |
| | | required: true, |
| | | message: '请è¾å
¥UIä¸ä¸æ', |
| | | trigger: 'blur' |
| | | }], |
| | | plIsShow: [{ |
| | | required: true, |
| | | message: 'è¯·éæ©æ¾ç¤ºåºå', |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | | cloneDialogVisible:false, |
| | | cloneOption: { |
| | | submitBtn:false, |
| | | emptyBtn:false, |
| | | column: [{ |
| | | label: 'å
éç®æ ', |
| | | prop: 'cloneTargetName', |
| | | span:24, |
| | | type: 'tree', |
| | | clearable: true, |
| | | dicData: [], |
| | | defaultExpandAll:true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: 'è¯·éæ©å
éç®æ ', |
| | | trigger: 'blur' |
| | | } |
| | | ] |
| | | }, { |
| | | label: 'UIåç§°', |
| | | prop: 'cloneName', |
| | | span:24, |
| | | type: 'input', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请è¾å
¥UIåç§°', |
| | | trigger: 'blur' |
| | | } |
| | | ] |
| | | }, { |
| | | label: 'UIä¸ä¸æ', |
| | | prop: 'cloneContextCode', |
| | | span:24, |
| | | type: 'input', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请è¾å
¥UIä¸ä¸æ', |
| | | trigger: 'blur' |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | cloneForm:{ |
| | | //å
éçæºå¯¹è±¡çä¿¡æ¯ |
| | | sourcePLUILayout:null, |
| | | cloneTargetName:'n', |
| | | cloneName:'', |
| | | cloneContextCode:'' |
| | | }, |
| | | expDialogVisible:false, |
| | | expTreeData:[], |
| | | expOption:{ |
| | | height: 'auto', |
| | | filter:false, |
| | | multiple:true, |
| | | defaultExpandAll: true, |
| | | menu: false, |
| | | addBtn: false, |
| | | props: { |
| | | label: 'text', |
| | | value: 'oid', |
| | | children: 'children' |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | //æ 表æ¥è¯¢ |
| | | getTreeList() { |
| | | const loading = this.$loading({}); |
| | | getBizTypes().then(res => { |
| | | const data = res.data.data.map(item => { |
| | | item.attributes.label = item.attributes.id; |
| | | return item.attributes; |
| | | getBizTree().then(res => { |
| | | this.treeData=[res.data.obj]; |
| | | const dicData = res.data.obj.children.map(item => { |
| | | item.label=item.attributes.name; |
| | | item.value=item.attributes.name; |
| | | return item; |
| | | }); |
| | | this.treeData[0].children = data; |
| | | this.cloneOption.column[0].dicData=[{ |
| | | label:'ä¸å¡ç±»åæ ', |
| | | value:'ä¸å¡ç±»åæ ', |
| | | disabled: true, |
| | | children:dicData |
| | | }]; |
| | | loading.close(); |
| | | }).catch(error => { |
| | | loading.close(); |
| | |
| | | }, |
| | | // æ ç¹å» |
| | | nodeClick(row) { |
| | | this.nodeRow = row; |
| | | if (row.oid) { |
| | | this.nodeRow = row; |
| | | this.tableLoading = true; |
| | | this.getTableList(); |
| | | } |
| | | }, |
| | | getTableList(){ |
| | | const params = Object.assign(this.searchParams,{ |
| | | 'conditionMap[btmName]': this.nodeRow.attributes.name, |
| | | }) |
| | | gridUIContextData(this.page.currentPage, this.page.pageSize, params).then(res => { |
| | | this.data = res.data.data; |
| | | this.page.total = res.data.total; |
| | | this.$refs.crud.clearSelection(); |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | linkClickHandler(row){ |
| | | this.dialog.title='ã'+row.plName+' - '+row.plCode+'ã详æ
' |
| | | this.dialog.uiDefineData=row; |
| | | this.dialog.showDialog=true; |
| | | return false; |
| | | this.$router.push({ |
| | | path: '/UIDefineShow/:'+row.plOId, |
| | | name: row.plName+'详æ
' |
| | | }); |
| | | }, |
| | | sizeChange(val) { |
| | | this.page.pageSize = val; |
| | | }, |
| | | // 页ç |
| | | currentChange(val) { |
| | | this.page.currentPage = val; |
| | | }, |
| | | // å¤é |
| | | selectChangeHandler(row) { |
| | | this.selectList = row; |
| | | }, |
| | | // æç´¢ |
| | | handleSearch(params, done) { |
| | | this.searchParams = { |
| | | 'conditionMap[txtName]': params.plName, |
| | | 'conditionMap[txtCode]': params.plCode, |
| | | }; |
| | | this.getTableList() |
| | | done(); |
| | | }, |
| | | |
| | | // éç½®æç´¢æ¡ä»¶ |
| | | handleReset() { |
| | | this.searchParams = {}; |
| | | this.getTableList(); |
| | | }, |
| | | // è¡ç¹å» |
| | | rowClickHandler(row) { |
| | | func.rowClickHandler( |
| | | row, |
| | | this.$refs.crud, |
| | | this.lastIndex, |
| | | (newIndex) => { |
| | | this.lastIndex = newIndex; |
| | | }, |
| | | () => { |
| | | this.selectList = []; |
| | | } |
| | | ); |
| | | }, |
| | | |
| | | //å建 |
| | | addHandler(){ |
| | | if(this.nodeRow && this.nodeRow.oid){ |
| | | this.form.plIsShow=[]; |
| | | this.form.plRelatedType=this.nodeRow.attributes.name; |
| | | this.dialogType = 'add'; |
| | | this.dialogVisible = true; |
| | | }else { |
| | | this.$message.error('è¯·éæ©ä¸å¡ç±»å'); |
| | | } |
| | | |
| | | }, |
| | | editHandler(){ |
| | | if(this.selectList.length!=0){ |
| | | this.rowEditBtnClick(this.selectList[0]); |
| | | }else { |
| | | this.$message.error('è¯·éæ©ä¸æ¡æ°æ®è¿è¡ç¼è¾'); |
| | | } |
| | | }, |
| | | delHandler(){ |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.error('请è³å°éæ©ä¸æ¡æ°æ®'); |
| | | return; |
| | | } |
| | | const params = { |
| | | oids: this.selectList.map(item => item.plOId).join(',') |
| | | } |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | delUIContextData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // å
³éå¯¹è¯æ¡ |
| | | dialogClose() { |
| | | this.dialogVisible = false; |
| | | this.$refs.form.clearValidate(); |
| | | this.form = { |
| | | plName: '', |
| | | plCode: '', |
| | | plDesc:'', |
| | | plIsShow: [], |
| | | } |
| | | }, |
| | | // ä¿åUIä¸ä¸æ |
| | | saveHandler() { |
| | | this.$refs.form.validate((valid,done) => { |
| | | if (valid) { |
| | | let params = { |
| | | ...this.form |
| | | } |
| | | if(this.form.plIsShow.includes('导èªåº')){ |
| | | params.plIsShowNavigator=1 |
| | | }else { |
| | | params.plIsShowNavigator=0 |
| | | } |
| | | if(this.form.plIsShow.includes('æ§å¶åº')){ |
| | | params.plIsShowForm=1; |
| | | }else { |
| | | params.plIsShowForm=0; |
| | | } |
| | | if(this.form.plIsShow.includes('æä½åº')){ |
| | | params.plIsShowTab=1; |
| | | }else { |
| | | params.plIsShowTab=0; |
| | | } |
| | | delete params.plIsShow; |
| | | if (this.dialogType === 'add') { |
| | | saveUIContextData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('æ·»å æå'); |
| | | this.dialogClose(); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } else if (this.dialogType === 'edit') { |
| | | updateUIContextData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('ä¿®æ¹æå'); |
| | | this.dialogClose() |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // å¯¼åº |
| | | exportClickHandler() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.error('è¯·éæ©æ°æ®'); |
| | | return; |
| | | } |
| | | const params = { |
| | | expDatas: this.selectList.map(item => item.plOId).join(',') |
| | | } |
| | | getExpContextTree(params).then(res => { |
| | | this.expTreeData=[res.data.obj]; |
| | | }) |
| | | this.expDialogVisible=true; |
| | | }, |
| | | exportData(){ |
| | | const params = {} |
| | | const checkedDatas=this.$refs.expTree.getCheckedNodes(); |
| | | if (checkedDatas.length <= 0) { |
| | | this.$message.error('è¯·éæ©æ°æ®'); |
| | | return; |
| | | } |
| | | this.selectList.forEach(item=>{ |
| | | params[item.plOId]=checkedDatas.filter(checkitem => checkitem.parentId==item.plOId).map(checkitem => checkitem.oid).join(',') |
| | | }) |
| | | expUIContextData(params).then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('å¯¼åºæå'); |
| | | this.expDialogVisible=false; |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }); |
| | | }, |
| | | |
| | | // 导å
¥ |
| | | upLoadClickHandler() { |
| | | this.fileData={ |
| | | isCovered:false, |
| | | selectBtm:this.nodeRow.attributes.name |
| | | } |
| | | this.$refs.upload.visible = true; |
| | | }, |
| | | //导å
¥å¤±è´¥ |
| | | upFail(response){ |
| | | |
| | | }, |
| | | // ç¼è¾æé® |
| | | rowEditBtnClick(row) { |
| | | this.form={ |
| | | ...row, |
| | | plIsShow: [], |
| | | }; |
| | | if(row.plIsShowNavigator){ |
| | | this.form.plIsShow.push('导èªåº') |
| | | } |
| | | if(row.plIsShowForm){ |
| | | this.form.plIsShow.push('æ§å¶åº') |
| | | } |
| | | if(row.plIsShowTab){ |
| | | this.form.plIsShow.push('æä½åº') |
| | | } |
| | | this.dialogType = 'edit'; |
| | | this.dialogVisible = true; |
| | | }, |
| | | // å é¤æé® |
| | | rowDeleteHandler(row) { |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | delUIContextData({oids: row.plOId}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //å
é |
| | | rowCloneHandler(row){ |
| | | this.cloneForm={ |
| | | sourcePLUILayout:row, |
| | | cloneTargetName:'', |
| | | cloneName:row.plName+'_copy(0)', |
| | | cloneContextCode:row.plCode+'_copy(0)', |
| | | } |
| | | this.cloneDialogVisible=true; |
| | | }, |
| | | cloneSaveHandler(){ |
| | | this.$refs.cloneForm.validate((valid,done) => { |
| | | if (valid) { |
| | | cloneUIContextData(this.cloneForm).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å
éæå'); |
| | | this.cloneDialogClose(); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | cloneDialogClose(){ |
| | | this.cloneDialogVisible=false; |
| | | this.cloneForm= { |
| | | //å
éçæºå¯¹è±¡çä¿¡æ¯ |
| | | sourcePLUILayout: null, |
| | | cloneTargetName: '', |
| | | cloneName: '', |
| | | cloneContextCode: '' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-tabs v-model="areaType" type="card" @tab-click="handleClick"> |
| | | <el-tab-pane v-if="uiDefineData.plIsShowNavigator" label="导èªåº" name="1"></el-tab-pane> |
| | | <el-tab-pane v-if="uiDefineData.plIsShowForm" label="æ§å¶åº" name="2"></el-tab-pane> |
| | | <el-tab-pane v-if="uiDefineData.plIsShowTab" label="æä½åº" name="3"></el-tab-pane> |
| | | </el-tabs> |
| | | <avue-crud |
| | | ref="crud" |
| | | :data="data" |
| | | :option="option" |
| | | :table-loading="tableLoading" |
| | | @selection-change="selectChangeHandler" |
| | | @row-click="rowClickHandler"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">å é¤</el-button> |
| | | </template> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">ç¼è¾ |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">å é¤ |
| | | </el-button> |
| | | </template> |
| | | <template slot="plIsOpen" slot-scope="{row}"> |
| | | <el-tag v-if="row.plIsOpen === 1" type="success">å¯ç¨</el-tag> |
| | | <el-tag v-else type="danger">æªå¯ç¨</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <!-- å建ç¼è¾èªå®ä¹å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="dialogLoading" |
| | | :title="dialogType === 'add' ? ' å建 页ç¾' : 'ç¼è¾ 页ç¾'" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | :close-on-click-modal="false" |
| | | width="800px" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" size="small"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="页é¢ç¼ç ï¼" prop="plCode"> |
| | | <el-input v-model="form.plCode"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="plName"> |
| | | <el-input v-model="form.plName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åºå·ï¼" prop="plSeq"> |
| | | <el-input v-model="form.plSeq"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¯å¦å¯ç¨" prop="plIsOpen"> |
| | | <el-switch v-model="form.plIsOpen" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949"></el-switch> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="æ¾ç¤ºè¡¨è¾¾å¼ï¼" prop="plOpenExpression"> |
| | | <el-input type="textarea" :rows="3" v-model="form.plOpenExpression"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å½é
åæ åï¼" prop="plLabel"> |
| | | <el-input type="textarea" :rows="1" v-model="form.plLabel"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿°ï¼" prop="plDesc"> |
| | | <el-input type="textarea" :rows="1" v-model="form.plDesc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="UIè§£æç±»ï¼" prop="plUIParser"> |
| | | <el-input type="textarea" :rows="2" v-model="form.plUIParser"></el-input> |
| | | </el-form-item> |
| | | <div class="tip"> |
| | | <div style="color: #D40000">示ä¾ï¼java_cs:xxx;java_bs:xxx;net_cs:xxx;net_bs:xxx;mobile_cs:xxx;mobile_bs:xxx;</div> |
| | | <div>1ãç¨è±æåè§åå·;åéåç»å¼ã</div> |
| | | <div>2ãæ¯ç»ç¨è±æåè§åå·:åéå䏿å±å±æ§åç§°å屿§å¼ã</div> |
| | | <div>3ãå
¶ä¸çxxxæ¯åç§è§£æç±»ç宿´ç±»ååç§°ï¼å®å
¨éå®åï¼ã</div> |
| | | <div>4ãè¾å
¥æ¶ï¼ä¸è¦æ²å车æ¢è¡ã</div> |
| | | </div> |
| | | <el-form-item label="æå±å±æ§ï¼" prop="plExtAttr"> |
| | | <el-input type="textarea" :rows="2" v-model="form.plExtAttr"></el-input> |
| | | </el-form-item> |
| | | <div class="tip"> |
| | | <div style="color: #D40000">示ä¾ï¼ext1:xx;ext2:xx;ext3:xxx;ext4:xxx;extn:xxx</div> |
| | | <div>1ãç¨è±æåè§åå·;åéåç»å¼ã</div> |
| | | <div>2ãæ¯ç»ç¨è±æåè§åå·:åéå䏿å±å±æ§åç§°å屿§å¼ã</div> |
| | | <div>3ãå¯ä»¥å®ä¹ä»»æç»ï¼ä½æ»å符é¿åº¦ä¸å¾è¶
è¿4000ã</div> |
| | | <div>4ãè¾å
¥æ¶ï¼ä¸è¦æ²å车æ¢è¡ã</div> |
| | | </div> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogClose">å æ¶</el-button> |
| | | <el-button type="primary" @click="saveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import basicOption from "@/util/basic-option"; |
| | | import { |
| | | getTabByContextIdAndType, |
| | | addTabData, |
| | | updateTabData, |
| | | deleteTabData, |
| | | } from "@/api/UI/uiDefine"; |
| | | import func from "@/util/func"; |
| | | import {uiDefineVOData} from "@/views/base/uiDefineVO"; |
| | | |
| | | export default { |
| | | name: "plShow", |
| | | props: { |
| | | uiDefineData: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | uiDefineOid:'', |
| | | areaType: '', |
| | | tableLoading: false, |
| | | selectList: [], |
| | | option: { |
| | | ...basicOption, |
| | | height:'50%', |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | index:false, |
| | | menuWidth:160, |
| | | align:'left', |
| | | column: [{ |
| | | label: 'åºå·', |
| | | prop: 'plSeq', |
| | | width:60 |
| | | }, { |
| | | label: 'ç¼ç ', |
| | | prop: 'plCode', |
| | | width:180 |
| | | }, { |
| | | label: 'åç§°', |
| | | prop: 'plName', |
| | | width:200 |
| | | }, { |
| | | label: 'æ¯å¦å¯ç¨', |
| | | prop: 'plIsOpen', |
| | | align:'center', |
| | | width: 90 |
| | | }, { |
| | | label: 'æ¾ç¤ºè¡¨è¾¾å¼', |
| | | prop: 'plOpenExpression', |
| | | overHidden:true, |
| | | width:300 |
| | | }, { |
| | | label: 'UIè§£æç±»', |
| | | prop: 'plUIParser' |
| | | }, { |
| | | label: 'æå±å±æ§', |
| | | prop: 'plExtAttr' |
| | | }, { |
| | | label: 'æè¿°', |
| | | prop: 'plDesc' |
| | | }] |
| | | }, |
| | | data: [], |
| | | dialogLoading: false, |
| | | dialogVisible: false, |
| | | dialogType: '', |
| | | form: { |
| | | plSeq: '', |
| | | plCode: '', |
| | | plName: '', |
| | | plIsOpen:0, |
| | | plOpenExpression:'', |
| | | plLabel:'', |
| | | plUIParser:'', |
| | | plExtAttr:'', |
| | | plDesc:'' |
| | | }, |
| | | rules: { |
| | | plName: [{ |
| | | required: true, |
| | | message: '请è¾å
¥åç§°', |
| | | trigger: 'blur' |
| | | }], |
| | | plCode: [{ |
| | | required: true, |
| | | message: '请è¾å
¥ç¼ç ', |
| | | trigger: 'blur' |
| | | }], |
| | | plSeq: [{ |
| | | required: true, |
| | | message: '请è¾å
¥åºå·', |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | | } |
| | | }, |
| | | watch: { |
| | | uiDefineData:{ |
| | | handler(val) { |
| | | if(val && val.plOId) { |
| | | if (val.plIsShowNavigator) { |
| | | this.areaType = '1'; |
| | | }else if(val.plIsShowForm){ |
| | | this.areaType = '2' |
| | | }else{ |
| | | this.areaType = '3' |
| | | } |
| | | this.getTableList() |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep:true |
| | | } |
| | | }, |
| | | created() { |
| | | this.uiDefineOid=this.$route.params.uiDefineOid; |
| | | }, |
| | | methods: { |
| | | handleClick(tab, event) { |
| | | this.getTableList() |
| | | }, |
| | | getTableList(){ |
| | | const params = { |
| | | contextId:this.uiDefineData.plOId, |
| | | areaType:this.areaType |
| | | } |
| | | getTabByContextIdAndType( params).then(res => { |
| | | this.data = res.data.data; |
| | | this.$refs.crud.clearSelection(); |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | selectChangeHandler(row) { |
| | | this.selectList = row; |
| | | }, |
| | | // è¡ç¹å» |
| | | rowClickHandler(row) { |
| | | func.rowClickHandler( |
| | | row, |
| | | this.$refs.crud, |
| | | this.lastIndex, |
| | | (newIndex) => { |
| | | this.lastIndex = newIndex; |
| | | }, |
| | | () => { |
| | | this.selectList = []; |
| | | } |
| | | ); |
| | | }, |
| | | //å建 |
| | | addHandler(){ |
| | | this.form={ |
| | | plSeq: '', |
| | | plCode: '', |
| | | plName: '', |
| | | plIsOpen:0, |
| | | plOpenExpression:'', |
| | | plLabel:'', |
| | | plUIParser:'', |
| | | plExtAttr:'', |
| | | plDesc:'' |
| | | }; |
| | | this.dialogType = 'add'; |
| | | this.dialogVisible = true; |
| | | }, |
| | | editHandler(){ |
| | | if(this.selectList.length!=0){ |
| | | this.rowEditBtnClick(this.selectList[0]); |
| | | }else { |
| | | this.$message.error('è¯·éæ©ä¸æ¡æ°æ®è¿è¡ç¼è¾'); |
| | | } |
| | | }, |
| | | delHandler(){ |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.error('请è³å°éæ©ä¸æ¡æ°æ®'); |
| | | return; |
| | | } |
| | | const params = { |
| | | oids: this.selectList.map(item => item.plOId).join(',') |
| | | } |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteTabData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | // ç¼è¾æé® |
| | | rowEditBtnClick(row) { |
| | | this.form=row; |
| | | this.dialogType = 'edit'; |
| | | this.dialogVisible = true; |
| | | }, |
| | | // å é¤æé® |
| | | rowDeleteHandler(row) { |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteTabData({oids: row.plOId}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('å 餿å'); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | // å
³éå¯¹è¯æ¡ |
| | | dialogClose() { |
| | | this.dialogVisible = false; |
| | | this.$refs.form.clearValidate(); |
| | | this.form = { |
| | | plName: '', |
| | | plCode: '', |
| | | plDesc:'', |
| | | plIsShow: [], |
| | | } |
| | | }, |
| | | // ä¿åé¡µç¾ |
| | | saveHandler() { |
| | | this.$refs.form.validate((valid,done) => { |
| | | if (valid) { |
| | | const params = { |
| | | plAreaType:parseInt(this.areaType), |
| | | plContextOId:this.uiDefineData.plOId, |
| | | ...this.form |
| | | } |
| | | if (this.dialogType === 'add') { |
| | | addTabData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('æ·»å æå'); |
| | | this.dialogClose(); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } else if (this.dialogType === 'edit') { |
| | | updateTabData(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success('ä¿®æ¹æå'); |
| | | this.dialogClose() |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .tip{ |
| | | font-size: 12px; |
| | | color: #909399; |
| | | margin: -13px 0 10px 100px; |
| | | } |
| | | </style> |