From 1ff08f6631a855c22f5355334c8c4540397f013e Mon Sep 17 00:00:00 2001 From: zhangxp <zhangxp@chicecm.com> Date: 星期二, 13 六月 2023 18:13:21 +0800 Subject: [PATCH] 模板阶段 --- Source/UBCS-WEB/src/components/template/FlowPath.vue | 58 +-- Source/UBCS-WEB/src/components/template/Stage.vue | 259 ++++++++++++++++++ Source/UBCS-WEB/src/api/template/flowpath.js | 80 ++++- Source/UBCS-WEB/src/views/flow/flowPath.vue | 67 ++++ Source/UBCS-WEB/vue.config.js | 8 Source/UBCS-WEB/src/components/template/TableTransfer.vue | 322 +++++++++++++++++++++++ 6 files changed, 725 insertions(+), 69 deletions(-) diff --git a/Source/UBCS-WEB/src/api/template/flowpath.js b/Source/UBCS-WEB/src/api/template/flowpath.js index dc276c5..d1fef57 100644 --- a/Source/UBCS-WEB/src/api/template/flowpath.js +++ b/Source/UBCS-WEB/src/api/template/flowpath.js @@ -2,25 +2,65 @@ // 妯℃澘娴佺▼鍒楄〃 export const getFlowpathList = (params) => { - return request({ - url: '/api/ubcs-flow/processTS/tlist', - method: 'get', - params: params - }) - } - // 妯℃澘娴佺▼鑾峰彇閫夐」 + return request({ + url: '/api/ubcs-flow/processTS/tlist', + method: 'get', + params: params + }) +} +// 妯℃澘娴佺▼鑾峰彇閫夐」 export const getStartList = () => { - return request({ - url: '/api/ubcs-flow/work/start-list', - method: 'get', - params: {mode:'1',current:1,size:100} - }) - } - // 妯℃澘娴佺▼鏂板 + return request({ + url: '/api/ubcs-flow/work/start-list', + method: 'get', + params: { mode: '1', current: 1, size: 100 } + }) +} +// 妯℃澘娴佺▼鏂板 export const flowpathSave = (params) => { - return request({ - url: '/api/ubcs-flow/processTS/tsou', - method: 'post', - data: params - }) - } + return request({ + url: '/api/ubcs-flow/processTS/tsou', + method: 'post', + 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 + }) +} diff --git a/Source/UBCS-WEB/src/components/template/FlowPath.vue b/Source/UBCS-WEB/src/components/template/FlowPath.vue index 28885d6..290afc3 100644 --- a/Source/UBCS-WEB/src/components/template/FlowPath.vue +++ b/Source/UBCS-WEB/src/components/template/FlowPath.vue @@ -3,22 +3,13 @@ <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: { @@ -69,7 +60,6 @@ prop: 'id,name,description,version', order: 'descending' }, - selection: true, column: [ { label: '妯℃澘key', @@ -89,7 +79,7 @@ nodeClick: (data) => { console.log(data) // 鑺傜偣鐐瑰嚮鐨勬椂鍊欎細鑾峰彇鍒版暟鎹� - this.form.modeName = data.name + this.form.modelName = data.name } }, { label: '妯℃澘鍚嶇О', @@ -136,20 +126,20 @@ 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 const data = response.data.data this.data = data.records this.page.total = data.total - }else this.loading = false + } else this.loading = false }, // 鏂板 async handleSave(row, done, loading) { console.log(row) - const response = await flowpathSave({...row,...{templateId:this.code}}) - if(response.status ===200){ + const response = await flowpathSave({ ...row, ...{ templateId: this.code } }) + if (response.status === 200) { loading() console.log(response) this.$message({ @@ -164,9 +154,9 @@ // 缂栬緫 async handleEdit(row, index, done, loading) { console.log(row) - const {modelName,modelKey,buttonTypeKey,id} = row - let param = {modelName,modelKey,buttonTypeKey,id} - const response = await flowpathSave({...param,...{templateId:this.code}}) + const { modelName, modelKey, buttonTypeKey, id } = row + let param = { modelName, modelKey, buttonTypeKey, id } + const response = await flowpathSave({ ...param, ...{ templateId: this.code } }) if (response.status === 200) { loading() this.$message({ @@ -180,20 +170,27 @@ }, // 鍒犻櫎鍗曟潯 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鎼滅储 @@ -214,15 +211,6 @@ }, handleCurrentPage(event) { this.page.currentPage = event - }, - // 鐐瑰嚮閫夋嫨 - handleRowClick(row) { - this.$refs.crud.toggleRowSelection(row, true) - }, - // 澶氶�� - selectionChange(list) { - console.log(list) - }, } } diff --git a/Source/UBCS-WEB/src/components/template/Stage.vue b/Source/UBCS-WEB/src/components/template/Stage.vue new file mode 100644 index 0000000..0d92984 --- /dev/null +++ b/Source/UBCS-WEB/src/components/template/Stage.vue @@ -0,0 +1,259 @@ +<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> \ No newline at end of file diff --git a/Source/UBCS-WEB/src/components/template/TableTransfer.vue b/Source/UBCS-WEB/src/components/template/TableTransfer.vue new file mode 100644 index 0000000..488fb95 --- /dev/null +++ b/Source/UBCS-WEB/src/components/template/TableTransfer.vue @@ -0,0 +1,322 @@ +<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 //涓簍rue鐨勬椂鍊欏彲浠ラ�夛紝涓篺alse鍒欎笉鍙�夋嫨 + }, + 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> diff --git a/Source/UBCS-WEB/src/views/flow/flowPath.vue b/Source/UBCS-WEB/src/views/flow/flowPath.vue index ef76289..2040668 100644 --- a/Source/UBCS-WEB/src/views/flow/flowPath.vue +++ b/Source/UBCS-WEB/src/views/flow/flowPath.vue @@ -2,31 +2,82 @@ <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:{ + 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> \ No newline at end of file +<style lang="scss" scoped></style> \ No newline at end of file diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index 1e8bbca..7589fbf 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -26,13 +26,9 @@ 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.51: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', -- Gitblit v1.9.3