From 16eb67ab6b103663d30cad9ba74360f982e131cb Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 03 九月 2024 10:34:59 +0800 Subject: [PATCH] 自定义列显隐控制 --- src/views/system/platform/index.vue | 185 ++++++++++++++++++++++++++++----------------- 1 files changed, 114 insertions(+), 71 deletions(-) diff --git a/src/views/system/platform/index.vue b/src/views/system/platform/index.vue index c15a226..340e6a2 100644 --- a/src/views/system/platform/index.vue +++ b/src/views/system/platform/index.vue @@ -2,7 +2,7 @@ <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> <el-form-item label="骞冲彴鍚嶇О" prop="workOrderNo"> - <el-input v-model="queryParams.platformName" placeholder="鍏抽敭璇嶆悳绱�" @clear="handleQuery" @keyup.enter.native="handleQuery" size="small"></el-input> + <el-input v-model="queryParams.keyword" placeholder="鍏抽敭璇嶆悳绱�" @clear="handleQuery" clearable @keyup.enter.native="handleQuery" size="small"></el-input> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button> @@ -21,16 +21,6 @@ >娣诲姞 </el-button> </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - size="mini" - @click="" - v-hasPermi="['platform:del']" - >鍒犻櫎 - </el-button> - </el-col> </el-row> <div> @@ -44,20 +34,33 @@ label="骞冲彴鍚嶇О"> </el-table-column> <el-table-column - prop="area" - label="琛屾斂鍖哄煙"> - </el-table-column> - <el-table-column prop="platformIP" label="骞冲彴IP"> </el-table-column> <el-table-column - prop="status" - label="鏄惁鍦ㄧ嚎"> + prop="area" + label="琛屾斂鍖哄煙"> </el-table-column> <el-table-column - prop="monthOutLine" - label="鏈湀绂荤嚎鏃堕暱"> + prop="remark" + label="澶囨敞"> + </el-table-column> +<!-- <el-table-column--> +<!-- prop="monthOutLine"--> +<!-- label="鏈湀绂荤嚎鏃堕暱">--> +<!-- </el-table-column>--> + <el-table-column + label="鎿嶄綔" + width="100"> + <template slot-scope="scope"> + <el-button @click="handleEdit(scope.row)" type="text" size="small" style="margin-right: 5px">缂栬緫</el-button> + <el-popconfirm + @confirm="delPlatForm(scope.row.id)" + title="纭畾瑕佸垹闄よ骞冲彴鍚楋紵" + > + <el-button slot="reference" type="text" size="small">鍒犻櫎</el-button> + </el-popconfirm> + </template> </el-table-column> </el-table> @@ -71,51 +74,56 @@ </div> <el-dialog - title="鏂板骞冲彴" + :title="opTitle" :visible.sync="addShow" - width="1000px" + width="500px" + :close-on-click-modal="false" :before-close="addClose"> - <div style="display: flex; flex-direction: row"> - <div style="flex: 2; padding-right: 20px;"> - <div> - <h3>骞冲彴淇℃伅锛�</h3> - </div> - <el-form :model="addForm" :rules="addFormRules" ref="addForm" size="small"> + <div> + <el-form :model="addForm" label-position="top" :rules="addFormRules" ref="addForm" size="small"> <el-form-item label="骞冲彴鍚嶇О" prop="platformName"> <el-input v-model="addForm.platformName"></el-input> </el-form-item> <el-form-item label="骞冲彴IP" prop="platformIP"> <el-input v-model="addForm.platformIP"></el-input> </el-form-item> + <el-form-item label="琛屾斂鍖哄煙" prop="areaList"> + <el-select v-model="addForm.areaList" multiple clearable placeholder="璇烽�夋嫨琛屾斂鍖哄煙"> + <el-option + v-for="dict in dict.type.area_code" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> <el-form-item label="澶囨敞淇℃伅" prop="mark"> <el-input v-model="addForm.remark"></el-input> </el-form-item> </el-form> </div> - <div style="flex: 4; padding-left: 20px;border-left: 1px solid #b2b2b2; min-height: 400px"> - <div> - <h3>閮ㄧ讲淇℃伅锛�</h3> - </div> - <div v-for="(deploy, index) in addForm.deployList" :key="index" style="margin-bottom: 20px"> - <el-form size="small" ref="deployForm" :inline="true"> - <el-form-item label="骞冲彴鍚嶇О" prop="platformName"> - <el-input v-model="deploy.platformName"></el-input> - </el-form-item> - <el-form-item label="骞冲彴IP" prop="platformIP"> - <el-input v-model="deploy.platformIP"></el-input> - </el-form-item> - <el-form-item label="琛屾斂鍖哄煙" prop="area"> - <el-input v-model="deploy.area"></el-input> - </el-form-item> - <el-form-item label="澶囨敞淇℃伅" prop="remark"> - <el-input v-model="deploy.remark"></el-input> - </el-form-item> - </el-form> - </div> - <el-button style="float: right" size="small" type="primary" @click="next">缁х画娣诲姞</el-button> - </div> - </div> - +<!-- <div style="flex: 4; padding-left: 20px;border-left: 1px solid #b2b2b2; min-height: 400px">--> +<!-- <div>--> +<!-- <h3>閮ㄧ讲淇℃伅锛�</h3>--> +<!-- </div>--> +<!-- <div v-for="(deploy, index) in addForm.deployList" :key="index" style="margin-bottom: 20px">--> +<!-- <el-form size="small" ref="deployForm" :inline="true">--> +<!-- <el-form-item label="骞冲彴鍚嶇О" prop="platformName">--> +<!-- <el-input v-model="deploy.subPlatformName"></el-input>--> +<!-- </el-form-item>--> +<!-- <el-form-item label="骞冲彴IP" prop="platformIP">--> +<!-- <el-input v-model="deploy.platformIP"></el-input>--> +<!-- </el-form-item>--> +<!-- <el-form-item label="琛屾斂鍖哄煙" prop="area">--> +<!-- <el-input v-model="deploy.area"></el-input>--> +<!-- </el-form-item>--> +<!-- <el-form-item label="澶囨敞淇℃伅" prop="remark">--> +<!-- <el-input v-model="deploy.remark"></el-input>--> +<!-- </el-form-item>--> +<!-- </el-form>--> +<!-- </div>--> +<!-- <el-button style="float: right" size="small" type="primary" @click="next">缁х画娣诲姞</el-button>--> +<!-- </div>--> <span slot="footer" class="dialog-footer"> <el-button @click="addClose">鍙� 娑�</el-button> <el-button type="primary" @click="addPlatform">淇濆瓨</el-button> @@ -126,9 +134,10 @@ </template> <script> -import { getPlatforms, addPlatform} from '@/api/platform/platform' +import { getPlatforms, addPlatform, editPlatform, deletePlatformById} from '@/api/platform/platform' export default { name: 'index', + dicts: ['area_code'], data() { return { deployRules: { @@ -148,15 +157,21 @@ ], platformIP: [ { required: true, message: '骞冲彴IP涓嶈兘涓虹┖', trigger: 'blur' } + ], + areaList: [ + { required: true, message: '璇烽�夋嫨鍖哄煙', trigger: 'change' } ] }, addForm: { + id: null, platformName: '', remark: '', platformIp: '', + areaList: [], + area: '', deployList: [ { - platformName: '', + subPlatformName: '', platformIp: '', remark: '', area: '' @@ -166,16 +181,29 @@ addShow: false, timeRange: [], queryParams: { - platformName: '' + keyword: '' }, tableData: [], - total: 0 + total: 0, + currentRowNum: 0, + opTitle: '鏂板骞冲彴' } }, mounted() { this.getList(); }, methods: { + delPlatForm(id) { + deletePlatformById(id).then(res => { + this.$message.success("鍒犻櫎鎴愬姛") + this.getList() + }) + }, + handleEdit(row) { + this.addForm = row; + this.opTitle = "淇敼骞冲彴" + this.addShow = true; + }, next() { this.addForm.deployList.push({ platformName: '', @@ -186,6 +214,13 @@ }, handleAdd() { this.addShow = true + this.addForm = { + id: null, + platformName: '', + remark: '', + platformIp: '', + areaList: [], + } }, checkDeployList() { if (this.addForm.deployList) { @@ -197,19 +232,27 @@ addPlatform() { this.$refs['addForm'].validate((valid) => { if (valid) { - this.checkDeployList() - if (this.addForm.deployList) { - console.log(this.addForm.deployList) - if (this.addForm.deployList.some(item => !item.platformName || !item.platformIP || !item.area)) { - this.$message.error("璇锋鏌ュ钩鍙伴儴缃蹭俊鎭槸鍚﹀~鍐欏畬鏁�"); - return; // 閫�鍑� validate 鍥炶皟 - } + // this.checkDeployList() + // if (this.addForm.deployList) { + // console.log(this.addForm.deployList) + // if (this.addForm.deployList.some(item => !item.platformName || !item.platformIP || !item.area)) { + // this.$message.error("璇锋鏌ュ钩鍙伴儴缃蹭俊鎭槸鍚﹀~鍐欏畬鏁�"); + // return; // 閫�鍑� validate 鍥炶皟 + // } + // } + if (this.addForm.id) { + editPlatform(this.addForm).then(res => { + this.$message.success("淇敼鎴愬姛") + this.addShow = false + this.getList() + }) + } else { + addPlatform(this.addForm).then(res => { + this.$message.success("娣诲姞鎴愬姛") + this.addShow = false + this.getList() + }) } - addPlatform(this.addForm).then(res => { - this.$message.success("娣诲姞鎴愬姛") - this.addShow = false - this.getList() - }) } }) }, @@ -233,7 +276,6 @@ }) }, resetQuery() { - this.daterangeYwHandleTime = [] this.resetForm('queryForm') this.handleQuery() }, @@ -243,10 +285,10 @@ }, spanMethod({ row, column, rowIndex, columnIndex }) { if (columnIndex === 0) { - if (rowIndex % 2 === 0) { + if (row.parentId === 0) { return { - rowspan: 2, - colspan: 1 + rowspan: row.childNum + 1, + colspan: 1 // 鍙悎骞剁涓�鍒� }; } else { return { @@ -255,6 +297,7 @@ }; } } + } } } -- Gitblit v1.8.0