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