| | |
| | | data: params |
| | | }) |
| | | } |
| | | // æ¨¡æ¿æµç¨å é¤ |
| | | export const flowpathDelete = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-flow/processTS/dt', |
| | | method: 'delete', |
| | | params: params |
| | | }) |
| | | } |
| | | // 模æ¿é¶æ®µå表 |
| | | export const stagelist = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-flow/processTS/sslist', |
| | | method: 'get', |
| | | params: params |
| | | }) |
| | | } |
| | | // 屿§å表 |
| | | export const attributeList = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/codeTempPhaseController/gridUnUsedAttribute', |
| | | method: 'get', |
| | | params: params |
| | | }) |
| | | } |
| | | // 屿§å表左侧 |
| | | export const attributeListRight = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-flow/processTS/ssslist', |
| | | method: 'get', |
| | | params: params |
| | | }) |
| | | } |
| | | // 模æ¿é¶æ®µå表 |
| | | export const attributeSave = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-flow/processTS/sasou', |
| | | method: 'post', |
| | | data: params |
| | | }) |
| | | } |
| | |
| | | <avue-crud ref="crud" :table-loading="loading" :data="data" v-model="form" :option="option" :page.sync="page" |
| | | :search.sync="search" @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" |
| | | @row-update="handleEdit" @refresh-change="handleRefresh" @size-change="handleSizePage" |
| | | @current-change="handleCurrentPage" @selection-change="selectionChange" @row-click="handleRowClick"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">å é¤ |
| | | </el-button> |
| | | </template> |
| | | <template slot="search" slot-scope="{row,size}"> |
| | | <el-input :placeholder="`请è¾å
¥${selectValue === 'id' ? 'ç³»ç»ç¼å·' : 'ç³»ç»åç§°'}å¹¶æå车æ¥è¯¢`" :size="size" |
| | | style="width:300px;margin-left: 10px;" v-model="search[selectValue]" clearable |
| | | @keyup.enter.native="handleEnter" @clear="handleClear"></el-input> |
| | | </template> |
| | | @current-change="handleCurrentPage"> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getFlowpathList, getStartList, flowpathSave } from '@/api/template/flowpath.js' |
| | | import { getFlowpathList, getStartList, flowpathSave, flowpathDelete } from '@/api/template/flowpath.js' |
| | | export default { |
| | | name: 'FlowPath', |
| | | props: { |
| | |
| | | prop: 'id,name,description,version', |
| | | order: 'descending' |
| | | }, |
| | | selection: true, |
| | | column: [ |
| | | { |
| | | label: '模æ¿key', |
| | |
| | | nodeClick: (data) => { |
| | | console.log(data) |
| | | // èç¹ç¹å»çæ¶åä¼è·åå°æ°æ® |
| | | this.form.modeName = data.name |
| | | this.form.modelName = data.name |
| | | } |
| | | }, { |
| | | label: '模æ¿åç§°', |
| | |
| | | console.log(this.search) |
| | | const { pageSize, currentPage } = this.page |
| | | let param = { size: pageSize, current: currentPage } |
| | | const response = await getFlowpathList({ ...param, ...this.search }) |
| | | const response = await getFlowpathList({ ...param, ...{ templateId: this.code } }) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.loading = false |
| | |
| | | }, |
| | | // å é¤åæ¡ |
| | | handleDelete(row) { |
| | | const { oid } = row |
| | | }, |
| | | // 夿¡æ°æ®å é¤ |
| | | handleDeleteByIds() { |
| | | |
| | | console.log(row) |
| | | const { id } = row |
| | | this.deleteSysInfo({ id: id }) |
| | | }, |
| | | // å 餿¥å£ |
| | | deleteSysInfo(param) { |
| | | this.$confirm('æ¯å¦ç¡®å®å é¤éæ©çéæç³»ç»?', 'æç¤º', { |
| | | this.$confirm('æ¯å¦ç¡®å®å é¤éæ©çæ¨¡æ¿æµç¨?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(async () => { |
| | | // æ¥å£ |
| | | const response = await flowpathDelete(param) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å!' |
| | | }); |
| | | this.getDataList() |
| | | } |
| | | }) |
| | | }, |
| | | // enteræç´¢ |
| | |
| | | }, |
| | | handleCurrentPage(event) { |
| | | this.page.currentPage = event |
| | | }, |
| | | // ç¹å»éæ© |
| | | handleRowClick(row) { |
| | | this.$refs.crud.toggleRowSelection(row, true) |
| | | }, |
| | | // å¤é |
| | | selectionChange(list) { |
| | | console.log(list) |
| | | |
| | | }, |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog title="模æ¿é¶æ®µ" width="90%" append-to-body="true" :visible.sync="dialogVisible"> |
| | | <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page" |
| | | @on-load="getDataList" @size-change="handleSizePage" @current-change="handleCurrentPage" |
| | | @row-click="handleRowClick"> |
| | | <template slot-scope="{type,size,row,index}" slot="menu"> |
| | | <el-button icon="el-icon-check" :size="size" :type="type" |
| | | @click="handleMaintenance(row, index)">ç»´æ¤</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="模æ¿é¶æ®µ" width="50%" append-to-body="true" :visible.sync="dialogNode"> |
| | | <avue-crud ref="crud" :table-loading="loading" :data="stageData" :option="stageOption" @on-load="getStagelist" |
| | | @row-click="handleRowStageClick"> |
| | | <template slot-scope="{type,size,row,index}" slot="menu"> |
| | | <el-button icon="el-icon-check" :size="size" :type="type" |
| | | @click="handleMaintenanceTransfer(row, index)">ç»´æ¤</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | <table-transfer :visible.sync="dialogTransfer" v-model="listVal" :dataList="tableData" :columns="columns" |
| | | keyName="oid" @save="handleSave"></table-transfer> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getFlowpathList, stagelist, attributeListRight, attributeList, attributeSave } from '@/api/template/flowpath.js' |
| | | import TableTransfer from '@/components/template/TableTransfer' |
| | | export default { |
| | | name: 'Stage', |
| | | components: { |
| | | TableTransfer |
| | | }, |
| | | props: { |
| | | // æ¯å¦æå¼ |
| | | visible: { |
| | | typeof: Boolean, |
| | | default: false |
| | | }, |
| | | code: { |
| | | typeof: String, |
| | | required: true, |
| | | default: "" |
| | | } |
| | | }, |
| | | watch: { |
| | | visible(n) { |
| | | this.dialogVisible = n; |
| | | }, |
| | | dialogVisible(n) { |
| | | this.$emit('update:visible', n) |
| | | }, |
| | | }, |
| | | computed: { |
| | | tableData() { |
| | | return this.setTable() |
| | | }, |
| | | listVal() { |
| | | let data = this.setTable() |
| | | let newdata = data.map(item => { |
| | | return item.checked ? item.oid : undefined |
| | | }) |
| | | console.log(newdata.filter(item => item)) |
| | | return newdata.filter(item => item) |
| | | } |
| | | }, |
| | | data() { |
| | | const options = { |
| | | height: "auto", |
| | | border: true, |
| | | addBtn: false, |
| | | align: 'center', |
| | | menuAlign: 'center', |
| | | index: true, |
| | | searchMenuSpan: 8, |
| | | searchBtn: false, |
| | | emptyBtn: false, |
| | | columnBtn: false, |
| | | delBtn: false, |
| | | refreshBtn: false, |
| | | header: false, |
| | | editBtn: false, |
| | | } |
| | | return { |
| | | list: [], |
| | | listRight: [], |
| | | dialogVisible: this.visible, |
| | | dialogTransfer: false, |
| | | dialogNode: false, |
| | | visibleTable: false, |
| | | loading: false, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | total: 0 |
| | | }, |
| | | modelKey: '', |
| | | data: [], |
| | | stageData: [], |
| | | saveParam: {}, |
| | | columns: [ |
| | | { |
| | | key: "oid", |
| | | label: "oid", |
| | | visible: false, |
| | | }, |
| | | { |
| | | key: "id", |
| | | label: "屿§ç¼å·", |
| | | visible: true, |
| | | }, |
| | | { |
| | | key: "name", |
| | | label: "屿§åç§°", |
| | | visible: true, |
| | | }, |
| | | { |
| | | key: "attributeGroup", |
| | | label: "屿§åç»", |
| | | visible: true, |
| | | }, |
| | | ], |
| | | option: { |
| | | ...options, |
| | | column: [ |
| | | { label: '模æ¿ç¼å·', prop: 'modelKey' }, |
| | | { label: '模æ¿åç§°', prop: 'modelName' }, |
| | | { label: 'æè¿°', prop: 'buttonTypeValue' }, |
| | | ] |
| | | }, |
| | | stageOption: { |
| | | ...options, |
| | | column: [ |
| | | { label: 'é¶æ®µç¼å·', prop: 'taskId' }, |
| | | { label: 'é¶æ®µåç§°', prop: 'taskName' }, |
| | | ] |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getAttributeList() |
| | | }, |
| | | methods: { |
| | | setTable() { |
| | | return this.list.map(item => { |
| | | if (this.listRight.length !== 0) { |
| | | this.listRight.forEach(element => { |
| | | if (item.id === element.attrId) item.checked = true |
| | | }); |
| | | } |
| | | return item |
| | | }) |
| | | }, |
| | | // è·åå表 |
| | | async getDataList() { |
| | | this.loading = false |
| | | const { pageSize, currentPage } = this.page |
| | | let param = { size: pageSize, current: currentPage } |
| | | const response = await getFlowpathList({ ...param, ...{ templateId: this.code } }) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.loading = false |
| | | const data = response.data.data |
| | | this.data = data.records |
| | | this.page.total = data.total |
| | | } else this.loading = false |
| | | }, |
| | | // è·åé¶æ®µå表 |
| | | async getStagelist() { |
| | | this.loading = false |
| | | console.log(this.modelKey) |
| | | const response = await stagelist({ modelKey: this.modelKey }) |
| | | if (response.status === 200) { |
| | | this.loading = false |
| | | console.log(response.data) |
| | | this.stageData = response.data.data |
| | | } else this.loading = false |
| | | }, |
| | | // è·åå
¨é¨å±æ§ |
| | | async getAttributeList() { |
| | | const response = await attributeList({ 'conditionMap[classifyTemplateOid]': this.code }) |
| | | if (response.status === 200) { |
| | | const data = response.data.data |
| | | this.list = data.records.map(item => { |
| | | const { oid, id, name, attributeGroup } = item |
| | | return { oid, id, name, attributeGroup, ...{ checked: false } } |
| | | }) |
| | | } |
| | | }, |
| | | // è·åå·²ä¿å屿§ |
| | | async getAttributeListRight() { |
| | | const response = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId }) |
| | | if (response.status === 200) { |
| | | let data = response.data.data |
| | | data = data.map(item => { |
| | | const { attrId, attrName, attrGroup } = item |
| | | return { attrId, attrName, attrGroup } |
| | | }) |
| | | this.listRight = data |
| | | } |
| | | }, |
| | | // ç»´æ¤ |
| | | handleMaintenance(row) { |
| | | console.log(row) |
| | | this.dialogNode = true |
| | | this.saveParam.modelKey = row.modelKey |
| | | }, |
| | | handleMaintenanceTransfer(row) { |
| | | console.log(row) |
| | | this.dialogTransfer = true |
| | | this.saveParam.taskId = row.taskId |
| | | this.saveParam.taskName = row.taskName |
| | | this.getAttributeListRight() |
| | | }, |
| | | handleSizePage(event) { |
| | | this.page.pageSize = event |
| | | }, |
| | | handleCurrentPage(event) { |
| | | this.page.currentPage = event |
| | | }, |
| | | handleRowClick(row) { |
| | | console.log(row) |
| | | this.modelKey = row.modelKey |
| | | this.saveParam.modelKey = row.modelKey |
| | | this.dialogNode = true |
| | | }, |
| | | handleRowStageClick(row) { |
| | | this.dialogTransfer = true |
| | | this.saveParam.taskId = row.taskId |
| | | this.saveParam.taskName = row.taskName |
| | | this.getAttributeListRight() |
| | | }, |
| | | async handleSave(event) { |
| | | console.log(event) |
| | | const data = event.map(item => { |
| | | const { id, name, attributeGroup } = item |
| | | return { attrId: id, attrName: name, attrGroup: attributeGroup } |
| | | }) |
| | | let param = { |
| | | templateId: this.code, |
| | | processStageAttr: data, |
| | | ...this.saveParam |
| | | } |
| | | console.log(this.saveParam) |
| | | console.log(data) |
| | | const response = await attributeSave(param) |
| | | if (response.status === 200) { |
| | | // loading() |
| | | console.log(response) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ°å¢æ°æ®æåï¼' |
| | | }) |
| | | // done() |
| | | // this.getDataList() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog :title="title" width="70%" append-to-body="true" :visible.sync="dialogVisible"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="11"> |
| | | <el-card class="box-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>åå§æ°æ®</span> |
| | | <el-input class="input" v-if="showSearch" v-model="searchLeft" placeholder="请è¾å
¥æç´¢å
容" |
| | | @keyup.enter.native="handleEnter"></el-input> |
| | | </div> |
| | | <el-table ref="transferLeftTable" :data="leftData" height="500" highlight-current-row |
| | | tooltip-effect="dark" @selection-change="handleLeftSelectionChange" @row-click="handleLeftRowClick"> |
| | | <el-table-column type="selection" width="50" align="center" fixed="left" :selectable="selectable" /> |
| | | <div v-for="(item, index) in columns" :key="index"> |
| | | <el-table-column v-if="item.visible" :label="item.label" align="center" :prop="item.key" /> |
| | | </div> |
| | | </el-table> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col :span="2" class="btns" :style="{ height: '500px' }"> |
| | | <el-button class="btn" :disabled="leftMultiple" type="primary" icon="el-icon-arrow-right" |
| | | @click="moveToRight" circle></el-button> |
| | | <el-button class="btn" :disabled="rightMultiple" type="primary" @click="moveToLeft" |
| | | icon="el-icon-arrow-left" circle></el-button> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-card class="box-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>æ¹åæ°æ®</span> |
| | | <el-input class="input" v-if="showSearch" v-model="searchRight" placeholder="请è¾å
¥æç´¢å
容"></el-input> |
| | | </div> |
| | | <el-table ref="transferRightTable" :data="rightData" height="500" highlight-current-row |
| | | tooltip-effect="dark" @selection-change="handleRightSelectionChange" |
| | | @row-click="handleRightRowClick"> |
| | | <el-table-column type="selection" width="50" align="center" fixed="left" /> |
| | | <div v-for="(item, index) in columns" :key="index"> |
| | | <el-table-column v-if="item.visible" :label="item.label" align="center" :prop="item.key" /> |
| | | </div> |
| | | </el-table> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="tableTransferSave">ä¿å</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'TableTransfer', |
| | | model: { |
| | | prop: "value", |
| | | event: "change", |
| | | }, |
| | | props: { |
| | | // æ¯å¦æå¼ |
| | | visible: { |
| | | typeof: Boolean, |
| | | default: false |
| | | }, |
| | | title: { |
| | | typeof: String, |
| | | default: '模æ¿é¶æ®µç»´æ¤' |
| | | }, |
| | | //ç»å®æ°æ® |
| | | value: { |
| | | type: Array, |
| | | default: () => { |
| | | return []; |
| | | }, |
| | | }, |
| | | //主é®keyå¼ |
| | | keyName: { |
| | | type: String, |
| | | default: "id", |
| | | }, |
| | | columns: { |
| | | type: Array, |
| | | default: () => { |
| | | return []; |
| | | }, |
| | | }, |
| | | dataList: { |
| | | type: Array, |
| | | default: () => { |
| | | return []; |
| | | }, |
| | | }, |
| | | /** |
| | | * æ¯å¦æ¾ç¤ºæç´¢æ¡ |
| | | */ |
| | | showSearch: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | }, |
| | | |
| | | watch: { |
| | | visible(n) { |
| | | this.dialogVisible = n; |
| | | }, |
| | | dialogVisible(n) { |
| | | this.$emit('update:visible', n) |
| | | }, |
| | | searchLeft: { |
| | | handler: function () { |
| | | this.handleQueryLeft(); |
| | | }, |
| | | deep: true, |
| | | }, |
| | | searchRight: { |
| | | handler: function () { |
| | | this.handleQueryRight(); |
| | | }, |
| | | deep: true, |
| | | }, |
| | | dataList: { |
| | | handler(data) { |
| | | console.log(data) |
| | | |
| | | }, |
| | | deep: true, |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogVisible: this.visible, |
| | | searchLeft: "", |
| | | leftIds: [], |
| | | leftMultiple: true, |
| | | leftDataList: [], |
| | | leftData: [], |
| | | searchRight: "", |
| | | rightIds: [], |
| | | rightMultiple: true, |
| | | rightDataList: [], |
| | | rightData: [], |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.init(); |
| | | }, |
| | | methods: { |
| | | selectable(row, index) { |
| | | console.log(row) |
| | | return row.checked === false //为trueçæ¶åå¯ä»¥éï¼ä¸ºfalseåä¸å¯éæ© |
| | | }, |
| | | init() { |
| | | this.rightIds = this.value; |
| | | console.log(this.rightIds) |
| | | for (let i = 0; i < this.dataList.length; i++) { |
| | | if (this.value.some((item) => item == this.dataList[i][this.keyName])) { |
| | | this.rightDataList.push(this.dataList[i]); |
| | | } else { |
| | | this.leftDataList.push(this.dataList[i]); |
| | | } |
| | | } |
| | | this.leftData = [...this.leftDataList]; |
| | | this.rightData = [...this.rightDataList]; |
| | | }, |
| | | // leftå¤éæ¡é䏿°æ® |
| | | handleLeftSelectionChange(selection) { |
| | | this.leftIds = selection.map((item) => item[this.keyName]); |
| | | this.leftMultiple = !selection.length; |
| | | }, |
| | | // rightå¤éæ¡é䏿°æ® |
| | | handleRightSelectionChange(selection) { |
| | | this.rightIds = selection.map((item) => item[this.keyName]); |
| | | this.rightMultiple = !selection.length; |
| | | }, |
| | | // æé®ç¹å» |
| | | moveToRight() { |
| | | for (let i = 0; i < this.leftDataList.length; i++) { |
| | | let a = this.leftIds.findIndex( |
| | | (item) => item == this.leftDataList[i][this.keyName] |
| | | ); |
| | | console.log(a) |
| | | if (a !== -1) { |
| | | this.rightDataList.push(this.leftDataList[i]); |
| | | // this.leftDataList[i].checked = true |
| | | // this.$refs.transferLeftTable.toggleRowSelection(this.leftDataList[i],true) |
| | | this.$delete(this.leftDataList, i); |
| | | i--; |
| | | } |
| | | } |
| | | // let obj = {} |
| | | // let filterright = this.rightDataList.reduce((cur, next) => { |
| | | // obj[next.id] ? "" : obj[next.id] = true && cur.push(next); |
| | | // return cur; |
| | | // }, []) |
| | | // console.log('filterright', filterright) |
| | | this.leftData = this.setData(this.leftDataList, this.searchLeft); |
| | | this.rightData = this.setData(this.rightDataList, this.searchRight); |
| | | this.$emit( |
| | | "change", |
| | | this.rightDataList.map((item) => item[this.keyName]) |
| | | ); |
| | | }, |
| | | // æé®ç¹å» |
| | | moveToLeft() { |
| | | for (let i = 0; i < this.rightDataList.length; i++) { |
| | | let a = this.rightIds.findIndex( |
| | | (item) => item == this.rightDataList[i][this.keyName] |
| | | ); |
| | | if (a !== -1) { |
| | | this.leftDataList.push(this.rightDataList[i]); |
| | | this.$delete(this.rightDataList, i); |
| | | i--; |
| | | } |
| | | } |
| | | // let obj = {} |
| | | // let filterleft = this.leftDataList.reduce((cur, next) => { |
| | | // obj[next.id] ? "" : obj[next.id] = true && cur.push(next); |
| | | // return cur; |
| | | // }, []) |
| | | // console.log('filterright', filterleft) |
| | | this.leftData = this.setData(this.leftDataList, this.searchLeft); |
| | | this.rightData = this.setData(this.rightDataList, this.searchRight); |
| | | this.$emit( |
| | | "change", |
| | | this.rightDataList.map((item) => item[this.keyName]) |
| | | ); |
| | | }, |
| | | |
| | | handleQueryLeft() { |
| | | this.leftData = this.setData(this.leftDataList, this.searchLeft); |
| | | }, |
| | | handleQueryRight() { |
| | | this.rightData = this.setData(this.rightDataList, this.searchRight); |
| | | }, |
| | | // åé |
| | | handleLeftRowClick(row) { |
| | | if (this.leftData) { |
| | | this.$refs.transferLeftTable.toggleRowSelection(row) |
| | | } else { |
| | | this.$refs.transferLeftTable.clearSelection() |
| | | } |
| | | }, |
| | | // åé |
| | | handleRightRowClick(row) { |
| | | if (this.rightData) { |
| | | this.$refs.transferRightTable.toggleRowSelection(row) |
| | | } else { |
| | | this.$refs.transferRightTable.clearSelection() |
| | | } |
| | | }, |
| | | setData(dataList, search) { |
| | | if (search != null || search != "") { |
| | | let list = []; |
| | | for (let i = 0; i < dataList.length; i++) { |
| | | if ( |
| | | this.columns.some((item) => |
| | | dataList[i][item.key].toLowerCase().includes(search.toLowerCase()) |
| | | ) |
| | | ) { |
| | | list.push(dataList[i]); |
| | | } |
| | | } |
| | | return list; |
| | | } else { |
| | | return dataList; |
| | | } |
| | | }, |
| | | change(val) { |
| | | console.log(val); |
| | | console.log(this.value) |
| | | }, |
| | | done() { |
| | | this.dialogVisible = false |
| | | }, |
| | | tableTransferSave() { |
| | | this.$emit('save', this.rightData) |
| | | this.leftData = [...this.rightData, ...this.leftData] |
| | | this.leftDataList = [...this.rightDataList, ...this.leftDataList] |
| | | this.rightDataList = [] |
| | | this.rightData = [] |
| | | |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep(.el-col>.el-card >.el-card__header) { |
| | | background: #fff |
| | | } |
| | | |
| | | .box-card { |
| | | background: #fff; |
| | | } |
| | | |
| | | .clearfix { |
| | | display: -webkit-box; |
| | | display: flex; |
| | | display: -ms-flexbox; |
| | | -webkit-box-pack: justify; |
| | | -ms-flex-pack: justify; |
| | | justify-content: space-between; |
| | | -webkit-box-align: center; |
| | | -ms-flex-align: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .input { |
| | | float: right; |
| | | padding: 3px 0; |
| | | max-width: 400px; |
| | | } |
| | | |
| | | .btns { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | |
| | | .btn { |
| | | margin: 20px 0; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div> |
| | | <el-button @click="outerVisible = true">æµç¨æµè¯</el-button> |
| | | <el-button @click="visibleFlow = true">æ¨¡æ¿æµç¨</el-button> |
| | | <el-button @click="visibleStage = true">模æ¿é¶æ®µ</el-button> |
| | | <el-button @click="visibleTable = true">tableç©¿æ¢æ¡</el-button> |
| | | <flow-business :visible.sync="outerVisible"></flow-business> |
| | | <flow-path :visible.sync="visibleFlow" code="A12826E4-2B66-6D56-DE30-92BB1D7F607F"></flow-path> |
| | | <flow-path :visible.sync="visibleFlow" code="8b5e2017-990f-454a-9c39-4c4eeeb57553"></flow-path> |
| | | <stage :visible.sync="visibleStage" code="8b5e2017-990f-454a-9c39-4c4eeeb57553"></stage> |
| | | <table-transfer :visible.sync="visibleTable" v-model="value" :dataList="list" :columns="columns" keyName="id" |
| | | @change="change"></table-transfer> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import FlowBusiness from '@/components/template/Business' |
| | | import FlowPath from '@/components/template/FlowPath' |
| | | import Stage from '@/components/template/Stage' |
| | | import TableTransfer from '@/components/template/TableTransfer' |
| | | export default { |
| | | components:{ |
| | | FlowBusiness, |
| | | FlowPath |
| | | FlowPath, |
| | | Stage, |
| | | TableTransfer |
| | | }, |
| | | data() { |
| | | const getTables = () => { |
| | | let data = [] |
| | | for (let i = 0; i < 5; i++) { |
| | | let item = { |
| | | id: `${i+1}`, |
| | | name: 'name', |
| | | address: 'éå¢ç ', |
| | | data:'', |
| | | checked:false, |
| | | } |
| | | data.push(item) |
| | | } |
| | | return data |
| | | } |
| | | return { |
| | | list: getTables(), |
| | | value: [], |
| | | outerVisible: false, |
| | | visibleFlow: false, |
| | | visibleStage: false, |
| | | visibleTable: false, |
| | | |
| | | columns: [ |
| | | { |
| | | key: "id", |
| | | label: "id", |
| | | visible: false, |
| | | }, |
| | | { |
| | | key: "name", |
| | | label: "屿§ç¼å·", |
| | | visible: true, |
| | | }, |
| | | { |
| | | key: "address", |
| | | label: "屿§åç§°", |
| | | visible: true, |
| | | }, |
| | | { |
| | | key: "address", |
| | | label: "屿§åç»", |
| | | visible: true, |
| | | }, |
| | | ], |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | change(val) { |
| | | console.log(val); |
| | | console.log(this.value) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | |
| | | </style> |
| | | <style lang="scss" scoped></style> |
| | |
| | | proxy: { |
| | | '/api': { |
| | | //æ¬å°æå¡æ¥å£å°å |
| | | target: 'http://localhost:37000', |
| | | // target: 'http://localhost:37000', |
| | | // target: 'http://192.168.1.51:37000', |
| | | // target: 'http://192.168.3.7:37000', |
| | | // target: 'http://dev.vci-tech.com:37000', |
| | | // target: 'http://192.168.1.51:37000/', |
| | | // target: 'http://localhost:37000', |
| | | target: 'http://192.168.1.104:37000', |
| | | // target: 'http://192.168.1.63:37000', |
| | | // target: 'http://192.168.3.7:37000', |
| | | // target: 'http://dev.vci-tech.com:37000', |